From 3f97f9d8ac20bef90f05397dcf4971bc94d8edfb Mon Sep 17 00:00:00 2001 From: Loic Guegan <16000511@e105m10.istic.univ-rennes1.fr> Date: Tue, 29 Mar 2016 10:42:20 +0200 Subject: [PATCH 01/12] Test --- main/Main.java | 2 +- structure/{Graph.java => MyGraph.java} | 0 structure/Router.java | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) rename structure/{Graph.java => MyGraph.java} (100%) diff --git a/main/Main.java b/main/Main.java index c1f2693..f8941e6 100644 --- a/main/Main.java +++ b/main/Main.java @@ -19,7 +19,7 @@ import structure.Router; public class Main { public static void main(String[] args) { - Grid g=new Grid(Grid.Protocol.CUSTOM); + Grid g=new Grid(Grid.Protocol.DSDV); MyGraph gr=new MyGraph("Routage Oportuniste", g); diff --git a/structure/Graph.java b/structure/MyGraph.java similarity index 100% rename from structure/Graph.java rename to structure/MyGraph.java diff --git a/structure/Router.java b/structure/Router.java index fce5977..3a8d8f9 100644 --- a/structure/Router.java +++ b/structure/Router.java @@ -22,7 +22,6 @@ public class Router { public void buildLink(Router router, int weight){ this.links.remove(router); router.removeLink(this); - this.links.put(router, weight); router.addLink(this, weight); From fa261c3042b3fce1cc88cea3b67381bae9f7c747 Mon Sep 17 00:00:00 2001 From: Loic Guegan <16000511@e105m10.istic.univ-rennes1.fr> Date: Tue, 29 Mar 2016 10:46:36 +0200 Subject: [PATCH 02/12] Test --- main/Main.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/main/Main.java b/main/Main.java index 0e6b0de..b843336 100644 --- a/main/Main.java +++ b/main/Main.java @@ -19,11 +19,9 @@ import structure.Router; public class Main { public static void main(String[] args) { -<<<<<<< HEAD + Grid g=new Grid(Grid.Protocol.DSDV); -======= - Grid g=new Grid(Grid.Protocol.AODV); ->>>>>>> bd27005eadf8c9526bf0167ea19a2d949bcca1f9 + // Build Graph for graphstream MyGraph gr=new MyGraph("Routage Oportuniste", g); From 04c6618a68d48f8c095bcf692110de3085e98040 Mon Sep 17 00:00:00 2001 From: Loic Guegan <16000511@e105m10.istic.univ-rennes1.fr> Date: Tue, 29 Mar 2016 11:37:18 +0200 Subject: [PATCH 03/12] Test --- main/Main.java | 7 ++++--- structure/Grid.java | 37 +++++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/main/Main.java b/main/Main.java index b843336..0fea318 100644 --- a/main/Main.java +++ b/main/Main.java @@ -20,13 +20,14 @@ public class Main { public static void main(String[] args) { - Grid g=new Grid(Grid.Protocol.DSDV); + Grid g=new Grid(Grid.Protocol.AODV); // Build Graph for graphstream MyGraph gr=new MyGraph("Routage Oportuniste", g); gr.display(); - + gr.update(); + /* // Update Graph while(true){ @@ -39,7 +40,7 @@ public class Main { g.buildEdgeWithRandomWeigth(); System.out.println("Update !"); gr.update(); - } + }*/ } } diff --git a/structure/Grid.java b/structure/Grid.java index e5db1ef..00c3b52 100644 --- a/structure/Grid.java +++ b/structure/Grid.java @@ -12,6 +12,7 @@ public class Grid { private ArrayList routers=new ArrayList<>(); private ArrayList> links=new ArrayList<>(); + private int[] pMoy={50,59,92,50,4,8,6,13,7,1,51,6}; private int bestLink; private Protocol protocol; @@ -33,10 +34,9 @@ public class Grid { this.routers.add(new Router()); } - + this.buildEdgeWithRandomWeigth(); - this.buildPath(); this.protocol=protocol; @@ -87,29 +87,34 @@ public class Grid { public void buildEdgeWithRandomWeigth(){ + //Build fixed link + this.buildPath(); + + + // First line - this.buildLinkWithRandomWeight(routers.get(0), routers.get(1)); - this.buildLinkWithRandomWeight(routers.get(1), routers.get(2)); + this.buildLinkWithRandomWeight(routers.get(0), routers.get(1), 1); + this.buildLinkWithRandomWeight(routers.get(1), routers.get(2),1); // Second line - this.buildLinkWithRandomWeight(routers.get(3), routers.get(4)); - this.buildLinkWithRandomWeight(routers.get(4), routers.get(5)); + this.buildLinkWithRandomWeight(routers.get(3), routers.get(4),69); + this.buildLinkWithRandomWeight(routers.get(4), routers.get(5),20); // Third line - this.buildLinkWithRandomWeight(routers.get(6), routers.get(7)); - this.buildLinkWithRandomWeight(routers.get(7), routers.get(8)); + this.buildLinkWithRandomWeight(routers.get(6), routers.get(7),23); + this.buildLinkWithRandomWeight(routers.get(7), routers.get(8),54); // First column - this.buildLinkWithRandomWeight(routers.get(0), routers.get(3)); - this.buildLinkWithRandomWeight(routers.get(3), routers.get(6)); + this.buildLinkWithRandomWeight(routers.get(0), routers.get(3),14); + this.buildLinkWithRandomWeight(routers.get(3), routers.get(6),11); // Second column - this.buildLinkWithRandomWeight(routers.get(1), routers.get(4)); - this.buildLinkWithRandomWeight(routers.get(4), routers.get(7)); + this.buildLinkWithRandomWeight(routers.get(1), routers.get(4),33); + this.buildLinkWithRandomWeight(routers.get(4), routers.get(7),22); // Third column - this.buildLinkWithRandomWeight(routers.get(2), routers.get(5)); - this.buildLinkWithRandomWeight(routers.get(5), routers.get(8)); + this.buildLinkWithRandomWeight(routers.get(2), routers.get(5),11); + this.buildLinkWithRandomWeight(routers.get(5), routers.get(8),47); } @@ -172,8 +177,8 @@ public class Grid { } - private void buildLinkWithRandomWeight(Router router1, Router router2){ - router1.buildLink(router2, rand.nextInt(this.maxWeight)); + private void buildLinkWithRandomWeight(Router router1, Router router2, int pMoy){ + router1.buildLink(router2, rand.nextInt(pMoy)); } From 996c9fc3464cbec9ee8ac7e0d4a5b27879a70ece Mon Sep 17 00:00:00 2001 From: Loic Guegan <16000511@e105m10.istic.univ-rennes1.fr> Date: Tue, 29 Mar 2016 11:42:05 +0200 Subject: [PATCH 04/12] Test --- main/Main.java | 8 ++++---- structure/Grid.java | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/main/Main.java b/main/Main.java index 0fea318..c9bdd24 100644 --- a/main/Main.java +++ b/main/Main.java @@ -20,14 +20,14 @@ public class Main { public static void main(String[] args) { - Grid g=new Grid(Grid.Protocol.AODV); + Grid g=new Grid(Grid.Protocol.DSDV); // Build Graph for graphstream MyGraph gr=new MyGraph("Routage Oportuniste", g); gr.display(); - gr.update(); - /* + //gr.update(); + // Update Graph while(true){ @@ -40,7 +40,7 @@ public class Main { g.buildEdgeWithRandomWeigth(); System.out.println("Update !"); gr.update(); - }*/ + } } } diff --git a/structure/Grid.java b/structure/Grid.java index 00c3b52..73c034e 100644 --- a/structure/Grid.java +++ b/structure/Grid.java @@ -37,7 +37,8 @@ public class Grid { this.buildEdgeWithRandomWeigth(); - + //Build fixed link + this.buildPath(); this.protocol=protocol; @@ -48,7 +49,7 @@ public class Grid { case DSDV: case CUSTOM: HashMap currentBestLink=new HashMap<>(); - for(int i=0;i<100000;i++){ + for(int i=0;i<1000;i++){ int current=this.getBestLinkIndex(); if(currentBestLink.containsKey(current)){ currentBestLink.put(current, currentBestLink.get(current)+1); @@ -87,8 +88,7 @@ public class Grid { public void buildEdgeWithRandomWeigth(){ - //Build fixed link - this.buildPath(); + From 313c51b76b750cdbc8d7bc94e209e7cabf515e8d Mon Sep 17 00:00:00 2001 From: manzerbredes Date: Mon, 4 Apr 2016 12:01:54 +0200 Subject: [PATCH 05/12] test --- main/Main.java | 41 +++++++++++++++++------------ resources/Graph.png | Bin 0 -> 31584 bytes structure/Grid.java | 58 +++++++++++++++++++++++++---------------- structure/MyGraph.java | 3 ++- 4 files changed, 62 insertions(+), 40 deletions(-) create mode 100644 resources/Graph.png diff --git a/main/Main.java b/main/Main.java index c9bdd24..3023069 100644 --- a/main/Main.java +++ b/main/Main.java @@ -20,27 +20,36 @@ public class Main { public static void main(String[] args) { - Grid g=new Grid(Grid.Protocol.DSDV); + //Grid g=new Grid(Grid.Protocol.AODV); // Build Graph for graphstream - MyGraph gr=new MyGraph("Routage Oportuniste", g); - gr.display(); + //MyGraph gr=new MyGraph("Routage Oportuniste", g); + //gr.display(); //gr.update(); - - // Update Graph - while(true){ - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - g.buildEdgeWithRandomWeigth(); - System.out.println("Update !"); - gr.update(); - } + for(int j=0;j<20;j++){ + Grid g=new Grid(Grid.Protocol.AODV); + Grid g2=new Grid(Grid.Protocol.DSDV); + Grid g3=new Grid(Grid.Protocol.CUSTOM); + // Update Graph + for(int i=0;i<100;i++){ + /*try { + Thread.sleep(10000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + }*/ + g.buildEdgeWithRandomWeigth(); + g2.buildEdgeWithRandomWeigth(); + g3.buildEdgeWithRandomWeigth(); + + //System.out.println("Update !"); + //gr.update(); + } + + System.out.println("AODV :"+g.getDebitMoy() + " DSDV :"+g2.getDebitMoy()+" CUSTOM :"+g3.getDebitMoy()); + } } } diff --git a/resources/Graph.png b/resources/Graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a4adf57f8f16a909c2b645e8141f45c6526b8c2a GIT binary patch literal 31584 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 z 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 i`vGL=|I3HY8Sx9v$?#h# routers=new ArrayList<>(); - private ArrayList> links=new ArrayList<>(); + public ArrayList> links=new ArrayList<>(); private int[] pMoy={50,59,92,50,4,8,6,13,7,1,51,6}; @@ -20,7 +20,7 @@ public class Grid { private Random rand = new Random(); private final int maxWeight=100; - + int debitTotal=0,nbmesure=0; @@ -38,18 +38,20 @@ public class Grid { this.buildEdgeWithRandomWeigth(); //Build fixed link - this.buildPath(); + //this.buildPath(); this.protocol=protocol; switch(protocol){ - case AODV: + case DSDV: this.bestLink=this.getBestLinkIndex(); break; - case DSDV: case CUSTOM: + this.bestLink=this.getBestLinkIndex(); + break; + case AODV: HashMap currentBestLink=new HashMap<>(); - for(int i=0;i<1000;i++){ + for(int i=0;i<100;i++){ int current=this.getBestLinkIndex(); if(currentBestLink.containsKey(current)){ currentBestLink.put(current, currentBestLink.get(current)+1); @@ -73,11 +75,11 @@ public class Grid { maxId=entryId; } - System.out.println("Id : "+ entryId + " max "+ entry); + //System.out.println("Id : "+ entryId + " max "+ entry); } this.bestLink=maxId; - System.out.println("Retenu :"+maxId); + // System.out.println("Retenu :"+maxId); break; @@ -89,32 +91,38 @@ public class Grid { public void buildEdgeWithRandomWeigth(){ - + // First line - this.buildLinkWithRandomWeight(routers.get(0), routers.get(1), 1); - this.buildLinkWithRandomWeight(routers.get(1), routers.get(2),1); + this.buildLinkWithRandomWeight(routers.get(0), routers.get(1), 100); + this.buildLinkWithRandomWeight(routers.get(1), routers.get(2),100); // Second line - this.buildLinkWithRandomWeight(routers.get(3), routers.get(4),69); - this.buildLinkWithRandomWeight(routers.get(4), routers.get(5),20); + this.buildLinkWithRandomWeight(routers.get(3), routers.get(4),100); + this.buildLinkWithRandomWeight(routers.get(4), routers.get(5),50); // Third line - this.buildLinkWithRandomWeight(routers.get(6), routers.get(7),23); - this.buildLinkWithRandomWeight(routers.get(7), routers.get(8),54); + this.buildLinkWithRandomWeight(routers.get(6), routers.get(7),100); + this.buildLinkWithRandomWeight(routers.get(7), routers.get(8),60); // First column - this.buildLinkWithRandomWeight(routers.get(0), routers.get(3),14); - this.buildLinkWithRandomWeight(routers.get(3), routers.get(6),11); + this.buildLinkWithRandomWeight(routers.get(0), routers.get(3),80); + this.buildLinkWithRandomWeight(routers.get(3), routers.get(6),100); // Second column - this.buildLinkWithRandomWeight(routers.get(1), routers.get(4),33); - this.buildLinkWithRandomWeight(routers.get(4), routers.get(7),22); + this.buildLinkWithRandomWeight(routers.get(1), routers.get(4),100); + this.buildLinkWithRandomWeight(routers.get(4), routers.get(7),10); // Third column - this.buildLinkWithRandomWeight(routers.get(2), routers.get(5),11); - this.buildLinkWithRandomWeight(routers.get(5), routers.get(8),47); + this.buildLinkWithRandomWeight(routers.get(2), routers.get(5),100); + this.buildLinkWithRandomWeight(routers.get(5), routers.get(8),100); + + this.buildPath(); + + //System.out.println(this.links.get(this.getBestLinkByProtocol())); + this.debitTotal+=this.getMaxBottleneck(this.links.get(this.getBestLinkByProtocol())); + this.nbmesure++; } @@ -199,7 +207,7 @@ public class Grid { } - private int getMaxBottleneck(ArrayList link){ + public int getMaxBottleneck(ArrayList link){ int max=this.getWeigthOfLink(link.get(0), link.get(1)); for(int j=1;j Date: Thu, 7 Apr 2016 20:22:05 +0200 Subject: [PATCH 06/12] Test --- main/Main.java | 44 ++++++++++++++++++++++++++++++++++++------ structure/MyGraph.java | 1 + 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/main/Main.java b/main/Main.java index 3023069..6f5a1c5 100644 --- a/main/Main.java +++ b/main/Main.java @@ -1,5 +1,6 @@ package main; +import java.awt.Label; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; @@ -28,28 +29,59 @@ public class Main { //gr.display(); //gr.update(); - for(int j=0;j<20;j++){ + for(int j=0;j<1;j++){ Grid g=new Grid(Grid.Protocol.AODV); Grid g2=new Grid(Grid.Protocol.DSDV); Grid g3=new Grid(Grid.Protocol.CUSTOM); + MyGraph gD=new MyGraph("AODV", g); + MyGraph g2D=new MyGraph("DSDV", g2); + MyGraph g3D=new MyGraph("CUSTOM", g3); + + gD.display(); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + g2D.display(); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + g3D.display(); + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + // Update Graph - for(int i=0;i<100;i++){ - /*try { - Thread.sleep(10000); + for(int i=0;i<20;i++){ + try { + Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); - }*/ + } g.buildEdgeWithRandomWeigth(); g2.buildEdgeWithRandomWeigth(); g3.buildEdgeWithRandomWeigth(); + + gD.update(); + g2D.update(); + g3D.update(); //System.out.println("Update !"); //gr.update(); + System.out.println("AODV :"+g.getDebitMoy() + " DSDV :"+g2.getDebitMoy()+" CUSTOM :"+g3.getDebitMoy()); + } - System.out.println("AODV :"+g.getDebitMoy() + " DSDV :"+g2.getDebitMoy()+" CUSTOM :"+g3.getDebitMoy()); } } } diff --git a/structure/MyGraph.java b/structure/MyGraph.java index be9e504..77a1f77 100644 --- a/structure/MyGraph.java +++ b/structure/MyGraph.java @@ -23,6 +23,7 @@ public class MyGraph extends SingleGraph{ super(title); // Allow CSS on view System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer"); + // Set graph CSS this.addAttribute("ui.stylesheet", "url('resources/style.css')"); From ac90cc95816e599902e5505f47198cfb79d48a64 Mon Sep 17 00:00:00 2001 From: manzerbredes Date: Thu, 7 Apr 2016 20:36:17 +0200 Subject: [PATCH 07/12] Clean code and add comment --- main/Main.java | 121 ++++++++++++++++------------------------- structure/Grid.java | 98 +++++++++++++++++++++++---------- structure/MyGraph.java | 63 +++++++++------------ 3 files changed, 141 insertions(+), 141 deletions(-) diff --git a/main/Main.java b/main/Main.java index 6f5a1c5..b2d9243 100644 --- a/main/Main.java +++ b/main/Main.java @@ -1,87 +1,60 @@ package main; -import java.awt.Label; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Set; - -import org.graphstream.graph.Edge; -import org.graphstream.graph.Graph; -import org.graphstream.graph.implementations.SingleGraph; -import org.graphstream.ui.layout.springbox.EdgeSpring; -import org.graphstream.ui.swingViewer.basicRenderer.EdgeRenderer; -import org.graphstream.ui.util.EdgePoints; - -import structure.Grid; -import structure.MyGraph; -import structure.Router; +import structure.*; +/** + * Main class + * @author loic, adama, othmane, saad + * + */ public class Main { + /** + * Main + * @param args + */ public static void main(String[] args) { - //Grid g=new Grid(Grid.Protocol.AODV); + Grid g=new Grid(Grid.Protocol.AODV); // Graph for AODV + Grid g2=new Grid(Grid.Protocol.DSDV); // Graph for DSDV + Grid g3=new Grid(Grid.Protocol.CUSTOM); // Graph for custom - - // Build Graph for graphstream - //MyGraph gr=new MyGraph("Routage Oportuniste", g); - //gr.display(); - //gr.update(); + MyGraph gD=new MyGraph("AODV", g); // GUI for g + MyGraph g2D=new MyGraph("DSDV", g2); // GUI for g2 + MyGraph g3D=new MyGraph("CUSTOM", g3); // GUI for g3 + + // Display all graph + gD.display(); + g2D.display(); + g3D.display(); - for(int j=0;j<1;j++){ - Grid g=new Grid(Grid.Protocol.AODV); - Grid g2=new Grid(Grid.Protocol.DSDV); - Grid g3=new Grid(Grid.Protocol.CUSTOM); - - MyGraph gD=new MyGraph("AODV", g); - MyGraph g2D=new MyGraph("DSDV", g2); - MyGraph g3D=new MyGraph("CUSTOM", g3); - - gD.display(); - try { - Thread.sleep(2000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - g2D.display(); - try { - Thread.sleep(2000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - g3D.display(); - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - // Update Graph - for(int i=0;i<20;i++){ - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - g.buildEdgeWithRandomWeigth(); - g2.buildEdgeWithRandomWeigth(); - g3.buildEdgeWithRandomWeigth(); - - - gD.update(); - g2D.update(); - g3D.update(); - //System.out.println("Update !"); - //gr.update(); - System.out.println("AODV :"+g.getDebitMoy() + " DSDV :"+g2.getDebitMoy()+" CUSTOM :"+g3.getDebitMoy()); - - } + // Update Graph + for(int i=0;i<20;i++){ + + // Sleep + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + // Change radio conditions + g.buildEdgeWithRandomWeigth(); + g2.buildEdgeWithRandomWeigth(); + g3.buildEdgeWithRandomWeigth(); + + // Update graph on GUI + gD.update(); + g2D.update(); + g3D.update(); + + // Display current debMoy for each graph + System.out.println("AODV :"+g.getDebitMoy() + " DSDV :"+g2.getDebitMoy()+" CUSTOM :"+g3.getDebitMoy()); + } + } + } diff --git a/structure/Grid.java b/structure/Grid.java index 08dd305..5f6a1e0 100644 --- a/structure/Grid.java +++ b/structure/Grid.java @@ -1,26 +1,26 @@ package structure; import java.util.*; -import java.util.Map.Entry; +/** + * Grid structure + * @author loic, adama + * + */ public class Grid { + // Define protocole name public enum Protocol { AODV, DSDV, CUSTOM } private ArrayList routers=new ArrayList<>(); public ArrayList> links=new ArrayList<>(); - - private int[] pMoy={50,59,92,50,4,8,6,13,7,1,51,6}; - private int bestLink; private Protocol protocol; private int counterCUSTOM=5; - private Random rand = new Random(); - private final int maxWeight=100; - - int debitTotal=0,nbmesure=0; + private Random rand = new Random(); // Init rand + int debitTotal=0,nbmesure=0; // To compute debit moyen @@ -43,13 +43,14 @@ public class Grid { this.protocol=protocol; switch(protocol){ - case DSDV: + case AODV: this.bestLink=this.getBestLinkIndex(); break; case CUSTOM: this.bestLink=this.getBestLinkIndex(); break; - case AODV: + case DSDV: + // Change radio conditions 100 times HashMap currentBestLink=new HashMap<>(); for(int i=0;i<100;i++){ int current=this.getBestLinkIndex(); @@ -61,8 +62,8 @@ public class Grid { } this.buildEdgeWithRandomWeigth(); } + // Get Best Link Set entryTMP = currentBestLink.keySet(); - int max=currentBestLink.get(entryTMP.iterator().next()); int maxId=0; entryTMP = currentBestLink.keySet(); @@ -74,12 +75,8 @@ public class Grid { max=entry; maxId=entryId; } - - //System.out.println("Id : "+ entryId + " max "+ entry); - } this.bestLink=maxId; - // System.out.println("Retenu :"+maxId); break; @@ -88,12 +85,10 @@ public class Grid { } - + /** + * Build the 3x3 links with random weight + */ public void buildEdgeWithRandomWeigth(){ - - - - // First line this.buildLinkWithRandomWeight(routers.get(0), routers.get(1), 100); this.buildLinkWithRandomWeight(routers.get(1), routers.get(2),100); @@ -126,6 +121,9 @@ public class Grid { } + /** + * Build all paths (with chained router id) + */ private void buildPath(){ // Link1 @@ -185,12 +183,21 @@ public class Grid { } + /** + * Build link with a random weight + * @param router1 router 1 to link to router 2 + * @param router2 router 2 to link to router 1 + * @param pMoy max weight + */ private void buildLinkWithRandomWeight(Router router1, Router router2, int pMoy){ router1.buildLink(router2, rand.nextInt(pMoy)); } - + /** + * Get the best link by bottleneck + * @return + */ public int getBestLinkIndex(){ int currentBestLink=0; int currentBestLinkBottleneck=0; @@ -207,6 +214,11 @@ public class Grid { } + /** + * Get the bottleneck of the link + * @param link + * @return + */ public int getMaxBottleneck(ArrayList link){ int max=this.getWeigthOfLink(link.get(0), link.get(1)); for(int j=1;j link=this.links.get(i); @@ -232,13 +252,18 @@ public class Grid { System.out.print(this.getWeigthOfLink(link.get(j), link.get(j+1)) + " "); } System.out.println(" Goulot :"+this.getMaxBottleneck(link)); - //System.out.println(); } } - + /** + * Check if a link is part of an edge + * @param link + * @param src + * @param dest + * @return + */ public boolean isEdgeOfLink(ArrayListlink, Router src, Router dest){ for(int j=0;j getGrid() { return routers; } - + /** + * Setter for grid + * @param grid + */ public void setGrid(ArrayList grid) { this.routers = grid; } - + /** + * Getter for links + * @return + */ public ArrayList> getLinks() { return links; } - + /** + * Setter for links + * @param links + */ public void setLinks(ArrayList> links) { this.links = links; } @@ -307,7 +344,10 @@ public class Grid { } - + /** + * Getter for debitMoy + * @return + */ public int getDebitMoy(){ return this.debitTotal/this.nbmesure; } diff --git a/structure/MyGraph.java b/structure/MyGraph.java index 77a1f77..a5c6f8f 100644 --- a/structure/MyGraph.java +++ b/structure/MyGraph.java @@ -2,23 +2,27 @@ package structure; import java.util.*; -import org.graphstream.graph.Edge; -import org.graphstream.graph.Graph; -import org.graphstream.graph.Node; +import org.graphstream.graph.*; import org.graphstream.graph.implementations.SingleGraph; -import org.graphstream.ui.layout.springbox.EdgeSpring; -import org.graphstream.ui.swingViewer.basicRenderer.EdgeRenderer; -import org.graphstream.ui.util.EdgePoints; +/** + * Class for display graph with GraphStream + * @author loic, adama + * + */ public class MyGraph extends SingleGraph{ + // Grid associate to the graph private Grid grid; - - private int miss=0; - private int success=0; - + + /** + * Build a graph with a grid + * + * @param title + * @param grid + */ public MyGraph(String title, Grid grid) { super(title); // Allow CSS on view @@ -61,20 +65,13 @@ public class MyGraph extends SingleGraph{ } - + /** + * Build edges + */ public void buildEdges(){ - /*Iterator edges=this.getEdgeIterator(); - while(edges.hasNext()){ - Edge edge=edges.next(); - this.removeEdge(edge); - }*/ - for(Router r : this.grid.getGrid()){ - String current=r.name; - - HashMap relier=r.getLinks(); Set k=relier.keySet(); Iterator i=k.iterator(); @@ -87,14 +84,14 @@ public class MyGraph extends SingleGraph{ toAdd.setAttribute("ui.label", relier.get(currentRouter)); } catch(Exception e){ - // System.out.println("Bug de merde."); - } - + } } - } } + /** + * Update best link on screen + */ public void showBestLink(){ ArrayList bestLink=this.grid.getLinks().get(this.grid.getBestLinkByProtocol()); for(int i=0;i edges=this.getEdgeIterator(); @@ -144,20 +143,8 @@ public class MyGraph extends SingleGraph{ edge.setAttribute("ui.label", relier.get(currentRouter)); } } - } - + } } - - - if(this.grid.getBestLinkByProtocol()==this.grid.getBestLinkIndex()){ - this.success++; - } - else{ - this.miss++; - } - //System.out.println("Success = " + this.success + " Miss = " + this.miss + " try number :"+(this.success+this.miss)) ; - - //Build bestLink this.showBestLink(); } From fa62f87db15218fb2f1aa529a34b4711068a8290 Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Fri, 29 Jul 2016 15:01:12 +0200 Subject: [PATCH 08/12] Add screen --- resources/screen.png | Bin 0 -> 39732 bytes structure/{Graph.java => MyGraph.java} | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/screen.png rename structure/{Graph.java => MyGraph.java} (100%) diff --git a/resources/screen.png b/resources/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5541b46bad9eddafcc89ddf4ef599013fdbd04 GIT binary patch literal 39732 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 literal 0 HcmV?d00001 diff --git a/structure/Graph.java b/structure/MyGraph.java similarity index 100% rename from structure/Graph.java rename to structure/MyGraph.java From 7fcc7957814dad912d7d6fb11622a8563f3afa3f Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Fri, 29 Jul 2016 15:01:45 +0200 Subject: [PATCH 09/12] remove --- .metadata/.lock | 0 .metadata/.log | 170 ----------- .metadata/.mylyn/.taskListIndex/segments.gen | Bin 20 -> 0 bytes .metadata/.mylyn/.taskListIndex/segments_1 | Bin 32 -> 0 bytes .metadata/.mylyn/repositories.xml.zip | Bin 435 -> 0 bytes .../.root/.indexes/history.version | 1 - .../.root/.indexes/properties.index | Bin 57 -> 0 bytes .../.root/.indexes/properties.version | 1 - .../org.eclipse.core.resources/.root/2.tree | Bin 124 -> 0 bytes .../.safetable/org.eclipse.core.resources | Bin 516 -> 0 bytes .../org.eclipse.core.resources.prefs | 2 - .../org.eclipse.epp.usagedata.recording.prefs | 2 - .../.settings/org.eclipse.jdt.ui.prefs | 13 - .../.settings/org.eclipse.m2e.discovery.prefs | 2 - .../org.eclipse.mylyn.context.core.prefs | 2 - .../org.eclipse.mylyn.monitor.ui.prefs | 2 - .../.settings/org.eclipse.team.cvs.ui.prefs | 2 - .../.settings/org.eclipse.team.ui.prefs | 2 - .../.settings/org.eclipse.ui.ide.prefs | 5 - .../.settings/org.eclipse.ui.prefs | 2 - .../.settings/org.eclipse.ui.workbench.prefs | 3 - .../upload0.csv | 256 ----------------- .../usagedata.csv | 106 ------- .../org.eclipse.jdt.core/invalidArchivesCache | Bin 4 -> 0 bytes .../org.eclipse.jdt.core/nonChainingJarsCache | Bin 4 -> 0 bytes .../variablesAndContainers.dat | Bin 129 -> 0 bytes .../org.eclipse.jdt.ui/OpenTypeHistory.xml | 2 - .../QualifiedTypeNameHistory.xml | 2 - .../org.eclipse.jdt.ui/dialog_settings.xml | 10 - .../0.log | 0 .../logback.1.0.200.20111228-1245.xml | 41 --- .../org.eclipse.ui.ide/dialog_settings.xml | 11 - .../dialog_settings.xml | 3 - .../org.eclipse.ui.workbench/workbench.xml | 269 ------------------ .../org.eclipse.ui.workbench/workingsets.xml | 4 - .../toolkit_gwt.png | Bin 3892 -> 0 bytes .../toolkit_swing.png | Bin 3675 -> 0 bytes .../toolkit_swt.png | Bin 3894 -> 0 bytes .../toolkit_xwt.png | Bin 4007 -> 0 bytes .../toolkits.xml | 174 ----------- .metadata/version.ini | 1 - 41 files changed, 1088 deletions(-) delete mode 100644 .metadata/.lock delete mode 100644 .metadata/.log delete mode 100644 .metadata/.mylyn/.taskListIndex/segments.gen delete mode 100644 .metadata/.mylyn/.taskListIndex/segments_1 delete mode 100644 .metadata/.mylyn/repositories.xml.zip delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/2.tree delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.recording.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs delete mode 100644 .metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs delete mode 100644 .metadata/.plugins/org.eclipse.epp.usagedata.recording/upload0.csv delete mode 100644 .metadata/.plugins/org.eclipse.epp.usagedata.recording/usagedata.csv delete mode 100644 .metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache delete mode 100644 .metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache delete mode 100644 .metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat delete mode 100644 .metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml delete mode 100644 .metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml delete mode 100644 .metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml delete mode 100644 .metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log delete mode 100644 .metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.0.200.20111228-1245.xml delete mode 100644 .metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml delete mode 100644 .metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml delete mode 100644 .metadata/.plugins/org.eclipse.ui.workbench/workbench.xml delete mode 100644 .metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml delete mode 100644 .metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_gwt.png delete mode 100644 .metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_swing.png delete mode 100644 .metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_swt.png delete mode 100644 .metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_xwt.png delete mode 100644 .metadata/.plugins/org.eclipse.wb.discovery.core/toolkits.xml delete mode 100644 .metadata/version.ini diff --git a/.metadata/.lock b/.metadata/.lock deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.log b/.metadata/.log deleted file mode 100644 index 5fe38e1..0000000 --- a/.metadata/.log +++ /dev/null @@ -1,170 +0,0 @@ -!SESSION 2016-03-18 10:29:17.597 ----------------------------------------------- -eclipse.buildId=M20120208-0800 -java.version=1.7.0_51 -java.vendor=Oracle Corporation -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -data /private/student/1/11/16000511/routage-optimiste -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product - -!ENTRY org.eclipse.ui.workbench 4 0 2016-03-18 10:29:27.213 -!MESSAGE An unexpected exception was thrown. -!STACK 0 -java.lang.NullPointerException - at org.eclipse.ui.internal.WorkbenchWindow.putToolbarLabel(WorkbenchWindow.java:1697) - at org.eclipse.ui.internal.menus.MenuAdditionCacheEntry.createToolBarAdditionContribution(MenuAdditionCacheEntry.java:208) - at org.eclipse.ui.internal.menus.MenuAdditionCacheEntry.createContributionItems(MenuAdditionCacheEntry.java:177) - at org.eclipse.ui.internal.menus.TrimContributionManager.update(TrimContributionManager.java:224) - at org.eclipse.ui.internal.WorkbenchWindow.updateLayoutDataForContents(WorkbenchWindow.java:3874) - at org.eclipse.ui.internal.WorkbenchWindow.setCoolBarVisible(WorkbenchWindow.java:3675) - at org.eclipse.ui.internal.ViewIntroAdapterPart.setBarVisibility(ViewIntroAdapterPart.java:203) - at org.eclipse.ui.internal.ViewIntroAdapterPart.dispose(ViewIntroAdapterPart.java:106) - at org.eclipse.ui.internal.WorkbenchPartReference.doDisposePart(WorkbenchPartReference.java:737) - at org.eclipse.ui.internal.ViewReference.doDisposePart(ViewReference.java:104) - at org.eclipse.ui.internal.WorkbenchPartReference.dispose(WorkbenchPartReference.java:684) - at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1797) - at org.eclipse.ui.internal.WorkbenchPage.partRemoved(WorkbenchPage.java:1789) - at org.eclipse.ui.internal.ViewFactory.releaseView(ViewFactory.java:257) - at org.eclipse.ui.internal.Perspective.dispose(Perspective.java:292) - at org.eclipse.ui.internal.WorkbenchPage.dispose(WorkbenchPage.java:1868) - at org.eclipse.ui.internal.WorkbenchWindow.closeAllPages(WorkbenchWindow.java:894) - at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1729) - at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:730) - at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:715) - at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:867) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:865) - at org.eclipse.jface.window.WindowManager.close(WindowManager.java:109) - at org.eclipse.ui.internal.Workbench$18.run(Workbench.java:1114) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1111) - at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:1040) - at org.eclipse.ui.internal.Workbench$25.run(Workbench.java:1284) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.Workbench.close(Workbench.java:1282) - at org.eclipse.ui.internal.Workbench.close(Workbench.java:1254) - at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:727) - at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:715) - at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:867) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:865) - at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741) - at org.eclipse.jface.window.Window$3.shellClosed(Window.java:687) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:98) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267) - at org.eclipse.swt.widgets.Shell.closeWidget(Shell.java:617) - at org.eclipse.swt.widgets.Shell.gtk_delete_event(Shell.java:1189) - at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1735) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:5016) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:4408) - at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) - at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8422) - at org.eclipse.swt.widgets.Display.eventProc(Display.java:1245) - at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) - at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2276) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3207) - at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) - at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) - at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) - at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:606) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) - at org.eclipse.equinox.launcher.Main.run(Main.java:1410) - at org.eclipse.equinox.launcher.Main.main(Main.java:1386) -!SESSION 2016-03-18 10:30:44.541 ----------------------------------------------- -eclipse.buildId=M20120208-0800 -java.version=1.7.0_51 -java.vendor=Oracle Corporation -BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR -Framework arguments: -product org.eclipse.epp.package.java.product -Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product - -!ENTRY org.eclipse.ui.workbench 4 0 2016-03-18 10:31:01.751 -!MESSAGE An unexpected exception was thrown. -!STACK 0 -java.lang.NullPointerException - at org.eclipse.ui.internal.WorkbenchWindow.putToolbarLabel(WorkbenchWindow.java:1697) - at org.eclipse.ui.internal.menus.MenuAdditionCacheEntry.createToolBarAdditionContribution(MenuAdditionCacheEntry.java:208) - at org.eclipse.ui.internal.menus.MenuAdditionCacheEntry.createContributionItems(MenuAdditionCacheEntry.java:177) - at org.eclipse.ui.internal.menus.TrimContributionManager.update(TrimContributionManager.java:224) - at org.eclipse.ui.internal.WorkbenchWindow.updateLayoutDataForContents(WorkbenchWindow.java:3874) - at org.eclipse.ui.internal.WorkbenchWindow.setCoolBarVisible(WorkbenchWindow.java:3675) - at org.eclipse.ui.internal.ViewIntroAdapterPart.setBarVisibility(ViewIntroAdapterPart.java:203) - at org.eclipse.ui.internal.ViewIntroAdapterPart.dispose(ViewIntroAdapterPart.java:106) - at org.eclipse.ui.internal.WorkbenchPartReference.doDisposePart(WorkbenchPartReference.java:737) - at org.eclipse.ui.internal.ViewReference.doDisposePart(ViewReference.java:104) - at org.eclipse.ui.internal.WorkbenchPartReference.dispose(WorkbenchPartReference.java:684) - at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1797) - at org.eclipse.ui.internal.WorkbenchPage.partRemoved(WorkbenchPage.java:1789) - at org.eclipse.ui.internal.ViewFactory.releaseView(ViewFactory.java:257) - at org.eclipse.ui.internal.Perspective.dispose(Perspective.java:292) - at org.eclipse.ui.internal.WorkbenchPage.dispose(WorkbenchPage.java:1868) - at org.eclipse.ui.internal.WorkbenchWindow.closeAllPages(WorkbenchWindow.java:894) - at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1729) - at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:730) - at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:715) - at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:867) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:865) - at org.eclipse.jface.window.WindowManager.close(WindowManager.java:109) - at org.eclipse.ui.internal.Workbench$18.run(Workbench.java:1114) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1111) - at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:1040) - at org.eclipse.ui.internal.Workbench$25.run(Workbench.java:1284) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.Workbench.close(Workbench.java:1282) - at org.eclipse.ui.internal.Workbench.restart(Workbench.java:2292) - at org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction.restart(OpenWorkspaceAction.java:282) - at org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction.run(OpenWorkspaceAction.java:264) - at org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction$OpenDialogAction.run(OpenWorkspaceAction.java:70) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) - at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) - at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) - at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267) - at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1061) - at org.eclipse.jface.action.ActionContributionItem$9.handleEvent(ActionContributionItem.java:1284) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209) - at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) - at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665) - at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) - at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.lang.reflect.Method.invoke(Method.java:606) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) - at org.eclipse.equinox.launcher.Main.run(Main.java:1410) - at org.eclipse.equinox.launcher.Main.main(Main.java:1386) diff --git a/.metadata/.mylyn/.taskListIndex/segments.gen b/.metadata/.mylyn/.taskListIndex/segments.gen deleted file mode 100644 index 63a7ec9a3ce3e4c844ffb7c8dd88e6eb3ff32ef5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20 QcmezW|NlP*2w;TK07=6G{r~^~ diff --git a/.metadata/.mylyn/.taskListIndex/segments_1 b/.metadata/.mylyn/.taskListIndex/segments_1 deleted file mode 100644 index a6294d70878a85791447540514fbcd3ac13a003c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32 acmezW|NnOe2FBn{0W(nsG$72?cp3ng&jywN diff --git a/.metadata/.mylyn/repositories.xml.zip b/.metadata/.mylyn/repositories.xml.zip deleted file mode 100644 index d889841938c72fd596dcbcad8cb0abb99819e069..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 435 zcmWIWW@Zs#;Nak3SQ}jA!GHt=fb62wg8bsllKi5~)MCAg+?=-|zWz*x0)Mq<-+P_arJh}t?$3m?s-=?yLum$QI3A!v+L6I zRSw}lZ|yp^V*1CwN7qVysZM@yQ<&|1Sk0CbN0TQ_cv9LP%wE1LDJ?elii)YXH_IxI zi9J=qoHgOocAk~e-qaZQ`$mn~mAKFG|--P0q(jX;3k{Kkz002QT7dQX_ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources deleted file mode 100644 index bafff8c2fc3acb68318f4030c4c6726bd3a8f851..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmZ?R*xjhShe1S2b=vdAllRFf=Oz}Hq!uZZBqrsgaw)qNWh(e47AY87C>R=885>#| z7%DishA0>r7@BdVq~??)x>giq7A2Ns=I6!d7p3c^Cg)@p6sPKCrIhF;=NF~g8k(3| z7+D&dm>F6a8*wG)q$U=*fb^lLPDxEFO^2vYOUx-w#ib5zDqdB&l{uApdL@a)*~NOL jnYIwM`g$crsj0R`Tn8e4e+K(F@N-Y~?($;}BR&KGWOlf} diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index dffc6b5..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -version=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.recording.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.recording.prefs deleted file mode 100644 index d3763bd..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.epp.usagedata.recording.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.epp.usagedata.recording.last-upload=1458293365393 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index bef410f..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,13 +0,0 @@ -content_assist_proposals_background=247,247,247 -content_assist_proposals_foreground=44,44,44 -eclipse.preferences.version=1 -fontPropagated=true -org.eclipse.jdt.ui.editor.tab.width= -org.eclipse.jdt.ui.formatterprofiles.version=12 -org.eclipse.jdt.ui.javadoclocations.migrated=true -org.eclipse.jface.textfont=1|Monospace|10.0|0|GTK|1|; -proposalOrderMigrated=true -spelling_locale_initialized=true -tabWidthPropagated=true -useAnnotationsPrefPage=true -useQuickDiffPrefPage=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs deleted file mode 100644 index 67b1d96..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.m2e.discovery.pref.projects= diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs deleted file mode 100644 index 43e97e4..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -mylyn.attention.migrated=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs deleted file mode 100644 index 8d462a6..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs deleted file mode 100644 index f9e585b..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -pref_first_startup=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs deleted file mode 100644 index 56cd496..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.team.ui.first_time=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs deleted file mode 100644 index fc00e58..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +++ /dev/null @@ -1,5 +0,0 @@ -PROBLEMS_FILTERS_MIGRATE=true -eclipse.preferences.version=1 -platformState=1441713840516 -quickStart=false -tipsAndTricks=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs deleted file mode 100644 index 08076f2..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -showIntro=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs deleted file mode 100644 index eeda39e..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs +++ /dev/null @@ -1,3 +0,0 @@ -ENABLED_DECORATORS=org.eclipse.m2e.core.mavenVersionDecorator\:false,com.google.gdt.eclipse.managedapis.ui.ManagedApiContainerDecorator\:true,com.google.gdt.eclipse.managedapis.ui.ManageApiInfoDecorator\:true,org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator\:true,org.eclipse.jdt.ui.override.decorator\:true,org.eclipse.jdt.ui.interface.decorator\:false,org.eclipse.jdt.ui.buildpath.decorator\:true,org.eclipse.m2e.core.maven2decorator\:true,org.eclipse.mylyn.context.ui.decorator.interest\:true,org.eclipse.mylyn.tasks.ui.decorators.task\:true,org.eclipse.mylyn.team.ui.changeset.decorator\:true,org.eclipse.pde.ui.binaryProjectDecorator\:false,org.eclipse.team.cvs.ui.decorator\:true,org.eclipse.team.svn.ui.decorator.SVNLightweightDecorator\:false,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,org.eclipse.wst.jsdt.ui.override.decorator\:true,org.eclipse.xtext.builder.nature.overlay\:true, -PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery; -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload0.csv b/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload0.csv deleted file mode 100644 index d38d054..0000000 --- a/.metadata/.plugins/org.eclipse.epp.usagedata.recording/upload0.csv +++ /dev/null @@ -1,256 +0,0 @@ -what,kind,bundleId,bundleVersion,description,time -activated,perspective,org.eclipse.jdt.ui,,"org.eclipse.jdt.ui.JavaPerspective",1458293364341 -started,bundle,org.eclipse.osgi,3.7.2.v20120110-1415,"org.eclipse.osgi",1458293364343 -started,bundle,org.eclipse.equinox.simpleconfigurator,1.0.200.v20110815-1438,"org.eclipse.equinox.simpleconfigurator",1458293364343 -started,bundle,com.ibm.icu,4.4.2.v20110823,"com.ibm.icu",1458293364344 -started,bundle,org.eclipse.core.contenttype,3.4.100.v20110423-0524,"org.eclipse.core.contenttype",1458293364344 -started,bundle,org.eclipse.core.databinding.observable,1.4.0.I20110222-0800,"org.eclipse.core.databinding.observable",1458293364345 -started,bundle,org.eclipse.core.expressions,3.4.300.v20110228,"org.eclipse.core.expressions",1458293364345 -started,bundle,org.eclipse.core.filebuffers,3.5.200.v20110928-1504,"org.eclipse.core.filebuffers",1458293364346 -started,bundle,org.eclipse.core.jobs,3.5.101.v20120113-1953,"org.eclipse.core.jobs",1458293364346 -started,bundle,org.eclipse.core.net,1.2.100.I20110511-0800,"org.eclipse.core.net",1458293364347 -started,bundle,org.eclipse.core.resources,3.7.101.v20120125-1505,"org.eclipse.core.resources",1458293364348 -started,bundle,org.eclipse.core.runtime,3.7.0.v20110110,"org.eclipse.core.runtime",1458293364348 -started,bundle,org.eclipse.core.runtime.compatibility,3.2.100.v20100505,"org.eclipse.core.runtime.compatibility",1458293364349 -started,bundle,org.eclipse.core.runtime.compatibility.auth,3.2.200.v20110110,"org.eclipse.core.runtime.compatibility.auth",1458293364349 -started,bundle,org.eclipse.debug.core,3.7.1.v20111129-2031,"org.eclipse.debug.core",1458293364350 -started,bundle,org.eclipse.epp.mpc.ui,1.1.1.I20110907-0947,"org.eclipse.epp.mpc.ui",1458293364350 -started,bundle,org.eclipse.epp.usagedata.gathering,1.3.1.R201106061540,"org.eclipse.epp.usagedata.gathering",1458293364350 -started,bundle,org.eclipse.epp.usagedata.recording,1.3.1.R201106061540,"org.eclipse.epp.usagedata.recording",1458293364351 -started,bundle,org.eclipse.equinox.app,1.3.100.v20110321,"org.eclipse.equinox.app",1458293364352 -started,bundle,org.eclipse.equinox.common,3.6.0.v20110523,"org.eclipse.equinox.common",1458293364352 -started,bundle,org.eclipse.equinox.ds,1.3.1.R37x_v20110701,"org.eclipse.equinox.ds",1458293364353 -started,bundle,org.eclipse.equinox.event,1.2.100.v20110502,"org.eclipse.equinox.event",1458293364353 -started,bundle,org.eclipse.equinox.p2.core,2.1.1.v20120113-1346,"org.eclipse.equinox.p2.core",1458293364354 -started,bundle,org.eclipse.equinox.p2.directorywatcher,1.0.300.v20110815-1419,"org.eclipse.equinox.p2.directorywatcher",1458293364354 -started,bundle,org.eclipse.equinox.p2.engine,2.1.1.R37x_v20111003,"org.eclipse.equinox.p2.engine",1458293364355 -started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110815-1419,"org.eclipse.equinox.p2.metadata",1458293364356 -started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110815-1419,"org.eclipse.equinox.p2.metadata.repository",1458293364357 -started,bundle,org.eclipse.equinox.p2.operations,2.1.1.R37x_v20111111,"org.eclipse.equinox.p2.operations",1458293364358 -started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110815-1419,"org.eclipse.equinox.p2.reconciler.dropins",1458293364358 -started,bundle,org.eclipse.equinox.p2.repository,2.1.1.v20120113-1346,"org.eclipse.equinox.p2.repository",1458293364359 -started,bundle,org.eclipse.equinox.p2.ui.sdk.scheduler,1.0.100.v20110815-1419,"org.eclipse.equinox.p2.ui.sdk.scheduler",1458293364359 -started,bundle,org.eclipse.equinox.p2.updatechecker,1.1.200.v20110815-1419,"org.eclipse.equinox.p2.updatechecker",1458293364360 -started,bundle,org.eclipse.equinox.preferences,3.4.2.v20120111-2020,"org.eclipse.equinox.preferences",1458293364360 -started,bundle,org.eclipse.equinox.registry,3.5.101.R37x_v20110810-1611,"org.eclipse.equinox.registry",1458293364361 -started,bundle,org.eclipse.equinox.security,1.1.1.R37x_v20110822-1018,"org.eclipse.equinox.security",1458293364361 -started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1458293364361 -started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1458293364362 -started,bundle,org.eclipse.jdt.core,3.7.3.v20120119-1537,"org.eclipse.jdt.core",1458293364362 -started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110928-1453,"org.eclipse.jdt.core.manipulation",1458293364363 -started,bundle,org.eclipse.jdt.ui,3.7.2.v20120109-1427,"org.eclipse.jdt.ui",1458293364365 -started,bundle,org.eclipse.jface,3.7.0.v20110928-1505,"org.eclipse.jface",1458293364365 -started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1458293364366 -started,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1458293364366 -started,bundle,org.eclipse.m2e.logback.configuration,1.0.200.20111228-1245,"org.eclipse.m2e.logback.configuration",1458293364366 -started,bundle,org.eclipse.search,3.7.0.v20110928-1504,"org.eclipse.search",1458293364367 -started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1458293364367 -started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1458293364367 -started,bundle,org.eclipse.team.cvs.ui,3.3.401.v20120126-1227,"org.eclipse.team.cvs.ui",1458293364368 -started,bundle,org.eclipse.team.ui,3.6.101.R37x_v20111109-0800,"org.eclipse.team.ui",1458293364369 -started,bundle,org.eclipse.ui,3.7.0.v20110928-1505,"org.eclipse.ui",1458293364370 -started,bundle,org.eclipse.ui.console,3.5.100.v20111007_r372,"org.eclipse.ui.console",1458293364370 -started,bundle,org.eclipse.ui.editors,3.7.0.v20110928-1504,"org.eclipse.ui.editors",1458293364370 -started,bundle,org.eclipse.ui.forms,3.5.101.v20111011-1919,"org.eclipse.ui.forms",1458293364371 -started,bundle,org.eclipse.ui.ide,3.7.0.v20110928-1505,"org.eclipse.ui.ide",1458293364372 -started,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1458293364372 -started,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1458293364372 -started,bundle,org.eclipse.ui.net,1.2.100.v20111208-1155,"org.eclipse.ui.net",1458293364372 -started,bundle,org.eclipse.ui.views,3.6.0.v20110928-1505,"org.eclipse.ui.views",1458293364373 -started,bundle,org.eclipse.ui.views.log,1.0.200.v20110404,"org.eclipse.ui.views.log",1458293364373 -started,bundle,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"org.eclipse.ui.workbench",1458293364374 -started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110928-1504,"org.eclipse.ui.workbench.texteditor",1458293364374 -started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1458293364375 -started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1458293364375 -started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1458293364376 -started,bundle,com.google.gdt.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.core",1458293364376 -started,bundle,com.google.gdt.eclipse.designer,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer",1458293364376 -started,bundle,com.google.gdt.eclipse.designer.UiBinder,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer.UiBinder",1458293364377 -started,bundle,com.google.gdt.eclipse.login,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.login",1458293364377 -started,bundle,com.google.gdt.eclipse.managedapis,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.managedapis",1458293364377 -started,bundle,com.google.gdt.eclipse.suite.ext,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.suite.ext",1458293364378 -started,bundle,org.eclipse.mylyn.bugzilla.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.bugzilla.core",1458293364378 -started,bundle,org.eclipse.mylyn.bugzilla.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.bugzilla.ui",1458293364378 -started,bundle,org.eclipse.mylyn.commons.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.core",1458293364378 -started,bundle,org.eclipse.mylyn.commons.net,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.net",1458293364378 -started,bundle,org.eclipse.mylyn.commons.notifications.core,1.0.3.v20130107-0100,"org.eclipse.mylyn.commons.notifications.core",1458293364379 -started,bundle,org.eclipse.mylyn.commons.notifications.feed,1.0.3.v20130107-0100,"org.eclipse.mylyn.commons.notifications.feed",1458293364379 -started,bundle,org.eclipse.mylyn.commons.notifications.ui,1.0.3.v20130107-0100,"org.eclipse.mylyn.commons.notifications.ui",1458293364379 -started,bundle,org.eclipse.mylyn.commons.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.ui",1458293364380 -started,bundle,org.eclipse.mylyn.commons.workbench,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.workbench",1458293364380 -started,bundle,org.eclipse.mylyn.context.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.context.core",1458293364380 -started,bundle,org.eclipse.mylyn.context.tasks.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.context.tasks.ui",1458293364380 -started,bundle,org.eclipse.mylyn.monitor.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.monitor.ui",1458293364381 -started,bundle,org.eclipse.mylyn.tasks.index.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.tasks.index.core",1458293364381 -started,bundle,org.eclipse.mylyn.tasks.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.tasks.ui",1458293364382 -started,bundle,org.eclipse.mylyn.team.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.team.ui",1458293364382 -started,bundle,org.eclipse.wb.core,1.5.2.r37x201303061457,"org.eclipse.wb.core",1458293364382 -started,bundle,org.eclipse.wb.core.java,1.5.2.r37x201303061505,"org.eclipse.wb.core.java",1458293364382 -started,bundle,org.eclipse.wb.core.lib,1.5.2.r37x201303061457,"org.eclipse.wb.core.lib",1458293364383 -started,bundle,org.eclipse.wb.discovery.core,1.5.2.r37x201303061516,"org.eclipse.wb.discovery.core",1458293364383 -started,bundle,org.eclipse.wb.discovery.ui,1.5.2.r37x201303061516,"org.eclipse.wb.discovery.ui",1458293364383 -started,bundle,org.eclipse.pde.launching,3.6.0.v20110506,"org.eclipse.pde.launching",1458293364384 -started,bundle,org.eclipse.pde.ui,3.6.100.v20120103_r372,"org.eclipse.pde.ui",1458293364385 -os,sysinfo,,,"linux",1458293364388 -arch,sysinfo,,,"x86_64",1458293364388 -ws,sysinfo,,,"gtk",1458293364388 -locale,sysinfo,,,"fr_FR",1458293364388 -processors,sysinfo,,,"4",1458293364388 -java.runtime.name,sysinfo,,,"OpenJDK Runtime Environment",1458293364388 -java.runtime.version,sysinfo,,,"1.7.0_51-mockbuild_2014_01_31_16_21-b00",1458293364388 -java.specification.name,sysinfo,,,"Java Platform API Specification",1458293364388 -java.specification.vendor,sysinfo,,,"Oracle Corporation",1458293364388 -java.specification.version,sysinfo,,,"1.7",1458293364388 -java.vendor,sysinfo,,,"Oracle Corporation",1458293364388 -java.version,sysinfo,,,"1.7.0_51",1458293364388 -java.vm.info,sysinfo,,,"mixed mode",1458293364388 -java.vm.name,sysinfo,,,"OpenJDK 64-Bit Server VM",1458293364388 -java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1458293364388 -java.vm.specification.vendor,sysinfo,,,"Oracle Corporation",1458293364388 -java.vm.specification.version,sysinfo,,,"1.7",1458293364388 -java.vm.vendor,sysinfo,,,"Oracle Corporation",1458293364388 -java.vm.version,sysinfo,,,"24.51-b03",1458293364388 -started,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1458293364391 -deactivated,workbench,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"",1458293365572 -error,log,,,"An unexpected exception was thrown.",1458293367216 -closed,workbench,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"",1458293367219 -started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1458293367338 -started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1458293367381 -started,bundle,org.eclipse.compare,3.5.202.R37x_v20111109-0800,"org.eclipse.compare",1458293367384 -stopped,bundle,org.eclipse.m2e.logback.configuration,1.0.200.20111228-1245,"org.eclipse.m2e.logback.configuration",1458293367482 -stopped,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1458293367484 -stopped,bundle,org.eclipse.m2e.refactoring,1.0.200.20111228-1245,"org.eclipse.m2e.refactoring",1458293367485 -stopped,bundle,org.eclipse.m2e.editor,1.0.200.20111228-1245,"org.eclipse.m2e.editor",1458293367485 -stopped,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1458293367486 -stopped,bundle,com.google.gdt.eclipse.maven.e37,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.maven.e37",1458293367486 -stopped,bundle,org.eclipse.m2e.jdt,1.0.200.20111228-1245,"org.eclipse.m2e.jdt",1458293367486 -stopped,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1458293367487 -stopped,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1458293367487 -stopped,bundle,org.eclipse.xtend.ide,2.7.2.v201409160908,"org.eclipse.xtend.ide",1458293367487 -stopped,bundle,org.eclipse.xtext.common.types.shared,2.7.2.v201409160908,"org.eclipse.xtext.common.types.shared",1458293367487 -stopped,bundle,org.eclipse.xtext.purexbase.ui,2.7.2.v201409160908,"org.eclipse.xtext.purexbase.ui",1458293367487 -stopped,bundle,org.eclipse.xtend.core,2.7.2.v201409160908,"org.eclipse.xtend.core",1458293367488 -stopped,bundle,org.eclipse.xtext.xbase.ui,2.7.2.v201409160908,"org.eclipse.xtext.xbase.ui",1458293367488 -stopped,bundle,org.eclipse.xtext.xtext.ui,2.7.2.v201409160908,"org.eclipse.xtext.xtext.ui",1458293367488 -stopped,bundle,org.eclipse.pde.ui,3.6.100.v20120103_r372,"org.eclipse.pde.ui",1458293367488 -stopped,bundle,org.eclipse.ui.cheatsheets,3.4.100.v20110425,"org.eclipse.ui.cheatsheets",1458293367489 -stopped,bundle,org.eclipse.help.ui,3.5.101.r37_20110819,"org.eclipse.help.ui",1458293367489 -stopped,bundle,org.eclipse.help.webapp,3.6.1.r37_20110929,"org.eclipse.help.webapp",1458293367489 -stopped,bundle,org.eclipse.epp.mpc.ui,1.1.1.I20110907-0947,"org.eclipse.epp.mpc.ui",1458293367490 -stopped,bundle,org.eclipse.epp.usagedata.ui,1.3.1.R201106061540,"org.eclipse.epp.usagedata.ui",1458293367490 -stopped,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1458293367490 -stopped,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1458293367490 -stopped,bundle,org.eclipse.help.base,3.6.2.v201202080800,"org.eclipse.help.base",1458293367490 -stopped,bundle,org.eclipse.equinox.http.jetty,2.0.100.v20110502,"org.eclipse.equinox.http.jetty",1458293367490 -stopped,bundle,com.google.appengine.eclipse.datatools,3.2.2.v201303261859-rel-r37,"com.google.appengine.eclipse.datatools",1458293367491 -stopped,bundle,com.google.appengine.eclipse.webtools,3.2.2.v201303261859-rel-r37,"com.google.appengine.eclipse.webtools",1458293367491 -stopped,bundle,com.google.gdt.eclipse.appengine.swarm_backend,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appengine.swarm_backend",1458293367491 -stopped,bundle,com.google.gdt.eclipse.suite.ext,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.suite.ext",1458293367491 -stopped,bundle,com.google.gdt.eclipse.appengine.swarm,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appengine.swarm",1458293367492 -stopped,bundle,com.google.gdt.eclipse.appengine.rpc,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1458293367492 -stopped,bundle,com.google.gdt.eclipse.gph.e36,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.e36",1458293367492 -stopped,bundle,com.google.gdt.eclipse.gph.hge,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.hge",1458293367493 -stopped,bundle,com.google.gdt.eclipse.gph.subclipse,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.subclipse",1458293367493 -stopped,bundle,com.google.gdt.eclipse.gph.subversive,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.subversive",1458293367493 -stopped,bundle,com.google.gdt.eclipse.gph,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph",1458293367493 -stopped,bundle,com.google.gdt.eclipse.maven,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.maven",1458293367494 -stopped,bundle,com.google.gdt.eclipse.suite,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.suite",1458293367494 -stopped,bundle,com.google.gdt.eclipse.appsmarketplace,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appsmarketplace",1458293367494 -stopped,bundle,com.google.gdt.eclipse.managedapis,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.managedapis",1458293367494 -stopped,bundle,com.google.appengine.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.appengine.eclipse.core",1458293367495 -stopped,bundle,com.google.gdt.eclipse.login,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.login",1458293367495 -stopped,bundle,com.google.gwt.eclipse.oophm,3.2.2.v201303261859-rel-r37,"com.google.gwt.eclipse.oophm",1458293367495 -stopped,bundle,com.google.gwt.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.gwt.eclipse.core",1458293367495 -stopped,bundle,com.google.gdt.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.core",1458293367496 -stopped,bundle,com.google.gdt.eclipse.platform,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.platform",1458293367496 -stopped,bundle,com.google.gdt.eclipse.platform.e37,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.platform.e37",1458293367496 -stopped,bundle,org.eclipse.m2e.core.ui,1.0.200.20111228-1245,"org.eclipse.m2e.core.ui",1458293367497 -stopped,bundle,org.eclipse.m2e.core,1.0.200.20111228-1245,"org.eclipse.m2e.core",1458293367497 -stopped,bundle,org.eclipse.mylyn.ide.ant,3.8.3.v20130107-0100,"org.eclipse.mylyn.ide.ant",1458293367497 -stopped,bundle,org.eclipse.ant.ui,3.5.101.v20120110-1739,"org.eclipse.ant.ui",1458293367498 -stopped,bundle,org.eclipse.ant.launching,1.0.101.v20120110-1739,"org.eclipse.ant.launching",1458293367498 -stopped,bundle,org.eclipse.egit.mylyn.ui,1.3.0.201202151440-r,"org.eclipse.egit.mylyn.ui",1458293367498 -stopped,bundle,org.eclipse.egit.ui,1.3.0.201202151440-r,"org.eclipse.egit.ui",1458293367501 -stopped,bundle,org.eclipse.egit.core,1.3.0.201202151440-r,"org.eclipse.egit.core",1458293367501 -stopped,bundle,org.eclipse.equinox.p2.ui.sdk,1.0.200.v20110815-1419,"org.eclipse.equinox.p2.ui.sdk",1458293367501 -stopped,bundle,com.google.gdt.eclipse.designer.UiBinder,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer.UiBinder",1458293367501 -stopped,bundle,com.google.gdt.eclipse.designer.gpe,3.1.2.r37x201303061641,"com.google.gdt.eclipse.designer.gpe",1458293367503 -stopped,bundle,com.google.gdt.eclipse.designer,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer",1458293367503 -stopped,bundle,org.eclipse.mylyn.java.tasks,3.8.3.v20130107-0100,"org.eclipse.mylyn.java.tasks",1458293367504 -stopped,bundle,org.eclipse.mylyn.java.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.java.ui",1458293367504 -stopped,bundle,org.eclipse.jdt.junit,3.7.0.v20110928-1453,"org.eclipse.jdt.junit",1458293367505 -activated,perspective,org.eclipse.jdt.ui,,"org.eclipse.jdt.ui.JavaPerspective",1458293450218 -started,bundle,org.eclipse.osgi,3.7.2.v20120110-1415,"org.eclipse.osgi",1458293450218 -started,bundle,org.eclipse.equinox.simpleconfigurator,1.0.200.v20110815-1438,"org.eclipse.equinox.simpleconfigurator",1458293450219 -started,bundle,com.ibm.icu,4.4.2.v20110823,"com.ibm.icu",1458293450219 -started,bundle,org.eclipse.core.contenttype,3.4.100.v20110423-0524,"org.eclipse.core.contenttype",1458293450219 -started,bundle,org.eclipse.core.databinding.observable,1.4.0.I20110222-0800,"org.eclipse.core.databinding.observable",1458293450220 -started,bundle,org.eclipse.core.expressions,3.4.300.v20110228,"org.eclipse.core.expressions",1458293450220 -started,bundle,org.eclipse.core.filebuffers,3.5.200.v20110928-1504,"org.eclipse.core.filebuffers",1458293450220 -started,bundle,org.eclipse.core.jobs,3.5.101.v20120113-1953,"org.eclipse.core.jobs",1458293450220 -started,bundle,org.eclipse.core.net,1.2.100.I20110511-0800,"org.eclipse.core.net",1458293450221 -started,bundle,org.eclipse.core.resources,3.7.101.v20120125-1505,"org.eclipse.core.resources",1458293450221 -started,bundle,org.eclipse.core.runtime,3.7.0.v20110110,"org.eclipse.core.runtime",1458293450221 -started,bundle,org.eclipse.core.runtime.compatibility,3.2.100.v20100505,"org.eclipse.core.runtime.compatibility",1458293450221 -started,bundle,org.eclipse.core.runtime.compatibility.auth,3.2.200.v20110110,"org.eclipse.core.runtime.compatibility.auth",1458293450222 -started,bundle,org.eclipse.debug.core,3.7.1.v20111129-2031,"org.eclipse.debug.core",1458293450222 -started,bundle,org.eclipse.epp.mpc.ui,1.1.1.I20110907-0947,"org.eclipse.epp.mpc.ui",1458293450222 -started,bundle,org.eclipse.epp.usagedata.gathering,1.3.1.R201106061540,"org.eclipse.epp.usagedata.gathering",1458293450223 -started,bundle,org.eclipse.epp.usagedata.recording,1.3.1.R201106061540,"org.eclipse.epp.usagedata.recording",1458293450223 -started,bundle,org.eclipse.equinox.app,1.3.100.v20110321,"org.eclipse.equinox.app",1458293450223 -started,bundle,org.eclipse.equinox.common,3.6.0.v20110523,"org.eclipse.equinox.common",1458293450223 -started,bundle,org.eclipse.equinox.ds,1.3.1.R37x_v20110701,"org.eclipse.equinox.ds",1458293450224 -started,bundle,org.eclipse.equinox.event,1.2.100.v20110502,"org.eclipse.equinox.event",1458293450224 -started,bundle,org.eclipse.equinox.p2.core,2.1.1.v20120113-1346,"org.eclipse.equinox.p2.core",1458293450224 -started,bundle,org.eclipse.equinox.p2.directorywatcher,1.0.300.v20110815-1419,"org.eclipse.equinox.p2.directorywatcher",1458293450225 -started,bundle,org.eclipse.equinox.p2.engine,2.1.1.R37x_v20111003,"org.eclipse.equinox.p2.engine",1458293450225 -started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110815-1419,"org.eclipse.equinox.p2.metadata",1458293450225 -started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110815-1419,"org.eclipse.equinox.p2.metadata.repository",1458293450226 -started,bundle,org.eclipse.equinox.p2.operations,2.1.1.R37x_v20111111,"org.eclipse.equinox.p2.operations",1458293450226 -started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110815-1419,"org.eclipse.equinox.p2.reconciler.dropins",1458293450226 -started,bundle,org.eclipse.equinox.p2.repository,2.1.1.v20120113-1346,"org.eclipse.equinox.p2.repository",1458293450227 -started,bundle,org.eclipse.equinox.p2.ui.sdk.scheduler,1.0.100.v20110815-1419,"org.eclipse.equinox.p2.ui.sdk.scheduler",1458293450227 -started,bundle,org.eclipse.equinox.p2.updatechecker,1.1.200.v20110815-1419,"org.eclipse.equinox.p2.updatechecker",1458293450227 -started,bundle,org.eclipse.equinox.preferences,3.4.2.v20120111-2020,"org.eclipse.equinox.preferences",1458293450228 -started,bundle,org.eclipse.equinox.registry,3.5.101.R37x_v20110810-1611,"org.eclipse.equinox.registry",1458293450228 -started,bundle,org.eclipse.equinox.security,1.1.1.R37x_v20110822-1018,"org.eclipse.equinox.security",1458293450228 -started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1458293450228 -started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1458293450229 -started,bundle,org.eclipse.jdt.core,3.7.3.v20120119-1537,"org.eclipse.jdt.core",1458293450229 -started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110928-1453,"org.eclipse.jdt.core.manipulation",1458293450229 -started,bundle,org.eclipse.jdt.ui,3.7.2.v20120109-1427,"org.eclipse.jdt.ui",1458293450231 -started,bundle,org.eclipse.jface,3.7.0.v20110928-1505,"org.eclipse.jface",1458293450231 -started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1458293450231 -started,bundle,org.eclipse.m2e.logback.configuration,1.0.200.20111228-1245,"org.eclipse.m2e.logback.configuration",1458293450232 -started,bundle,org.eclipse.search,3.7.0.v20110928-1504,"org.eclipse.search",1458293450232 -started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1458293450232 -started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1458293450232 -started,bundle,org.eclipse.team.cvs.ui,3.3.401.v20120126-1227,"org.eclipse.team.cvs.ui",1458293450233 -started,bundle,org.eclipse.team.ui,3.6.101.R37x_v20111109-0800,"org.eclipse.team.ui",1458293450233 -started,bundle,org.eclipse.ui,3.7.0.v20110928-1505,"org.eclipse.ui",1458293450234 -started,bundle,org.eclipse.ui.console,3.5.100.v20111007_r372,"org.eclipse.ui.console",1458293450234 -started,bundle,org.eclipse.ui.editors,3.7.0.v20110928-1504,"org.eclipse.ui.editors",1458293450234 -started,bundle,org.eclipse.ui.forms,3.5.101.v20111011-1919,"org.eclipse.ui.forms",1458293450235 -started,bundle,org.eclipse.ui.ide,3.7.0.v20110928-1505,"org.eclipse.ui.ide",1458293450235 -started,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1458293450235 -started,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1458293450235 -started,bundle,org.eclipse.ui.net,1.2.100.v20111208-1155,"org.eclipse.ui.net",1458293450236 -started,bundle,org.eclipse.ui.views,3.6.0.v20110928-1505,"org.eclipse.ui.views",1458293450236 -started,bundle,org.eclipse.ui.views.log,1.0.200.v20110404,"org.eclipse.ui.views.log",1458293450236 -started,bundle,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"org.eclipse.ui.workbench",1458293450237 -started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110928-1504,"org.eclipse.ui.workbench.texteditor",1458293450237 -started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1458293450237 -started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1458293450238 -started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1458293450238 -started,bundle,com.google.gdt.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.core",1458293450238 -started,bundle,com.google.gdt.eclipse.designer,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer",1458293450239 -started,bundle,com.google.gdt.eclipse.designer.UiBinder,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer.UiBinder",1458293450239 -started,bundle,com.google.gdt.eclipse.login,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.login",1458293450239 -started,bundle,com.google.gdt.eclipse.managedapis,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.managedapis",1458293450239 -started,bundle,com.google.gdt.eclipse.suite.ext,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.suite.ext",1458293450240 -started,bundle,org.eclipse.mylyn.bugzilla.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.bugzilla.core",1458293450240 -started,bundle,org.eclipse.mylyn.bugzilla.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.bugzilla.ui",1458293450240 -started,bundle,org.eclipse.mylyn.commons.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.core",1458293450240 -started,bundle,org.eclipse.mylyn.commons.net,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.net",1458293450240 -started,bundle,org.eclipse.mylyn.commons.notifications.core,1.0.3.v20130107-0100,"org.eclipse.mylyn.commons.notifications.core",1458293450241 -started,bundle,org.eclipse.mylyn.commons.notifications.feed,1.0.3.v20130107-0100,"org.eclipse.mylyn.commons.notifications.feed",1458293450241 diff --git a/.metadata/.plugins/org.eclipse.epp.usagedata.recording/usagedata.csv b/.metadata/.plugins/org.eclipse.epp.usagedata.recording/usagedata.csv deleted file mode 100644 index 39c1689..0000000 --- a/.metadata/.plugins/org.eclipse.epp.usagedata.recording/usagedata.csv +++ /dev/null @@ -1,106 +0,0 @@ -what,kind,bundleId,bundleVersion,description,time -started,bundle,org.eclipse.mylyn.commons.notifications.ui,1.0.3.v20130107-0100,"org.eclipse.mylyn.commons.notifications.ui",1458293450241 -started,bundle,org.eclipse.mylyn.commons.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.ui",1458293450241 -started,bundle,org.eclipse.mylyn.commons.workbench,3.8.3.v20130107-0100,"org.eclipse.mylyn.commons.workbench",1458293450241 -started,bundle,org.eclipse.mylyn.context.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.context.core",1458293450242 -started,bundle,org.eclipse.mylyn.context.tasks.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.context.tasks.ui",1458293450242 -started,bundle,org.eclipse.mylyn.monitor.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.monitor.ui",1458293450242 -started,bundle,org.eclipse.mylyn.tasks.index.core,3.8.3.v20130107-0100,"org.eclipse.mylyn.tasks.index.core",1458293450242 -started,bundle,org.eclipse.mylyn.tasks.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.tasks.ui",1458293450243 -started,bundle,org.eclipse.mylyn.team.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.team.ui",1458293450243 -started,bundle,org.eclipse.wb.core,1.5.2.r37x201303061457,"org.eclipse.wb.core",1458293450244 -started,bundle,org.eclipse.wb.core.java,1.5.2.r37x201303061505,"org.eclipse.wb.core.java",1458293450244 -started,bundle,org.eclipse.wb.core.lib,1.5.2.r37x201303061457,"org.eclipse.wb.core.lib",1458293450244 -started,bundle,org.eclipse.wb.discovery.core,1.5.2.r37x201303061516,"org.eclipse.wb.discovery.core",1458293450244 -started,bundle,org.eclipse.wb.discovery.ui,1.5.2.r37x201303061516,"org.eclipse.wb.discovery.ui",1458293450244 -started,bundle,org.eclipse.pde.launching,3.6.0.v20110506,"org.eclipse.pde.launching",1458293450245 -started,bundle,org.eclipse.pde.ui,3.6.100.v20120103_r372,"org.eclipse.pde.ui",1458293450245 -os,sysinfo,,,"linux",1458293450247 -arch,sysinfo,,,"x86_64",1458293450247 -ws,sysinfo,,,"gtk",1458293450247 -locale,sysinfo,,,"fr_FR",1458293450247 -processors,sysinfo,,,"4",1458293450248 -java.runtime.name,sysinfo,,,"OpenJDK Runtime Environment",1458293450248 -java.runtime.version,sysinfo,,,"1.7.0_51-mockbuild_2014_01_31_16_21-b00",1458293450248 -java.specification.name,sysinfo,,,"Java Platform API Specification",1458293450248 -java.specification.vendor,sysinfo,,,"Oracle Corporation",1458293450248 -java.specification.version,sysinfo,,,"1.7",1458293450248 -java.vendor,sysinfo,,,"Oracle Corporation",1458293450248 -java.version,sysinfo,,,"1.7.0_51",1458293450248 -java.vm.info,sysinfo,,,"mixed mode",1458293450248 -java.vm.name,sysinfo,,,"OpenJDK 64-Bit Server VM",1458293450248 -java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1458293450248 -java.vm.specification.vendor,sysinfo,,,"Oracle Corporation",1458293450248 -java.vm.specification.version,sysinfo,,,"1.7",1458293450248 -java.vm.vendor,sysinfo,,,"Oracle Corporation",1458293450248 -java.vm.version,sysinfo,,,"24.51-b03",1458293450248 -started,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1458293450252 -deactivated,workbench,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"",1458293454642 -error,log,,,"An unexpected exception was thrown.",1458293461755 -closed,workbench,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"",1458293461758 -started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1458293461845 -started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1458293461883 -started,bundle,org.eclipse.compare,3.5.202.R37x_v20111109-0800,"org.eclipse.compare",1458293461886 -stopped,bundle,org.eclipse.m2e.logback.configuration,1.0.200.20111228-1245,"org.eclipse.m2e.logback.configuration",1458293462013 -stopped,bundle,org.eclipse.m2e.discovery,1.0.200.20111228-1245,"org.eclipse.m2e.discovery",1458293462014 -stopped,bundle,org.eclipse.m2e.refactoring,1.0.200.20111228-1245,"org.eclipse.m2e.refactoring",1458293462014 -stopped,bundle,org.eclipse.m2e.editor,1.0.200.20111228-1245,"org.eclipse.m2e.editor",1458293462015 -stopped,bundle,org.eclipse.m2e.editor.xml,1.0.200.20111228-1245,"org.eclipse.m2e.editor.xml",1458293462015 -stopped,bundle,com.google.gdt.eclipse.maven.e37,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.maven.e37",1458293462016 -stopped,bundle,org.eclipse.m2e.jdt,1.0.200.20111228-1245,"org.eclipse.m2e.jdt",1458293462016 -stopped,bundle,org.eclipse.m2e.launching,1.0.200.20111228-1245,"org.eclipse.m2e.launching",1458293462016 -stopped,bundle,org.eclipse.m2e.usagedata,1.0.200.20111228-1245,"org.eclipse.m2e.usagedata",1458293462016 -stopped,bundle,org.eclipse.xtend.ide,2.7.2.v201409160908,"org.eclipse.xtend.ide",1458293462017 -stopped,bundle,org.eclipse.xtext.common.types.shared,2.7.2.v201409160908,"org.eclipse.xtext.common.types.shared",1458293462017 -stopped,bundle,org.eclipse.xtext.purexbase.ui,2.7.2.v201409160908,"org.eclipse.xtext.purexbase.ui",1458293462018 -stopped,bundle,org.eclipse.xtend.core,2.7.2.v201409160908,"org.eclipse.xtend.core",1458293462018 -stopped,bundle,org.eclipse.xtext.xbase.ui,2.7.2.v201409160908,"org.eclipse.xtext.xbase.ui",1458293462018 -stopped,bundle,org.eclipse.xtext.xtext.ui,2.7.2.v201409160908,"org.eclipse.xtext.xtext.ui",1458293462019 -stopped,bundle,org.eclipse.pde.ui,3.6.100.v20120103_r372,"org.eclipse.pde.ui",1458293462019 -stopped,bundle,org.eclipse.ui.cheatsheets,3.4.100.v20110425,"org.eclipse.ui.cheatsheets",1458293462019 -stopped,bundle,org.eclipse.help.ui,3.5.101.r37_20110819,"org.eclipse.help.ui",1458293462020 -stopped,bundle,org.eclipse.help.webapp,3.6.1.r37_20110929,"org.eclipse.help.webapp",1458293462020 -stopped,bundle,org.eclipse.epp.mpc.ui,1.1.1.I20110907-0947,"org.eclipse.epp.mpc.ui",1458293462020 -stopped,bundle,org.eclipse.epp.usagedata.ui,1.3.1.R201106061540,"org.eclipse.epp.usagedata.ui",1458293462021 -stopped,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1458293462021 -stopped,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1458293462021 -stopped,bundle,org.eclipse.help.base,3.6.2.v201202080800,"org.eclipse.help.base",1458293462021 -stopped,bundle,org.eclipse.equinox.http.jetty,2.0.100.v20110502,"org.eclipse.equinox.http.jetty",1458293462022 -stopped,bundle,com.google.appengine.eclipse.datatools,3.2.2.v201303261859-rel-r37,"com.google.appengine.eclipse.datatools",1458293462022 -stopped,bundle,com.google.appengine.eclipse.webtools,3.2.2.v201303261859-rel-r37,"com.google.appengine.eclipse.webtools",1458293462022 -stopped,bundle,com.google.gdt.eclipse.appengine.swarm_backend,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appengine.swarm_backend",1458293462022 -stopped,bundle,com.google.gdt.eclipse.suite.ext,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.suite.ext",1458293462023 -stopped,bundle,com.google.gdt.eclipse.appengine.swarm,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appengine.swarm",1458293462023 -stopped,bundle,com.google.gdt.eclipse.appengine.rpc,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appengine.rpc",1458293462023 -stopped,bundle,com.google.gdt.eclipse.gph.e36,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.e36",1458293462023 -stopped,bundle,com.google.gdt.eclipse.gph.hge,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.hge",1458293462024 -stopped,bundle,com.google.gdt.eclipse.gph.subclipse,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.subclipse",1458293462024 -stopped,bundle,com.google.gdt.eclipse.gph.subversive,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph.subversive",1458293462024 -stopped,bundle,com.google.gdt.eclipse.gph,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.gph",1458293462024 -stopped,bundle,com.google.gdt.eclipse.maven,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.maven",1458293462025 -stopped,bundle,com.google.gdt.eclipse.suite,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.suite",1458293462025 -stopped,bundle,com.google.gdt.eclipse.appsmarketplace,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.appsmarketplace",1458293462025 -stopped,bundle,com.google.gdt.eclipse.managedapis,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.managedapis",1458293462025 -stopped,bundle,com.google.appengine.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.appengine.eclipse.core",1458293462026 -stopped,bundle,com.google.gdt.eclipse.login,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.login",1458293462026 -stopped,bundle,com.google.gwt.eclipse.oophm,3.2.2.v201303261859-rel-r37,"com.google.gwt.eclipse.oophm",1458293462026 -stopped,bundle,com.google.gwt.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.gwt.eclipse.core",1458293462027 -stopped,bundle,com.google.gdt.eclipse.core,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.core",1458293462027 -stopped,bundle,com.google.gdt.eclipse.platform,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.platform",1458293462027 -stopped,bundle,com.google.gdt.eclipse.platform.e37,3.2.2.v201303261859-rel-r37,"com.google.gdt.eclipse.platform.e37",1458293462027 -stopped,bundle,org.eclipse.m2e.core.ui,1.0.200.20111228-1245,"org.eclipse.m2e.core.ui",1458293462028 -stopped,bundle,org.eclipse.m2e.core,1.0.200.20111228-1245,"org.eclipse.m2e.core",1458293462028 -stopped,bundle,org.eclipse.mylyn.ide.ant,3.8.3.v20130107-0100,"org.eclipse.mylyn.ide.ant",1458293462030 -stopped,bundle,org.eclipse.ant.ui,3.5.101.v20120110-1739,"org.eclipse.ant.ui",1458293462032 -stopped,bundle,org.eclipse.ant.launching,1.0.101.v20120110-1739,"org.eclipse.ant.launching",1458293462033 -stopped,bundle,org.eclipse.egit.mylyn.ui,1.3.0.201202151440-r,"org.eclipse.egit.mylyn.ui",1458293462033 -stopped,bundle,org.eclipse.egit.ui,1.3.0.201202151440-r,"org.eclipse.egit.ui",1458293462034 -stopped,bundle,org.eclipse.egit.core,1.3.0.201202151440-r,"org.eclipse.egit.core",1458293462034 -stopped,bundle,org.eclipse.equinox.p2.ui.sdk,1.0.200.v20110815-1419,"org.eclipse.equinox.p2.ui.sdk",1458293462035 -stopped,bundle,com.google.gdt.eclipse.designer.UiBinder,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer.UiBinder",1458293462035 -stopped,bundle,com.google.gdt.eclipse.designer.gpe,3.1.2.r37x201303061641,"com.google.gdt.eclipse.designer.gpe",1458293462035 -stopped,bundle,com.google.gdt.eclipse.designer,3.1.2.r37x201303061530,"com.google.gdt.eclipse.designer",1458293462035 -stopped,bundle,org.eclipse.mylyn.java.tasks,3.8.3.v20130107-0100,"org.eclipse.mylyn.java.tasks",1458293462036 -stopped,bundle,org.eclipse.mylyn.java.ui,3.8.3.v20130107-0100,"org.eclipse.mylyn.java.ui",1458293462036 -stopped,bundle,org.eclipse.jdt.junit,3.7.0.v20110928-1453,"org.eclipse.jdt.junit",1458293462039 -stopped,bundle,org.eclipse.jdt.apt.ui,3.3.300.v20110305-1450,"org.eclipse.jdt.apt.ui",1458293462040 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache b/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache deleted file mode 100644 index 593f4708db84ac8fd0f5cc47c634f38c013fe9e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmZQzU|;|M00aO5 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache deleted file mode 100644 index 593f4708db84ac8fd0f5cc47c634f38c013fe9e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4 LcmZQzU|;|M00aO5 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat deleted file mode 100644 index dc803ab90590c1e1f57cf2a7c36ce7559dfcf813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmX|3Sqgw46dc=xiVo8ek_Rc8^0aU7e~UDu`59&f(4j%Tw34zqM9QakB#I><4O5P+ ns_HPC`_k!;dq}rurr>KlVEM}IeX7pb=2jn7P1xGJ+_j4bmMs+_ diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml deleted file mode 100644 index a4ee3cb..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml deleted file mode 100644 index 9e390f5..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml deleted file mode 100644 index a3a234a..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml +++ /dev/null @@ -1,10 +0,0 @@ - -
-
- - - - - -
-
diff --git a/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log b/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.0.200.20111228-1245.xml b/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.0.200.20111228-1245.xml deleted file mode 100644 index e0de515..0000000 --- a/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.0.200.20111228-1245.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - %date [%thread] %-5level %logger{35} - %msg%n - - - - - - ${org.eclipse.m2e.log.dir}/0.log - - ${org.eclipse.m2e.log.dir}/%i.log - 1 - 10 - - - 100MB - - - %date [%thread] %-5level %logger{35} - %msg%n - - - - - - WARN - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml deleted file mode 100644 index a681a3c..0000000 --- a/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +++ /dev/null @@ -1,11 +0,0 @@ - -
-
- - -
-
- - -
-
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml deleted file mode 100644 index 5ca0b77..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - -
-
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml b/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml deleted file mode 100644 index 4ac7978..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml deleted file mode 100644 index e86ccac..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_gwt.png b/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_gwt.png deleted file mode 100644 index 8f33b6b47f5eb6233215e56b1cd92b3116c71738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3892 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 diff --git a/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_swt.png b/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_swt.png deleted file mode 100644 index 897496a555c115c3f6826dcc8703d999725be298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3894 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 Eg6)rWg8%>k diff --git a/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_xwt.png b/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkit_xwt.png deleted file mode 100644 index dc1a68ce930096b79932aa690dae19165c19aa47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4007 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 diff --git a/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkits.xml b/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkits.xml deleted file mode 100644 index cdb6d00..0000000 --- a/.metadata/.plugins/org.eclipse.wb.discovery.core/toolkits.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - This WindowBuilder toolkit allows you to build user interfaces with the Standard Widget Toolkit (SWT) from Eclipse. - - - - - - - - - - - - - - - - - - - - - - This WindowBuilder toolkit allows you to build user interfaces with Java's Swing GUI framework. - - - - - - - - - - - - - - - - - - - - - - This WindowBuilder toolkit allows you to build user interfaces with the XML Windowing Toolkit (XWT) UI framework. - - - - - - - - - - - - - - - - - - - - - - The Google Plugin for Eclipse provides support for building projects with the Google Web Toolkit and Google APIs, as well as integration with Google Project Hosting and App Engine. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/version.ini b/.metadata/version.ini deleted file mode 100644 index c51ff74..0000000 --- a/.metadata/version.ini +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.core.runtime=1 \ No newline at end of file From 98cd4d1fa483dbb583fa6ce4eb1a4d1fdaf1a87d Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Fri, 29 Jul 2016 15:11:26 +0200 Subject: [PATCH 10/12] Edit readme --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 09bc099..096848a 100644 --- a/README.md +++ b/README.md @@ -1 +1,13 @@ -# routage-optimiste +Routage Opportuniste +=================== + +This project is a graphical routing simulator. This project was design for proving that take care about radio conditions can improve **wifi** performance. + +---------- + +![Test](https://raw.githubusercontent.com/manzerbredes/routage-optimiste/master/resources/screen.png) + +Library +------------- + +This project was made with **GraphStream** to easily build graphical representation of the network (routers, links and weight). From fac98e8fa1284e7f92f7c859b4e598d4edab3bc3 Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Fri, 29 Jul 2016 15:13:41 +0200 Subject: [PATCH 11/12] Edit readme --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 096848a..b9a5675 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ Routage Opportuniste This project is a graphical routing simulator. This project was design for proving that take care about radio conditions can improve **wifi** performance. ----------- ![Test](https://raw.githubusercontent.com/manzerbredes/routage-optimiste/master/resources/screen.png) From c9b300642c8ebb58d62fa26ce67af835824d1fe3 Mon Sep 17 00:00:00 2001 From: Loic GUEGAN Date: Fri, 29 Jul 2016 15:26:06 +0200 Subject: [PATCH 12/12] resize --- resources/screen.png | Bin 39732 -> 61788 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/screen.png b/resources/screen.png index 9f5541b46bad9eddafcc89ddf4ef599013fdbd04..99da757d4f36500aa5b1f71913fd608fe1e9be81 100644 GIT binary patch literal 61788 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
c3$?h zrtqix^H=Um0)#@Sd17K%gQEh(S{t)%oeI;^RB;P_nXoL!hq7tBwX0+Op(K+3A~QAI zQGpD5p>Eepy58+H+|R@AT8SG{3fPDZY(<#WXZ=GQg+YhivVZBI`7lSsL0nNf*Nzl{ zBiHX(ZOwnCRhwpQ$Dl%8qdZdiVKKbNI9;;IuA!mn;5)8_A1!sm&J(_o4op8$8~qk3 z!j6&{-wiqh2LMO`tCv=KmegiieD35)k@zZgZk3J?sl8VfGftcr`88PVl~x{QV$8x5 zF+}&VfjcHn(ZZHf7chulzXp{^QeiuitgPFzalXp~VKVkLJ(4*Z8!{kwC<4wyq-lU3 zJR>A5AuO<~CXew^Nc=3taz&{5m@)1Hh;1tgn=AXXihr>pJF1Y5$=7;cnh!?OA804% z2{zU+PL(3tH0JZ>Gz9Egzq(GN3WU8~ma%BE$qm(q@*+_{c2A^e?s8&Kp>O;(-!Ggeq_zO)X zQd-NZF3)BQ?gJs_M?eDp`xFuH637h{_|bB>#-?9LQ3?&zaX97(jTDQF2e+=zp%1e${zDMLK-D4xoFX+d)4cg3GNMMxEgzia zy`yG5Y-L~W&zdmpDcClx|NRFwaTtt2fVjEjy_x)lAeGBQH5$5`+w)0hh+laQtkkBsCH^^^MWMs8>- z@Ei6i_u8C?uP$6grqdiD1yBb;Gl?;sWE3xM8Ai$QeznfoSbG!QC-{B1z`XI=rGvbr zW@})(AVbTsO>jR{O5&(SSR5sKowjm)>XtAyAebMK0sn4K-c4vb73k=;ki(T3ZqPb^ z+dy)iIf!?;e?G**vcHAV;_U3wpIYkzv(M5^gT4yKJ3cUsjlKykVYLoV-Bg$Ct(8X- zOV|pI77yNema1sdt4x#6)@Lc@^eT-QQ4{w}9n?!%< z!s)l>x{y#J2?EKq^^UHQVa-%{hKY$sO+}?EhagbJe(5Wa?jx1m{0XT^*D17L#TC!2C- zJre-Wu!k35`pf1Wyob1@Q1;KcyqXsF+vl>@FE2kBlphN!7dl9S4DETBLL;=6a{hV8 zMxhk1n;QDnyG2Y`fT1Z@2+K=syiZbCE$HRSwjp;vp*W#1<*3_IYH-@^2_$sI3Y!rU z20vbMbSfntLM3jiLL$dyf*H)jsEG#Szcb*LU)6gCj8;hTM{P)1sO-BWv znbi~CHn&7xXSU3G;YFop5%K|ALD;y8EI1Lnp~@E_K*WIfe1b>7$3?PHgLMmOqDy=| zG>?>t7G~#ERS6|e%))gWxE`>J?g`|cbIGuckUTHI%u62%IB#lNs)^!h!5p3E+L0@o zZnQ}@W_mm!Hm3R?BK8@!Q}8MoOGn)eH36QJ^X#=};qMi|+l` z-3#IIjn0NC%Xgw>NTs%SL~1L=XslB()d-QYXQBfMdu&cY&}B zUbeQ(VqdNo*o~Vv=7WMJs>bI3UkeZfw<1mas7a5LfqJ(8kc*4q4&Gsgg&K!#gY@?T zw*yUT9Z)}16v%SUT2zPC;k}SLbxnP)Nxz0+lC~+wqHsOE-Ocv{hn=KUrA)CyzMZ5i z;COGxF3|L$zy`*8QPFdaw(e>!6C+fz4oa*yhwIM@d(t0HM`6s5HW7UbK-F25^` zFlX3#ymrVW;{qdZbgg4JwUfcNRVK7+%FMpgp6MrL96y)ixnqQpZs&0bmjF{6xScpH zthtoa@hQt(7d^!>E~{*+nVQ}5YB1$?T-8;I3ATz+i#zcQ)WoqLq_&Sol~Nh?v3%-_*0rViwk9s8-5TN)G3aX)c$FxcBV zk2S+JJJBNUxNE$`p(aL-Lwd*UKlbg7xkLBIIpaz;ukWa*GU<^hcVD{XAHDc|Hm&}7 zK;HdK27~554?Ud!BLV~k9fyOA9BC^93w)e}ityl>N0wTx`Da5t5hfkX&xhQXxxgk| zjfd*N)hCT~jfp{{#W;taMbE4{Qr$YaexzQE=Fx>6qMY>~8|zwHKIE~VIv^b<(2vgR@iacsjEWqrY!m(-^D_3PJ3REG(=9ziMC8PH(pR7JiWoX2{I zm3CKQmr$~?5%lM9(n#dRp_m*5Sn`eG6}V{ z28+baC<;>BCr|)630#d?sO$&m_X+7dA>L)Dy@S#Qg-vN<3f2`k%&3fw@9Fh>S3=XY zuONOTvnSwH$xcyewi?HY@w*(PFrhD&n%gzbs=3^-w$@A$BsEWid~$uTHn41Ux)jWS z7~_e=g;zmG2T@n67ovt|m8@taLZ2Yky}V!lRG_1N{DSyH`3NS$d&64o1MC? z?NMliZkLSoqqcS$&Smt`5ApIQ_tqOv+&Sy%p5vA^VcSlF7g}mgDN5*oRtMXb-;?dt z41JlqN$PV!%6CdZt|*2zVFl^DvK0H3lS)os00~mT-iVOzocAOOFiDAt_uJ1)tCOc` zyr1MqGzr{txDe&-DZ7^jVM>XvUnR3c>rC<63!q2FL4(e=>WnXI@EIy!A6TNkWgBI4 zO$BCJ_`VtY?h)yS2r?~=#LMfCnyQFM$16ppn6tpO5h^1vP1<-ENn#oGakB0b1pgS{ z{wrZ~jhBpYTEUk6t73Kf#$Weqk(36VuRr+&9raDU%oNUJJuix`^#wp)y^NF+i_u6E z0-_Iuutej4J-sDcwFpKYuFDkqP%?JsA9fJ0BQYX8C9Ixt7{_2+P?mjOv-y=lo+N<+AP6LP?u97Q!ENusxQS5StRzd`r7PK;p|d;ixq;DV!xiF%9lnnYdI9GJ$vXb6?iK4KO_d?Wa?P`T|=SB=t)%SGF zdu8w5*6}T=PkS;pqgRQjsBXQqY7-P77WrTQ>pzMNxR*Nv^4JiC`~n|j5b|!dNPc85 zc7(&h_0RCO*n@|=*F$ue|NbU#l_jqK-vP_B;$&D*1PdEpxyuKUp19|VQ4>@{h?28= ziraXO{TL7J>0kRLN#JVG)qacRPUbZiWON&=?MXs{#;x8Hw+uG^X%|h3Txhfi@0yz0 zUE)O^8=!m#4ie^j+joCEL2h*i%5UI#IU(f2`U66f0N`Ucz#jCUTQODqjzQf?s#}Wr z`T4K|`7rTc`3&Ana8`g=?D+Wjw!NJ(BhS7~gJ=5&3i!2|&5dJZod(Vvkj_7c$ql-C zMRIF?)0~c>@}>8!UP&&KFP*g79xHRBqFRPK!wyy)s{!KjV`%Fp$2qZywRoz{172mRtZr9ExZr-6X+6Dj!C@}2!cxaP^nF{Ny=qKhVH4k$QU?d z0Ilu#{ZRSccbo~3%*ZTsTqcxeI|C-g^&`KO!LUOZMWjM%CcEFk$4Jd_;wi!xhMt0z zzNL!JpYBh87f_CjT)0GWtAeVYGu`FzzytKv{xbj*&(OBocPoqE%S=D>?6j;bAgzfZ z2ZRxs3>^eWG{De(zJKlK_F%7sJ-tqexgz3CrPj~T+mJjIrYz=mT7cAc6{d1uF2QMH z|3oH4Fwxd?2uLyf6dQjcD^n!1l+T`bLFi6~M{I#FWJTh11>nQp1A|0r=NbOZb2Pyg(|M!pwb!^TvH;t}vnBxQ}h`Swut|n$r+lh&!!Yi!9ilU~{u zA>(!)qEA&Ax+{(ani51Jw6cFM{6_&*bdv4{g^?fa$#a!g3|s~tNDEZ9PehB^3%%K6 z+%0IaDosn#=QbfoFvw64Po-xLvyg-@gpBykt%?P%G~d4y5^P|8eXL?w{HkFFB-G$F zDDH>MtRj@rQV2H?brDjF&+sa9Pw8!*we=K#9v%JPUvfs-o@m@>m5lSDulL$V`CjJ> z7)BmHd-lL81~uyaKJcr=V7v9BWab(+!_10&xYQ@^>!c>o8wlnn$ug+6FmpiRW5UV&mm~Y1jVYCbrP+& z;V83^0kn2h`_;>E0s<${!(B=e9IRz9Y21^NdQrehu~fh+#TgY*yJqoDx)han0eL=z z+ytGsarSmvWO;;j*$@m^GDG-2h?fiPCu}@BAA3lS>p$7I4Zb^Swxp;@QmO2wJ<3xD z1xSKP8xcNNXG>bfl8vc#nBf(JDx@2_7aBx0U;!Ka7-z%4lQ}g`#onNAMBREV@yPSCFw&@_yu%0dVh0 z$Bu;(J-qe*9vE~B1Y5kYxIY<9Pol(&BNuyW4f=Jeph^FmM-mIc#EsaQo;)iCyy_*i z0gF7G{eQgHPf2vYbTVoqOO*?No>>OJDdx;orI@&h5^SJwjR0Kh$@I8fU|wx|pW3eCE_Razh~0E; ze&*7u$-|W?S1tr8pFcMT%A|>df}yOAR|6+2Rg$#iMH& zN~D#9wH2G=W8~x^@*6J1PWK^%<6Qievkw~zQG1&D=6Z(Jou+?JA=Wi}rz6%fG!z^s zt(QKb%mW8zjSVvuU!Oi91OSQ8pD2wGhft#I_kS*-N{qV?l^rGa_6M>v2b%+RPsbWc%<2b3U3g&0RoD2i>;r}R&xo5KnQuqD1 zaJa)b`O|*^7!Hc9R(s1Z9s|b{c)%&f4qNzcbRFWb_!46kQ(E?Q7FIvZ?XdmqQ&!=n zT_|w+n!9OEmu;km<6jq9a17Cz5saIJ?F9GoBOJ8P4R14Vx%;HoV7TNcF?j<7s?Wn} z?t8a@b^!;#*RK!j&pSkM>;vb(c_l&{To~-pH)eB`dj;@coRkhzQ#}v#GY=(lhgYCb0*zy&v75n1B76_GhQO!~7>Y2j zf=miF;o~DuFH0fQcP#akY=$imShVC#&(8|m$#3IWybV-LlDrpEIH2GI&Nv%{JEiDL zf<5&6D?c_@=p(08Il6EJwBW@eoMJF+QT#+{kq28Mj`ZIt^kY9Ms>mWT_(#9j_g9I~ zoEQ1(@U?p|HiTR zGBGi+`ja=^mLBecTNNujAw!2-I8(~+Ca9eziyMA+qq2q%=?kn1?(e~GeL-WmJ?PPa1{m5Ua%8Jzc zX`#>4yYpR+V9>aZ?~{+L)Grcq{gRWOpGkgB?dJ5+>RAp^03kwUNWjOk$m%)W1wiCb z>l}TkysKo*zG&4}r+Cj|_u0AMzp0KTTE9RI$jEzr;e4!}H)0<`{DD)M&Zp^U=_7sH z;s+2TbBL2TF05xvw{G^|$T*sQ&C!a<59^O23cXV5oi`(-V*`W%79DZP^oIm@%@Uu8sBMb+A?$V^p2(LdiT`?vX;OInrA zV`<_t;aT0f_v%Sl)d0&kL(+g_1^go92_}$6(eSV;C2kcoqNUva-ozgw7(ULPF9&8^ zYlr6Iyqe#d)I>=;XNAzwt2EP+?cG=~61b`r^Uv9Ub99w_y@Ux0CC`%K_T+PNywo#I z$C6vPrrmzbzBXIw4ZpR=i8bDqA*+6GlcW$D_v51+PqO?Awe;VS?T}_h|5RmjN$mI+ zA<tdh0y84X~8n))kjVy^`VUcGGh;4Xq)A zE9A%bnRqSC-eB1#6>-|ioF=JwJ^Ese&%Vmzu^E<4-xa^{!reJabUTCqGOS+)R9UZfZoRZi5Th_0wgfaBJ(8MnK=NQ&jgr`a+f~

D%-A`23bM?J`qD+P^)Rh`%6wtc_FxrFwA~=5tLW_ zsKqB#-tVPi{=DA76KE4<8Cl3!WYZ@i%{(AXOp?>n(N+4(wP zyHQ*dRn2M}-rx{(5%&!d!}xb}$+naa%=eWb~3%*=c z^D@vm8VBWRWtUOZ_}`#>IQ9Fnt`UlbDE?R=$vQ!ybS*jeH7$ARB5BW-)Hc8S6T$bC;Isw?+PA~Nm*F#pWf&`^22qmac%s$SxQEr9gn!4HLkk~cS%@y-$+Y_iSRq22HGcKQ zvSu{1CxK*RMEWxOQQx~$)x~{bT+3NFG5r7#I5k2#<+rIkw=eaZ_(y)f-<06(w3F$p zFjs!Ko<;4zE9vC0eRiyqRT0W=GK>G}AIYWc-xZO0z1C;?+G$1hj!J2N>T!kBT94%A zR%umQ`+2&jB*%Yl+pmvi0ysT15||pB$%g*hxbnfai;wp2##v_J##Ve7R=>NR?z`>j z!=})PgCo_GxA*^Bq3=LGpCU3s$eQQ$Xy*F#Hyj9znbz6dfZheKp z{Bhf^3YKk3HMBLWj%Hx)vTfhpGrwclX14d-??B)@BvYJYuQd4eQFyo^N4XBxy#-Mk@`^XCI(s6Fd^YYp}8O zV`#^k&)&XG-_X6;b!1N}5)2RQQ?5&9nYD&Rv-Sz1|cO7esZ$W~A8O zZ&Vd(>vDfGgIbO9;lICCRFXfItGTq=;JQ4}^S)rwL;beEz#f|JF>`xA6J!5V4*lL- zcW2B_zhZ1z+vVKrUb*e8(s=gA%Z*tkRU?r#m^u-4^G%I~+k&7gexIN`eRthn#wxMH zx;cKgEw-JOEq&8+NFmK%k-I}CxkK3?mu(CA-I?~{nTq?OuUu62Hi@9!3qTKv#wM=* zrdI1QZ0;QBJVai#r}8tgyyzb=xwz|`NWAgXp!qPfGl`K#a`p5(6P95{N0R8V-8EvY zf4_-+-dYkcc~T^m#p9fRpXW<2bil)8RaMo)o8OE)&F)oRNNVP`9>V-mRWD~@a#~+5 z+3*|wr|yf2HjZ@!zLF~su(&?qdsWG)HBsgE>eP$!ZLGgP*QJYpzXQ=Fca@OZqmq3_ z@?)moC6a7RVtA5l2JXjAnU}C6o#y5jU0;Z>c~jA!H;X_*b3%!}Tiy8w`Q>C^r>8bA z6weOLcyCIhc#43Wg9iupZ z^~@~hu%z@E(vZ}{2Y88mxw!OYCm`Ln|9PfG+Hvz@v2TD_;Uj9PG4AELP(t-i!hfb7 z4B!9A z9CDCeC}ed0Xv5TcZ0tsfu96dpQzJjnb?)@?#*(y$lvvF!hly`AK0y7!5%j-~IdIfK zebY|cpJhTgrbVtbJpOysazOd1_Dqx-X{C3jrRey;+!EC)Jv>{UMw9@TBpH~KH_uWK zzufNkOMekO0u;6qeFE|>E6^qGO*cen=7Fr<10)+F;X?RGki^j6J`T)08M>Sxp_9U1 zY|1_O`}_G>l{#nVvxmuOXW~J{(^#5yWZ!;SnlG?narhVCHi*nC$WS;T?Yyrntp%?= zIv((PtjYmY2ofZbet}5ED$9#MNo3Uy!W5yMn=W!SJpE^9Ic~Dhlf{vkigiEGOh45whGCix^2z*Lju6~@qUA+AW@wGk?qw^$`v7c!GN4>Y)VC6LVj{3;-pE3G z|7Ks=KBE7)zkex^chB0dPZv9Ct&gu}NjA1NTINJkqSSqFVs~D^8Fs#*qXTar%(zEc zM8ShYQxGs2!)57_Jx_b8owC1z;`25}l1&RL#WjHX6d@ah0%E$i^bXp9pNSc2@84lG zTCb`Txmr6n%qLtsX4eI8h0q*m8h&QPSwpqD_lr31{n70%&7WnfxBnnJah#KviFc*h z>*zM)$N#z)DnnbeNV&kTKMo61bqEeA_Y9%m!Z(>hkXr1JIL|dp_FMi^O8k2M(oJ0# z37~9{pShq-07no)nTJLw91{$DWRo@(UK*Kt`7zf-2=Xy!C>$Mub%Wq1mRN-1grg}D2x zXwOnTsJUMQtDMmP`UO$0MZ$Q31&EH86T9NwX`f&lKf!tl5s(HvbX}+<73+OH+%}GZ zub8&D<(rtgNB^kN=D)qDN7x5#Ok#`^(oZP49RqLq>IhtkB&$!!3}y)W`Xrz}pw6t; z)QyhZCau;cr_v!AY`l+q!6SquQIXwOuC5odDO&|gAd|Tu^Xq z(eV#N%lp^FWtyc%XAQkn};vmhs#p zjyo!1EL2@=_P1W0ntYbvL*mjQV^TPIVpr4Ap5*7pE9G0J-=6aqyy+_MIcav?;(BLv zEA^ee{+X2st@P#Fb9-z7H@wZBwng7N<80^X{NO@~5ohSx^u~aOf#XY83;mZK@*97k z-fDOkbu^-d28v4qP*+-XVXuE<%+IJFn=Mj=Z&?Prst~7lS9nUxx-Vud)enKNh`Dbl z!`BE=u=w3IkJbUc-F4PY)}>qyIU_i|1sTz$9~Bwv13&zF#Ns!$_%EwJfHKcA40C;` z46}D9wCW2xR0s9X)Qrv#EVuzTNy~AGiqs1pz%2`TpyMCuEliSyFz_8K7-H8n02lQGjN4DLMCRyad@ z^e4Ajg@d($)a366`mlpbU1qZl2O->f9GzOlKb^?pLnz_V8cgRRDiZ@+&xVb;0Acg9s>A*LR3S;ezo(avd?%*o|yan#&T)HG5hR`Wu9tl*1NM^j*B~I{Y;)b zeX6XYB0M)o#m&vF`FGYW{}PbB6-7lBrQ{DNX5@;7ewXpxSEfN@88Ff7Pokn4Fj$lv z6hQ2qx!AV5Za+xkg4&MRo*a|}v+~Yog;UbAtbmH5(DYGVay_1~-&r;p)2A9lY^~gs zeeTMWVc08h?uDbv(o0AW01hiK{I>fRZs-SRpM|n)nLETz;y1n-v-lNE zGaj$14FCA~1QKUlU9^Oa-pvQ$gqpphLlZ>MM(`E%%b)d9YrNsOIrU?3aM1JH6{W;) zTkdJe*T(j~-L^10oh{^7jh*HrYExOJ0h5Xz9x{P}ftW~n@SCVE8cC3RiHcr+IVH4? z4&X3>^2ewfKEHsD;PY`@(rgvWuexO&9Zjas;-3j;jl;u>TM9epP&PS8x8rlRkv!RX z=_xTZ#If}cqJDfO%=(|nU)C{W<3`9LfVFDNS0Kxh>= zYk%QK6&_ME#ut8=Sg=QZ?hoc1kx#ejbDVIHG9J<}Dg4D(f8yBHq6>FHJUwHZCGF%q zt_c#Q#X?8^VzU=9(=9QPn<$ntDaMo$<}nn>=mFq1VZqp^2S{B)2&g{wHr-y1~@W7BAWclKcaLZE~x>218xp_rHUy+rTi=Fm{m57xHs;9a@K0!?h z*5W=gVj41TP5M&7-QR6*cKJwD(1(?TM^n8%Q#}${8r~Iiu0?zI%m!Z5P+~|e1Z8tj z>Rs9zcINdscP@Sbp^ts%v0@K*;6n=_{U*QX2N7-vzAKdOy+=zYMG&g~Wp|Bx%dlzO+q zmJkM_tCaZ=)WNv}l!p%CvEOL>eqeURgU?sY1t9`42@^61lsADzCZK>sq$w4`pzo+) zQfQLS{*ACcGASxq8(n&`s%58UDWPkG8#9UDWsV99_P}7AEKEwQ&(V$ui;w?r;wDjT z1>P8?VY3+Pc8N1MQm#P_o0A!HTFLtB^4#oj_%xlr#VP!uSN7Ve#$RPqPKP`}`ws#q z7xW{Gi3%`*qekVjqxKySH&Arv!UL6iQ(4BpJx}pp;=%`&)zlK-zI|Lmg&mR0uZxgqafni}Ij!;QoMLB59p9a$Rk4@6t< zdvCJ&?Y_mVp(|UqJ?!!0Dx8ZN_V&4MpA-8iHB?o1Mwo{sBx8{4gN zzDbE-!vMZ)GkkU@iIhL{NVICmu5(E1=d-kz+KE{(3Zg)W{ePI4Jie@U;vPD;eXy0b zwY6y`S|pdfB7M`@hz*{!ASgNgkiomk6mS(hnxYR>X3bFl1$+|mD7PQK( zKEiu<<9M0HM>}>RYX|-PjVbt8%d?6sCm63}`kIAU{n5}ibJ=}yb#W>%G;|cAG;QJG zfbIfyz{PQ#6Z+rVkyP`m>-ZIqQN|`wk>Q_TLrD$!UwBMR8nF%%Pf}JaQ*5KQ{G*{I zTjt+j$DUcw@4p_OD#JF5ZR-!bk?&mQObuN}n8*lX6b!+?fmlTMuxG+K(RBjQY@#iN z34by2TqH-{BaH^}8G-xV8F67?Zz5deyU%X_S)BSF5b5tQx7TU1OF^Y>S^^!sBuIb~ zlas@rKFvF8rf;I{M4%w(K?j#v;r=_mwV-!6AbR0UzzkPeczB`VmPPbiy$$Kn0 zm9wu#>Zj(k)1hYG->iPsz#RM34-xn+GGb^O+B&EL1Fq6_BPxg@u;T$iLbp+015f*` z0(YB0d=kZs$*f!Xe^gw=ed%249f-ehZXY;wXsZwYX=4~Upu2@9XwPu**$$NzjVfLbw>LqlQ#H=^f8a|mL|a83%xAPYlx$Vq!{<^4UdXS zp-{O;n~!)&PyM>(M~1o zglLH(UwKMQ(n z&7cUH{84&6Dz;(%YB0uGAaZ~F^r_ONOM7ri z5Q7V~f7)bldj7pgbZy}L)qM1t-2rFaCx$Tu!f_L{sl2CW~8Viuw71op``pkOdxVXVH`c!=!v!4TP1C}MP~V@ zocHsDgiv$cHTa)?;S@B* z&VCBkZg7rbj5|Le_`Q@MOS&Zaeqeng1#A)-Vc*&?_+dGEK+rJu5=2#qjdz&tP>FeHWU8Y&pzOM8+FsfSyNeIKqLJda_?h;xOk zJ5tuS8FES3os6Xu+mD&)ILYTx($}rSa`~FdP+M1BI>RY6dxi535fBox*(%ZVgvn1> z{hdOFz-!?$@g3JzO9aH{vHE5Sf*>|Vu$;khHvds%M<{A?#O-74%R8YxA)XMV24($^ z^;hoVLvUKtLSFfeEqUJ<*u*~n?ZC6_MaR%;J2nEpNBzvw9SDhXpdj_^n?W^X7{juO zahxylBzBesYmIPC5i}70Og|bwG`ZT!-JRVQ#_PP-JH74DFJ{=kzZJ25tA_k~EiwVZ zpuS{nAW;|d!)+pyPy{{)vwF2m18e}q_pAg@3#J{S3`a1Yq{$=>5^)vgW3Iv4Q;66q zKm7&SujYHLay>H!@Emy)L$U}WHO?WHh@fEI%+f^jSG7D$=fZw5BxQX&h}e^snuK1woqgfl+SoXNS>?lc zCK*nvAbQte)ciikE%5!f@433|EE6Zn8s@2V{+0-F(dPaGtm+5bSmcCI#M2~gbrCbT zUA+}3Vc~Cg_NH`odJMdOKujyac{8&h4J$x!`QA6h?BVQ?>-d_mltEHMywa#fO`^* z#rOx;Erj94z1z8^eNA+I+zfwsD{iy1vx8toOWHCLfZ-?(9ahyiT4skuF_gq?!EuIw zk!?Zbrv0^stHT*i7|p3YwtV?uCc2KGO6PQHYxhzxV2AHp@$R)CRDsR-8@otAdITiu!G zXCee81~$_VIOIM-pVtU9lZuMU0Me9S#33eGxk5ulMa5?-+72Uri|o=>^%$nG?=mda zlKm%V`ld&A0y{s7PZRd2HAv|Z;1Ss%j&bd&WkUBgbH~L%F)A+!!Gp_gmTjM+3ZJj^ z+tiBDR2US})c>WU@(=8i;B2b>arRgohvQp*i%!bgm9oFnkJY^aJSSfH6;u;hcIC#xF(fiYh^bt$?0_~yuueEx zY6BTm&Y!=M6B7;4L_0Ct6oU#4?u@?QcU^N=nSU%5>+qcB-KEczGdV-aPvRN<&A;{S z`o0-;MaE^scyPV%j8-VLcTeKu4X2vp;^WW5u>q-LPF>O)Cssz1J4VV8O2rp|-N>$y zF1Z7dcmDWRRn-?%98F9vyZ6}BP{ywgv&C=B-k=_O%OB{@xae{x}4X;kx%D; z-)b3rMP4tl90SK&7|u{ztlKUdtP-J~!dusoK)AIBbi4*AYZjdo{qi!>rBc8eEt=Ef zKDVE=q@KB}hp#Vo-gesjfIxed9hd3Zz%v}sJ(zLyiF~Mj8+=#VZ|Rp&T+7fcfhx1; zYlrIRBXx~tyYz#i?({1QJ=!Lo<&4Gucd|SD{{1ZlxB6*|%8L>|+4H7@1wQDtZ^FQ;OsM6^exm-Ngr z-Ma6B(sMdI7wfC5s(zRi-5WX?l(%Kj!_bz^j&)>UhZOBMx%c+9A#FDA#ri5oJFoH7 zhq26ZJR9A>D@7dRm?Xm#tL6IfNHTT_q{3S9v9I6q+cSDXPz0T=c<0p`V1AN`IOz8m zO1TY|Kl29!GgV{`P30Br-o181F0`z|Cu4Zox>{UZm^QoKz~Z&pc~(gSv4D%$mtLw{ z?5yPUkhvcBnMzu(d{us2iOSFBgOSwZwLy`Oz9t`QB!aYU-&c3@vtQ?_v)j10+4S9J z>%yO_>G3-`#H|@&03sqYY6Rq%;USE(o51p*u%!FeSRsG)hDWM$4e(g0BwQUPNN_Rw z^2Kt9JF(W3?yg*(r&j$~v%03+VK=M86MA)Zm#>L5^BQ}-$=4*A_*G-7h~iR?FB1F@ z=Jrx^-7HNP)1>u}T3=c6D7J3*+OOzkcf4PH#U@U!^|sWb&WYfy+M)G|+ zulbg7HN{~;8`c#A*|M*)OO28;3)P+MlU)N+k0V$BNGQqs__M9u&6s6dpq<>A%>|mW zh&oE`gy2>)`dQbar8gRfsr+_m{oSdZMP~Q*!&gT|jp2`?Zr_$&3Dp+Ct3i7SyAXL7 z%FCERPCO{Lfzzz1fBx8`K!*0vK|w+FYHcO!vxm2M$*--6f@A+XA%rJWE9YIxqsDj4 zPoDggcR5$>R)MIoU@5gJh+2>qR1ACRh8P9`WH+`D57(L8BrX!!i+8g`4DrKBSg z!6_+KrPmws4*G1q^{N-D3OQ3e_ez1iQvx$2!zy?iUyFc)X<)W3gu zJh?fewO4B*bQ2IT9&zz!kQ%f5VBXV1gr5$ohJ4)-vn|0 z8Ll+TlNwQE+2u)9J&CNM^s$3w6qmwx+jPFNth;+i_DH<@8QR*>oWn;!_)+Jny)ZE2}%UM!2*P3(w>fYRe#H*NZM0Y881jI5_+LlTNyq;=Nx7|^?IO}A8d$pCN zeT$w1yvfaZk1`tC%jPdMm-yxqgA^Wa+k1beRsK8qX8s>z*RZY0@bZkhP7nU%v-pnZ zH;UIF>z)xI=s|N0(K^49aymf8$a(v=DJac7&rvDG$GgiAP1L>(96?7|5y*U#hT95e zGn&nKyn?HrKhRH0qBb~QHXhRtNZ4DQNfFI%Hc>>5k|iWKwg0i`AK#EzuTz z=^oY6?|88{|6ua)AML$4oTu!Oy$e~IVH93AS^*1v)dmcTtt>*US6lhqp{|4pApz`Q zO-O&5gA}o~%=Z8}L(AI;`YMWvQCm!`oH1>Cf~q>E zhU@G{86%BcpZ*v@!&|#weWqJ1kkb3oh~AVc09xsHAytMlA{FFhrOx~2aDGmGyWaI- zzgVyMOn*sAJo#~r+3SRa9#C+X71f2WUt&)2A-10&~FcTd%w zRf=inyRF#uUa7L@l$KJn-132^mczkL?bC^z^BqZkZqPA{=KJ7&#C9Eyy2*@P4qFQn zBxOAz_4oNL;yAfC@2&#h`b1yfhk3J*)v&6bHPu)5F$>wWkIB2&F9#XdHSjvgZDO)t zIgcN%&c!ekRB`k0DD#Gf)4qYu^e|{ju$-+hd@yaH>0o1fe*`u-+&ZPh5LY?7=^x+L zJEtC6$ui}b87GxH<@H6}j~Ew@xUrI5{^FskIUC3gKQqfOh9ik2&y>YNpn`sqd6QYy zNnQHE*~R^HwX#R8S!KA2@%DVdbcCe0@rs6nK3)D<<4%CdPR;t!hDNa~lEA<| zjUzNmI6Ry-8AePoVoOy28(E`XXnwzY87k=|FV zJz#&$sGI8Qw0VahpCYL^EfX!iN!V218j36DgE~R2FN3}xnxD7Cefg~dQuR)#3Eg01 zVwl2)_z&}=vX}5NadD~rtOvNBTPS_-(I+F$eF>!^yROlMNm_S9On#o6ced0K_?A29#`q&fjqDu&F zjXs&<+TLW!E9a8WzJ~C2p(}{Rh3;r!Z(wSxE0Jqk*p(g-aiOO$b-BLxDvOpsQp0J{GkdXR9zKjfI;{3J^;w&4NF8i=|$a*>MyxNkv9A%E~dw&sxmg`}qrg{Hyf@8x_98h`I&owvc}WeW>hUfXTpl zFwL=y1F_g$0EZqbDXBA|vR%n2TJqG3T=JneCyPLVm<_PJ$VZQ!^SMZP)IN$Gx5t=p zP}onF@Uq3mebi|ZtAtuq5sPUB69j~9i!{E-{I)v#2jm8!{jK zzE-#58>RC^@n&HatvCr2NrWZ32eH^~^+firo*oTZxCPmtglhKP3EF?()kT9s7J3?x z;#>;}gikRqv2EaXfyc)$Ndcg zM#=CKZ5Pv*X=(R=ZqFZ{ZXcf=dF#V`bB{UVCo%R6j56N55oDJ^z4&Wz8Q8`1(m6m= zvW^^*PAY6jqsLJnp8}3Bf%oWWM#r~#mY&<*UxjY(h+1aU!Hq$Rf6B<1m!Y=vCj1zT zrz+@RS}4!^I-FLx-N6{jqKzGLVlm?^m5<(|6A+KbOWUK;7W=Qhc^S zLM#^8d!yA5fPFL;Hnw??F~Js~KkGtk$&$&5TL-=~A?*urXTj$L_+Tkmglqso&woQ@ z)Rkdoo+b6Z`NbrW&>C}Hix5S}M;C6~cHzW#>x0dAvw;?tM10fJmmZ;(WcY9*)>2Xb3aJZ>XprFzv@s7JzH#=%Z@dwFdVM|qHqB%&=; z?g|}I^Ox8w?13}ru_GYzi=y=I=xhGm$J4`hJ-l`A`-1z~X0If@1pVQqMGD2N<+&np zE_t>3aJL#S+ypJrb!FX`C_yV529RW<_^4PQml-$Y7EkR=P;=*&Y|EU=_d}d46`Y9} z!->t&iB2?|=U54UzL(ra{LZY!TiPPrFbIA9&;Vqc*@{(C***1fuh&PKIbGc}eb^kx zp$A3$A7Z6W02YRAVD1XcH-`)D1c?AJIql0)dTBjjetxoFJpH=!9mVagjp+Sj@8DLZ zvkNp>Atc4c8=d;ok;B18hR?BbRxWzL)jSC#tI5eXV4=6SeCu6qUE2qSfWng}?6B1v zK^>?L*R-w$g51p|QP|`+N2kK*10zVu-Dw26N-QTTxPh_+MVtn{&GrwB7vM!q>pJrD z+ugM0^lgp(tt4{EdJ6VTiEsojflX-lbY>=a0kz{?hxpajo*ZrZqJ||H+KG z&Imiu%rRv8FQ8zMz_qfH8+^|QXjk7~V>PxE0ECPT7~2v!Nr`jg+EAm#AAf%xe9vDO z_NA=smAxoRwwdR{Q<{kw4Sb{UAAtacjzs(lb~W&G8@f6m2%oh(^YRALaz4vBONU^v z7#T*$8mwRgo53l+SsE;4N(OW30@&~#^f(xf@VL!uJMgox2p)xfrJt4~V_?9pdO4r) z?ww|^J`KE{0V8_il_hR&hv?>RPYOGb{`_cXq!iNiK*>m58w(MiULc051|^{y#06We zc^tkm)eft)f(dM1g`|a%k&(Pfd&EYc#yhJNcZm$GFG|YF^Wd**^8W{V?h>BYP}#oj z_0ywf+>mA=q$(x@VnM^B?a<8MLfKiaV-@ueZvGs7`MC^cj0hW>w*9v(@HCY`R)e(b zFdRfQ#DJa9R@+m7495N3#q!Ei)v2iR?z_Q~VUTau2DnpUdMqki|9g8o0=?thvP#0p$B0c=MA^;94s zjlgDxh;|W>6ZG-HGH3;Ls=x*5t=JgN79oy1fe~R&J=<7hIIZs+!6}{AewbKHKMJj!j^rE2qX_xaXl=9z15*8nBC`s?f7kuZF;l+2InPrC*-rG zAeIwRZvm$N0`STp{aDR_LylT79u)<*h6sq|1)iF!o$9k^=x**o;R?~+nMCXvqwgzk zXw2H6!B|1r)3XN7=Y4Y+_Q977MGku84Y#^NU~zRCYZe+9Qz(=XK;gfeWyq(Xs`>_g zLudde)b!T2Fe8$TH~gI}&hxI681P_9Ogl&r@g_M66*F1A+`{Xd#YEs}515`gbmO3E z{{nfT%XvLFes*@M!Z$a+$E5J^>FhhqeBG4Wyu44~;+`&`er`0cW@v13}D(9 zWd;ak_+WPzFJfL@pa(x?7_(6Ha)hVCb}G*puH_Cx;36BH2?F>lkPJ!#FeNOoSu7&@ zZlE(GO-+4dY^)|RYVoIf52k{$tv#18Rg5{OpeWo^D2bkoTp@v#gBS^bipXexbx520 zJ}O3H`(lo0yZ>=tQ^Ip~B0EenoGWNx6`Bt3`96{uhX%_PmTJr^BN%Ph5MjivBlzc2 zQY*hVAH|DEp+1Bwq|=BwvcTbJ1XRrN;CrwDdeUe2Z*6xri^T*%4?<2(9Dzdk3{E>c zJ208FT%aM&edr&cf+KZ`e{txCyqx&0K)7%M>MW8V4jZy6FNBoxAXXy)gTi|*_6Du= z)Dd&_4-|Jzb^5$OcUT4!Ty=Q8^A>my(FUz68-#O#h> zc-X>ku6|Jjagv9n2}U9`XaJ`wC@D=X`@mX!1jA3DJ;Lb#gJuByW6ve1@Jn3QG+^=y z1w7Dc!14C;e54>Hfh7a_{Wt#~%8+X?Cg3?x^H zv;tV4gb2r_=ysb<~@^B2jibusrjJ?bGMsy$scnZT^Kl z^pOdyFHyG=aclm5h;oM)09kMXF$*xc0*B%7yUO(Lv*_f{vpIdt(Xfh)9xzGUPIs8t@fiO~NKYDj?tar~ zzU9>5TQh(wf+#bVeb3wU43fbu{nuNSS5>)UpTJG{2_t*}Z16$Gj_h8!c}7A40;Ssi zHn1XKM|uU&DjY5d=mR$caWg@zW3)C7^Dm}BQ**6Kjt*SD;qr|sXIS6Om?|g}jFZ`N zA3CULc;gUQD@5i`*Ltn(GLX8^QWQ>i*Ei-JTZFMS$2^9ooHTK!QD`QuR#NAU1DZ^jGXIlDWrE}g@ z9_+3+Mm1DgDB}y*#98OU89x4ZjSfCzyFg$%pJ&{GOK>BE2JnJ#EuR2RAaJq~XFp{2 z2lI2p214KW*bLE_08>F_;{rNU&`k!zr*Qx&C&XQV3-u2{Av^8t;?#>~&9i-JyoX9S zhRImp|1j~;jz;(Y<74nGPsy$d+8U;+_=vKm@mCpLiWKmIuP%|$v9_z(cS|zPVDj{q zNoZPA5)=FEp}Xkh(MS5}`+q^}YYa8Y-%q4*HNr3$hA_kV7nve6zNg%X5($AtI8A$xl861~<`Mcz}w86I}mp3P|gOsHdi6l8Sw zPqx6ty~+UZxuylQc<_tcA{rD&MYRyW%~$e-`%kZCJ$Jr}T}R-j6!v zs6r>?&d$OfAA9Ja&xJ>~n>f7BssW6r!N+=?Nzz^2^0fH-ws$IQF|w1=h#;X8y9F(@N4-NTMwzy5%yh6xk^qA_v+^B}V~I&oJuewdI~ zHt7B$O8vL3`Kna%b@yBMX@inT|6Vz>!@Qu@*A03}$19cik~>sV7pv?&DbyBa<6Md-lxl; zmVTA7Q9|f04JV80{|Y2kRaL|fAI>7pr;rP+M)>SYnjjamBZtwT;1sL+P1m;#dfNO; zlfJ<=sb?SVTu6DLSJ3?_;Oc2xF6Sc{EvkQ=oXPVs`?i9S)%N?#*dn^+z1T{2<;DwsMVt;@~g8YT|CeDVR-xR&7F1o#n&yHV?N@~ROvqeo}`&JmO6vK z(pvE5jv}Pq^)|Ftd?ZT@JKCEle;dXOkG4Z0W;rJci~s9o@s(C$!US8|_5it`GBAtM z0wl9~B`4JwB2&T#-vL(};n5(NKDk`>4ZK9`;+xn+b%cc6s-(vgTcHk9SI@;7o)P}Z z!g28BtyJ_&+!|h1rN%d*#wwM%j43e`r7)BuPTkxnJwDxEj#n{zUgGmm@iA*d=NZP; zX|}wtU-A8+h0sOLV|9J~0_Jc*C-C5^bE3>~nRTdekmBvw@pTKq`utCrNI>e?ys)&N zzH2d6NXOl4?h!HvFZ3I~cdzLIAKBbRe(%yh0Z;zFRTZdp%kr71ap4`#jxgs0oq)AD4@5|p!dT&n&ZQ|Ka+Nr;1&ht=;f59iqF zH1lN4eNJv7r*Lk;}eNvFi}ylzQX8!ir><>^FeVAe<^M6};A@xy*Ezf5>EKVS4Q zOgQY}%9l7N+A#36;`6)kM(l@>(sd9aSU~xB{9hRuXI{X;o2ggrk(6-FtDAMaq%>SS z^YXQOW1@erQ&Umx%>9ZH=Goo01Q{npT1 zFoY?2F?0)7L$ZKUe1D5^#n+2udym(76CZAbI-r=`8ew<^wb$O?`?{(m%7S@K6SQDG zWr0*3#T2ih+xA-u4_6znW=*Wy*TKP-D{gvBpz+#~y;jVS${iD3+j$eEolhIH#|wQH zF`%tzKnhfR{5C=%Jq04d!H-at31#Z`{wq$Eyf`k$cy-kL*}X?@M zOAddj*yMquqoey`+ykW6wM5J5#Cra8qB#O1C*;r0+z$5kQGT~<9&M*e7o0G!5qli4 zw}JEH8}uycRzrE@NZkq3wRkuRAN%iT=r&Eo#Cs8aumYhqlWHc5N7{dx+%msiGGJ#N* zvtzu@2vp|imvK4W6<~5n+xlKdo7P77n++e)H@{RePg8b|ZDCEgycrPrZtGMiBF|@T z_ZUf_P{WDK$zB~xxr%4FXIXV*{DE7Cez{Zt-wK{(U z{l|gA4`=I^IPkj-R$vJ@^-~4|~x)nZc zJ3$4SNqbA8LCc6i?TFtQafMx2{F8zME>Kw`BXr=BVg-R^%m>%ttznymyml!TE^hk5 z_80WAOx6>k%48E24CMtZ5 z(_6f}pX($P__UOb95}(G+Pl6wt+#?YiQX+dsNFG)eO)ZO8TOYhj4sD8el0f1v+sL~ zx7m5FKTxg9lwtIrVPL$zy>M7-0G$l@-qQ9jXb{;608FBGg*cZK3J;H6b0u9;D-K~h z*D%h#tu1{93987bx%elO+iRi^$XwBZ<~dg5LX%)-^c;riG!qp&o<8KQbRSrLJlILX z!kkD>d;9FZhX-fYzdIUa?ZsotZ7t{n1PwVxfpb|QPw%-2Fc>h#$TWegU)Tu41IF3! zFtpxr-vL1!3`1i#vqJR%phM`NNTG)ihal1mfspedV+N`Te=pCc@uu>t^+PL!@>Od* zS~Y{|{uO3;5Lmg}+uE1qb@5Sh{_@?(8j$#mCWyVIo>&{#iR(8-_^^Rn&rcKLf9_4B zP5;_|vop2q#2H(QYdaWV4>)^yau-r|#Yglme>?I!0u|bkcWvXTw^W_J$WhMc&kVy0 zFzmxZ$YRiyfe`^Nkd@dGG9*MK7?bLtvNHm0pWnEGp(6H{gNJal3Ujlew&$V}8df-` zfxqf+rA@wI$t^*TS2z;YOUX=2cpWz+9MuwhZ?oU%_ZPagtJC!=!89?F^p)+S8{hZm zcicf-LXJLqzNvpmOiB3wX4V*mY8EMMV88PL+|uq|ha(J7cQsfKq5gPxwW6=jsy zEc)R|TSSq~#O5`t{ny-Zig0jonE>EJ9xx*JpPq;W0p`w8%tnCfk&Mx~ete1@t`V$< z*~-VS^wBsxn4G3U<%aK+z8-IYe*uO}T?@IirEB`O20_bTnkHU>COjI9PyYXmFdYUkkbD)WsqY~V ziaLU;SBqXI(m11g9yn|29IXquy|NwR^CknA-ZtUvaFn&RxGJ%ujdiUfm0X!I_srDq z0lEkyW2(^F=HR)4MMHIK60=F7r^0@8(qET8yvhG(O@Um`5dY1jz ziBw2G?)AI)*u>??sE)b*fT1~09h~tu_g@x=Gf|FpReiB)IrDkjCl zoI8R7Fp)x={DwZk@cl+Q;&iY+`c(ez z0c{f$MpQM+)8oJrTO54$1RBU-L~KUYU+2C5PW;+NN!Mf%4drq{`kLsbW~LNwEpDBv z0dw3>qb)gZX2&lV;A2(_bLxzO&o;{P)WHFmS#}0gciN_C=i{FkPD>n}ISnmw3}ly^ ze_1_f0l&}pewP=B8tVCic6LNV_0&U48j*X4o0~RL47YW0?iL7(QnyZ|8F;rE0&1d| zDWwNRiME{qgC2T*ys#kfd!}Ji)fmzkwuf~#DVqBKTJ~!TfRS*-$UorNJZPCK zie!uiQlu@<;$qc^(!kV#X6r@DmFPK};meBj(cB+M90-u6p8*#_JMqn%dzH3RT2=O0 zkxT@=QM@(zT(53`z-}|8y56(-)s4Jpkmu!!1Q=b1JrG7GFmpg=yeAgj;8o=gTxT_W zD^b@C$1tw1&r8LR4mR+(b?$lAtPZqU!fU-ON(eZQjWvAYHJ z6eXob{Vd2H3yFw)j;3Z^)`!%!{esd_g4wc@ey5~Jit&HU8msLgi&umBjpqb#8U)Hh z!@tPGO@YHPD=eU$posQ&tdt!M#s)}5s{tGc&@8Fp z%H{Qxs8G#M&e9m}_Krn22mpIQCjQCz=NuS*hzxFy&gswOKQG4mKQ2JUuXDIu!l#p; z=vMtHZJ?!?@7#I9%`vd zREJ=Mj!d*6wt@sw6#kPBt^y=G|AWTP6sW({QmjMjbdlRp1~S^zXET@8BVbE>*ClXs zN}V0>vT=Sec!K0Z0iduTV;prLjR4+I3N?^+g>`OVI2WyJBL3P4QNvmPMtQl7$d#x; z3<9gy^+3i?1JY%~`GF3!PA}BW7@}NV$eIYsd!>n_GAC+N-(7`@I*egcUtBYr;!Bw3 z!TAq9e1uC+?|Wo~{EE=_G{jng@$mC_lhkFJCV~pPMgmf{s@e>j(bg%lE`2ua=nG5!t~3z%kP84FHfUc;wbjrryChdk-dcY=zn>+o_1VW~G3hGP`ca{sn;Zj=@W z3r7#I7e%Zbxu|!CyaE!zqZA0?UKjyrU`w3^{mZ1wh#n&7Tji%9Mo3C|`DqYF8 zazE4)X`&9T-QOxQ0v7oeeZ_kwJjb$e!;~_%(`RaGD1fdI#fS$&L_A-IqvQh&%VB^C zPzGS3f64}wqt5Hf%HG16^1HIdnvr}LsPM*a-Uhym4bSXES*vhJ};e2zaN?j!G`tjw)lv|qG(D~)g2=}wfk|M!? ztLRTvnrv0bxG0PpesC0PlJTc}xgH@c#J}{iAwg^Ykmd>(Ni?@{RNy0gDica{Sv47o z*9{@ur30JwjnbQ&>pV(LAvRmf3;gRqpy=wZb~B%GI!NoaLWiBIVhv<`W}rHe*l8oJ zb@pp_ppy2LXgvGFdjtN7AXhoL1InmbFk74JNo~x>oK79C~mtswUk0o%JPt!^h^}Pyi z{!kV3hA!CAzyt@Z!aKfl{}$hpQI2VxptXAWo?f9h*In}y8CH1kGiv~^{dp}% z2vM!y8mz2s`o}8}O*Z0q3eNd?M)Ln56o9g5u;Qgk6AvHuD5v3MdSjHDACJuVPzqc7 z3-nl$KluZIG7~#HyHkBmPUv%&UioqE{q4@fyMXl|{0`SV${)KDz@;ns+I@~#CPOq5 zGI0JFiG!A7mFHIZDR`=;i3aD$#93#>0nx2B8}bPlu+Yb@QAJ@Ct|vkMEAUJa;0|0n zkdQ6TXF1oS@1q}qDz68;qw4 zG{l<$bRvZa6oz~+f)aLa9jw9z+_jNbI=7}Ohu6xdGj8jnd0gCe;9!d+&=TCK4;AFt zj$HSLOJx8=2(}f7A{WHsrr;ErJi!3C9U3x;j}e{6L6AnkoSGogq#LjaG=!Mw0az9M zMiR9eiu$*K?}2{}+G)N)GhqEcqAys=>LePwwU&FL5AD9AJM1#u!L9wkUsuwK7z+WO zhDce;?ZH#(Db}vnG~5TopaCevFWycWHDgGRQji~yU=sv7^#oiVUQ&n6Rb02mhga>c ziiXAy*s~F<%w7IY)`*}I z1&{8}rU1+#M#v=&sND3qp8~awnr6`2$%xItWjKpnA5C2;`z0+O75=y0j0k(GM%6fscK(SB7tcYV z-!6gm_!Vr1$(|I`u3dBZ;)8>OeIVCM7uZM(75u481L`zDzKlUw{sN!a>JB!oJsLzr zBbmT2UTs8tKg+^(iQ;nJ+9Wc7y4J5_MpzKt#)8gu)adMFq;Uxn9L&Jr5$X6quA2lC zLZN;k# zS$N>_T=2tkl5c;;z%y4`V`P_+>#@xM1TI3DWB-aEa26+o=j^ozZUX;3|#?eU>$?Ecya zh#NE^seD=&vdRC8^M&t@2n%tpP)`Y)Y^vswa`s3V&s5MjKN0`cc=3bgV*haFFpMkB zyF{6g_^STc0K}3%1XD^RMIHpLs=yqI*V-Er!5?>H=;X>jvRv`}A-y9kJJGV+RH2B^ z_@{~rORfD`o$Ib;4dgRTN|RWd`Bf=?Zmw9vw9}v%9BlfW+0vJ_;fav~hi4fMDZBC_ zbZKf??!;qeE*_h;ZyreI6pE)DS=TTKko2cN8?vlqgYgPy|~C0sa^%XMq%h&>-kz3J+ig^`*Zgiip>3! zkUQ9IAZfEn(tc79VWk-q{*&-{S6XUmPGtEFIiYbfR%+ftn#)dz%N}jdtgHtX+k#G>CS_iwU$h82?#gE%DdWx~;p`FhM$=69<_q!oEh*kMSJK7! z?%&$7XNG~*TnpY@Af7WuILG#*eDMhUATY4wt1CFX2eEjtG-9fD92{?E-QQw5d?l8w z#eDTBegMEl@r-oI%qG`+cKRAg4$@L-mR}r%!W8-bErtauzPm9nUYAi_%!qV z@-d$5-um;#jm*nE$|wja{D_hFFNh8z3;)~lnV4rTeI2H5F3QWLnxSI7^p8X`xt}Wu zk~Qtl_Mv+@oXWG?8_w8HN-mk!kS`W_9KKrflo0ol&0!a{)IrIiUu;*71!G2k{<3Hh za>IFp?Ba0$Ns92~aI!D~Pb01308y>UkEUL~%`K3o^{*ojZWKre9T35a1j6m|soi^k zs+ccW+1l+7GqBm0ghlM2cd+`li}>_l@wLwZ2FRV@X*%d$ELV%Q#as2qtZAB7{k_s6 zOVhspvkP~3#_yCe=+xP4r<368WRX>VER&&5cg;qf9yNQNdcCLYXJtOO0>ATQi!(=K zOsv2DQDuy)bMF{#Q{fw@uvOS_tw;XU@MtP=`2%4XeE5DGtu-aLGESBy9^Ep|rlpkd z`zhzjf|6B!TejeM7T|NdTlI7_Aq3m{Yxs_IZ;!d&b8^7{Qs(#J*J)SET74VcEk{~6 zLkWtEuTDD0U%tmg*D7gyvYvtc@c~?_Oa`vahQtCq)79+;3Dyv#B!&<*oW$g_H5Pw& zpZIoRjPc@)71qJ6?3WuVp>G$i7a_Wuge;%h-%R2y9_<8ke-0ZLzx(k*o|@sNVWg5c zPotO<)uqdkG8UB2=hrNUhWIS6>w5FQVkivaf~IX_)$|U&@8#)?6GSb2fi5vFHu0DP9S@_I61@w5n|-J}?EQSjR)k7gW${~^1o2g41}r(gnWcyidaYIQxaqsow&UL# zzleGF4w7MhbF>+6pY2}!YpmEf+>BJne;>k*g2ZTVmgzZ3x{>d9lyrMrD-;R;PQ4Qd zCCI*&VLD#eJAbKv?EjrhF#aB37v)R;dF$#wMnEcO{fX zix}WxgzBg7ioQI$*!%nTvAWWmy06zOrS}Qptrackn#klf8k{?wud-dbu%HzS|CIk2 zF*v3!+o?Eb5YnfZ;+vff$})N2zQ*l0fk|`}g*yBDKqu6g7`mB*6%b#u#VNdg^l1>t zpW$m&*>1D-&6p)EvYRwsw=$OFTy@{X;JHuo{UPXA_Nhu2a^sXcb^WL#ODGgU7N_Fx zZ|2zL(XOf<;9c_j?MnP>4FXvLtL|tr4fx_CSTLk^4K>P># z`4X}>!v<&m{I}u88{^wvr{}k^uqw>nJQB~QqZ|+{QVgP;)(fwFemy!EV{(78w(fX^ z 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 literal 39732 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