From 3fe9e21881924ec5789d8e425788dfce7c9dddc0 Mon Sep 17 00:00:00 2001 From: Hromz Date: Mon, 24 Jul 2023 19:14:49 +0300 Subject: [PATCH 01/40] - added DFS cycle detection for directed and undirected graph - added tests --- .gitignore | 1 + include/graaflib/algorithm/cycle_detection.h | 20 ++ .../graaflib/algorithm/cycle_detection.tpp | 96 ++++++++++ .../algorithm/cycle_detection_test.cpp | 172 ++++++++++++++++++ 4 files changed, 289 insertions(+) create mode 100644 include/graaflib/algorithm/cycle_detection.h create mode 100644 include/graaflib/algorithm/cycle_detection.tpp create mode 100644 test/graaflib/algorithm/cycle_detection_test.cpp diff --git a/.gitignore b/.gitignore index 8ee1efe7..ff15a5c4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build/ # IDE .vscode/ .cache/ +.vs/ diff --git a/include/graaflib/algorithm/cycle_detection.h b/include/graaflib/algorithm/cycle_detection.h new file mode 100644 index 00000000..539843b7 --- /dev/null +++ b/include/graaflib/algorithm/cycle_detection.h @@ -0,0 +1,20 @@ +#pragma once + +#include +#include + +#include + +namespace graaf::algorithm { + +/* + * @breif Traverses the graph and check for cycles. + * + * @param graph The graph to traverse. + */ +template +bool has_cycle(const graph &graph); + +} // namespace graaf::algorithm + +#include "cycle_detection.tpp" \ No newline at end of file diff --git a/include/graaflib/algorithm/cycle_detection.tpp b/include/graaflib/algorithm/cycle_detection.tpp new file mode 100644 index 00000000..53e1a29b --- /dev/null +++ b/include/graaflib/algorithm/cycle_detection.tpp @@ -0,0 +1,96 @@ +#pragma once + +#include +#include + +namespace graaf::algorithm { + +namespace detail { + +enum vertex_color{WHITE, GREY, BLACK}; + +template +bool do_dfs_directed(const graph& graph, + std::unordered_map& colored_vertices, + vertex_id_t current) { + colored_vertices[current] = vertex_color::GREY; + + for (const auto& neighbour_vertex : graph.get_neighbors(current)) { + if (colored_vertices[neighbour_vertex] == vertex_color::WHITE) { + if (do_dfs_directed(graph, colored_vertices, neighbour_vertex)) + return true; + } + else if (colored_vertices[neighbour_vertex] == vertex_color::GREY) { + return true; + } + } + + colored_vertices[current] = vertex_color::BLACK; + return false; +} + +template +bool do_dfs_undirected(const graph & graph, + std::unordered_map & visited_vertices, + std::unordered_map & parent_vertices, + vertex_id_t parent_vertex, vertex_id_t current) { + + visited_vertices[current] = true; + + for (const auto& neighbour_vertex : graph.get_neighbors(current)) { + if (neighbour_vertex == parent_vertex) + continue; + + if (visited_vertices[neighbour_vertex]) + return true; + + parent_vertices[neighbour_vertex] = parent_vertex; + + if (do_dfs_undirected(graph, visited_vertices, parent_vertices, neighbour_vertex, + parent_vertices[neighbour_vertex])) { + return true; + } + } + + return false; +} + +} // namespace detail + +template +bool has_cycle(const graph& graph) { + + + if (graph.is_directed()) { + std::unordered_map colored_vertices{}; + + for (const auto& vertex : graph.get_vertices()) { + if (!colored_vertices.contains(vertex.first) && + detail::do_dfs_directed(graph, colored_vertices, vertex.first)) { + return true; + } + } + + return false; + } + + if (graph.is_undirected()) { + std::unordered_map visited_vertices{}; + std::unordered_map parent_vertices{}; + + for (const auto& vertex : graph.get_vertices()) { + if (!visited_vertices.contains(vertex.first) && + detail::do_dfs_undirected(graph, visited_vertices, parent_vertices, + vertex.first, parent_vertices[vertex.first])) { + return true; + } + } + } + + return false; + + // We should never reach this + std::abort(); +} + +} // namespace graaf::algorithm \ No newline at end of file diff --git a/test/graaflib/algorithm/cycle_detection_test.cpp b/test/graaflib/algorithm/cycle_detection_test.cpp new file mode 100644 index 00000000..4383a50b --- /dev/null +++ b/test/graaflib/algorithm/cycle_detection_test.cpp @@ -0,0 +1,172 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace graaf::algorithm { + +namespace { + +template +struct GraphCycleTest : public testing::Test { + using graph_t = T; +}; + +using graph_types = + testing::Types, undirected_graph>; +TYPED_TEST_SUITE(GraphCycleTest, graph_types); + +} // namespace + +TYPED_TEST(GraphCycleTest, GraphWithCycle) { + // GIVEN + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_3, vertex_1, 300); + + // checking if graph contains cycles + bool cycle = has_cycle(graph); + ASSERT_TRUE(cycle); +} + +TYPED_TEST(GraphCycleTest, DirectedGraphWithCycleMiddle) { + // GIVEN + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_2, vertex_1, 300); + + // checking if graph contains cycle + bool cycle = has_cycle(graph); + ASSERT_TRUE(cycle); +} + +TYPED_TEST(GraphCycleTest, GraphWithoutCycle) { + // GIVEN + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + + // checking if graph contains cycle + bool cycle = has_cycle(graph); + ASSERT_FALSE(cycle); +} + +TYPED_TEST(GraphCycleTest, UndirectedGraphWithoutCycle) { + // GIVEN + undirected_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + + // checking if graph contains cycle + bool cycle = has_cycle(graph); + ASSERT_FALSE(cycle); +} + +TYPED_TEST(GraphCycleTest, UndirectedGraphWithCycle) { + // GIVEN + undirected_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_3, vertex_1, 400); + + // checking if graph contains cycle + bool cycle = has_cycle(graph); + ASSERT_TRUE(cycle); +} + +TYPED_TEST(GraphCycleTest, EmptyGraphs) { + // GIVEN + directed_graph directed_graph{}; + undirected_graph undirected_graph{}; + + // checking if graph contains cycles + bool cycle = has_cycle(directed_graph); + ASSERT_FALSE(cycle); + + // checking if graph contains cycles + cycle = has_cycle(undirected_graph); + ASSERT_FALSE(cycle); +} + +TYPED_TEST(GraphCycleTest, DefaultGraphWithCycle) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_3, vertex_1, 400); + + // checking if graph contains cycle + bool cycle = has_cycle(graph); + ASSERT_TRUE(cycle); +} + +TYPED_TEST(GraphCycleTest, DefaultGraphWithoutCycle) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + + // checking if graph contains cycle + bool cycle = has_cycle(graph); + ASSERT_FALSE(cycle); +} + +} // namespace graaf::algorithm From a6293523eac7b4e4d01b1e2b52af075d0a0d5d98 Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 25 Jul 2023 13:16:58 +0300 Subject: [PATCH 02/40] - corrected code according to comments --- include/graaflib/algorithm/cycle_detection.h | 7 ++--- .../graaflib/algorithm/cycle_detection.tpp | 26 ++++++++++++------- .../algorithm/cycle_detection_test.cpp | 4 +-- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/include/graaflib/algorithm/cycle_detection.h b/include/graaflib/algorithm/cycle_detection.h index 539843b7..dc5889be 100644 --- a/include/graaflib/algorithm/cycle_detection.h +++ b/include/graaflib/algorithm/cycle_detection.h @@ -1,19 +1,16 @@ #pragma once #include -#include - -#include namespace graaf::algorithm { /* - * @breif Traverses the graph and check for cycles. + * @breif Traverses the graph and checks for cycles. * * @param graph The graph to traverse. */ template -bool has_cycle(const graph &graph); +[[nodiscard]] bool has_cycle(const graph &graph); } // namespace graaf::algorithm diff --git a/include/graaflib/algorithm/cycle_detection.tpp b/include/graaflib/algorithm/cycle_detection.tpp index 53e1a29b..a1b25804 100644 --- a/include/graaflib/algorithm/cycle_detection.tpp +++ b/include/graaflib/algorithm/cycle_detection.tpp @@ -1,31 +1,32 @@ #pragma once +#include + #include #include namespace graaf::algorithm { +enum vertex_color { UNVISITED, VISITED, NO_CYCLE }; namespace detail { -enum vertex_color{WHITE, GREY, BLACK}; - template bool do_dfs_directed(const graph& graph, - std::unordered_map& colored_vertices, + std::unordered_map& colored_vertices, vertex_id_t current) { - colored_vertices[current] = vertex_color::GREY; + colored_vertices[current] = vertex_color::VISITED; for (const auto& neighbour_vertex : graph.get_neighbors(current)) { - if (colored_vertices[neighbour_vertex] == vertex_color::WHITE) { + if (colored_vertices[neighbour_vertex] == vertex_color::UNVISITED) { if (do_dfs_directed(graph, colored_vertices, neighbour_vertex)) return true; } - else if (colored_vertices[neighbour_vertex] == vertex_color::GREY) { + else if (colored_vertices[neighbour_vertex] == vertex_color::VISITED) { return true; } } - colored_vertices[current] = vertex_color::BLACK; + colored_vertices[current] = vertex_color::NO_CYCLE; return false; } @@ -60,12 +61,11 @@ bool do_dfs_undirected(const graph & graph, template bool has_cycle(const graph& graph) { - if (graph.is_directed()) { - std::unordered_map colored_vertices{}; + std::unordered_map colored_vertices{}; for (const auto& vertex : graph.get_vertices()) { - if (!colored_vertices.contains(vertex.first) && + if (colored_vertices[vertex.first] == UNVISITED && detail::do_dfs_directed(graph, colored_vertices, vertex.first)) { return true; } @@ -75,6 +75,11 @@ bool has_cycle(const graph& graph) { } if (graph.is_undirected()) { + // Number of vertices cannot be zero (in case if graph is empty) + if (graph.edge_count() >= graph.vertex_count() && graph.vertex_count() > 0) { + return true; + } + std::unordered_map visited_vertices{}; std::unordered_map parent_vertices{}; @@ -91,6 +96,7 @@ bool has_cycle(const graph& graph) { // We should never reach this std::abort(); + return false; } } // namespace graaf::algorithm \ No newline at end of file diff --git a/test/graaflib/algorithm/cycle_detection_test.cpp b/test/graaflib/algorithm/cycle_detection_test.cpp index 4383a50b..8c07e0b5 100644 --- a/test/graaflib/algorithm/cycle_detection_test.cpp +++ b/test/graaflib/algorithm/cycle_detection_test.cpp @@ -23,7 +23,7 @@ TYPED_TEST_SUITE(GraphCycleTest, graph_types); } // namespace -TYPED_TEST(GraphCycleTest, GraphWithCycle) { +TYPED_TEST(GraphCycleTest, DirectedGraphWithCycle) { // GIVEN directed_graph graph{}; @@ -61,7 +61,7 @@ TYPED_TEST(GraphCycleTest, DirectedGraphWithCycleMiddle) { ASSERT_TRUE(cycle); } -TYPED_TEST(GraphCycleTest, GraphWithoutCycle) { +TYPED_TEST(GraphCycleTest, DirectedGraphWithoutCycle) { // GIVEN directed_graph graph{}; From 99f77cd152e9990c52b85cf1b19632cd5928daca Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Tue, 25 Jul 2023 22:38:37 +0200 Subject: [PATCH 03/40] Apply suggestions from code review --- include/graaflib/algorithm/cycle_detection.h | 2 +- include/graaflib/algorithm/cycle_detection.tpp | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/include/graaflib/algorithm/cycle_detection.h b/include/graaflib/algorithm/cycle_detection.h index dc5889be..31522c93 100644 --- a/include/graaflib/algorithm/cycle_detection.h +++ b/include/graaflib/algorithm/cycle_detection.h @@ -5,7 +5,7 @@ namespace graaf::algorithm { /* - * @breif Traverses the graph and checks for cycles. + * @brief Traverses the graph and checks for cycles. * * @param graph The graph to traverse. */ diff --git a/include/graaflib/algorithm/cycle_detection.tpp b/include/graaflib/algorithm/cycle_detection.tpp index a1b25804..7af5c12a 100644 --- a/include/graaflib/algorithm/cycle_detection.tpp +++ b/include/graaflib/algorithm/cycle_detection.tpp @@ -7,9 +7,10 @@ namespace graaf::algorithm { -enum vertex_color { UNVISITED, VISITED, NO_CYCLE }; namespace detail { +enum class vertex_color { UNVISITED, VISITED, NO_CYCLE }; + template bool do_dfs_directed(const graph& graph, std::unordered_map& colored_vertices, @@ -62,9 +63,10 @@ template bool has_cycle(const graph& graph) { if (graph.is_directed()) { - std::unordered_map colored_vertices{}; + std::unordered_map colored_vertices{}; for (const auto& vertex : graph.get_vertices()) { + using enum detail::vertex_color; if (colored_vertices[vertex.first] == UNVISITED && detail::do_dfs_directed(graph, colored_vertices, vertex.first)) { return true; @@ -93,10 +95,6 @@ bool has_cycle(const graph& graph) { } return false; - - // We should never reach this - std::abort(); - return false; } } // namespace graaf::algorithm \ No newline at end of file From 432b6b437212f4ebc50a8cb13d31bedb4cfad652 Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 1 Aug 2023 22:37:59 +0300 Subject: [PATCH 04/40] - First example of potential use of the library --- .../example-basics/transport-example.md | 118 ++++++++++++++ .../example_shortest_path_unweighted.png | Bin 0 -> 56583 bytes .../example_shortest_path_weighted.png | Bin 0 -> 56731 bytes .../examples/example_traversed_graph_BFS.png | Bin 0 -> 53759 bytes docs/static/img/examples/example_usage.png | Bin 0 -> 55425 bytes examples/CMakeLists.txt | 2 +- examples/transport/main.cpp | 154 ++++++++++++++++++ 7 files changed, 273 insertions(+), 1 deletion(-) create mode 100644 docs/docs/examples/example-basics/transport-example.md create mode 100644 docs/static/img/examples/example_shortest_path_unweighted.png create mode 100644 docs/static/img/examples/example_shortest_path_weighted.png create mode 100644 docs/static/img/examples/example_traversed_graph_BFS.png create mode 100644 docs/static/img/examples/example_usage.png create mode 100644 examples/transport/main.cpp diff --git a/docs/docs/examples/example-basics/transport-example.md b/docs/docs/examples/example-basics/transport-example.md new file mode 100644 index 00000000..cecac7f6 --- /dev/null +++ b/docs/docs/examples/example-basics/transport-example.md @@ -0,0 +1,118 @@ +--- +sidebar_position: 2 +--- + +# Network Example +The undirected_graph implemented in `graaf::undirected_graph` +The shortest path algorithm implemented in `graaf::algorithm::get_shortest_path` +The graph traversal implemented in `graaf::algorithm::graph_traversal` + +Using the following graph: + +
+

+ +

+
+ +Custom vertex and edge. In order to use Dijkstra, we should provide the get_weight() function for the edge. + +```c++ +struct station { + int id{}; + std::string name{}; + double gaz_capacity{}; +}; + +struct road { + int length{}; + int get_weight() { return length; } +}; +``` + +# Initializing graph, start and end vertecies +First, we create data structure and initializing graph with vertices and edges + +```c++ +struct graph_with_start_and_target { + graaf::undirected_graph graph{}; + graaf::vertex_id_t start{}; + graaf::vertex_id_t target{}; +}; + +graph_with_start_and_target create_graph_with_start_and_target() { +... +} +``` + +## Visualizing graph traversal result +For shortest path, colouring edges with red to indicate the shortest path for both weighted and unweighted graph + +Result of unweighted shortest path, chosen edges are coloured red +
+

+ +

+
+ +Result of weighted shortest path, chosen edges are coloured red +
+

+ +

+
+ + +```c++ +void print_shortest_path(const graaf::undirected_graph& graph, + const std::optional>& path, const std::string & filepath) { +... +} + +void print_visited_vertices(const graaf::undirected_graph& graph, + seen_vertices_t& seen, + const std::string& filepath) { +... +} +``` + +Creating a vertex callback structure that will be passed as an argument in the graph traverse function +The function is needed in order to be called inside the traverse function; see graph.tpp file lines 15 and 45 for context. + +```c++ +using seen_vertices_t = std::unordered_multiset; +struct record_vertex_callback { + seen_vertices_t& seen_vertices; + + record_vertex_callback(seen_vertices_t& seen_vertices) + : seen_vertices{seen_vertices} {} + + void operator()(const graaf::vertex_id_t vertex) const { + seen_vertices.insert(vertex); + } +}; +``` + +### Graph example usage +First code block: traversing a weighted graph for the shortest path (Dijkstra) and printing the result to *.dot file. +Second code block: traversing an unweighted graph for the shortest path and printing the result to *.dot file. +The last one is traversing the graph from a given vertex and printing the result to *.dot file. + +```c++ + const auto [graph, start, target]{create_graph_with_start_and_target()}; + + const auto weighted_shortest_path{graaf::algorithm::get_shortest_path< + graaf::algorithm::edge_strategy::WEIGHTED, station, road, + graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + print_shortest_path(graph, weighted_shortest_path, "example_weighted_graph.dot"); + + const auto unweighted_shortest_path{graaf::algorithm::get_shortest_path< + graaf::algorithm::edge_strategy::UNWEIGHTED, station, road, + graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); + + seen_vertices_t seen_vertices{}; + graaf::algorithm::traverse( + graph, start, record_vertex_callback{seen_vertices}); + print_visited_vertices(graph, seen_vertices, "example_traverse_BFS_graph.dot"); +``` \ No newline at end of file diff --git a/docs/static/img/examples/example_shortest_path_unweighted.png b/docs/static/img/examples/example_shortest_path_unweighted.png new file mode 100644 index 0000000000000000000000000000000000000000..850ffe90197319e4533cdca2cd26d54b7cdc3063 GIT binary patch literal 56583 zcmYg%byQVf)GgozE~Rt}+)H;i(%s$Njevr5cXy+NgrKB^ASK9$HSet_!V@SWLUD$=$(?| zt5lPMmE;Iua)Z;7GqO%xgi7?xGn{IK54%lwfB#8*2w1)R5is@a65Hk3l;2^{QNW~l zK*;6!PnY+feHz$JT3qpnF`>kV!rwsu z`&i=!Ux}gVX6XFCYvm*{vRjbldSoE?w`UqkFSA(ml$CQhKL6CKP$hff{YHryC0ZsIzwz-uI(UdR00<==yu&*IxEgZ&4a$WZ)RQoR=9uTN2G z4C=C}gRi8nnse^{RlW{RUk!P9#vFIEU)TNPGtGcm$DfvEpREMsfXko0IYE~{4On!m zEXDr}tY)zqO#UvqsfVX}K)%&kaPEJ5&-*>(;h)9zpVn1X>dkQI;?amWOd;gq&bNea z1fPjmJa|-H^p9<9PDUs_KL5Y&r@lY5e(jHZDDqwLD_HgY`O;wB+H`Hnd+OO8TXq*K z4kXj^Epqk>ISz!F!<6ZD;AtG2d8eWNd*hEdaW`P0t<1J>m9tuC1+ic06KvlWtBTr% z*sMi{(mS{2N@C9WpLD+txnIN;S2?}f5@y{V&03BQlRZ@;Tm(JI^0|tEIXZ z_X;;7P+OkxcB?PZf8M1Jz650YP2m0YZlm=8=Jig22POx@c3s!asOmR; znghLey4?LEPK_T78%m8b7gjf7tdCV(`4e5f)h-U=prnrvlqTM^?&#jiz>MQaEBM&;uX@xA33^kAy>J|A;tUz&qB6g zr$n-vXXv|Ng)Y1vNwAg3JIQ4*keX zry*emqMA?md|F0EJAciNpijhZlrVxbk|+taMz=o7wJ7j(WbjCpo)T(FJfxcV8ur?; zgqY2cM#x;J&NMf!{lHf|!jDiAr_yrBnnOYKAC5RD3sdt-$J|30T1=GCB$YS0=aRmaMZWiB%!Cnk`~vX*@2ilJ@PJ z<1bHe@@{rtha^hC=tj+R2R(K5wIJcqNa8`wHoH+iL?siAOrfrxC(jPJQL-#i-=hxl zNnAx?QwnLC`|r_Pk*I$5zt}2G;7IrRv$O}Hsuw^$dCKpc3G0P2^s5(%jQH&qk<=GP z3yP}B=DN&iN>v?a$oyRi@DTpHVDr}f=O=r7k^8I7mz4&uYK*)&tOb5{f|2l3E*`ffJ{zCk(??doW0ZI72s!UrrgK~YiJ}utVljJtR zpD!|03x#HKv;6-aI2AtCD-A&Y-n3pPXzB0f}@4GErz0)dok?;;&eZ(1fHom{rvP1*Rv?@ zZyy$CqV9DwS2Z3@WDk9gsr4=Mv~x*AVg#;s+N0IG4t;%wsbbH10 zjOXztWnW$Iz82(cKWH2)H)(b6`p3o6J8JgSWfbnU8gw}V>X?(l-R-U2~gfH-JKq4if}Jhri7C;bFoqs*10E|}`4?S%A( z?XrRuPNE}3qT;bOrKQkNq;+Vl)0g%bEgB;T(o-(WPz-+QHyT}=HdUnnj`YfgHW_-f zZxj1nZ|6+(QBU|UHrjco8_^pIhw-n(i68eo^4cx(&0o-W6;8>J^o%tt#l!8c#Pa79T-=3aP;8v5^=kAd8NDg5XJ+5b(70o%XS+j*)n~3S6Q7Fe zulVn?6C9!9ZxF(%c-zE5#XOx9J<5F!mHnila2&JobStGN$iVDnmeIg<5E5&RVjuqb z-kgGa+j{hic-+{4-H8GR=+{Mu*KW6>3vj9zB}p^phF3xZi{GHn{d-YK2xXIZyKLRK zf7!jvkg#rjd9W~(8}DkdDTqSVvDf6jvi|iM+mBy$R}J_JBoc!!`j*S#hUS?$+$o`N z4oHi+ZK91{ti_OKe_4msD%+v~H5 z6A`ziX71#R7lHbWKRbL$VyPo^%H)$eU+JYeO&i7e>Js)^uWeb{LE*v3Tdy}^%2_NQ zCq!eZ2cHqK=%%uMXzQcgC^$rtA4W>14KL)b&SW)EpB5<9`UDbUkc1Eg{z{p`6Qj@m zACDk)!w7S}p~WhNTWrCOzCBq#eXHs+@VIL7!edK> zHzn6>Q5rVh*q=r|5cCPy`*d1uoF)W{oJB`4`we=q>umgTF!{o!DB3F};ac;8Q9U>D z(~CXp<`_y3-6ngrGmmC+N8;sH507LqY0Q0E^$hslOthoUH$tZnmH8HieAc~?b74MZ z{prRA&BlC&;MN`G8{&KdzU^ka@gL^|41Q3$JG=*lalLY-RGXWV?HmjDaj73M6^AX$ z?!5P+Y|KjJc7im5)R1T2bcegkj&a zLM5efA#36FmFXG-PT}jV47GqJayIdq@^EC&uR;|pUuTr#UaiHT3XF`ZNU9T?Koh!j zjlE{+QdkW>@V%t+@v>W{5+S}Waa$aow<`3NthtUZ^U#CB2A@L+~hq<`F*n=|pjsS6YVGp93xhf@yFC(bVCgo4KQOvcWXZRWWm4;X;Y&lAacn ze`$)dzMJp)HNyD%hy8c#i-9+XbmqZdsdu#ak|A`@0EWEtcauMAAYU5EV5Cs9UO)}k zNaTn`cFVy)bz{j8S<>xSqwW>_mGAO_JEMVquUU}68SY#OKSaRvyK)4m$&dv79*&bG zcCV_8M146$68T-&L&J1Qx0L(w=BAj=ipQ8#mr_Aj(#Si|N$e=X`y$`4(<8Ah9dzH{ zj76qdouDW&EAOjHm~;n!Zhs;nPi%y%qxzw<+j=0rg4(*z0cJmhtVq1;H9Le!p~6HR zoSVqVCdM_P&3PrjjW)gNC)l>IX~}gIj++0qKiF+~cQAXNKx{!*_VS2Ue}<=D5^8km<63=S2+y*7U=IYRH&pWsq3wm zyGEpVnkBa(S5*V1J<`h$^M2W33BA}Mbo*Nq*Uzyxu7tST)|*FqqHLIBPL_y7mjgY~ z?B!H4EupFW4cxeA>S)Efkc8xMB-Cmeb`gF^LKx{PQ?tn02&A9R4&y6m3ll}C=BR46 zA|8tj>tQu792fUvJP98_+KaM?sTmh?FBQWcUvr(v-m6&uey8e{Y9hcbJHQ$DS7SLU zv0g~BMyB7drpS9vfyTZWc9Y!XM*ok!;e+FDDiM_MKI;4_6p~NF@QRQ2cCannhwKOU zenXp-sQmy(X|dl9+1wMi0LFT{$e2@2fg6FyV(}a%IXt!iiAyP2m`rXP-Y}kBWyqo@ zl66E2_N?MH=@YQ^zvdh}NPQ2I1r*6&KEi8;V695{5G;|ZZ=t`ZW$2a-5h-v;K;Py} zv~2&Ql9@H})DaC<1MSc1o=J|nZhp*$l=wwmkf61VZlw~!s+grhxRp%)^HRwz|yGNUc&&HQCFS^8}9zY`z7}GiZecD}0?3V-E4;ofSVna4z-$m*9y%b!6 z=J~Cn?xM&(XHVGq2*XtAO>KrH{f&XKjwpmhOUV0c`zs~>Y|F07@u+qpI&UxE&8tKD z-bNwNZCV#}N?TUb{=m_8n(LePaE!sVgW9%$lwbn6xJH3YA9J+{8)OIfZO&V+zZs*! zLGG0*)TmrqS{YN$)ytWC9j(XDYL6xdB{k;KPpX|al#^bd5yW1rMr$oab5W_spHQ<1 zy2vuRlX_=}AyYq{DuwobAxo%6@Alb`LN^CSq*+UprkK~p(s9?2^xV-9R)dS!Z)MtV zl}n(gNP7$-qJAynuI+sTQ!jMVf?B~jkgR}U>9o)7qT_IjTR4_aBUyRLbYLp=%D!$p zo7%7)p#fbF`VL8NqoI_x&cJ=sy z<2F|h+>;Kh%Jq$Mny)!QzwyY5T+?$`245}G=j9|#5-(E)ib^9XC0F;l;07OFx`#_k z=<|B7=u}I%EQP&Vq`*2bs>yu@3(O_taQo4yQ-D~-?X(@ zPiz-#`jF5^H_tyR7v|35+@-obGnwtv;&qjVHiib|@z^E)O)tvPO4EgmxlxB@Iw;ro zqza6nKux*JtiEk#tWJ}kKIJ8=P`rJAJY}u5bs*UCw5crVL2CAP-g5D>35j-f5_S1> zdu*aDqT9;K27{c9I3iayZqWf1-+2=YEzELJj;z2L|4tx*{4#vSp@-}ecZuxG=>NTH z!#Hd4FF8!q>Ek0$CD={}MpLuc?-{UtzBz<@O0Miw`|{|O(lz!fF$5h=!=dvHJddD zsV6x#1{%)cKiJH8gPx8egn3*|XfdPZr`>)h$pcq2&d5#VQ>643PNHVpYPOngi$8;(N0jJwpRF z7Mzyla&ORH#s*+51^t8pNdd*nY#VgxShvMR3}!) zU#&LaPgN;KTDZ?bd_1MLXoL?2!}+YTZG9gTkn}&|MPHt9`#~=)&lR@dHlM3~%xpEQ z@i8IwQ$6{!jfZ14y7We_lP%h5rXzYnB*S%Gax`R@alLubiqv{6$ZI*gE%G4`2Kn8; zFP43^FYr1>P#PcMl~OmHD)1^f=XJu0+W(JzG!i@UNj@-AK$GR!OpZ0H+&0x415;->a=on9-!2>li9WI$ysFOBlX$x3?+ z-N*c#LQrA%xVZENdRbp(>DjY`JxuOKZry*B>fp0XL@bC69}JK1aXZ=+9K=&h)1e`X zq_g6Qp`7)gF>$QiBbaP65*xCfineLkqf78c&Fi;KsUWd{OT&cD3SA48ew1$<)Ucfw za@YPyq(9g2k><(9W$7K9fv?65g-IzJ>58O4ReWl-;8X$vWLTg2PfyhaJ?n>4yni%t zLyUgWV-al11x)CXC%#VHYi6tyTxRMW)q6j{XBIo$Fhu2o)?w@LXpoSY-3J9l=&~uF zO6*lV%+HE|fybv}BLlU%K1}3`{^N-{IIaU^0dG7SPW;L7VQygpa^rVin_^(cYl7Wau+<4r*2}(ZsP7z00;m}h@mpR_UWAcn*n{uX?PE4n_W?2ysU`( zUndP{T2XLz4p)J7YR>a%!$ZpiI}8@G!XH_^d!$6v_X{3+#^r|8O%H{3FnkHr^s?fQ z+T={0InecCJteFr#s#&*g~k5VSZanO^ud*7!*< zMh&{pb$wFKf`F^%-ZfbA*c&g_KcuG!g(%m1=?vvN<3of>3fuS#6;rBX|18t1Wb4+# zW06=DS_Z+n5K(X;%IYcH(7c3z@sF@AnSuL%Qf|Ygv4kPZaL2qiZ0M^c7j`Xh z+-0f8TT^^onqKxNB6Xu_Kt2@>hn%!=prluJU!T3MrBsNvrvmQ=ZQblZZa%n=Wo>g9 zB}$`o8eJ_Du&46Y+0>K2;g}-E?2`*N*6Rmc411}`GHvX7Rl@Th=qPkS8&i6r+iyWov@jSuf@`K0y zPEU8;;FsR|W%0gHOSC*u-w(o{qG+{p9T(ol3KxAD=`B9va{2m>9*7f{hXeWP@HGMy zO0-E&#YEO-?;wWXuWFdbi1Vm|`j10UA$0&?wfN8Ulw;A%umiz&9pzqk+ zB}u$wBS!HTS(q{9$39|HetQ4!vC#LDuaKc%=c{!lXoe*nFgS9leHN@%K5OcXk|RIn zsVo*kCsZR@o#B9A^-8tn_6R+12kgvFQ{eTfQMUnsCIlbv3iQ#5)C@ar;(%?(lBqJp zrMV()#0{05VQ?yV`FlQ&EmgT5Zt`)4m2@)sg)T!d6iHO^DrxPleuvzU-b3d3@8YLI zb)Wy{_rCmAYc#l8BA-Ma-4o6#`eR!Od!5M-7=uRDQ*qzxlECy|zz9Cehwl(HX8vx36rtwO@2GpZ ze=Jv?Zf(J#H=Nn0ZD7ZHobheY(f# z@s+f0m1b|%-XBzCIUBvsS0@WCPuZ{ZA;%$XuHgd?XfPp`3?{ta?Oei3M{ywp0~Yil zP}ha}-okElzl}Nbk^7Z4&$1CFtl2(j3(#4I?oBT?6*?9S;6Q9lF`Mj=lG}12Z5(Wx2T`Xn@uO}CimHU<; zYwq+xPh<%4qprKH04r$J7&z~3W27DFY+#TL_-z9$w6-#qqRn^6n;Pb|nLQ@dG zo-ij*VX;l(v0nUmht)WsM@Y8z@J%)kJKnZGVfB}ZyTqNyhd6N@SgFOb#_nbR13f;| zJqI?{s1=5@R(Y1U1zE?mV)a!*C_Y=r$+y-hY~*AM%TiK6PhZ<+O|Io6LW$%unfx<& z?6xXr-)?{BvBOj(i=Y?B8BruBh@scX7IJF-m&y;Ha5siZvazk#m(!6UuM6H#UXsY0 z7d~tTcSF?7ST=GLF^evVp06Vxzkdcgogqz~SSFMR^d|x_gaio*J;}w26Z!Bz zvICz6|JMt!6!#;zgK@+O4$5|_C`5?$Wp6m@&JR%{IT|yB1f7t(LX8Dk33&+ec6|~< z&de%vwV=4K!JiF|3`@n#If|otLeE&{e*{RFe&go|9pEo=1%SH zYq9?gPOluBNWOg-{8Y^rrasQZs`HN&$WY1(9#|Brb8(Gh~64)%VuH(^*Ruc=MF_4P>OwviS8H-1*m zF9piZF)?_kl?}4i`Ao}!_k$lhnek{wg(nZ5`JbnnfA-%-s~(~zX+Kj>dq8y^pHSh` zLtKLbt}%Z@y2=NxX+8Y7^%w#jA1Nv8Pml`8YO31V9E@vrrf>9XQf#m`Mn@nWOR!0( zZC=u;{Pc#fD!K{lLp;mMwOBmb#8o0XRtKJdmf<+YcwDRY!0W=#@&x)2!mtB8u#{)f zp6XH<`h_kQWA3=562YC#u8Xq=q^>iia_(A2jj}-UlqKdM6yAva(WRne04}RV>;O?< zLx>@U{y~9cCo*X2qcDc1OJvYt^^TKvcm8;jD23cIbR_EM!knR9l6bLCfR$oH=X*O- zHGZw>n|DspC}9%?f@8ov;E}wYD-qI_$)Y#$x`5^ef4s%NqvIwre)e-|JW7dJ$(;N*#~Ndm8i zK#U=r%X>%FX{osyn_Apd#OL4_C)&&3v4uYQim%1*y9`z_H?Tpy} z{1^hk2&I|;CE8011?CS5X=UOH%6Eo zuu(WXjIDNk9Mcp`hxI zUmAr6q2KP)w07^aQ~#i95X@~dU&V;aDckCWYww#wCqKkB2>5yb^4f zu)HLOell|Mt5Z-T&3ipLsYFpd?T=>4VsH)la2vheDsGR$k3KV|b1M9kL@LSCgoJ}N z)LMSmnDz$5*f0L_>oL+Wu*u3rA}?)o%zVH;?J6Vm1og2wbU`=#b;IH~0=Y@Cxw&$F zZo~n4j5u^wWJ8(Y05yEG(YE)&Oa|KEm6;w!KC^r4Pgx<;n{*XxZ3<&mIhsJQ!LosU`gdn5FY|oL)aX;g8VKxP9{(!GqyW+H_Ak_N)f~a~qJs zQ=|Zo=_FI}1VV;55d|`ZFe3=@#2DCmB#}$gG#)$I;(*DCpZ+O`?1l_}?1%JBx=uHo zsAP1$G3AKhWo*;kArYbTW$VM{Qz_!-VgV8z&tLW|d9uf?3 z6v{r6iwCxWU7z+EdTQc}7kumarl~p){5}!+q|!Zifk^GOG=o1`U@ z^E-D?x-B-!0iBbAOxUX&VMK8Uwj{U1^@l4XG2oCmU2>^YN+RdqdROxyeT<_+72%AU z_zc9Wy7R-ICWr02#o?>47b#+=u^1TZ%2dII2duE?zJ@7-K(id@LJ)lAu-!4}}ID`KE&3g1$=*`+)|6+tK(VX~! zNm1mUoN|4iu1Ws)aws;Hm?4nonGsUH*0RnBz{79NI(%l|NJY3oiIJ5mRrBEB^>Wf^ zKirY|S;Ppg zch5qD&0FBq+G%+rajOY*20N6T)5QukibY<6@bl|kcnmei=>Q2_#1g$F$Z2pRDU{wY z7n$?ZFZlIliiB$5=f8iJJ<3Mn1(l6&bP-9Y1DZBg^D|gM@&5ewXaxytT^LvVRv9wk8DS$oW}#j{GCQimpDOvtNOcaRMeSRYZm^Qslphr*R= z5M5oc)L&bZZO0eiEyjR`=q~U@4Cu{DL+GnKRh*cJ%!y+5EWceBDt0!`JKOH6Af`B!eniQ4$_XQ*IQO1NW;K%$)S7LKS3z#}(E80Ml|GP=SU_>Ns}JM!THA^EpF1MV z82ft6Fe)GmISiYNT;uV1pi{G*UTyw=e^|c$InLUAEb=2XMPN6$8_Vos=0hY(H9aSJ zDNwy=0caUajv?L>{2t{Vw;xjkGAvT zxeg*=o+N<)g*eg&I2kMw%R1uWsn{T`EpbRk^jw{6P7ph7%$O>sPVz-59+FrDHq6%; zXdHgNTyYDJ;n8eljTJHmNykKL6c`;dfbXuL>aa%tefkHpj{HAM5LP)F+f=qb{_@WS zzdr5D?o25V<=88o`ydL!BV;IXg=BaFmG2MF!J~{vTMiTX^sj?&s>w+3HT;ihEpC#Z z(*PVmc|rKkbi-FJRl?_deXaNdZr)RC+wEc66ut^cJ`LbBDKZ6I3QCv?A)nE0GVL>R zj^tsO>!WUhUNQ+TYg;?Qk#-I0G(1|_Y!0m(8iX9XsfyWdeQ9aC_0>Rb@|kZ9wf;zY8gn+WEM6=oi0M-8jBDl? z{My^K4<0Y$5H^~(p!H_>Hcn(H**6 z_;qkv3U7qZVR?q^VYkJ;1!x0M5N$xHp5kz08HClAi1^|FfBGm%a3xhPfq10r-yy}t zMtq@P#jtrmoGq>x|IL~s22t28;vU^sF?WCdTRh(A1Hiy)k+weAUR0KBTj?sY`gO#4 zV#34&U!_@4tfawubDddV`RRodb&ABg}hpQS5UW_rTl5om5W0`Cx5ISldl-@K!J zkq6rUPb>-M(V{*FOu!5mw*t__yWj1*vLY|>7n?`^FPgZD1t5{SH+iil(-IVnFS_Mg zW%5b|0&ZJ-m9L3o^$%=sUZmMiv`}4{wzwX|*P-e|!VwUG=DYgw8Gt)iF9{bZfuPqH zY3ul{HcztInwdI;O}nFIc=jzE{VAaew0SySQWNpo=JPQWx-u=J%8KDRV*teETb2T! zY1|=rE@!u|ENSsXay#RAPSZUT1pfh@E8vV~dmWnm%LP1Ivvq`dEs)elKuO{N1vdGw zmXMrYe>OXOAR*y-?n_f?9m1%%dkZ`$6p_TW@n93t__e9}rnybe0Nz=r*#(wJ3|ZE{ zjYCxM%b$$1Z&eOTG?56yXb`Ah@grVW=YQZYN@NJQumS3idFqopp36-;Z+F6W7DEZ2 z{ZKUg)b~|(IRgTvEYgCj0S4ebp%y&>NF1sY;-D|0VkThEm#1c`f|#-3Zk4;XIBWiirb z%FfP$gK9wDphNi01rl8m4Hu68O|1*$xI;SND{ukreXo1HziaKesb>%ucoH>S;4xU* zW~?Yj!-fbO6*W}e*8s^Hai)!a1vbIA_7nLC!&|OdM1u(Ckeb@x-}I-mDke(*gXqyf z{tc^+*R+?#&}XV)H_dZjY<$}Zj9-IC??9}rk9JbG2OV&yi5?MNUpq*wR2(7f^f};8 zUKp7x*@TGn&E*x}v(_824IJw^AZ=@LbRPE=cCj|crBE=2Q-9l;fDgn+wUFj}A~G3M zZ@h8RjR_UK;r+(bnpOlvWH1(Wz!3+fw}B^-@jgWC zf~f0eY9rYAc`vHbD`0}mH8kirXiSi7_F3`U72AT-)tNTRMj9Hv4uosh=qvKPU(|(^ zrhusZ_1%+0r3%8D^J`G(Px4by@}@Ol*}|F8W`=~l+?S2rxxd+mCsDBKB6?|Dkdjf$ z;nMkl*Mhxoqj8|{wyabyI%g_;!Gf_`v-_IFX<4AC^4uKMm0=i&Ixna@cDjBz(X8@4 zz!%%Vz|Zp?U?0q`2Snuuupw_Bfd#JILsV{GtegS%je?JB_fPYj`pyz?pJH_Zi7II6 z-)JVYO)Mfs+4h7YH%^KF8(s-GV(&QW3Q$b@%e+j)8h`!^R_efe18M7GV1jZntZSzp z+yJoK`mbn}v=w;0sTYCWvA6R3>YrDRp4O&6tYV&)+m58~j1KrpFK~68e$X}8n|<5* z&qDLJ_E`fv;=s(qNri~njp;yTGedUrN@x6c2cD0U@B7s=dRnQ}*ZB0xgvz<3Lco`m znx4yD#eGai>ndiDi{S85**R1?4;Z`kY7J-l$Cd!DeWc4OZui#5Ep1MnU~l<*CCP6W zLgXXdtMwS_@!XH@KShi>eBRe1(cS+<3@Mxy+=-rKJlN4DIHHS~}F6$czTb@Bc^1U~z`F74OeVIWVC(D(&mMT~-=vl`Ak zy8%XbTi}9U?o8HG<&jQT)VvA+E1L+w)j-Px8Pt;kRQ>1?@r*Pcm1Y`~$r`}$nj6SH zp9SXI$lk*d#)u5Y38h**!%r`&YmGmSo;%ze0)?hiZMEgDohiLPd_?^|;GiMKNYV)2 zV{4H)I9NR*6+m!-N{VGzDZrUW%z5%Kj~q#i;-XZ0S1{EF5hK_o*unojILUfzR;^91 zlfv>pgV1M zM#ObC(k*c~igw`QWpj&KD7TzJX!NkdWam2ynkUSi46veWfzi0`s_rGv9YH`gA zy!dL+2zEYvinIIHtH5(aSbR}wRz36YTza*lOKOBslHUZ;S04nsL6OPz>%Ynj&deuHt%es48B?i zUDzYulQW}suWjtr@)UZR(BvmON1bQM01XXMeu)Snl}4|#=nh6+e+O*ED{7T;->e_* z;W9Dtfp;&{T7TojBSGKzg>!jIm0v~bdJ6M*=Wb53akZa}7)Ji>#b;rV0vx3dq;N@7 zrKf)74bJwQQ^WdGCK4JGLw6dBW(k#ko(UPv*E-?bjrPavaLWpMUDbncAyDct|BK&b zaJ#yye;93%6Rpc!0iD3H9PO$l=)F71PScrdl_GlBhSG<6ZT;Qm4JgZU9Nnh2a}|t=B@AGrmeyQ9^g&Mv*+nM0yKucxfU?8qs zQ-G#fONXg?f-W%l-c}P3jSwVcLdtWTSd#n?pi!P~3%7hW1G~J_?_xutE{vs*EPAp#69m-;Q?1{BCwQgwfbfTVbX`}#E=?V)976!U{A0&} zE~<1K*UtH(fY0kmS(g+Zmp6ZbfcX8D&0NaWmi28*xDjxZYw#HW7US&q1Eov&Ko5Gg z|3)0+c#B+>9(JS=2wZ;mVTEEakm ztMFkXhwa;!H{m~Ep*oz#vw|zHWL7{WXhLZXZ^@K;D9=#mVRbK@&_i&mqL68yATW4i zzezw6G=;e-h~)q!8O4|Qa?_t~DOD>pxDC?0K!@A$&>k4cfEftM*7TDg2U;O$0a}G* zz9m(kNOPY>J1>weZZtW?%d5Rtd$6E@=5v4sxFc$51f0w^jDvLU3Lxk=( z0c6hrLt%Lsyt}ek4|OV>M8G`%J}s2Cr!O&yGlNkh8(66FUr9kbE)A=Se3qQ-*DL-r z+DnF-?fBsFfjO}Z=Gz*8hMk9r-C?eDC)(CB_0dnLIRI%#&qWRg@YF{odNxDUp3Pf@KB7 zWJ7oo(z-@0ZfKVEU?SO$Bm9=CfZv6oNYqy#Xc4P>f0%%+Wyd1$WMGhE?D3;!JfXCA zOelNsP+EFpHa-#|1{-o6e*+!XAq}N~sC><2wnS&eJ zW2+9IKjnZhV+gH8@WrxN$dmSg>ro_IfdAuFKLb-i;z2jLvVLRi$a*ytyeU82;tR@W=oncaB_}kThqtAncu`hnl zD{+A8;Z6RZH=+L#GO?j7>8pc=p>cbm+h)?;#k+ldxKh35cG-LDk0UfA?o?TpG@;a3 z_9psJNKzRxIy0B42vf<|HZZxd9fnTD)q!oaZA<^;8QpAaonrbU-6mxNYM&@1w~U_y zz(ij#V^~rhE>_brN)+g{+FyRLm7y^TdJ^}^8k=6grTV_|VZ+=b@J+->4^~cf?CwwY z&Mks6B|NDw@J#j@;#OSiQ*T434xGL$OJ1m#s&})NnWc_pC33Lxro51xM=qVT03?w8 zxUcsQ<1Hxh%=g955l*SO^1)cxmtZR5$IeHg$!CB*{2-FMdVTRP2%Dy#ZEv}?E)W>h z$kwgVVb;0p2Hyd>*PYNX@h>+LW`M2y-lTO>jI-HbR2p~GdVohm;k7CSG6T`?D|m+oM|M8NHi zYK1?HNkC+*tG}4aI@))XC}H;L1$Tbi%I5%&rn9Uf9R!D02<8WORMk0s1{%lkC9(nN z?$(5IcdvB_*$$@`;!~^8QG+Nh>|)fjGJ5X)*jZ$gl5Q;haW_UbJNmU9Ff3bovS9A` z3}<=wHhON#mzl}R4BnD5^rA$xKL_j@8f~~%Wx66B+lC>RWaEA%07rf`yvtGxo|)=H zqbAX3$JWoKf{K~Neb(sC<$;lXCw4T8bqv^=Xaok8m+J9P3e4gPRVqcz=At<>&|{M# zT2Qs+#8@p#|2m}4z>9l5u+=#5YVzj)Xo)&%E%s)Q`0}YkxPN8+$`{&6n z-#?foG1OOyW9-p%qLNpb<{yG7RQ(!rJhq(;0JtayVsu6%1LO!IcjgmXa*UXHL*j*t z<;d2Jxum>1jd|j*d#%4hs(*ibUtl$Go%sTT_??3On=ASfYlXKH&V>AQCh~cZV?F1U z&UUiQ!%zDh1Y9^nCV^P4kK{g&;UVX)3cdTnTug{?4J9^wLM674S>zSwyChw&OpHc(_Iy^!N#etk@))EV$H%%ALDno--kC4?P#vo( zG+w*=JQMkdn#%Nn+h)+!W;S$d`e84{GE^Sfg5ZW}=(;`v{}1s=mypWL4bRMF9;xS$ zq^Q)d|AvGc!Y)m$#8l{vM^y8FcpTXs*hb(VZ9MlG6dM%UH*~!dR6MVRIkKVsXy@A54A|{zFmFIowcwjS>%%Aib5D;Q2e4^kxIDtMJheBiGXMO^h%c0A2X~N;&(86dh9HoK z!SFQli3tNa8^{p?yS(Wdu}DD}r~Tni)JU+L6lo$+)W}Zap;>)b;b_8I`22=!hGbaP z-lBhxsbZwH0;Dmu4v8lIe@U-xKHe^2GH8zntBE-B@p(Kj?O6p|S~<}dqvvHzWO z4~MT7{Ndx5r4K$0&9fTd#%THt^Ws z4tNqZ4l3INkw+unPK2O~Vls=fD72R_JrY(aW2jLR!kA+D(Y1*O ziEe1i6DH^!gLfv2T!x|cnyP%cf;75p*tyU5n)J^G?r>QIu%#4_^GYQ)nV=v13 zRHq&q=?&Swkq*t+m#`}g7nmI^@<-t%xA7lfjB=u?He6!M`>bl(fyZ8T08n$Dg!y!>rF!=K0h^^2}iRp zuI=uJ56w%P>oEzEvPWH_?}yHJ&haeKSy)4E)N~=UVfx5_D2*9zo{@VrvpSB<@Nu1# z;z^sBwYr-bb-rrwRCYj7CnPpdT>z6FTIvobveH>Ny^S_h`RTGl?tB93YGgL#LE}k} zUbR42_55avrHpABqW*NL?rfQ7ZU(S0`ilP5uIuDAT3l!g9mGe;Vv2KzR}Z?X)N2}Y zNi2qTm|rVvc{ozABVz}wMqEjY_lh?{5{O7Mgc%oiO@83BiPDtNhfjzWA(82FeYLug z#W{?&oWaXogB8?@dp0^;#Qd$QcibEqPJSsJwN;YVV66lr=MlkV#nqjBA+N7@u(nn7 z?OH6W$yOI5oBxrf2iXX7W$aqP$?FH(^EUA_`NOyM#(%ndjQVNW8cZYNd2!hfG(kY#ybe9T}Qlk8?@!r4V zd0y<}@Wmd!b;Y{YI?vB?{7!k31u^oGHJFq+4Q$vsd!gZ?$)%2<8)Eh3!7<=_7e9s( zYhUbS8hHsM`-5ngq7=WZui-$0xy%uCoHVlp zk~HcvuV4+P8qZ){*F1m4p$pD8^t?}sraW-%6&q%austfe>+Cr-0^df0g@y)m~rl()WkzcR@|6?jvUd$6s zsxd9`W1mB14ez3Ajgd@!ZOq+h&J}kmYsS3jB;njcDjKeD6U=!GlA$}e^tN#JA+K%D;%?iZBSup-pCH}V-P*IyI_3W zM--<2D#tu5Np*PQJtd71Z^4W4R%88*PdywGwk;PHpipY{gz8=q(MRQ=Xc|jSA>^7X z31%&g-W>DhXB(JLn)%C298zy`&+nLvmsvhpVc!-V-(?!%1ojrAjd4;xXq}4iA{1@( zhaKQhBO7crHuj$@g=RE=i{g!R4{^tQNA}HxMCPwinl}BuM%bDx2PKcuq&8M=%#?Go zlD7E3K^g6U2)v>V+mK{{a5@aiOQ;PWU>mSP$CS5-;o#Y%v=tU79Aet!v=x6(lD4>$ z4inrWkB4tc#Oex!o`2{Qa-f(f8PU{&uQdBUuw46&wv*PI5Ijn-W`B3!z%RI7QXDo! zu@%=OlUYza;1VUeMa-Gm8D))`HSi})3(8|FbV~CyqG`jPg7Flq%y9=>{knH)_0dic z&r>|w6x9+aoK!OI?#{E>)c`}Qy4M~gr(N81Zw7D=a`^3|8xKj<`>*BZ1)^qcdc{Nn z<$w3xiB!VjA|;K~z08X^SZcHu=es))!|(Ob#)Wo}HWX1ZG9XdJKXc3o$LD(udH-v9adMkOvKzJl&{NP!?EzUUKVupZ%5ga995WhRsiH4PQrU!19%w!}&QO6aoT0pJ7 zH}2StR%Ryg#%BN!6*(-K*(i;+QF=UcKLLZmFR7R_6McRt$P$hCvG(JQ#jxevOBQG9 zv!?U;nOecdZ5*~Ug{c-J_ek2Y-r1ZaJ`~!O8&l$_A z8XaEB`eol({0Ud@BY3^{)<9a$2ps*XFtF|6&a}vo86m>SzLc1rtMG43#ae9WQwl*d zXmbP;1Ly-tFUz|784t~$2^vHXD&$*fTNxB4aoThiPFZ_n+TR7KDlT*v-T{|BFS`Z< zjpp$qnrAcaFX$t`c)%H3arDtc@7!atl44#%tn1GS4rKV5!RFSIH1}J&$kh0Yp?#ES zey{FnWLj~{8LwIPYx+d#57gq{^%)4Unm^G5>6AMcAh$$q$h&N;6`^d6C1Mc>MWDnWT$cU?fAmCpakVbQ zj6udyk@Tr5c{WEFCdtwrZ|d>Cztn6LYwi%N;$kUnEV~7pLz7DA)f3-K98H6f0ZGQN)162{3it#5MkNUliom`>o?_1h2NCSZ` zS`Wd+eQ`1XI!cu^owlc6QQ#?|F<=&vp}7)wIiyf#=E|WLA#9|u^ImH!MT37b2<$$w zC$FA-++?d>lY439`&fsi33ETg_OVHWqqUqQ+q}noirh;YYN!{)!&**hrc0Yqq3T|T zzD0?HR`OR%iY#eqp6ai!UPj*e)B#INk}c@YC&hz7DMBTt+U9-a3r#d8IY8ZbjSejV z&xUt2S&dCi6NSx9@K zlPz;ZjM9OQ7D%sZ(4E_yFzm4}_RhZ>>~C`C?l=Ue|8Ablokzqfq-Yx7bIZGaN;T;C zdAze|H&IJtvo=FcUVF&Cy&O%y)yp>4df7_C`HHQ0rvT^zvr3GEZN6?#+UFX%XN0;r zl{|lCwR0&Xpa?IsNMOhEeOuP;QkwsQ0C9q~(Fe`G$9-19L*FIW<$^Gx zoLaq#*Hb-th&7$9JQ(2=C9zr!=CZ~uk$6sH?^dCH;Jj)t4?Unk?+-z@QRL)+e5ED4 zY&ytM#QaiH6HQWu@4OE<#Q6eGv( zbrN&xD-sWqqi3EnXf+J=X$6ET)V30J8xA`^&NEr)JALk%{?+VFC1eC6Y(9C=d4}XY z(1O$C@W%fWg>ur?_4j)lWCiS79ThqTtA-4Pjt|8|;zVfqu9qi7CmtL*k}>M{30hwm zu!ZZJm8v1?9b&hJMETR2`$cA&1(8l4UR2R^k3UYqVEV)VwB1{{?XTky$yYR{napUJs69DpAMrHYNt|;$=J}Fd!SiP-a0OD5@66hcw{9MB;peUw%Zfi+wYFmJ z`?(Zdzino+5+vJqu}g;HcxpCyktoR@lBu^bSVA_pdt~V?c?GV{5BszP4PVY|lnV=~ z-vE`%qW{9`{_Rzcd&bC5tHzeX_asC7p2RW-hN6TIGf4%*;lM}}-N~;uk}5yO!;|*sk9LPc3AfEEj+U=Jut;Cp zO;SzK77>KNL}zcgEepig)V0)XQJK0l;Z*$E^^b>iH^vhHTdgN|Dv}EcN%Id(|zbkNtpA`Tn$jV+Ax9eQlSZFHQLWvb-Oc1VCqr*C5C*c1tLIH2^D1+80P9g zs^&GDotxDgS|C~8AZ2t1ynYhi6&v*5f2n(n75s^gv}Kbpx$#N6sumytg5LrCDmjo@ zb@Uuej3_12aZy_(bQcfkMOC>~B5!p!t4e&-dE)Q%u7%uK&4%Iyx=> zSysSpC*1{lpSoV2BrVSfQd2ik@hPHOlPbXIQ!SA4zwvo|wt9TNh=`|-t}2K-^;9Xk@XTa5(EZ@icz# zJ*t3<`Z^q_uk-dJ?!>;aL*C;aJ~v|PWmnl){aPEvZwrl;XNb`tH81G?hXRzq_N!%q zx!83Bs8phUd`?J9B6>lI8r+z~~#}D+~hXRpN9$}$sa47AIG?mjG z#GmWO$x%{o|99CWB5>Jlj9;{E^+5W60(3~j!mEC^gwMxcxk+G7EmybfP|G*y)yWh( z=_aeCE9AfAh*db#2A>v;j9@>M^q9Wf_eN8NJXjH%ke2PMxp&^DiZ=zc4h%pA);>U? z-e~k~)9|QIks`Xvk_WggjG2oQQ8oo|?^_t)U0um6Z+crGx6}EYKeHJ(I;V@839Q;Q z8YM~QuITeAtVPf$0GTE7_76Vk&Ph0!WMGa@`37EpyH}xCk+S5q_%xVr2 z(qqAZ9JPO+Rs>=de7Y~n|97ou)U}EWwp)c=<`_`SGj8*bgP}xHnU9@Uq*s9a9pzwf zuH_4duU6KNlb{X;%gI^nG1s~OJ`WP5nzyjJ*eT8Z?G5(!f6Uc!I{a*zJHVt7=m|Rm zc39emeN1WTON-gcdvz{ZgTdHX(w*7z|Gi~&)W~SywF&`a=TFItA74&@kOI;~2Flgs zHn#7~TKHgum%*4E#sf#~Z%y>=z>#Y+0Z;#nVEwyu& z3HizJOru=gauX1VIDa))#3CSRIh+3fzp?*)oq~Q}I(T{VeFaxlDDZ;|QLPy%V(dhySf^P}KG0xJr^EZ4*S5fZs+LSaZCmeK;sTtblsl z34jF-q5L$ZZYu`t)WIX%q{ba)b~~fRhqL1U4H9&e7p+TAaf&KS)U!3$SFS`1pn!rwIL2V1H3OB7b%QXUcc&vCi3|<;}WCVE<1H_ocs4T9*KaDEH^FZ z=28GGjX0bpZ9eX)PXvr}WurEK)A{Z*QkXwaUUKUt*lE>8an`zTo%ZKyr^~gOS^(a; z1b9JpIIVk>>YrCIt&mXHCo?H$pAxo{t=s}RMFef;2Ug8a+dKNs6e zo)hT+8*SZ6hDAv0C`4QZxPM~aKV24-ic$E!e7_S_cGIS+99nR6{vX(y3boE)Ox^@+ z0g;kG5fvSfM0(cn_qZx3OM|N9Sh6T7s|IYtR?v0D?C)v8?H~}hSh!jKK0hc0)nTPm zOx4zJWjQ54y&U0U+@ZW@%JA03$jTVC9RA%b|M>BbnoA(S69|@Hr{HH&+|V!azNTxz;RLrl)@dR8KvMR(cr1fP(CS9 zAdw1>I&^#w>`yEx%Nd}Ca_>luW90(o>T!5T)bS!f@3J*M`I-TQx*x|4g@ji;Mz|ti zZ+Q%e**1I|4?7S*GLY+6R~T;w%n!U2;?ajdEc5hx<^xJp;O2w@bM(qJK{@G5y$@HW z-?hk(RR4v0^sa%>07_o{Qxl-?RPpRJPjy! zvZ0R!Ey*YzVrN&g>y}ZbU=4M*{nIv6nl2rFw%bN8Mgg?jFjBt&(?)Wvp#sww@Haic z@noLHq$uH>0a65>z(2oU@#2*M;YLR01F8m=!6uaU28_!8lTAyiX1QUZgh;$N>EJ4p z0*pqqilM9+r^K~&nn1RR1iG+omrvH+8VwX?Zoy_?7m4s0%a=4|)y#F2LRGW;ni-@V z#U>-R)KE@0AWjAX{``@PEsooc(%8e1F*55LLh=qZ}el1M%y z^!xsR$#&%-OW0M{#Cxp*DRxz(aSmgY&l*I15vX<1vDDLxUP=vRYQksVD74Idh2uL} ztcb^M+2JP}ebm@9H80k_7|3bX{AliNVi|5=rJWqx9ah`XR3LU3_I6EE7BZM=b7 zL$lGS!bI)EGsNl6({>UFLIOaSXAE-JDRV!__CQD6!7%ovo8f#t@Q&!;M1^6X#(hmn zv=iWIvWWgUo7o0n3Dqq5LGo^SoS~$+u%dZH`7SuHe88It;&0`*FxXIMuOy{&?7%c%*GQ~dj76g8r_4Z?Y+8bBx&%aG~FnoSzDopyq z%)d6Ji=ag=Hau&Rai3F>Kb&1SJ&`V0H98(Jhi9G&iCyYcT$B8ZJZw#H2JF3o>WRID!&;Ht-{Jz*8FgPr!8;2)mEAI=V^BdR-p{ztVyE#u>; zzrgRf%z|Hms9_71nwNcZatk#BV%ih1LuU`3xeMn|uT~DFDoR}`| zP*&~3j^CO9F@Gqrji9Y&kun0Nbl^XA2SVB12&Nf}U6R$xKj);#(}&4`&a7!Z^IwOL zBTBGX(qVjOZIQmcnQ^R!7GHsYwFSw1e$n8%y5d-~Gf_aV#R*!9uv?gI{c{&5+`}?) z{`ZmPfM=~rLhlRes0i@#X~3JR4$Ld3NufvW)6TU(sm|k2;O}*byQY|Mv7lZ8C?W67 z+f^RU{EO88KOa$D$t|$)$iLN;y0Sxp8}L~DCnMi5-hc|p zznOg*gYpip)A8HKi5eaPWP2LeCKo;dB%QuvEuqwqYp)~g>->;Ty-1!re56_;4G>qqo3ol^4$RJ#;JRK(mc4c6ix=b@w z|KG|9MJ-73r9j^KFAD*cGI}>>U!5X|ZV(%;RHK^8YW#*G2C{-w-U=gC==ft$qEq_F z&X^zNI**Yt`}gCqf)`(mSvfIUS7S)yP5Vh9U{jF*M|6F^1|!f2#N((NLGRD3^CsaQ zr8DBc#j^!<+?gLeT)zn-mnty2_$mOv;24tf@p4 zPODM@>F-$n7p*9uW}@|D*|$(mF_3xt_T`-^;VRi`2?c1E0YF#0MLe2_Y2@d}w|^Ah zw`zjX{@Ox^tKi=>E<$lW2rCbV?^mY*J1LcP5m*&>j~*UtUgvs_C*S_P=sb?%Q3^5{ zExK5xKUDiV{l8_|4Pv8QWANUL9qde@sPyUyfH#!+yDt&g4UNq@8*Q`I4uW=K(MwFv{rG zmqWKGf>mIgSWGu=%?w)Ohthv9Uth&P0rbZAQ{1{`8agEU#R@nmU_ujBAq>y6(i zzu;i%pS(Grn*zLt-eo#XF7qW}ICXlU&NU;-G@p^&{y-1M((3OMN!Odi7fsJ5Jb|5R@CeJyj9C*!iPSCUFLGPec5;m;2 zE?eLQs=p=Q^j81Nx$a5Q1F9{|{#<_*X=^=!^g271AHROgR%jdVdwuPc&96O1z9(P4 zJR;ygD&NuRt9@u0a8=4_*|8L-4!m~!6r1`Swb_LVavRL-u+$y_EyuJrvId9fY`%L` zw)pi6f>G-rZ_#kq+Ro*^1`vIzHvs38$D}Maxfw8Z9o4aAXCPou2)cUBKm2%pl;8Lk zPK6DuzGn^nILM9GtqTp4nxPU0HwTv{Wzgz?*;;|)Ls-gebviiDQ`hMO#{v4ui$TUn zNU`iTKPj+Zeso!AP=x}yI&uvyIg)OH+C{IQ0x}uGf9@um8|C!Ln~*LtO$4*}4zk?1 zzHCbK-puzS(=<$kz2I}dg~KHNSf+w#lUtO~wWr@`V244y>(X427|Mhm%xL83WVggjhgV00C^ zqMJ#lge{ayo2<2yHu1FV(=GLbWe?peEi8xeWKl_jHZY`jUV;G>KN3tX_YMTmk7*8K zSil2SiVZ?1w*k{G^Gq7VG~@x>3dP%Hvm?%9pjPsWF%^yo+yqw*Q9qHIau zCf<2b)if5}j~F~i3~(|E#2=~)8wse}P-+cVimU{=hFYpiKtkjO9kO^Mot1UUG|9WC z@-PbO1ss$~3Iy=NEz43hP-dS2jR^J;r=Gf1<2fgZRsq@ZH7|iH&8HNrjMiVyVj?D0 znp!(FH8lN1` z%e7*H|H4<5^&YRZAw59XEE+BdGrtF4U4{pql>p;z@Ub3X3RtW^YTeq5&MY7+0z0>OYQ#6zy8rXUfVsqzE=A~)UI049f$i#+nw zriW1@SS%C9t|{r`N%%0Su3i<@)5eGhq4{h=#2F%G4|-YSvY~yi-zgsL)oc!w+!i{ zx*~&J^DQj#xcNcLBF_E5@J}IEh9BvdOl77#wo0y;2S9M4-z~s z8fym|HI>BOBW01JmcYPdZgcc}?ZCRoj0`UcKoqg%lY2lqlfWCTJgv7+)R63h$LtIG zDD2pDC&CNNV^B$j=lgTKDJC~6dS(#Zb)0TFE^(hDD_g8SoHQmI1_Np%Zd$IecRM`o zXDRqJLZh_VaTwoFbO#XkxQpN>F~3UwVq^WK^x4m5riNdeiUU(R?Vz(y*+Cs~L^y4k zs|vaMPe6#YgN}kIAc<>%aQw{inCeG!4}3-WiO3w(PO-*~qK&q&Hey^|?Y8NY`1mGWm zDB2q^6byp7=*nun%$oC5AMyivLkaBp_W=H~&^;y)n55;s$5&CC^}PZ=k25c_CKq;{ zx{|@YscvTh(NTh**r;wlATLNw@MI!ia*UNq@+*I2;U`X~n??XK(&n$Ott2b%zX4V@ zyBL`TNGz7m%tPTUN?t#QHxX*jiPtWP8qyqtCm-<*g{$fY@es-y^4?Qadf%pFcWjd^ zyb`66tV3?sA46{6W<71|?FdrKW5C3fbRY7Fp{B+UR72uMM!?&v&d4$gzI*)KoRm}V z6wDbu(?9gcEn-kydD2%jwINDurECB)hVia=g#Ee6lvv%X=#kz{KTzsP>p_nxWZMt! z;%!vM_pSFgm&>)LAbMOD=UUOsz&v?pIZD2{%X>}BKwzbzBjMGF9MeXuC!2jtDC|&4qqoX|R zsQxzx`zUwSDpM#NkAO2LtZPJ>J}b|!Zhk^KNB=F^<@$p=&SQBX-}K%`bRrMfaru}A zN@eZf=v$K;Ez0j^K!FoWs7I{czQ6PJ&?_tA_gZI^Z(sU7W42e|OU@)zcGW23#40Ig zu*(%7x08Qk08ePKQfl-`82fB9>qs>zA_3ZXd5sBvy}X8ZN5+W`L%F`(T-jfyj%C>z zyh*5bPb~3-=&a3n17rKglzX4Y)1YY5Ofq4NE%c1Wpaapng4VYkrNqHCkSB{xPv1jN zQ3<gcr$VL`DZ%NHmad#RBKAMf<|_*|*Ij;PU@OqFDnK=|and#IAKE z-VI45M10DOeqaU^^Sy%;J&1%`hJdhI+zayP7r!qK57p`(1z>Q|g)QFK8<&*%j41mI z-ue zp~E2FfhkyomeIGdJro^|MN7@dIxYEnnDm7Afb-E*0m+J#3*+d2t($k>2{5C7wy4A# z3T#0u^p4UccXK^)`*Sfs+F?h9sW0Pq7W$myR;}5Cfp9zu`1OA5o*XY-A1gh*mJTaS z@uTxB$HkImja4wn6%1#k{$WVs9CokmhNwrw0DOtF8xhMTE(nj%!`q5*B!F`b;@Aso z@vr^DL{}Q*Bx-X*HamvWvO2;UG#xn!L3zMDqDMYrP^95SQIC8R0C{E@pAv|pZrT=F8Brdg;4{#F+v~HNB05TnlWgp z4k}-WVuPR#N9ycr%O5h6jl&onaAv$}7@L0?)YG`ec~N$V27s0OJu7YOM|vGcnFr7n zE5iA-a4GN0W%q(pGr2j5X+1hh~ybdwqQh1$+8Z3Xm!N2_3~k0D1wNIysVdMx5`@&q!*VkTkl@Z2pNFf{*=b zkHjNl_L?uRL_&T0xOGA>iEZ9QEz`a51|hAP_+OYz9Wc}1H`T^Ki*aH`2$bN2}Ng8g$>lL*r;TBmPfgvp}FGcp4&{{Crp z4K?z`kL7Y{c32I=L^W~B+kdkKhGBu=>$llXZ5BH zj@loz*QxWr2&Y^{j@D$M1wQDN>>-lV(Gj{)&)~$-Be9pZdiBkJF5F613^l(YB)Zr|&p>^&wZ9phb1=_mJNoG_5-PEX5GXubagfF?e$PFG z(2XJ(e?4Jsc~c>vSlcG_lQ$%3Z6-!3a+h{fwhN8){sNm&JLtgF<4s;nUEu@4Bd{%@ z*-=?c*cA~PHIju+Ch-_ZsMxQxw8A*Opdd%-C4Qqf0@4LP)U0KwPq=N)`hClht;`+b zAT;#!hhEZ*!JVIuhB_AbB&}D6;Zg)9-ZU89_{?LT6plbWE0$^F+aH?>9vB7pnjYYt{Zl3=Is4T87wn1NIC2^m`9)~;WLpS~#15_2_Ohh}_mvc(6DA4DmiwXJtBW%2ZJf97I3 zk-0TeJ03h9OBf8+0?kxM*GIi&CT;YRUx}1! z+LmE>%sUS>0{7$O#-j4ihxzZmlv3O0o4Z@rihnQp(!5{3rtQf|SLv+;bpCitcwD9C zLV%g`l5+zyo+sseLo_0fb4Lw<8_ED^Pi?bR#{9y#_fw=i1B=(~RwmDi`+J76%%vdN z_!l6NGVyfSwC0k&FHbS?ZUA%Hce&r5r(^a7{`Nw)N=1>^zwW?U0%-}~nDZ+FSCeg3W(;S~wv8epdt2(aOyYvd0OZ5=Kpy zJ9BEfWemMK-X+(X9owM%?wx+o>;r`>B;F;2z+Omw_Y8e{9@Xv4Mp503F}z~*1Z7fJzA1}ioLh};LeOMrDiBeldyKvSeJ z#`BHp0hhel4M!4ngSw+;6p6fe_&GDrI-6sHB)#O}2f73+@wrB5(vfdj|C$jHwMYBhTpVYu;J6HK(zj1`#z@=T4d^IS&@ zT&`7-DMM^lWeF2m zM`8b^lqL47opZ9qjnOySnp~-kDpVZQY8E!WAyKNyM-Ei^de?XUjcNShBu%t5iDe_k z69+4KTQBl_(>q-ll#;n+1EM~Ur~@6U!cB4JlL-ZtPGrW$^%|x!nL^E^!s%_B(_m$$BiAUy$5=YH@QA z>+w$#^yBp0`WH$8U(xOf1h^El$T5(irp@|ak%t>eLy5w(8>KW|)j`Xo!mcZkt|B4f z=P{e2K&^DXSh{GztX^IaN6`|gr5_MrD8U)U(L+mCiG{by2Pf6rQqW|KW;PNj-DnLy zbrJI;WgvhkCFL{R{hIiTPH|=^LBxbB!&?$A>9vz&a$|qOgp==zAL}L?5TqS%d*f4I zKOwZ(HqTl3OSXOW&H_beCJrM!iE>c3yrwJF8ROoe8zk0tY6-TV^pzs=;Vh{CdFaxG zF&Qb)ZiM!qa_43Z^~U_ZC-5D#aYG$z9+x87jIvu!UVQ;gC}L@m zt~+FFy)a=7Z(vnovF%V|v@65`o%-&ea#d;Kpz)_eQjHsx_in@tg}9ZFA5jXZ^UUQv zA}TMrBsdQVb9zmY{)TLK&lq}CH93(4`~j3m+M+?PsA%ep>Xd+}+AX1v-(mbY5eA)9 zJ_cJ^W5|iQJ6C{!$ZK1vGg|HAH%AS27S9Qu`i__7+ukQ)@d^qft%u1sxRvY{snAbe z7MAu-rJv7d)h*s!}g@_q#9>ui-FN1zr4=EYZsoRw#`oz9B!LjH6X*Tsol=fh>3V!m9G6QO6S&*SFW{27A#nhkxR*~4k(9Y3VaYN`xIi!TNP&>= zP@>?$IJLOdq!9 zAM~W3q5J!`X!jJ~zAcGgXe};Y%F|zn^fEjg_r*1oc_^n6R?y#bVnu8|cFJcaApZV- z=C94;Z)$y#{Y$kKENEO$f)$`!iVUkZ6P#-zMaA!|4OxlNk;H|p^u&^mfj4kx`fo0^ zk2WH=uWl4yS}Y_oY27Uqjaul_qqOS&JX{|^KpLPHaQsOPUa}7C@*fR8E`*yE7xi9n zSP#9J5zKt>_3;d$YF{IB`GgdGcUG-AIQsM2_~{+7%cv7SlxvPtRL2-m3~GSyd(1z! zDaNlWB)0lQ9}OQd++_?)S=sVbSQ+U&@=PRy2Mg=CJ+f$BeKdL9ky5(rVfqs!9zxiA*2s~X!` z=jgm;)Pke$I~MlO7cr)md&HuV)O9^^$x>QR;OTZ%H~V-f;_%VKnffo)FbSAJCMk3IF3Rnf=( z?6J`u9FZZmH)L_I(XwemR=&--!Id;A@vtRnkZ*|sDT;($lvB?%8 zQ>>W1qu(~O9D_a-RueRfMM3r5zBq40Al2b*&FGgO3K}(cqM#xv#wk+4<(ZS&e)G6i zWr;caeVLKbnT+O`?968m}-#x7bV{qzSB7PtBI?I$p}Cd6l>Zda4_trSYq&V1Q>@u zcc$18qG$3$PX`p_aiKTtH%Z>CS=CYsV*p~E5phRRTY$Hm8@V<(N@UUOkYWf$xEIy z{O08>xOl#0i;KS@b;#z4Q-Mf{?L%JDSy5|v2NdgdD~Q+_S_LLaB`P-R! z$>SpuR6Yq{yk~EZCoDfo@NS;P9Zq~ODSL7LkTYU4x5_a zrHMtre3id%{lVf`4B7DuL(*kYM9Uyz9Pb@`mZtpr&U#N;UUbVVl6dQ;CS^s!l)AcT zX8FHGk#yhv)G7uT)is({$cL!B<)9f~1#$CIR5NKPxuL%9{^MQmv0dji3~dW`EDC4fAY$CcQo!p` zq`Ieij*t=Mt$Sx{Kk&ULf`pVIj8;c+$~zjSf`yI)`j23vylRHy!7d;4Qa(jI)ENex z(B>1|^Fqb!aku+-WYTT{d6;m}^;3^c4o63pVhRh&yl-AcwUnv9hFYz}k zl>@lHFf`0urh`0I9kB{-H|~J|rcU&@9LtD2QPCIjSPEfr;dW*u^vErEt1gsj>uwPt zLflt{ys?M56(NIz?>up365IH)(YQaxe)NaxJtyj32ASH&`Qo3C?54uqtTnfU@2nRq zkQ^?YVP2feJ{eki$s>?$q|qj-#9uu)vo`LU%0SW+UBOPgv0&t-M&POk_2_B>#yP!lmYOTn5Dp5%1fc5?+JJ96=Sp8 zuiqNy2!#`=DU0;bex$5NJKmu_$hbi0@S38Fhdeh;l4E)P*G(Oupkhz|5ae}&;-0xbBCI)31RGmckC;z-&Sp|)^T|m?Bmctc?l)&O(=GIQ-@<|zvLXJt@ z{MtM%0N7T10n)L65LvM8Y{`IU_f-j~Z(JP=@L9|y_UfD>RdHTDLi9T{=;p6A;ADm9 z6%iT+6kZ0_=i7(+sV7QZJKhkmzQ(M}DG2NU1!|Vpzp7kP5&cCbBq_NbJU;02=g?Od zgg8v-@niAKd=Q|!@4yQVQAyq-l~&P`Yt+qrZj1*C!SH#-=V>q%CV=`kLh^QL2mD-W zi6FuRcimtCm447*{<-zUB9lV?*4~gb%#0PtnFZ;DR$~1)k+=45;$Z=r$=ViagvU}( zuwUg`PJz_9nZMwwb8WUDe{bTmxtgszg$8*zxHAZS0-xG>9RFS8@S62d{4nP>3G|)c zxz4KD4v2HM6k1Ih#YqBmcFChIj6Bu+cm&TO|6y~oN|+3c_=u}}m`I~IjKLfkO|etw zhAM%#&{r#W`0O%98Q|-Cu28IgV%plB2goOG9=e|W(Vk?sLs`<7%Yc+N^SDZCBZ`SO zx>$hNL|mnm`32O+q^jxZ;>VA69jRUiqe8AizJFe#M()<`z!Ei+CY958A>X ztWB4`Q>)NvYSLj*ruA8|^4O9*<6k}Q(WAQVK`#ClpX$Tl1B#lmC5oJnlbu)66P9M8 za;xnVD;Gt#r$P~z{>AH?^Es~+hA^2;1K8(<$GeEDLdv4dS&762YjSCzrPMu`glqbpFtZB;yj}fxf;FJ(E1VSRhjpixuOZfeo^SkdJN2 zBuxs*#`#=G`39aQe2HE*+H=2*sr9t;9ug;l-{iG*wlA|mxXwiW65aza!#Yr3ZXv@R zo**5=FZ*fKVB{z({(Nuk`?G7c>vKWhbT$2Wy>uy3w%iQD`aJS|Y!vKkvYpAvGX5a{Ka@EIV`*O?ai2& zw@~Yu4zLKgi>Zn5Z8gaAYjyBM!(ixtWn>^D*rzfL%#Adv18Q6{J-sY{<$@;NZ?4`q zZ{Yp_2Ae=JQ0=mRXS#c7&0@WNJ|TlKM_OFyd-lNh#=Sn^&*-yGNvF`R=ng>c`jYrV zB`gSbgo%zY>c|ASAI`KY+1Ov--V}&AJc{mwQG&*u%fK)6ciQG*f#$koJ!l7$?N74F7)7Ll07q5!ri`9m%FAJDHUcA)D-#mA&^UWUmm}iHwj< zGLnppvLmZx#rfX7zxSN;p7WnSc-+r*UHA9;j?b7_85S!MPGnnXG1XSclp-U#g?!#w z_`H+Uv*X0aja<=xL5Nj6QNE8b!Vd!(4=@LwBIKi!l`j`$Qt6$;C(86JuIT@W6Fc~= zbLDG#f)>GSDciVofw6==!M+)(ITtA&wv`bbZhTi{~*s^Yw)z$(|=1KA0|EGjZ)Ce(3| zKl+*963ZLTV9lh2%q@GOG_pOO?X!4Ul%+^Bf3x||VZQeMgL%oXxj{0ANw1oj?h>$F z?^9}fJl}r35+I~|TkkJ)PbCjh;bEBq;L+GI19BqrkKMo=#gNkaxH_4NJ7J}3{4=5- z>3jIgsW5Wq);rSKi+Pfb`qyggzYciqMeoSbX9=Jlcye-Hp~Ixo8T z9c{dM1?@ya+E^Mg_!m!5a+Tk@1+01FgNPI5^JJBttr2sOtQFI6Tp;zVLaq`IO)Igl z;6!9ml<{z>TXlD}i{s+>yQ7~O`ti-)=?N)3AqZ)VYND^Eoytrm#B{tc*ngH3)3$SP zE@3zguV`H>f-I4|REFabn6wNIXEy0t8+{oR?=SQ5tXaB#QUGbL~CT?&nfR zkMvb*Q(syRW~>sm{o8OVWW%4wRW`R#i~-+82j{7Q9-?cGl27_rM8e-$qtL~r?wlW4xVa;&9;(hQ# zJM-yi;K$3N&bPpTF<1))m-_&VIH_kzkM1NIpq2)&+0INy_ssMreK;@5)G*GSU z+HUGIxIN}8fm&H09}j9rQ5MB*?9mO{^RM9l@|o@;ER@^#o-c2LkEbhs&gjcduWfmu zf#7|Va$;C3OlL_;6tUxAjIuY$?KvKqvk2(5nTwuT#H&eYT;@3m*m>(cEXKet& z`3eG;h{eDqDswL73wTylS9HqPRaT}WOZez_X1pzmva__eJU5$1hl2**am21~Of7%% zE%+64;fYHB;EStXgk^sLpX;uUyCJXhbH9QKdJbX+K3H3t&1h!EB0L+9nFwL@Vx!;Eo$Lz0L^bi#0 zPT>F(?SI{ZC7V>{%rrCaORfU)OTCBk8YwbBBz~$MMM=ye+xq@TMS7;kgSE5S5jxYg zz3X{V&XL#Rs7>8}Hnh;N2VDH#9rp$hgEKmRwJafiVcPnNz2|_)_GT1KdmS&G@KIz&$_Qywb0HBcGHLtdjW8$K9L902Z6AHiuhnSuB7 zd|0}nbA(>Dv{MZ84|RZXa*}}8Q2On33-=!8mLSwsb-NKD*ADWrCN=%%!vh!lts`D( zOFjl5o@+kNI;dE`qLKG!zkCzt__DPeVJ59Zlc4#y8v2FI(v7PoBYCHTJl|M@(WZ8ME&P$M5R8J(FE4uz79a0J`AkA!e@UXmj6% z!HDP27chmegSV`N*ZR|o+p&z4C)mUlQr$|XqG^()-xp+r!5!vMM9WnH@GORV?qnDK zg$sTpTx6!Fde@ovQ&O48k?IbFfGvmafZb}x3P$&heP$HbI#^)1ZO%x&P5Lf&c=+SP z(ue-xCZ)Wab5Z;Q`n3Y3dZX)q|BPnI)>aNOg5{4ppc=)=bN`)h7C7It4H2c5p!e=} zLM=!6ZT~^VgXa3l(cT2sp(1t0WuN0wb(uo7D7VdKu}N;FXKc=>;`zsW6QE<61{SV* z;ybDGGxv9oD-@zHndl@o8?m5*{T+~ax$&uEwhEY-}Rkiz+jS*KpN}iCu zFRehXXDKE~VsIj{2gCHL6Q3&ewVmx=A9q4#(o#M`wX%dUWr9^b;3KVn#_;i@5JX3~ zvHAXA+}`#(A!4}8U%-f5?7iZ8-288twr9Zr_mg#1SBy~O7WO|?=2`TUpPjoO(+!WZ?w`ha5yr9ZZH9J$cFyvSx70AMXfLh0$Mdkj_yS^H7N@?kjC zdnM!uIA3qs%u?5=QG_%7Xrb4lDC;G4PZZ7z?Tq%}<7fsu%2vGIV|PF}T7yu%vp&!N z{pFKqe1W*+zLaJu&Z)PSmT*x#q1yMzeOWioa~&9U9+z1G|5l#KLcLAGsy+@#m~V%& zS0aG0tP4&ckK!Z~44~wx0qW2=`_?bi@?St~jcly^<#{vh92G+?)CI-^VGFiZTg@P0 zU$eLI_nh+DQJwiMwHSpS&K8?j`ioO%uP{5xd{b4k>vd*6s1&iAG#lW2vDY*LPHwco z&${*V2u5Bow0-{wfc-y(3eYi5^-43~d#DePz(>;Np3&z>y(i$kHTlrXk*#QT=AHC` zQQ-;Y$i)y@9$3B3Kz)LYn+YpWv|q9~J0hB6t(>fyD$sVX;=zUzT@)^dG9`_$#f+Qu z-(T8q{0&`)@Irkcoh)uFXK1?mrohlH~>YpczS?Abw3{-xqXmuD>3CP-A*?jV4j$pPu~AXU{(p zZgNwvZK>S94?*^zILGAtFHMVsH0^Ym%UbFf0InGgj&Rf3j}Nw!RvZIJP3^u5K*sbE zPUUNSw>zm~m6~_@xI>fpqK3dF@VoooOndu77eLxJDs}4^`Hr3M&h8o5XK)UoEYp(B zeAC+`<-Yy}HZWFo_YU3kB8f@VbU1lybc1UWaC^X_A$ag z{Q4Z~`zJ6_e*@MDqOV4w@UpaWJeVR^qAZA*#raeJr*ZBGz$cR-R1Z>*44=>k=QtVG z)+t}Vt{9wn9@4lR0f?qVH@V)Qetd|7o6~fwn&lj`cB;siUU1S9F_IIc&RaAo+T_(R z%eTZu2yN3xom56mN%xr1qu;Hobm_qGDYc33X8F)g%%y}TTU4QW-eqPTzY}V=;U!0~ zsxlFJQ?QUDN9M-$o{%;Tk*o(K%3Q4hII5+CC$Z#Dx7sQs{hpemD4f>31WEyazB;9n zHGfdlc!B*(fj1Ee=~msKPnJ_YJ4>c43+uUI3r$xVMz(<`As4eljdMwuh{fg3&2kUK zi2hN_mj2puxW>I)+9^o!dQTYlMk+S%x)Cr{7i_A;T?KC1?#`YP;3h8o-Y&{^jubJq zh|RTf5k?Vz6Ef{Ow`}@!_U{U58Nyw;F5d^&U`FUVguW^uo(`l9ZQod!Or_l=8p91e zNBt1Yq?8%#ZS>ISfMAI2Pc=k?zFv|e;3c)Vsp8Z@ZW6wl4}2C8%R#y~#&apo8?VQI zerx^7yp*QTrFOe&tts$@9W+qv$JM7i|AMER4In?1V61}Q7*3@&Mz@ql)pml)U{E+1!wqi-sa{@xdeNqFfmk0Lj&&y;>~;kb3^ z7e%rV(Xx+^2B0&Z+S)5qi#k0(3y}_6V>*siZ#Wr#%MBX{B@sH>?yi4MxZXSKla%!6 z;;9tfWPfsmHCF;z8AQ}c$ke8}Wk#<{2Tz|uCOg&3&+X9t#n?D+6VjjEyXSt-?;Ka4 zla-W5CQ~&=mErjoAS=7|r-KhI`>@!f4${eBxl8ub^~0o`?#FWHpIy0YQ)HX?`xp+M zYo{%%a-)CA2DtON6!1EzoRv}MBz?M{m`h)P@n~OcSawddJo&BDp1$WBWVHcza{kQH z{73+DKCGO= zbM2#WNqMqWgJ<8im8Ts`%4uspJJWtKZq8u`JSTo)E4N15*V|rW^J|FSQu@+dx6ja2 zP3z=V8Ue1RH@xLZ`JK;2hoe0wVZ@nE)}zINb`G(|oYshTGZ415D`!qWN-=PbpaqU4q0d8l(w0`5{3n@S^a-ov95cbf zdPFCGl)F-sk{1Dyx;F>5=b~H$#kqt;?n&&K;2Li>{ea}4dp-D4yq|?WN`9wY4(=OB z6QiM14F;WxTI*SnJ*Z1x-A~VSiJj=@PiN0z(_}*t3-PNhA4|7e8xr>U8zc~Oj~Jh$ zn?1;!v%K^&?dj=LhfQfWRWwC7L_zy_Ea^TtOlE|ZfHi6?1}U;;U7%C;lWww?3Kh^w z7rra0wrZ7e<(to=rMwp)7qF5M)E~UxS9$9cLYAQ%5dBKm0iyrr7Ju_6K5$dFZG zODJbv{r#6no}=!}CE8v?@}E)iEk!nC&Kc9>@uNI-!-ZRARi+>KTE3Lo-LIiC5PlKJpq2s2bzVe%=;NUZ^Mfz#Zm!3<}4-;e6DRwS+aRO z)q{T?G3}^Wc@{y3Ob_xzx&(>Uf+T|uyRh^0?!%#;Cpvw8i~WrnnPhnQ5Pk}2*&d>F zWqbYvm0-eL6O*c=Qsm-rE^|Bjzi@QG_OiIKpFJtBf00_kZlYuA8r7=K%M?lIknb)8!(P z=n_Rp#1!iGrySx|U1zgVxo=lFgoylRJ&QIQX&ugPzXLwb8Ud2}v|*v((%oH5pTS}f z-W!-aJD#wyDJ9E=$wE?NKxg}sJm;eAh=3P<{LE7(4hrQj8+i#u@Qr6k^3*smC1&v%U%6v9B zQ*b=F^G-!<;cX5^Nfg2eVb~p#K_Dz3P9{1MB+CXP;&NK10{0W{1IV~vRozZvC!~|z zv@12?zU|Ro@Iq*0DSuT~lbdbq<@gbqB#y=8*50cJ;2LHSU=^rTfBoMTa{=C*xet0w zUQJLw=_nKckCrdBED50sDJRoq zX3vpZHhU>IrJkl|T{VwHOoPg!M{>=UQlJlmQG(PBPt2}u;}@6<8ay1i@6bF3Ns9$I zoWvPI&hxXT!+?+_@_ct;=gT{ni=tJ>%TK~w|9aIdefR)akfW7+x?PKBw>D>*?K;9q zci#2w9Lc`FAdOr!+3#gz=ODqY%aZb*Tp7;)%11vkmJuS-kI#D#?sU6v9TA_a&HKL$ z6>D>LYaX{8J(Q5SYk8ymxyT3Q%iG)C7Lm_fdO&e$2qETrCzSn0a%a3KNac)+_=Ln^ zhL?SRc`(xs47J>0hST^ql!tGE2NI@hWbta<6B3ln`n&NromKkx?|v@7Cb39SGy6m+ zUE~8#|MGPD3xG>b;Rhguot_x4DinQfRMY?(de+CMV#wfb>9fRsf_WBTW0YqCQ>&Z> zTjwAgC}6afkKqDHD$iHOmK(<4f5k_B420`4U^j{YQ+1ibs6dHy_LtyYdI;4quXL+e zM0h{PTz~!{!+Nimvt-SFVVt>w+~UTLVQz!?oPW>94}q-Pw+rwBcZ|&2%xuG{p`y6g zrS7yvpk(+SQ2T>3ey6^r_urJ?s{aE2XO4s|mcd)U3^bG!H`5hLGM2N1?$>g~GO*2m zddmF)zLWK(UCYi$<$9&c^a71TQbjrwpaA$(p3R#f#$`5U(S1wk6NT6uZ@fsicV0>a zf9=LZ35s_gD8-;iiZS*t_N`Kg75*{&{?S+QQ(6257ALFTL@|pS38jWh1gE7y!Rk-z zAD&i0vJesEaAduU-jrhZfIggHBUrk`1Q!A^wPwn`k(ax=%^Pf@Jd5UldD!%~jyl5N zx`PP!1Idw^M33o_Lip64v7+qfPx-T(Z1L;OMJP~S#thQ{HN%r6b2EgV6hyrdU*Kgz z!DxpJMS#$&mv+_MATkWvZ4-zKZTLy|WG~QzCA$40PZfBw{p{V_2`#{t`ECi>wzaa@ zRyU)|Kwz>W%g3iZcUuJhtPH=OdHkK^h;-mzoMM1D)v9jdPBI5dD{jM~Kvs9un>&~; zyhX(g)u#g9Hi$G#K&$NgKrpB5a~9G>_ryKp&pb7zu@MW=3v@M(Cb3IIHGHV5M-vMM zoHzB&vyf>bZA63)ay`um*XoP*r`;sHxbVf_h?!Iep_zN0B{VP>Aj##Gq z$d&LcZE(oxp?H2RnkMV!d9e;iWTg=g9fd;oaOJ3w&5O_D&(mwk?7A#3Ei}A*AXVg8 z({nf1Wec?7CZXBQd0L817{SFdi6XCzW%;L3JWNjQ0Lb20$0y{+iuWDvZP;2pxhg*h zj$u<^Gn-Jy%n~qd;Mc78F^iNwt1_tNM4a>H5vgKo^PdN?9JjT&@DTNd#AvNKJ!Ana zn4lP<-YwQlrKX;T%FE4?j}0$wS`S!cZ=jQf&yZdGT6clu{psp_nD+HO{&xeHrwtn2 zW0!2=q_jLX{EZ?8{z4w?&hCtCml**ZxHQ2y8hJEcflE&KFBnRGcebi>oImFWZ4?3; zPL*O=kkh8PVwr7Mx7lJ*qM}RKfOTVhM+nnB%sMcSGq;kntTsk0&ep$0@z;UIlZE_~H)iw2?jioO zux~q4(Zw=^ivDJW3m?6pE%*ow%77pM= ziI{(siF5~zknZ4*fnp;(Ce6yUN$k_o_&E{9IQ_F1Q7=cXKwa#ozD? z4S%lLe*OY-1>a6MhPh0RFqk$TS;wyA=!^x^@02{*k1;DqUEMy9c2Z7 zNqykY)V!JT>Q6I&>%L(FK7jcfQL|css8?izdsZJP`5&yKwYee!CFlLfuP{Vxho9So zwk~n0@0D;0&(mGuJD%4Jawp5%rCs#J4i2*#M2T{oPm4GFkpKF7wpdh{J`j~%p&@4QdWTu_lvuD`3b+Dn$0RQ`C@o0 zi{TwaOGv8N^+Sg}M!$ zd)Wt>8Sv%^Ur5$!Hc5V<$R7SlaapV5<-J$WOJ8l*io}P@*>rxp^l(z`Yn@$sX~nY1 z^88uS5M2uX2h;2k_(DC;!sz85#hr^&V6!~}>$;67ewJ%XFYIXCOyKIxL-HtS zwGX&a)+4TwnI*SiVs)=fcYY~AOR4D@pWzw{v$FO)X*tXzrH5W~4jbeaBHC)C^#Ag+ z8YI}29elFNlk+cbMXeFI5LXmXg0AV+H`%xKAAY%~Gv{N$a5BCOq_>)XZ8A zlsLnzOo11rEW}xj(TGwY!m>tKx$t`*erHt+K^E2GZQe-k)%rr{kq3A)F0N@nkE)c9 zouK48SXN_gXIq+C2cJ;%eMfZq%E2KXdDxrqu)9llSPvQTD3lnknuR08W4_DF5W|-# zzrq`fT#Lclp)9fru052&&#lytGk~J`?dqQ+^BH(mZFPP^%^+R`=TDl8#O% z+sIOQad7X!Sj-yi12fz}(+M3G*T@r{Lqdl)eFh;yj~ZjE8!m7q$+209FM=%LYw)C# zIOS&1W=8@t0}_z07wJjl0kimvp~u%nGM~JvdT3maw8UF%nC&~xVKxzIT*PT!@$J#C z)ug(k?`1WES9gM%VV)!{r(%eVkCF749Z&vsf(WXZKm76vxMvE{WmkY8TO;7k4Z8q+ zi4JRB=uM(0EixD>OnI;-4FZ5t=Ej;nw2W2I#+|xL5|4bbG~|mdHCc2PKLIsS%N>yL zQ_rX)ib4I}0+1pZ3RG|$fCybFA4Mq^IQTb-D0fIyGgfqoyzSpP6M}%$H{khUUy}qJ z+w7Zv-z(M357qp5oA_>*x~CRFxX5aPB108O?#(`30fjo9M0=6o0nKNtaWW^4?9cvP zQXI&dh*eNay+oifj>ln)PriU)UD~ke*ql}nj(kapOvJ<%2)R|lgh$GnN*YS}GHeJD zP(>@)H)w2hVZ(pHDSCP$rg4Eq&cD4CWP9pJLqD?gVA%nah{dt{d~Mvol)q^!FiJew zkzF4;_X}hb-yX&3-A69nC8Pt{;F7M%I@RLac5s^jH4$7aF;Ch` zu@91u6VnYYuRwOfI)E@y(fZk0hR3aA?`?;20{T0AfusEvtzdJ>3(L|A9UXlzJ!bjI zO(Wh#HL3QJkkYgudg$f_sf7{h_>8AqjZJPR#Z%#%WY6WU&XdQSy&Q3!TUwtj?*~_L z=9QvdM{>EWD_6^s6r5{y2 zv!EhO=~8dq8Y$7{oHC7*A{)E=nibY01I|S!VUC)*G@h9m$U3#KUR%B5jTH|^M#3=E zT%b#aEqwfb`ev?GIL`cDmhvi$TSX{Wp!$-&5{U141P%R-yeK{u>EZ(eAe<4_fs?cZ z2v!>U%FtEo{Sr*4e>@lPvkV#1@*bLXR2Vc={{=XJTLJEe0c~|D^JM>syFKRaK!;yc z2G|6U};Ii6q1&B`gpEkQWYEPr6n%ngp1_BxWI41Z~*ed=#9 zwt1k3t>SrWNt;YRw>5=&Zr4rO3-x>l{mG23CHQ~+cI3_q%xj37@|gC5u6ht|F4CkZ z^E*9}NV_7I6_P41`b+XKl7na`hy$gqRj{Zxrx~pE;mA6=99k?r9b@pj+kBvh~ zXqSZLRw>a$_(8*4Id^k(9qJ_&Fqef1o4jdwC}oeIUb+RS&vj@XxJTuscvwU2t;X7h zU9;w3QW5?2eHJxr67XB~Y1Rcba9^4}Wx5(KOli6{HGih-;a8yaTTa55BCQz$YWZxF zsWY#V?iWG5ylco9dvt+<4Z~CZ7oz2og?tz)kjk`cAvIgzg(c9HXha^Z1X2wR?S~i( z${^yALKnO4_a};BX$kJlcckC%imOZZsLi#i0W*sP?~2^jMwoLMzC7C_9UN0oxNp*X zmiwzZp`j7_SO!AlTUwtO+3r~S%+Rn-@vrT8;R+;vRH}NZo zeEV;h(Jdc$S_#Q)4`zbIi;y*f=_yBP-iW$BN$sp`@-0%tlVgcjsU1dOD@0e1B8&rY z&!04nL%1lvkIC!EaN=L!Oicw+;qnsN=!$B^{PB5aYm~0zsX%x96g*bgG{+3>cZb3)qEGUU7Yu@qFnaqF{yuo6;Y(q|CXRszo2Z(m4jV>5Ec<_-FebJ8MV zRyX``TfS!DV0B2Op^b?PyfvD806za9$b+v=RhNL8gPm^be~K zAmH?EM9x^Pi$Y1bC`>BY3yK%M!1xoB7JM1J3)tJ^f*$ucq56r(z$qld%coJM#4A9{ zO6&jupZy1!;F}+$GCrY0_K%;a04LLf=R`Ht!x6)&!mA%BKef=olH_Z3h_e%9qTfLg z?((<^d?Y$qC6TH0>G876J;=#2w;mcq6XId)4$lo1-aaJB#U3kE3M3_7VU~GUqU69J z@OJHGX~yQACv50%=hLvJp~@H`-Z7&6^GO1;%&9LuZxnBh?x=Rmg%gTuoxW8%D*q0B zhj0?8+P^rC>Rra-7;&HpqnyOwf7II-{E@JGr9u`*nP4sLXorlahcJq5`DQy4%Y(LA zD?-Z4q>j*x74zr1;f{xES<=2-QA3ao4ieG~LUUjTf>L*SY8DcxuqVg_FE*k}ZY74qgaHd8V@nF+4--vSrw7I;ph+i&z$BrG@_kJ@?i~2)_K7Yn2Skga@w#3%I|+6bQS(EG(x@I+%UlWIh`-!FOM? zxMrzNi&Ez+w@WIC<2jhTHwr7}i{)%5F0zOX`662_AeJCR{4J;s_Z7j!M+kO5^3H4@ z1PtYn2FZE`R!{{K1`eP>oh;7q&kZk!?WVu%uXerZN(UWg`PsPj@Fs^Pr} zecJ(p9U+JEM~CnR|6tOwOKMEo`!vkM3vD}-JH%})oEP=Rm0!uejDL*U30l42LoDPH z#{KkW!Ic&_2IliRSI%y*qYTu3ZVx06Uc`$)@NQL)U%qBz_PbS`dU#y_Ygp4)^kZrWtvBA&UOdOI8#^IXNF9Jm$#e{aWBpn?JC`(Ukqb|0pC-B<%eqsGB92W$;Ce!Sav8~t{cG0_lQfYCFdld1LTuC%PrJTSUt@yUs)EGU%hPXlSun=TY@1|iU-pS}o#N2} zx}>ej8BDmxeFDn~D?*wrs`~>8&rN@?ja9j;FB3u&Tmv=@Puyu@#*UIlSPuxb!7&!4 zkey7NkLqG%$CLX`8ZW!#$|6Omt5kqVh~S7mx`SlQ?tnLZYPg%}lwW8@GOW!u$#yl? zidQ8OF!MLi@lOILW8^%rFT;!3q_8X@#cfCvwD21fZW;2XuOo$I(}Gn_E{Iamn6lJtWwrBMm6H z&qU2L`2mt}VRoGOznNqzY{5^F{qjXVVK&2ZEWFniHJta1j{38n0Y404brfDa`Fp4r zBLCvTGpkl)QqcwXW6wqQV6N-I4h*|UC0BF~&*lu7tKgI4#}YrvYP8%94V9pSdkPJ} z#q0(R^~7kLD0=37o>nW-;(SC+w1G@=;YvHR9vKe`R81Wyrb5Bp9veRSV<d-tYq zmn*s;tNjDO!Ytdhqzg>x-oAjtScR0=67J$cIcUt+kTX|vcM%!9YCG*^kj?Qbzr=4A zr30lfo_PDfhRBI3#qF*)5mfrh!RuaqMkuCl!_au;VZ_snR_%y5) zvabw+j{CKiAG0!V)jI};T6q>k1r8*BVy*<~p5^49A4qoPlDVp3BA}ndaoc(Mtn+%x zi1II5JFebacdrY%{fR1PLmh`g5<6=l_g9%4Z+|=f^345DP~@8{pEcn}7C|+X_Zgn;SxJ2*~ zI6*yaozX-3wtqQuu*eIxhm@qvE)@x!7~ER@cpfFH1UrU9$iZUpGXIPUarTk%0 z)UN;N(|t;2*v>v_A|z6))+8|DnZ0`yYx)^Vwo&sd_sT9kQ`+|BAjG9WB(q5vrKdre zH&yxOs4nvKWbpJ{xTEt}CViCS0LNs^AGlp6d_yx}JTv0E_u!NEfV#>v9_y+W0Uhkl zLr+pveD+)q$qgc36OlqW%@vQcj6ROF@%VfDNE;FvQ1_?sU#O+zt0d2fCB|h$P|5kd z8alx^lZ<`G!DJPnIz;_E;TTQ!Lir@_;OeFz!;Q$$jNuu;wi?n)`Q$=Fw3*miMd!)o zceBjU822cV8G49}PI~MiP*r=MT=QbaP~ztOiWOVBq%);SCWd#1h{>g~@4H-VS}X-# z8UlBEF<92cj`}9+PZJB-_={WVvR*{W^XSKmPF$m-Fm`KKA0kD1F~X2sQ%g0|WMIPS zar5T4Y61n6h!l;t=Gs2zD_+oHK;Y9M**UDpzqf*af7Q$DnkX|y0*_6vaD4zIE7!;@ zRfrVkKql4ciKEpi(#-fb={f^HEJWe_{;MQ|JCV2$hx409`J*FDwx@1i|H@VjpNGNY z2rNv8Uk~sh)vY#*n6Li}eebsq`x3X%7`KTgPnVR_XtNSz>=%p_dARTckz5W;Dnvkw zG3BWtyMOylw|?F?U%)+Kea8sFxM1+$s23g~ABso14;{8>G8v>p44|LM*VEt9M zt*Q{+|DxVRs7?@10nnH2EwscOe9B~o&kgfe4Sq`npC69K-I4qa8bU~~QdlIB4mDY4 zXZtB3L&WYm6SQ(+i4f#P`VDyAa17H$T+$G^ekqV`AV4lcURz{{1#hI~ zq2o1aSc5!SxI2g{U5hb2?kLF3O*f|AcyvZ1W!i@07f?7@2T8|T=)aG!n| z=gJR1VlLugB7pNa<#&2CTRhm`5#)4IRJjWXrdLV{ENP;0G0N~Hmmt7Jl8R<>psFw8 zsw`_1X|THv6k2SNRayM_o8tr{K@5z*c)n7@^UKA^LRUQI7iz))yA05BkHHf_*H+)+ zYhbfE=N1SXk`@EU(c)u;0w*dl5V;3zVX>+}73~ASbpi_v-fzZeNf$$jJSeF|k3}Z- zpe=!X`~~>aK(FXE-e zw!+tY1vuov-bPSlPLrO_>{>3gg!yyW@6}Px(ysD0C|xkraO@N23-V!)&_S(mBF#WY zr;gF@Sg^D@)epwW(4=NfhpY{tqeg#1k%uy-LRL{5Sw$hd2h3Jio06)T?j!z6wFm%M z>=1!~WANsYL*)ynK-K`Qk?shj1GT89yzH*X%L*ge3tIQOad7B7mE~^SDc20s_#elx zopc|Ta07a7h(_?o(DU@qxAy*iW?H2Nz@u?R%i+t{)}vhxU$y<>dZkyRuu6T^Gw+%RGlmnsuM=MJXox>XARprjVYdv# zUPJ&P7afXvHMTZZx&fWuz7;1J68@hg{t=v=ldx9kX8lZzP5esFSg1-7ZU#5yI%um` z16JS~d04R^q)_opur_3r=nxnf8&H!wntOnTdUL<$!ZeMjV-Bk*y3otM<-lSJu&gd|e-~4X)^ltz-R)Oa>Yu*zIcZ@zaS@d~Yk+RC0zy09*R@1?K!1E3l$&Rd0OghNr z#L6r;CC>tdz-xSB$}iB<+dQt{d6vzb%c&X3d%w=L!v-nWgA=X>1ZNlA&RN+(hWila z?}2rfHwbG?3u4O44I33kV({V+gDZMa2Hped#tE_I3~~=|8zfu}0J@#KW?3hn9MAg3 z90*a@Mv!xgzq$j{I@Yx_)))917RZX2`)*YtYJqus1Q!_Ag|*QI(c#i-xX5&<&T$^A zSSuOx8Lr^Z&0G`wW@%?@bedp#lHL=H`7c$;S1bgi38=u@!obcjlD_d(hgRh-bc;Q3A5<{BNLD+!+G=i1b%5dHwv(&#w_w zP`}yS;zV9~dL-@amb6XAGA*L#IPZccxuRp%<8KkzifqQVz-hz|OvGhL6@jD!47~I8 zqIDgUb}ouohHvK%Gm>^ZF@zF;`_~~p{T2+sC#fwn=GS-uGayx7=UNSiZvyFzx)0PS zTt(Dnl1B~gU9L^l{g=KeEajJzRz zGv&}NaN39FBV8`gL@EqTR$=r#0j^_KX9&*qjCZfWtk%<;}BuGr}+({5}{HdR4e-<0)n#gP6#pxL!Ei?;0% z<4g1&)1*ReEcyvFQC1ylVvEVi-;0QmSg8u15-8@d_8NmehbNl({ZZ`ZCnyuL9p145 zG`h1N*vmj|5}=i(TUiMe)MJ0qBmioL=e(Wd$;`2ACJQ4f6j0rCPTR z#E#tR=1nFIPP#M}avZghFMITMjod_iGZo z4U?&Yrp~Xm9IY{SyN<4#J7KQeS%>^uZ1;;)_vt;G<8Io*L3(XCqEQz-8h ziZGPKT~{#U`)>b^NeFUGKD<%jMva8xOcufT;PV(68;bxMtB($!g~<8}q~&g`R3CCd zW}ptY!%nYUF)fyf79$Ga8JMxQRD%7HF0kKyWfl-*O$!1+|Kof2ENtP{e=!g*{8m6x zHHyG;m<*Sato(^yDF|(q3{R4z{>}~o8y#Q;9~?=*OV152;WXOy=kx^PKc<5%0_zv2 zHz{QVTdOP{l%8+42$9kel874+ZfI&<%iyFtvC6tKUMBbYwKAWF|Mv={v8B6I`Hrvu zYtwk)kPfrF_zq7KPK&E*f9C9YS9Vt5jwenxclaq$<$wU32^fr9%RU~|#%Qhxa zNAHv3+Tb(5e8U~|peJFPvDnC0uK&94X*aVU6@LDIo*T(ECif@{-?6%aEp%l2vDlc>oTkdL)YA`|dkBz7H(eMX1)^OJr7?Ex6qel@pe1pIWx z;o~l9OI_eS+QGb~Wi3SLgloVl^zGJqo)_(*|`?c|k&8Y3az?$KcIzuDU z_Y>g^L$QbyOT;$fipaIYtWl&!&#nC;+IOdylh9TuD-_YrhUVDo`7n8s|70ta@Pa(N zaeEmSHeLY5h4Z!A{MM{!vi7_9YH1_i-*?-)ibLU}d!&)q(P8k~Lxlgx^{okfdedPp zvg@mo65rem!@P2Xc(~ zQut_dwom&AK`1aZk#qxwRruLzl(0UU=vv$H!2=U;?)n0?OIoo-zD*IhJBc_iC@uTJ zJP^6$fh~Mba%I&3c8x5w6=opoFk^d-dxoGMuYWZjQm6?aSy@41cDsAg?cd%)VqbRd zxhjb~8bu!fsq_Rff0Hp(J01xkCCNzD1iZ~h&;%0RG5)V)d>dKI3tj+=My_yxRr%GE ziNj2$3LK%ha_y)-e}QmsU~vF<vCm>Fu0yxlZ+c=!AB{n2L(EY?BV@8S0gklu9djS6D8*)%TUfi-HG zMDV~`Zz3YZi`bmq2ZdL9K!fzYjh?&+``Zu4xv!dV+%ZHp9v_Xz^0h1#_9@`+3)&l;_{q_pYH};0M;H!a{q7pjX zCqX*<&B*P#Ic>XuWx}8}(9g+41I2r|rILc{UUebI`v0m*(Wsu= z*Q`g_j$qnErjPc5GSVGJt@Z00@{tsTD9W`0So}7mez~+;@PH_wOu-m1BKMlT+!_J4 zcrLp{P8q5RWJtURUxo9fGBSqs$2h{{tSZ2^wd$bD^lG}E{Qa%-=Md7mX^Cq@!^Ri6 z?+wI?enYeF9wI83GdE?tXFWG*MIJetBGcUIQb6)cG~b-w1Gi0p@AmPXe%B>Z+l2ck zHW{5OU~* z#2=alj1m!^RSY6+3>~n|X<|;dnPJuW<%I+ev@+M_-lMd4(1m%PEZsG-0xIhsBQHa2 zzU(|v2qLIrt+)r>ppD}ESm(_q0k^(c?q}3PVpt|!SRZ`bmQVMY=V(y~BM%s@Qz1&c z;B-NXt`%h{*_yE(dua}chen64__EkCK$ucd#aRVjoUDcvx{*vaw}TjuAQxn-nd8Nf zy&p8N0pvpoT7%IMDohdcK8imqXAVJ>m`E=H;H$TvnIOo+L`OfNoEVk{174)P(7;5A4|uMYT$hFrJ(JkYE(6cJR<=8hV& zNvLAT05HD|g#Bu$XC-R#6zkQ*SJ}8>gVw2r(~!3WxmuEMmP1l<%Hp4N0L`3b^hIK6 zO&?L$Y$!93J6!Rlz%D{ShhVhY!?VBpT*9M#cRB9?d>XLgI&i^J2Uoz95~lBy zV6SOflpiv+ zGm{no?_}~{wBS;%#31dG7zU}y=5Q@|A6|TY{5?j&n)%=nzAfL_)c?l)kl{5l`5$Zo z{>ClA578ktg!)JAexbami#=s6fZ9o1p7Uy%xI*s&peCzVhmgccNea$sNw?ul8{S2mT}EP` z_%@9@;KVLtHadY}`fWfS>e_dA%MHY8&b}Jn2*xR4;CgsF;E~o14K~`qOp=HPZrmW5 z4!6Z(n4Sh>uq+JMqj6f)>2xL{UT96s+1BNGv z!xi{YTEVcRk^Y~}5!t2vwbF_VqcN!GO%U6;*ABDN6DfC&aIyYm3P5sp6|4IRg87Oa z9#eL2aAIT)Fa9^lq;Q5Ppc0L_sPsGpMo<&rtY!ynP;xCS6VJas&u%}&@Py{=E?U0L zG^CN=fnaVPtB&PilrH1#PvoT4BPt6-KwRNE7XSi`lZ8vg51QZhPrieW$3^$Z6C}|| zh65u{n0lTH?+MlzvJ?crJ_U^P4WRDsYL9=S%4V%}UDZmtQwQx+K5ZXJW_)K%-PF-2 zVt56NKcskZqnt@~p;d*T1o`wa+0X9~l3H8!X8{&3lWziCsu3CZL<{FUrX9c`lj|Hs zSh12K`R2#Zxi`-iN$r>cT;F}{t`2+NLHLv|06NCX4X5O(_I`}>f7^AakR;tJ8&{U2jliRRMfw^w zeD9!8NyuUeDbnG*Wfz;gq-T!*jl{FRyi7QO;j++zM?m*`fLwa<>S!3lQ>!RCN8X0e z^=-kaNl2L<@G<457$)I6h`Ghl5qO|f0WG#ZQ5p=|UZ4CuT8PBbU~fAhExHqmBmRW6fV2AwmaI@eyqf^1vFVTTiZ}4HR0Li@S zwdy!lvpmIJZGewH6X_wuH(?RvZc#!)E+lh$(8JgOcKlT|=@TtPl!EmRrikX6%@?T3 zH+Gbfwt3oKDmnT)y!Y!%_}$x%@K@s3>wvP*@HXCR(JI}EeYAt7_jWZ@Na9A)D%?m8 z_&=V1uF(YwDcVIxCcM=|B|^$c24PJE+t@$0NXmikf+86KS?`V9;upi>Z?|W!L;h0> zZmQi0DN2O*YV96(YzC973DiE!(s-BfL>fpc$40S$r`pQjjMXDe93_hM4d z#Qm(gdyEJo3UIDJ=dV;s5w@HBWd8RfZBu;t31rtyD{w0CeF?@+%WmS_zOcl8wXVqJ z1`s?w$%94EF(d_%X2tPxN~A9aL0SGjTuew-=xFigs(IhKa7BVuWu9FS-WNdGsIh(h zWd@nS;G1aYt4Q&Wj9y}mHOB>iiPowuFwuh79Fn;S&W2gF7gI&tTdy5ei)zSxtd8;s zXMHY<^gFka@sv!c%?)$`1#Y+;G$+mlIsys2@YiH6RaB_)d}FW}Mu>5e=QxvzkD)Ek zFxC@NFnU~8@hZhQ27s&|y}hM?g-3cns(Qn5Xy!5KKoK;;VTkFGR{8{x^Y>&thbM@% z&+W=B`uDDpl*A8H_?QDh>g$3ljoAP92&%V4jZGi4`*9kQU2Y2$H3>vOdaSqi<8Guf ziRPmEX}f`3ZwBHNVHW{8jNssE^?eT^<1WcLLly0NDo&7^~)n_xW1xcZ? zRQS2k!@)B0x3FO@2R368V5HwOrdFrm>R{Lvo^uH0h(7dReaS55@zY>=;iJT)=Kr%0 zbOHaG)GhlDQ{HeHdR8{cI$HnWgB>eDS}+9{?}QnNND&-AYdXFo3IRw zlcLv|5%y{DNk;mAI>D)EDY_33kNhlOewV0~FV(4VUr1yt&22x;vpa(gI3*uWmHSBA z*7LfjR*iyLZ5`GQMCot%bUC(iZlG3a9nZ}IiGtO@s*@;^#cW0(z?nyHwGGEPY}ZHp z3}q@~IJ@b;N$e#kX~=@|^-1wA%j3Kn0T;lNs!c%J6U`R{UU|0p+)9FJPF51 z(ug3*Av=`n-Hyz1$Gtu9)@e}n@WPVJJzz1Mivt8A6dK$P4>{3xl% z*84SDnU82yyKPx6ue7e39-`o*cV~o8WLf>ih`XJfsZ81v*%$&;*>wR*DByFj#mJhM z)JlkKVFZ#wIqAM+XO5>t^^D1Z?4(WVG+V??9C8*y1;jp7HQeglsHU!j6KkI}p*H&h zk>Az6g@RGJG%&i5VxB`9{l{0y*TOL2XK?cfOKcUT#8j&0xcDL%anZKL2T!%6MT^hs zZMii<8E3eKYhj^6iNrc3N#yqGzQaotP|GCS!a?Sm_ykAMQHul`3t_E0i~X;lm@Yrh za{ee@-Z|#qUm%q1-nP51{{4j)>LVwy3+1qr9F0mfRRF~HaZ-E!PSkK9fT17m;pHU| z2T(vu{3%P08#Qyh3W}>h)mfbgo8*k6t?#w+*_YBV)oyK{Iy&*-pU=YatjVVm!8y3@}S$)!(<> z_W0fvvjJ9=Zv1PDB|a+pFD#0p%AvX}rWS>IN5|WFb)@hf6vrt?(XMn*syQ4=lrX>t zR+7V}y=8{=bVMHm3lW({D%STrP`iOZNT=BO?Vy@wH3*|~4j)p%#e<|P&KIsddp-{J zto2A^R*HVoD^12(L0Q;meqygb#}eRl zzVX5q?xu|i2bpf~DqVg0Ea=MZ>C-cTW9H|-?*(?THQy9|nZD@D8Q@y*JKZ0v-Y=a0 zvv1Y}jwPB?TpX7H8^x)>QReP{kE}p*LkB>EOfyynxwkq1&tG>JKEln*Hy^klBlq>S zwWrG+fL_1b*#h)v-MRlKssrD(o(CR1(p3K5`hE4i!b|QK)Es*Z4p#zg04^C2G6qgY z-0Adq*gb9jgNnYDB2KN(-T}|+nL1N{$M&_rj_e~RU?A)L08bEXRB~7%6D1cnVJ)zc zs{B3wef4|UMa+t)`bCc3Vt>B}*i?8Tv?buvHehoo3OEOHc;AQqTfm8evS0Cg{$BVA z%u~RVhJlOzji*a>3Y^GdQOK;^8uF*N(rAiFYu3RNX`o%HzyU7Mxf>}9R+#~ZUx5Q4 zprPJ1pqZl8%j27Yr}P2&jKJ}!Nuaq3qkz!aFo70_Fi^+j>gDwZfn!PvEWpGnz;x2# a!G8ubjr!Np?u7;nK;Y@>=d#Wzp$PzBb6MR0 literal 0 HcmV?d00001 diff --git a/docs/static/img/examples/example_shortest_path_weighted.png b/docs/static/img/examples/example_shortest_path_weighted.png new file mode 100644 index 0000000000000000000000000000000000000000..62dcc8666d53ec5670370ecb8f974ac4181999e5 GIT binary patch literal 56731 zcmYg%byQVf)GgozE~Rt}+)H;i(%s$Njevr5cXy+NgrKB^ASK9$HSet_!V@SWLUD$=$(?| zt5lPMmE;Iua)Z;7GqO%xgi7?xGn{IK54%lwfB#8*2w1)R5is@a65Hk3l;2^{QNW~l zK*;6!PnY+feHz$JT3qpnF`>kV!rwsu z`&i=!Ux}gVX6XFCYvm*{vRjbldSoE?w`UqkFSA(ml$CQhKL6CKP$hff{YHryC0ZsIzwz-uI(UdR00<==yu&*IxEgZ&4a$WZ)RQoR=9uTN2G z4C=C}gRi8nnse^{RlW{RUk!P9#vFIEU)TNPGtGcm$DfvEpREMsfXko0IYE~{4On!m zEXDr}tY)zqO#UvqsfVX}K)%&kaPEJ5&-*>(;h)9zpVn1X>dkQI;?amWOd;gq&bNea z1fPjmJa|-H^p9<9PDUs_KL5Y&r@lY5e(jHZDDqwLD_HgY`O;wB+H`Hnd+OO8TXq*K z4kXj^Epqk>ISz!F!<6ZD;AtG2d8eWNd*hEdaW`P0t<1J>m9tuC1+ic06KvlWtBTr% z*sMi{(mS{2N@C9WpLD+txnIN;S2?}f5@y{V&03BQlRZ@;Tm(JI^0|tEIXZ z_X;;7P+OkxcB?PZf8M1Jz650YP2m0YZlm=8=Jig22POx@c3s!asOmR; znghLey4?LEPK_T78%m8b7gjf7tdCV(`4e5f)h-U=prnrvlqTM^?&#jiz>MQaEBM&;uX@xA33^kAy>J|A;tUz&qB6g zr$n-vXXv|Ng)Y1vNwAg3JIQ4*keX zry*emqMA?md|F0EJAciNpijhZlrVxbk|+taMz=o7wJ7j(WbjCpo)T(FJfxcV8ur?; zgqY2cM#x;J&NMf!{lHf|!jDiAr_yrBnnOYKAC5RD3sdt-$J|30T1=GCB$YS0=aRmaMZWiB%!Cnk`~vX*@2ilJ@PJ z<1bHe@@{rtha^hC=tj+R2R(K5wIJcqNa8`wHoH+iL?siAOrfrxC(jPJQL-#i-=hxl zNnAx?QwnLC`|r_Pk*I$5zt}2G;7IrRv$O}Hsuw^$dCKpc3G0P2^s5(%jQH&qk<=GP z3yP}B=DN&iN>v?a$oyRi@DTpHVDr}f=O=r7k^8I7mz4&uYK*)&tOb5{f|2l3E*`ffJ{zCk(??doW0ZI72s!UrrgK~YiJ}utVljJtR zpD!|03x#HKv;6-aI2AtCD-A&Y-n3pPXzB0f}@4GErz0)dok?;;&eZ(1fHom{rvP1*Rv?@ zZyy$CqV9DwS2Z3@WDk9gsr4=Mv~x*AVg#;s+N0IG4t;%wsbbH10 zjOXztWnW$Iz82(cKWH2)H)(b6`p3o6J8JgSWfbnU8gw}V>X?(l-R-U2~gfH-JKq4if}Jhri7C;bFoqs*10E|}`4?S%A( z?XrRuPNE}3qT;bOrKQkNq;+Vl)0g%bEgB;T(o-(WPz-+QHyT}=HdUnnj`YfgHW_-f zZxj1nZ|6+(QBU|UHrjco8_^pIhw-n(i68eo^4cx(&0o-W6;8>J^o%tt#l!8c#Pa79T-=3aP;8v5^=kAd8NDg5XJ+5b(70o%XS+j*)n~3S6Q7Fe zulVn?6C9!9ZxF(%c-zE5#XOx9J<5F!mHnila2&JobStGN$iVDnmeIg<5E5&RVjuqb z-kgGa+j{hic-+{4-H8GR=+{Mu*KW6>3vj9zB}p^phF3xZi{GHn{d-YK2xXIZyKLRK zf7!jvkg#rjd9W~(8}DkdDTqSVvDf6jvi|iM+mBy$R}J_JBoc!!`j*S#hUS?$+$o`N z4oHi+ZK91{ti_OKe_4msD%+v~H5 z6A`ziX71#R7lHbWKRbL$VyPo^%H)$eU+JYeO&i7e>Js)^uWeb{LE*v3Tdy}^%2_NQ zCq!eZ2cHqK=%%uMXzQcgC^$rtA4W>14KL)b&SW)EpB5<9`UDbUkc1Eg{z{p`6Qj@m zACDk)!w7S}p~WhNTWrCOzCBq#eXHs+@VIL7!edK> zHzn6>Q5rVh*q=r|5cCPy`*d1uoF)W{oJB`4`we=q>umgTF!{o!DB3F};ac;8Q9U>D z(~CXp<`_y3-6ngrGmmC+N8;sH507LqY0Q0E^$hslOthoUH$tZnmH8HieAc~?b74MZ z{prRA&BlC&;MN`G8{&KdzU^ka@gL^|41Q3$JG=*lalLY-RGXWV?HmjDaj73M6^AX$ z?!5P+Y|KjJc7im5)R1T2bcegkj&a zLM5efA#36FmFXG-PT}jV47GqJayIdq@^EC&uR;|pUuTr#UaiHT3XF`ZNU9T?Koh!j zjlE{+QdkW>@V%t+@v>W{5+S}Waa$aow<`3NthtUZ^U#CB2A@L+~hq<`F*n=|pjsS6YVGp93xhf@yFC(bVCgo4KQOvcWXZRWWm4;X;Y&lAacn ze`$)dzMJp)HNyD%hy8c#i-9+XbmqZdsdu#ak|A`@0EWEtcauMAAYU5EV5Cs9UO)}k zNaTn`cFVy)bz{j8S<>xSqwW>_mGAO_JEMVquUU}68SY#OKSaRvyK)4m$&dv79*&bG zcCV_8M146$68T-&L&J1Qx0L(w=BAj=ipQ8#mr_Aj(#Si|N$e=X`y$`4(<8Ah9dzH{ zj76qdouDW&EAOjHm~;n!Zhs;nPi%y%qxzw<+j=0rg4(*z0cJmhtVq1;H9Le!p~6HR zoSVqVCdM_P&3PrjjW)gNC)l>IX~}gIj++0qKiF+~cQAXNKx{!*_VS2Ue}<=D5^8km<63=S2+y*7U=IYRH&pWsq3wm zyGEpVnkBa(S5*V1J<`h$^M2W33BA}Mbo*Nq*Uzyxu7tST)|*FqqHLIBPL_y7mjgY~ z?B!H4EupFW4cxeA>S)Efkc8xMB-Cmeb`gF^LKx{PQ?tn02&A9R4&y6m3ll}C=BR46 zA|8tj>tQu792fUvJP98_+KaM?sTmh?FBQWcUvr(v-m6&uey8e{Y9hcbJHQ$DS7SLU zv0g~BMyB7drpS9vfyTZWc9Y!XM*ok!;e+FDDiM_MKI;4_6p~NF@QRQ2cCannhwKOU zenXp-sQmy(X|dl9+1wMi0LFT{$e2@2fg6FyV(}a%IXt!iiAyP2m`rXP-Y}kBWyqo@ zl66E2_N?MH=@YQ^zvdh}NPQ2I1r*6&KEi8;V695{5G;|ZZ=t`ZW$2a-5h-v;K;Py} zv~2&Ql9@H})DaC<1MSc1o=J|nZhp*$l=wwmkf61VZlw~!s+grhxRp%)^HRwz|yGNUc&&HQCFS^8}9zY`z7}GiZecD}0?3V-E4;ofSVna4z-$m*9y%b!6 z=J~Cn?xM&(XHVGq2*XtAO>KrH{f&XKjwpmhOUV0c`zs~>Y|F07@u+qpI&UxE&8tKD z-bNwNZCV#}N?TUb{=m_8n(LePaE!sVgW9%$lwbn6xJH3YA9J+{8)OIfZO&V+zZs*! zLGG0*)TmrqS{YN$)ytWC9j(XDYL6xdB{k;KPpX|al#^bd5yW1rMr$oab5W_spHQ<1 zy2vuRlX_=}AyYq{DuwobAxo%6@Alb`LN^CSq*+UprkK~p(s9?2^xV-9R)dS!Z)MtV zl}n(gNP7$-qJAynuI+sTQ!jMVf?B~jkgR}U>9o)7qT_IjTR4_aBUyRLbYLp=%D!$p zo7%7)p#fbF`VL8NqoI_x&cJ=sy z<2F|h+>;Kh%Jq$Mny)!QzwyY5T+?$`245}G=j9|#5-(E)ib^9XC0F;l;07OFx`#_k z=<|B7=u}I%EQP&Vq`*2bs>yu@3(O_taQo4yQ-D~-?X(@ zPiz-#`jF5^H_tyR7v|35+@-obGnwtv;&qjVHiib|@z^E)O)tvPO4EgmxlxB@Iw;ro zqza6nKux*JtiEk#tWJ}kKIJ8=P`rJAJY}u5bs*UCw5crVL2CAP-g5D>35j-f5_S1> zdu*aDqT9;K27{c9I3iayZqWf1-+2=YEzELJj;z2L|4tx*{4#vSp@-}ecZuxG=>NTH z!#Hd4FF8!q>Ek0$CD={}MpLuc?-{UtzBz<@O0Miw`|{|O(lz!fF$5h=!=dvHJddD zsV6x#1{%)cKiJH8gPx8egn3*|XfdPZr`>)h$pcq2&d5#VQ>643PNHVpYPOngi$8;(N0jJwpRF z7Mzyla&ORH#s*+51^t8pNdd*nY#VgxShvMR3}!) zU#&LaPgN;KTDZ?bd_1MLXoL?2!}+YTZG9gTkn}&|MPHt9`#~=)&lR@dHlM3~%xpEQ z@i8IwQ$6{!jfZ14y7We_lP%h5rXzYnB*S%Gax`R@alLubiqv{6$ZI*gE%G4`2Kn8; zFP43^FYr1>P#PcMl~OmHD)1^f=XJu0+W(JzG!i@UNj@-AK$GR!OpZ0H+&0x415;->a=on9-!2>li9WI$ysFOBlX$x3?+ z-N*c#LQrA%xVZENdRbp(>DjY`JxuOKZry*B>fp0XL@bC69}JK1aXZ=+9K=&h)1e`X zq_g6Qp`7)gF>$QiBbaP65*xCfineLkqf78c&Fi;KsUWd{OT&cD3SA48ew1$<)Ucfw za@YPyq(9g2k><(9W$7K9fv?65g-IzJ>58O4ReWl-;8X$vWLTg2PfyhaJ?n>4yni%t zLyUgWV-al11x)CXC%#VHYi6tyTxRMW)q6j{XBIo$Fhu2o)?w@LXpoSY-3J9l=&~uF zO6*lV%+HE|fybv}BLlU%K1}3`{^N-{IIaU^0dG7SPW;L7VQygpa^rVin_^(cYl7Wau+<4r*2}(ZsP7z00;m}h@mpR_UWAcn*n{uX?PE4n_W?2ysU`( zUndP{T2XLz4p)J7YR>a%!$ZpiI}8@G!XH_^d!$6v_X{3+#^r|8O%H{3FnkHr^s?fQ z+T={0InecCJteFr#s#&*g~k5VSZanO^ud*7!*< zMh&{pb$wFKf`F^%-ZfbA*c&g_KcuG!g(%m1=?vvN<3of>3fuS#6;rBX|18t1Wb4+# zW06=DS_Z+n5K(X;%IYcH(7c3z@sF@AnSuL%Qf|Ygv4kPZaL2qiZ0M^c7j`Xh z+-0f8TT^^onqKxNB6Xu_Kt2@>hn%!=prluJU!T3MrBsNvrvmQ=ZQblZZa%n=Wo>g9 zB}$`o8eJ_Du&46Y+0>K2;g}-E?2`*N*6Rmc411}`GHvX7Rl@Th=qPkS8&i6r+iyWov@jSuf@`K0y zPEU8;;FsR|W%0gHOSC*u-w(o{qG+{p9T(ol3KxAD=`B9va{2m>9*7f{hXeWP@HGMy zO0-E&#YEO-?;wWXuWFdbi1Vm|`j10UA$0&?wfN8Ulw;A%umiz&9pzqk+ zB}u$wBS!HTS(q{9$39|HetQ4!vC#LDuaKc%=c{!lXoe*nFgS9leHN@%K5OcXk|RIn zsVo*kCsZR@o#B9A^-8tn_6R+12kgvFQ{eTfQMUnsCIlbv3iQ#5)C@ar;(%?(lBqJp zrMV()#0{05VQ?yV`FlQ&EmgT5Zt`)4m2@)sg)T!d6iHO^DrxPleuvzU-b3d3@8YLI zb)Wy{_rCmAYc#l8BA-Ma-4o6#`eR!Od!5M-7=uRDQ*qzxlECy|zz9Cehwl(HX8vx36rtwO@2GpZ ze=Jv?Zf(J#H=Nn0ZD7ZHobheY(f# z@s+f0m1b|%-XBzCIUBvsS0@WCPuZ{ZA;%$XuHgd?XfPp`3?{ta?Oei3M{ywp0~Yil zP}ha}-okElzl}Nbk^7Z4&$1CFtl2(j3(#4I?oBT?6*?9S;6Q9lF`Mj=lG}12Z5(Wx2T`Xn@uO}CimHU<; zYwq+xPh<%4qprKH04r$J7&z~3W27DFY+#TL_-z9$w6-#qqRn^6n;Pb|nLQ@dG zo-ij*VX;l(v0nUmht)WsM@Y8z@J%)kJKnZGVfB}ZyTqNyhd6N@SgFOb#_nbR13f;| zJqI?{s1=5@R(Y1U1zE?mV)a!*C_Y=r$+y-hY~*AM%TiK6PhZ<+O|Io6LW$%unfx<& z?6xXr-)?{BvBOj(i=Y?B8BruBh@scX7IJF-m&y;Ha5siZvazk#m(!6UuM6H#UXsY0 z7d~tTcSF?7ST=GLF^evVp06Vxzkdcgogqz~SSFMR^d|x_gaio*J;}w26Z!Bz zvICz6|JMt!6!#;zgK@+O4$5|_C`5?$Wp6m@&JR%{IT|yB1f7t(LX8Dk33&+ec6|~< z&de%vwV=4K!JiF|3`@n#If|otLeE&{e*{RFe&go|9pEo=1%SH zYq9?gPOluBNWOg-{8Y^rrasQZs`HN&$WY1(9#|Brb8(Gh~64)%VuH(^*Ruc=MF_4P>OwviS8H-1*m zF9piZF)?_kl?}4i`Ao}!_k$lhnek{wg(nZ5`JbnnfA-%-s~(~zX+Kj>dq8y^pHSh` zLtKLbt}%Z@y2=NxX+8Y7^%w#jA1Nv8Pml`8YO31V9E@vrrf>9XQf#m`Mn@nWOR!0( zZC=u;{Pc#fD!K{lLp;mMwOBmb#8o0XRtKJdmf<+YcwDRY!0W=#@&x)2!mtB8u#{)f zp6XH<`h_kQWA3=562YC#u8Xq=q^>iia_(A2jj}-UlqKdM6yAva(WRne04}RV>;O?< zLx>@U{y~9cCo*X2qcDc1OJvYt^^TKvcm8;jD23cIbR_EM!knR9l6bLCfR$oH=X*O- zHGZw>n|DspC}9%?f@8ov;E}wYD-qI_$)Y#$x`5^ef4s%NqvIwre)e-|JW7dJ$(;N*#~Ndm8i zK#U=r%X>%FX{osyn_Apd#OL4_C)&&3v4uYQim%1*y9`z_H?Tpy} z{1^hk2&I|;CE8011?CS5X=UOH%6Eo zuu(WXjIDNk9Mcp`hxI zUmAr6q2KP)w07^aQ~#i95X@~dU&V;aDckCWYww#wCqKkB2>5yb^4f zu)HLOell|Mt5Z-T&3ipLsYFpd?T=>4VsH)la2vheDsGR$k3KV|b1M9kL@LSCgoJ}N z)LMSmnDz$5*f0L_>oL+Wu*u3rA}?)o%zVH;?J6Vm1og2wbU`=#b;IH~0=Y@Cxw&$F zZo~n4j5u^wWJ8(Y05yEG(YE)&Oa|KEm6;w!KC^r4Pgx<;n{*XxZ3<&mIhsJQ!LosU`gdn5FY|oL)aX;g8VKxP9{(!GqyW+H_Ak_N)f~a~qJs zQ=|Zo=_FI}1VV;55d|`ZFe3=@#2DCmB#}$gG#)$I;(*DCpZ+O`?1l_}?1%JBx=uHo zsAP1$G3AKhWo*;kArYbTW$VM{Qz_!-VgV8z&tLW|d9uf?3 z6v{r6iwCxWU7z+EdTQc}7kumarl~p){5}!+q|!Zifk^GOG=o1`U@ z^E-D?x-B-!0iBbAOxUX&VMK8Uwj{U1^@l4XG2oCmU2>^YN+RdqdROxyeT<_+72%AU z_zc9Wy7R-ICWr02#o?>47b#+=u^1TZ%2dII2duE?zJ@7-K(id@LJ)lAu-!4}}ID`KE&3g1$=*`+)|6+tK(VX~! zNm1mUoN|4iu1Ws)aws;Hm?4nonGsUH*0RnBz{79NI(%l|NJY3oiIJ5mRrBEB^>Wf^ zKirY|S;Ppg zch5qD&0FBq+G%+rajOY*20N6T)5QukibY<6@bl|kcnmei=>Q2_#1g$F$Z2pRDU{wY z7n$?ZFZlIliiB$5=f8iJJ<3Mn1(l6&bP-9Y1DZBg^D|gM@&5ewXaxytT^LvVRv9wk8DS$oW}#j{GCQimpDOvtNOcaRMeSRYZm^Qslphr*R= z5M5oc)L&bZZO0eiEyjR`=q~U@4Cu{DL+GnKRh*cJ%!y+5EWceBDt0!`JKOH6Af`B!eniQ4$_XQ*IQO1NW;K%$)S7LKS3z#}(E80Ml|GP=SU_>Ns}JM!THA^EpF1MV z82ft6Fe)GmISiYNT;uV1pi{G*UTyw=e^|c$InLUAEb=2XMPN6$8_Vos=0hY(H9aSJ zDNwy=0caUajv?L>{2t{Vw;xjkGAvT zxeg*=o+N<)g*eg&I2kMw%R1uWsn{T`EpbRk^jw{6P7ph7%$O>sPVz-59+FrDHq6%; zXdHgNTyYDJ;n8eljTJHmNykKL6c`;dfbXuL>aa%tefkHpj{HAM5LP)F+f=qb{_@WS zzdr5D?o25V<=88o`ydL!BV;IXg=BaFmG2MF!J~{vTMiTX^sj?&s>w+3HT;ihEpC#Z z(*PVmc|rKkbi-FJRl?_deXaNdZr)RC+wEc66ut^cJ`LbBDKZ6I3QCv?A)nE0GVL>R zj^tsO>!WUhUNQ+TYg;?Qk#-I0G(1|_Y!0m(8iX9XsfyWdeQ9aC_0>Rb@|kZ9wf;zY8gn+WEM6=oi0M-8jBDl? z{My^K4<0Y$5H^~(p!H_>Hcn(H**6 z_;qkv3U7qZVR?q^VYkJ;1!x0M5N$xHp5kz08HClAi1^|FfBGm%a3xhPfq10r-yy}t zMtq@P#jtrmoGq>x|IL~s22t28;vU^sF?WCdTRh(A1Hiy)k+weAUR0KBTj?sY`gO#4 zV#34&U!_@4tfawubDddV`RRodb&ABg}hpQS5UW_rTl5om5W0`Cx5ISldl-@K!J zkq6rUPb>-M(V{*FOu!5mw*t__yWj1*vLY|>7n?`^FPgZD1t5{SH+iil(-IVnFS_Mg zW%5b|0&ZJ-m9L3o^$%=sUZmMiv`}4{wzwX|*P-e|!VwUG=DYgw8Gt)iF9{bZfuPqH zY3ul{HcztInwdI;O}nFIc=jzE{VAaew0SySQWNpo=JPQWx-u=J%8KDRV*teETb2T! zY1|=rE@!u|ENSsXay#RAPSZUT1pfh@E8vV~dmWnm%LP1Ivvq`dEs)elKuO{N1vdGw zmXMrYe>OXOAR*y-?n_f?9m1%%dkZ`$6p_TW@n93t__e9}rnybe0Nz=r*#(wJ3|ZE{ zjYCxM%b$$1Z&eOTG?56yXb`Ah@grVW=YQZYN@NJQumS3idFqopp36-;Z+F6W7DEZ2 z{ZKUg)b~|(IRgTvEYgCj0S4ebp%y&>NF1sY;-D|0VkThEm#1c`f|#-3Zk4;XIBWiirb z%FfP$gK9wDphNi01rl8m4Hu68O|1*$xI;SND{ukreXo1HziaKesb>%ucoH>S;4xU* zW~?Yj!-fbO6*W}e*8s^Hai)!a1vbIA_7nLC!&|OdM1u(Ckeb@x-}I-mDke(*gXqyf z{tc^+*R+?#&}XV)H_dZjY<$}Zj9-IC??9}rk9JbG2OV&yi5?MNUpq*wR2(7f^f};8 zUKp7x*@TGn&E*x}v(_824IJw^AZ=@LbRPE=cCj|crBE=2Q-9l;fDgn+wUFj}A~G3M zZ@h8RjR_UK;r+(bnpOlvWH1(Wz!3+fw}B^-@jgWC zf~f0eY9rYAc`vHbD`0}mH8kirXiSi7_F3`U72AT-)tNTRMj9Hv4uosh=qvKPU(|(^ zrhusZ_1%+0r3%8D^J`G(Px4by@}@Ol*}|F8W`=~l+?S2rxxd+mCsDBKB6?|Dkdjf$ z;nMkl*Mhxoqj8|{wyabyI%g_;!Gf_`v-_IFX<4AC^4uKMm0=i&Ixna@cDjBz(X8@4 zz!%%Vz|Zp?U?0q`2Snuuupw_Bfd#JILsV{GtegS%je?JB_fPYj`pyz?pJH_Zi7II6 z-)JVYO)Mfs+4h7YH%^KF8(s-GV(&QW3Q$b@%e+j)8h`!^R_efe18M7GV1jZntZSzp z+yJoK`mbn}v=w;0sTYCWvA6R3>YrDRp4O&6tYV&)+m58~j1KrpFK~68e$X}8n|<5* z&qDLJ_E`fv;=s(qNri~njp;yTGedUrN@x6c2cD0U@B7s=dRnQ}*ZB0xgvz<3Lco`m znx4yD#eGai>ndiDi{S85**R1?4;Z`kY7J-l$Cd!DeWc4OZui#5Ep1MnU~l<*CCP6W zLgXXdtMwS_@!XH@KShi>eBRe1(cS+<3@Mxy+=-rKJlN4DIHHS~}F6$czTb@Bc^1U~z`F74OeVIWVC(D(&mMT~-=vl`Ak zy8%XbTi}9U?o8HG<&jQT)VvA+E1L+w)j-Px8Pt;kRQ>1?@r*Pcm1Y`~$r`}$nj6SH zp9SXI$lk*d#)u5Y38h**!%r`&YmGmSo;%ze0)?hiZMEgDohiLPd_?^|;GiMKNYV)2 zV{4H)I9NR*6+m!-N{VGzDZrUW%z5%Kj~q#i;-XZ0S1{EF5hK_o*unojILUfzR;^91 zlfv>pgV1M zM#ObC(k*c~igw`QWpj&KD7TzJX!NkdWam2ynkUSi46veWfzi0`s_rGv9YH`gA zy!dL+2zEYvinIIHtH5(aSbR}wRz36YTza*lOKOBslHUZ;S04nsL6OPz>%Ynj&deuHt%es48B?i zUDzYulQW}suWjtr@)UZR(BvmON1bQM01XXMeu)Snl}4|#=nh6+e+O*ED{7T;->e_* z;W9Dtfp;&{T7TojBSGKzg>!jIm0v~bdJ6M*=Wb53akZa}7)Ji>#b;rV0vx3dq;N@7 zrKf)74bJwQQ^WdGCK4JGLw6dBW(k#ko(UPv*E-?bjrPavaLWpMUDbncAyDct|BK&b zaJ#yye;93%6Rpc!0iD3H9PO$l=)F71PScrdl_GlBhSG<6ZT;Qm4JgZU9Nnh2a}|t=B@AGrmeyQ9^g&Mv*+nM0yKucxfU?8qs zQ-G#fONXg?f-W%l-c}P3jSwVcLdtWTSd#n?pi!P~3%7hW1G~J_?_xutE{vs*EPAp#69m-;Q?1{BCwQgwfbfTVbX`}#E=?V)976!U{A0&} zE~<1K*UtH(fY0kmS(g+Zmp6ZbfcX8D&0NaWmi28*xDjxZYw#HW7US&q1Eov&Ko5Gg z|3)0+c#B+>9(JS=2wZ;mVTEEakm ztMFkXhwa;!H{m~Ep*oz#vw|zHWL7{WXhLZXZ^@K;D9=#mVRbK@&_i&mqL68yATW4i zzezw6G=;e-h~)q!8O4|Qa?_t~DOD>pxDC?0K!@A$&>k4cfEftM*7TDg2U;O$0a}G* zz9m(kNOPY>J1>weZZtW?%d5Rtd$6E@=5v4sxFc$51f0w^jDvLU3Lxk=( z0c6hrLt%Lsyt}ek4|OV>M8G`%J}s2Cr!O&yGlNkh8(66FUr9kbE)A=Se3qQ-*DL-r z+DnF-?fBsFfjO}Z=Gz*8hMk9r-C?eDC)(CB_0dnLIRI%#&qWRg@YF{odNxDUp3Pf@KB7 zWJ7oo(z-@0ZfKVEU?SO$Bm9=CfZv6oNYqy#Xc4P>f0%%+Wyd1$WMGhE?D3;!JfXCA zOelNsP+EFpHa-#|1{-o6e*+!XAq}N~sC><2wnS&eJ zW2+9IKjnZhV+gH8@WrxN$dmSg>ro_IfdAuFKLb-i;z2jLvVLRi$a*ytyeU82;tR@W=oncaB_}kThqtAncu`hnl zD{+A8;Z6RZH=+L#GO?j7>8pc=p>cbm+h)?;#k+ldxKh35cG-LDk0UfA?o?TpG@;a3 z_9psJNKzRxIy0B42vf<|HZZxd9fnTD)q!oaZA<^;8QpAaonrbU-6mxNYM&@1w~U_y zz(ij#V^~rhE>_brN)+g{+FyRLm7y^TdJ^}^8k=6grTV_|VZ+=b@J+->4^~cf?CwwY z&Mks6B|NDw@J#j@;#OSiQ*T434xGL$OJ1m#s&})NnWc_pC33Lxro51xM=qVT03?w8 zxUcsQ<1Hxh%=g955l*SO^1)cxmtZR5$IeHg$!CB*{2-FMdVTRP2%Dy#ZEv}?E)W>h z$kwgVVb;0p2Hyd>*PYNX@h>+LW`M2y-lTO>jI-HbR2p~GdVohm;k7CSG6T`?D|m+oM|M8NHi zYK1?HNkC+*tG}4aI@))XC}H;L1$Tbi%I5%&rn9Uf9R!D02<8WORMk0s1{%lkC9(nN z?$(5IcdvB_*$$@`;!~^8QG+Nh>|)fjGJ5X)*jZ$gl5Q;haW_UbJNmU9Ff3bovS9A` z3}<=wHhON#mzl}R4BnD5^rA$xKL_j@8f~~%Wx66B+lC>RWaEA%07rf`yvtGxo|)=H zqbAX3$JWoKf{K~Neb(sC<$;lXCw4T8bqv^=Xaok8m+J9P3e4gPRVqcz=At<>&|{M# zT2Qs+#8@p#|2m}4z>9l5u+=#5YVzj)Xo)&%E%s)Q`0}YkxPN8+$`{&6n z-#?foG1OOyW9-p%qLNpb<{yG7RQ(!rJhq(;0JtayVsu6%1LO!IcjgmXa*UXHL*j*t z<;d2Jxum>1jd|j*d#%4hs(*ibUtl$Go%sTT_??3On=ASfYlXKH&V>AQCh~cZV?F1U z&UUiQ!%zDh1Y9^nCV^P4kK{g&;UVX)3cdTnTug{?4J9^wLM674S>zSwyChw&OpHc(_Iy^!N#etk@))EV$H%%ALDno--kC4?P#vo( zG+w*=JQMkdn#%Nn+h)+!W;S$d`e84{GE^Sfg5ZW}=(;`v{}1s=mypWL4bRMF9;xS$ zq^Q)d|AvGc!Y)m$#8l{vM^y8FcpTXs*hb(VZ9MlG6dM%UH*~!dR6MVRIkKVsXy@A54A|{zFmFIowcwjS>%%Aib5D;Q2e4^kxIDtMJheBiGXMO^h%c0A2X~N;&(86dh9HoK z!SFQli3tNa8^{p?yS(Wdu}DD}r~Tni)JU+L6lo$+)W}Zap;>)b;b_8I`22=!hGbaP z-lBhxsbZwH0;Dmu4v8lIe@U-xKHe^2GH8zntBE-B@p(Kj?O6p|S~<}dqvvHzWO z4~MT7{Ndx5r4K$0&9fTd#%THt^Ws z4tNqZ4l3INkw+unPK2O~Vls=fD72R_JrY(aW2jLR!kA+D(Y1*O ziEe1i6DH^!gLfv2T!x|cnyP%cf;75p*tyU5n)J^G?r>QIu%#4_^GYQ)nV=v13 zRHq&q=?&Swkq*t+m#`}g7nmI^@<-t%xA7lfjB=u?He6!M`>bl(fyZ8T08n$Dg!y!>rF!=K0h^^2}iRp zuI=uJ56w%P>oEzEvPWH_?}yHJ&haeKSy)4E)N~=UVfx5_D2*9zo{@VrvpSB<@Nu1# z;z^sBwYr-bb-rrwRCYj7CnPpdT>z6FTIvobveH>Ny^S_h`RTGl?tB93YGgL#LE}k} zUbR42_55avrHpABqW*NL?rfQ7ZU(S0`ilP5uIuDAT3l!g9mGe;Vv2KzR}Z?X)N2}Y zNi2qTm|rVvc{ozABVz}wMqEjY_lh?{5{O7Mgc%oiO@83BiPDtNhfjzWA(82FeYLug z#W{?&oWaXogB8?@dp0^;#Qd$QcibEqPJSsJwN;YVV66lr=MlkV#nqjBA+N7@u(nn7 z?OH6W$yOI5oBxrf2iXX7W$aqP$?FH(^EUA zQAu;-bM3pTEP=zI7>8b|BZuSh&^<#TM?HCf_;yHE~QxnM6us( zSg?x}!owVKh>-Hweq`k0kH`s+ z8))aUzF2P%Wr_K|c3~*MG0(Gragk2WnF!208FC{1_;qdK>mE>pXi2bsePmo%&E%Fr!$R}?pZ9$pL7z>CZ=@|aZ=2(u6sb-F4(@3C*+c*(=mYC z6V_e(J5+YVdc-E(*Q4RP*F#jMC`_a<2MN+h4MzsW!02S+F5-hKp?yV|;a+#vSaJB3 zfdBebETc3hJ9?MYuZ7oigW3!|^@`&M)=wlnGJ1t{S&aF_o(hDJkT~-@pmzQ;PfeD# z9g?^F=0R>w!jCyUG!?>l-6f0Tq3rwn(Nb5EBWitjYXlc4{z68! zDZbSJk$(xwcuY1W*J`v35v6rOZ{aQ@Y5sMqYz)6an`dC{^W4vhG3b+(b$z0kRfq1+ zK0g_+OED92gHr1GKC#Ve(msy$tQ8O@(67n4AC}lk7-xJsKN0X11NeVT$16PaMwV{M zNdDOG^uCt=n_8`@Y(rh#gIKOrPYN6Q!q^nif)ffV?t@9DLOQANT`XEVQuYzwNaaBc z?5Tr-h0{ghRGqp|Ws2^DT3}4WF^tD4OfD&bs<*NQNs5X|QY#N(D(xCDOCw><9PCfL zCwY$nHsLcoDA`-2W_7!Fee^W6Y`(CE63FS$Ps|M^f)(dDxW#f&QSKuYyK-ak4p={Ev}c$n+6UqTb3)lW(+oY@L(PbFISz7O(A#)BV^kN z&9XVgrGsuU;@bpVIiF%|&~gX=M(99!?L;o9o<=oqI+D>}puctA#nAZOx4fpi8^Ze( zn>tOc3`$BQmGEHq*_XAKCf4<@y$CP5d1%T9v5xWu9b=nLh%^R%%P$JWe6j6&C>E^n zrynU=8IzlcDB9qPF^)PifL)qw{WQpMH89gbEfX~Y@oKNV~O1^kd|0Ub3dYp8PH5Xs2!-&ZVD)|wdyH|d z?N2_YrunOEl7+n8dtx)!ZOrqbRfDV}2G17S7KKDPJvyw?p1%1Im#@;6D2!wqH?7Y< zjT|4xE3-L1-J;hm-aaTT{w+O7zj(r#hOcR*fBZEDg5~jA9s;qdVWjO&1(>@f< zU5I_P?Y)pxiB;1g2IXWKOzcn#tThxX(g%en#gE!0Lp|3rA#@>5v zev^G<_hy8y&?qOx#FD^eTHbz3IW>*B^KsCf3bCBy{h!4TF z3R5Oi!ibOSCACjwG!-MO=a3s1b;S}iqK4dK&5bzs5~6mMWI6tfn0-OKnFOhn=Kop$ zlyZze*1j_{;MgMd_fI9`YT_F!p?$hcQE>Quo|unZS7%yLk_+t%oz$x);?8G)K_Clb zAI^EiY<#=yhRZoPo-+#L)X#gC2g|x6)xV*W41|&h^E;{}mFu11 zA&(I)tWQ&xww?FaST72se*dBb6(y`!i0)Jn31;75j19nQAjq={#6p=K{g)23gj#=Z z+O;2hpOeC$m<5ceNMNZtG7~w6NvL%2lv1u7l*N${D`Wx(J%`P25i14P%&wG| z&A%4UBKp|xta8evF23Cyi4r6g2D##*XqomWG)h!rBW8y~3{7c63(GtvMt*B{s z`KlPbJzx&PTjONl_uF3wX*pAH^rt|@a3po54hWkS!JFz&i|f6KJYX!IszR_5- zb>fuj*{tVt+UT!dr1b5WMkwJ(tjyNZOzR9AMhn7&S#S&3!g`AKVOuw`x?m}^pBx#U z&8nGW%_DENZZ)9oA7eCFhx5RHFwA=KTpOfQkgh;(iPDO>*^Fa4&hx}e&qt#wX68vU zhOJV%f%q@e)O2maSl!dng3TT8O*hJo5NB19Jk4bSF$h_(div5_zN{z}Ey7*oa5`=aiCrX-LEb9h9mnZ-!q5mJs4lau5a zhV({HJVHREbNF>wJxTWd=bR8k!D*{yXcwv~HXRp4G!gS>10%K4ASm!n*Dw_X`pss9 zR3Z>F3s^^~5oJ>M4k!sd#WMq*Ma0PN1l>+)E6;Z8(JNN5b{Scg zIq9U%Tao3;$ne(8XTOL>8tQ^&q{tQb6cJ&=pk(2a(;bWc3a`vHr#L{}c%2403EP%` zELELNUF-(3;m>MoE&uM?UN0RV)TlxpGQ}50SIOW1{=xhDd$ilewQ`12<|$+MG?Ck< zom2hhEe7fUq`F@8V!xx_5M)4h#KNy0U-x_^bPGqSYs!J-kkeUd;$7d+7i?fGhWUF^ zqOJ+wWr@%!$wv4m!PtIdtB8AgmJ!JBLw;k&6O;15-o1iAjl(iaf0nv#kFgb)iGPX@ zO+}u1cXMOdOOjNrv*Kw?$6;qUbZtTqP`IEh#=KQ<_{PreYlY;Ws$u5r7`LU2=lXfF zrvwNNbgWorO_S!A?K#~(`?tQu55oh^o;+PA;Pl_ao3pD+ph|?S`Msc``&hbBAMW+R zveR5WgU!YwVCuJ*+`H?s%zMK;Go2Uhgk0HdrMty|3(PGu3$>l!nQ|;J^~?(Qa4GZ2 zw%)xK5i*2ve2@Jdrb~}YB_gzIRo#($znl@YBt(#8W7?wK@6c~8I`Um=Lp}sG#--i2 zbR*rHmq6Rq+KZl)tSnxq@v)p)TQs)I_=hzp9Gq7j6`)5{C<9?Awn|(aka=pn>*k|; zCA6<)wXuX%IIf4lXHS^pWh1?XuM257 z8pk6!S6sUkLLpS?WD5ke|qc5Sd!U?fP2b~pUYo}L^){0-~=GRHTj-gmBam zv1Y}t&^f=UYN!^j+@-#x`}9f~H`Vt@@wh{9xNWXufE@XE(--)HPRu+&j?=X-eZzFn zDf;8dy!pGv(|%|R=Q?tqxM#j|yq~zNU3Gh(-5SSL)J9Gf|9hKe(BzNiW<%^J zR>H^mR)gn;Wm!s+{!E0GbSHzO%{1pfI|!@b^e5+?KDv9K!|`@3DorMbNp2DWtWpU0~7ugd*sm_MzppyXj}#7<)g-!kZe@Y@?8B-lRwq zBvh|77dAi?+RvYe_L#xbgD|ysI4ZrdjDbo{Dc7@>FKs`|qu#^U6_diwC=AdYRn~I~ z+FtzD-AHYqN|UHVB;v){PgzIF7L#K@6-gne*WfT>usM+gyw!ROrlV;wSWrmt3B*n$ zQ#S{c1{2Qs^t99oVx&=wQ8Oy|m$tnv#H-Logj@sg?WzB=z;XyVdayK&{PPLIh&Llt z6RK0i9}1Cs(|_v{e_s=Pf453XcU%eVr-t{6<2!yDFQ-nO0}=@ULh1kzimYFX18>x( zuMD`pI9@$S+Gsyws*AooYJ32@w1a@T(*Mv+C+S znjBS5rr{>D^e>4OncT>3%Nn8y)I?ar*&c2`Y0<78-4Fb2Hx$?SjQfA;psr7r|0FBm zwo@Je-lx8gH$}%gis+GtxWqJmop}}T=u<0}4!ZSsxLiB?^^GBsGPcT`8KC!+e+cu6<7Mw4Yo0s2;>|HbFu zZRYsk=$gv;X*+E0B(8QWNNvQbn?Y}@@e9JHKKrv z_&OYjuk-FB*5sj?Q=vnzfCquiio0CAQJt;Q!BW%vONOx!bzkUVOEChlowq7}{P1@p zs8k|;d;*^I{K5HhN6H1Z=dl13>@J0f+QibPaBY=QEM*A&EAOWQt+pyjs1gPqHQW4Szrvx)@?vTyIzWMS4w7j!nI3GJ zoc1e`#a3DI0=0!1Q)x0nrU34J8x_2(8`+gDKg)ofOaa$9HnS$zOmPdLHQOfB6sdw$ zBLT(rC@MvOSq9wy#UYv+`tR$UM}kQP=J<4A@b3fGO2f*uW#4a4Lj^_vpY?ZlpZbff zgWmMDCGG=`dRryZ*!|c4F2{y)1LRf4(z;ith17ZqDLRcNau44Qy4E48ctjzF%&3sl z&hIly09L`F`Kt1N*NR14tF(BhUDR!X4&iym^Z4U%IKFg_gX^lyD!|_n3I^9Yfk@J| z_YD(-h=ajOYA$=+?}C4yCjddsTUuZ3zA5)mpPLov{0KIJL=_m)u*BcqYuIt+}Rzh%#Vd_4ys1*Dl6l&eW>?LJtv z3Bd5KL(w?Q22VTRnH$-IBiB|Ew$WGNhJTOU{{XyY`lra(kHJs1vUsg{za)#RGvV2|!LQ;hUi&^Vbmg&z^GWpYQ3tA7EfH zzB*p{8{lHNs{bJm5wtD)J~C7<+xg#WLkfm7mYJ|SsE!~^V?hZo8#r1;vs{U7*?l$S zHqJBhy**=i{v!^DB5gPPMf?9|fvhxub~AM@1^ur8k^ctNSk4hl6_Jf;e^f?@GXa&x z05i&70b~8e1Oso^{yB1|)_w=!$`lEI%Xf;Z_VJ zjhI~K9sZu_PlU`0U;b&a+j)}wfNeVCS|6c7ZdrxKp z+i071Vst!eXAy!b;QRN`@7QfgxfEgFR|G#-V}I0Kl}`RDu1%-J_!z0210WIhXkx*sP@L_}A;M!BP4?|6*~ z*fs;3PP!NXGEe}of0bwf#1H&r60s)$mU;R;hmRZ)xVfOhoP7(-5lZ?uekZFl)sH2_ zfh4uQQaZ@^f3pD$DS#1o#L6a#kzyR_>p9(U1LN!onS1!_0bns03%?i_odGU)a^Vib zR>Wjl7~~N~5eC{FsOevUXd^Y=M3HeE=$rU3y_sgv z$jZ280gAvI{P$-zKlWPyZe-=~Q8Y3SHzU{^Fe?8Ko0d|`^*~2}Nc@^rqBG z;Vh^Z1aI%(&JQ&HRM z2&EfFT218V1>PylTr;*^LEnm??WB2yy@~dIJ2w~j^y$S5Y8Md zeqm2Xy1HgMnLU`Aqzc&55K{8DTA9R9>xn1R^4qI{>8q!}9X9{tAoZaT=0o?Wh!wE% zc!7s<-)eu8^Dk-xyCi~iZ|nJzZkP)Le%{Cmd4S=ok)Q47by}#kVF}p-l(FNnR<`vb z86U+K^d9UIBfw#rqy6~fd)6JbtYM%CK`1Ix!ID@>%1QFMyojT>WKu^m^%4*MosZFO zRf{>|rhBqlr&yX@&2)mp4570IQC}2dU37lq?Mo}Iju18Buy4MyD#*qRoGMkqX1D5s z%f+5H^-eE7?EDtYWznj;@Gki+R`7d!c{U^#yRmctLOD(7)|*!W#hG(Hj6gilhMb56 z?`st9BgT)c&<*k_d0Pg>Z@HR>gHeo0V!hY92$SJ|aRCkDiHF2qi@s{Jo$1$;`qHn~ zdq_+z^`f!BXGTpQ_-#L3&D?+DaDM~NG}yaxKemgw!X-6mJaQ(VcQD!d0kwv9lWC>7 zddoA0i`}Q4gb)TvV7feOT(Ci2&?46h9rXmmIFM$R>-FFV{C^V_hKd;XwP~>~z)zD| z{O{%L4ltHb%T*XA=~2KONlAz(S!Af#0|%BC?AZ{(c0o(yO$|D$Pq*jsym-^jb#&25 zl;kr1#{wV_0}yzk)heGCFeiNuI3M{CEiC~VCze0~bgY;-iJ&c(O+z2hcP8Q+a}Z|j z5q|#xRAxYQP7MYdis>5|t?zY-(!>2%;c2_42#?w_Oxv9~iw&8dfPWhS{=*C)x@tkx zc*-KPpuL0k8m$U?42QyuCa~~dw5Cj1w9*dl~8Ax3w*==DYn8Px?e4}>k^@sysf9UG_^_EiC zoq3r$2|nQ*(|`N27ebG1!C2t<`|#41bv=PXa0V`L+wzE;lv2!B=iMznGQ0*ld%7A3 z!U+zp|8^UCM3fl95qp6q-iz*Klr!rUQhyj=42>A67W-l={%YVV&eT2!Yx3c!_t-zL z1Vq?!0&a9i>Mce2Fme}kx2H7@?7hJn$v&QqDDavnJQDWps-D(n3htJFE1aAnxP+{0 zq&E^~ONgCB(!M8Y!Qu2~CF$ri);nX84Y86(&tko2r|SQAa-&3y&9ZmUl2d>?Q|PC< zs+h{w=UuqH8eoX~JDke+Mk`-LJlKlOQn#iEA&d)0k7Q`iQ~UQ7|0$}G8j&`QH-8d;;+o1f5ry zaVi;V*+Qik<;u_Rp%wt9JqJ5<-teWTXg=lI`;l}d=^MrTnEw`kDB@Rp>S2l9r+@WQPBVdR+eRfC@!KKj)@$!1-9z>7?#SwPvnBz?hnc z)zc=^*DA?b0Fp)*ecd)e(Pg5QA9s7(FkBS4`}=8L*MIk#g}5eRwk{EK;@s{=y~=7KbNgQy@wQ`cqE;%I-xm&RXsfuD$>JizwhiD;2miYd@a-ufxYFIan-d zP`|UZ$=u)0I@dr;Z$QA>7QpoDs?mLI)wy>^u9S4Oq)`T3LaHBks%p*t zi`4%=9Z`MRJ&^GzywjGxu@3+@41XEeYUMYrL^c984gxFguO-oOu^0H{8;YR?z2vn z|4s_Y;A@`~+=AUo9_+!q0RUrz!=GGQ4s0xd*_2pJioM2p`zwnl(ejOJ?7t-_h8%ID z@1`mZ$|(~^!3tZ(PS9o~pp2w)1#ZCNEka_SCp;=vI3)!}^tfnzl@;yBswYwZ+YG4w z{rC)cE{!0VdxY*+$35ZK6Z4j5Ps17~3ME9B(4J@Et-ZgPAOdn_Aey?)c%<>al@p3s zkQCkkyz^fc0xE6#VZpH`O&G;EK2o_>EuF=zoGcEq8lbWrL8RFA*SJjojjp|!AVPH> zCu{NV$K%D%znZadp|-EZ5hXqvAcBBRMG_p*jo^)@pb?1IX%7Q!5R-m+5-YhY!+(os z8{)Y8%!6AsbL%m5^b~;`gWW1^t7U*Q;Qhc0U{Aj@XP}e#awGV!QJIB!D!YMVo@nyR zfToCle;@)en#HR-KwE~9eD^N)HTXp$2vG6FUp~4`Ll{|CS#~~@Hs=CsDn6OZn)J)e z56u6IRumC4(Z)gU9hB=K$h;kV{qP8Hjd-n$47AGtMpyhLyxI&i0do%bf0e4+wZUkA zZK=;){BIhUAbdXX-k*HttjPd!QVN+8uqy7IYMp8SF7Td6y}!HqbQZ&_9AZ9Ja- z2*exU{3(IaVHUv|XdJIJ9JQ4s!DErDBif=^!wdBIxlS`d`X~6vDB#r5etUZ{S?_yf z-r#JV0RH-?Z6L?fe$jSAYlrZpZXIs|aq82n{7%*{_vC%Qmc4bnkAMh)Ue=(Y0=i8W zstV&mXT0@jrPG->k-58meUtbExHnc$^BBC<)F(75Rm4OXCNwiT;zT`*Yy_zZD}`pd z$M726l3w3WXYFwkkcCRM&andV*%efq&i4u!slrd1AAWofp$rA+A5|&DX7dk1FF2h3 zw{XG#wisK>@2!5b+hSP+X1yV(bIpo!scA4d-0~7_7-9{71xwpgDB0SP`!9*$3mNGv z5Xfj+zMf=5DN&*W?#iJX;AXOPz(%kjH<N;XEL{kcys@Z{@PU0jX; z6(s%sIxVZ0H*dJCx|S0(fYwfsY|DtFF7K71{3a7SEWKAq$2p^exX~##Pk@!e4yR#B zIA#OnEgB!#*t>CR0_aPl5h$O$rsOb4EP$x%w4N<5ivb3OplHR@%ZE zde>3TLOiHFx{=W+>E2^vB*bdn+%&sZF5evbfMdk0Jhcj+{`uOBNBKp9a&=}nzI9LI9#frdoH zX-tkM1sHN;KERQelVs=VG6B9A3I0w6PR0p}5mv1pCG`1l9`i<35ihqm7)@n?_*TjV zUK{!H7E9ffZ6Y=MOk2b7TP@G`mR6s!EEd9!w0fJai4gk?YDTe-y7bnsnJu_TwhPHktosVxXg?)eqqq5b85cFB);dKA zWGQkA-6mm?6gb=@lpH*pigKkMx`>7jJ75PDrsT{#gk6Jq=K$K1Ao|oG8lRjk%D1C| ze{WG0=z)iEGljYlc1MCa2K?MGK+^qeE-!j3GY0bZCZ04yR>*$+~dweX(`Z1 zs0^gf^gq1}!hN6iBW{>4$X9Vwq&KV}{tR~>i+Z1Xqx8<>0Xt}M6y-h*5}od_Vey{c z<2%rJBxhvx_|z3}9tEC*6f+;6Kj|q}W%h&C$_E2M3{DBiV!T_Y?dh3aUjqm8Ee}fJ zP|Z>YSqVz<9v|)6X>o5wN}(8wvko4Zijh{a^kYP(!S2{jvKJ$6#5Xjqbg+k<2u7Yn_!n300Zt2FZtTq;$(29Dhj>}*z)KAHaXMvo|^|@l6rPCfkAiLxE#t%e`>Oh0Upy12+VW9UaF7sxTH@?w1wOE;Wy@hZsDUv!K zYw6*xS0fehd}N=}t`k>g{s>(+M97Y*^v4I3>3fYlEM36qMf1^=mfZA*d%DaqgD?P< zgLQxv$j=Md857&U5vw=AQ^+IJnm(kBlu)xVpxLhBGdT4A*d7y{#4%PD9L9Ah8Sexe zHHGAZQx&n(w&37Yp2sLfdcpP4Sy{f4z){3bK%S3iHi5M5&d8oM~KJ4;#UZ&wt ziHuR_C7>Q4+#NvN<0*!f!jzr*)z;?gn`g(ZjEz6Hlm@5uJ3(ikw@38^QIXVd-Bn3E zkAXv^J#-920V&)|coUb-XB0nLdr4PSo`@|#?Uiah2s<~TsJ20$CegQ_o>aFDis`?P zAVZ!zz?ZsAkpu@-M^+0}CqY;;AB)xracPQ$( zZOH!qHNobK?$+1lUZT+NQreKyQ7Q@Fs_9LIW>EcP2C1UX#r;>MQ2TgUWnlghjBtAc zf`VZ%7u{KGR#@_%8bN*p+>!%%J}a=leB~Jz3`EijeiLhm&6>3s?se%)-0a4#Utc!7 zKi%UhBtC|FjDhI(1M-5DxKAdFq{dk&q~-;qUk!1&+%^FtBR#>Iy7$DT1GhlRW*;ZJ z1c^uYpVbo0CFh4bl}D-j5UgM0H)c48PU#AaM5-Bt@Z!mt@Uto@S9j>!pV_90uEuDl z>XX(N3f^8#R<1?pgEODUL|ld!V9p3U z`b!(IO#q53Px?!yH^m98Rg6K#Fwq?wZ=fKR9KB}^CEBm~2ZElo8TOhE==i~tT4$#u zec!PksPFy`{yq`FIqVm_%1y@uknylQMjiaZBLBvYh4H^EbRwdN|BMItrg%rxUv z=jkquKli^S_wI|;-jAcJ8Xz)@r2pVWB7Ib8H4h?b)`4T|+Vj$X+rVFS>t#$&J7F z+V=xJ%mBjnIzoq(2ZNfgQp&{^x*Z{#1e&VgOM4`hMbsowi_d&sSm?}%?cSe${ROOO ze)WN1kOd{<0R3PsHDQ`1=-)OWV`bi^4|vgo@;*p~upjW{Y2VzD^aBTw?TnmkEruo- zT{P*WlxrcVPzt#)RvA1ox|PUx!zA7Kt(aW$ZfI{%ks&R%-$(3)oq&TNoe~=TR#_z- z)x)NGk1;gCcLUx}-;uso9t|0^0SAvbZk9K4Nl3Ny>JjfU^Y3I z$VUD>LaUNDJuczB8MMsx6z#5SQ$)nnRP?e1&RD)1Puv11`kvqTUNw@I=s zVwSr?A+8(Nkoex$*UYKSVQ@WI6)2Fr2gzK#PauSN2wKX7pi+mZ)k5*$i}Yf#bY5cs zvjc}BiG*7&x6Nz(O_dyzjV^||XZLr1AFGjmc7HVx?hzRIxeX)6ygvgp0}{$cx&Xq$ zn4<8*kIxCw+CN>(tDjRo$@sEKr($C{py3sgvk0N9+_YZ$g%Fm*}+?Wl;{O)G=H6EcIPzUuyD+&*q-%Jd& z4n9->mP{U3+``;iIH6Tg2(u~NWm*#v`yLxoxG#1Fw#*{Q>0g)HmD*qIZm9f~6k=uS z?axSA>BIE`f%UxjS{=}4iq)qZ4gZWF;@*Zto9paH-+@^9x;Y=+%@cD zToF+bx;W>CwvB6bEtLpVWTyNsRm=vP7WQtd$40M3aS;9UjG=h3?X4}f&yZ48lPc4VqCdd# za4Lu2u0VVdA7!MJnhZm;R)`;hLI72-9kv}+OH8C+MQNiq57)x>3R@hX#qqZb4IvO1 zMddZ6;aQ@K#>_*DA)<^2g$P!4n$G1B<%W% zpZ@;J*I-{?X~{`ljG%YYoAvdeYu%%%)X4TI-^l*~td@3Nd+RFy&_|*}!q;)XrYM-L zdqfMIAkl@2{#ZIgPU;8Tvxf{gz)~#52>dYCrS-h zIDonsF(qTR;ad|6=LET43v` z>}E#d$GqrTl|y-EQy9H=+`^Hb-+ZOPP*a~;f@htc0ZK$-UNkck2XW8Xh)b3ieeA<8 zb^QF6rysxUp~Xz|cz)iK#x{vpa$y@&%5i)T>eg+N#3{_`1TwtI{%F+?%z1>WtDelc zZUg7)$6m2>pMu$1VtH$N%yPyH0$1^S{a{D9lO&Ve-Be`vTkD{;Kr#O@>ep{Xjdw8a zBBEB7(*oHaVQaK&-osdH-a`4yGQ@8NaYp1|<2aKRT{0ywk49!^4R)e_Z`==f_VK7T z6^_3PpkG1WXsgj5MqOm){IU+6ZdLMz$KR3vZcs8;W?~IGiL4W-Lj~^wC8^`ue3{^v ze!3<2IzOmB|5k7m8w-)i*`V3Lpl4^txC3PzCL=;e8SCutc48sca+K?4VX*@x;L>+1uCXWYT!j6*ir~;8om8GGlq?M zip{o`<=n$iO13epwjGKxTF`S4r)00oc5FF1v`cn5Ih19*TYOuwc8W`WmF|gRGLcV6 zJJcTP2RWf(Jts;e#E`sGM#7Z-;Oyf+!A}dJ=Bq1B+?>K5gmJ-5=--vZsnkyKMZK`b zYdTV`-s(;ui9o`=7>I+6%>6k;hQt%~0%iNI_Vrm7ARgv3dqafmSNh50uXHc8)owq4 zBu1_@yGdkMu2DyF_|!x`GX9f_uQ^v&M*&K}l*69ij>|lX1|;%bkF92bqpbC0pa4jf^kb-1+it z80_8PE&jf;cqp;PwI@EzKNem959Jq;i)mZ`ab0`V{21b~Jq@ca8 zzja*nZ3%8Uw~#$`bvLnX-v##G4_U$IUz@`SxK5@9sdF^ez4;d4;eQkDyI}3IEeTbV z+a1+{+ZlTgf22BN+;)pw7p~{tffN>#*7;6Hb!ZTeBm|GnR7|V1Qx2EP{jBTqk~YCQ zpqySrb<8H`PK*LAk3i}u)9K+QJVVUE42ETW3>4yEv)Me>F??|qJG$aq_ z3RH0?+&+J+y{7Fi)Ji6L$@ccU#n9}B{L2-;nYqd~%kT5p3mMlm>uyJ)Hb;&V1qU%W zc}_8;OKg)u1(_E9yGmgc_2|u~l3VNFS7=ihRNM9}CYC#69N{JP*a z%_0UYN}{H{z&K^emcy&i$)&1=EwUl0(Ty*RnI(i=s<6Du?_b_Kp_2uW5HnQXuHWo# z#=*vLiiiJTq;o_E6#Wp}&L>BqLBW7=-J(ibh56?fToZb}2;)0lAD<{@%^3{AERpLG zmulB4N=)GmHa;_4aZ3t)X<}9rA7L$bDYhYtq__84dT*2*v*&y;+Kk|*)UNX6f$(aJ z*e>4fXE7tzaDOH#3!tLWz2$C|q5rY$zARHVF+4H!`P{hXj)jQDFsk~=XI_kQ_Mde~rqKw55=>O>qo!tUxHd64^2FfVND<2%cu)Euy z()pZTL9N^SKo)Oa!M{$PuWNZ(w{+oya3%ywEn7SMv-hBg*UNe$+kbpO@W8Y01;@{- zASabte?E`A;djiZ)bmp5itA)jte@UH6L8UtiPZ`|n{45f2rlYaKa{#%fDp>niUnQ3 zqWssBQ@O%;Nm-w2$_0>!h&TGVF*p;{6CG=be5xR*%C<~9ZdF+NC|skUbG_G%`;_kO z#WGZ`13g|r6ue`FgeO`3fZv{?FaoL$+*UpbTVvA;)0Ft7!NBqBeqy_QG%a27as#SJQgPZw=8e^~0cw>qucrtuor_V)o}di7oyI=%<|Pm;K}UKR2in ztV=pKUr74_?v0wyjW>;XN@p;Bxv!i<;u9wgsUnFD-skt|*lPkJM26dn+Vs;*rebe4 z+e0th7~n*7xDe%(B07SeiMe!c^9l4kNS|UFRKcK}R?NSGAJ2LalB8;eZr28#RFY_FUsn3u{C7;jbGS@TfATgK88XVdTJ_rG9C8$K zLaw_Jg{X8`*+4ubmetKU(_gpNvjKVY$pC6HE>3S>HW{~(wX=}jAiS@SGl%gERDoCe zLZXxRkm6jp%i$)M1KH?KK4Z~Ej2w5wMOkC<)g@0S7w5d)c1rp&Q#@=%Y-321E+vU6 zP$_8}eZ)S_NV6Jf2Z}2Z%+PSSl)8JkS^fpFj zz$wv)Qke-`*a%b*E1yl;9k@n#Qq`zbL!S;whM|)hNVL6xe(u(Z3Vb-n_uFFVyboW$ z@Zn4vvpykNA#*ZuC=xK4c6%i$bDG)Pash&LzdWvjM$Z>}0sAhmq>9;ZGl%1nc8gE= zCXu@OuJ_L*QlFPGzLMfS&yePeKOYM-Jd<4a18sPCuq^RJy8gguiXK6yrzNkZ{N);3 zvqvV;>NdOk{!(y#(W+H^-8j^dBXh+!Jz;71nyhV@oPtwt*O}JSk@YW%U6`}~8mdmb zl910=ABmhl*Au6?1*OoQR43qv+Z~Adfq(a=LpgWv_X^e)3SP5hy4rL~Os7CX$$NzWt0@{3=0LQ?w0lp&i(yGtDHOc7`}JSDtou zGl!l~h?j&JS;Xwk`F~y4h^b6*!kYGhPfpd^#9cHhNEZ9Qgk2&bpTaZgB%FiAWC_HF zKVHClBla-Y{Lbs9@eiC~McmGCFAfq&z+OX2V8ly$wju?Ir}8i9_^$2cTf4r<<0vz%gM6Mw%XP)!pyp_h(t+v#EWn78Lp>+EY` z!uLaEbCx7AFs^A!R|CcT7YdOA9Vf~nX`mzO5GKh}+;V|`|6y*Mu@vJdc}@OE;W4*} z`faUb@h4rG?9(5^1}ZLir6T+!EOpkdJ7#^Mm@>?tuI&b}W~^CyO@C%q_|j)P@1J(Y znR~4$YO$z(qF$npZOvl((J-mv@%B&`DDB6{X-VK%Q~D9O0A2j+qSMV1rr@dgv^r<sL-i|?WA%&V=(Mln9;&P)@00q@ELijYx$lvn&wnW z&RXh^RoW_5K9;C-nk*xK_AI==18X|6W9v_hi}05SRYA?~tt_>2D#Go-VLh8|NCEwR zxH5)b9LnQ+d_CT;1L2=^#aCHqsmFst-b}6&VP=~C)q}f4#et1agHlm9d?ZY!%yG`! zJr~#_DR@Fl*Kan>(>VS>Qp3hDK0UnMJ^hBmm2^aQ`;_`lfsQF`pq70&Zaf#tLEZn? za&A6Ym-Q;f<8I&}Go774zjD`a-KB1Ux+4U0t!7~-TLaj1CqDS`rzA>3w)AD}6oVhR z*&M&Z7N?Ufv>zK8g|v2Qok3wmv(dZK@jQVn>tIP|7=j%V6T+Cwd_WWvhgmg}U5)hi zcgKi!LO@Oo#f(vkJVWN(UFZ*$elAD$(lWvaCB!p9N)^)65unCAvoqpPU``O`rn)10 zKq^!bs~S>}u&|hO5rrg2#zx@(HT7+Hg?qtI_9J^+XhgWIDP;6X4xhEi?;;6kDK zmot4%4#^wcW;MrI6**KUlJ9nioyPeedc z=0o>~pR4#vaobLvvOh>#_bZ{k5))bM#i>-cP|p6X;#pW?fs?%h3wHBKlj)=+qh7kl z&S(Fg^wXCW?~tZ@Yi1m7~CH}R`YsGHGz8%ld7 z9wfRR1I-ep>RqXWYHK>nid}C%jMK6sc4Xcoh$e@C8 zL&+QpG-t?=KgXs%eIO`kOoo?{gG9fb!V%X6g3~%#x_6LKs&!EFeJqYqzoM^3LnWfd zP9@^D|CtlQxdw|LG0XqMhybZtXQg>>aR3E-0m5qs2f&-#YXQ76!OmXkB zJmEJ17iC-nu|X2M&} z)S1qnMR#p?22GjQH?LwRvXBzFCr*z&+IBgwb{9yN+=Xz$sK;~**r1)eO8ic7@m?Rd z4MSbtxh>X@BsldBb$ML~qu zFMIWchU=ohmD(an5+BC1L2B8KCgt{>&KN_@?CvD{kKC#ygsm@I-yAMAjo#d$S6cxD zL%-{-gTRMJACrWuA)K7UoW@lizMjLRu0d(0Sv-%IazCJ0!2`gvA|0&*56c0CsKl@< zke7T9{D*n4MaoFz2l@t?;E>^P1#vo>?@W}JZ>YT!F1u0n%eA|xi`Fm(N=`uDY1w^N zdDN&vmwxXyp^}`N_oM@GNN*XG;;w_t)ug1q{{^P^s=&W-41V>J<%X3~wf;|F1Qu=? znj!PgwDQAsB7oQFt$UMU#1j6T+8_m>dA;f%A!&GkVAnk6nY(H?J$6( zasyg}V9{c&b{0>+pojNN`Rbi~4z#hvxh*u%64(}4thEXEU-0KWue1MKm@XoJEv}>- zp!cx<&!VNU zx?4L0d~17#@zW29>QqvQ4<~cQSK!D6e5>;$0eM$oKI?LJtgGEn1 zrMjvg+uMu}K`{I|f3Y3!M-%2epeyVYbatg0aVrU$e#@*6DCDG@@e%GwIivhR2y7k? zeg_}sA)%5BL!)nsdipgz*d407e!H4vkNM5K%WU*6zdUa5qB8%86XT>qw}HiEtN8te z7ob(zV_X|Y->7GL^@r}^vZ$=02JgCe@EM_Zd940=nJjV^f^)P`$9OSN!gK0(H+ey3 zlGN>Y;&gHndVhfzbsbc?v9*|=shEqc`Vnq0<6fkuQtM^Tpq(puI0Y>^FmG^7{8MPM zKIt6eMFiF6Lm6ZzkjOVkK_~V5;(PW>v&GCa`4A`kNhWybu;37VGSuiUN{8UY%Dozyo~{p<_KyzMV572-$>$s(rzh@VRRSUb`s|IV@WyfR8wouJBt6eBF68Pm4E z{i@+g;>5X7ED_Bzx`v!pMLWCW!g@pT``_b2WqRk(`LjU21JHsd3YThEpUw1Tk%uwg z%lXm)dF&-%qi5nbYcf+)eEFGkrc|kmG7Hx+7^3PC%S(Hw0QnX1B4kq>G93mvn}`P% z5G*HtcYZVTR_|{+0w|};MqbXJ%N$z?ITigH`y>A2L~^M9PqD*bi^LKPxV|DMVqBmd*k$&i3}|Wh>Ki6Q;8P<^_T;RriH{BL-vE+{5L8zv5#rL*3(-< zBO*fxs%qEcRt6%N4eHUkzhg;N> z;TtFTe^kA7SXEopFATWB4bt80O^0-&bhjW%NJ^I=Arey3UDAS-gp>#hC@Cr+NGYXA zh#(;8>h=YId4=Lm}xbB;OU7xc>J{5mn|jZ#iccc1o^Y(5()k0G(2OqTRO z)8j2-ZBYW3U)>CnJhh^JTLd5g4)gLtkw0X3MYJ10n3@D2*Jf%2w7UJ4;>VL1GHB}d z-sGoMWepOdX4BMUS2`acn0+td^uG&fsv!{(B)#M!C{7MDg_jqm`>Lt5>RA#VSR_k? z366pmxj*PWA8IDHI3}t&{V`NXXO#X+XXYxCAGot3>l6Jo7r*-E>tyOA`ugqf;%-I&-0RafKNk~@C6|Y5sgu30dLBjg4)Ex!O=aNF^7E{9g8^Uyj2 zbFwQgvSU6+Yd{sy3LTOtcJWvm4TBjsc-)g!1B+u_)4J*IV6G@7w+bbTbEdm+(d(z3 z@ER7vkcD+Pr=;ObRA~G@$ssyxP(=GO-nsLnekohaZ**E|H!^g~m)=y2l~IxDF(%{u z6tj2&XCipoSoyFyh51eSqufL|#H&{V2Oy_>JgMhQJ1BT^oSv z;a_rjLD~vKMAW;_;P2xCPCa#*_JTfqT(RnJUf{)d@npa2>=V8VITe=r=+?Me&`O@# z?yY;sMM;s1W_&)UPso{AI&yimI^HG24295Ma{MF~Eoy_e(z*5ewLaNW`l5Ij^vV|i zG9v-bJEl?c*rw19liJ+f50{KD?s#xH_)Jz~(~gnrl}cJRImCnNTp7&fH(I8wuY$o$ zrps=%w25INfMNQznReerOg)s_O|zbg|x`haWE_1HB46Obn*tA zB)S`u+O)2Pt^SQgBoQ9)wH`RUcni|=*FbtJATksf3i_E37WRSx{bGgtBg*Zm^}TDo zdadrJkz-mvw|MmP%XNi2Oe%|lY7_vXYdR!fGXAt|cW-L^OB*3ejQ=gzRy`DO)u;f1 z${*lF`UAGyBtQrly3&4g_VG`uY9wB3_j5H>S!LDpk53y>%wd!qb}8Q~j>K9+6aR;>~16xBAyU*@V z_`%fm=2&tI10G(g!ckQmKeR6t{eP6i#{7=wwGngA-Yq@@b!f+r<>K-DcnD&hV-ye& z7>v2Z~y+)>_%UwoTmWXr~j$hvO}Z;*JUduN_&QZ(RkjnTb!Y0 z9=*47XaqPzA^=<|w_4a5P+Y^Z_4$P%5aK=p0avZ$7mTJ4oNGX~-s*OAvrmOdO;*@j zM-EZAdp+2KT!+I-b~AuEtJX?q&lj^p#N*5jS%E^X?9J>8L-vKmxd3q~tIRkG z;F!iDr)y4d%Eg~RO$qGt)M$yQx2gatoK0A=+q21B2#;!HxEy9cL*c{WWxZ#x?HqSTt4N%aQDFS#p7_-WUck<7i z?ygreIN7;f$wxM`Fnq}G?;Q!lt^hLY&f>RMR6hazH}IS3si9gF&Ua%1GS)(R!RrtB z$6Ka!I)XJNVgcX}9p}0IIMoZ^s|_yyQ9Dy^@_!QbIDhD5%H~(spP4w=%iT!WjlP9y z<^>@1IDEvPlo(b+3fs(9EY4|`L}`=(C_64qHf;QOwNq}g_+h;GLJ&hU?JWV2M z-i1!ZgHMOXyqh62jw@l`-@kdP%z$^M3LhO?LA0H$Idm3cLZzv{mZ3$ET_Vh z18+5#KtS>rZo;Vb?Kd>}z%mx615Bu_B+vS5bI&iWW3CFU05h3`4C@aQR-0#aIJ5JJ zKlI*XEkgu0I&plx#$*6Lf%9^N%dOU;(00G=0U+14S-GAe%NWIO%UFwwWP4u^6aG5D zfPVF)m+36_8RUDq`C*n+=@ILxGfdoDxX&;vpp~uNkN$mvxpZmv2>>Q9 zi3Sd-u-0*ooDr?wY1)T+DJI+t`DmXj;zMkg|FnT=#vTx$E|vPr@z`YMa=@X%TcXNZ z(TbjVb=%wKrIgTIg$fUVOzJ^;WN}1?+?bmb{KbtoZ|GnE29Ti&#m?~ zZWxCcypAO^?R4l#^3hWxJ3V=kI@VIcfER;<#J9|U;l$q%{+4yvi9hiCF6%ozY;_H? zxHwqb$93*td4M53DtqSAlzL?|h53HqqCk#`&q^M{_q4Z3+BJ5cZAl{h)ZpVY*2&4{ zx8M26zb*N+Ew_&rcYUe@>USYw+LANT2hkU}eC&pc1V7a>Ow?zz{Q-paOI|}#CO`}6 z)K?$>Yw(-4LnaX~?+i%ZVXDKX#UQu#Or1wulCc(0aYLS`uv+xQQA^TR8P|+?w%00) zC+nVmXza98)sWg3?o1PUB@&vcmr?Y0YwpQ&&(CgP*}@0_EDJ9Ch~*K5Oh)PFrC+su zMrK4v;9a`jB|~5k?Eo0N2Bvb!Y>L+4?32t-rrCNS3i68i6_+kEEN_G|398hZ{+naBHi3eH#N29d z^%MLHt^c^UDGw}Or2Li0XqO+)_O8O@XKVF5)-Q0n#Kw>HRt$w;U;o^}R^j40Ra22m zSJNOMcUKTw9>1Jp))@_BvT=4HU*W28Vmg6*HzzQZS)|hi^ZP9B5K_xfIc4TGWt*saG5bipP^ak zym<`Dn7lI?%t{9++tNdIg~yo*wSRyp&?Z5=+^!NF42}Q}pBDfS($^7l?()9yz5}Kw zl6Vf@RL#}O520()*%!@A5uyMK&Yi6vwmd=Ui8FM7|XsP={NrZ7h;Wy#>6K(oBQTyF7{ zL{DvS{yYgIG&$Vm>Lw6Ufkf-^79r<_@xFlY;4g`0%fFy_{s`*-dBM~ir>4-vlRtY! zvrB46@{>}vn+(?b_G^AlZ(mr84UFkH2%mGUf4W~w+lm9G2cCidfMGs908>jbG- z)yB@_ZC(9`a-R;(90L@CP)~qJk;i8Y2jq%`18k%^Xe(TDR(W?my;D@06~mdX9^4Xo z&!VAD|0}r`H*%^^xV^bsOU}@&mP?|U!pvY4g?&sW<^VH;&z|%L6^M?(Og8%;JwfWq z$7cT5l_#XY4k}>1@@MVoMbQ}UrIj&1sA=BHD$D~Vo8kpsGj0M-*uOdne>aa=!^rD= zKA}DMbXDM<69})Azh?<&v@0x3^Y4hvw)r|&Eoe&jsxw`CR)8Qb5O8ad?O3aDERlf2vbu|&0K z#eq!>HqikGY@*ZLf1R3IL%=906}<6WjjPui5SuA7x0iT)ev4#q5uiWxH*_A=2v||- z%;M{L0tLB^!&42zowz_3CCo6ZOmth*N+UT#t4LdUL4s` zgUsSs7yb-!l~#6&WBpEO`kX`4hFToBjG5Z{T{pNV`WR@zn$%aFc67M0nFoN>V`LJ{ zHbviEHQ-C8>^CU7Jd-Z4?hy*mb&9;_Z8<7fGnwklf}ggq1EN>3zt^~|t|FEwy z@Lv9zhsK(ca~X?7>D0SiAR+&-RpNrblxp!oKF9(F%|Qd6AB-NXO;k)6j)+iPuOk2S z_+*xzqUMXD2{&fUSwe?0TBT8Bhm=9A@1A0$s}@1RstY zj)VTqv=T=!LxSNbtyPcK%a<5%%|(EMXd?jWK06t*2|M}DJUc*#is)vJQzSN6b1C#z z(1^=tl<|J#OG>)?phs^T25nKn&qr8)6q)=%66f|CG}r_+nbmNa3{oWP9g-99sp2$y=67{WEa z2i~Q!;her+r6qlA7eyMFSN=d9A?r!&q{nVYh=UcTb+Qkkk(IH%^`*gZrz>Gy-aeTD z?+=nZTplx6>IAB|m!{7&XTPiZc%NzfbqiK`7e8c@|ff^A0xN zbGBLb3e(D=jrr-5)-R@$@mO+wq=cs$ruIrCi3(B7CAzKUZ2yhgi&6oP{2cQmIzbC+ z8lN;-ymcLrY?%x3J-DxvVMxp(_t8}B$+UYw*oSR@3O~-I?vatiM;D$=UQ~e>1N#_1}qV?qrx;}NJ^#%oR~XsM zjYV3GS|Zv6CsqA4rdrDkOqZnihYu?#@Xp0Geq&7x+O4qR&hux6vS8}L)7uPqSfte8 z%-t+4B**MXFwF8f=^8vK9E_pQ_{X7iQ#->!LqE}fqmIFqvGahP>k&79YQG$wfH#IG zU(&POkZmo``Qq8N*^90E5}%M#*-aq-(IG+y6Jp?dll0PmV$xm|g|MU$@8*@a8%D)Mz)p{)x~Ge`6dPW~G2! zt#x_i;^~lx<0RZ{UUWS%ixe(gj?Ko$1suTBCCDRISc(I8I1|WrtXtf^e%9{h;k)V! zy`2QP&@9u^6r0(>wpAU+_c{$-MbF8n`$!@jkSe~Z!ImfZCoOzSkQ?SZ@v2Okpuz>>W?TX28(% z^XG2vqW>B)r;>X4438?X{7Sh`8vYL!zyr+kgnmt=VO1^N&Sw%MHMhZBTJq(A&U?nE z$CRCBGanO&uD%pK9)(fXC(u|K1_8r70z=vFS@eIiQTm3tn8lA>F6nAcp;W5f(?W~4j$1puqG+P!zZfpn(wTyXI3oee}F0d;jLy-Yh1xO*zdQ#9IORni_MT7 zB&TiYI-MO9dU_M)n$)_|X9Dx{T~bP_7#_If%t<;q3X0fj1O>aC&hyYOgTso1Q9`TV z?D!*}MJ@O%%AWrPF1)LrE|Ts#!};1|@>wrN-mP6tdjbuM_+UFA(FkRXt5J43^Aut_ zj%s@Bpyi{T1fP)8`jrX&5insbA8&zj;HC4$6N=R!>P8Qi;L!2Mt3kLvAWNm+KmVz>s-wus|7^z**Gy#3Zk30lpt=+N`h z$;Pr}8jfluhgvYhtOw%VNb(QxTD%HI()T3fiiy7`iHmLLB(wg^#GMgAZoUCF`k;W% z-?m&1k6F|T9+G6g0{r61}n2y)KguM6Oed^_PV7}hQ z?-sql*hbVOabUv|dN+n(<1N#@XLqE?Vd?cVK~&m~DY(aPfVR~Mf}ZIf#Gu5e3h;rN z1n1)d+L;CDkmkR-Ak>QS>jNim_Vf+FYxP8ygb8Vwf`-<|JbbJvk}@aI3A2_JWxSe! zUX`x!129HTk>wuXv40H>5F`^Nr1gc;LS1vx1b$TRF_C*KpJEZslPRfHE>8peN*GLm1CjWHom(Pb8E+m*w zA-!%v;>m8N0XS7Vb6=(!r%t$N zoWj?Jt3muZ|xn{s8=zI+@H^>Z|yy9PzfIt5=CX;!;2nh zGM4(lO!26B2-s4>{aVm>`v~%8C5PHHh&5ZY@2Wxib1Y}|73KA5qxG-y(wp!#^$#aYW&~I(+Q+>6%^0sE{PAHbp2h-j6)7w@*Yz zfF#5QY{fgW&5+Ft=g<@}TYx^)gYDH3Hlxq+2fx8m4^TDEt}8=%M`UA8vV_r*rnPC_ zeyLB>9&`W#JH=A@)L61q+)1SKPmCWprN@wrr)$2gWpbZ}<7_DrV&TD(X9pJ!ZpMQQ z#f|F9qH(0d4tjrcz;kQ|&R<3fv4qF;sJc!m7f}|p4m1Hb;kELl-#&G%aUfH2;|(4D zSk!LX5AlsBaBNZ3q1)<4iA%X)`bw5bIuggtR!27PlPKX|v%51g<~BA9on>4$SU2y_ zC)%pUk>TY|VQ`TyH>eOSZHuSZ?gF3e6NM%-MX@q!%@LAy_H_ORm}Ru?gT~bwv}W#f zWx8ZZkdX6+euaMXd$*BaP?3kg=;8_l!uR^Hmp(kmWQNT7D(h{!8Mq{j2WH z1c7>QE^lua=>ZNr8UZHZugfs4u=OVTDkeVivgeSo@F<5UYx-gbIMFM&7|N!z{|YOL;eQe% zaOLxZ&m$psKmz1^S~o=G%~m`I$noDv z$^e0&V#s(_Z95XDZxs~S0=WC`lgep%5y^ zp4UZjH+e5MNB3~wLYK2cbTGbs&C|e+BU~!JbR2lC{wuA3?w^$HQ^mR5lNBqKkW-nr zGH5#RKv``plIEh>C|5kbcz<>* zi`vESWfTLmo!%w8s#R|-*)CR*^uXFvQGpGlB{HMF7Kx*v4@c|-utQsXzU$;nfe?So z?g7hr-&EqeYTXlq3r`#6uJM z7;C)(bjUh8wf5CTih4x!qs`s0w5`Tion7gX-Ro&Qw>r40(igZYO+bI0sv=g&1Z)0o zrcd4mi>7JWo$epYXTCFS7s}{kk%Hf(tAm~-+)k8A_y03VNHWD&S(srtP0Yd%GfJZ$ zZC6T`8DAz(!YlAmhgVQfK7(H!)eVz$%jE^AI2)i}{pHjCrM-_==QNUI)$b+t>}kh# zgKm-}aEuW#D&XDU`Bu592YMxQ0&@>XGjA#1C%y~ziS?x4Z+LZlH@=w`^bO=EOg1L# zSZ@EVNNefPrK|R`u^}BHaD)h&j#MaO$D0!h8sT^VE+!s(($Kk{;gdm~ss94(Px+0@ z<5D$msV1T#5ZSeKLA2ypks8NWIK+f}ySygvOsV&$Hg`<~mTb9|LeepI13ycTYQU3Jw5OoQn~KDdsiE zDFc?aQek-TcQak#r9#}8P4ZN&m6Rpg3|cYbB_HYNYMmdg5PV=4$q1zXwSUDbQva2`_wi0r91 zcQMFjPP#rB)w)790`PVGh(F)nZGb!wAS4o*l~+&W6ZP`gKh+5g=VBiQxmmV18z6bp zDN-OQu1wlf{||Nmc;{6>DGLIosZ|X=pu8+mcVHv~Gfo|_Uu_f^+kw${-&c==QPuJ8 z2nhBt;8-M``EMA>iM*qXi&-Q)VQ9;Hd!K}u&mbh208^QSQ5AC&#jB%#qCFG?@Ps1h z22u-;@Jt2R8?bH9R=rS$77Nf%f|r*Ie9VUxWY8RzhV_qY5BIeZ<9kl2#&~CAa@g^>E6SzIg~ zrt(`j4#NxxNB-2(FC8pOBV7Wk;wivp>;X-8BT4+jD6mB>OI+fVAR`si*MaPfiplR? z3d?JDv$Pj5$6Bv>QlD_Hrsw6skFr!y4RNyqH`Mx0wlRN?qugQOhsx}iKojhf=aEC7 zFi5qZ{+mCO%d~)2zGTROHwz?@fvk#cLolYwXQ0VnjVb-D+-wR)!XK$iPfNKfA96no zX_5%q#TC3Y-#N#n9G#_l9hRW?37q>vKef6-Pb?R2qclS@DpmTla*rSdzGNIUuFcan z!s0ioJjPhpVh^i<0!bk8es7ljQ4YuJbdi`2q2hvx63n)K7Lw6x^Pl?;yZLqjb03<7 zoKSEEXG|rkrpKZ)q>aM?PSvF3Uxw&zW#X|uq)NSdqnBXh)$~XCVMflR;i8~0^s?`A zfBJ_oSEvK!gi|YQK!i%znCDSTnYS;yq}h-=m`BQ;9(-eYT1kJmujzIf>M+XEu`Sjm zc(FIS9k|q%VkXVTtj`gR0Z3Yx<7hdF@pO!~mDohLl$%pP%`iT0LF2NfdpCSHvHx0) z_Zuj{r+- zl!!1QQyh6&$h@h~)dLYT89QpR-oDag5{kAOIwW43Gj(jsw|evjrm#2Gl&rbQ~TI?YN~cd=*aATn@5e= z-QUxDP()?`A7}0iBbFv1^$omOiP%J>HbBf!cEbAPXm1b9lG|_Zqzp*%*xA2xh@boo z-JRR{g@vd{^?8VqmQL6Gv@mx?o%K>?2z?<+<@kXK_sa!*35igwS?!4Al;tv;?-D31+(~2 z9ka9lTQN6KxPaB;#P3FP9*b$5v8u&ik$e}fVrNl>kL1rgyroaFRlbZQjm*oU0i_hM z7UL%@?1C<6G`d`PMiJO`S&%%`Xg9GTrIK%3&oAl1dH>_ruSVoSVX&Sp>J$;0JAUIL ze(8_GrQp9FtIeUHZt{{+P1f@(Qp5CfMaK(}CtjH(-l64OgrnOJKkr1Xu^Z=n*jM+- zT82TtrY?eKY_lD!MeqMI>J1^*?Ke0=szo{ob}mJYQrh;Myk=Cr1=%G1%)#aaQj1k_lvXWN6|fbh5GM=RjBErQa9%zeW2we7bMHC-ULkdUto@3@`GUFgR8pDxnz z8FSV;Ex1l&--%(~dUemwdJPGmp=U z)|&3m-KT_dxbb|&9xIi~%5P#n0HjKVcgetD(vQ7dX3hEr7sY1IKPJN{ z(mz($i;#)c)M>n|cexj^eyoW5s2nJP{k@+UD9VFYYF!gQxacW%3r({m9T}aMWkTpO z&CZWG-F|QU`T6){9YegveRLm-SoB-sOpKF74b5+9z20Mz9+TkQ zQ{VSGUyL9HHJp$=L?k>f`IXTN?@?GgaRY|~Stdm%c^_*>8Z>4=N#57ydL+KAUFPym znn)a4aS8-AJtEb0P|V-f-iuR+v8LKa&~Wzw+i%uML1x$)7~*&mu4>bPD89naoTJov zbE}u}7!6*Iy`m*y9SgP|RVn&>YtF)=N$u$LpGN`aJYzYbbJ(~I#x}{EVL}8K^+osK zQ^^d8Wmp_0mcr*vdV5bFL_5k;A5B9bxZQT-R9Go>st3XfxMlCYyLTxD2M8lnEN z7f(hZThhc~2KaaH4;yNSe*!rhP#3}^3hU!l`g-!Jlu=aJ6=l6ZM6ZRrhkbcow}3n) zezbsTg?A`VtpWeYG;l!3^)tu0#d_Rw{CV!#?Wj-;y^OaidyQ#B{nDGn*w20+>vkSMB3^t+f@}8dQ!K+7nm`L(u#*}YKsl1nj@13*Y78@y> z>uErTaqG!@q>!_s@zv1DsPw3V1CuA$hYw}a&*J|MU`PX%ebuP3kJ(OB(|%_uXis#X z0qB!$Z~fDI^V3&MPNw-S3MWNGUN6GcoWy08_lEaR6*FH=oj0TG3d~- z{-`4=ydX1JO~8>&3RRi_OSP)kHTew@uAX)prNLivYDk=~qaSIjh(|e5%s=*?FkluD z8h5y&`TJX{y`+Qt6s+)&xNwS#Y(fbnd@^_r5}IY<1o)l?eN4r;o@fVUoMD=o{jraW zeyncQWgZbiDsnmAxi>&yx&^up0+5Mv-s($m0m`a&L$} zTXK&%GlR|shu58P&Um?)XU@9m-2BNQ5|fe8s_UbGD&#imb9(|Qo=4QORWBh^7*>K5 ziVtgwZtX%0?(txMkYVXa)uGtlmLLfece=|*WKWJ0!SA`Ye5n?n0Wp?K`n05TGInJ% z{HFDm>w2S3lys=Lw;Y&=p*6K2%0}{QvO9W&`qR@-jXWnA#i1v2hIF0I+#NWEaB+1e z$>r5c_1V8^eWW*f>#2H4kQ{S@YGI1siZY=v(hiEM8hq|a$?d^zNa zJoI5$vPV=KM#)EKTsn=?4pb$DPH;+9w?$*2{LKpi4Tdsh|=~vN5oVOj1=A6SDupPTq1iH?DaKrP%^$S29?oFlQ#v5cM z0G#`xjbJPZ_bfVX3SFu$C@WU`tnInWSnq@MY7o3?e);S#WgN~}IOxfjd<|S>(X8ji zsPaTF?8b9F_8&Ko@2+L&E=@J;IY8#yiPS+}*}Vjm?kG?={iX7ICVb5M zismm!+kLq1B3kDxxBDobvPQPBIiirvHNjK0cGLvB+yFC$WPu&kdvBxA)eLfXvZTDS ziRcXa$!o77Ywse2G|I%Ty&@b`Rogx!mTlBzHX(nap+WO){nbMN?Lqu3;<)iDftoKP ze9SyY7ApcsHd7o#b8IX6I%SE7*qb!bb5~VG7RO7Yn?pNxKbaD;C6FLlF6DhB?l0Wx zI6_500xm-m_ri6gP*yzCdl5x4wyi~npQpbR+YK*O8dbQpbmgc(!TdF z?>hM&HhbA<1jYROHNv~?aT8vIYdl=C+44?--yQVAJJrW`y{;CE+Q&dy`%~%{q6v^8 zIF#VA%{``yqoQu)MHW11hX_dChZEpZ7=OP|1E7eGVy`$xL-VBK*+_QivC;N@DZwCJ z2SMaSrAJQGa~EGqoRD`L$)$Op9DGYn@y4q00Dx&NoK8Ur!OAH%suYU4Qqc-plp`fk zM{on8RrJoU9DqN04n!(6J6S~76zDax25B*hD9yGS4dw`!r%tQGx=#y&zo640*~0LK zJOW^~GAiN1R~9ZbDYel=72W_uWXP3m|1Y=S9h&Y?s((QSchMK>o-l_KyyG{+6R4^A)Rn;tn%K2z_A(#_=+mu@zAB{CDJ=)5mo50W&N;aL~W z#dy<~e(`Z-y~D~ZMbni(_q^)nCdB~D291Dn7Z)9&dj>5)d#SNouNo}d#!rZ4&7s=* zHxq1RD0)d2+_kc%=vH*JtgWq4xDGt!E#VmaPLTrRQr_QQJcZsW)45zf&np}#xlQUp z?LsV=jm#d(1z|~!-&ylq3I*O3nPVtk{1lAs)ZOAY(Ugz1Pg4)YHY8b(3IuW$SO;az4AmisM$72>bSLq-%-7<%c^b3dT&uNTj5Pn-(RQ&X-1I zP~s9{GS@;sR+Te{_7dnbu!_C75m*={7~$`MK0pQwq2`24vB;ZL_^0PKu6A_jTpi@E zm^{>F|7Y-9$aeh4)~8|bTse@)@xM^H8$2;elvpath}p{vOEsO}0lk$2i5&`%WA}9yc`&)SMU;V5RT)O2{hFO4# z#N6QSp~#gnavN33mo}`i_;dx@Owa&9XU`#giL?uNU`F)qoo?4Dzd7Nf1>3oMFLr0$ zDO0w%;a_dhS{jX;LL%^NmgHt#*8HXh>+?44I|la!=zDFrr91)Vker+9Vfr_OsY#n6#y+h2dM z{;cKj|J~>x$+dz}Uqi08uQ0my;8hz}G{>r5t<-UT$aQjHuVH*0X|#)=PT7$AfTxd9 zx{JPoYS&{}>pCO(-qM+v&UXYd*2OyOhhMq;fJ>^A)sHcqvSw0<`AZ0Y zUdt894|ca_mx&|ju_DeXCeI#2lg&7hR&>2@by%ggzDwctWwYk0k@N1akp+1dX}f)m zyAc+nRDwdTa*6^q+E4!SN^k9~j6R4`$H8GC(NP{{ES(Z1)3 zE+@jXdZ}ao&dJ4RoGxdgI_@Lu zRE;Gf?Ce2`qP5#sOGY_~_2GZ@%EI!mZ+K}7-Z;8-R|*3^`};iJZsy-$h3VR#eaV#c)8{G91;F*NvfpAJ`b70(Jw>cs!&`I(TnRENB!F;#d=C#V0$ zzvpN+Samf=O}Y)yyS^dnO6q@${JR3Q?XwN(-o`khIR)`@toa2kc?Hcd-$&TSCI0^W zTv?%;vksWpG3E0th~o{*?>10Cc3g z^VJUzpTH6M13E6(6KMrMUeZ0xgK69kP*OC7WS`~f>?W2Ujf&1i((}U0qBwfcj<)KMtARetWXz|>m8uV6m!7%I@ zt&ru9xa`WYS(poMff^++if^1FARfhHQ#d~NWF+8~KEGWC=y~k$fDqE8-$mvmNA(@U zU&!NF@T{>egR3afef$lXOOY-2{@rn27XaxmsDjEu4!7G<5i2M--~ANNQwlfy1ha!` zP|Y;pxDzOG+~Z>Z@6OuJh<$893&PgpLpETRxlTbGc0n9fWhmniw>xEH9A0d4r)((M z_D>rkk~mRJG)&Fi4e%3p@G|1RUYqM4^y_QK5j4Lg9Qw(x)mdDV28tcfNXQvvE(Pdl zvhv9vRr#$xOmA`g57FI>B)AqApXra2YvJG(Nb3Tq2wYa=|9RA(>rb)$`K9eDy!(d7 zhQ;*&kk@x~y~>*@CUGOJS}8J`ZR#A^<%N3J+2-n<4Y}`GSABjezPq4sVuBovCjr$e z(fzYchRD#%0%_3-X3ucDqB+qKJjGdCoj2eflY*jUwG0%@5H$R$`IMz^^3Ic9vJC_U z0;+v1fkDuD_k$^_^Yc#6&rr)gVLwfrEoK8{U@V>~E znskwUn2NrFZU?*=Flwf3M#OvAlV6+K-20A(dDk<)H#DYIp(jT{Km*u=zP8hb{T|4% zRb6{>JqUF0{aEe$pJWLMw%if~poH~}#{Zfs`N-UAnD)zKcj(37CUCs)EO7t3Qz&6( z{x0c^#^MQ*@>MwT8kcL0x(0fF4Vb?d$YbWas`KfIE)|asoh5m|L9Hqh8x3G9bFH?| zRFOn1E8G71n)J%-z(Co!Dg6o|?XuhMkFl*iV4PO@d>@>7-sUkQwg>1)*EUEMi=~HH z!z|&*wdk@2JC#>0cE!m0Yestgvx05<)5r&83(ZY0-1(37d7m^~ZwncMAyhhe+-h=3 zl5?oazlhq|4<*!&Ei!;@pqKS22e{c|U~tKF)xs-~z3C5a&W-ga4IlJ=k^kKskvEn5 zYqnPRqW824Fno}N(7`@md-+$&R~6HVzH&3BzgO0m^hXY_l2~&v;w9AqR*`wLeC)Ug zJRg`6RlrebUx>Uwim^qehk;K4XYfrS0K8wSpzx`IR_@mUfX*|lF=(V_&o;*kTTd21 z6z7zLpq~+R=k1`23B%s@bdQbP> z_CDMpDq>~0!gWGyT#EYQk27s5*;a@6-IM)OwkOG>@C5(27<)^ubsNQtvTCW3@P2eA zUi#~EjvXs!s%hN!P~(t2k09hYCV;!>#d(i_Dk69>-Wzq}t+yGt{D|mMRPKwq-P~SI zI<|V|q}}57ri#iP8ORzVJCMjXn?gn(N#e;OH1p=yV6uVN4+gDj#{|nb=DPtN= zu*o}-aP5`zmcR*JE`pc)g@8CMTj+sK_U@{hwvfe(dI^tQ#dpqSNSbDY)Yen)?eB}j zj4{IVGpCPPiw7SG+g6u$X-nxH?BUCNslE9F4>h>!g>@5{ep6O} z$$(dVn!gO#)46u-8!vQl)yq#LwV0COWgjrWO@~^uFco0a2GN_dTt=NML*f+yU;j+$ z6-cCmj)KBbzs@Y8iV2Y5>22u8_rcJ*?;tH+{G$rRE+D>{y~oS+0r@gW63f)T6IvsC1- zP*Xg@@%#4n^fs^8ltF3jh@qnT?TpDR_`z}nu{G}b#E7U2AZJ2>b3t}Z>^`A-w-bem9@nQ`(N zTv`nYBIxdCsmO0qQ@DK6DZM=G)ukQFO!+3}wM$Kam+P_?fKo*i9CF}C!m-{MBsHmr z69_j9)94V7FsJQPwdI32o%AXT*&q66OZd6mJbGabFnf$6@+QP|U8zJ-#yAll9s+q+ z{P=0y#iYtdE&Ns%M+f%tm(Bhsn*IN7BnvE{70RLv-ldFF8LGAYvCL-@|#6)z^L%Xi-;w0QEGbjRlU;oaf+BV=S=h5TrZ zw*}I0As2;wMqv@Pwv`+6laAr8e)_TkQvRt*RZ~i zV{umGe2miR1X!aV%?BGol4bGoI{)>du)EU;-SPkZ-s3nC^1)*4L{Cgd`hT;!yMDfY zv^SL`LGi!Oh-3^#IAi(9`Av@zxm5@NCL}FgEu^|ndfKHe9Q?0ipIb;?ZPUqF5IIL8 zkrxQ~u^SLc(YO(_E#g9@Qns}Yvl44V;^IT;4+P%T(EZnX8%F?luFn^wtW+`8LWznU~%nZ_~+%`#J{6wg-@P=U~RgREAC4 zLSF=DOJU)?HI7Ab8bQ}DX8h)2WvBnUM~u{9k5KnCKSo})4+_w=l@PVtrVw7~*Qo}Z zh8@L!dIdzZA2qMlxB#aFnVQZ8FN}Phf3*+YmR4LAfFx`oZVj9JUwsdKPP{jt=G#2q z#69~q3#^tOx%MeW0Kr7`9`~(NEaLy?Q!PhA|LUbW@;8OhwcwcqY25hs_xEI&E373J zU}F|)&u9Irl|zyX$`nqeo;YKJFafhhTW*RA8gG4$V6go8%UwvfMo!-PgXn=%hEQra zenunAM-5tjGa*@SL^F~|%?fqsLn1|j=aL+Hdgy$z{a$!W()k1Peu@)6__S?nQAKg4 zWjUPW&F=tutw4FDMrzRCK8>ku$srw^hb_%OSP@mX1=dqOm=|#C@D`I^`H* za>C3rY$Hfu!^Ga}pX(mRCRZQmZa>k;{4)2j_o5qecLNBBZrSP*QyZ4t7lpw=3_dta zGP(6BSGw#|<*!4M9?$^r9z_2}lueUAApE*Jpm0f7{7KGd;qR-$Qx#BA!M_`_nn&=Ic)2v-$%=|I$szB^wmXKWh=Z3j$#PkideE zzg6hr_jYhaKnC|`q+j4bEoVS((4)t*eJ!~g7>9s=GL*fk&aN-Dg7^&_8r#K)X$zqc z&^SW(?1(e21?l2;zqL}PTdh4I&okWlJe&ETYhO!kX;P4ZO{2jb3WMz5J3Y*~@OBLN z6G~OqiM?C<*k(HF1ePsBuFtii$2#u?`~Uhn=lBSzR{syZ>qaVIy~w-mIy6&Rh5oDp zL9G=04Clm>-jSU2`KgujFxDyGCy))R1OFRU7*!T0&{E7RNneRFR@13)x}YBo+_$DYg)!I=nA z@_X#HMp1e^Bb9JUK_r1M3S41;nx`)hA3(K?6_a&&4r<}SOJD*$p-LvdtR=$i-g5)1c_VLkd5;ld9E+L?~T$cw`dr@&& zBl1JU@Tuy=rI~`H5GEqkQl7IiKht?QG*dnz*2l>!s<-R`+K7aoM4=Ffb1J8WRtR9J z4e7lEByAF@b_bxLP*X)basVy9)l3FIpZJe{bttb4IPuo7Kl~Y+p?XtrvVZhr7qlmq z(N>@Lc$< z|IfvzpDJ4T24Hqf;OTN6?ZDfZ1a^rZYz=o90j+<2(IDmZwH82hP8sF$!GC2a4*=YK zX~OkRK5w&W`6z~m=F||yBQm8DO~mEFvUUKtLSy(tR)1V1%8-anE(jrht;Y5l9VOJevHm15M||-BA)HR zH37tNy>0UwI`7BW@p5_3pf1yLRHR6HE{zSsKdORq9*KWNcb5p2<9=thFC_>tmqf~3 zt2Hwce)T)@J&z<%%bjQK^)X3^BiIc(=6Cl8ppiZIh1;-bb6utML7C?YjV_ftuk--4 zOSVD|dFw#u4}g=%67nIg!&k-BqZeKxh+QMn^XzH7gb!>>ekxOadKKuK^W;5;9(fY@ zocyRNOBn|#4VIF~yNia;0Xlzgdw?h9Rg_L+ujgxyQ0Jn+$D;{>DkmCmWx=gn+KKra z?CU3hGMql-$GR+!`Ye*g_y$?8AD6IjgfVbt;C*rF>}EIef!N$uduD#0j#83!V~Sks z4pPqkBbq&!AjOrC&&}zdF6t+dHHrK#NIr{^kV@mvC{dxrs^`kBjubaQ1L_Iz{y%J9 zFV{*xnUtg^x!&q|1&4_}`fYr9K~b&Q)84~uBZC$2{+dAG^JrRsmU9iN8)~FY(3-gl zZr>kv?!|E@1*N;Z0bo+;re;Bg8FVcDG<|2@5w$8=iWG*xEBlr(oQz)KB)^z8H4%y5Fng}tx31Co~y zZ4aNa0I@jGn&5bNG|Grg#7L48ntU6D$AOxc{!3{7pXIuReg(Nt`%1pM<=0ZR?>*a; z$xWh}E)t_-Oy_+!m^lBz) zDTloE?&kT4T4VAio^SK5BWS+XgX0ss6T*Iu){HHV%U2S4jX#iP zm7I))0J4mf1WX?5F}!GdcPTUYPK8esUbr@S9Sw@;{H@aOFj!puiWMOj0)n(=8c#n_ zsN?cL@9u!Vbqn-n<6SJ`S8m47}l5KM0096nl93;T4*9!b31XWq;_0TkR9GkF9PX#1({js#we+f zV@#>c--=e-`H07};^mTSi_C(mzO#y&eQsRu>{x-3hHfrD*7P9Lh?^&!d(dTMcvc*B zj8qL>wNc5h$>VUKu&Q>~l$X_cy1;vjQWlSVQfWt^BEKI*MaJ0`D@oED^3t#@o4f?@(;3lu-w(i*J#!DtgBkaGt->d(&oB}G6v~R_&e{( zx>hdHOTZ@Nqf@*ypBb$(04|nrH~}<*OHyn11p$vb76VB>2?K{IIg0NEBd=(F@OGK$ z`AM;1Ti1%fj;p{0@lRfvB}u7C@15Rh_cJY388{FFIvHW*#y&G{X9XRW4vob%yrrK# zEIifny|xLodi-?|u2(iFeHF63E@QPutc&i!*?GH8UNr#~Gr(~U;6Rl8>x9L?sr)8} zP7}~h*AB6NQGeoqXKKY(JZydEy4OZ~{-g;@Z?3-#9C`1Y)hMjyQ?OMXc+Al%;1LTu z@1!qzYyn)HC~WT`-3W}iH|?O#r6RD+azJqdsHy_)Ti8All#LHmb*!>wDRf%^!591=a~rZKJdqO17Mo=+3vK@)Qy^nr=|&u%j_BWHz$ z907i;y`1`|RyrI2jiIi*+f)#l5>+y-!+|9zd%;|$e4hqjo8uC2d&MGPWngjUJn&-B z&#Sxm?tq$2;-K`wn)dpLfJYv%Q)Y2u^UuYBKY<4fZ3XTi1MRXr=QuAMxGL*z^;E4; z9p?(Z)4gd0=jK?x`+8b`|BmmVlkVbI0ayK|2x*ywrv37M_rAB+ZZBxG;oj@~&E_nh zS{R;Wy}PsXT!|_0bel7vixjMiLV?qbK98PG)IZ^D#VJ_#K-go6LdcKcMnTDMz~z`P zYgX!0k^_uuLTh>Hr z)d8;t@R-H4H6dj)bV^YSlml5;U0ViBfWQGR(7Yi~F|c&3`kDI)%ms@IaD&nSQ)u>O yU;_h`LV?sJDPZQw-22C@63hjQcCa%2XP@U4a!1_W88|V@z~JfX=d#Wzp$P!fc^s|) literal 0 HcmV?d00001 diff --git a/docs/static/img/examples/example_traversed_graph_BFS.png b/docs/static/img/examples/example_traversed_graph_BFS.png new file mode 100644 index 0000000000000000000000000000000000000000..9ea4f5d3063626480042eb2aa8eec11976f60d33 GIT binary patch literal 53759 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¬NVGB~$2<>P!As8tRj$vGW_6_%Hd+eX6w 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 Vj^{Sxn`H1GJuL&xa-v=6{{iHkctZdH literal 0 HcmV?d00001 diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 6b5ca537..2654a56f 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -17,7 +17,7 @@ foreach (EXAMPLE ${EXAMPLES}) add_executable( ${PROJECT_NAME}_${EXAMPLE_NAME}_example ${EXAMPLE} - ) + ) # Include src such that we can #include in the sources target_include_directories(${PROJECT_NAME}_${EXAMPLE_NAME}_example PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include) diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp new file mode 100644 index 00000000..ef7a6445 --- /dev/null +++ b/examples/transport/main.cpp @@ -0,0 +1,154 @@ +#include +#include +#include +#include +#include +#include + +struct station { + std::string name{}; + double gaz_capacity{}; +}; + +struct road { + int length{}; + int get_weight() { return length; } +}; + +struct graph_with_start_and_target { + graaf::undirected_graph graph{}; + graaf::vertex_id_t start{}; + graaf::vertex_id_t target{}; +}; + +graph_with_start_and_target create_graph_with_start_and_target() { + graaf::undirected_graph my_stations{}; + + const auto station_1{my_stations.add_vertex(station{"Road 66", 13.5})}; + const auto station_2{my_stations.add_vertex(station{"Long road", 7.3})}; + const auto station_3{my_stations.add_vertex(station{"Stop & Buy", 25.4})}; + const auto station_4{my_stations.add_vertex(station{"GAZilla", 11.3})}; + const auto station_5{my_stations.add_vertex(station{"Station 32", 73.12})}; + const auto station_6{my_stations.add_vertex(station{"Last stop", 0.5})}; + const auto station_7{my_stations.add_vertex(station{"You won't reach it", 55.5})}; + const auto station_8{my_stations.add_vertex(station{"Went for lunch break", 66.5})}; + + my_stations.add_edge(station_1, station_2, road{125}); + my_stations.add_edge(station_2, station_4, road{205}); + my_stations.add_edge(station_4, station_5, road{325}); + my_stations.add_edge(station_5, station_3, road{1725}); + my_stations.add_edge(station_6, station_3, road{88}); + my_stations.add_edge(station_1, station_5, road{77}); + my_stations.add_edge(station_5, station_2, road{93}); + my_stations.add_edge(station_5, station_6, road{193}); + my_stations.add_edge(station_7, station_8, road{5}); + + return {my_stations, station_1, station_3}; +} + +void print_shortest_path(const graaf::undirected_graph& graph, + const std::optional>& path, + const std::string& filepath) { + + auto shortest_path{path.value()}; + std::unordered_set + edges_on_shortest_path{}; + + graaf::vertex_id_t prev{shortest_path.vertices.front()}; + shortest_path.vertices.pop_front(); + for (const auto current : shortest_path.vertices) { + edges_on_shortest_path.insert(std::make_pair(prev, current)); + prev = current; + } + + const auto vertex_writer{ + [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { + const auto style{"solid"}; + return fmt::format("label=\"{}: {}\", style={}, color=black, fontcolor=black", + vertex.name, style); + }}; + + const auto edge_writer{[&edges_on_shortest_path]( + const graaf::edge_id_t& edge_id, + const auto& edge) -> std::string { + const auto style{"solid"}; + if (edges_on_shortest_path.contains({edge_id.first, edge_id.second}) || + edges_on_shortest_path.contains({edge_id.second, edge_id.first})) { + return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", + edge->length, style); + } + return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", + edge->length, style); + }}; + + const std::filesystem::path output{filepath}; + graaf::io::to_dot(graph, output, vertex_writer, edge_writer); +} + +using seen_vertices_t = std::unordered_multiset; +struct record_vertex_callback { + seen_vertices_t& seen_vertices; + + record_vertex_callback(seen_vertices_t& seen_vertices) + : seen_vertices{seen_vertices} {} + + void operator()(const graaf::vertex_id_t vertex) const { + seen_vertices.insert(vertex); + } +}; + +void print_visited_vertices(const graaf::undirected_graph& graph, + seen_vertices_t& seen, + const std::string& filepath) { + std::unordered_set seen_edges{}; + + for (const auto current : graph.get_edges()) { + const auto from = current.first.first; + const auto to = current.first.second; + if (seen.contains(from) && seen.contains(to)) + seen_edges.insert({from, to}); + } + + const auto vertex_writer{ + [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { + const auto style{"solid"}; + + return fmt::format( + "label=\"{}: {}\", style={}, color=gray, fontcolor=black", + vertex.name, style); + }}; + + const auto edge_writer{[&seen_edges](const graaf::edge_id_t& edge_id, + const auto& edge) -> std::string { + const auto style{"solid"}; + + if (seen_edges.contains({edge_id.first, edge_id.second}) || + seen_edges.contains({edge_id.second, edge_id.first})) + return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", + edge->length, style); + return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", + edge->length, style); + }}; + + const std::filesystem::path output{filepath}; + graaf::io::to_dot(graph, output, vertex_writer, edge_writer); +} + +int main() { + const auto [graph, start, target]{create_graph_with_start_and_target()}; + + const auto weighted_shortest_path{graaf::algorithm::get_shortest_path< + graaf::algorithm::edge_strategy::WEIGHTED, station, road, + graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + print_shortest_path(graph, weighted_shortest_path, "example_weighted_graph.dot"); + + const auto unweighted_shortest_path{graaf::algorithm::get_shortest_path< + graaf::algorithm::edge_strategy::UNWEIGHTED, station, road, + graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); + + seen_vertices_t seen_vertices{}; + graaf::algorithm::traverse( + graph, start, record_vertex_callback{seen_vertices}); + print_visited_vertices(graph, seen_vertices, "example_traverse_BFS_graph.dot"); +} From 97ccea70f449122d20d2a6773033d64a03f6d978 Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 1 Aug 2023 23:20:15 +0300 Subject: [PATCH 05/40] - small fixes --- .../example_shortest_path_unweighted.png | Bin 56583 -> 60414 bytes .../example_shortest_path_weighted.png | Bin 56731 -> 60187 bytes .../examples/example_traversed_graph_BFS.png | Bin 53759 -> 59640 bytes docs/static/img/examples/example_usage.png | Bin 55425 -> 60003 bytes examples/CMakeLists.txt | 2 +- examples/transport/main.cpp | 8 ++++---- 6 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/static/img/examples/example_shortest_path_unweighted.png b/docs/static/img/examples/example_shortest_path_unweighted.png index 850ffe90197319e4533cdca2cd26d54b7cdc3063..f2d45591fea0f1b85b7dc812e6746af5fbd74f04 100644 GIT binary patch literal 60414 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%0Db@#`&V~ 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 literal 56583 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 a!G8ubjr!Np?u7;nK;Y@>=d#Wzp$PzBb6MR0 diff --git a/docs/static/img/examples/example_shortest_path_weighted.png b/docs/static/img/examples/example_shortest_path_weighted.png index 62dcc8666d53ec5670370ecb8f974ac4181999e5..0e7fa6067e2d4ab5877a1554c6172d80ba683124 100644 GIT binary patch literal 60187 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 <2aRNU{jVZZY0hyUvJv4^|?NgwPAogoI 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 literal 56731 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 diff --git a/docs/static/img/examples/example_traversed_graph_BFS.png b/docs/static/img/examples/example_traversed_graph_BFS.png index 9ea4f5d3063626480042eb2aa8eec11976f60d33..e38967289e4d256abaed9be2072135820efd3905 100644 GIT binary patch literal 59640 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

X*0EVrqwHX!{XIB4hayQ zugG{lIBYh7k+`}Ab8d|{w`RqPUmcCK7w{lj?)rgi5oIWRV2NOUy=BR3K6RhYRlwuU zcLg>iiJ&eIOt&oR%i23K@EjF~0&&b7WPP&D?5GoxcE1Cyez0|N3gfH;8liqmotRer zv=UYKmM&-WYefQ)0^8pHFmz6@XBLx*bVjdCUXMhexF$9>Rzgm$s*`5XDSw2-{7lB`) z!$yB3o>CcFV$mQ57$4U;v~s#0F*qWEl#y}DaTv?cbMl0llr-S>_Vz=^%*@Q~o$g`e zLuqD4g4yGImG$dy(5u_)9_od?v$KfCB=mK?(12&Y#;28 zIQgHnad+j}(&ux-`=4&pVhGTwaylL&0@3Ihp_{|*n52kUUXNGMLZzowjA2QT&*;S? zZtp}iu@gPTJJaadBj)@7#C!etI!V4Nz0-@AkWyBc^5~eE6E}8`8SY|Nh9`FVN@Ajm zmlK!0Id*y|Qi|lv@p}h)Zb*j?HouQgscMzj_%Um-S_P1Q0_uWh%QfQw9z`)n2wc0@ z?B!akF;MW24s~I~nc_U@zF$`e3ONS=GSKOC2)MYoHcpfrSrn%f`$Pt#)030w6W0ab zUB5kUA#MKg@TET&^fvNvi$2?f*TdU9lT0jnN!Zx+(Of?_8ZJuW#?-Uk+=I%ruL^P} zd)V`O`WU$2%Z!czKT3&C%;95Znk%xy?8NrbfA3V+LOVZNYAQ0>PNdslwv!(1qa}uE z9DNwMxaQ?%OeoJ+sX31+|>-kc{?x&G_eryP!z(eLVLH>g|#5E&?_(cZx$Rt;?8By5TnQhKuE?;=Xxz1uC z5@148E47FyZ3|~>$yv;DiC4Ikvl0!pMW$_U4;AC$mDxy$_E;)`aP4qCW;|@-IHp>E zTc!k3b?w)bgy3ucZj^XK+}=h{x#uO|O?`o|x9j7LxS7XB2AKB49aX-gOZNzlb15t0FgEq!Zif-6

RP^r?l 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%0A1q1|ey6m$?6YwSNgy~AZ5O$~_7bH=`CsKb& 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¬NVGB~$2<>P!As8tRj$vGW_6_%Hd+eX6w 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

AFF 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 literal 55425 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 Vj^{Sxn`H1GJuL&xa-v=6{{iHkctZdH diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 2654a56f..6b5ca537 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -17,7 +17,7 @@ foreach (EXAMPLE ${EXAMPLES}) add_executable( ${PROJECT_NAME}_${EXAMPLE_NAME}_example ${EXAMPLE} - ) + ) # Include src such that we can #include in the sources target_include_directories(${PROJECT_NAME}_${EXAMPLE_NAME}_example PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include) diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index ef7a6445..e242bbfd 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -63,8 +63,8 @@ void print_shortest_path(const graaf::undirected_graph& graph, const auto vertex_writer{ [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { - const auto style{"solid"}; - return fmt::format("label=\"{}: {}\", style={}, color=black, fontcolor=black", + const auto style{"filled"}; + return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black, fillcolor=mediumspringgreen", vertex.name, style); }}; @@ -111,10 +111,10 @@ void print_visited_vertices(const graaf::undirected_graph& graph, const auto vertex_writer{ [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { - const auto style{"solid"}; + const auto style{"filled"}; return fmt::format( - "label=\"{}: {}\", style={}, color=gray, fontcolor=black", + "label=\"{}\", style={}, color=black, fontcolor=black, fillcolor=mediumspringgreen", vertex.name, style); }}; From 3e55e23289ff626af36168d33926f23103331670 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Wed, 2 Aug 2023 14:53:45 +0300 Subject: [PATCH 06/40] Update transport-example.md Corrected trailling slashes --- docs/docs/examples/example-basics/transport-example.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/docs/examples/example-basics/transport-example.md b/docs/docs/examples/example-basics/transport-example.md index cecac7f6..e49a7226 100644 --- a/docs/docs/examples/example-basics/transport-example.md +++ b/docs/docs/examples/example-basics/transport-example.md @@ -11,7 +11,7 @@ Using the following graph:

 

- +

@@ -51,14 +51,14 @@ For shortest path, colouring edges with red to indicate the shortest path for bo Result of unweighted shortest path, chosen edges are coloured red
 

- +

Result of weighted shortest path, chosen edges are coloured red
 

- +

@@ -115,4 +115,4 @@ The last one is traversing the graph from a given vertex and printing the result graaf::algorithm::traverse( graph, start, record_vertex_callback{seen_vertices}); print_visited_vertices(graph, seen_vertices, "example_traverse_BFS_graph.dot"); -``` \ No newline at end of file +``` From 419b6630ba462c0554d24051eaf3febeb59db56b Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sat, 5 Aug 2023 15:07:47 +0200 Subject: [PATCH 07/40] clang format fix --- examples/transport/main.cpp | 89 ++++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 41 deletions(-) diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index e242bbfd..bff2f8e3 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -30,8 +30,10 @@ graph_with_start_and_target create_graph_with_start_and_target() { const auto station_4{my_stations.add_vertex(station{"GAZilla", 11.3})}; const auto station_5{my_stations.add_vertex(station{"Station 32", 73.12})}; const auto station_6{my_stations.add_vertex(station{"Last stop", 0.5})}; - const auto station_7{my_stations.add_vertex(station{"You won't reach it", 55.5})}; - const auto station_8{my_stations.add_vertex(station{"Went for lunch break", 66.5})}; + const auto station_7{ + my_stations.add_vertex(station{"You won't reach it", 55.5})}; + const auto station_8{ + my_stations.add_vertex(station{"Went for lunch break", 66.5})}; my_stations.add_edge(station_1, station_2, road{125}); my_stations.add_edge(station_2, station_4, road{205}); @@ -46,40 +48,42 @@ graph_with_start_and_target create_graph_with_start_and_target() { return {my_stations, station_1, station_3}; } -void print_shortest_path(const graaf::undirected_graph& graph, - const std::optional>& path, - const std::string& filepath) { +void print_shortest_path( + const graaf::undirected_graph& graph, + const std::optional>& path, + const std::string& filepath) { + auto shortest_path{path.value()}; + std::unordered_set + edges_on_shortest_path{}; + + graaf::vertex_id_t prev{shortest_path.vertices.front()}; + shortest_path.vertices.pop_front(); + for (const auto current : shortest_path.vertices) { + edges_on_shortest_path.insert(std::make_pair(prev, current)); + prev = current; + } - auto shortest_path{path.value()}; - std::unordered_set - edges_on_shortest_path{}; + const auto vertex_writer{ + [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { + const auto style{"filled"}; + return fmt::format( + "label=\"{}\", style={}, color=black, fontcolor=black, " + "fillcolor=mediumspringgreen", + vertex.name, style); + }}; - graaf::vertex_id_t prev{shortest_path.vertices.front()}; - shortest_path.vertices.pop_front(); - for (const auto current : shortest_path.vertices) { - edges_on_shortest_path.insert(std::make_pair(prev, current)); - prev = current; + const auto edge_writer{[&edges_on_shortest_path]( + const graaf::edge_id_t& edge_id, + const auto& edge) -> std::string { + const auto style{"solid"}; + if (edges_on_shortest_path.contains({edge_id.first, edge_id.second}) || + edges_on_shortest_path.contains({edge_id.second, edge_id.first})) { + return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", + edge->length, style); } - - const auto vertex_writer{ - [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { - const auto style{"filled"}; - return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black, fillcolor=mediumspringgreen", - vertex.name, style); - }}; - - const auto edge_writer{[&edges_on_shortest_path]( - const graaf::edge_id_t& edge_id, - const auto& edge) -> std::string { - const auto style{"solid"}; - if (edges_on_shortest_path.contains({edge_id.first, edge_id.second}) || - edges_on_shortest_path.contains({edge_id.second, edge_id.first})) { - return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", - edge->length, style); - } - return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", + return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", edge->length, style); - }}; + }}; const std::filesystem::path output{filepath}; graaf::io::to_dot(graph, output, vertex_writer, edge_writer); @@ -105,8 +109,7 @@ void print_visited_vertices(const graaf::undirected_graph& graph, for (const auto current : graph.get_edges()) { const auto from = current.first.first; const auto to = current.first.second; - if (seen.contains(from) && seen.contains(to)) - seen_edges.insert({from, to}); + if (seen.contains(from) && seen.contains(to)) seen_edges.insert({from, to}); } const auto vertex_writer{ @@ -114,9 +117,10 @@ void print_visited_vertices(const graaf::undirected_graph& graph, const auto style{"filled"}; return fmt::format( - "label=\"{}\", style={}, color=black, fontcolor=black, fillcolor=mediumspringgreen", + "label=\"{}\", style={}, color=black, fontcolor=black, " + "fillcolor=mediumspringgreen", vertex.name, style); - }}; + }}; const auto edge_writer{[&seen_edges](const graaf::edge_id_t& edge_id, const auto& edge) -> std::string { @@ -124,8 +128,8 @@ void print_visited_vertices(const graaf::undirected_graph& graph, if (seen_edges.contains({edge_id.first, edge_id.second}) || seen_edges.contains({edge_id.second, edge_id.first})) - return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", - edge->length, style); + return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", + edge->length, style); return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", edge->length, style); }}; @@ -140,15 +144,18 @@ int main() { const auto weighted_shortest_path{graaf::algorithm::get_shortest_path< graaf::algorithm::edge_strategy::WEIGHTED, station, road, graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; - print_shortest_path(graph, weighted_shortest_path, "example_weighted_graph.dot"); + print_shortest_path(graph, weighted_shortest_path, + "example_weighted_graph.dot"); const auto unweighted_shortest_path{graaf::algorithm::get_shortest_path< graaf::algorithm::edge_strategy::UNWEIGHTED, station, road, graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; - print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); + print_shortest_path(graph, unweighted_shortest_path, + "example_unwieghted_graph.dot"); seen_vertices_t seen_vertices{}; graaf::algorithm::traverse( graph, start, record_vertex_callback{seen_vertices}); - print_visited_vertices(graph, seen_vertices, "example_traverse_BFS_graph.dot"); + print_visited_vertices(graph, seen_vertices, + "example_traverse_BFS_graph.dot"); } From 7e459bffc2213f56c7de0b3e126d82a00c208049 Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sat, 5 Aug 2023 23:28:13 +0200 Subject: [PATCH 08/40] reflect breaking changes on main --- .../example-basics/transport-example.md | 14 +++++------- examples/transport/main.cpp | 22 ++++++++----------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/docs/docs/examples/example-basics/transport-example.md b/docs/docs/examples/example-basics/transport-example.md index e49a7226..bb8ee5b3 100644 --- a/docs/docs/examples/example-basics/transport-example.md +++ b/docs/docs/examples/example-basics/transport-example.md @@ -4,7 +4,7 @@ sidebar_position: 2 # Network Example The undirected_graph implemented in `graaf::undirected_graph` -The shortest path algorithm implemented in `graaf::algorithm::get_shortest_path` +The shortest path algorithms implemented in `graaf::algorithm::bfs_shortest_path` and `graaf::algorithm::dijkstra_shortest_path` The graph traversal implemented in `graaf::algorithm::graph_traversal` Using the following graph: @@ -65,7 +65,7 @@ Result of weighted shortest path, chosen edges are coloured red ```c++ void print_shortest_path(const graaf::undirected_graph& graph, - const std::optional>& path, const std::string & filepath) { + const std::optional>& path, const std::string & filepath) { ... } @@ -101,18 +101,14 @@ The last one is traversing the graph from a given vertex and printing the result ```c++ const auto [graph, start, target]{create_graph_with_start_and_target()}; - const auto weighted_shortest_path{graaf::algorithm::get_shortest_path< - graaf::algorithm::edge_strategy::WEIGHTED, station, road, - graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + const auto weighted_shortest_path{graaf::algorithm::dijkstra_shortest_path(graph, start, target)}; print_shortest_path(graph, weighted_shortest_path, "example_weighted_graph.dot"); - const auto unweighted_shortest_path{graaf::algorithm::get_shortest_path< - graaf::algorithm::edge_strategy::UNWEIGHTED, station, road, - graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + const auto unweighted_shortest_path{graaf::algorithm::bfs_shortest_path(graph, start, target)}; print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); seen_vertices_t seen_vertices{}; - graaf::algorithm::traverse( + graaf::algorithm::breadth_first_traverse( graph, start, record_vertex_callback{seen_vertices}); print_visited_vertices(graph, seen_vertices, "example_traverse_BFS_graph.dot"); ``` diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index bff2f8e3..f40abae1 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -3,7 +3,7 @@ #include #include #include -#include +#include struct station { std::string name{}; @@ -50,7 +50,7 @@ graph_with_start_and_target create_graph_with_start_and_target() { void print_shortest_path( const graaf::undirected_graph& graph, - const std::optional>& path, + const std::optional>& path, const std::string& filepath) { auto shortest_path{path.value()}; std::unordered_set @@ -79,10 +79,10 @@ void print_shortest_path( if (edges_on_shortest_path.contains({edge_id.first, edge_id.second}) || edges_on_shortest_path.contains({edge_id.second, edge_id.first})) { return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", - edge->length, style); + edge.length, style); } return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", - edge->length, style); + edge.length, style); }}; const std::filesystem::path output{filepath}; @@ -129,9 +129,9 @@ void print_visited_vertices(const graaf::undirected_graph& graph, if (seen_edges.contains({edge_id.first, edge_id.second}) || seen_edges.contains({edge_id.second, edge_id.first})) return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", - edge->length, style); + edge.length, style); return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", - edge->length, style); + edge.length, style); }}; const std::filesystem::path output{filepath}; @@ -141,20 +141,16 @@ void print_visited_vertices(const graaf::undirected_graph& graph, int main() { const auto [graph, start, target]{create_graph_with_start_and_target()}; - const auto weighted_shortest_path{graaf::algorithm::get_shortest_path< - graaf::algorithm::edge_strategy::WEIGHTED, station, road, - graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + const auto weighted_shortest_path{graaf::algorithm::dijkstra_shortest_path(graph, start, target)}; print_shortest_path(graph, weighted_shortest_path, "example_weighted_graph.dot"); - const auto unweighted_shortest_path{graaf::algorithm::get_shortest_path< - graaf::algorithm::edge_strategy::UNWEIGHTED, station, road, - graaf::graph_spec::UNDIRECTED, int>(graph, start, target)}; + const auto unweighted_shortest_path{graaf::algorithm::bfs_shortest_path(graph, start, target)}; print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); seen_vertices_t seen_vertices{}; - graaf::algorithm::traverse( + graaf::algorithm::breadth_first_traverse( graph, start, record_vertex_callback{seen_vertices}); print_visited_vertices(graph, seen_vertices, "example_traverse_BFS_graph.dot"); From 6fc3af0678bce37e3bd4e38b16dad5bfce8b8489 Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sat, 5 Aug 2023 23:30:06 +0200 Subject: [PATCH 09/40] clang format fix --- examples/transport/main.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index f40abae1..332a64f0 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -1,9 +1,9 @@ #include #include #include +#include #include #include -#include struct station { std::string name{}; @@ -141,11 +141,13 @@ void print_visited_vertices(const graaf::undirected_graph& graph, int main() { const auto [graph, start, target]{create_graph_with_start_and_target()}; - const auto weighted_shortest_path{graaf::algorithm::dijkstra_shortest_path(graph, start, target)}; + const auto weighted_shortest_path{ + graaf::algorithm::dijkstra_shortest_path(graph, start, target)}; print_shortest_path(graph, weighted_shortest_path, "example_weighted_graph.dot"); - const auto unweighted_shortest_path{graaf::algorithm::bfs_shortest_path(graph, start, target)}; + const auto unweighted_shortest_path{ + graaf::algorithm::bfs_shortest_path(graph, start, target)}; print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); From 767a532d655b99fc7fb8799fa4ed37c89931c04a Mon Sep 17 00:00:00 2001 From: Hromz Date: Sat, 12 Aug 2023 23:02:42 +0300 Subject: [PATCH 10/40] - corrected according to git comments - relative railway example - corrected png files --- .../example-basics/transport-example.md | 20 ++-- .../example_shortest_path_unweighted.png | Bin 60414 -> 100225 bytes .../example_shortest_path_weighted.png | Bin 60187 -> 100463 bytes .../examples/example_traversed_graph_BFS.png | Bin 59640 -> 98355 bytes docs/static/img/examples/example_usage.png | Bin 60003 -> 99841 bytes examples/transport/main.cpp | 99 +++++++++++------- 6 files changed, 75 insertions(+), 44 deletions(-) diff --git a/docs/docs/examples/example-basics/transport-example.md b/docs/docs/examples/example-basics/transport-example.md index bb8ee5b3..05d758ff 100644 --- a/docs/docs/examples/example-basics/transport-example.md +++ b/docs/docs/examples/example-basics/transport-example.md @@ -1,11 +1,12 @@ --- -sidebar_position: 2 +sidebar_position: 3 --- # Network Example -The undirected_graph implemented in `graaf::undirected_graph` -The shortest path algorithms implemented in `graaf::algorithm::bfs_shortest_path` and `graaf::algorithm::dijkstra_shortest_path` -The graph traversal implemented in `graaf::algorithm::graph_traversal` +This example showcases graph traversal and shortest path algorithms in an undirected graph network. As such, it demonstrates the usage of the following classes and algorithms: +- The undirected_graph implemented in `graaf::undirected_graph` +- The shortest path algorithm implemented in `graaf::algorithm::get_shortest_path` +- The graph traversal implemented in `graaf::algorithm::graph_traversal` Using the following graph: @@ -47,6 +48,7 @@ graph_with_start_and_target create_graph_with_start_and_target() { ## Visualizing graph traversal result For shortest path, colouring edges with red to indicate the shortest path for both weighted and unweighted graph +We need to specify the start and end vertices in order to find the shortest path between the start and end vertices. Result of unweighted shortest path, chosen edges are coloured red
@@ -62,7 +64,6 @@ Result of weighted shortest path, chosen edges are coloured red
 

- ```c++ void print_shortest_path(const graaf::undirected_graph& graph, const std::optional>& path, const std::string & filepath) { @@ -77,7 +78,7 @@ void print_visited_vertices(const graaf::undirected_graph& graph, ``` Creating a vertex callback structure that will be passed as an argument in the graph traverse function -The function is needed in order to be called inside the traverse function; see graph.tpp file lines 15 and 45 for context. +The function is needed in order to be called inside the traverse function; see graph.tpp for context. ```c++ using seen_vertices_t = std::unordered_multiset; @@ -93,6 +94,13 @@ struct record_vertex_callback { }; ``` +Result of shortest path BFS, visited edges are coloured red +
+

+ +

+
+ ### Graph example usage First code block: traversing a weighted graph for the shortest path (Dijkstra) and printing the result to *.dot file. Second code block: traversing an unweighted graph for the shortest path and printing the result to *.dot file. diff --git a/docs/static/img/examples/example_shortest_path_unweighted.png b/docs/static/img/examples/example_shortest_path_unweighted.png index f2d45591fea0f1b85b7dc812e6746af5fbd74f04..a52e77a698f1c488714cb86c435250b21aadc807 100644 GIT binary patch literal 100225 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 literal 60414 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
Hx(?Xr$6vdYxbaonL}+_r3@~*k+*sRyMihq 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%0Db@#`&V~ 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 diff --git a/docs/static/img/examples/example_shortest_path_weighted.png b/docs/static/img/examples/example_shortest_path_weighted.png index 0e7fa6067e2d4ab5877a1554c6172d80ba683124..d6926a03ddb30890573d1073780306f5646beb4b 100644 GIT binary patch literal 100463 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

X*0EVrqwHX!{XIB4hayQ zugG{lIBYh7k+`}Ab8d|{w`RqPUmcCK7w{lj?)rgi5oIWRV2NOUy=BR3K6RhYRlwuU zcLg>iiJ&eIOt&oR%i23K@EjF~0&&b7WPP&D?5GoxcE1Cyez0|N3gfH;8liqmotRer zv=UYKmM&-WYefQ)0^8pHFmz6@XBLx*bVjdCUXMhexF$9>Rzgm$s*`5XDSw2-{7lB`) z!$yB3o>CcFV$mQ57$4U;v~s#0F*qWEl#y}DaTv?cbMl0llr-S>_Vz=^%*@Q~o$g`e zLuqD4g4yGImG$dy(5u_)9_od?v$KfCB=mK?(12&Y#;28 zIQgHnad+j}(&ux-`=4&pVhGTwaylL&0@3Ihp_{|*n52kUUXNGMLZzowjA2QT&*;S? zZtp}iu@gPTJJaadBj)@7#C!etI!V4Nz0-@AkWyBc^5~eE6E}8`8SY|Nh9`FVN@Ajm zmlK!0Id*y|Qi|lv@p}h)Zb*j?HouQgscMzj_%Um-S_P1Q0_uWh%QfQw9z`)n2wc0@ z?B!akF;MW24s~I~nc_U@zF$`e3ONS=GSKOC2)MYoHcpfrSrn%f`$Pt#)030w6W0ab zUB5kUA#MKg@TET&^fvNvi$2?f*TdU9lT0jnN!Zx+(Of?_8ZJuW#?-Uk+=I%ruL^P} zd)V`O`WU$2%Z!czKT3&C%;95Znk%xy?8NrbfA3V+LOVZNYAQ0>PNdslwv!(1qa}uE z9DNwMxaQ?%OeoJ+sX31+|>-kc{?x&G_eryP!z(eLVLH>g|#5E&?_(cZx$Rt;?8By5TnQhKuE?;=Xxz1uC z5@148E47FyZ3|~>$yv;DiC4Ikvl0!pMW$_U4;AC$mDxy$_E;)`aP4qCW;|@-IHp>E zTc!k3b?w)bgy3ucZj^XK+}=h{x#uO|O?`o|x9j7LxS7XB2AKB49aX-gOZNzlb15t0FgEq!Zif-6

RP^r?l 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%0A1q1|ey6m$?6YwSNgy~AZ5O$~_7bH=`CsKb& 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

CP0P&IHm^MdDaRz4lgwZMf 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 UZB2b>Pxlsy)B-FrRo9n_>ovH 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 literal 60003 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

AFF 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 diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index 332a64f0..057e0ee8 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -7,50 +7,72 @@ struct station { std::string name{}; - double gaz_capacity{}; }; -struct road { - int length{}; - int get_weight() { return length; } +struct railroad : public graaf::weighted_edge { + double kilometers{}; + [[nodiscard]] double get_weight() const noexcept override { return kilometers; } + railroad(double distance) : kilometers(distance) {} }; struct graph_with_start_and_target { - graaf::undirected_graph graph{}; + graaf::undirected_graph graph{}; graaf::vertex_id_t start{}; graaf::vertex_id_t target{}; }; graph_with_start_and_target create_graph_with_start_and_target() { - graaf::undirected_graph my_stations{}; - - const auto station_1{my_stations.add_vertex(station{"Road 66", 13.5})}; - const auto station_2{my_stations.add_vertex(station{"Long road", 7.3})}; - const auto station_3{my_stations.add_vertex(station{"Stop & Buy", 25.4})}; - const auto station_4{my_stations.add_vertex(station{"GAZilla", 11.3})}; - const auto station_5{my_stations.add_vertex(station{"Station 32", 73.12})}; - const auto station_6{my_stations.add_vertex(station{"Last stop", 0.5})}; - const auto station_7{ - my_stations.add_vertex(station{"You won't reach it", 55.5})}; - const auto station_8{ - my_stations.add_vertex(station{"Went for lunch break", 66.5})}; - - my_stations.add_edge(station_1, station_2, road{125}); - my_stations.add_edge(station_2, station_4, road{205}); - my_stations.add_edge(station_4, station_5, road{325}); - my_stations.add_edge(station_5, station_3, road{1725}); - my_stations.add_edge(station_6, station_3, road{88}); - my_stations.add_edge(station_1, station_5, road{77}); - my_stations.add_edge(station_5, station_2, road{93}); - my_stations.add_edge(station_5, station_6, road{193}); - my_stations.add_edge(station_7, station_8, road{5}); - - return {my_stations, station_1, station_3}; + graaf::undirected_graph my_stations{}; + + // Germany + const auto station_13{my_stations.add_vertex(station{"Hamburg"})}; + const auto station_12{my_stations.add_vertex(station{"Bremen"})}; + const auto station_3{my_stations.add_vertex(station{"Berlin Central Station"})}; + const auto station_4{my_stations.add_vertex(station{"Hannover Hauptbahnhof"})}; + const auto station_11{my_stations.add_vertex(station{"Dortmund"})}; + const auto station_5{my_stations.add_vertex(station{"Kassel Hbf"})}; + const auto station_2{my_stations.add_vertex(station{"Leipzig Central Station"})}; + const auto station_1{my_stations.add_vertex(station{"Dresden Central Station"})}; + const auto station_10{my_stations.add_vertex(station{"Cologne Hauptbahnhof"})}; + const auto station_9{my_stations.add_vertex(station{"Frankfurt Hauptbahnhof"})}; + const auto station_6{my_stations.add_vertex(station{"Nurnberg Central Station"})}; + const auto station_8{my_stations.add_vertex(station{"Stuttgart Central Station"})}; + const auto station_7{my_stations.add_vertex(station{"Munchen Hbf"})}; + + // Canada + const auto station_14{my_stations.add_vertex(station{"Edmonton central station"})}; + const auto station_15{my_stations.add_vertex(station{"Toronto Union Station"})}; + + my_stations.add_edge(station_1, station_2, railroad{357.3}); + my_stations.add_edge(station_1, station_3, railroad{730.67}); + my_stations.add_edge(station_3, station_4, railroad{533.3}); + my_stations.add_edge(station_2, station_5, railroad{693.3}); + my_stations.add_edge(station_2, station_4, railroad{1152}); + my_stations.add_edge(station_4, station_5, railroad{288}); + my_stations.add_edge(station_2, station_6, railroad{741.3}); + my_stations.add_edge(station_5, station_6, railroad{1464}); + my_stations.add_edge(station_7, station_6, railroad{432}); + my_stations.add_edge(station_7, station_8, railroad{930}); + my_stations.add_edge(station_8, station_6, railroad{1236}); + my_stations.add_edge(station_9, station_6, railroad{840}); + my_stations.add_edge(station_9, station_10, railroad{498}); + my_stations.add_edge(station_10, station_11, railroad{462}); + my_stations.add_edge(station_13, station_4, railroad{480}); + my_stations.add_edge(station_11, station_5, railroad{822}); + my_stations.add_edge(station_11, station_4, railroad{582}); + my_stations.add_edge(station_11, station_12, railroad{720}); + my_stations.add_edge(station_12, station_13, railroad{330}); + my_stations.add_edge(station_12, station_4, railroad{486}); + my_stations.add_edge(station_13, station_3, railroad{732}); + + my_stations.add_edge(station_14, station_15, railroad{9920}); + + return {my_stations, station_13, station_6}; } void print_shortest_path( - const graaf::undirected_graph& graph, - const std::optional>& path, + const graaf::undirected_graph& graph, + const std::optional>& path, const std::string& filepath) { auto shortest_path{path.value()}; std::unordered_set @@ -67,7 +89,7 @@ void print_shortest_path( [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { const auto style{"filled"}; return fmt::format( - "label=\"{}\", style={}, color=black, fontcolor=black, " + "label=\"{}\", style={}, color=black, fontcolor=black, shape=rectangle," "fillcolor=mediumspringgreen", vertex.name, style); }}; @@ -79,10 +101,10 @@ void print_shortest_path( if (edges_on_shortest_path.contains({edge_id.first, edge_id.second}) || edges_on_shortest_path.contains({edge_id.second, edge_id.first})) { return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", - edge.length, style); + edge.kilometers, style); } return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", - edge.length, style); + edge.kilometers, style); }}; const std::filesystem::path output{filepath}; @@ -101,7 +123,8 @@ struct record_vertex_callback { } }; -void print_visited_vertices(const graaf::undirected_graph& graph, +void print_visited_vertices( + const graaf::undirected_graph& graph, seen_vertices_t& seen, const std::string& filepath) { std::unordered_set seen_edges{}; @@ -117,7 +140,7 @@ void print_visited_vertices(const graaf::undirected_graph& graph, const auto style{"filled"}; return fmt::format( - "label=\"{}\", style={}, color=black, fontcolor=black, " + "label=\"{}\", style={}, color=black, fontcolor=black, shape=rectangle," "fillcolor=mediumspringgreen", vertex.name, style); }}; @@ -129,9 +152,9 @@ void print_visited_vertices(const graaf::undirected_graph& graph, if (seen_edges.contains({edge_id.first, edge_id.second}) || seen_edges.contains({edge_id.second, edge_id.first})) return fmt::format("label=\"{}\", style={}, color=red, fontcolor=black", - edge.length, style); + edge.kilometers, style); return fmt::format("label=\"{}\", style={}, color=black, fontcolor=black", - edge.length, style); + edge.kilometers, style); }}; const std::filesystem::path output{filepath}; From 8ebb5f4aa992eff84c1b0f5773f5c34dcfb16081 Mon Sep 17 00:00:00 2001 From: Hromz Date: Sat, 12 Aug 2023 23:31:48 +0300 Subject: [PATCH 11/40] small fixes --- examples/transport/main.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index 057e0ee8..7bb01bc9 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -13,6 +13,7 @@ struct railroad : public graaf::weighted_edge { double kilometers{}; [[nodiscard]] double get_weight() const noexcept override { return kilometers; } railroad(double distance) : kilometers(distance) {} + ~railroad() {} }; struct graph_with_start_and_target { @@ -24,7 +25,7 @@ struct graph_with_start_and_target { graph_with_start_and_target create_graph_with_start_and_target() { graaf::undirected_graph my_stations{}; - // Germany + // Germany railway stations const auto station_13{my_stations.add_vertex(station{"Hamburg"})}; const auto station_12{my_stations.add_vertex(station{"Bremen"})}; const auto station_3{my_stations.add_vertex(station{"Berlin Central Station"})}; @@ -39,7 +40,7 @@ graph_with_start_and_target create_graph_with_start_and_target() { const auto station_8{my_stations.add_vertex(station{"Stuttgart Central Station"})}; const auto station_7{my_stations.add_vertex(station{"Munchen Hbf"})}; - // Canada + // Canada stations const auto station_14{my_stations.add_vertex(station{"Edmonton central station"})}; const auto station_15{my_stations.add_vertex(station{"Toronto Union Station"})}; From ffe4553e0eeedca643dfe398981773b67726fcae Mon Sep 17 00:00:00 2001 From: Hromz Date: Sun, 13 Aug 2023 00:03:31 +0300 Subject: [PATCH 12/40] small fixes --- .../example-basics/transport-example.md | 43 ++++--- examples/transport/main.cpp | 121 ++++++++++-------- 2 files changed, 91 insertions(+), 73 deletions(-) diff --git a/docs/docs/examples/example-basics/transport-example.md b/docs/docs/examples/example-basics/transport-example.md index 05d758ff..ff09f360 100644 --- a/docs/docs/examples/example-basics/transport-example.md +++ b/docs/docs/examples/example-basics/transport-example.md @@ -20,14 +20,16 @@ Custom vertex and edge. In order to use Dijkstra, we should provide the get_weig ```c++ struct station { - int id{}; - std::string name{}; - double gaz_capacity{}; + std::string name{}; }; -struct road { - int length{}; - int get_weight() { return length; } +struct railroad : public graaf::weighted_edge { + double kilometers{}; + [[nodiscard]] double get_weight() const noexcept override { + return kilometers; + } + railroad(double distance) : kilometers(distance) {} + ~railroad() {} }; ``` @@ -107,16 +109,21 @@ Second code block: traversing an unweighted graph for the shortest path and prin The last one is traversing the graph from a given vertex and printing the result to *.dot file. ```c++ - const auto [graph, start, target]{create_graph_with_start_and_target()}; - - const auto weighted_shortest_path{graaf::algorithm::dijkstra_shortest_path(graph, start, target)}; - print_shortest_path(graph, weighted_shortest_path, "example_weighted_graph.dot"); - - const auto unweighted_shortest_path{graaf::algorithm::bfs_shortest_path(graph, start, target)}; - print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); - - seen_vertices_t seen_vertices{}; - graaf::algorithm::breadth_first_traverse( - graph, start, record_vertex_callback{seen_vertices}); - print_visited_vertices(graph, seen_vertices, "example_traverse_BFS_graph.dot"); + const auto [graph, start, target]{create_graph_with_start_and_target()}; + + const auto weighted_shortest_path{ + graaf::algorithm::dijkstra_shortest_path(graph, start, target)}; + print_shortest_path(graph, weighted_shortest_path, + "example_weighted_graph.dot"); + + const auto unweighted_shortest_path{ + graaf::algorithm::bfs_shortest_path(graph, start, target)}; + print_shortest_path(graph, unweighted_shortest_path, + "example_unwieghted_graph.dot"); + + seen_vertices_t seen_vertices{}; + graaf::algorithm::breadth_first_traverse( + graph, start, record_vertex_callback{seen_vertices}); + print_visited_vertices(graph, seen_vertices, + "example_traverse_BFS_graph.dot"); ``` diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index 7bb01bc9..db5c1ce7 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -11,7 +11,9 @@ struct station { struct railroad : public graaf::weighted_edge { double kilometers{}; - [[nodiscard]] double get_weight() const noexcept override { return kilometers; } + [[nodiscard]] double get_weight() const noexcept override { + return kilometers; + } railroad(double distance) : kilometers(distance) {} ~railroad() {} }; @@ -28,45 +30,55 @@ graph_with_start_and_target create_graph_with_start_and_target() { // Germany railway stations const auto station_13{my_stations.add_vertex(station{"Hamburg"})}; const auto station_12{my_stations.add_vertex(station{"Bremen"})}; - const auto station_3{my_stations.add_vertex(station{"Berlin Central Station"})}; - const auto station_4{my_stations.add_vertex(station{"Hannover Hauptbahnhof"})}; + const auto station_3{ + my_stations.add_vertex(station{"Berlin Central Station"})}; + const auto station_4{ + my_stations.add_vertex(station{"Hannover Hauptbahnhof"})}; const auto station_11{my_stations.add_vertex(station{"Dortmund"})}; const auto station_5{my_stations.add_vertex(station{"Kassel Hbf"})}; - const auto station_2{my_stations.add_vertex(station{"Leipzig Central Station"})}; - const auto station_1{my_stations.add_vertex(station{"Dresden Central Station"})}; - const auto station_10{my_stations.add_vertex(station{"Cologne Hauptbahnhof"})}; - const auto station_9{my_stations.add_vertex(station{"Frankfurt Hauptbahnhof"})}; - const auto station_6{my_stations.add_vertex(station{"Nurnberg Central Station"})}; - const auto station_8{my_stations.add_vertex(station{"Stuttgart Central Station"})}; + const auto station_2{ + my_stations.add_vertex(station{"Leipzig Central Station"})}; + const auto station_1{ + my_stations.add_vertex(station{"Dresden Central Station"})}; + const auto station_10{ + my_stations.add_vertex(station{"Cologne Hauptbahnhof"})}; + const auto station_9{ + my_stations.add_vertex(station{"Frankfurt Hauptbahnhof"})}; + const auto station_6{ + my_stations.add_vertex(station{"Nurnberg Central Station"})}; + const auto station_8{ + my_stations.add_vertex(station{"Stuttgart Central Station"})}; const auto station_7{my_stations.add_vertex(station{"Munchen Hbf"})}; - - // Canada stations - const auto station_14{my_stations.add_vertex(station{"Edmonton central station"})}; - const auto station_15{my_stations.add_vertex(station{"Toronto Union Station"})}; - - my_stations.add_edge(station_1, station_2, railroad{357.3}); - my_stations.add_edge(station_1, station_3, railroad{730.67}); - my_stations.add_edge(station_3, station_4, railroad{533.3}); - my_stations.add_edge(station_2, station_5, railroad{693.3}); - my_stations.add_edge(station_2, station_4, railroad{1152}); - my_stations.add_edge(station_4, station_5, railroad{288}); - my_stations.add_edge(station_2, station_6, railroad{741.3}); - my_stations.add_edge(station_5, station_6, railroad{1464}); - my_stations.add_edge(station_7, station_6, railroad{432}); - my_stations.add_edge(station_7, station_8, railroad{930}); - my_stations.add_edge(station_8, station_6, railroad{1236}); - my_stations.add_edge(station_9, station_6, railroad{840}); - my_stations.add_edge(station_9, station_10, railroad{498}); - my_stations.add_edge(station_10, station_11, railroad{462}); - my_stations.add_edge(station_13, station_4, railroad{480}); - my_stations.add_edge(station_11, station_5, railroad{822}); - my_stations.add_edge(station_11, station_4, railroad{582}); - my_stations.add_edge(station_11, station_12, railroad{720}); - my_stations.add_edge(station_12, station_13, railroad{330}); - my_stations.add_edge(station_12, station_4, railroad{486}); - my_stations.add_edge(station_13, station_3, railroad{732}); - - my_stations.add_edge(station_14, station_15, railroad{9920}); + + // Canada railway stations + const auto station_14{ + my_stations.add_vertex(station{"Edmonton central station"})}; + const auto station_15{ + my_stations.add_vertex(station{"Toronto Union Station"})}; + + my_stations.add_edge(station_1, station_2, 357.3); + my_stations.add_edge(station_1, station_3, 730.67); + my_stations.add_edge(station_3, station_4, 533.3); + my_stations.add_edge(station_2, station_5, 693.3); + my_stations.add_edge(station_2, station_4, 1152); + my_stations.add_edge(station_4, station_5, 288); + my_stations.add_edge(station_2, station_6, 741.3); + my_stations.add_edge(station_5, station_6, 1464); + my_stations.add_edge(station_7, station_6, 432); + my_stations.add_edge(station_7, station_8, 930); + my_stations.add_edge(station_8, station_6, 1236); + my_stations.add_edge(station_9, station_6, 840); + my_stations.add_edge(station_9, station_10, 498); + my_stations.add_edge(station_10, station_11, 462); + my_stations.add_edge(station_13, station_4, 480); + my_stations.add_edge(station_11, station_5, 822); + my_stations.add_edge(station_11, station_4, 582); + my_stations.add_edge(station_11, station_12, 720); + my_stations.add_edge(station_12, station_13, 330); + my_stations.add_edge(station_12, station_4, 486); + my_stations.add_edge(station_13, station_3, 732); + + my_stations.add_edge(station_14, station_15, 9920); return {my_stations, station_13, station_6}; } @@ -86,14 +98,14 @@ void print_shortest_path( prev = current; } - const auto vertex_writer{ - [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { - const auto style{"filled"}; - return fmt::format( - "label=\"{}\", style={}, color=black, fontcolor=black, shape=rectangle," - "fillcolor=mediumspringgreen", - vertex.name, style); - }}; + const auto vertex_writer{[](graaf::vertex_id_t vertex_id, + station vertex) -> std::string { + const auto style{"filled"}; + return fmt::format( + "label=\"{}\", style={}, color=black, fontcolor=black, shape=rectangle," + "fillcolor=mediumspringgreen", + vertex.name, style); + }}; const auto edge_writer{[&edges_on_shortest_path]( const graaf::edge_id_t& edge_id, @@ -126,8 +138,7 @@ struct record_vertex_callback { void print_visited_vertices( const graaf::undirected_graph& graph, - seen_vertices_t& seen, - const std::string& filepath) { + seen_vertices_t& seen, const std::string& filepath) { std::unordered_set seen_edges{}; for (const auto current : graph.get_edges()) { @@ -136,15 +147,15 @@ void print_visited_vertices( if (seen.contains(from) && seen.contains(to)) seen_edges.insert({from, to}); } - const auto vertex_writer{ - [](graaf::vertex_id_t vertex_id, station vertex) -> std::string { - const auto style{"filled"}; + const auto vertex_writer{[](graaf::vertex_id_t vertex_id, + station vertex) -> std::string { + const auto style{"filled"}; - return fmt::format( - "label=\"{}\", style={}, color=black, fontcolor=black, shape=rectangle," - "fillcolor=mediumspringgreen", - vertex.name, style); - }}; + return fmt::format( + "label=\"{}\", style={}, color=black, fontcolor=black, shape=rectangle," + "fillcolor=mediumspringgreen", + vertex.name, style); + }}; const auto edge_writer{[&seen_edges](const graaf::edge_id_t& edge_id, const auto& edge) -> std::string { From ce5df25c62a054b5025a0b038c9af8c3089ae47e Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sun, 13 Aug 2023 13:43:36 +0200 Subject: [PATCH 13/40] fix issues after merge --- .../example-basics/transport-example.md | 24 +++++++-------- examples/transport/main.cpp | 30 ++++++++----------- 2 files changed, 24 insertions(+), 30 deletions(-) diff --git a/docs/docs/examples/example-basics/transport-example.md b/docs/docs/examples/example-basics/transport-example.md index ff09f360..0c060d02 100644 --- a/docs/docs/examples/example-basics/transport-example.md +++ b/docs/docs/examples/example-basics/transport-example.md @@ -79,20 +79,20 @@ void print_visited_vertices(const graaf::undirected_graph& graph, } ``` -Creating a vertex callback structure that will be passed as an argument in the graph traverse function +Creating an edge callback structure that will be passed as an argument in the graph traverse function The function is needed in order to be called inside the traverse function; see graph.tpp for context. ```c++ -using seen_vertices_t = std::unordered_multiset; -struct record_vertex_callback { - seen_vertices_t& seen_vertices; +using seen_edges_t = std::unordered_set; +struct record_edges_callback { + seen_edges_t& seen_edges; - record_vertex_callback(seen_vertices_t& seen_vertices) - : seen_vertices{seen_vertices} {} + record_edges_callback(seen_edges_t& seen_edges) + : seen_edges{seen_edges} {} - void operator()(const graaf::vertex_id_t vertex) const { - seen_vertices.insert(vertex); - } + void operator()(const graaf::edge_id_t& edge) const { + seen_edges.insert(edge); + } }; ``` @@ -121,9 +121,9 @@ The last one is traversing the graph from a given vertex and printing the result print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); - seen_vertices_t seen_vertices{}; + seen_edges_t seen_edges{}; graaf::algorithm::breadth_first_traverse( - graph, start, record_vertex_callback{seen_vertices}); - print_visited_vertices(graph, seen_vertices, + graph, start, record_edges_callback{seen_edges}); + print_visited_vertices(graph, seen_edges, "example_traverse_BFS_graph.dot"); ``` diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index db5c1ce7..6578192f 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -4,6 +4,7 @@ #include #include #include +#include struct station { std::string name{}; @@ -124,28 +125,21 @@ void print_shortest_path( graaf::io::to_dot(graph, output, vertex_writer, edge_writer); } -using seen_vertices_t = std::unordered_multiset; -struct record_vertex_callback { - seen_vertices_t& seen_vertices; +using seen_edges_t = std::unordered_set; +struct record_edges_callback { + seen_edges_t& seen_edges; - record_vertex_callback(seen_vertices_t& seen_vertices) - : seen_vertices{seen_vertices} {} + record_edges_callback(seen_edges_t& seen_edges) + : seen_edges{seen_edges} {} - void operator()(const graaf::vertex_id_t vertex) const { - seen_vertices.insert(vertex); + void operator()(const graaf::edge_id_t& edge) const { + seen_edges.insert(edge); } }; void print_visited_vertices( const graaf::undirected_graph& graph, - seen_vertices_t& seen, const std::string& filepath) { - std::unordered_set seen_edges{}; - - for (const auto current : graph.get_edges()) { - const auto from = current.first.first; - const auto to = current.first.second; - if (seen.contains(from) && seen.contains(to)) seen_edges.insert({from, to}); - } + seen_edges_t& seen_edges, const std::string& filepath) { const auto vertex_writer{[](graaf::vertex_id_t vertex_id, station vertex) -> std::string { @@ -186,9 +180,9 @@ int main() { print_shortest_path(graph, unweighted_shortest_path, "example_unwieghted_graph.dot"); - seen_vertices_t seen_vertices{}; + seen_edges_t seen_edges{}; graaf::algorithm::breadth_first_traverse( - graph, start, record_vertex_callback{seen_vertices}); - print_visited_vertices(graph, seen_vertices, + graph, start, record_edges_callback{seen_edges}); + print_visited_vertices(graph, seen_edges, "example_traverse_BFS_graph.dot"); } From 1c82f04376563fb39698c60d12ab3918f809b190 Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sun, 13 Aug 2023 13:44:33 +0200 Subject: [PATCH 14/40] fix syntax highlighting code blocks --- docs/docs/examples/example-basics/transport-example.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/docs/examples/example-basics/transport-example.md b/docs/docs/examples/example-basics/transport-example.md index 0c060d02..cd429e7f 100644 --- a/docs/docs/examples/example-basics/transport-example.md +++ b/docs/docs/examples/example-basics/transport-example.md @@ -18,7 +18,7 @@ Using the following graph: Custom vertex and edge. In order to use Dijkstra, we should provide the get_weight() function for the edge. -```c++ +```cpp struct station { std::string name{}; }; @@ -36,7 +36,7 @@ struct railroad : public graaf::weighted_edge { # Initializing graph, start and end vertecies First, we create data structure and initializing graph with vertices and edges -```c++ +```cpp struct graph_with_start_and_target { graaf::undirected_graph graph{}; graaf::vertex_id_t start{}; @@ -66,7 +66,7 @@ Result of weighted shortest path, chosen edges are coloured red

-```c++ +```cpp void print_shortest_path(const graaf::undirected_graph& graph, const std::optional>& path, const std::string & filepath) { ... @@ -82,7 +82,7 @@ void print_visited_vertices(const graaf::undirected_graph& graph, Creating an edge callback structure that will be passed as an argument in the graph traverse function The function is needed in order to be called inside the traverse function; see graph.tpp for context. -```c++ +```cpp using seen_edges_t = std::unordered_set; struct record_edges_callback { seen_edges_t& seen_edges; @@ -108,7 +108,7 @@ First code block: traversing a weighted graph for the shortest path (Dijkstra) a Second code block: traversing an unweighted graph for the shortest path and printing the result to *.dot file. The last one is traversing the graph from a given vertex and printing the result to *.dot file. -```c++ +```cpp const auto [graph, start, target]{create_graph_with_start_and_target()}; const auto weighted_shortest_path{ From 1c644a0edba76d813dd293eef0154f9756187ecf Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Sun, 13 Aug 2023 13:53:44 +0200 Subject: [PATCH 15/40] clang format --- examples/transport/main.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/examples/transport/main.cpp b/examples/transport/main.cpp index 6578192f..aa2c9b41 100644 --- a/examples/transport/main.cpp +++ b/examples/transport/main.cpp @@ -4,6 +4,7 @@ #include #include #include + #include struct station { @@ -129,8 +130,7 @@ using seen_edges_t = std::unordered_set; struct record_edges_callback { seen_edges_t& seen_edges; - record_edges_callback(seen_edges_t& seen_edges) - : seen_edges{seen_edges} {} + record_edges_callback(seen_edges_t& seen_edges) : seen_edges{seen_edges} {} void operator()(const graaf::edge_id_t& edge) const { seen_edges.insert(edge); @@ -140,7 +140,6 @@ struct record_edges_callback { void print_visited_vertices( const graaf::undirected_graph& graph, seen_edges_t& seen_edges, const std::string& filepath) { - const auto vertex_writer{[](graaf::vertex_id_t vertex_id, station vertex) -> std::string { const auto style{"filled"}; @@ -181,8 +180,7 @@ int main() { "example_unwieghted_graph.dot"); seen_edges_t seen_edges{}; - graaf::algorithm::breadth_first_traverse( - graph, start, record_edges_callback{seen_edges}); - print_visited_vertices(graph, seen_edges, - "example_traverse_BFS_graph.dot"); + graaf::algorithm::breadth_first_traverse(graph, start, + record_edges_callback{seen_edges}); + print_visited_vertices(graph, seen_edges, "example_traverse_BFS_graph.dot"); } From c05cd278819d351b822bcfc975fa3eacae962357 Mon Sep 17 00:00:00 2001 From: Hromz Date: Fri, 18 Aug 2023 19:58:20 +0300 Subject: [PATCH 16/40] - Added MST algorithm - Added test cases and docs --- README.md | 1 + .../shortest-path/minimum_spanning_tree.md | 60 +++++ .../algorithm/minimum_spanning_tree.h | 20 ++ .../algorithm/minimum_spanning_tree.tpp | 101 +++++++++ .../algorithm/minimum_spanning_tree_test.cpp | 208 ++++++++++++++++++ 5 files changed, 390 insertions(+) create mode 100644 docs/docs/algorithms/shortest-path/minimum_spanning_tree.md create mode 100644 include/graaflib/algorithm/minimum_spanning_tree.h create mode 100644 include/graaflib/algorithm/minimum_spanning_tree.tpp create mode 100644 test/graaflib/algorithm/minimum_spanning_tree_test.cpp diff --git a/README.md b/README.md index 08a2998a..20fe22b4 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ Algorithms implemented in the Graaf library include the following. For more info - BFS-Based Shortest Path - Dijkstra - Bellman-Ford + - Minimum spanning tree (MST) 3. [**Cycle Detection Algorithms**](https://bobluppes.github.io/graaf/docs/category/cycle-detection-algorithms): - DFS-Based Cycle Detection diff --git a/docs/docs/algorithms/shortest-path/minimum_spanning_tree.md b/docs/docs/algorithms/shortest-path/minimum_spanning_tree.md new file mode 100644 index 00000000..dffc8848 --- /dev/null +++ b/docs/docs/algorithms/shortest-path/minimum_spanning_tree.md @@ -0,0 +1,60 @@ +--- +sidebar_position: 4 +--- + +# Minimum spanning tree (MST) or minimum spanning forest +Kruskal's algorithm finds the minimum spanning forest of an undirected edge-weighted graph. If the graph is connected, it finds a minimum spanning tree. +The algorithm is implemented with disjoint set union and finding minimum weighted edges. +Worst-case performance is `O(|E|log|V|)`, where `|E|` is the number of edges and `|V|` is the number of vertices in the +graph. Memory usage is `O(V+E)` for maintaining vertices (DSU) and edges. + +[wikipedia](https://en.wikipedia.org/wiki/Kruskal%27s_algorithm) + +## Syntax + +Calculates the shortest path with the minimum edge sum. + +```cpp +template +[[nodiscard]] std::vector kruskal_minimum_spanning_tree( + const graph& graph); +``` + +- **graph** The graph to extract MST or MSF. +- **return** Returns a vector of edges that form MST if the graph is connected, otherwise it returns the minimum spanning forest. + +### Special case +In case of multiply edges with same weight leading to a vertex, prioritizing vertices with lesser vertex number. + +```cpp +std::sort(edges_to_process.begin(), edges_to_process.end(), + [](detail::edge_to_process& e1, + detail::edge_to_process& e2) { + if (e1 != e2) + return e1.get_weight() < e2.get_weight(); + return e1.vertex_a < e2.vertex_a || e1.vertex_b < e2.vertex_b; + }); +``` + +For custom type edge, we should provide < and != operators + +```cpp +struct custom_edge : public graaf::weighted_edge { + public: + int weight_{}; + + [[nodiscard]] int get_weight() const noexcept override { return weight_; } + + custom_edge(int weight): weight_{weight} {}; + custom_edge(){}; + ~custom_edge(){}; + + // Providing '<' and '!=' operators for sorting edges + bool operator<(const custom_edge& e) const noexcept { + return this->weight_ < e.weight_; + } + bool operator!=(const custom_edge& e) const noexcept { + return this->weight_ != e.weight_; + } +}; +``` diff --git a/include/graaflib/algorithm/minimum_spanning_tree.h b/include/graaflib/algorithm/minimum_spanning_tree.h new file mode 100644 index 00000000..e3acfd6a --- /dev/null +++ b/include/graaflib/algorithm/minimum_spanning_tree.h @@ -0,0 +1,20 @@ +#pragma once + +#include + +namespace graaf::algorithm { +/** + * Computes the minimum spanning tree (MST) or minimum spanning forest of a + * graph using Kruskal's algorithm. + * + * @tparam V The vertex type of the graph. + * @tparam E The edge type of the graph. + * @param graph The input graph. + * @return A vector of edges forming the MST or minimum spanning forest. + */ +template +[[nodiscard]] std::vector kruskal_minimum_spanning_tree( + const graph& graph); + +}; // namespace graaf::algorithm +#include "minimum_spanning_tree.tpp" \ No newline at end of file diff --git a/include/graaflib/algorithm/minimum_spanning_tree.tpp b/include/graaflib/algorithm/minimum_spanning_tree.tpp new file mode 100644 index 00000000..f0998918 --- /dev/null +++ b/include/graaflib/algorithm/minimum_spanning_tree.tpp @@ -0,0 +1,101 @@ +#pragma once + +#include +#include +#include + +namespace graaf::algorithm { + +// Disjoint Set Union to maintain sets of vertices +namespace detail { +void do_make_set(vertex_id_t v, + std::unordered_map& parent, + std::unordered_map& rank) { + parent[v] = v; + rank[v] = 0; +} + +vertex_id_t do_find_set(vertex_id_t vertex, + std::unordered_map& parent) { + if (vertex == parent[vertex]) { + return vertex; + } + return parent[vertex] = do_find_set(parent[vertex], parent); +} + +void do_merge_sets(vertex_id_t vertex_a, vertex_id_t vertex_b, + std::unordered_map& parent, + std::unordered_map& rank) { + vertex_a = do_find_set(vertex_a, parent); + vertex_b = do_find_set(vertex_b, parent); + + if (vertex_a != vertex_b) { + if (rank[vertex_a] < rank[vertex_b]) { + std::swap(vertex_a, vertex_b); + } + parent[vertex_b] = vertex_a; + + if (rank[vertex_a] == rank[vertex_b]) { + ++rank[vertex_a]; + } + } +} + +template +struct edge_to_process : public weighted_edge { + public: + vertex_id_t vertex_a, vertex_b; + T weight_; + + [[nodiscard]] T get_weight() const noexcept override { return weight_; } + + edge_to_process(vertex_id_t vertex_u, vertex_id_t vertex_w, + T weight) + : vertex_a{vertex_u}, vertex_b{vertex_w}, weight_{weight} {}; + edge_to_process(){}; + ~edge_to_process(){}; + + bool operator!=(const edge_to_process& e) const noexcept { + return this->weight_ != e.weight_; + } +}; +}; // namespace detail + +template +std::vector kruskal_minimum_spanning_tree( + const graph& graph) { + + // unordered_map in case of deletion of vertices + std::unordered_map rank, parent; + std::vector> edges_to_process{}; + std::vector mst_edges{}; + + for (const auto& vertex : graph.get_vertices()) { + detail::do_make_set(vertex.first, parent, rank); + } + for (const auto& edge : graph.get_edges()) { + edges_to_process.push_back({edge.first.first, edge.first.second, edge.second}); + } + + std::sort(edges_to_process.begin(), edges_to_process.end(), + [](detail::edge_to_process& e1, + detail::edge_to_process& e2) { + if (e1 != e2) + return e1.get_weight() < e2.get_weight(); + return e1.vertex_a < e2.vertex_a || e1.vertex_b < e2.vertex_b; + }); + + for (const auto& edge : edges_to_process) { + if (detail::do_find_set(edge.vertex_a, parent) != + detail::do_find_set(edge.vertex_b, parent)) { + mst_edges.push_back({edge.vertex_a, edge.vertex_b}); + detail::do_merge_sets(edge.vertex_a, edge.vertex_b, parent, rank); + } + // Found MST E == V - 1 + if (mst_edges.size() == graph.vertex_count() - 1) + return mst_edges; + } + // Returns minimum spanning forest + return mst_edges; +} +}; // namespace graaf::algorithm diff --git a/test/graaflib/algorithm/minimum_spanning_tree_test.cpp b/test/graaflib/algorithm/minimum_spanning_tree_test.cpp new file mode 100644 index 00000000..04b49f12 --- /dev/null +++ b/test/graaflib/algorithm/minimum_spanning_tree_test.cpp @@ -0,0 +1,208 @@ +#include +#include +#include +#include +#include + +#include +#include + +namespace graaf::algorithm { + +template +class my_weighted_edge : public weighted_edge { + public: + explicit my_weighted_edge(T weight) : weight_{weight} {} + + [[nodiscard]] T get_weight() const noexcept override { return weight_; } + + private: + T weight_{}; +}; + +template +struct MSTTest : public testing::Test { + using edge_t = typename T::second_type; +}; + +using weighted_graph_types = testing::Types< + /** + * Primitive edge type undirected graph + */ + std::pair, int>, + std::pair, unsigned long>, + std::pair, float>, + std::pair, long double>, + + /** + * Non primitive weighted edge type undirected graph + */ + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>>; + +TYPED_TEST_SUITE(MSTTest, weighted_graph_types); + +TYPED_TEST(MSTTest, SparseGraph) { + undirected_graph graph{}; + const auto vertex_1 = graph.add_vertex(1); + const auto vertex_2 = graph.add_vertex(2); + const auto vertex_3 = graph.add_vertex(3); + const auto vertex_4 = graph.add_vertex(4); + + graph.add_edge(vertex_3, vertex_1, 4); + graph.add_edge(vertex_2, vertex_4, 6); + graph.add_edge(vertex_3, vertex_4, 5); + graph.add_edge(vertex_1, vertex_2, 15); + + auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); + std::vector expected_mst{ + {vertex_1, vertex_3}, {vertex_3, vertex_4}, {vertex_2, vertex_4}}; + + ASSERT_EQ(expected_mst, mst); +} + +TYPED_TEST(MSTTest, TwoComponents) { + undirected_graph graph{}; + + const auto vertex_1 = graph.add_vertex(1); + const auto vertex_2 = graph.add_vertex(2); + const auto vertex_3 = graph.add_vertex(3); + const auto vertex_4 = graph.add_vertex(4); + + const auto vertex_5 = graph.add_vertex(5); + const auto vertex_6 = graph.add_vertex(6); + const auto vertex_7 = graph.add_vertex(7); + const auto vertex_8 = graph.add_vertex(8); + const auto vertex_9 = graph.add_vertex(9); + + graph.add_edge(vertex_3, vertex_1, 0.3f); + graph.add_edge(vertex_2, vertex_4, 0.14f); + graph.add_edge(vertex_3, vertex_4, -5.3f); + graph.add_edge(vertex_1, vertex_2, 223.0f); + + graph.add_edge(vertex_5, vertex_6, 2.0f); + graph.add_edge(vertex_7, vertex_8, 4.0f); + graph.add_edge(vertex_9, vertex_8, -23.0f); + graph.add_edge(vertex_6, vertex_9, 3.0f); + graph.add_edge(vertex_8, vertex_6, 0.15f); + + auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); + std::vector expected_mst {{vertex_8, vertex_9}, + {vertex_3, vertex_4}, + {vertex_2, vertex_4}, + {vertex_6, vertex_8}, + {vertex_1, vertex_3}, + {vertex_5, vertex_6}, + {vertex_7, vertex_8}}; + + ASSERT_EQ(expected_mst, mst); +} + +TYPED_TEST(MSTTest, EqualEdgeWeight) { + undirected_graph graph{}; + const auto vertex_1 = graph.add_vertex(1); + const auto vertex_2 = graph.add_vertex(2); + const auto vertex_3 = graph.add_vertex(3); + const auto vertex_4 = graph.add_vertex(4); + + graph.add_edge(vertex_3, vertex_1, 5); + graph.add_edge(vertex_2, vertex_4, 5); + graph.add_edge(vertex_3, vertex_4, 5); + graph.add_edge(vertex_1, vertex_2, 5); + graph.add_edge(vertex_4, vertex_1, 5); + + auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); + std::vector expected_mst{ + {vertex_1, vertex_2}, {vertex_1, vertex_3}, {vertex_1, vertex_4}}; + + ASSERT_EQ(expected_mst, mst); +} + +TYPED_TEST(MSTTest, CompleteGraph) { + undirected_graph graph{}; + const auto vertex_1 = graph.add_vertex(1); + const auto vertex_2 = graph.add_vertex(2); + const auto vertex_3 = graph.add_vertex(3); + const auto vertex_4 = graph.add_vertex(4); + + graph.add_edge(vertex_1, vertex_2, 35); + graph.add_edge(vertex_1, vertex_3, 4); + graph.add_edge(vertex_1, vertex_4, 45); + graph.add_edge(vertex_2, vertex_4, 6); + graph.add_edge(vertex_2, vertex_3, 55); + graph.add_edge(vertex_3, vertex_4, 5); + + auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); + std::vector expected_mst{ + {vertex_1, vertex_3}, {vertex_3, vertex_4}, {vertex_2, vertex_4}}; + + ASSERT_EQ(expected_mst, mst); +} + +TYPED_TEST(MSTTest, NullGraph) { + undirected_graph graph{}; + + const auto vertex_1 = graph.add_vertex(1); + const auto vertex_2 = graph.add_vertex(2); + const auto vertex_3 = graph.add_vertex(3); + const auto vertex_4 = graph.add_vertex(4); + + auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); + std::vector example_mst{ + {vertex_3, vertex_4}, {vertex_2, vertex_4}, {vertex_1, vertex_3}}; + + ASSERT_NE(example_mst, mst); +} + +struct custom_vertex { + int vertex_{}; + std::string name{}; +}; + +struct custom_edge : public graaf::weighted_edge { + public: + int weight_{}; + + [[nodiscard]] int get_weight() const noexcept override { return weight_; } + + custom_edge(int weight): weight_{weight} {}; + custom_edge(){}; + ~custom_edge(){}; + + // Providing '<' and '!=' operators for sorting edges + bool operator<(const custom_edge& e) const noexcept { + return this->weight_ < e.weight_; + } + bool operator!=(const custom_edge& e) const noexcept { + return this->weight_ != e.weight_; + } +}; + +TYPED_TEST(MSTTest, CustomEdgeVertexOneComponentGraph) { + undirected_graph graph{}; + + const auto vertex_1 = graph.add_vertex(custom_vertex{1, "Custom vertex 1"}); + const auto vertex_2 = graph.add_vertex(custom_vertex{2, "Custom vertex 2"}); + const auto vertex_3 = graph.add_vertex(custom_vertex{3, "Custom vertex 3"}); + const auto vertex_4 = graph.add_vertex(custom_vertex{4, "Custom vertex 4"}); + + graph.add_edge(vertex_3, vertex_1, 4); + graph.add_edge(vertex_2, vertex_4, 6); + graph.add_edge(vertex_3, vertex_4, 5); + graph.add_edge(vertex_1, vertex_2, 16); + + auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); + std::vector expected_mst{ + {vertex_1, vertex_3}, + {vertex_3, vertex_4}, + {vertex_2, vertex_4}}; + + ASSERT_EQ(expected_mst, mst); +} +} // namespace graaf::algorithm From b5db653e17ac541c5a3dccc0073564c01bf60fc3 Mon Sep 17 00:00:00 2001 From: Hromz Date: Fri, 18 Aug 2023 20:43:02 +0300 Subject: [PATCH 17/40] clang style correction --- .../algorithm/minimum_spanning_tree_test.cpp | 47 +++++++++---------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/test/graaflib/algorithm/minimum_spanning_tree_test.cpp b/test/graaflib/algorithm/minimum_spanning_tree_test.cpp index 04b49f12..8c0ee650 100644 --- a/test/graaflib/algorithm/minimum_spanning_tree_test.cpp +++ b/test/graaflib/algorithm/minimum_spanning_tree_test.cpp @@ -62,7 +62,7 @@ TYPED_TEST(MSTTest, SparseGraph) { auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); std::vector expected_mst{ - {vertex_1, vertex_3}, {vertex_3, vertex_4}, {vertex_2, vertex_4}}; + {vertex_1, vertex_3}, {vertex_3, vertex_4}, {vertex_2, vertex_4}}; ASSERT_EQ(expected_mst, mst); } @@ -93,13 +93,10 @@ TYPED_TEST(MSTTest, TwoComponents) { graph.add_edge(vertex_8, vertex_6, 0.15f); auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); - std::vector expected_mst {{vertex_8, vertex_9}, - {vertex_3, vertex_4}, - {vertex_2, vertex_4}, - {vertex_6, vertex_8}, - {vertex_1, vertex_3}, - {vertex_5, vertex_6}, - {vertex_7, vertex_8}}; + std::vector expected_mst{ + {vertex_8, vertex_9}, {vertex_3, vertex_4}, {vertex_2, vertex_4}, + {vertex_6, vertex_8}, {vertex_1, vertex_3}, {vertex_5, vertex_6}, + {vertex_7, vertex_8}}; ASSERT_EQ(expected_mst, mst); } @@ -136,7 +133,7 @@ TYPED_TEST(MSTTest, CompleteGraph) { graph.add_edge(vertex_1, vertex_4, 45); graph.add_edge(vertex_2, vertex_4, 6); graph.add_edge(vertex_2, vertex_3, 55); - graph.add_edge(vertex_3, vertex_4, 5); + graph.add_edge(vertex_3, vertex_4, 5); auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); std::vector expected_mst{ @@ -170,8 +167,8 @@ struct custom_edge : public graaf::weighted_edge { int weight_{}; [[nodiscard]] int get_weight() const noexcept override { return weight_; } - - custom_edge(int weight): weight_{weight} {}; + + custom_edge(int weight) : weight_{weight} {}; custom_edge(){}; ~custom_edge(){}; @@ -185,24 +182,22 @@ struct custom_edge : public graaf::weighted_edge { }; TYPED_TEST(MSTTest, CustomEdgeVertexOneComponentGraph) { - undirected_graph graph{}; + undirected_graph graph{}; - const auto vertex_1 = graph.add_vertex(custom_vertex{1, "Custom vertex 1"}); - const auto vertex_2 = graph.add_vertex(custom_vertex{2, "Custom vertex 2"}); - const auto vertex_3 = graph.add_vertex(custom_vertex{3, "Custom vertex 3"}); - const auto vertex_4 = graph.add_vertex(custom_vertex{4, "Custom vertex 4"}); + const auto vertex_1 = graph.add_vertex(custom_vertex{1, "Custom vertex 1"}); + const auto vertex_2 = graph.add_vertex(custom_vertex{2, "Custom vertex 2"}); + const auto vertex_3 = graph.add_vertex(custom_vertex{3, "Custom vertex 3"}); + const auto vertex_4 = graph.add_vertex(custom_vertex{4, "Custom vertex 4"}); - graph.add_edge(vertex_3, vertex_1, 4); - graph.add_edge(vertex_2, vertex_4, 6); - graph.add_edge(vertex_3, vertex_4, 5); - graph.add_edge(vertex_1, vertex_2, 16); + graph.add_edge(vertex_3, vertex_1, 4); + graph.add_edge(vertex_2, vertex_4, 6); + graph.add_edge(vertex_3, vertex_4, 5); + graph.add_edge(vertex_1, vertex_2, 16); - auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); - std::vector expected_mst{ - {vertex_1, vertex_3}, - {vertex_3, vertex_4}, - {vertex_2, vertex_4}}; + auto mst = graaf::algorithm::kruskal_minimum_spanning_tree(graph); + std::vector expected_mst{ + {vertex_1, vertex_3}, {vertex_3, vertex_4}, {vertex_2, vertex_4}}; - ASSERT_EQ(expected_mst, mst); + ASSERT_EQ(expected_mst, mst); } } // namespace graaf::algorithm From 057ee77c46d2b25bff636b60df66732f34e66c61 Mon Sep 17 00:00:00 2001 From: Bob Luppes Date: Thu, 31 Aug 2023 20:57:06 +0200 Subject: [PATCH 18/40] Apply suggestions from code review --- README.md | 3 ++- docs/docs/algorithms/shortest-path/minimum_spanning_tree.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 20fe22b4..9aa57baa 100644 --- a/README.md +++ b/README.md @@ -81,9 +81,10 @@ Algorithms implemented in the Graaf library include the following. For more info - BFS-Based Shortest Path - Dijkstra - Bellman-Ford - - Minimum spanning tree (MST) 3. [**Cycle Detection Algorithms**](https://bobluppes.github.io/graaf/docs/category/cycle-detection-algorithms): - DFS-Based Cycle Detection +4. **Minimum Spanning Tree (MST) Algorithms** + - Kruskal's Algorithm # Contributing The Graaf library welcomes contributions 🎊 diff --git a/docs/docs/algorithms/shortest-path/minimum_spanning_tree.md b/docs/docs/algorithms/shortest-path/minimum_spanning_tree.md index dffc8848..e3d5bfb8 100644 --- a/docs/docs/algorithms/shortest-path/minimum_spanning_tree.md +++ b/docs/docs/algorithms/shortest-path/minimum_spanning_tree.md @@ -2,7 +2,7 @@ sidebar_position: 4 --- -# Minimum spanning tree (MST) or minimum spanning forest +# Kruskal's Algorithm Kruskal's algorithm finds the minimum spanning forest of an undirected edge-weighted graph. If the graph is connected, it finds a minimum spanning tree. The algorithm is implemented with disjoint set union and finding minimum weighted edges. Worst-case performance is `O(|E|log|V|)`, where `|E|` is the number of edges and `|V|` is the number of vertices in the From 5dce08b86fa07701b13cfe59be340656516f76b2 Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 5 Sep 2023 12:16:06 +0300 Subject: [PATCH 19/40] Added topological sort algorithm DFS-based --- README.md | 2 + .../topological-sort/topological-sort.md | 21 +++ .../graaflib/algorithm/topological_sorting.h | 20 ++ .../algorithm/topological_sorting.tpp | 60 ++++++ .../algorithm/topological_sorting_test.cpp | 178 ++++++++++++++++++ 5 files changed, 281 insertions(+) create mode 100644 docs/docs/algorithms/topological-sort/topological-sort.md create mode 100644 include/graaflib/algorithm/topological_sorting.h create mode 100644 include/graaflib/algorithm/topological_sorting.tpp create mode 100644 test/graaflib/algorithm/topological_sorting_test.cpp diff --git a/README.md b/README.md index 88b70236..18899a88 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,8 @@ Algorithms implemented in the Graaf library include the following. For more info - Kruskal's Algorithm 5. [**Strongly Connected Components Algorithms**](https://bobluppes.github.io/graaf/docs/category/strongly-connected-components): - Tarjan's Strongly Connected Components +6. [**Topological Sorting Algorithms**](https://bobluppes.github.io/graaf/docs/category/topological-sorting): + - Topological sorting DFS-based # Contributing The Graaf library welcomes contributions 🎊 diff --git a/docs/docs/algorithms/topological-sort/topological-sort.md b/docs/docs/algorithms/topological-sort/topological-sort.md new file mode 100644 index 00000000..0951ad42 --- /dev/null +++ b/docs/docs/algorithms/topological-sort/topological-sort.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 1 +--- + +# Topological sort algorithm +Topological sort algorithm processing DAG(directed acyclic graph) using DFS traversal. +Each vertex is visited only after all its dependencies are visited. +The runtime of the algorithm is `O(|V|+|E|)` and the memory consumption is `O(|V|)`. + +[wikipedia](https://en.wikipedia.org/wiki/Topological_sorting) + +## Syntax + +```cpp +template +[[nodiscard]] std::vector kruskal_minimum_spanning_tree( + const graph& graph); +``` + +- **graph** The graph to traverse. +- **return** Vector of vertices sorted in topological order. If the graph contains cycles, it returns an empty vector. \ No newline at end of file diff --git a/include/graaflib/algorithm/topological_sorting.h b/include/graaflib/algorithm/topological_sorting.h new file mode 100644 index 00000000..28e2ea3b --- /dev/null +++ b/include/graaflib/algorithm/topological_sorting.h @@ -0,0 +1,20 @@ +#pragma once + +#include + +namespace graaf::algorithm { +/** +* @brief Calculates order of vertices in topological order +* using DFS traversal +* +* @tparam V The vertex type of the graph. +* @tparam E The edge type of the graph. +* @param graph The input graph. +* @return Vector of vertices sorted in topological order +*/ +template +[[nodiscard]] std::vector topological_sort( + const graph& graph); + +} // namespace graaf::algorithm +#include "topological_sorting.tpp" diff --git a/include/graaflib/algorithm/topological_sorting.tpp b/include/graaflib/algorithm/topological_sorting.tpp new file mode 100644 index 00000000..817185bd --- /dev/null +++ b/include/graaflib/algorithm/topological_sorting.tpp @@ -0,0 +1,60 @@ +#pragma once + +#include +#include + +#include +#include + +namespace graaf::algorithm { + +namespace detail { + +enum class vertex_status { UNVISITED, VISITED}; + +// DFS topological sort +template +void do_dfs_topological_sort( + const graph& graph, + vertex_id_t start_vertex, + std::unordered_map& processed_vertices, + std::vector& sorted_vertices) { + + processed_vertices[start_vertex] = vertex_status::VISITED; + for (const auto& next_vertex : graph.get_neighbors(start_vertex)) { + if (processed_vertices[next_vertex] == vertex_status::UNVISITED) { + do_dfs_topological_sort(graph, next_vertex, processed_vertices, + sorted_vertices); + } + } + + sorted_vertices.push_back(start_vertex); + } + +}; // namespace detail + +template +std::vector topological_sort( + const graph& graph) { + + // Graph should be acyclic + if (dfs_cycle_detection(graph)) { + return {}; + } + + using enum detail::vertex_status; + std::vector sorted_vertices{}; + sorted_vertices.reserve(graph.vertex_count()); + std::unordered_map processed_vertices{}; + + for (const auto& vertex : graph.get_vertices()) { + if (processed_vertices[vertex.first] == UNVISITED) { + detail::do_dfs_topological_sort(graph, vertex.first, processed_vertices, sorted_vertices); + } + } + + std::reverse(sorted_vertices.begin(), sorted_vertices.end()); + return sorted_vertices; +} + +}; // namespace graaf::algorithm diff --git a/test/graaflib/algorithm/topological_sorting_test.cpp b/test/graaflib/algorithm/topological_sorting_test.cpp new file mode 100644 index 00000000..03e2ce71 --- /dev/null +++ b/test/graaflib/algorithm/topological_sorting_test.cpp @@ -0,0 +1,178 @@ +#include +#include +#include +#include +#include + +namespace graaf::algorithm { +namespace { +template +struct TypedTopologicalSort : public testing::Test { + using graph_t = T; +}; + +using graph_types = testing::Types>; +TYPED_TEST_SUITE(TypedTopologicalSort, graph_types); + +}; // namespace + +TYPED_TEST(TypedTopologicalSort, ShortGraph) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + graph.add_edge(vertex_1, vertex_2, 25); + graph.add_edge(vertex_2, vertex_3, 35); + graph.add_edge(vertex_3, vertex_4, 45); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices{0, 1, 2, 3}; + + // THEN + ASSERT_EQ(expected_vertices, sorted_vertices); +} + +TYPED_TEST(TypedTopologicalSort, CycleGraph) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + graph.add_edge(vertex_1, vertex_2, 25); + graph.add_edge(vertex_2, vertex_3, 35); + graph.add_edge(vertex_3, vertex_4, 45); + graph.add_edge(vertex_4, vertex_1, 55); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices{}; + + // THEN + ASSERT_EQ(expected_vertices, sorted_vertices); +} + +TYPED_TEST(TypedTopologicalSort, GraphWithParallelEdge) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + graph.add_edge(vertex_1, vertex_2, 25); + graph.add_edge(vertex_3, vertex_4, 35); + graph.add_edge(vertex_4, vertex_1, 45); + graph.add_edge(vertex_1, vertex_4, 55); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices{}; + + // THEN + ASSERT_EQ(expected_vertices, sorted_vertices); +} + +TYPED_TEST(TypedTopologicalSort, SelfLoop) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + graph.add_edge(vertex_1, vertex_1, -1); + graph.add_edge(vertex_2, vertex_2, -1); + graph.add_edge(vertex_1, vertex_2, 15); + graph.add_edge(vertex_3, vertex_4, 25); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices{}; + + // THEN + ASSERT_EQ(expected_vertices, sorted_vertices); +} + +TYPED_TEST(TypedTopologicalSort, SimpleGraph) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + const auto vertex_5{graph.add_vertex(50)}; + const auto vertex_6{graph.add_vertex(60)}; + const auto vertex_7{graph.add_vertex(70)}; + + graph.add_edge(vertex_1, vertex_5, 1); + graph.add_edge(vertex_5, vertex_3, 2); + graph.add_edge(vertex_3, vertex_7, 3); + graph.add_edge(vertex_1, vertex_4, 4); + graph.add_edge(vertex_1, vertex_2, 5); + graph.add_edge(vertex_4, vertex_2, 6); + graph.add_edge(vertex_2, vertex_6, 7); + graph.add_edge(vertex_6, vertex_3, 8); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices{0, 3, 1, 5, 4, 2, 6}; + + // THEN + ASSERT_EQ(expected_vertices, sorted_vertices); +} + +TYPED_TEST(TypedTopologicalSort, SixSortResults) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + const auto vertex_5{graph.add_vertex(50)}; + const auto vertex_6{graph.add_vertex(60)}; + const auto vertex_7{graph.add_vertex(70)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_2, vertex_3, 2); + graph.add_edge(vertex_1, vertex_4, 3); + graph.add_edge(vertex_4, vertex_5, 4); + graph.add_edge(vertex_1, vertex_6, 5); + graph.add_edge(vertex_6, vertex_7, 6); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices_1{0, 1, 2, 3, 4, 5, 6}; + std::vector expected_vertices_2{0, 1, 2, 5, 6, 3, 4}; + std::vector expected_vertices_3{0, 5, 6, 1, 2, 3, 4}; + std::vector expected_vertices_4{0, 5, 6, 3, 4, 1, 2}; + std::vector expected_vertices_5{0, 3, 4, 5, 6, 1, 2}; + std::vector expected_vertices_6{0, 3, 4, 1, 2, 5, 6}; + + // THEN + ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || + (expected_vertices_2 == sorted_vertices) || + (expected_vertices_3 == sorted_vertices) || + (expected_vertices_4 == sorted_vertices) || + (expected_vertices_4 == sorted_vertices) || + (expected_vertices_6 == sorted_vertices) ); +} + +}; // namespace graaf::algorithm \ No newline at end of file From f8cd4fb0f95708fced31ad1ac1354722788511d1 Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 5 Sep 2023 13:51:34 +0300 Subject: [PATCH 20/40] small fixes --- .../algorithm/topological_sorting_test.cpp | 134 ++++++++++-------- 1 file changed, 71 insertions(+), 63 deletions(-) diff --git a/test/graaflib/algorithm/topological_sorting_test.cpp b/test/graaflib/algorithm/topological_sorting_test.cpp index 03e2ce71..7a3dcc87 100644 --- a/test/graaflib/algorithm/topological_sorting_test.cpp +++ b/test/graaflib/algorithm/topological_sorting_test.cpp @@ -76,7 +76,7 @@ TYPED_TEST(TypedTopologicalSort, GraphWithParallelEdge) { graph.add_edge(vertex_4, vertex_1, 45); graph.add_edge(vertex_1, vertex_4, 55); - // WHEN; + // WHEN auto sorted_vertices = topological_sort(graph); std::vector expected_vertices{}; @@ -108,71 +108,79 @@ TYPED_TEST(TypedTopologicalSort, SelfLoop) { } TYPED_TEST(TypedTopologicalSort, SimpleGraph) { - // GIVEN - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; - - const auto vertex_1{graph.add_vertex(10)}; - const auto vertex_2{graph.add_vertex(20)}; - const auto vertex_3{graph.add_vertex(30)}; - const auto vertex_4{graph.add_vertex(40)}; - const auto vertex_5{graph.add_vertex(50)}; - const auto vertex_6{graph.add_vertex(60)}; - const auto vertex_7{graph.add_vertex(70)}; - - graph.add_edge(vertex_1, vertex_5, 1); - graph.add_edge(vertex_5, vertex_3, 2); - graph.add_edge(vertex_3, vertex_7, 3); - graph.add_edge(vertex_1, vertex_4, 4); - graph.add_edge(vertex_1, vertex_2, 5); - graph.add_edge(vertex_4, vertex_2, 6); - graph.add_edge(vertex_2, vertex_6, 7); - graph.add_edge(vertex_6, vertex_3, 8); - - // WHEN; - auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices{0, 3, 1, 5, 4, 2, 6}; - - // THEN - ASSERT_EQ(expected_vertices, sorted_vertices); + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + const auto vertex_5{graph.add_vertex(50)}; + const auto vertex_6{graph.add_vertex(60)}; + const auto vertex_7{graph.add_vertex(70)}; + + graph.add_edge(vertex_1, vertex_5, 1); + graph.add_edge(vertex_5, vertex_3, 2); + graph.add_edge(vertex_3, vertex_7, 3); + graph.add_edge(vertex_1, vertex_4, 4); + graph.add_edge(vertex_1, vertex_2, 5); + graph.add_edge(vertex_4, vertex_2, 6); + graph.add_edge(vertex_2, vertex_6, 7); + graph.add_edge(vertex_6, vertex_3, 8); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices_1{0, 3, 1, 5, 4, 2, 6}; + std::vector expected_vertices_2{0, 1, 3, 5, 4, 2, 6}; + std::vector expected_vertices_3{0, 1, 3, 4, 5, 2, 6}; + std::vector expected_vertices_4{0, 4, 3, 1, 5, 2, 6}; + std::vector expected_vertices_5{0, 4, 1, 3, 5, 2, 6}; + + // THEN + ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || + (expected_vertices_2 == sorted_vertices) || + (expected_vertices_3 == sorted_vertices) || + (expected_vertices_4 == sorted_vertices) || + (expected_vertices_5 == sorted_vertices)); } TYPED_TEST(TypedTopologicalSort, SixSortResults) { - // GIVEN - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; - - const auto vertex_1{graph.add_vertex(10)}; - const auto vertex_2{graph.add_vertex(20)}; - const auto vertex_3{graph.add_vertex(30)}; - const auto vertex_4{graph.add_vertex(40)}; - const auto vertex_5{graph.add_vertex(50)}; - const auto vertex_6{graph.add_vertex(60)}; - const auto vertex_7{graph.add_vertex(70)}; - - graph.add_edge(vertex_1, vertex_2, 1); - graph.add_edge(vertex_2, vertex_3, 2); - graph.add_edge(vertex_1, vertex_4, 3); - graph.add_edge(vertex_4, vertex_5, 4); - graph.add_edge(vertex_1, vertex_6, 5); - graph.add_edge(vertex_6, vertex_7, 6); - - // WHEN; - auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices_1{0, 1, 2, 3, 4, 5, 6}; - std::vector expected_vertices_2{0, 1, 2, 5, 6, 3, 4}; - std::vector expected_vertices_3{0, 5, 6, 1, 2, 3, 4}; - std::vector expected_vertices_4{0, 5, 6, 3, 4, 1, 2}; - std::vector expected_vertices_5{0, 3, 4, 5, 6, 1, 2}; - std::vector expected_vertices_6{0, 3, 4, 1, 2, 5, 6}; - - // THEN - ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || - (expected_vertices_2 == sorted_vertices) || - (expected_vertices_3 == sorted_vertices) || - (expected_vertices_4 == sorted_vertices) || - (expected_vertices_4 == sorted_vertices) || - (expected_vertices_6 == sorted_vertices) ); + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + const auto vertex_5{graph.add_vertex(50)}; + const auto vertex_6{graph.add_vertex(60)}; + const auto vertex_7{graph.add_vertex(70)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_2, vertex_3, 2); + graph.add_edge(vertex_1, vertex_4, 3); + graph.add_edge(vertex_4, vertex_5, 4); + graph.add_edge(vertex_1, vertex_6, 5); + graph.add_edge(vertex_6, vertex_7, 6); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices_1{0, 1, 2, 3, 4, 5, 6}; + std::vector expected_vertices_2{0, 1, 2, 5, 6, 3, 4}; + std::vector expected_vertices_3{0, 5, 6, 1, 2, 3, 4}; + std::vector expected_vertices_4{0, 5, 6, 3, 4, 1, 2}; + std::vector expected_vertices_5{0, 3, 4, 5, 6, 1, 2}; + std::vector expected_vertices_6{0, 3, 4, 1, 2, 5, 6}; + + // THEN + ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || + (expected_vertices_2 == sorted_vertices) || + (expected_vertices_3 == sorted_vertices) || + (expected_vertices_4 == sorted_vertices) || + (expected_vertices_4 == sorted_vertices) || + (expected_vertices_6 == sorted_vertices)); } }; // namespace graaf::algorithm \ No newline at end of file From 14f0b8d9876c4ac9d2284f2f3cc7832add4c666b Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 5 Sep 2023 14:00:35 +0300 Subject: [PATCH 21/40] clang format fix --- .../graaflib/algorithm/topological_sorting.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/include/graaflib/algorithm/topological_sorting.h b/include/graaflib/algorithm/topological_sorting.h index 28e2ea3b..9faba554 100644 --- a/include/graaflib/algorithm/topological_sorting.h +++ b/include/graaflib/algorithm/topological_sorting.h @@ -4,17 +4,17 @@ namespace graaf::algorithm { /** -* @brief Calculates order of vertices in topological order -* using DFS traversal -* -* @tparam V The vertex type of the graph. -* @tparam E The edge type of the graph. -* @param graph The input graph. -* @return Vector of vertices sorted in topological order -*/ + * @brief Calculates order of vertices in topological order + * using DFS traversal + * + * @tparam V The vertex type of the graph. + * @tparam E The edge type of the graph. + * @param graph The input graph. + * @return Vector of vertices sorted in topological order + */ template [[nodiscard]] std::vector topological_sort( const graph& graph); -} // namespace graaf::algorithm +} // namespace graaf::algorithm #include "topological_sorting.tpp" From 7efd134a41d9f06db1be90e0d609edaa7964b656 Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 5 Sep 2023 14:26:19 +0300 Subject: [PATCH 22/40] added test --- test/graaflib/algorithm/topological_sorting_test.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/graaflib/algorithm/topological_sorting_test.cpp b/test/graaflib/algorithm/topological_sorting_test.cpp index 7a3dcc87..7a1f886c 100644 --- a/test/graaflib/algorithm/topological_sorting_test.cpp +++ b/test/graaflib/algorithm/topological_sorting_test.cpp @@ -136,13 +136,15 @@ TYPED_TEST(TypedTopologicalSort, SimpleGraph) { std::vector expected_vertices_3{0, 1, 3, 4, 5, 2, 6}; std::vector expected_vertices_4{0, 4, 3, 1, 5, 2, 6}; std::vector expected_vertices_5{0, 4, 1, 3, 5, 2, 6}; + std::vector expected_vertices_6{0, 1, 4, 3, 5, 2, 6}; // THEN ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || (expected_vertices_2 == sorted_vertices) || (expected_vertices_3 == sorted_vertices) || (expected_vertices_4 == sorted_vertices) || - (expected_vertices_5 == sorted_vertices)); + (expected_vertices_5 == sorted_vertices) || + (expected_vertices_6 == sorted_vertices )); } TYPED_TEST(TypedTopologicalSort, SixSortResults) { From 0bcad82a6738a7a6f1e48586608d75fb5373dbdb Mon Sep 17 00:00:00 2001 From: Hromz Date: Tue, 5 Sep 2023 14:33:26 +0300 Subject: [PATCH 23/40] more tests --- test/graaflib/algorithm/topological_sorting_test.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/graaflib/algorithm/topological_sorting_test.cpp b/test/graaflib/algorithm/topological_sorting_test.cpp index 7a1f886c..a5f224de 100644 --- a/test/graaflib/algorithm/topological_sorting_test.cpp +++ b/test/graaflib/algorithm/topological_sorting_test.cpp @@ -137,6 +137,8 @@ TYPED_TEST(TypedTopologicalSort, SimpleGraph) { std::vector expected_vertices_4{0, 4, 3, 1, 5, 2, 6}; std::vector expected_vertices_5{0, 4, 1, 3, 5, 2, 6}; std::vector expected_vertices_6{0, 1, 4, 3, 5, 2, 6}; + std::vector expected_vertices_7{0, 3, 1, 4, 5, 2, 6}; + std::vector expected_vertices_8{0, 3, 4, 1, 5, 2, 6}; // THEN ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || @@ -144,7 +146,9 @@ TYPED_TEST(TypedTopologicalSort, SimpleGraph) { (expected_vertices_3 == sorted_vertices) || (expected_vertices_4 == sorted_vertices) || (expected_vertices_5 == sorted_vertices) || - (expected_vertices_6 == sorted_vertices )); + (expected_vertices_6 == sorted_vertices) || + (expected_vertices_7 == sorted_vertices) || + (expected_vertices_8 == sorted_vertices)); } TYPED_TEST(TypedTopologicalSort, SixSortResults) { From f96849a5e3b624bc6a3a8f4fa5a042b9c3fc9a52 Mon Sep 17 00:00:00 2001 From: Hromz Date: Sun, 10 Sep 2023 11:30:02 +0300 Subject: [PATCH 24/40] Minor fixes Added one test --- .../topological-sort/topological-sort.md | 6 +- .../graaflib/algorithm/topological_sorting.h | 3 +- .../algorithm/topological_sorting.tpp | 26 +++---- .../algorithm/topological_sorting_test.cpp | 78 ++++++++++++++----- 4 files changed, 77 insertions(+), 36 deletions(-) diff --git a/docs/docs/algorithms/topological-sort/topological-sort.md b/docs/docs/algorithms/topological-sort/topological-sort.md index 0951ad42..0d81af79 100644 --- a/docs/docs/algorithms/topological-sort/topological-sort.md +++ b/docs/docs/algorithms/topological-sort/topological-sort.md @@ -13,9 +13,9 @@ The runtime of the algorithm is `O(|V|+|E|)` and the memory consumption is `O(|V ```cpp template -[[nodiscard]] std::vector kruskal_minimum_spanning_tree( - const graph& graph); +[[nodiscard]] std::optional> topological_sort( + const graph& graph); ``` -- **graph** The graph to traverse. +- **graph** The directed graph to traverse. - **return** Vector of vertices sorted in topological order. If the graph contains cycles, it returns an empty vector. \ No newline at end of file diff --git a/include/graaflib/algorithm/topological_sorting.h b/include/graaflib/algorithm/topological_sorting.h index 9faba554..a3b263a4 100644 --- a/include/graaflib/algorithm/topological_sorting.h +++ b/include/graaflib/algorithm/topological_sorting.h @@ -1,5 +1,6 @@ #pragma once +#include #include namespace graaf::algorithm { @@ -13,7 +14,7 @@ namespace graaf::algorithm { * @return Vector of vertices sorted in topological order */ template -[[nodiscard]] std::vector topological_sort( +[[nodiscard]] std::optional> topological_sort( const graph& graph); } // namespace graaf::algorithm diff --git a/include/graaflib/algorithm/topological_sorting.tpp b/include/graaflib/algorithm/topological_sorting.tpp index 817185bd..bcd7d30a 100644 --- a/include/graaflib/algorithm/topological_sorting.tpp +++ b/include/graaflib/algorithm/topological_sorting.tpp @@ -4,52 +4,50 @@ #include #include -#include +#include +#include namespace graaf::algorithm { namespace detail { -enum class vertex_status { UNVISITED, VISITED}; - // DFS topological sort template void do_dfs_topological_sort( const graph& graph, vertex_id_t start_vertex, - std::unordered_map& processed_vertices, + std::unordered_set& processed_vertices, std::vector& sorted_vertices) { - processed_vertices[start_vertex] = vertex_status::VISITED; + processed_vertices.insert(start_vertex); for (const auto& next_vertex : graph.get_neighbors(start_vertex)) { - if (processed_vertices[next_vertex] == vertex_status::UNVISITED) { + if (!processed_vertices.contains(next_vertex)) { do_dfs_topological_sort(graph, next_vertex, processed_vertices, sorted_vertices); } } - sorted_vertices.push_back(start_vertex); + sorted_vertices.push_back(start_vertex); } }; // namespace detail template -std::vector topological_sort( +std::optional> topological_sort( const graph& graph) { // Graph should be acyclic if (dfs_cycle_detection(graph)) { - return {}; + return std::nullopt; } - using enum detail::vertex_status; std::vector sorted_vertices{}; sorted_vertices.reserve(graph.vertex_count()); - std::unordered_map processed_vertices{}; + std::unordered_set processed_vertices{}; - for (const auto& vertex : graph.get_vertices()) { - if (processed_vertices[vertex.first] == UNVISITED) { - detail::do_dfs_topological_sort(graph, vertex.first, processed_vertices, sorted_vertices); + for (const auto& [vertex_id, _] : graph.get_vertices()) { + if (!processed_vertices.contains(vertex_id)) { + detail::do_dfs_topological_sort(graph, vertex_id, processed_vertices, sorted_vertices); } } diff --git a/test/graaflib/algorithm/topological_sorting_test.cpp b/test/graaflib/algorithm/topological_sorting_test.cpp index a5f224de..642b15d4 100644 --- a/test/graaflib/algorithm/topological_sorting_test.cpp +++ b/test/graaflib/algorithm/topological_sorting_test.cpp @@ -32,12 +32,40 @@ TYPED_TEST(TypedTopologicalSort, ShortGraph) { // WHEN; auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices{0, 1, 2, 3}; + std::vector expected_vertices{vertex_1, vertex_2, vertex_3, + vertex_4}; // THEN ASSERT_EQ(expected_vertices, sorted_vertices); } +TYPED_TEST(TypedTopologicalSort, RhombusShapeGraph) { + // GIVEN + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + graph.add_edge(vertex_1, vertex_2, 25); + graph.add_edge(vertex_1, vertex_3, 35); + graph.add_edge(vertex_3, vertex_4, 45); + graph.add_edge(vertex_2, vertex_4, 55); + + // WHEN; + auto sorted_vertices = topological_sort(graph); + std::vector expected_vertices_1{vertex_1, vertex_2, vertex_3, + vertex_4}; + std::vector expected_vertices_2{vertex_1, vertex_3, vertex_2, + vertex_4}; + + // THEN + ASSERT_TRUE(expected_vertices_1 == sorted_vertices || + expected_vertices_2 == sorted_vertices); +} + TYPED_TEST(TypedTopologicalSort, CycleGraph) { // GIVEN using graph_t = typename TestFixture::graph_t; @@ -55,7 +83,7 @@ TYPED_TEST(TypedTopologicalSort, CycleGraph) { // WHEN; auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices{}; + const auto expected_vertices = std::nullopt; // THEN ASSERT_EQ(expected_vertices, sorted_vertices); @@ -78,7 +106,7 @@ TYPED_TEST(TypedTopologicalSort, GraphWithParallelEdge) { // WHEN auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices{}; + const auto expected_vertices = std::nullopt; // THEN ASSERT_EQ(expected_vertices, sorted_vertices); @@ -101,7 +129,7 @@ TYPED_TEST(TypedTopologicalSort, SelfLoop) { // WHEN; auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices{}; + const auto expected_vertices = std::nullopt; // THEN ASSERT_EQ(expected_vertices, sorted_vertices); @@ -131,14 +159,22 @@ TYPED_TEST(TypedTopologicalSort, SimpleGraph) { // WHEN; auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices_1{0, 3, 1, 5, 4, 2, 6}; - std::vector expected_vertices_2{0, 1, 3, 5, 4, 2, 6}; - std::vector expected_vertices_3{0, 1, 3, 4, 5, 2, 6}; - std::vector expected_vertices_4{0, 4, 3, 1, 5, 2, 6}; - std::vector expected_vertices_5{0, 4, 1, 3, 5, 2, 6}; - std::vector expected_vertices_6{0, 1, 4, 3, 5, 2, 6}; - std::vector expected_vertices_7{0, 3, 1, 4, 5, 2, 6}; - std::vector expected_vertices_8{0, 3, 4, 1, 5, 2, 6}; + std::vector expected_vertices_1{ + vertex_1, vertex_4, vertex_2, vertex_6, vertex_5, vertex_3, vertex_7}; + std::vector expected_vertices_2{ + vertex_1, vertex_2, vertex_4, vertex_6, vertex_5, vertex_3, vertex_7}; + std::vector expected_vertices_3{ + vertex_1, vertex_2, vertex_4, vertex_5, vertex_6, vertex_3, vertex_7}; + std::vector expected_vertices_4{ + vertex_1, vertex_5, vertex_4, vertex_2, vertex_6, vertex_3, vertex_7}; + std::vector expected_vertices_5{ + vertex_1, vertex_5, vertex_2, vertex_4, vertex_6, vertex_3, vertex_7}; + std::vector expected_vertices_6{ + vertex_1, vertex_2, vertex_5, vertex_4, vertex_6, vertex_3, vertex_7}; + std::vector expected_vertices_7{ + vertex_1, vertex_4, vertex_2, vertex_5, vertex_6, vertex_3, vertex_7}; + std::vector expected_vertices_8{ + vertex_1, vertex_4, vertex_5, vertex_2, vertex_6, vertex_3, vertex_7}; // THEN ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || @@ -173,12 +209,18 @@ TYPED_TEST(TypedTopologicalSort, SixSortResults) { // WHEN; auto sorted_vertices = topological_sort(graph); - std::vector expected_vertices_1{0, 1, 2, 3, 4, 5, 6}; - std::vector expected_vertices_2{0, 1, 2, 5, 6, 3, 4}; - std::vector expected_vertices_3{0, 5, 6, 1, 2, 3, 4}; - std::vector expected_vertices_4{0, 5, 6, 3, 4, 1, 2}; - std::vector expected_vertices_5{0, 3, 4, 5, 6, 1, 2}; - std::vector expected_vertices_6{0, 3, 4, 1, 2, 5, 6}; + std::vector expected_vertices_1{ + vertex_1, vertex_2, vertex_3, vertex_4, vertex_5, vertex_6, vertex_7}; + std::vector expected_vertices_2{ + vertex_1, vertex_2, vertex_3, vertex_6, vertex_7, vertex_4, vertex_5}; + std::vector expected_vertices_3{ + vertex_1, vertex_6, vertex_7, vertex_2, vertex_3, vertex_4, vertex_5}; + std::vector expected_vertices_4{ + vertex_1, vertex_6, vertex_7, vertex_4, vertex_5, vertex_2, vertex_3}; + std::vector expected_vertices_5{ + vertex_1, vertex_4, vertex_5, vertex_6, vertex_7, vertex_2, vertex_3}; + std::vector expected_vertices_6{ + vertex_1, vertex_4, vertex_5, vertex_2, vertex_3, vertex_6, vertex_7}; // THEN ASSERT_TRUE((expected_vertices_1 == sorted_vertices) || From 57d3c4735de92cac1486e333814c1414160777e1 Mon Sep 17 00:00:00 2001 From: Hromz Date: Sun, 10 Sep 2023 11:38:10 +0300 Subject: [PATCH 25/40] Clang format --- include/graaflib/algorithm/topological_sorting.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/graaflib/algorithm/topological_sorting.h b/include/graaflib/algorithm/topological_sorting.h index a3b263a4..5cae4ae9 100644 --- a/include/graaflib/algorithm/topological_sorting.h +++ b/include/graaflib/algorithm/topological_sorting.h @@ -1,8 +1,9 @@ #pragma once -#include #include +#include + namespace graaf::algorithm { /** * @brief Calculates order of vertices in topological order From c5ddba1679a5a6ee20cf4a7c5fd32d12bfc35a68 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Sun, 10 Sep 2023 23:31:19 +0300 Subject: [PATCH 26/40] Update topological-sort.md Corrected doc file --- docs/docs/algorithms/topological-sort/topological-sort.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/algorithms/topological-sort/topological-sort.md b/docs/docs/algorithms/topological-sort/topological-sort.md index 0d81af79..a8d544cd 100644 --- a/docs/docs/algorithms/topological-sort/topological-sort.md +++ b/docs/docs/algorithms/topological-sort/topological-sort.md @@ -18,4 +18,4 @@ template ``` - **graph** The directed graph to traverse. -- **return** Vector of vertices sorted in topological order. If the graph contains cycles, it returns an empty vector. \ No newline at end of file +- **return** Vector of vertices sorted in topological order. If the graph contains cycles, it returns std::nullopt. From 19ea438c081c3eef6515c90c9cbb911666c2835e Mon Sep 17 00:00:00 2001 From: Hromz Date: Thu, 14 Sep 2023 14:41:30 +0300 Subject: [PATCH 27/40] DOCS for DFS based cycle detection --- .../algorithms/cycle-detection/dfs-based.md | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/docs/docs/algorithms/cycle-detection/dfs-based.md b/docs/docs/algorithms/cycle-detection/dfs-based.md index 7c8cc550..8d0740f8 100644 --- a/docs/docs/algorithms/cycle-detection/dfs-based.md +++ b/docs/docs/algorithms/cycle-detection/dfs-based.md @@ -2,4 +2,54 @@ sidebar_position: 1 --- -# DFS Based Cycle Detection \ No newline at end of file +# DFS Based Cycle Detection +A DFS based cycle detection algorithm is used to identify cycles in graphs, both directed and undirected. +The algorithm doesn't work on edges with weight and therefore cannot be used for negative weight cycles. + +# Directed graph +The key idea is that when a vertex is processed, mark it as: UNVISITED, VISITED and NO_CYCLE. +By default all vertices marked as UNVISITED. During the traversal, we label vertices as VISITED. At the exit of the recursion, we label the vertex as NO CYCLE. +If we met a vertex labeled VISITED, we found a cycle in the graph. + +# Undirected graph +The key idea is to store the parent of each vertex during the traversal. So when we check neighboring vertices, we skip back edge. +During the traversal we mark the vertex as visited and continue the traversal. In case a vertex was visited before and vertices have different parents, we found a cycle. + +The runtime of the algorithm is `O(|V| + |E|)` and memory consumption is `O(|V|)`. Where V is the number of vertices in the graph and E the number of edges. +The algorithm uses DFS traversal and therefore suffers the same limitations (see depth-first-search.md). + +# Use cases +- Resource dependencies: + - Redundant connections. + - Deadlocks in concurrent systems. +- Logical dependencies: + - Data base relation. + - Dependency management. + - Circuit design. +- Infinity loops. + +[wikipedia]('https://en.wikipedia.org/wiki/Cycle_(graph_theory)#Cycle_detection') + +## Syntax +Cycle detection for directed graph. + +```cpp +template +[[nodiscard]] bool dfs_cycle_detection( + const graph &graph); + +``` + +Cycle detection for unidrected graph. +```cpp +template +[[nodiscard]] bool dfs_cycle_detection( + const graph &graph); +``` + +- **graph** The graph to traverse. +- **return** Returns true in case of cycle otherwise returns false. + +## Similar algorithms +There are many algorithms for cycle detection or algorithms with specific cycle conditions. +See [wikipedia]('https://en.wikipedia.org/wiki/Cycle_(graph_theory)#Graph_classes_defined_by_cycle') From 68c2c2be73f636ad3bc67e331d41d51f9cb24ead Mon Sep 17 00:00:00 2001 From: Hromz Date: Thu, 14 Sep 2023 14:46:20 +0300 Subject: [PATCH 28/40] small fixes --- docs/docs/algorithms/cycle-detection/dfs-based.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/docs/algorithms/cycle-detection/dfs-based.md b/docs/docs/algorithms/cycle-detection/dfs-based.md index 8d0740f8..a5e99b12 100644 --- a/docs/docs/algorithms/cycle-detection/dfs-based.md +++ b/docs/docs/algorithms/cycle-detection/dfs-based.md @@ -22,13 +22,14 @@ The algorithm uses DFS traversal and therefore suffers the same limitations (see - Resource dependencies: - Redundant connections. - Deadlocks in concurrent systems. + - Deadlocks in concurrent systems. - Logical dependencies: - Data base relation. - Dependency management. - Circuit design. - Infinity loops. -[wikipedia]('https://en.wikipedia.org/wiki/Cycle_(graph_theory)#Cycle_detection') +[wikipedia](https://en.wikipedia.org/wiki/Cycle_(graph_theory)#Cycle_detection) ## Syntax Cycle detection for directed graph. @@ -52,4 +53,4 @@ template ## Similar algorithms There are many algorithms for cycle detection or algorithms with specific cycle conditions. -See [wikipedia]('https://en.wikipedia.org/wiki/Cycle_(graph_theory)#Graph_classes_defined_by_cycle') +See [wikipedia](https://en.wikipedia.org/wiki/Cycle_(graph_theory)#Graph_classes_defined_by_cycle) From 55d39728c2fb68953fa0377008360fbcca040b16 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Mon, 18 Sep 2023 07:52:13 +0300 Subject: [PATCH 29/40] Update dfs-based.md --- docs/docs/algorithms/cycle-detection/dfs-based.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/algorithms/cycle-detection/dfs-based.md b/docs/docs/algorithms/cycle-detection/dfs-based.md index a5e99b12..43cdf4d0 100644 --- a/docs/docs/algorithms/cycle-detection/dfs-based.md +++ b/docs/docs/algorithms/cycle-detection/dfs-based.md @@ -4,7 +4,7 @@ sidebar_position: 1 # DFS Based Cycle Detection A DFS based cycle detection algorithm is used to identify cycles in graphs, both directed and undirected. -The algorithm doesn't work on edges with weight and therefore cannot be used for negative weight cycles. +The algorithm can be used to detect cycles in the structure of a graph, as it does not consider edge weights. # Directed graph The key idea is that when a vertex is processed, mark it as: UNVISITED, VISITED and NO_CYCLE. From da97d6265a4042213746f0dc9e50eb7c9cbf2539 Mon Sep 17 00:00:00 2001 From: Hromz Date: Sun, 24 Sep 2023 13:29:36 +0300 Subject: [PATCH 30/40] Added Floyd-WArshall algorithm - algorithm - test - documentation --- .../shortest-path/floyd-warshall.md | 28 ++ .../algorithm/shortest_path/floyd_warshall.h | 30 ++ .../shortest_path/floyd_warshall.tpp | 80 +++++ .../algorithm/floyd_warshall_test.cpp | 290 ++++++++++++++++++ 4 files changed, 428 insertions(+) create mode 100644 docs/docs/algorithms/shortest-path/floyd-warshall.md create mode 100644 include/graaflib/algorithm/shortest_path/floyd_warshall.h create mode 100644 include/graaflib/algorithm/shortest_path/floyd_warshall.tpp create mode 100644 test/graaflib/algorithm/floyd_warshall_test.cpp diff --git a/docs/docs/algorithms/shortest-path/floyd-warshall.md b/docs/docs/algorithms/shortest-path/floyd-warshall.md new file mode 100644 index 00000000..ac6fc1a2 --- /dev/null +++ b/docs/docs/algorithms/shortest-path/floyd-warshall.md @@ -0,0 +1,28 @@ +--- +sidebar_position: 5 +--- + +# Floyd-Warshall algorithm +Floyd-Warshall algorithm computes the shortest path between any two vertices in a graph, both directed and undirected. +The key idea of the algorithm is to relax the weighted shortest path between any two vertices, using any vertex as an intermediate one. +Advantage of the algorithm is that it processes vertices instead of edges. This advantage can be used when the number of edges is large enough, aka a dense graph. +Runtime of the algorithm is O(|V3|) and memory consumption is O(|V2|). + +[wikipedia](https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm) + +## Syntax + +Calculates the shortest path between any two vertices. + +```cpp +template ()))> +std::vector> floyd_warshall_shortest_paths( + const graph& graph); +``` + +- **graph** The graph to extract the shortest path from. +- **return** Returns a 2D vector of the shortest path. If a path doesn't exist between two vertices, mark it as TYPE_MAX. + +### Special case +In the case of a negative cycle in both directed and undirected graphs, the algorithm marks vertices as TYPE_MIN. \ No newline at end of file diff --git a/include/graaflib/algorithm/shortest_path/floyd_warshall.h b/include/graaflib/algorithm/shortest_path/floyd_warshall.h new file mode 100644 index 00000000..ca022ecf --- /dev/null +++ b/include/graaflib/algorithm/shortest_path/floyd_warshall.h @@ -0,0 +1,30 @@ +#pragma once + +#include +#include + +namespace graaf::algorithm { +/** + * @brief Floyd-Warshall Algorithm + * + * This function computes the shortest paths between all pairs of vertices in a + * given weighted graph. It works for graphs with negative weight edges as well, + * but not for graphs with negative weight cycles. The function returns an + * adjacency matrix representing the shortest distances. + * + * @tparam V The type of a graph vertex + * @tparam E The type of a graph edge + * @tparam T the graph type (DIRECTED or UNDIRECTED) + * @tparam WEIGHT_T The weight type of an edge in the graph + * @param graph The graph object + * @return A 2D vector where element at [i][j] is the shortest distance from + * vertex i to vertex j. + */ +template ()))> +std::vector> floyd_warshall_shortest_paths( + const graph& graph); + +}; // namespace graaf::algorithm + +#include "floyd_warshall.tpp" \ No newline at end of file diff --git a/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp b/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp new file mode 100644 index 00000000..44fd2769 --- /dev/null +++ b/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp @@ -0,0 +1,80 @@ +#pragma once + +#include + +#include +#include + +namespace graaf::algorithm { + +namespace detail { + +// Mark vertices in negative cycle as NO_PATH +template +void do_fw_detect_negative_cycle( + std::vector>& distance, WEIGHT_T ZERO, WEIGHT_T INF, + WEIGHT_T NO_PATH, size_t n){ + + for(std::size_t start_vertex = 0; start_vertex < n; ++start_vertex){ + for(std::size_t end_vertex = 0; end_vertex < n; ++end_vertex){ + for(std::size_t through_vertex = 0; through_vertex < n; ++through_vertex){ + if(distance[start_vertex][through_vertex] < INF && + distance[through_vertex][through_vertex] < ZERO && + distance[through_vertex][end_vertex] < INF){ + distance[start_vertex][end_vertex] = NO_PATH; + } + } + } + } +} + +}; // namespace detail + +template +std::vector> floyd_warshall_shortest_paths( + const graph& graph){ + + WEIGHT_T ZERO{}; + std::size_t n = graph.vertex_count(); + auto INF = std::numeric_limits::max(); + auto NO_PATH = std::numeric_limits::min(); + + std::vector> shortest_paths( + n, std::vector(n, INF)); + + for(std::size_t vertex = 0; vertex < n; ++vertex){ + shortest_paths[vertex][vertex] = ZERO; + } + + // Initial weights between vertices + for(std::size_t from_vertex = 0; from_vertex < n; ++from_vertex){ + for(const auto & to_vertex : graph.get_neighbors(from_vertex)){ + shortest_paths[from_vertex][to_vertex] = + std::min(shortest_paths[from_vertex][to_vertex], + get_weight(graph.get_edge(from_vertex, to_vertex))); + } + } + + for(std::size_t through_vertex = 0; through_vertex < n; ++through_vertex){ + for(std::size_t start_vertex = 0; start_vertex < n; ++start_vertex){ + if(shortest_paths[start_vertex][through_vertex] < INF) { + + for (std::size_t end_vertex = 0; end_vertex < n; ++end_vertex) { + + if (shortest_paths[through_vertex][end_vertex] < INF) { + shortest_paths[start_vertex][end_vertex] = + std::min(shortest_paths[start_vertex][end_vertex], + shortest_paths[start_vertex][through_vertex] + + shortest_paths[through_vertex][end_vertex]); + } + } + } + } + } + + // Mark vertices in negative cycles with INF + detail::do_fw_detect_negative_cycle(shortest_paths,ZERO, INF, NO_PATH, n); + return shortest_paths; +} + +}; // namespace graaf::algorithm \ No newline at end of file diff --git a/test/graaflib/algorithm/floyd_warshall_test.cpp b/test/graaflib/algorithm/floyd_warshall_test.cpp new file mode 100644 index 00000000..2e36929a --- /dev/null +++ b/test/graaflib/algorithm/floyd_warshall_test.cpp @@ -0,0 +1,290 @@ +#include +#include +#include +#include + +namespace graaf::algorithm { + +namespace { + +template +class my_weighted_edge : public weighted_edge { + public: + explicit my_weighted_edge(T weight) : weight_{weight} {} + + [[nodiscard]] T get_weight() const noexcept override { return weight_; } + + private: + T weight_{}; +}; + +template +struct FloydWarshallTest : public testing::Test { + using graph_t = typename T::first_type; + using edge_t = typename T::second_type; +}; +} // namespace + +using weighted_graph_types = testing::Types< + + /** + * Primitive edge type directed graph + */ + std::pair, int>, + std::pair, unsigned long>, + std::pair, float>, + std::pair, long double>, + + /** + * Non primitive weighted edge type directed graph + */ + + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>, + + /** + * Primitive edge type undirected graph + */ + std::pair, int>, + std::pair, unsigned long>, + std::pair, float>, + std::pair, long double>, + + /** + * Non primitive weighted edge type undirected graph + */ + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>, + std::pair>, + my_weighted_edge>>; + +TYPED_TEST_SUITE(FloydWarshallTest, weighted_graph_types); + +TYPED_TEST(FloydWarshallTest, UndirectedGraph) { + // GIVEN + undirected_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_3, vertex_1, 300); + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths = {{0, 100, 300}, {100, 0, 300}, + {300, 300, 0}}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + + TYPED_TEST(FloydWarshallTest, DirectedGraph){ + // GIVEN + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_3, vertex_1, 300); + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths = {{0, 100, 400}, {600, 0, 300}, + {300, 400, 0}}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + + TYPED_TEST(FloydWarshallTest, DirectedGraphNegativeCycle){ + // GIVEN + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, -100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_3, vertex_1, -300); + graph.add_edge(vertex_4, vertex_2, 300); + + auto NEG_CYCLE = INT_MIN; + auto NO_PATH = INT_MAX; + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths = + {{NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, 0}}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + + TYPED_TEST(FloydWarshallTest, UndirectedGraphNegativeCycle){ + // GIVEN + undirected_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, -100); + graph.add_edge(vertex_2, vertex_3, 300); + graph.add_edge(vertex_3, vertex_1, -300); + graph.add_edge(vertex_4, vertex_2, 300); + + auto NEG_CYCLE = INT_MIN; + auto NO_PATH = INT_MAX; + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths = + {{NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + + TYPED_TEST(FloydWarshallTest, DirectedGraphNoCycleNegativeWeight){ + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + const auto vertex_5{graph.add_vertex(50)}; + const auto vertex_6{graph.add_vertex(60)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 100); + graph.add_edge(vertex_2, vertex_3, 50); + graph.add_edge(vertex_2, vertex_4, -20); + graph.add_edge(vertex_3, vertex_6, -3); + graph.add_edge(vertex_4, vertex_6, 100); + graph.add_edge(vertex_5, vertex_2, -75); + + auto NEG_CYCLE = INT_MIN; + auto NO_PATH = INT_MAX; + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths = + {{0, 100, 150, 80, NO_PATH, 147}, + {NO_PATH, 0, 50, -20, NO_PATH, 47}, + {NO_PATH, NO_PATH, 0, NO_PATH, NO_PATH, -3}, + {NO_PATH, NO_PATH, NO_PATH , 0, NO_PATH, 100}, + {NO_PATH, -75, -25, -95, 0, -28}, + {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 0}}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + + TYPED_TEST(FloydWarshallTest, DenseDirectedGraph){ + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 10); + graph.add_edge(vertex_2, vertex_3, 50); + graph.add_edge(vertex_2, vertex_1, 20); + graph.add_edge(vertex_3, vertex_2, 3); + graph.add_edge(vertex_4, vertex_1, 10); + graph.add_edge(vertex_4, vertex_3, 75); + graph.add_edge(vertex_4, vertex_2, 12); + graph.add_edge(vertex_1, vertex_4, 12); + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths{{0, 10, 60, 12}, + {20, 0, 50, 32}, + {23, 3, 0, 35}, + {10, 12, 62, 0 }}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + + TYPED_TEST(FloydWarshallTest, DenseUndirectedGraph){ + undirected_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 10); + graph.add_edge(vertex_3, vertex_2, 3); + graph.add_edge(vertex_4, vertex_1, 10); + graph.add_edge(vertex_4, vertex_3, 75); + graph.add_edge(vertex_4, vertex_2, 12); + graph.add_edge(vertex_1, vertex_4, 12); + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths{{0, 10, 13, 10}, + {10, 0, 3, 12}, + {13, 3, 0, 15}, + {10, 12, 15, 0 }}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + + TYPED_TEST(FloydWarshallTest, DirectedGraphWithSubgraphNegativeCycle){ + directed_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 10); + graph.add_edge(vertex_2, vertex_1, -20); + + graph.add_edge(vertex_4, vertex_3, 75); + graph.add_edge(vertex_3, vertex_4, 12); + + auto NEG_CYCLE = INT_MIN; + auto NO_PATH = INT_MAX; + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths = + {{NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, + {NO_PATH, NO_PATH, 0, 12}, + {NO_PATH, NO_PATH, 75, 0 }}; + + ASSERT_EQ(shortest_paths, expected_paths); + } + +} // namespace graaf::algorithm \ No newline at end of file From 7a1ca3c0bb893e71808fc4adda55e0cacf254425 Mon Sep 17 00:00:00 2001 From: Hromz Date: Sun, 24 Sep 2023 14:11:10 +0300 Subject: [PATCH 31/40] clang tidy --- .../algorithm/shortest_path/floyd_warshall.h | 2 +- .../shortest_path/floyd_warshall.tpp | 75 +++++++------ .../algorithm/floyd_warshall_test.cpp | 102 +++++++++--------- 3 files changed, 86 insertions(+), 93 deletions(-) diff --git a/include/graaflib/algorithm/shortest_path/floyd_warshall.h b/include/graaflib/algorithm/shortest_path/floyd_warshall.h index ca022ecf..8797cec1 100644 --- a/include/graaflib/algorithm/shortest_path/floyd_warshall.h +++ b/include/graaflib/algorithm/shortest_path/floyd_warshall.h @@ -25,6 +25,6 @@ template > floyd_warshall_shortest_paths( const graph& graph); -}; // namespace graaf::algorithm +}; // namespace graaf::algorithm #include "floyd_warshall.tpp" \ No newline at end of file diff --git a/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp b/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp index 44fd2769..ffed28fc 100644 --- a/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp +++ b/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp @@ -10,17 +10,17 @@ namespace graaf::algorithm { namespace detail { // Mark vertices in negative cycle as NO_PATH -template -void do_fw_detect_negative_cycle( - std::vector>& distance, WEIGHT_T ZERO, WEIGHT_T INF, - WEIGHT_T NO_PATH, size_t n){ - - for(std::size_t start_vertex = 0; start_vertex < n; ++start_vertex){ - for(std::size_t end_vertex = 0; end_vertex < n; ++end_vertex){ - for(std::size_t through_vertex = 0; through_vertex < n; ++through_vertex){ - if(distance[start_vertex][through_vertex] < INF && +template +void do_fw_detect_negative_cycle(std::vector>& distance, + WEIGHT_T ZERO, WEIGHT_T INF, WEIGHT_T NO_PATH, + size_t n) { + for (std::size_t start_vertex = 0; start_vertex < n; ++start_vertex) { + for (std::size_t end_vertex = 0; end_vertex < n; ++end_vertex) { + for (std::size_t through_vertex = 0; through_vertex < n; + ++through_vertex) { + if (distance[start_vertex][through_vertex] < INF && distance[through_vertex][through_vertex] < ZERO && - distance[through_vertex][end_vertex] < INF){ + distance[through_vertex][end_vertex] < INF) { distance[start_vertex][end_vertex] = NO_PATH; } } @@ -28,53 +28,50 @@ void do_fw_detect_negative_cycle( } } -}; // namespace detail +}; // namespace detail template std::vector> floyd_warshall_shortest_paths( - const graph& graph){ - + const graph& graph) { WEIGHT_T ZERO{}; std::size_t n = graph.vertex_count(); auto INF = std::numeric_limits::max(); auto NO_PATH = std::numeric_limits::min(); - std::vector> shortest_paths( - n, std::vector(n, INF)); + std::vector> shortest_paths( + n, std::vector(n, INF)); - for(std::size_t vertex = 0; vertex < n; ++vertex){ - shortest_paths[vertex][vertex] = ZERO; - } + for (std::size_t vertex = 0; vertex < n; ++vertex) { + shortest_paths[vertex][vertex] = ZERO; + } - // Initial weights between vertices - for(std::size_t from_vertex = 0; from_vertex < n; ++from_vertex){ - for(const auto & to_vertex : graph.get_neighbors(from_vertex)){ - shortest_paths[from_vertex][to_vertex] = + // Initial weights between vertices + for (std::size_t from_vertex = 0; from_vertex < n; ++from_vertex) { + for (const auto& to_vertex : graph.get_neighbors(from_vertex)) { + shortest_paths[from_vertex][to_vertex] = std::min(shortest_paths[from_vertex][to_vertex], - get_weight(graph.get_edge(from_vertex, to_vertex))); - } - } - - for(std::size_t through_vertex = 0; through_vertex < n; ++through_vertex){ - for(std::size_t start_vertex = 0; start_vertex < n; ++start_vertex){ - if(shortest_paths[start_vertex][through_vertex] < INF) { + get_weight(graph.get_edge(from_vertex, to_vertex))); + } + } + for (std::size_t through_vertex = 0; through_vertex < n; ++through_vertex) { + for (std::size_t start_vertex = 0; start_vertex < n; ++start_vertex) { + if (shortest_paths[start_vertex][through_vertex] < INF) { for (std::size_t end_vertex = 0; end_vertex < n; ++end_vertex) { - if (shortest_paths[through_vertex][end_vertex] < INF) { shortest_paths[start_vertex][end_vertex] = std::min(shortest_paths[start_vertex][end_vertex], shortest_paths[start_vertex][through_vertex] + shortest_paths[through_vertex][end_vertex]); - } - } - } - } - } + } + } + } + } + } - // Mark vertices in negative cycles with INF - detail::do_fw_detect_negative_cycle(shortest_paths,ZERO, INF, NO_PATH, n); - return shortest_paths; + // Mark vertices in negative cycles with INF + detail::do_fw_detect_negative_cycle(shortest_paths, ZERO, INF, NO_PATH, n); + return shortest_paths; } -}; // namespace graaf::algorithm \ No newline at end of file +}; // namespace graaf::algorithm \ No newline at end of file diff --git a/test/graaflib/algorithm/floyd_warshall_test.cpp b/test/graaflib/algorithm/floyd_warshall_test.cpp index 2e36929a..29d6e731 100644 --- a/test/graaflib/algorithm/floyd_warshall_test.cpp +++ b/test/graaflib/algorithm/floyd_warshall_test.cpp @@ -23,7 +23,7 @@ struct FloydWarshallTest : public testing::Test { using graph_t = typename T::first_type; using edge_t = typename T::second_type; }; -} // namespace +} // namespace using weighted_graph_types = testing::Types< @@ -85,13 +85,13 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { graph.add_edge(vertex_3, vertex_1, 300); auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = {{0, 100, 300}, {100, 0, 300}, - {300, 300, 0}}; + std::vector> expected_paths = { + {0, 100, 300}, {100, 0, 300}, {300, 300, 0}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} - TYPED_TEST(FloydWarshallTest, DirectedGraph){ +TYPED_TEST(FloydWarshallTest, DirectedGraph) { // GIVEN directed_graph graph{}; @@ -106,15 +106,15 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { graph.add_edge(vertex_3, vertex_1, 300); auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = {{0, 100, 400}, {600, 0, 300}, - {300, 400, 0}}; + std::vector> expected_paths = { + {0, 100, 400}, {600, 0, 300}, {300, 400, 0}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} - TYPED_TEST(FloydWarshallTest, DirectedGraphNegativeCycle){ +TYPED_TEST(FloydWarshallTest, DirectedGraphNegativeCycle) { // GIVEN - directed_graph graph{}; + directed_graph graph{}; // graph vertices const auto vertex_1{graph.add_vertex(10)}; @@ -132,18 +132,18 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { auto NO_PATH = INT_MAX; auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = - {{NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, 0}}; + std::vector> expected_paths = { + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, 0}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} - TYPED_TEST(FloydWarshallTest, UndirectedGraphNegativeCycle){ +TYPED_TEST(FloydWarshallTest, UndirectedGraphNegativeCycle) { // GIVEN - undirected_graph graph{}; + undirected_graph graph{}; // graph vertices const auto vertex_1{graph.add_vertex(10)}; @@ -161,17 +161,17 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { auto NO_PATH = INT_MAX; auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = - {{NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}}; + std::vector> expected_paths = { + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, + {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} - TYPED_TEST(FloydWarshallTest, DirectedGraphNoCycleNegativeWeight){ - directed_graph graph{}; +TYPED_TEST(FloydWarshallTest, DirectedGraphNoCycleNegativeWeight) { + directed_graph graph{}; // graph vertices const auto vertex_1{graph.add_vertex(10)}; @@ -193,19 +193,19 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { auto NO_PATH = INT_MAX; auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = - {{0, 100, 150, 80, NO_PATH, 147}, + std::vector> expected_paths = { + {0, 100, 150, 80, NO_PATH, 147}, {NO_PATH, 0, 50, -20, NO_PATH, 47}, {NO_PATH, NO_PATH, 0, NO_PATH, NO_PATH, -3}, - {NO_PATH, NO_PATH, NO_PATH , 0, NO_PATH, 100}, + {NO_PATH, NO_PATH, NO_PATH, 0, NO_PATH, 100}, {NO_PATH, -75, -25, -95, 0, -28}, {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 0}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} - TYPED_TEST(FloydWarshallTest, DenseDirectedGraph){ - directed_graph graph{}; +TYPED_TEST(FloydWarshallTest, DenseDirectedGraph) { + directed_graph graph{}; // graph vertices const auto vertex_1{graph.add_vertex(10)}; @@ -224,16 +224,14 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { graph.add_edge(vertex_1, vertex_4, 12); auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths{{0, 10, 60, 12}, - {20, 0, 50, 32}, - {23, 3, 0, 35}, - {10, 12, 62, 0 }}; + std::vector> expected_paths{ + {0, 10, 60, 12}, {20, 0, 50, 32}, {23, 3, 0, 35}, {10, 12, 62, 0}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} - TYPED_TEST(FloydWarshallTest, DenseUndirectedGraph){ - undirected_graph graph{}; +TYPED_TEST(FloydWarshallTest, DenseUndirectedGraph) { + undirected_graph graph{}; // graph vertices const auto vertex_1{graph.add_vertex(10)}; @@ -250,16 +248,14 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { graph.add_edge(vertex_1, vertex_4, 12); auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths{{0, 10, 13, 10}, - {10, 0, 3, 12}, - {13, 3, 0, 15}, - {10, 12, 15, 0 }}; + std::vector> expected_paths{ + {0, 10, 13, 10}, {10, 0, 3, 12}, {13, 3, 0, 15}, {10, 12, 15, 0}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} - TYPED_TEST(FloydWarshallTest, DirectedGraphWithSubgraphNegativeCycle){ - directed_graph graph{}; +TYPED_TEST(FloydWarshallTest, DirectedGraphWithSubgraphNegativeCycle) { + directed_graph graph{}; // graph vertices const auto vertex_1{graph.add_vertex(10)}; @@ -278,13 +274,13 @@ TYPED_TEST(FloydWarshallTest, UndirectedGraph) { auto NO_PATH = INT_MAX; auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = - {{NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, - {NO_PATH, NO_PATH, 0, 12}, - {NO_PATH, NO_PATH, 75, 0 }}; + std::vector> expected_paths = { + {NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, + {NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, + {NO_PATH, NO_PATH, 0, 12}, + {NO_PATH, NO_PATH, 75, 0}}; ASSERT_EQ(shortest_paths, expected_paths); - } +} -} // namespace graaf::algorithm \ No newline at end of file +} // namespace graaf::algorithm \ No newline at end of file From 4a43bce1df9305317fe796582958016464a4fac6 Mon Sep 17 00:00:00 2001 From: Hromz Date: Wed, 27 Sep 2023 10:29:10 +0300 Subject: [PATCH 32/40] removed redundant negative cicle check and according tests, added two new tests --- .../shortest-path/floyd-warshall.md | 14 +- .../shortest_path/floyd_warshall.tpp | 26 ---- .../algorithm/floyd_warshall_test.cpp | 140 +++++++++--------- 3 files changed, 77 insertions(+), 103 deletions(-) diff --git a/docs/docs/algorithms/shortest-path/floyd-warshall.md b/docs/docs/algorithms/shortest-path/floyd-warshall.md index ac6fc1a2..645049cd 100644 --- a/docs/docs/algorithms/shortest-path/floyd-warshall.md +++ b/docs/docs/algorithms/shortest-path/floyd-warshall.md @@ -3,9 +3,13 @@ sidebar_position: 5 --- # Floyd-Warshall algorithm + Floyd-Warshall algorithm computes the shortest path between any two vertices in a graph, both directed and undirected. -The key idea of the algorithm is to relax the weighted shortest path between any two vertices, using any vertex as an intermediate one. -Advantage of the algorithm is that it processes vertices instead of edges. This advantage can be used when the number of edges is large enough, aka a dense graph. +The algorithm does not work for graphs with negative weight cycles. +The key idea of the algorithm is to relax the weighted shortest path between any two vertices, using any vertex as an +intermediate one. +Advantage of the algorithm is that it processes vertices instead of edges. This advantage can be used when the number of +edges is large enough, aka a dense graph. Runtime of the algorithm is O(|V3|) and memory consumption is O(|V2|). [wikipedia](https://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm) @@ -22,7 +26,5 @@ std::vector> floyd_warshall_shortest_paths( ``` - **graph** The graph to extract the shortest path from. -- **return** Returns a 2D vector of the shortest path. If a path doesn't exist between two vertices, mark it as TYPE_MAX. - -### Special case -In the case of a negative cycle in both directed and undirected graphs, the algorithm marks vertices as TYPE_MIN. \ No newline at end of file +- **return** Returns a 2D vector of the shortest path. If a path doesn't exist between two vertices, mark it as + TYPE_MAX. \ No newline at end of file diff --git a/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp b/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp index ffed28fc..d7a4c2c1 100644 --- a/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp +++ b/include/graaflib/algorithm/shortest_path/floyd_warshall.tpp @@ -7,36 +7,12 @@ namespace graaf::algorithm { -namespace detail { - -// Mark vertices in negative cycle as NO_PATH -template -void do_fw_detect_negative_cycle(std::vector>& distance, - WEIGHT_T ZERO, WEIGHT_T INF, WEIGHT_T NO_PATH, - size_t n) { - for (std::size_t start_vertex = 0; start_vertex < n; ++start_vertex) { - for (std::size_t end_vertex = 0; end_vertex < n; ++end_vertex) { - for (std::size_t through_vertex = 0; through_vertex < n; - ++through_vertex) { - if (distance[start_vertex][through_vertex] < INF && - distance[through_vertex][through_vertex] < ZERO && - distance[through_vertex][end_vertex] < INF) { - distance[start_vertex][end_vertex] = NO_PATH; - } - } - } - } -} - -}; // namespace detail - template std::vector> floyd_warshall_shortest_paths( const graph& graph) { WEIGHT_T ZERO{}; std::size_t n = graph.vertex_count(); auto INF = std::numeric_limits::max(); - auto NO_PATH = std::numeric_limits::min(); std::vector> shortest_paths( n, std::vector(n, INF)); @@ -69,8 +45,6 @@ std::vector> floyd_warshall_shortest_paths( } } - // Mark vertices in negative cycles with INF - detail::do_fw_detect_negative_cycle(shortest_paths, ZERO, INF, NO_PATH, n); return shortest_paths; } diff --git a/test/graaflib/algorithm/floyd_warshall_test.cpp b/test/graaflib/algorithm/floyd_warshall_test.cpp index 29d6e731..11d9578b 100644 --- a/test/graaflib/algorithm/floyd_warshall_test.cpp +++ b/test/graaflib/algorithm/floyd_warshall_test.cpp @@ -112,64 +112,6 @@ TYPED_TEST(FloydWarshallTest, DirectedGraph) { ASSERT_EQ(shortest_paths, expected_paths); } -TYPED_TEST(FloydWarshallTest, DirectedGraphNegativeCycle) { - // GIVEN - directed_graph graph{}; - - // graph vertices - const auto vertex_1{graph.add_vertex(10)}; - const auto vertex_2{graph.add_vertex(20)}; - const auto vertex_3{graph.add_vertex(30)}; - const auto vertex_4{graph.add_vertex(40)}; - - // adding edges to our graph - graph.add_edge(vertex_1, vertex_2, -100); - graph.add_edge(vertex_2, vertex_3, 300); - graph.add_edge(vertex_3, vertex_1, -300); - graph.add_edge(vertex_4, vertex_2, 300); - - auto NEG_CYCLE = INT_MIN; - auto NO_PATH = INT_MAX; - - auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = { - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, 0}}; - - ASSERT_EQ(shortest_paths, expected_paths); -} - -TYPED_TEST(FloydWarshallTest, UndirectedGraphNegativeCycle) { - // GIVEN - undirected_graph graph{}; - - // graph vertices - const auto vertex_1{graph.add_vertex(10)}; - const auto vertex_2{graph.add_vertex(20)}; - const auto vertex_3{graph.add_vertex(30)}; - const auto vertex_4{graph.add_vertex(40)}; - - // adding edges to our graph - graph.add_edge(vertex_1, vertex_2, -100); - graph.add_edge(vertex_2, vertex_3, 300); - graph.add_edge(vertex_3, vertex_1, -300); - graph.add_edge(vertex_4, vertex_2, 300); - - auto NEG_CYCLE = INT_MIN; - auto NO_PATH = INT_MAX; - - auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = { - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}, - {NEG_CYCLE, NEG_CYCLE, NEG_CYCLE, NEG_CYCLE}}; - - ASSERT_EQ(shortest_paths, expected_paths); -} - TYPED_TEST(FloydWarshallTest, DirectedGraphNoCycleNegativeWeight) { directed_graph graph{}; @@ -189,7 +131,6 @@ TYPED_TEST(FloydWarshallTest, DirectedGraphNoCycleNegativeWeight) { graph.add_edge(vertex_4, vertex_6, 100); graph.add_edge(vertex_5, vertex_2, -75); - auto NEG_CYCLE = INT_MIN; auto NO_PATH = INT_MAX; auto shortest_paths = floyd_warshall_shortest_paths(graph); @@ -254,31 +195,88 @@ TYPED_TEST(FloydWarshallTest, DenseUndirectedGraph) { ASSERT_EQ(shortest_paths, expected_paths); } -TYPED_TEST(FloydWarshallTest, DirectedGraphWithSubgraphNegativeCycle) { - directed_graph graph{}; +TYPED_TEST(FloydWarshallTest, UndirectedGraphTwoComponents) { + undirected_graph graph{}; // graph vertices const auto vertex_1{graph.add_vertex(10)}; const auto vertex_2{graph.add_vertex(20)}; const auto vertex_3{graph.add_vertex(30)}; const auto vertex_4{graph.add_vertex(40)}; + const auto vertex_5{graph.add_vertex(40)}; + const auto vertex_6{graph.add_vertex(40)}; + const auto vertex_7{graph.add_vertex(40)}; + const auto vertex_8{graph.add_vertex(40)}; // adding edges to our graph - graph.add_edge(vertex_1, vertex_2, 10); - graph.add_edge(vertex_2, vertex_1, -20); + graph.add_edge(vertex_1, vertex_2, 12); + graph.add_edge(vertex_1, vertex_3, 11); + graph.add_edge(vertex_1, vertex_5, 6); + graph.add_edge(vertex_2, vertex_5, 14); + graph.add_edge(vertex_2, vertex_4, 15); + graph.add_edge(vertex_4, vertex_5, 9); + graph.add_edge(vertex_4, vertex_3, 7); + graph.add_edge(vertex_5, vertex_3, 7); + + graph.add_edge(vertex_6, vertex_7, 4); + graph.add_edge(vertex_6, vertex_8, 2); + graph.add_edge(vertex_7, vertex_8, 3); - graph.add_edge(vertex_4, vertex_3, 75); - graph.add_edge(vertex_3, vertex_4, 12); + auto NO_PATH = INT_MAX; + + auto shortest_paths = floyd_warshall_shortest_paths(graph); + std::vector> expected_paths{ + {0, 12, 11, 15, 6, NO_PATH, NO_PATH, NO_PATH}, + {12, 0, 21, 15, 14, NO_PATH, NO_PATH, NO_PATH}, + {11, 21, 0, 7, 7, NO_PATH, NO_PATH, NO_PATH}, + {15, 15, 7, 0, 9, NO_PATH, NO_PATH, NO_PATH}, + {6, 14, 7, 9, 0, NO_PATH, NO_PATH, NO_PATH}, + {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 0, 4, 2}, + {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 4, 0, 3}, + {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 2, 3, 0}}; + + ASSERT_EQ(shortest_paths, expected_paths); +} + +TYPED_TEST(FloydWarshallTest, DirectedGraphTwoComponents) { + undirected_graph graph{}; + + // graph vertices + const auto vertex_1{graph.add_vertex(10)}; + const auto vertex_2{graph.add_vertex(20)}; + const auto vertex_3{graph.add_vertex(30)}; + const auto vertex_4{graph.add_vertex(40)}; + const auto vertex_5{graph.add_vertex(40)}; + const auto vertex_6{graph.add_vertex(40)}; + const auto vertex_7{graph.add_vertex(40)}; + const auto vertex_8{graph.add_vertex(40)}; + + // adding edges to our graph + graph.add_edge(vertex_1, vertex_2, 12); + graph.add_edge(vertex_1, vertex_3, 11); + graph.add_edge(vertex_5, vertex_1, 6); + graph.add_edge(vertex_2, vertex_5, 14); + graph.add_edge(vertex_2, vertex_4, 15); + graph.add_edge(vertex_5, vertex_4, 9); + graph.add_edge(vertex_4, vertex_3, 7); + graph.add_edge(vertex_3, vertex_5, 7); + + graph.add_edge(vertex_6, vertex_7, 4); + graph.add_edge(vertex_6, vertex_8, 2); + graph.add_edge(vertex_8, vertex_7, 3); - auto NEG_CYCLE = INT_MIN; auto NO_PATH = INT_MAX; auto shortest_paths = floyd_warshall_shortest_paths(graph); - std::vector> expected_paths = { - {NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, - {NEG_CYCLE, NEG_CYCLE, NO_PATH, NO_PATH}, - {NO_PATH, NO_PATH, 0, 12}, - {NO_PATH, NO_PATH, 75, 0}}; + std::vector> expected_paths{ + {0, 12, 11, 15, 6, NO_PATH, NO_PATH, NO_PATH}, + {12, 0, 21, 15, 14, NO_PATH, NO_PATH, NO_PATH}, + {11, 21, 0, 7, 7, NO_PATH, NO_PATH, NO_PATH}, + {15, 15, 7, 0, 9, NO_PATH, NO_PATH, NO_PATH}, + {6, 14, 7, 9, 0, NO_PATH, NO_PATH, NO_PATH}, + {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 0, 4, 2}, + {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 4, 0, 3}, + {NO_PATH, NO_PATH, NO_PATH, NO_PATH, NO_PATH, 2, 3, 0}}; ASSERT_EQ(shortest_paths, expected_paths); } From f3274c9e89a50ee0f0ea9e17f4c5ef2b159e5cac Mon Sep 17 00:00:00 2001 From: Hromz Date: Fri, 6 Oct 2023 16:44:35 +0300 Subject: [PATCH 33/40] Bron-Kerbosch algorithm --- docs/docs/algorithms/clique/bron_kerbosch.md | 25 ++ .../graaflib/algorithm/clique/bron_kerbosch.h | 27 ++ .../algorithm/clique/bron_kerbosch.tpp | 97 ++++++ .../algorithm/clique/bron_kerbosch_test.cpp | 299 ++++++++++++++++++ 4 files changed, 448 insertions(+) create mode 100644 docs/docs/algorithms/clique/bron_kerbosch.md create mode 100644 include/graaflib/algorithm/clique/bron_kerbosch.h create mode 100644 include/graaflib/algorithm/clique/bron_kerbosch.tpp create mode 100644 test/graaflib/algorithm/clique/bron_kerbosch_test.cpp diff --git a/docs/docs/algorithms/clique/bron_kerbosch.md b/docs/docs/algorithms/clique/bron_kerbosch.md new file mode 100644 index 00000000..e4c09c9f --- /dev/null +++ b/docs/docs/algorithms/clique/bron_kerbosch.md @@ -0,0 +1,25 @@ +--- +sidebar_position: 1 +--- + +# Bron-Kerbosch algorithm + +Bron-Kerbosch algorithm finding all maximal cliques in an undirected graph. A clique is a subset of vertices such that +where every two distinct vertices are adjacent to each other. +The maximal clique is the subset of vertices of an undirected graph where no additional vertex can be added +due to the complete connectivity rule. The algorithm lists all maximum cliques of an undirected graph. + +The worst-case run time of the algorithm is 3V/3. +[wikipedia](https://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm#Worst-case_analysis) + +## Syntax + +```cpp +template +std::vector> bron_kerbosch( + const graph& graph); +``` + +- **graph** The graph to extract maximal cliques. +- **return** Returns 2D vector of vertices each vector represent set of vertices that form clique. + diff --git a/include/graaflib/algorithm/clique/bron_kerbosch.h b/include/graaflib/algorithm/clique/bron_kerbosch.h new file mode 100644 index 00000000..9547e040 --- /dev/null +++ b/include/graaflib/algorithm/clique/bron_kerbosch.h @@ -0,0 +1,27 @@ +#pragma once + +#include + +namespace graaf::algorithm { +/** + * @brief Finds all cliques in an undirected graph using the Bron-Kerbosch + * algorithm. + * + * The Bron-Kerbosch algorithm is used for finding all cliques in an undirected + * graph. A clique is a subset of vertices such that every two distinct vertices + * are adjacent. This function returns a list of all cliques, each represented + * as a vector of vertex identifiers. + * + * @tparam V The vertex type of the graph. + * @tparam E The edge type of the graph. + * @param graph The graph in which we want to find the cliques. + * @return A vector of cliques, each represented as a vector of vertex + * identifiers. + */ +template +std::vector> bron_kerbosch( + const graph& graph); + +} // namespace graaf::algorithm + +#include "bron_kerbosch.tpp" diff --git a/include/graaflib/algorithm/clique/bron_kerbosch.tpp b/include/graaflib/algorithm/clique/bron_kerbosch.tpp new file mode 100644 index 00000000..c20492dd --- /dev/null +++ b/include/graaflib/algorithm/clique/bron_kerbosch.tpp @@ -0,0 +1,97 @@ +#pragma once + +#include + +#include +#include +#include +#include +#include +#include + +namespace graaf::algorithm { + +namespace detail { + +void do_get_intersection(std::unordered_set& s1, + std::unordered_set& s2, + std::unordered_set& intersection) { + for (const auto& vertex : s1) { + if (s2.find(vertex) != s2.end()) { + intersection.insert(vertex); + } + } +} + +template +void do_bron_kerbosch_maximal_clique( + std::vector& clique, std::unordered_set& vertices, + std::unordered_set& excluded_vertices, + std::vector>& maximal_cliques, + const graph& graph) { + if (vertices.empty() && excluded_vertices.empty()) { + maximal_cliques.push_back(clique); + return; + } + + // union_set = candidate_vertices ⋃ excluded_vertices + auto union_set = vertices; + for (const auto& vertex : excluded_vertices) union_set.insert(vertex); + + // Get pivot vertex with most amount of neighbors + // to reduce recursion calls + auto pivot_vertex = *union_set.begin(); + for (const auto& vertex : union_set) { + if (graph.get_neighbors(pivot_vertex).size() < + graph.get_neighbors(vertex).size()) { + pivot_vertex = vertex; + } + } + + // vertices_to_process = candidate_vertices \ N(pivot_vertex) + auto vertices_to_process = vertices; + for (const auto& vertex : graph.get_neighbors(pivot_vertex)) { + vertices_to_process.erase(vertex); + } + + for (const auto& vertex : vertices_to_process) { + auto vertex_neighbors = graph.get_neighbors(vertex); + + // Intersection candidate_vertices ⋂ N(vertex) + std::unordered_set vertices_intersection{}; + do_get_intersection(vertices, vertex_neighbors, vertices_intersection); + + // Intersection excluded_vertices ⋂ N(vertex) + std::unordered_set exclude_intersection{}; + do_get_intersection(excluded_vertices, vertex_neighbors, + exclude_intersection); + + clique.push_back(vertex); + do_bron_kerbosch_maximal_clique(clique, vertices_intersection, + exclude_intersection, maximal_cliques, + graph); + clique.pop_back(); + + vertices.erase(vertex); + excluded_vertices.insert(vertex); + } +} +}; // namespace detail + +template +std::vector> bron_kerbosch( + const graph& graph) { + std::vector> maximal_cliques{}; + + std::vector clique; + std::unordered_set vertices, excluded; + for (const auto& [vertex, _] : graph.get_vertices()) { + vertices.insert(vertex); + } + detail::do_bron_kerbosch_maximal_clique(clique, vertices, excluded, + maximal_cliques, graph); + + return maximal_cliques; +} + +}; // namespace graaf::algorithm \ No newline at end of file diff --git a/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp b/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp new file mode 100644 index 00000000..9bb9ba4e --- /dev/null +++ b/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp @@ -0,0 +1,299 @@ +#include +#include +#include +#include +#include + +#include + +namespace graaf::algorithm { +namespace { +template +struct BronKerbosch : public testing::Test { + using graph_t = T; +}; + +using graph_types = testing::Types>; +TYPED_TEST_SUITE(BronKerbosch, graph_types); + +}; // namespace + +void sort_vectors(std::vector>& vec1, + std::vector>& vec2) { + // Sort 1D vectors + for (std::vector& inner_vec : vec1) { + std::sort(inner_vec.begin(), inner_vec.end()); + } + for (std::vector& inner_vec : vec2) { + std::sort(inner_vec.begin(), inner_vec.end()); + } + + // Sort 2D vectors + std::sort(vec1.begin(), vec1.end()); + std::sort(vec2.begin(), vec2.end()); +} + +TYPED_TEST(BronKerbosch, ThreeCliques) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(1)}; + const auto vertex_2{graph.add_vertex(2)}; + const auto vertex_3{graph.add_vertex(3)}; + const auto vertex_4{graph.add_vertex(4)}; + const auto vertex_5{graph.add_vertex(5)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_1, vertex_3, 1); + graph.add_edge(vertex_3, vertex_2, 1); + graph.add_edge(vertex_3, vertex_4, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_3}, {vertex_3, vertex_4}, {vertex_5}}; + + sort_vectors(cliques, expected_cliques); + + ASSERT_EQ(cliques, expected_cliques); +} + +TYPED_TEST(BronKerbosch, OneClique) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(1)}; + const auto vertex_2{graph.add_vertex(2)}; + const auto vertex_3{graph.add_vertex(3)}; + const auto vertex_4{graph.add_vertex(4)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_1, vertex_3, 1); + graph.add_edge(vertex_1, vertex_4, 1); + graph.add_edge(vertex_2, vertex_4, 1); + graph.add_edge(vertex_2, vertex_3, 1); + graph.add_edge(vertex_3, vertex_4, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_3, vertex_4}}; + + sort_vectors(cliques, expected_cliques); + ASSERT_EQ(cliques, expected_cliques); +} + +TYPED_TEST(BronKerbosch, FourCliques) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(1)}; + const auto vertex_2{graph.add_vertex(2)}; + const auto vertex_3{graph.add_vertex(3)}; + const auto vertex_4{graph.add_vertex(4)}; + const auto vertex_5{graph.add_vertex(5)}; + const auto vertex_6{graph.add_vertex(6)}; + const auto vertex_7{graph.add_vertex(7)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_1, vertex_3, 1); + graph.add_edge(vertex_2, vertex_3, 1); + + graph.add_edge(vertex_4, vertex_5, 1); + graph.add_edge(vertex_5, vertex_6, 1); + graph.add_edge(vertex_6, vertex_7, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_3}, + {vertex_4, vertex_5}, + {vertex_6, vertex_7}, + {vertex_6, vertex_5}}; + + sort_vectors(cliques, expected_cliques); + ASSERT_EQ(cliques, expected_cliques); +} + +TYPED_TEST(BronKerbosch, GraphPentogram) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(1)}; + const auto vertex_2{graph.add_vertex(2)}; + const auto vertex_3{graph.add_vertex(3)}; + const auto vertex_4{graph.add_vertex(4)}; + const auto vertex_5{graph.add_vertex(5)}; + const auto vertex_6{graph.add_vertex(6)}; + const auto vertex_7{graph.add_vertex(7)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_1, vertex_7, 1); + graph.add_edge(vertex_1, vertex_4, 1); + graph.add_edge(vertex_4, vertex_7, 1); + graph.add_edge(vertex_2, vertex_7, 1); + graph.add_edge(vertex_2, vertex_3, 1); + graph.add_edge(vertex_3, vertex_7, 1); + graph.add_edge(vertex_3, vertex_6, 1); + graph.add_edge(vertex_6, vertex_7, 1); + graph.add_edge(vertex_5, vertex_6, 1); + graph.add_edge(vertex_5, vertex_7, 1); + graph.add_edge(vertex_4, vertex_5, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_7}, {vertex_1, vertex_4, vertex_7}, + {vertex_2, vertex_3, vertex_7}, {vertex_3, vertex_6, vertex_7}, + {vertex_4, vertex_5, vertex_7}, {vertex_5, vertex_6, vertex_7}}; + sort_vectors(cliques, expected_cliques); + + ASSERT_EQ(cliques, expected_cliques); +} + +TYPED_TEST(BronKerbosch, GraphTriangle) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(1)}; + const auto vertex_2{graph.add_vertex(2)}; + const auto vertex_3{graph.add_vertex(3)}; + const auto vertex_4{graph.add_vertex(4)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_1, vertex_3, 1); + graph.add_edge(vertex_1, vertex_4, 1); + graph.add_edge(vertex_2, vertex_3, 1); + graph.add_edge(vertex_2, vertex_4, 1); + graph.add_edge(vertex_3, vertex_4, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_3, vertex_4}}; + sort_vectors(cliques, expected_cliques); + + ASSERT_EQ(cliques, expected_cliques); +} + +TYPED_TEST(BronKerbosch, GraphCone) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(1)}; + const auto vertex_2{graph.add_vertex(2)}; + const auto vertex_3{graph.add_vertex(3)}; + const auto vertex_4{graph.add_vertex(4)}; + const auto vertex_5{graph.add_vertex(4)}; + + // Bottom + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_1, vertex_3, 1); + graph.add_edge(vertex_1, vertex_4, 1); + graph.add_edge(vertex_2, vertex_3, 1); + graph.add_edge(vertex_2, vertex_4, 1); + graph.add_edge(vertex_3, vertex_4, 1); + + // Top + graph.add_edge(vertex_5, vertex_1, 1); + graph.add_edge(vertex_5, vertex_2, 1); + graph.add_edge(vertex_5, vertex_3, 1); + graph.add_edge(vertex_5, vertex_4, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_3, vertex_4, vertex_5}}; + sort_vectors(cliques, expected_cliques); + + ASSERT_EQ(cliques, expected_cliques); +} + +TYPED_TEST(BronKerbosch, GraphEightSideStar) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + const auto vertex_1{graph.add_vertex(1)}; + const auto vertex_2{graph.add_vertex(2)}; + const auto vertex_3{graph.add_vertex(3)}; + const auto vertex_4{graph.add_vertex(4)}; + const auto vertex_5{graph.add_vertex(5)}; + const auto vertex_6{graph.add_vertex(6)}; + const auto vertex_7{graph.add_vertex(7)}; + const auto vertex_8{graph.add_vertex(8)}; + const auto vertex_9{graph.add_vertex(9)}; + const auto vertex_10{graph.add_vertex(10)}; + const auto vertex_11{graph.add_vertex(11)}; + const auto vertex_12{graph.add_vertex(12)}; + const auto vertex_13{graph.add_vertex(13)}; + const auto vertex_14{graph.add_vertex(14)}; + const auto vertex_15{graph.add_vertex(15)}; + const auto vertex_16{graph.add_vertex(16)}; + + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_1, vertex_15, 1); + graph.add_edge(vertex_2, vertex_15, 1); + + graph.add_edge(vertex_2, vertex_4, 1); + graph.add_edge(vertex_2, vertex_3, 1); + graph.add_edge(vertex_3, vertex_4, 1); + + graph.add_edge(vertex_4, vertex_6, 1); + graph.add_edge(vertex_4, vertex_5, 1); + graph.add_edge(vertex_5, vertex_6, 1); + + graph.add_edge(vertex_6, vertex_7, 1); + graph.add_edge(vertex_6, vertex_8, 1); + graph.add_edge(vertex_7, vertex_8, 1); + + graph.add_edge(vertex_8, vertex_9, 1); + graph.add_edge(vertex_8, vertex_10, 1); + graph.add_edge(vertex_9, vertex_10, 1); + + graph.add_edge(vertex_10, vertex_11, 1); + graph.add_edge(vertex_10, vertex_12, 1); + graph.add_edge(vertex_11, vertex_12, 1); + + graph.add_edge(vertex_12, vertex_13, 1); + graph.add_edge(vertex_12, vertex_14, 1); + graph.add_edge(vertex_13, vertex_14, 1); + + graph.add_edge(vertex_14, vertex_15, 1); + graph.add_edge(vertex_14, vertex_16, 1); + graph.add_edge(vertex_15, vertex_16, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_15}, {vertex_2, vertex_3, vertex_4}, + {vertex_5, vertex_4, vertex_6}, {vertex_7, vertex_6, vertex_8}, + {vertex_8, vertex_9, vertex_10}, {vertex_10, vertex_11, vertex_12}, + {vertex_12, vertex_13, vertex_14}, {vertex_14, vertex_15, vertex_16}, + }; + sort_vectors(cliques, expected_cliques); + + ASSERT_EQ(cliques, expected_cliques); +} + +TYPED_TEST(BronKerbosch, RandomGraphCheckRunTime) { + using graph_t = typename TestFixture::graph_t; + graph_t graph{}; + + std::vector vertices; + + for (int i = 1; i <= 70; ++i) { + vertices.push_back(graph.add_vertex(i)); + } + + std::random_device dev; + std::mt19937 rng(dev()); + std::uniform_int_distribution rand_vertex(0, 69); + + for (int i = 0; i < 1360; ++i) { + graph.add_edge(vertices[rand_vertex(rng)], vertices[rand_vertex(rng)], 1); + } + + auto start = std::chrono::high_resolution_clock::now(); + auto cliques = bron_kerbosch(graph); + auto stop = std::chrono::high_resolution_clock::now(); + + int expected_time = 900; + + ASSERT_TRUE(expected_time >= + duration_cast(stop - start).count()); +} + +}; // namespace graaf::algorithm \ No newline at end of file From 9ac7524c314ad6485b8e9bdb4f5e6e2decc5c79c Mon Sep 17 00:00:00 2001 From: Hromz Date: Fri, 6 Oct 2023 19:01:25 +0300 Subject: [PATCH 34/40] Added to readme --- README.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 5a714804..66a0b98b 100644 --- a/README.md +++ b/README.md @@ -92,24 +92,27 @@ Algorithms implemented in the Graaf library include the following. For more info take a look at the [docs](https://bobluppes.github.io/graaf/docs/algorithms/intro). 1. [**Cycle Detection Algorithms**](https://bobluppes.github.io/graaf/docs/category/cycle-detection-algorithms): - - DFS-Based Cycle Detection + - DFS-Based Cycle Detection 2. [**Graph Coloring Algorithms**](https://bobluppes.github.io/graaf/docs/category/coloring): - - Greedy Graph Coloring + - Greedy Graph Coloring 3. [**Minimum Spanning Tree (MST) Algorithms**](https://bobluppes.github.io/graaf/docs/category/minimum-spanning-tree) - - Kruskal's Algorithm - - Prim's Algorithm + - Kruskal's Algorithm + - Prim's Algorithm 4. [**Shortest Path Algorithms**](https://bobluppes.github.io/graaf/docs/category/shortest-path-algorithms): - - A\* search - - BFS-Based Shortest Path - - Dijkstra - - Bellman-Ford -5. [**Strongly Connected Components Algorithms**](https://bobluppes.github.io/graaf/docs/category/strongly-connected-components): - - Tarjan's Strongly Connected Components + - A\* search + - BFS-Based Shortest Path + - Dijkstra + - Bellman-Ford +5. [**Strongly Connected Components Algorithms + **](https://bobluppes.github.io/graaf/docs/category/strongly-connected-components): + - Tarjan's Strongly Connected Components 6. [**Topological Sorting Algorithms**](https://bobluppes.github.io/graaf/docs/category/topological-sorting): - - Topological sorting DFS-based + - Topological sorting DFS-based 7. [**Traversal Algorithms**](https://bobluppes.github.io/graaf/docs/category/traversal-algorithms): - - Breadth-First Search (BFS) - - Depth-First Search (DFS) + - Breadth-First Search (BFS) + - Depth-First Search (DFS) +8. [**Clique**](https://bobluppes.github.io/graaf/docs/category/clique) + - Bron-Kerbosch # Contributing From 14ccc5a8657499f5abea4ffcbd7197c9bb480597 Mon Sep 17 00:00:00 2001 From: Hromz Date: Mon, 9 Oct 2023 11:56:18 +0300 Subject: [PATCH 35/40] corrected according to comments --- README.md | 2 +- docs/docs/algorithms/clique/bron_kerbosch.md | 2 +- .../algorithm/clique/bron_kerbosch.tpp | 78 +++++++----- .../algorithm/clique/bron_kerbosch_test.cpp | 117 +++++++++++------- 4 files changed, 121 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index 66a0b98b..17da09eb 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ take a look at the [docs](https://bobluppes.github.io/graaf/docs/algorithms/intr 7. [**Traversal Algorithms**](https://bobluppes.github.io/graaf/docs/category/traversal-algorithms): - Breadth-First Search (BFS) - Depth-First Search (DFS) -8. [**Clique**](https://bobluppes.github.io/graaf/docs/category/clique) +8. [**Clique Detection**](https://bobluppes.github.io/graaf/docs/category/clique) - Bron-Kerbosch # Contributing diff --git a/docs/docs/algorithms/clique/bron_kerbosch.md b/docs/docs/algorithms/clique/bron_kerbosch.md index e4c09c9f..c4a98815 100644 --- a/docs/docs/algorithms/clique/bron_kerbosch.md +++ b/docs/docs/algorithms/clique/bron_kerbosch.md @@ -5,7 +5,7 @@ sidebar_position: 1 # Bron-Kerbosch algorithm Bron-Kerbosch algorithm finding all maximal cliques in an undirected graph. A clique is a subset of vertices such that -where every two distinct vertices are adjacent to each other. +every two distinct vertices are adjacent to each other. The maximal clique is the subset of vertices of an undirected graph where no additional vertex can be added due to the complete connectivity rule. The algorithm lists all maximum cliques of an undirected graph. diff --git a/include/graaflib/algorithm/clique/bron_kerbosch.tpp b/include/graaflib/algorithm/clique/bron_kerbosch.tpp index c20492dd..3a55196a 100644 --- a/include/graaflib/algorithm/clique/bron_kerbosch.tpp +++ b/include/graaflib/algorithm/clique/bron_kerbosch.tpp @@ -2,6 +2,7 @@ #include +#include #include #include #include @@ -12,22 +13,43 @@ namespace graaf::algorithm { namespace detail { +using clique_collection_t = std::vector>; +using vertex_set_t = std::unordered_set; -void do_get_intersection(std::unordered_set& s1, - std::unordered_set& s2, - std::unordered_set& intersection) { - for (const auto& vertex : s1) { - if (s2.find(vertex) != s2.end()) { +vertex_set_t do_get_intersection(const vertex_set_t& lhs, + const vertex_set_t& rhs) { + vertex_set_t intersection{}; + + for (const auto& vertex : lhs) { + if (rhs.contains(vertex)) { intersection.insert(vertex); } } + + return intersection; +} + +vertex_set_t set_union(const vertex_set_t& lhs, const vertex_set_t& rhs) { + vertex_set_t union_set = lhs; + for (const auto& vertex : rhs) union_set.insert(vertex); + + return union_set; +} + +vertex_set_t set_difference(const vertex_set_t& lhs, const vertex_set_t rhs) { + vertex_set_t difference_set = lhs; + + for (const auto& vertex : rhs) { + difference_set.erase(vertex); + } + + return difference_set; } template void do_bron_kerbosch_maximal_clique( - std::vector& clique, std::unordered_set& vertices, - std::unordered_set& excluded_vertices, - std::vector>& maximal_cliques, + std::vector& clique, vertex_set_t& vertices, + vertex_set_t& excluded_vertices, clique_collection_t& maximal_cliques, const graph& graph) { if (vertices.empty() && excluded_vertices.empty()) { maximal_cliques.push_back(clique); @@ -35,36 +57,27 @@ void do_bron_kerbosch_maximal_clique( } // union_set = candidate_vertices ⋃ excluded_vertices - auto union_set = vertices; - for (const auto& vertex : excluded_vertices) union_set.insert(vertex); - - // Get pivot vertex with most amount of neighbors - // to reduce recursion calls - auto pivot_vertex = *union_set.begin(); - for (const auto& vertex : union_set) { - if (graph.get_neighbors(pivot_vertex).size() < - graph.get_neighbors(vertex).size()) { - pivot_vertex = vertex; - } - } + auto union_set = set_union(vertices, excluded_vertices); + + const auto pivot_vertex = *std::ranges::max_element( + union_set, {}, + [&graph](vertex_id_t id) { return graph.get_neighbors(id).size(); }); // vertices_to_process = candidate_vertices \ N(pivot_vertex) - auto vertices_to_process = vertices; - for (const auto& vertex : graph.get_neighbors(pivot_vertex)) { - vertices_to_process.erase(vertex); - } + auto vertices_to_process = + set_difference(vertices, graph.get_neighbors(pivot_vertex)); for (const auto& vertex : vertices_to_process) { auto vertex_neighbors = graph.get_neighbors(vertex); // Intersection candidate_vertices ⋂ N(vertex) std::unordered_set vertices_intersection{}; - do_get_intersection(vertices, vertex_neighbors, vertices_intersection); + vertices_intersection = do_get_intersection(vertices, vertex_neighbors); // Intersection excluded_vertices ⋂ N(vertex) std::unordered_set exclude_intersection{}; - do_get_intersection(excluded_vertices, vertex_neighbors, - exclude_intersection); + exclude_intersection = + do_get_intersection(excluded_vertices, vertex_neighbors); clique.push_back(vertex); do_bron_kerbosch_maximal_clique(clique, vertices_intersection, @@ -81,12 +94,13 @@ void do_bron_kerbosch_maximal_clique( template std::vector> bron_kerbosch( const graph& graph) { - std::vector> maximal_cliques{}; + detail::clique_collection_t maximal_cliques{}; + std::vector clique{}; + detail::vertex_set_t vertices{}; + detail::vertex_set_t excluded{}; - std::vector clique; - std::unordered_set vertices, excluded; - for (const auto& [vertex, _] : graph.get_vertices()) { - vertices.insert(vertex); + for (const auto& [vertex_id, _] : graph.get_vertices()) { + vertices.insert(vertex_id); } detail::do_bron_kerbosch_maximal_clique(clique, vertices, excluded, maximal_cliques, graph); diff --git a/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp b/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp index 9bb9ba4e..cc70b90b 100644 --- a/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp +++ b/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp @@ -7,17 +7,6 @@ #include namespace graaf::algorithm { -namespace { -template -struct BronKerbosch : public testing::Test { - using graph_t = T; -}; - -using graph_types = testing::Types>; -TYPED_TEST_SUITE(BronKerbosch, graph_types); - -}; // namespace - void sort_vectors(std::vector>& vec1, std::vector>& vec2) { // Sort 1D vectors @@ -33,9 +22,18 @@ void sort_vectors(std::vector>& vec1, std::sort(vec2.begin(), vec2.end()); } +namespace { +template +struct BronKerbosch : public testing::Test { + using graph_t = T; +}; +using graph_types = testing::Types>; + +TYPED_TEST_SUITE(BronKerbosch, graph_types); +} // namespace + TYPED_TEST(BronKerbosch, ThreeCliques) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; + undirected_graph graph{}; const auto vertex_1{graph.add_vertex(1)}; const auto vertex_2{graph.add_vertex(2)}; @@ -58,8 +56,7 @@ TYPED_TEST(BronKerbosch, ThreeCliques) { } TYPED_TEST(BronKerbosch, OneClique) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; + undirected_graph graph{}; const auto vertex_1{graph.add_vertex(1)}; const auto vertex_2{graph.add_vertex(2)}; @@ -82,8 +79,7 @@ TYPED_TEST(BronKerbosch, OneClique) { } TYPED_TEST(BronKerbosch, FourCliques) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; + undirected_graph graph{}; const auto vertex_1{graph.add_vertex(1)}; const auto vertex_2{graph.add_vertex(2)}; @@ -113,8 +109,7 @@ TYPED_TEST(BronKerbosch, FourCliques) { } TYPED_TEST(BronKerbosch, GraphPentogram) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; + undirected_graph graph{}; const auto vertex_1{graph.add_vertex(1)}; const auto vertex_2{graph.add_vertex(2)}; @@ -148,8 +143,7 @@ TYPED_TEST(BronKerbosch, GraphPentogram) { } TYPED_TEST(BronKerbosch, GraphTriangle) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; + undirected_graph graph{}; const auto vertex_1{graph.add_vertex(1)}; const auto vertex_2{graph.add_vertex(2)}; @@ -172,8 +166,7 @@ TYPED_TEST(BronKerbosch, GraphTriangle) { } TYPED_TEST(BronKerbosch, GraphCone) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; + undirected_graph graph{}; const auto vertex_1{graph.add_vertex(1)}; const auto vertex_2{graph.add_vertex(2)}; @@ -204,8 +197,7 @@ TYPED_TEST(BronKerbosch, GraphCone) { } TYPED_TEST(BronKerbosch, GraphEightSideStar) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; + undirected_graph graph{}; const auto vertex_1{graph.add_vertex(1)}; const auto vertex_2{graph.add_vertex(2)}; @@ -268,32 +260,69 @@ TYPED_TEST(BronKerbosch, GraphEightSideStar) { ASSERT_EQ(cliques, expected_cliques); } -TYPED_TEST(BronKerbosch, RandomGraphCheckRunTime) { - using graph_t = typename TestFixture::graph_t; - graph_t graph{}; +TYPED_TEST(BronKerbosch, DensePyramidGraph) { + undirected_graph graph{}; - std::vector vertices; + const auto vertex_1 = graph.add_vertex(10); + const auto vertex_2 = graph.add_vertex(20); + const auto vertex_3 = graph.add_vertex(30); + const auto vertex_4 = graph.add_vertex(40); + const auto vertex_5 = graph.add_vertex(50); + const auto vertex_6 = graph.add_vertex(60); + const auto vertex_7 = graph.add_vertex(70); - for (int i = 1; i <= 70; ++i) { - vertices.push_back(graph.add_vertex(i)); - } + graph.add_edge(vertex_1, vertex_2, 1); + graph.add_edge(vertex_6, vertex_7, 1); + graph.add_edge(vertex_1, vertex_7, 1); + graph.add_edge(vertex_2, vertex_7, 1); + graph.add_edge(vertex_1, vertex_6, 1); + graph.add_edge(vertex_2, vertex_6, 1); - std::random_device dev; - std::mt19937 rng(dev()); - std::uniform_int_distribution rand_vertex(0, 69); + graph.add_edge(vertex_2, vertex_3, 1); + graph.add_edge(vertex_2, vertex_5, 1); + graph.add_edge(vertex_3, vertex_6, 1); + graph.add_edge(vertex_5, vertex_6, 1); + graph.add_edge(vertex_3, vertex_5, 1); - for (int i = 0; i < 1360; ++i) { - graph.add_edge(vertices[rand_vertex(rng)], vertices[rand_vertex(rng)], 1); - } + graph.add_edge(vertex_3, vertex_4, 1); + graph.add_edge(vertex_5, vertex_4, 1); - auto start = std::chrono::high_resolution_clock::now(); auto cliques = bron_kerbosch(graph); - auto stop = std::chrono::high_resolution_clock::now(); - - int expected_time = 900; + std::vector> expected_cliques{ + {vertex_1, vertex_2, vertex_6, vertex_7}, + {vertex_2, vertex_6, vertex_3, vertex_5}, + {vertex_3, vertex_4, vertex_5}}; + sort_vectors(cliques, expected_cliques); - ASSERT_TRUE(expected_time >= - duration_cast(stop - start).count()); + ASSERT_EQ(cliques, expected_cliques); } +TYPED_TEST(BronKerbosch, GraphTwoLines) { + undirected_graph graph{}; + + const auto vertex_1 = graph.add_vertex(10); + const auto vertex_2 = graph.add_vertex(20); + const auto vertex_3 = graph.add_vertex(30); + const auto vertex_4 = graph.add_vertex(40); + const auto vertex_5 = graph.add_vertex(50); + const auto vertex_6 = graph.add_vertex(60); + const auto vertex_7 = graph.add_vertex(70); + const auto vertex_8 = graph.add_vertex(80); + + graph.add_edge(vertex_2, vertex_1, 1); + graph.add_edge(vertex_2, vertex_3, 1); + graph.add_edge(vertex_3, vertex_4, 1); + + graph.add_edge(vertex_5, vertex_6, 1); + graph.add_edge(vertex_6, vertex_7, 1); + + auto cliques = bron_kerbosch(graph); + std::vector> expected_cliques{ + {vertex_1, vertex_2}, {vertex_2, vertex_3}, {vertex_3, vertex_4}, + {vertex_5, vertex_6}, {vertex_6, vertex_7}, {vertex_8}}; + + sort_vectors(cliques, expected_cliques); + + ASSERT_EQ(cliques, expected_cliques); +} }; // namespace graaf::algorithm \ No newline at end of file From 27e6894d554d31688bc007793d8f9dca695e1455 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Mon, 9 Oct 2023 11:58:46 +0300 Subject: [PATCH 36/40] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 17da09eb..fc9b5d2e 100644 --- a/README.md +++ b/README.md @@ -103,8 +103,7 @@ take a look at the [docs](https://bobluppes.github.io/graaf/docs/algorithms/intr - BFS-Based Shortest Path - Dijkstra - Bellman-Ford -5. [**Strongly Connected Components Algorithms - **](https://bobluppes.github.io/graaf/docs/category/strongly-connected-components): +5. [**Strongly Connected Components Algorithms**](https://bobluppes.github.io/graaf/docs/category/strongly-connected-components): - Tarjan's Strongly Connected Components 6. [**Topological Sorting Algorithms**](https://bobluppes.github.io/graaf/docs/category/topological-sorting): - Topological sorting DFS-based From 696983932b77668446030e77d9ce17675519a99a Mon Sep 17 00:00:00 2001 From: Hromz Date: Mon, 9 Oct 2023 12:14:55 +0300 Subject: [PATCH 37/40] folder name correction, added json to docs --- docs/docs/algorithms/clique-detection/_category_.json | 6 ++++++ .../{clique => clique-detection}/bron_kerbosch.md | 0 .../{clique => clique_detection}/bron_kerbosch_test.cpp | 0 3 files changed, 6 insertions(+) create mode 100644 docs/docs/algorithms/clique-detection/_category_.json rename docs/docs/algorithms/{clique => clique-detection}/bron_kerbosch.md (100%) rename test/graaflib/algorithm/{clique => clique_detection}/bron_kerbosch_test.cpp (100%) diff --git a/docs/docs/algorithms/clique-detection/_category_.json b/docs/docs/algorithms/clique-detection/_category_.json new file mode 100644 index 00000000..26b2ac70 --- /dev/null +++ b/docs/docs/algorithms/clique-detection/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Clique Detection", + "link": { + "type": "generated-index" + } +} \ No newline at end of file diff --git a/docs/docs/algorithms/clique/bron_kerbosch.md b/docs/docs/algorithms/clique-detection/bron_kerbosch.md similarity index 100% rename from docs/docs/algorithms/clique/bron_kerbosch.md rename to docs/docs/algorithms/clique-detection/bron_kerbosch.md diff --git a/test/graaflib/algorithm/clique/bron_kerbosch_test.cpp b/test/graaflib/algorithm/clique_detection/bron_kerbosch_test.cpp similarity index 100% rename from test/graaflib/algorithm/clique/bron_kerbosch_test.cpp rename to test/graaflib/algorithm/clique_detection/bron_kerbosch_test.cpp From 0f9ffe89102042cc47291c6ad7a929841b04c12e Mon Sep 17 00:00:00 2001 From: Hromz Date: Mon, 9 Oct 2023 12:25:23 +0300 Subject: [PATCH 38/40] small correction in name and headers --- .../algorithm/{clique => clique_detection}/bron_kerbosch.h | 6 +++--- .../{clique => clique_detection}/bron_kerbosch.tpp | 2 +- .../algorithm/clique_detection/bron_kerbosch_test.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename include/graaflib/algorithm/{clique => clique_detection}/bron_kerbosch.h (76%) rename include/graaflib/algorithm/{clique => clique_detection}/bron_kerbosch.tpp (98%) diff --git a/include/graaflib/algorithm/clique/bron_kerbosch.h b/include/graaflib/algorithm/clique_detection/bron_kerbosch.h similarity index 76% rename from include/graaflib/algorithm/clique/bron_kerbosch.h rename to include/graaflib/algorithm/clique_detection/bron_kerbosch.h index 9547e040..01e4ca57 100644 --- a/include/graaflib/algorithm/clique/bron_kerbosch.h +++ b/include/graaflib/algorithm/clique_detection/bron_kerbosch.h @@ -8,9 +8,9 @@ namespace graaf::algorithm { * algorithm. * * The Bron-Kerbosch algorithm is used for finding all cliques in an undirected - * graph. A clique is a subset of vertices such that every two distinct vertices - * are adjacent. This function returns a list of all cliques, each represented - * as a vector of vertex identifiers. + * graph. A clique_detection is a subset of vertices such that every two + * distinct vertices are adjacent. This function returns a list of all cliques, + * each represented as a vector of vertex identifiers. * * @tparam V The vertex type of the graph. * @tparam E The edge type of the graph. diff --git a/include/graaflib/algorithm/clique/bron_kerbosch.tpp b/include/graaflib/algorithm/clique_detection/bron_kerbosch.tpp similarity index 98% rename from include/graaflib/algorithm/clique/bron_kerbosch.tpp rename to include/graaflib/algorithm/clique_detection/bron_kerbosch.tpp index 3a55196a..5ecb8df6 100644 --- a/include/graaflib/algorithm/clique/bron_kerbosch.tpp +++ b/include/graaflib/algorithm/clique_detection/bron_kerbosch.tpp @@ -1,6 +1,6 @@ #pragma once -#include +#include #include #include diff --git a/test/graaflib/algorithm/clique_detection/bron_kerbosch_test.cpp b/test/graaflib/algorithm/clique_detection/bron_kerbosch_test.cpp index cc70b90b..2aabc4aa 100644 --- a/test/graaflib/algorithm/clique_detection/bron_kerbosch_test.cpp +++ b/test/graaflib/algorithm/clique_detection/bron_kerbosch_test.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include From ef490b8feb4abc85f5f4d10456659fcbdeafb567 Mon Sep 17 00:00:00 2001 From: Hromz Date: Fri, 13 Oct 2023 00:08:23 +0300 Subject: [PATCH 39/40] benchmark test Bron-Kerbosch --- perf/graaflib/bron_kerbosch_benchmark.cpp | 245 ++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 perf/graaflib/bron_kerbosch_benchmark.cpp diff --git a/perf/graaflib/bron_kerbosch_benchmark.cpp b/perf/graaflib/bron_kerbosch_benchmark.cpp new file mode 100644 index 00000000..dede051d --- /dev/null +++ b/perf/graaflib/bron_kerbosch_benchmark.cpp @@ -0,0 +1,245 @@ +#include +#include +#include + +#include +#include + +namespace { + +// Generating random number of vertices (1- 30) for a clique +std::random_device dev; +std::mt19937 rng(dev()); +std::uniform_int_distribution random_clique_size(1, + 30); + +template +[[nodiscard]] std::vector create_vertices( + graaf::undirected_graph& graph, size_t n) { + std::vector vertices{}; + vertices.reserve(n); + + for (size_t i{0}; i < n; ++i) { + vertices.push_back(graph.add_vertex(i)); + } + + return vertices; +} + +template +void add_clique(graaf::undirected_graph& graph, + const std::vector& vertices, + size_t start_vertex, size_t clique_size) { + // We are in range of vector of vertices + size_t end_vertex = std::min(start_vertex + clique_size, vertices.size()); + std::vector clique{}; + clique.reserve((clique_size * (clique_size - 1)) / 2); + + // Constructing a clique + for (size_t i{start_vertex}; i < end_vertex; ++i) { + for (size_t j{i + 1}; j < end_vertex; ++j) { + clique.emplace_back(vertices[i], vertices[j]); + } + } + + for (auto& edge_t : clique) { + graph.add_edge(edge_t.first, edge_t.second, 1); + } +} +} // namespace + +static void bron_kerbosh_two_vertices_cliques(benchmark::State& state) { + const auto number_of_edges{static_cast(state.range(0))}; + + graaf::undirected_graph graph{}; + + // We create enough vertices to construct the requested number of edges + const auto number_of_vertices{number_of_edges + 1}; + const auto vertices{create_vertices(graph, number_of_vertices)}; + + for (auto _ : state) { + for (size_t i{0}; i < number_of_edges; ++i) { + graph.add_edge(vertices[i], vertices[i + 1], 1); + } + } + + graaf::algorithm::bron_kerbosch(graph); + state.SetComplexityN(state.range(0)); +} + +static void bron_kerbosh_dense_graph(benchmark::State& state) { + const auto number_of_edges{static_cast(state.range(0))}; + + graaf::undirected_graph graph{}; + + // We create enough vertices to construct the requested number of edges + const auto number_of_vertices{number_of_edges + 1}; + const auto vertices{create_vertices(graph, number_of_vertices)}; + + for (auto _ : state) { + for (size_t i{0}; i < number_of_edges; ++i) { + for (size_t j{i + 1}; j < number_of_edges; ++j) { + if (i != j && !graph.has_edge(vertices[i], vertices[j])) + graph.add_edge(vertices[i], vertices[j], 1); + } + } + } + + graaf::algorithm::bron_kerbosch(graph); + state.SetComplexityN(state.range(0)); +} + +static void bron_kerbosh_graph_triangle_cliques(benchmark::State& state) { + const auto number_of_edges{static_cast(state.range(0))}; + + graaf::undirected_graph graph{}; + + // We create enough vertices to construct the requested number of edges + const auto number_of_vertices{number_of_edges + 1}; + const auto vertices{create_vertices(graph, number_of_vertices)}; + + size_t clique_size = 4; + + for (auto _ : state) { + for (size_t i{0}; i < number_of_edges; i += clique_size) { + std::vector clique{}; + add_clique(graph, vertices, i, clique_size); + } + } + + graaf::algorithm::bron_kerbosch(graph); + state.SetComplexityN(state.range(0)); +} + +static void bron_kerbosh_graph_connected_triangle_cliques( + benchmark::State& state) { + const auto number_of_edges{static_cast(state.range(0))}; + + graaf::undirected_graph graph{}; + + // We create enough vertices to construct the requested number of edges + const auto number_of_vertices{number_of_edges + 1}; + const auto vertices{create_vertices(graph, number_of_vertices)}; + + size_t clique_size = 4; + + for (auto _ : state) { + // Connecting all cliques + for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { + graph.add_edge(vertices[i], vertices[i + clique_size], 1); + } + + for (size_t i{0}; i < number_of_edges; i += clique_size) { + std::vector clique{}; + add_clique(graph, vertices, i, clique_size); + } + } + + graaf::algorithm::bron_kerbosch(graph); + state.SetComplexityN(state.range(0)); +} + +static void bron_kerbosh_graph_large_cliques(benchmark::State& state) { + const auto number_of_edges{static_cast(state.range(0))}; + + graaf::undirected_graph graph{}; + + // We create enough vertices to construct the requested number of edges + const auto number_of_vertices{number_of_edges + 1}; + const auto vertices{create_vertices(graph, number_of_vertices)}; + + size_t clique_size = 25; + + for (auto _ : state) { + for (size_t i{0}; i < number_of_edges; i += clique_size) { + std::vector clique{}; + add_clique(graph, vertices, i, clique_size); + } + } + + graaf::algorithm::bron_kerbosch(graph); + state.SetComplexityN(state.range(0)); +} + +static void bron_kerbosh_graph_mixed_random_cliques(benchmark::State& state) { + const auto number_of_edges{static_cast(state.range(0))}; + + graaf::undirected_graph graph{}; + + // We create enough vertices to construct the requested number of edges + const auto number_of_vertices{number_of_edges + 1}; + const auto vertices{create_vertices(graph, number_of_vertices)}; + + size_t clique_size = 3; + + for (auto _ : state) { + for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { + std::vector clique{}; + add_clique(graph, vertices, i, clique_size++); + + clique_size = random_clique_size(rng); + } + } + + graaf::algorithm::bron_kerbosch(graph); + state.SetComplexityN(state.range(0)); +} + +static void bron_kerbosh_graph_connected_mixed_random_cliques( + benchmark::State& state) { + const auto number_of_edges{static_cast(state.range(0))}; + + graaf::undirected_graph graph{}; + + // We create enough vertices to construct the requested number of edges + const auto number_of_vertices{number_of_edges + 1}; + const auto vertices{create_vertices(graph, number_of_vertices)}; + + size_t clique_size = 3; + + for (auto _ : state) { + // Connecting all cliques + for (size_t i{0}; i < number_of_edges; ++i) { + graph.add_edge(vertices[i], vertices[i + 1], 1); + } + + for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { + std::vector clique{}; + add_clique(graph, vertices, i, clique_size++); + + clique_size = random_clique_size(rng); + } + } + + graaf::algorithm::bron_kerbosch(graph); + state.SetComplexityN(state.range(0)); +} + +BENCHMARK(bron_kerbosh_two_vertices_cliques) + ->Range(100, 10000) + ->Unit(benchmark::kMillisecond) + ->Complexity(); +BENCHMARK(bron_kerbosh_dense_graph) /* large amount of vertices to process */ + ->Range(100, 1000) + ->Unit(benchmark::kMillisecond) + ->Complexity(); +BENCHMARK(bron_kerbosh_graph_triangle_cliques) + ->Range(100, 10000) + ->Unit(benchmark::kMillisecond) + ->Complexity(); +BENCHMARK(bron_kerbosh_graph_connected_triangle_cliques) + ->Range(100, 10000) + ->Unit(benchmark::kMillisecond) + ->Complexity(); +BENCHMARK(bron_kerbosh_graph_large_cliques) + ->Range(100, 10000) + ->Unit(benchmark::kMillisecond) + ->Complexity(); +BENCHMARK(bron_kerbosh_graph_mixed_random_cliques) + ->Range(100, 10000) + ->Unit(benchmark::kMillisecond) + ->Complexity(); +BENCHMARK(bron_kerbosh_graph_connected_mixed_random_cliques) + ->Range(100, 10000) + ->Unit(benchmark::kMillisecond) + ->Complexity(); \ No newline at end of file From 7b42950bf4ccc3ef1e2b68cdbb3e46f63819d24a Mon Sep 17 00:00:00 2001 From: Hromz Date: Mon, 16 Oct 2023 20:51:39 +0300 Subject: [PATCH 40/40] Changed according to comments --- perf/graaflib/bron_kerbosch_benchmark.cpp | 178 +++++++--------------- 1 file changed, 53 insertions(+), 125 deletions(-) diff --git a/perf/graaflib/bron_kerbosch_benchmark.cpp b/perf/graaflib/bron_kerbosch_benchmark.cpp index dede051d..c27c8fbc 100644 --- a/perf/graaflib/bron_kerbosch_benchmark.cpp +++ b/perf/graaflib/bron_kerbosch_benchmark.cpp @@ -6,13 +6,11 @@ #include namespace { - // Generating random number of vertices (1- 30) for a clique std::random_device dev; std::mt19937 rng(dev()); std::uniform_int_distribution random_clique_size(1, 30); - template [[nodiscard]] std::vector create_vertices( graaf::undirected_graph& graph, size_t n) { @@ -32,23 +30,17 @@ void add_clique(graaf::undirected_graph& graph, size_t start_vertex, size_t clique_size) { // We are in range of vector of vertices size_t end_vertex = std::min(start_vertex + clique_size, vertices.size()); - std::vector clique{}; - clique.reserve((clique_size * (clique_size - 1)) / 2); // Constructing a clique for (size_t i{start_vertex}; i < end_vertex; ++i) { for (size_t j{i + 1}; j < end_vertex; ++j) { - clique.emplace_back(vertices[i], vertices[j]); + graph.add_edge(vertices[i], vertices[j], 1); } } - - for (auto& edge_t : clique) { - graph.add_edge(edge_t.first, edge_t.second, 1); - } } } // namespace -static void bron_kerbosh_two_vertices_cliques(benchmark::State& state) { +static void bron_kerbosh_cliques(benchmark::State& state) { const auto number_of_edges{static_cast(state.range(0))}; graaf::undirected_graph graph{}; @@ -56,40 +48,21 @@ static void bron_kerbosh_two_vertices_cliques(benchmark::State& state) { // We create enough vertices to construct the requested number of edges const auto number_of_vertices{number_of_edges + 1}; const auto vertices{create_vertices(graph, number_of_vertices)}; + const auto clique_size = static_cast(state.range(1)); - for (auto _ : state) { - for (size_t i{0}; i < number_of_edges; ++i) { - graph.add_edge(vertices[i], vertices[i + 1], 1); - } + for (size_t i{0}; i < number_of_edges; i += clique_size) { + add_clique(graph, vertices, i, clique_size); } - graaf::algorithm::bron_kerbosch(graph); - state.SetComplexityN(state.range(0)); -} - -static void bron_kerbosh_dense_graph(benchmark::State& state) { - const auto number_of_edges{static_cast(state.range(0))}; - - graaf::undirected_graph graph{}; - - // We create enough vertices to construct the requested number of edges - const auto number_of_vertices{number_of_edges + 1}; - const auto vertices{create_vertices(graph, number_of_vertices)}; - for (auto _ : state) { - for (size_t i{0}; i < number_of_edges; ++i) { - for (size_t j{i + 1}; j < number_of_edges; ++j) { - if (i != j && !graph.has_edge(vertices[i], vertices[j])) - graph.add_edge(vertices[i], vertices[j], 1); - } - } + auto result = graaf::algorithm::bron_kerbosch(graph); + benchmark::DoNotOptimize(result); } - graaf::algorithm::bron_kerbosch(graph); - state.SetComplexityN(state.range(0)); + state.SetComplexityN(state.range(1)); } -static void bron_kerbosh_graph_triangle_cliques(benchmark::State& state) { +static void bron_kerbosh_connected_cliques(benchmark::State& state) { const auto number_of_edges{static_cast(state.range(0))}; graaf::undirected_graph graph{}; @@ -97,49 +70,26 @@ static void bron_kerbosh_graph_triangle_cliques(benchmark::State& state) { // We create enough vertices to construct the requested number of edges const auto number_of_vertices{number_of_edges + 1}; const auto vertices{create_vertices(graph, number_of_vertices)}; + const auto clique_size = static_cast(state.range(1)); - size_t clique_size = 4; - - for (auto _ : state) { - for (size_t i{0}; i < number_of_edges; i += clique_size) { - std::vector clique{}; - add_clique(graph, vertices, i, clique_size); - } + // Connecting all cliques + for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { + graph.add_edge(vertices[i], vertices[i + clique_size], 1); } - graaf::algorithm::bron_kerbosch(graph); - state.SetComplexityN(state.range(0)); -} - -static void bron_kerbosh_graph_connected_triangle_cliques( - benchmark::State& state) { - const auto number_of_edges{static_cast(state.range(0))}; - - graaf::undirected_graph graph{}; - - // We create enough vertices to construct the requested number of edges - const auto number_of_vertices{number_of_edges + 1}; - const auto vertices{create_vertices(graph, number_of_vertices)}; - - size_t clique_size = 4; + for (size_t i{0}; i < number_of_edges; i += clique_size) { + add_clique(graph, vertices, i, clique_size); + } for (auto _ : state) { - // Connecting all cliques - for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { - graph.add_edge(vertices[i], vertices[i + clique_size], 1); - } - - for (size_t i{0}; i < number_of_edges; i += clique_size) { - std::vector clique{}; - add_clique(graph, vertices, i, clique_size); - } + auto result = graaf::algorithm::bron_kerbosch(graph); + benchmark::DoNotOptimize(result); } - graaf::algorithm::bron_kerbosch(graph); - state.SetComplexityN(state.range(0)); + state.SetComplexityN(state.range(1)); } -static void bron_kerbosh_graph_large_cliques(benchmark::State& state) { +static void bron_kerbosh_random_cliques(benchmark::State& state) { const auto number_of_edges{static_cast(state.range(0))}; graaf::undirected_graph graph{}; @@ -147,21 +97,22 @@ static void bron_kerbosh_graph_large_cliques(benchmark::State& state) { // We create enough vertices to construct the requested number of edges const auto number_of_vertices{number_of_edges + 1}; const auto vertices{create_vertices(graph, number_of_vertices)}; + size_t clique_size = random_clique_size(rng); - size_t clique_size = 25; + for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { + add_clique(graph, vertices, i, clique_size++); + clique_size = random_clique_size(rng); + } for (auto _ : state) { - for (size_t i{0}; i < number_of_edges; i += clique_size) { - std::vector clique{}; - add_clique(graph, vertices, i, clique_size); - } + auto result = graaf::algorithm::bron_kerbosch(graph); + benchmark::DoNotOptimize(result); } - graaf::algorithm::bron_kerbosch(graph); state.SetComplexityN(state.range(0)); } -static void bron_kerbosh_graph_mixed_random_cliques(benchmark::State& state) { +static void bron_kerbosh_connected_random_cliques(benchmark::State& state) { const auto number_of_edges{static_cast(state.range(0))}; graaf::undirected_graph graph{}; @@ -169,77 +120,54 @@ static void bron_kerbosh_graph_mixed_random_cliques(benchmark::State& state) { // We create enough vertices to construct the requested number of edges const auto number_of_vertices{number_of_edges + 1}; const auto vertices{create_vertices(graph, number_of_vertices)}; + size_t clique_size = random_clique_size(rng); - size_t clique_size = 3; - - for (auto _ : state) { - for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { - std::vector clique{}; - add_clique(graph, vertices, i, clique_size++); - - clique_size = random_clique_size(rng); - } + // Connecting all cliques + for (size_t i{0}; i < number_of_edges; ++i) { + graph.add_edge(vertices[i], vertices[i + 1], 1); } - graaf::algorithm::bron_kerbosch(graph); - state.SetComplexityN(state.range(0)); -} - -static void bron_kerbosh_graph_connected_mixed_random_cliques( - benchmark::State& state) { - const auto number_of_edges{static_cast(state.range(0))}; - - graaf::undirected_graph graph{}; - - // We create enough vertices to construct the requested number of edges - const auto number_of_vertices{number_of_edges + 1}; - const auto vertices{create_vertices(graph, number_of_vertices)}; - - size_t clique_size = 3; + for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { + add_clique(graph, vertices, i, clique_size++); + clique_size = random_clique_size(rng); + } for (auto _ : state) { - // Connecting all cliques - for (size_t i{0}; i < number_of_edges; ++i) { - graph.add_edge(vertices[i], vertices[i + 1], 1); - } - - for (size_t i{0}; i + clique_size < number_of_edges; i += clique_size) { - std::vector clique{}; - add_clique(graph, vertices, i, clique_size++); - - clique_size = random_clique_size(rng); - } + auto result = graaf::algorithm::bron_kerbosch(graph); + benchmark::DoNotOptimize(result); } - graaf::algorithm::bron_kerbosch(graph); state.SetComplexityN(state.range(0)); } -BENCHMARK(bron_kerbosh_two_vertices_cliques) - ->Range(100, 10000) +BENCHMARK(bron_kerbosh_cliques) + ->Ranges({{100, 10000}, {2, 32}}) /* clique size 2 ^ n */ ->Unit(benchmark::kMillisecond) ->Complexity(); -BENCHMARK(bron_kerbosh_dense_graph) /* large amount of vertices to process */ - ->Range(100, 1000) +BENCHMARK(bron_kerbosh_connected_cliques) + ->Ranges({{100, 10000}, {2, 32}}) /* clique size 2 ^ n */ ->Unit(benchmark::kMillisecond) ->Complexity(); -BENCHMARK(bron_kerbosh_graph_triangle_cliques) - ->Range(100, 10000) +BENCHMARK(bron_kerbosh_cliques) + ->Ranges({{100, 1000}, + {1000, 1000}}) /* Dense graph, number of vertices are + min(state.range(1), vertex.size()) */ ->Unit(benchmark::kMillisecond) ->Complexity(); -BENCHMARK(bron_kerbosh_graph_connected_triangle_cliques) - ->Range(100, 10000) +BENCHMARK(bron_kerbosh_cliques) + ->Ranges({{100, 10000}, {10, 60}}) /* large cliques */ ->Unit(benchmark::kMillisecond) ->Complexity(); -BENCHMARK(bron_kerbosh_graph_large_cliques) - ->Range(100, 10000) +BENCHMARK(bron_kerbosh_connected_cliques) + ->Ranges({{100, 10000}, {10, 60}}) /* large cliques */ ->Unit(benchmark::kMillisecond) ->Complexity(); -BENCHMARK(bron_kerbosh_graph_mixed_random_cliques) +BENCHMARK(bron_kerbosh_random_cliques) /* random clique size between 1-30 */ ->Range(100, 10000) ->Unit(benchmark::kMillisecond) ->Complexity(); -BENCHMARK(bron_kerbosh_graph_connected_mixed_random_cliques) +BENCHMARK( + bron_kerbosh_connected_random_cliques) /* random clique size between 1-30 */ ->Range(100, 10000) ->Unit(benchmark::kMillisecond) ->Complexity(); \ No newline at end of file

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 z zQ;V;t?yRP2^bb#_oCW4W)s4=?kr;)lK%euyQc6c!rT3eH_nr$A_qkqeEIrHPJl$<2 z%dz+7avl>IQE}Wk7WTF2C3AMai+oYnz5NGxF|i{d33;U+0_o@>L8H;_l!VQc_XIrG zeyC!}a__x6f32VftyB2Ak7x77U~&dlkGF#t{hEf8xZ15rE24d1jlI2_>VOckG$nwq}s>t54>tp@w z^TlyXNG1j18^fMhDw6=KhvRTukn`P+{q1VEA(r z)wV}W9Otu2HC#1&&(1mRqTOW`eUGcImu^!zqU1L_2SOswBWebU^>^B**7qFNVqf_aXffD+u1|s9c-p_F(|+1eV%AY z3=2_@uRr%RPgM81yt@vgThAumKaMa_qH=sxkz`xWzS!DhhLg)!%upt;grrf9j;zgek}ik z9%@ZB)x;#R0MesuZ}aa`w}_2ipHGnzgpxT$;a>gFZBJUl+6LuGrx4(v1P+%?vRD%P zdk$@OaVQ6yH+ru%&U*h@_Fiya)2D7FHO)D9Mvi~2Jh%H@<9U9^_AjJ6bcV$nCKr+{ zv{uCOpHKtU;8ianK?p;(Ra_=5=bd5~LC?sN`{I|t?9JC=3y|0f>eJnkf@!wp&vIlK z_t68-at3_#XW=-z6pQ=($O1=d;HocjH0H`f#CYyoT|2kIP|@CcnDe5CfdRXexU^G0 zI)gSrSg7a3>eppeTq^Wr_2bX4L~PCFdQ?%Kn}~E)sJLj$%8;K2oi{VBoFA3Y4aVIg zKg@d$eL;FPwbw+NRmR04KNXSs$GvFsV*^<#mwiCHRHtbHgIeAeuQT5TUWw_mHBY+z zj{^^*l*P8b(bJ-uHK)Ib_DU;x3-niIFiO)2CXK!x-%~ToDcnn2jgIjk6-P%Xhe?kN z?L5qohh|Hao9^G|q5Dtw3<(#vwwBg2rwa~E-S578y+-d6&Dtp}=f(Qpy!s-_K^IbZ z?_2kNT@-ku*)N-k5agZY!J)>tmS(MVMTH3^OB9m*zIL11g4_q)Br0!gnsO*HD9x_V zwB=_fPEowLa43@d@_W8^bYk?c+RGe?1d`97{HMxA|M~&Nu#rZlx3vxDmDB}VoBh+o zVd7uI$BfIq)6t?(SRuTkr87E0ew`W7LHf-o6KLd>G1trNY&V7k^Zj`rl%Ml{L5{U- z!jLmyPBCHDXRuYKPk(<~3pKZm3dNo?dt$U27jqkxWfs@cP9aikC{x^Exw%E=9**Ij zriJssH&~pxThoC1Q~Ld?L$DF55@GvZYS(^_P0jWRUH>cL-`EC(3rj^Djd}GMU4A=F# zw<}5V<8h3lRbB-W&aQIvm$q1?8~gpBA|YWmRrKV>+fX>urN}*7T}JIu&5=X?R*SCM zc{&zE&Zq2?^z+g$9DA>pa^e>P?mspx8TXkcTS9K^olvk!lLC?US>5f;COh0I@BD$= zw~zM!YICTkS#N6bUyM{j4wWJP{zkA!A@wo|sN(4yYzXyqt_Gbi;=#T7ISi52LOR?- zdO9mA0SYKY0e+4mWzYEC=+&L;8YuO}tuP1~D*f@RGodWkXxPhQ%U@fzg%_=&Dv;R{ z%8?~SB4jl&${6nZ)=Eb^T)qB`%{Ps?<690%Aih2;f?NpSUeoD(jF)9K)p$a#dPdkM zys+Zyvs>f$vaFKh1^qM;C(u-VBuRNM24G?-=|X7ujaL9H&-IEfPfmS?jMfB@RaTFU zJ_%v}ED0HC!Qfvgyu;P|4w`&Bxi%heCKM765*Cu?+&cm6-{k0eS{WonW{)JES(fxl zmI-3{(IqqugG2MdTCmttiXu2dvB-%#(Lh!pZfx-G%owMTfI^uo=~7oz@y%xcE7>7T zq825OO()lg;u@h0`_Pb;9I%SViUBm^a&&z;;USqBEB%_k|{li>wH1Re_76ipLPk5eb zfBCoi@N!hv*s=k)#SvuQ0?p;8M7=l;1s{U$LcqygQU2PtbzRr2zezr;2RT839I^TR z=i+=w*OTWzJE7S()!_MeeME45We|c`3~b$N_wJEw5YE!zRsZCu$9#&L{s31ep>0}G zq6OSKj4#74RF8bp{t8A`Gw0|=Xz&A^iijByBV8N)_p92de zBb_v8&0W#1+b-ePY2@AkM#Tn=Ga(4-ZE6u8olw|*yx92r=slPVe>@uq%NdNxa-T*w zfvrjgMb3-^zvoSolF2%mLdk|{ZqG$Jqf+v^0FYLR7!_-JcKrBqj_?UF1v4Hd`(~%4 zN%0dpJDbbHCr7Jc{xEUm-zlIi)MX3D?7*?H#aTUlGvMSn#Pr5%_a3(t<4FSAY>WoZ4fsN%Mnvms?hkH5sCt>1BKapAgQ&&n9@hrnWeW`p zIHyw3Ht&%j=;iiv$H?zrEu$E#H}}Z>dl$lPR(FGQ^@B{CeBIVk6m45k&24x`KMc2x z3>+^{H75#=v$+4ZQLD5=jbnPzR*|gJ1mwvwC7^`ogU-m8H9tXvhLj!4rzNfO9=7m; zFk*5>ie>|q8(@HNDodpvOzlEn(M*g367+QNEq=4Zqk~n6$1sH?@iQ81;-+bVyXDh5 zCUp_@@{WF{?!0qT7YueYsJTNPXcIV-<2C+t*j!oc*h_>9@xcxW=$1Z8>k!o5Y(#2K zD;iLNVH6BQ!o$+rC8H})N%C$C4$VA(0;9`CgbaIGq#RAk=oLwePqPp;gM8fq=_t$w zs_0*|3!~Hv{i>(fSyVW|WpD884p@Mh_7|!=O1J;jl`3qjWT{bcbdLFwTUEMe`ZIE* z0KQbT$56WFI}|tUy$IBo)ar=K+$x4<8hq_7( zJ-(&*NdR~K(es$$27C_z z@5v=-V--6<(BDDv)|fncfMLhj7eO{7k-jHpW)md8kYS*8f1d^SN+-=|%DEbM&fGF4ti` zc>}dFflxj=%`BmIPG;xb$#o>r=AtQBSpor|u0+LJ(Y9S|>BuV>fSczZj~>dnnpx+j zF8yD0y>~p-Zx}az&T(*zGP9CBBQv9{V`fGvk;uvxBH5gVy_J=$(6W_~aiowfLXufV zc4Uv=_4z)}^INay`HL5yaewY{-Pe6x@9X_0g*^=cIAp|^dn%oEAG_g%xmW&LmG+@b z=zM3_We-@uR3CBqdaA@QT(9AKPuq#&_n}{s3Hdq(r}${@50sn%VbFo#eWy%&XXm4r zq;?e5kV)nxd=5@Nj4@vZUPnd(5ikmhQihokJ2>|9-rDD`0uj>SU%Sp1hS_A#KIo;0 zMnW+`y2^LjKe-TwkGuEqp0h6f8;<9*U;$)aT>Lzv_NeUlzafLA6m0Z4bqLlvI;$L> zRR-=b#1yw*IWyAON+${d?(GX2v}KS-O(sqijDM;PQV8wr8L_*_tw?Pm>5JmJy*Q!& z_pbq$*~f{Er2)&KQ&&c4Gy0y1o@NpLv5s%&yO{stAVv4! zKK1m{)&B@O!N%uthaqR=O~nA>^^jvI?%Y#v-8u;Ot;{5HQL@ zKSg%QLMq;7Ndbv?TCu_`mhgaB-a zGOUGC_h`g?&R(;qFR=dSUl`#7nZl}uqo1clOhm2zo3MTF?;WzOPC8nBUm3akjtUd> z8mUfgSb0i{AM&G9*?Y;-yA`x#CZQ+xvo|X~z6JAa?42OR^CFf59|^+ zIYl06`BYEf&V|La&XF`R}V+~^ptd(un*9JIA0?UQ7{Q9$3ux=LD5 zMSOz&Bdu_kZrhs@Z_qnOhA$T->p2%T^YZ&{;Q55}H9LH(y=FO0EL;w322@jriNB17 zPGO-uMfx2Z_dee6=j-C8VXeVL;;9g)U;bBuV(0$cIYLVW78m;QQ*7J|-1Rb+X)IP= zw${P?d-q#f*7X>$m9H9{$mud4L0@2Qa5+eE;*&IrefxeT%t9w;ku-GA691?v^aOEj zy}>CmM1}P1sZwEjfL!j`x80qL3_Yg9#cXq+n$xX4QM^bD%^)@og??#7F_)kX^c*uZ zUhnA$eN`&n$^UngOmy^ET_WrDAB!9f6N6~&F3ZLOVy{ew&g(Wk{QNbZx0<7lg|4Jz z#l0g%*I48|(QRvLSSWFr*ta0kh!Bp2pFPHJ@VTbnc|>$K(@hb(@rI&E3AJ%OKmF|P zP>gGacTijPpX9t2qCTs04o~pNeYMyL^UyvdiM}{_b zy9nHx(xl#Y?~eAG3`-N{m-rtQxt5d$70rLpP&52rm8|3Xk-u2)>$AOYS;~A%H_K;6 zbq2QA$uxPC=b$!aD|2A*ad3(ZrN-bY$2sy(k;P8xO0n_R)tqT-S_atvjY^Xz$qqx$Mp+S#yBmwGH z^3sjgD~;mmg1YBYyyavW74u<#-tLbJoSa%lay&wYDuJ<@Y1?@lOtu0lIYNW z^}|XDMco~SBli{k3AfiHDu>cEnwP>lC!YuiGt#TIT(Rq9~)_=TN$_n_okmZ$Wy;2EfEA#9AD?bB@9fF3G_YS+)i)PK{ z6iM3>1iIIoT^8N22Y=FgB=&yqu0`YO+c)^+#7S;E+yOf2-oSH3rUQYJ`NWJqifX}- zOx!PKp5;>oZu|Goc|M^qTd&bi=h^8Aw2}1=q?Pv@^sO6rLR}HEp}(~4=X8B!QT^Af zq_tPa2d=A>R-0s29>!b__Uo*yduJrdWBp!KJleIubN7hPZU$cp86%}|^Jx2k=aJY^ z@vP;U!m^*nEF~B)6Pj&6`EXR7l zvU=XND77e#3%4(F?%0hU1Wrm^F)-xOoahN*wf<)U5*@4~Mbg8*Jl9jCLmoRWJRH=z zQf6R5MSX+zh;;r#1NGWqAdRDU=}~SR>-f_h&ybkM<<0gZW|h+XYsp@|UU6#; zz0s?`4pPH03?mmjdp(oZ2G;aYCueI?(npUd=N|G%2&>kt(Dpiu5|yksaFuKESfz^6 zp1AdPvdThwLS!^P?AM_p#yb<|5znmRzJEE%R9=3PGbo@q=n-njzKwojTGlh$eB7bh z&?0BIG4hJavK)uwvcj)*XO%|A0D}&efTe@ifsL!ufs=V5**l+Ha}GB08-LKYrF93Q zmy|l{ypnb+W>fB=8;$y1dc>3Wr#?T79pOZIDUfeIl1R9x`f;`?`=07$wX>4}{2x~^ zk;Dip_G4*^=+sF3xC%CNbTf#^z^m`bV_m6E?h+#Tv`68p)Kp8i^4sR}z2mL*W#2D+ zR3b1&Jt60d`?|>_AnQCEO6h`wuBdz?YnDuomQNY=jZ)<*c@#?@l5qN` zYntEJk=2WA@Qm=w?(b}_xJcjpwZSFvxD`z9*N%20QFEKk?>1e>{k$sW)%&aD`ft)z zJHGMbpf901(w1W*dt2FmH=sc=yE;aQc>sb5Rit9xrkG3oj|iIpvvVb@Uc*5mN;<=^E<= zMO7y|{-!p@%ti!|E0{wp%}AkZ6RxOzn}KebA*`E<>p$G0Z{fuaUGnJ)w}| z#@tM-BIlJfS384Ae_8HLE@72LaZfsM(63@GpHu|n_F?{5pnI+kN6xh;YR@>jKlzRf zNueKFo2PJ19%kb;x%Pq`vV`wVJTQZ|!ZragS0?LnL<} zJ)w&BdCnwrtd;V5Ca1~}_0eCwWA*!@=f2&N>MbgIWsqhH>zBCs%j@Rt=n8?at8?Mk z1To10%zT@Qd|P6x*RWdK7F={Jo`mPO005(j?TAzpxp`$^@8II*?VrBVHVdEW|CI{StU?A|(+zXfwcmhQ_{U>f;&v zQugGFf5sS8q(@SdPmYlW9<5THRPoxFlJac6CjY~Q{m=hgIfO_5mVMVw{ zFia`?ROhFJhdjL(yC;aHe$}PSbQ|@;@z?uy!B*5zzRdT) zjr=wKu_dn@$BW4Tx4^|5v@A+L-%1R*V%qYk zfRW|3ec^4J*r7fbeD3E4v#R^BBTxLE=MS7bGiI+gOnvXi_&Uk<#D2yn+gYl9>8m8g(sLoJ zxh!j|<=lMYib@aPNr@QOXMuN)^)A~c3lZrd^0}JYiTa{L@YS0mIzSa~-SatKMl5Z{nePSK${mzO}`bOWi4yNc( zX@Egbd>n-A>qeI`{r1+U^d-)%k`4`&WvTemZ6%|CGxKKJ8 zs#m%XW{&#bbc)LcURY(#fB*Dg{ghQeeaS{TXO*JoNqGkjz1DlFD?Sf?c%}Cz(7z$o z6+>pnm~MluP(@Af^9IQ=Re^;yY17(-wcxP77I;tP1@iTn)q_^?`O%9W1^3X>WySZt z2MJ(%G|p*-YnUao;-VBJ>WXl?P}beZ(@I)9RstWu4&As26bnK*D)Yqe|?r^#?6 zw7SKpLVa@N-Hs4SSRjqnRc=sZ+KHk;W!)f8+cnmV`pKALl)_<%SWG57D{AQ?&z~PrN2M*BoA>X!Zq{>_wLvyJwI1ngR6VEU$7J!~EX9v1qjs$a_KcJb3sx#}6fVR*vcc^9 zw8Cnd&l!gbA%^}KH^Uf#b>+r;~bitjjj@x9@r3is#Y3olz9(>XM$A51G{$$X11DV z^fKM2O~_L6DxTBd4q*0BwkS;NkyLuNf9Ho2j}hOC9VsnCm2uVFK;~65|7C{CpO2=J zZQ=@?N;bqMw)dyHD{P9!i1jUX%I%12@`=OuK(rmpBZ_&hXnsr_lPEBuL&xIOc9FGb zbH7)~48(rY6icOtB) zhV-HNrA6(qAR47;MXLQtn`@g`0lBc?mFpOKLWxDKsq76NiIi*CyrPxSk;J)D)lZ@m zUo@%1?*ynV{GB<=RrNqHbbbLXaFy{3out>bNc4B z=puySZ<6ma%cWQ&iKb>cUCrsxYtL%LDs-_tNUOenlF8zPKOKbT>uGQ~!quwJ`(t@% zjp1*$&gX1zNzoI^E0Qw8r755zye#aV;53j{%5zIm50^|T9qhJvbN6!e|+B7;A z;|^AlWQs(b;x>cP8`C0upP~kr9rkkldmM>n2o;o<9XHGFn-c>5W#Tk{=#M*^w!SN| zet$$0lw-GMPBlwklyN<0`KOl@3ee&v&77UZcs>5{tU~s>6*6QNvhL|3m_***SH^+^ z064uv5@wx`@H6LLyPM8JU=X}$x-tN)6}(8r&?9evHL@!QvH)H@^7W~5scpcQQ5?Py zz#Qj>XZCV4B(m~wVR&d6u%O`d090TQM3FY2N3YDDy|;X0pv2-N!psCv`8?-nGG;U# z?i}=50`JxE|89d~Nb=*RmhVA(;zYgwKgx>K-Z5EFDe#`_MFSvP9Y~the$@Cgpy?uD zVi6s`4hTC`$PuU51U@-Qp0Kx zm$21GV!+T2_{1}iU7L704>?>qgq6>v`~40jvfdYjYpp7<{k_ z%>C9-OVakF!_RCOvR|r?C{K7mA*dd;Jya$MRJ+jgOjyHka##i$Sip<8u|j3l%n3Ry zh?-c$)zqh+03#a(Rlw@CmXqa>aegUSBG2@gngM+eCXILN`7gS3v;&8~ZmV~tMHZqA?t|oWE@8#+ffD0D7@-pEnvj-sl zO45b_(H0L0A2YM&i$5CYC_|+#V>4CpJiV+7Tq5vIb-JNrXPFpoLb1(nYcIV@7o617 z^e>|SeL62ZxRyV;2_7t|nFDn&+UZjKfUusd^(zmvf-<%>m_E-zXQrg`CRuc7D@=6% zeRS`JCLWuoZ3X1i)qBey*1kJr=Rz&orMG$k=#={0pz#ZCoYs5QoFaD9b! z#cOb58pbCg)F21)L@B;D6{Piq+pa#xnjoiykOQhiM(U^hvG1Z7OXPDuUmeOs-eNcb zLNagLKLXu0`9@()&375>7AV|-EQ%Sw-2i+ZyCHn)njRksTy2wt>LIr$IA$?t3L6Uy z_4Ji+167p0ONcGZlN&0625?CxEc+PovO+f-AxMYprQ2 z_fpMzplazOs5}{g#2s@)i^?k}_ZE zuZ>O<%Xp?pVZn{L1fRenv%zKxrh@^?a+r^@Bg_F=wVzG*q5jtrZh7}H#W!ISN?W7T zJ#MvHu!6i{1*x}QRzg+~@i*4jZUn}>9KZ#WI(T9UcU!;lV6k~PuqKgr%>gFHw91uL zKtC-M&>zz&=C>n-p7FAf`a z&9-vOz1HWLDrl5`J3Z<<9een5&g&b17>bJ)0QzqOYa1a(osPs)eoD3UrvS|yrS_CF zE|GVZFDL@CRQYJ%3pj(n{#i=B8CdD8kO1J!-*{yO0{OF zUdFxVrIhFRk_yoet~>7bK*lZhPmdcZxCVqC@%(3g*j=|L!#RzB99?hPI7j&(u&S^$ zI`m|vE*DgXEEK=@m>{C-c4nSl|B+*&CwDFsydx4ORRLHbpM=o<&w!FR3ewn8S`I9= zPGGEnNk)JPOG1^E z23K=6n8jGRff}#bBBe|Kt(W{3{&lG8Px+li>h{Q6VE{9bg*^nofa5_Oz$Z*1f-ig7=Vw+av=$<=W}4H2Mi8*7F0I8S?1k3ai>RcW%@{9 z<|?%vN398#2N^T99GMsxvv8b*U7DaF$ExpJsQmMHoXJf;y)`bG{+~D)lyDy`58R~F zHXMi2@k>yV>br*xBA*H-0svzIlI#~?b6$lZ;{llflQ~~-NY*w_edX0|YNvJ>36wGG z4mLDljv{^oXRFRX?2jt4&rdO!R@hMh0N(Z12arU%?t7n$m>&z}aJHZpDs;1nH7Sz(}twHJ6=iyEsxo4FQJ$Zn)focqr!6GwTin3oBDm<%D?DJ0QQO6UJ zdrsNoPj-Kn+mb_tn4KTSiKO`x_(*Tnhz;Lc7E=ps=WYOGayAEc7 zj3QGdWNgHC^COkGsb=`M`+^?7+UQ2_jR(mCvjWI=#sfO}MtS8g4KAfh#?a1@Dh8#b z%D7v$VSeh7jzCt%J>_j4xnc5FP^1K>SHrD#%|Zw5+^4#~ZlXL~inOPz+^I$%>hw z;3_(%eaT6V(#M}|{zM)43&mwCFwCOy9EL|A!j^jCuwb}S{cBygS@S5f_6nEVbNuft zygMcDW;RKW&?%VovzB|8DRr|Cq!T#W|P+k2nc0qIHRAnGAt~*DbV=65avYThIC$Efn z=Wc65(cIK2YX2oIKQ4!=Yw=q&?qMw0_2J&vAVY%gp_@>a%{r;a-9#_xoXfiklg>N< z3&j$wSB^FHn&o9_aM>dVhR(~*JkZ8Vg2ZGoQzot4iB(b3WU(}v&cBjSGe*_@XkbEWu#cuze$PzMjJE5{2RZM4=PxGk=vlgLsO#v3!bWx_e@0mJce4l_ zm2*%i*#gQiSJZoL7fR;Iklqn;t<^yuf5;E8zGL~?i5L(9IKe=U_yrgs?Fa{7_f=R9 z$)LJ`JRCoBo~K@DL0qy7BA9HCrFTR3t=oX#Uw*_yob?`5`ioq8nCt(IcH?WiO9>jr zmzp+B40?r@poayk6$SQ$a7!1oG5Ms9^LW6K?UnzmBOOpeio$`!hM(u< zxnvZTZz}MbfYWA7!Ra8DSQNzpZq;1*P#aA4+XBQ&m(s>V{}?tIN<}%-t{QCG+vdMY zz;;t6RrBq?xkyj&r-ffMxL7cVS~{TqTp!&BgUF%JTq}4V%Tnb&RPxLjrc1ID0 zv{gKj8s@wQAA~wST;J>TSstC&-m@D3$ER)_SeLG<8_|U0Simay)Bn%sLPhO+`r~uf zm%V5R;CfjDwa07jxh($Vf=R^LQm*=A2Jbha0DFiXvbc9jz%YwCic)5aRvrWcUtf8J zu|NJMEGJ;lASLV(%vjU1*T&GzX#!=wYc_h?`qaxEMVOgi8ekA5k6q`cGxM&hHu; zU=_7saBQhc<`FXxO0Tva18-_0WeLhbyMVD9`v`FZj~=BhjUVi>5b6S_pM|2GO&vPe2j{&q_Vcy$7L2j{ zoy#Cf((=mq1-sMJ{@6c1-ix=n!~WL>TDkpQPlC9)h}W|_>9-t{aT{|VT}I%`ROw${ ze|MUaQD|bAr_b;2Z1dR75UM*qwFcNaO)D@r)k{@B>SX4tzw2WC@BWr?hasB4m5Esa zsnRL}`y5hDTd5TevE1*=J=^=vIqkybEuIM*jClxo)K-|r#OG+m^_Q{Hsh11Eor=I~ z;K0tY4_OABL0F{+USAdAu_Zenp<$Kt$-7<qp<$3H3pu#f0sTRuG~(gBZBBLZ*CHi6K0FF3ocY$9}X!v%@f7a{N@L^qc|d#MWEC;yZP(qF2ET!xgw zAYy47`vm8`__a+!5Uk;2ocGstA#+%7nFdx6cz9|4zT^pOXAt3{8$IEo1?%_ULjS!p z&Y$ZR;?zB-K(v1bFL{E=seHZ!w{QGylYas65BRmcQV2QsW*X-BtF+rmqJ6!TX8kLO)_uUg}*KI*TI8N4tr?;@H(-~r%h5nf*~rM??|7yeHVbA@BQ7`WpmrIxYa)%5(&$MHCfrh5@b zvI%`6q0a9~j;+Lw4j;yB%+lp7`Q}(s^uO9*lya3;K<&PV^({U!X#5!>vQ3He6SmpB4w>QklUIGW{o3-{(Qq2PAOVeoJ zM=x>&C%@Kb$@xH`m+3K1F_?{|62nr?zI{Mz^v@^9{4SUJb*><`9Ad1e{r3Q$q|X?2v^sW8V!7c{Fq3I1;pVBfG-h$kk0Vq|394ZPySPmvl+}Yv6!GCPp*My|+(b}a9jFB#k|*x5 zCnI}WCzFZAa-=Q6zvGENcRHm%3(&E!G_KxIlKKqR`vS_5A?xtl8<;t`>TFaq5kTNg zaC9tsK20y166XhO!1$&u*mEuE35aUk-Od|uqD@o|@{eIZM-RU?gVvuBh~~a|3X#(5 zACVJ*R>_STiGWR4#DPG<3ZR6Q2!ywxC^AuuFe>08Np}{x<*Q?(-b!UhIEi3>2{$E) zL*a>(%oZ|B1xN1Q2AheG4)Z<}E4KLhB+qr7MF(`3Y((_Isr6s1(nC6LLYZAq@l50u zH%KxSXk5q1H=dHSE8gD5o{lKBt7_cbk-q!)wj`V5<=u9k)rBLp#S6%MkiH(b_Aev` z1spf3l2{!N@9Gg^5-gRxNxAJ6@`E#+;5m-zxf;npI2=1!vha(7&n%MYp>*@lwf~H( zQT4yMJ`xaBt988$ft$)t7O+W+5@sQT`soIoTo4-kg$AJGnt}>)H8?8uRyr6iI3SxY zF!IF%)xqI-VBe`Bb_A7>oFup>Tb%160$7eLq`oZfEBN14$hPi~b ztVZeYbVr1GqA9cM$qBOpB=M;c47`yCq6v|}-_mG%XL;oeR@u~UX4k5(ULTwwN zex@%?!@mOJp$8P=RCp3NnvX7$OF5t{{aJvNrR1K!@~oTeRIFQv<-|M%{%H3wn%M6^ z*kVFA9v-81gne{nM04hRB(cq7PzcuJZGqko_uRod{QP%=-xYR&=C$e8Gju~hROZVg zG5PNQIX-hf7M-7_)AQhNb?VJQgI;SyIETLwmp3|^Xb=!u$V1vR?Nmu5gl5mfUFwp=q^uxBul=$I0ldTpJ&*IzO2_L{9x$=E^B;9(Hy*OAX0xM|d^?WFV-DHoE}z(5;+*(q zMr0@;$b6vZl;*bfk7T2f!)!0L61-CbLc}9^!sMvzrF}xyLWtqfgcAyc)@50aw;%qp z_57J#Ah_SdtjJ4OOEaD z(yVUYuo|SnXIyFN*!{zcuhO^II*h8xYvjryW=CZO~uFmhO={%Atp= z1(&xvYS9H$7%w^WikQTDAy;q}W$)kMN?FGCpdiYk_rf$ALF~hCnOXjI{oXrK^E1>n zu=#6oJ9;QzI%Y?Ic&qQ^&aNxNYj+C{-}2g;?rg}63+rHa*Nf)Zz;kwIa0JheA0@mU zc(S=3eBpO>K47MFE@Qu%S3~p)ISr;%+rCWAYR+eC^@s8;NhsqQ4P5U+H_@14|I&yw zXYDutDBJb5>i+#P+nur6?HgIbmq9k{BIDd_PO=?JXIVsH1{%6ikCObGaUQnI^h-7u%0 zZ-Q`yBCRBmSw4&TS7R93WI!0X$KPmKr-tm9je?rjz$Ns3hT0-21o^$cWFxU-jq%F6 zIK_)%K)JOI&Mw0Vf}mlR2KZG)2SKiNSy{w7zjcAgyAYMzhFIz9Vr7rzB~gJvRU%Kq zGYLDn>41r@b40@PmggTog+C1V39y>6g`S@M6NHVaOTCxMzUS)rbFh|FX>yQiwCc3< zx2#H?)FhL(Zmp8q+jK2gGraLEU`k?Vn)P|;g6s*FD(ajU9ohBnDo3OnN0h#AN?5aF ztvAm<=u%dQx^^co+*{2h*|b^q?imRWv_$zaBl&=-EQKHT{utJjca4e?b-Hw#eI|eG zr_uZh{KbZ936x-*Pe@}v^d4%8{x2+me(tu7ge275K3}^M=SY{W z^yuZ89EK=-Tzapp`Dnk0u6yoJrrT(?V{$)ERHtkPF$U;ca?>n#xt=2vGM2xH65RTl z1YV8)GHc%o#EmsVvF(qAZJ&hst<-OcazPB~lS6h;n4;fb)4iSHBzl6Z>N2_A<_ehO zI5@mbfUm4E)2W>MK16&U&a6dBVc=We$ZIsbt$ClG;Pc|bMT~7DDVeye_02G*`R^6Y zxrexhPY-h&d3u?Ehmgd5ko0R|9D|%$spS1Ao>oyz*`E7!y4_cFbAnHjmW>U+rJorsy{V$7A?5Vx{WIVVwQY@iCzUvFL0xF^1oxIaUoIh%ZX@iH@7>pSiei&Y z1orHY5gcdytE*Q$4#e^Adty_&Hru~%N+#YP<67pl)s|r7Nsu+d)+>^v{rJB4S+69K zYHLR_CS5X8$!U_7urc;;hrU|&83l#(Fa1RJBHY_q9m#6%aBDoba>HlJPqwvco?d&~2N1aH7 z*jmmda#2irg2(RY@4MqHJofV}hhxVpwbZb8vbpOM*X2k=Q$HSf{d8ed)#lbk4}0cO z5PbY_+Rxe_KDf3-`3(0<`Teds!9j#X{9D|*vcS93(N!70qT+v~)kpc*+K_%erfKjJ z&{Zw(*r>b%d-*ncqjlFhnO@@fTm(XlR(E8>h8KeDc5NNyB^I#hv~j zIjSqppyc@_5`bo1mU0RrPxjhbGTw$TX{UK@l1&T?CxhUf`8q@Ip>1V+TqMp_Cz9Ck zZz|yL{;_zeI&E}k+00yuKn-8HmTYHx*JHG!>{mwh;04dhki=MP8(DL#z%NE^`R%?B z)6u-kg88%VfiB5?F5w#IEOU4gA|*P@E}Eh;{?TT$SWC4sFu><$<@yh%*-7b?0RnK> zG&s!7cfGp)2{pOOxe>mEE44CWc4KpvIZmuz^&gv>8l(V7!2esGFa506|6@o`7z3{i(>$@mwVW`xCZchm0} zoJ+DG*WY0ZBg{+MES=BtZekE(skQ$~N=oXMmtc4QLH&!h)yR$|s}v`j^s)_kDbg(&XG|weMxu!Zh7*Q zqsiShEX&Qrl|7A18pf*)n?gpDOw$nKZsUt8qxs-Xy=8U%#tI4BW2peT^y;Q0MPBnX zaWvym=h>C(T}8}We~+2pZXcGo(Q_#Of}}OZ!@lO}H4e!tNrmlK<@ogq{LpKBJ0ptp zbhLq&J5R@2FG)KeEu~iq=@fYAY#)~Ezjt!KN>Xm{8qC6f1-!>z*J~;yHK;QIh3ajO zg_Exi)Bu%ma5P>Z-bmhOVelAKUblc$W-L&&ULX4ep%$|PBd&&xuX-#}cG`Id6^>`4 z^~e#Id-R%C{PCkz8VhH749lH2R~UT@ql7*k)k!R#)LiQ1}c!C$Dw zE1e}AckY@pgQ!LSD=DMKd|_p`??b4zkOynWD;{%>6Hy_AD`yLD`2E0MgBTEcE=PdenHXCjVIGLne5EPQ@N$f&jIJ)RoKeT@V;f$`CrH-COzDY0V4Of zlLTN?%K_VBBCv9I$bz}bQ|(*1hSf{$*Vzb60OC;nG}Qutj-aK-Kz8CIgeJ)b5A>2} z#+978=g%oVgG6EY8~<3z{~92)y&h9OQ|8%ihd#nT7NJvOf!gERk5`kpk6?-?7qxdiu<@!=mBmd)72h`4iNS=UU z8@R=LD{kp!DhG}1Ky<0rCe|(=$qPcDX+rWb1w87wpv0|q#OytUUqoL6g48W57RoVnbz*OK2epYnV4U5GP?kLM^~^ zoB(9tt>067a{_nPr{CWUxm))Px+@d^zap=hR=Q_h0R%vHHx_YmI4}^xZvoPI=Ou(Q z{apZcYC$Bu{M|o~e}4yAVPRw@-njSkE)PGn7Eblwo($DNhwt-BfS9V{{%W&{j|U`c z4?gHzJC}rtKYU|S%oe;mF9@kTPJX@9cFS##k}f48z&PQrY!_f{Kf@wXLQvoCf6b5v zfuDO9)l6&wruFhhja2tDg>Z->JqLk>JRXcC0_plEh+l_fNwpN(Kj!td(zxl?cwPwF zfBdb6IVtOk2X%}@r2roh>P!fxGk2>AMC03F(8JhYorl~5APxb%_EDWi=^S+~Wm>X|Y@!yyu%w~shfTU{NwZdY*C_EQTJCfW27wAoZ%utY$QZfQBz=9_n8+>U( zJM262#(+`(Q<-(Mgk2l$Tlev?Tha+NJhaG?rBg2^fWf+3$GS>U^faOifzZ@H_*SViLUUp9eBqh)-~<`3aDwKsb;G$E0K&=;Z^qL67Yv z0XVMBDY#CYzT#1s3z*DIq&v>JaO)waQ8$#e076n)(4U#kc`ufB;f#ZTf{Xx%wg+d; zt+O-$yxB)UUxGpwNLtSt1L-g=7}+&AXZokzmwwRz{xZCnbm)dxEI(@f*OzI1^;=JH z^6_9b)(171kR)0xiYCo{v|7?Kc<0uO^cklBAhfvkD6~dd@w?_MDqz>M_ZJDw3l@3l zpGYiN22-GyTIEdodLY8fBp7n?CiL1cu0;nKkhu4X^Q_Rojv^?!Qww||(9wB1h|O%v zR#DN4VWBgSKD*h74Lg3y`3b@4dj-E1FjYSmHjavg4x2zm$Dt63Z`Wz%04^@27s0;N z%ieA6dJl^pITpY<`oYoRR%2YHAz5T-G+2mQ$8x*ZaQ9=}+uJ|cAg0v>C+<8uLYPv> zVcnBwN?8v5!}5gkPf_>~3JgFkNRw%|v#4iDn00C7)aX91eyet0Bn?LE))EK1;$*=vyLu zLMQz;D5QfNk>MmTyGSZrcwyiQ0ooK)XR3JiZ*(W%a{BcjEAdSDzB$0EXXYW3JC}uqgc=_d}-{ zX0aQ1z`9EKESe%&&*JOvDEqblAnr#v%tsD#*bC@Z!--vT<1vso_Eit@9AtfIz))&oE6HGQ_D~`K?CAeoX`h{Mqg#1sXRsi+!E1Ioh1*SF|+E@q$Gl&d+?q3e)Nu><9QQt zxa1J_;EmMBC4h)ql_fZ2`H>xMg&c)LGJSV>J4}id? zV8X}z7tWMv(72FES^sJx=hT2`vzSHW|AdVV)^vm6DJ#jfGJJOaUxCYFga6j@vACbG z|JAL2q>79?d4K*D6`cnaxLEIt9xozRRSX?PCm<%_{fbEuowa`n*kMLJTTi8_geXJ8 z^Rc4?fRE7~pX-452*QHZ)!--i0=;|jUrE>hV*UpI+mL^;-a&=sG|T8@BO(TxPZ)MO$4Qh!1pd5tD&3#0v*j{0Ry8-djpXoglktL z;KzG+PN3z#%|EHQ(W^cv0}c&&kB22>Xb?!<)7!Na2=xzec12OMN|_FoJ*F}A5x)AG z(SLK%=^)18xb*X<(|_+Z3_TIK)=i(%koEaZTGs6o==TVs;78OKOGsMI(dG=j1}F#O z1SO5VnKPYSBiVp4rc`e1?*`APjj<7^wY|v-xim-VMUBnrf zqvh|iG7y_sjboShKmjc5ebR~3CPgeI);6!lq2I`qaIl z3Df`_{YZdtOnl*NV$%ci>1go=d?Y>p)W6n)P(YKE)jed7-YU>ZZlRBW`h@30kH)|? znJfM`=nAu{Bn;mWxYG+jBS1s`bFPit37D6;C7gP&w`IP!6~!#hv6^|bGs_7KqP^{# zT|l#Ww}@T3@@RXSreh%$a#9+5`Qh=_4$Fde!&%%n{b^Yd_~MU(fMN120fEtbEM>WX za~wqsS-p#32QrThLiYyJJXV3fO4HwQDCWJ(kl33-&V`NghU^vPx;N?At$oRk)B^uB z_M|I6{%>4a`jw>NF%^3@>4DBg8~(5xU9aaXQ^B+J-odnk4+|(yzyXoY<=V(!Ub=&U z2%Y*n=Wj-3R;q8vtYD8+zwZRwa!Q#9K;%x0{X2tw=7FMA7{vZs3*KOoV(hFB5v6@r zra|4@(xbdrr2FZi-IIYxDsZc6J^Jh_{@dO>8d<4m+<(@}=rYOQGiCBBLGsAo^b$L# zx~}yD@1ND9U=R|r_gi2IbC@YTgX+mVXZt9K=G6Iz;Gkb8Etr2~Co9qM$w;EYQ+yV% zuEol8r|cZlx$T*X?X^um=at$&@hqA;ozsFJ;4%3(vu)kc_&?> z`4ekad7w-zw?!5v36vi7Oe@@%TQ}So?};jRVd?!T0X(_PS6Yx`7bX=SYrE!X&u)BW zcbTq^E#PkH{|A++K|mS4LEthVX)6cK5u{|2ch~m6fDnPZ#Gg7UMjRS8SPCU(r&&+K zMt2v}>2qrv(OpG9QH-pew3Y}Rld)g?E3cIGznZM2Bo4v^aE@MMttw8vo+ED!}FFp*R2; z0S?<&)^^JP)Y)-U1VrN^@_GmSz=x?sSR0N@6u&$jEu8@cSB~ZC881M=UjHJsu(T!$ zFADoj%;&4$GQlzUcp+3~223MG*42e4EgAlbr$rUW~m{eOBmdavJ8rXT4%PHfp)D1jOU>Pm|0BH>pz&voc=#$psh28uiU@EMH zoL-B=XAcV^>PoqA05FkHo5i)>IeFguTHmj3TE3Zf!%g2~4VoRm{6W8L7P@uT3_|7T{t%?JFLBN&_A9^GpIQ;G=X z_E;R2d}H+&JX2Bh@4=R26;o_2&|(d85CI-vd-rsOIZP{$|Es<04r)5v!bu1kAe4ZF zA|e8!h#;L%%>qHt&_tvz1aSqWh!qIYO!0MbLEG|RLJm&OCE|6YFlOK5l&n2k0tmN`UzGLwAXkgsiS947?8<6JPs&i^cTng~Nu5Gb_1g&F3>!NYTgrRj}XRx2}AHY;R zWXkP=0M?h-t&=XUk?sgH8r3UEorijWPcP;MLw0kdpbgf`k?Uj-O-w_;kPWdy?A^YY#9i5N@+6Q5qjkaBpGSRPqM(+Q&7PHdr1hCLkRrYVvr7sC^tR)ROOI} z8r))#57woCF+<`w5)#Lei?L9;F%}B%`2wDLah{O4>bm^Mr{-$D*VC#5>@7e+#nIUa zzV<|bQ)lCjA^4oNpH_WY00B-92bxuD6R(MEiG&?F3uYHGo4AAbtO?FmvYudECGeyz zk9D=F@OcLNjJF;E_upUuR)tztQ{axnRs?D+ba}+S&l_8&B(M~@TcH2_ZUIe5Upla^ z5qqHUJEDIY?<&|l{`u?YDNr`}Lui+4pB}sg&Yo=~o=EppEjM$_qYa3>96~JoE&Rph*tt zIYKkCPvIHfrV19lYVXz>y~)pu zm@)%=J=$n{7gQRZ+puJVHCi={JEtfHKEc8MCs;*cIG|bcj07L72uPQ2a;=nHF5BWT znszV7I7}{#j?tXkc*Ztmmc!goFO=dyy?tq%E0Do+;Uo^QX6z}4v4v}d{I`48srUQk z{a&SbV~Uz$d8=LznTaFJ+s9Bz?K@f`G1FICnEf|Uym~bCi-`1dap@k+&Un+~kw6^_ ztM0glvjk(HDenxx6Q&heOiG6E$FCGlR66>`ZIsyw!K05; z$3v@m{#_y4F-knS6PEuJg^^EVFA-U#1}NUr=IMTOTA&*D=HP8n${ub8f8FM#Id7Iw z!f^D`(o)+dR@tdpSsIr?JLm!Ys+ofIRq56vx^cX#q!&_b9R7ST#It6mRd(1c#J%;Z zWz0~3t?QY9dvmLe&6!w!9>aViGwADH$-g{GnjTsw+4p(BVyY-HVJ0IX_G& zWc&fITzN6WGX}>fkL;N;n7Fn)w|{qs=WhE!a~-V|fMN?u1>v;_OZu&cQNsF&-GUhfZSR^m^7p1jRwXqf%c`Y*b zzH^SbHyCcLNJmba=-6Drf&Ft>x&=!yC^vUI#FyYk>gzC1E<5Kd`n)~HG`RhTeKCO?#Kh@PK zg|A}}uF|`y845Qt^_YEDQCRO2Dd{eJWe8zRZ_C(WzRE9FIwGZ!s$?}uey{sMb+*lk zYS+nhqoNLm#4)G=FghD-q2OyY^vl}3amJ7`t;bKnHyopCsK=k!Y)GfUH_w6>>+Cr!8$uO2gXfWAgEWqoRMQFhXGqH0?PwYWsU z;>c`c|HG4WjIrj5m?e3vd#qMc!Tbj8v-Jl?axCTU{jR|(cU>Ddg0 zVeeDDkF&Vn$_d+xsibbZPM%^|>N!EephE{i=kl0s1Qy=;^uWMGDXUGLrMDM7-yykd zP$sKE@Q=VG1)85qRJ|alOmC`u9_Ln3AC3uEr|e!5ORO?98|!@h=Ay;bYuS?mWfWR= z1S|K4=+s&4)zP0ay(k<*@HnZZM96g>i6XZuhV;_8i=O1R6ucNw{o?6pf$rItk+BJb z;~%zfudeiKh1pHtgQiPPruXz$d>6yq7kb)`iv`pHk*yd!xnK4itS-Bxv47o42z zTQ&5Q2+|%~t(&Z{8en?)c_8CfFu`6DXXUkEikh{P?w_CWrSl~@u6{8>>Q4y}A4o2L zI?7%39+Zm84T}g6nGROser9kCczlV$8_U;4o^-!u%YAMO(8Y6AWrNhD9Upyg8M-;) zD&z0+;wWF}UH{)gjh*$Y<8zM7KWoJ8d)GB}QGWsdQRbdC;|G=EmAuOI3*|(Ao>ts~ zY-zV<&@S52-rQ(v>>HKGhK3#paqA|@tX94833US3Q6(|`w7J4{ewuhSB~`lGP&g15 zzYDcCTT$;H>>!x${d+Nq-mvMD%8uqHjnJW%>@0DuZ%I5Z7QC>XD}N7&Y^)V%ggeD% zsZ(11yKzs?rWh_pD_)T=zU)?VKC8B*-HLso1fBoAT-XAE_NfAOBPUzxrjIL~I9a#4 zlW0th=IN-|$(bF$OynO6dNeq`T4I&?{g18BCgwzP(}14-ThGIV$YE6Cq-F%4>N7@w zu*%(634t@FqXu_;hhDR6wo(sgI;@8!)Mu%T26x)}CkF<#C{L)bXz%}gnXu{(#TV8{ z0d^%eut)26JC};H#w2jASgV1fZeoJahs=z8GfM?=1jc;l=F4VE0mPx7>O{l)*$;X_ zQV@Ne{g73Eln}xXv8T&!r?HrL9NyGvVJGGT0%zq5K_Lagz}D;*05AKbyxPxigD*;H zBvXlK7g*S5YqhWRTVLn2>Nwv(*2SNPhk#B2z^vf^|Cs;Ipur6&t&&|0uN}nmT_1@j zYPicaXmo-IoID2e`3-cU2?{JoGy6g=?b3(uFi7O_edzm<7fAsPirif=ErsqHGHOWJ z@#iZOnO)gfBzOHye+BQJh&;);al0?f-oO8;pbPV8QRDdZ+u0-pobdV;7rpi)(c*ru T-~OI56#Usx>?{k-X_x*58AUiS literal 60187 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 <2aRNU{jVZZY0hyUvJv4^|?NgwPAogoI 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 diff --git a/docs/static/img/examples/example_traversed_graph_BFS.png b/docs/static/img/examples/example_traversed_graph_BFS.png index e38967289e4d256abaed9be2072135820efd3905..75c56099e0bf8c165bfd204beaa2061c06a1ccdb 100644 GIT binary patch literal 98355 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 Bhn)Zb literal 59640 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