Merge remote-tracking branch 'git.irl/Ilya'
diff --git a/examples/abilene-topology-backup.txt b/examples/abilene-topology-backup.txt
new file mode 100644
index 0000000..f4f1d43
--- /dev/null
+++ b/examples/abilene-topology-backup.txt
@@ -0,0 +1,31 @@
+12  30
+1   2   9920000 1   1   100 100
+2   1   9920000 1   1   100 100
+2   5   9920000 1176    1   100 100
+2   6   2480000 587 1   100 100
+2   12  9920000 846 1   100 100
+3   6   9920000 260 1   100 100
+3   9   9920000 700 1   100 100
+4   7   9920000 639 1   100 100
+4   10  9920000 1295 1   100 100
+4   11  9920000 2095    1   100 100
+5   2   9920000 1176    1   100 100
+5   7   9920000 902 1   100 100
+5   8   9920000 1893 1   100 100
+6   2   9920000 587 1   100 100
+6   3   2480000 260 1   100 100
+6   7   9920000 548 1   100 100
+7   4   9920000 639 1   100 100
+7   5   9920000 902 1   100 100
+7   6   9920000 548 1   100 100
+8   5   9920000 1893 1   100 100
+8   10  9920000 366 1   100 100
+9   3   9920000 700 1   100 100
+9   12  9920000 233 1   100 100
+10  4   9920000 1295 1   100 100
+10  8   9920000 366 1   100 100
+10  11  9920000 861 1   100 100
+11  4   9920000 2095 1   100 100
+11  10  9920000 861 1   100 100
+12  2   9920000 846 1   100 100
+12  9   9920000 233 1   100 100
diff --git a/examples/abilene-topology.cc b/examples/abilene-topology.cc
new file mode 100644
index 0000000..836759f
--- /dev/null
+++ b/examples/abilene-topology.cc
@@ -0,0 +1,107 @@
+/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+
+
+#include "ns3/core-module.h"
+#include "ns3/network-module.h"
+#include "ns3/point-to-point-module.h"
+#include "ns3/NDNabstraction-module.h"
+#include "ns3/point-to-point-grid.h"
+#include "ns3/ipv4-global-routing-helper.h"
+
+#include <iostream>
+#include <sstream>
+#include "ns3/visualizer-module.h"
+#include "ns3/annotated-topology-reader.h"
+
+using namespace ns3;
+using namespace std;
+
+NS_LOG_COMPONENT_DEFINE ("CcnxAbileneTopology");
+
+int 
+main (int argc, char *argv[])
+{
+    //GlobalValue::Bind ("SimulatorImplementationType", StringValue ("ns3::VisualSimulatorImpl"));
+    Packet::EnableChecking();
+    Packet::EnablePrinting();
+    string input ("./src/NDNabstraction/examples/abilene-topology.txt");
+    
+    CommandLine cmd;
+    cmd.Parse (argc, argv);
+    
+    // ------------------------------------------------------------
+    // -- Read topology data.
+    // --------------------------------------------
+    
+    Ptr<AnnotatedTopologyReader> reader = CreateObject<AnnotatedTopologyReader> ();
+    reader->SetFileName (input);
+    
+    NodeContainer nodes;
+    if (reader != 0)
+    {
+        nodes = reader->Read ();
+    }
+    
+    if (reader->LinksSize () == 0)
+    {
+        NS_LOG_ERROR ("Problems reading the topology file. Failing.");
+        return -1;
+    }
+
+    NS_LOG_INFO("Nodes = " << nodes.GetN());
+    NS_LOG_INFO("Links = " << reader->LinksSize ());
+    
+    int totlinks = reader->LinksSize ();
+    ///*** applying settings
+    NS_LOG_INFO ("creating node containers");
+    NodeContainer* nc = new NodeContainer[totlinks];
+    TopologyReader::ConstLinksIterator iter;
+    int i = 0;
+    for ( iter = reader->LinksBegin (); iter != reader->LinksEnd (); iter++, i++ )
+    {
+        nc[i] = NodeContainer (iter->GetFromNode (), iter->GetToNode ());
+    }
+    
+    NetDeviceContainer* ndc = new NetDeviceContainer[totlinks];
+    reader->ApplySettings(ndc,nc);
+    reader->BoundingBox(nc, 100.0, 100.0, 400.0,400.0);
+            
+    
+    // Install CCNx stack
+    NS_LOG_INFO ("Installing CCNx stack");
+    CcnxStackHelper ccnxHelper(Ccnx::NDN_FLOODING);
+    ccnxHelper.InstallAll ();
+    
+    NS_LOG_INFO ("Installing Applications");
+    CcnxConsumerHelper consumerHelper ("preved");
+    ApplicationContainer consumers = consumerHelper.Install (nc[0]);
+    
+    consumers.Start (Seconds (0));
+    consumers.Stop (Seconds (20));
+
+    
+    Simulator::Stop (Seconds (20));
+    NS_LOG_INFO ("Run Simulation.");
+    Simulator::Run ();
+    Simulator::Destroy ();
+    NS_LOG_INFO ("Done.");
+    return 0;
+}
\ No newline at end of file
diff --git a/examples/abilene-topology.txt b/examples/abilene-topology.txt
new file mode 100644
index 0000000..0eeb3f7
--- /dev/null
+++ b/examples/abilene-topology.txt
@@ -0,0 +1,16 @@
+12  15
+1   2   9920000 1   1   100 100
+2   5   9920000 1176    1   100 100
+2   6   2480000 587 1   100 100
+2   12  9920000 846 1   100 100
+3   6   9920000 260 1   100 100
+3   9   9920000 700 1   100 100
+4   7   9920000 639 1   100 100
+4   10  9920000 1295 1   100 100
+4   11  9920000 2095    1   100 100
+5   7   9920000 902 1   100 100
+5   8   9920000 1893 1   100 100
+6   7   9920000 548 1   100 100
+8   10  9920000 366 1   100 100
+9   12  9920000 233 1   100 100
+10  11  9920000 861 1   100 100
diff --git a/examples/ccnx-grid.cc b/examples/ccnx-grid.cc
index 1ef2cfb..51d7858 100644
--- a/examples/ccnx-grid.cc
+++ b/examples/ccnx-grid.cc
@@ -79,7 +79,7 @@
   cmd.AddValue ("netanim", "NetAnim filename", animationFile);
   cmd.AddValue ("strategy", "CCNx forwarding strategy", strategy);
   cmd.Parse (argc, argv);
-  
+
   PointToPointHelper p2p;
 
   InternetStackHelper stack;
@@ -129,14 +129,14 @@
   // producers.Stop(finishTime);
 
   Simulator::Schedule (Seconds (1.0), PrintFIBs);
-  
+
   Simulator::Schedule (Seconds (10.0), PrintTime);
   
   // NS_LOG_INFO ("FIB dump:\n" << *c.Get(0)->GetObject<CcnxFib> ());
   // NS_LOG_INFO ("FIB dump:\n" << *c.Get(1)->GetObject<CcnxFib> ());
     
   Simulator::Stop (finishTime);
-
+    
   AnimationInterface *anim = 0;
   if (animationFile != "")
     {
@@ -148,7 +148,7 @@
   Simulator::Run ();
   Simulator::Destroy ();
   NS_LOG_INFO ("Done!");
-
+    
   if (anim != 0)
     delete anim;
   
diff --git a/examples/sprint-topology.cc b/examples/sprint-topology.cc
new file mode 100644
index 0000000..6bcc2bf
--- /dev/null
+++ b/examples/sprint-topology.cc
@@ -0,0 +1,87 @@
+/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+
+
+#include "ns3/core-module.h"
+#include "ns3/network-module.h"
+#include "ns3/point-to-point-module.h"
+#include "ns3/NDNabstraction-module.h"
+#include "ns3/point-to-point-grid.h"
+#include "ns3/ipv4-global-routing-helper.h"
+
+#include <iostream>
+#include <sstream>
+#include "ns3/visualizer-module.h"
+#include "ns3/rocketfuel-topology-reader.h"
+
+
+using namespace ns3;
+
+NS_LOG_COMPONENT_DEFINE ("CcnxSprintTopology");
+
+int 
+main (int argc, char *argv[])
+{
+    Packet::EnableChecking();
+    Packet::EnablePrinting();
+    std::string input ("./src/NDNabstraction/examples/sprint.weights");
+    
+    // ------------------------------------------------------------
+    // -- Read topology data.
+    // --------------------------------------------
+    
+    Ptr<RocketfuelWeightsReader> reader = CreateObject<RocketfuelWeightsReader> ();
+    reader->SetFileName (input);
+    
+    NodeContainer nodes;
+    if (reader != 0)
+    {
+        nodes = reader->Read ();
+    }
+    
+    if (reader->LinksSize () == 0)
+    {
+        NS_LOG_ERROR ("Problems reading the topology file. Failing.");
+        return -1;
+    }
+    
+    NS_LOG_INFO("Nodes = " << nodes.GetN());
+    NS_LOG_INFO("Links = " << reader->LinksSize ());
+    
+    int totlinks = reader->LinksSize ();
+    ///*** applying settings
+    NS_LOG_INFO ("creating node containers");
+    NodeContainer* nc = new NodeContainer[totlinks];
+    TopologyReader::ConstLinksIterator iter;
+    int i = 0;
+    for ( iter = reader->LinksBegin (); iter != reader->LinksEnd (); iter++, i++ )
+    {
+        nc[i] = NodeContainer (iter->GetFromNode (), iter->GetToNode ());
+    }
+    
+    NetDeviceContainer* ndc = new NetDeviceContainer[totlinks];
+    reader->ApplySettings(ndc,nc);
+    
+    NS_LOG_INFO ("Run Simulation.");
+    Simulator::Run ();
+    Simulator::Destroy ();
+    NS_LOG_INFO ("Done.");
+    return 0;
+}
\ No newline at end of file
diff --git a/examples/sprint.weights b/examples/sprint.weights
new file mode 100644
index 0000000..2e343a8
--- /dev/null
+++ b/examples/sprint.weights
@@ -0,0 +1,1944 @@
+San+Jose,+CA4062 Anaheim,+CA4101 2.5
+San+Jose,+CA4062 San+Jose,+CA4119 2
+San+Jose,+CA4062 Tacoma,+WA3251 6.5
+San+Jose,+CA4062 Relay,+MD4110 8
+San+Jose,+CA4062 Anaheim,+CA4099 8.5
+San+Jose,+CA4062 San+Jose,+CA4112 2
+San+Jose,+CA4062 San+Jose,+CA6742 4
+San+Jose,+CA4062 San+Jose,+CA4095 2
+San+Jose,+CA4062 San+Jose,+CA6405 2
+San+Jose,+CA4062 San+Jose,+CA4132 4
+San+Jose,+CA4062 Chicago,+IL4037 9
+Anaheim,+CA6490 Anaheim,+CA4101 2
+Anaheim,+CA6490 Anaheim,+CA4099 8
+Manasquan,+NJ4086 New+York,+NY4088 4.5
+Manasquan,+NJ4086 Copenhagen4038 3
+Manasquan,+NJ4086 Manasquan,+NJ4047 2
+Manasquan,+NJ4086 Relay,+MD4110 4
+Anaheim,+CA6564 Anaheim,+CA4099 8
+Anaheim,+CA6564 Anaheim,+CA4101 2
+Anaheim,+CA6564 Anaheim,+CA4031 2
+Anaheim,+CA6564 Anaheim,+CA4073 3
+Anaheim,+CA6564 Anaheim,+CA6721 2
+Anaheim,+CA6564 Anaheim,+CA4100 2
+Dallas,+TX6566 Dallas,+TX2635 3
+Dallas,+TX6566 Dallas,+TX4015 3
+Dallas,+TX6566 Dallas,+TX4080 3
+Dallas,+TX6566 New+York,+NY4028 2
+Dallas,+TX6566 Dallas,+TX4115 2
+Washington,+DC6456 Washington,+DC6736 3
+Washington,+DC6456 Washington,+DC6543 2
+Washington,+DC6456 Washington,+DC6415 2
+Washington,+DC6456 Relay,+MD4110 2.5
+Washington,+DC6456 Relay,+MD4093 2.5
+Washington,+DC6456 Washington,+DC6393 3
+Washington,+DC6456 Relay,+MD4054 2.5
+Tacoma,+WA6720 Tacoma,+WA3251 1
+Dallas,+TX6494 Dallas,+TX2635 2
+Dallas,+TX6494 Dallas,+TX4015 2
+Dallas,+TX6494 New+York,+NY4028 3
+Dallas,+TX6494 Dallas,+TX4080 2
+Dallas,+TX6494 Dallas,+TX4115 3
+Roachdale,+IN6712 Roachdale,+IN4111 2
+Roachdale,+IN6712 Roachdale,+IN4056 2
+London4083 London4044 2
+London4083 Brussels,+Belgium4033 2
+London4083 Manasquan,+NJ4047 2.5
+London4083 Dublin,+Ireland4078 1
+London4083 New+York,+NY4022 9.5
+London4084 New+York,+NY4024 9
+London4084 Brussels,+Belgium4033 8
+London4084 Manasquan,+NJ4047 4.5
+London4084 New+York,+NY4022 7.5
+Research+Triangle+Park,+NC4057 Relay,+MD4054 1
+Milan,+Italy4046 Milan,+Italy4085 5
+Milan,+Italy4046 Paris4090 2
+Pearl+Harbor,+HI4092 Anaheim,+CA4099 7
+Pearl+Harbor,+HI4092 Pearl+Harbor,+HI6400 2.5
+Pearl+Harbor,+HI4092 Pearl+Harbor,+HI4053 9.5
+Pearl+Harbor,+HI4092 Stockton,+CA4096 8.5
+Pearl+Harbor,+HI4092 Pearl+Harbor,+HI6550 3
+Pearl+Harbor,+HI4092 Anaheim,+CA4100 16
+Research+Triangle+Park,+NC4058 Atlanta,+GA4074 1
+Tacoma,+WA4114 San+Jose,+CA4095 6.5
+Tacoma,+WA4114 Tacoma,+WA6408 3
+Tacoma,+WA4114 Tacoma,+WA3251 2
+Tacoma,+WA4114 Cheyenne,+WY4076 5.5
+Tacoma,+WA4114 Tacoma,+WA6555 2
+Tacoma,+WA4114 Tokyo4070 6
+Hamburg,+Germany4041 Copenhagen4038 4.5
+Hamburg,+Germany4041 Amsterdam4072 2
+Hamburg,+Germany4041 Hamburg,+Germany4081 4
+Hamburg,+Germany4041 Munich,+Germany4087 1
+Atlanta,+GA6565 Atlanta,+GA3957 2
+Atlanta,+GA6565 Atlanta,+GA4032 2
+Relay,+MD6551 Relay,+MD4093 2.5
+Relay,+MD6551 Relay,+MD4110 2.5
+Relay,+MD6551 Relay,+MD4054 2.5
+Denver,+Colorado5511 Cheyenne,+WY4034 1
+Pennsauken,+NJ6624 Pennsauken,+NJ4109 3
+Pennsauken,+NJ6624 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6624 Pennsauken,+NJ4091 3
+Lees+Summit,+MO5512 Kansas+City,+MO4105 3.5
+Lees+Summit,+MO5512 Kansas+City,+MO4106 2
+Cheyenne,+WY6746 Kansas+City,+MO6544 1
+Rancho+Cordova,+CA5507 Rancho+Cordova,+CA5514 2.5
+Rancho+Cordova,+CA5507 Stockton,+CA4113 2.5
+Rancho+Cordova,+CA5507 Stockton,+CA4065 2.5
+Relay,+MD6487 Relay,+MD4110 1
+Pennsauken,+NJ6486 Pennsauken,+NJ4109 3
+Pennsauken,+NJ6486 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6486 Pennsauken,+NJ4091 3
+Dallas,+TX6641 Atlanta,+GA3957 7.5
+Dallas,+TX6641 Dallas,+TX2635 3
+Dallas,+TX6641 Dallas,+TX4015 3
+Dallas,+TX6641 Dallas,+TX4080 3
+Dallas,+TX6641 Chicago,+IL6593 6.5
+Dallas,+TX6641 New+York,+NY4028 4
+Dallas,+TX6641 Dallas,+TX4115 4
+Anaheim,+CA4100 Anaheim,+CA4101 2
+Anaheim,+CA4100 San+Jose,+CA4119 2.5
+Anaheim,+CA4100 Anaheim,+CA6464 2
+Anaheim,+CA4100 Anaheim,+CA6570 2
+Anaheim,+CA4100 Anaheim,+CA6627 2
+Anaheim,+CA4100 Anaheim,+CA4031 2
+Anaheim,+CA4100 Anaheim,+CA6539 2
+Anaheim,+CA4100 Pearl+Harbor,+HI4053 7.5
+Anaheim,+CA4100 Anaheim,+CA6556 3.5
+Anaheim,+CA4100 Anaheim,+CA6564 2
+Anaheim,+CA4100 Anaheim,+CA6744 2
+Anaheim,+CA4100 Anaheim,+CA6591 4.5
+Anaheim,+CA4100 Dallas,+TX4133 2
+Anaheim,+CA4100 Anaheim,+CA6584 2
+Anaheim,+CA4100 Pearl+Harbor,+HI4092 16
+Anaheim,+CA4100 Dallas,+TX6587 6
+Anaheim,+CA4100 Anaheim,+CA6684 2
+Anaheim,+CA4100 Dallas,+TX4080 4
+Anaheim,+CA4100 Anaheim,+CA4073 2
+Anaheim,+CA4100 Anaheim,+CA6502 2.5
+Anaheim,+CA4100 Anaheim,+CA6520 2
+Anaheim,+CA4100 Anaheim,+CA6512 2
+Anaheim,+CA4100 Anaheim,+CA4099 9
+Anaheim,+CA4100 San+Jose,+CA4112 5.5
+Anaheim,+CA4100 Anaheim,+CA6702 2
+Anaheim,+CA4100 Anaheim,+CA6453 3
+Anaheim,+CA4100 Anaheim,+CA6721 3
+Anaheim,+CA4100 Anaheim,+CA6438 3.5
+Anaheim,+CA4101 San+Jose,+CA4062 2.5
+Anaheim,+CA4101 Anaheim,+CA6464 2
+Anaheim,+CA4101 Anaheim,+CA6627 2
+Anaheim,+CA4101 Anaheim,+CA6490 2
+Anaheim,+CA4101 Pearl+Harbor,+HI4053 7.5
+Anaheim,+CA4101 Anaheim,+CA4031 2
+Anaheim,+CA4101 Anaheim,+CA6539 2
+Anaheim,+CA4101 Anaheim,+CA6564 2
+Anaheim,+CA4101 Anaheim,+CA6556 2.5
+Anaheim,+CA4101 Anaheim,+CA6744 3
+Anaheim,+CA4101 Anaheim,+CA6591 2.5
+Anaheim,+CA4101 Anaheim,+CA6584 2
+Anaheim,+CA4101 Anaheim,+CA6684 3
+Anaheim,+CA4101 Dallas,+TX4080 7
+Anaheim,+CA4101 Anaheim,+CA4073 2
+Anaheim,+CA4101 Dallas,+TX2635 4
+Anaheim,+CA4101 Anaheim,+CA6502 2.5
+Anaheim,+CA4101 Anaheim,+CA6520 2
+Anaheim,+CA4101 Anaheim,+CA6512 2
+Anaheim,+CA4101 Anaheim,+CA4099 9
+Anaheim,+CA4101 Anaheim,+CA6702 2
+Anaheim,+CA4101 Anaheim,+CA6721 2
+Anaheim,+CA4101 Anaheim,+CA6453 2
+Anaheim,+CA4101 Anaheim,+CA6438 2.5
+Anaheim,+CA4101 Anaheim,+CA4100 2
+Kansas+City,+MO6707 Kansas+City,+MO4082 2
+Kansas+City,+MO6707 Kansas+City,+MO4043 2
+Kansas+City,+MO6707 Kansas+City,+MO4105 3
+Kansas+City,+MO6707 Kansas+City,+MO4106 2.5
+Anaheim,+CA6570 Anaheim,+CA4031 2
+Anaheim,+CA6570 Anaheim,+CA4100 2
+Dallas,+TX6645 Dallas,+TX2635 3
+Dallas,+TX6645 Dallas,+TX4015 3
+Dallas,+TX6645 New+York,+NY4028 2
+Dallas,+TX6645 Dallas,+TX4080 3
+Dallas,+TX6645 Dallas,+TX4115 2
+Anaheim,+CA4031 Anaheim,+CA4101 2
+Anaheim,+CA4031 Anaheim,+CA6464 2
+Anaheim,+CA4031 Anaheim,+CA6570 2
+Anaheim,+CA4031 Anaheim,+CA6627 2
+Anaheim,+CA4031 Anaheim,+CA6539 2
+Anaheim,+CA4031 Anaheim,+CA6556 2.5
+Anaheim,+CA4031 Anaheim,+CA6564 2
+Anaheim,+CA4031 New+York,+NY4028 6
+Anaheim,+CA4031 Dallas,+TX4115 4
+Anaheim,+CA4031 Anaheim,+CA6744 3
+Anaheim,+CA4031 Los+Angeles,+CA5502 1
+Anaheim,+CA4031 Anaheim,+CA6578 1
+Anaheim,+CA4031 Anaheim,+CA6684 3
+Anaheim,+CA4031 Anaheim,+CA6502 2.5
+Anaheim,+CA4031 Anaheim,+CA6512 2
+Anaheim,+CA4031 Anaheim,+CA6520 2
+Anaheim,+CA4031 Anaheim,+CA4099 8
+Anaheim,+CA4031 San+Jose,+CA4112 2.5
+Anaheim,+CA4031 Anaheim,+CA6702 2
+Anaheim,+CA4031 Anaheim,+CA6453 2
+Anaheim,+CA4031 Anaheim,+CA6721 2
+Anaheim,+CA4031 Anaheim,+CA6438 2.5
+Anaheim,+CA4031 Anaheim,+CA4100 2
+Dallas,+TX6573 Dallas,+TX2635 3
+Dallas,+TX6573 Dallas,+TX4015 3
+Dallas,+TX6573 New+York,+NY4028 2
+Dallas,+TX6573 Dallas,+TX4080 3
+Dallas,+TX6573 Dallas,+TX6558 5
+Dallas,+TX6573 Dallas,+TX4115 2
+Dallas,+TX6573 Relay,+MD5801 15.5
+Washington,+DC6393 Washington,+DC6443 3
+Washington,+DC6393 Washington,+DC9643 3
+Washington,+DC6393 Washington,+DC6469 4
+Washington,+DC6393 Washington,+DC4139 3
+Washington,+DC6393 Washington,+DC4140 3
+Washington,+DC6393 Washington,+DC6456 3
+Washington,+DC6393 Washington,+DC6748 3
+Washington,+DC6393 Washington,+DC4142 2
+Chicago,+IL6492 Chicago,+IL1391 2
+Chicago,+IL6492 Chicago,+IL4122 2
+Chicago,+IL6492 Chicago,+IL4036 2
+Chicago,+IL6492 Chicago,+IL1484 2
+Chicago,+IL6492 Chicago,+IL4037 2
+Chicago,+IL6492 Chicago,+IL4104 2
+Chicago,+IL6639 Chicago,+IL1391 2
+Chicago,+IL6639 Chicago,+IL4122 3
+Chicago,+IL6639 Chicago,+IL4036 2
+Chicago,+IL6639 Chicago,+IL1484 2
+Chicago,+IL6639 Chicago,+IL4037 2
+Chicago,+IL6639 Chicago,+IL4104 2
+Anaheim,+CA6578 Anaheim,+CA4031 1
+Washington,+DC6469 Washington,+DC6415 3
+Washington,+DC6469 Relay,+MD4110 2.5
+Washington,+DC6469 Relay,+MD4093 2.5
+Washington,+DC6469 Washington,+DC6393 4
+Washington,+DC6469 Relay,+MD4054 2.5
+Roachdale,+IN4111 Pennsauken,+NJ4117 9
+Roachdale,+IN4111 Roachdale,+IN6729 2
+Roachdale,+IN4111 Roachdale,+IN6676 1
+Roachdale,+IN4111 Roachdale,+IN4056 2
+Roachdale,+IN4111 Chicago,+IL4104 6.5
+Roachdale,+IN4111 Roachdale,+IN6712 2
+Roachdale,+IN4111 Roachdale,+IN6552 2
+Roachdale,+IN4111 Roachdale,+IN6697 2
+Roachdale,+IN4111 Roachdale,+IN6402 2
+Roachdale,+IN4111 Roachdale,+IN6636 2
+Roachdale,+IN4111 Chicago,+IL4036 9.5
+Atlanta,+GA4102 Orlando,+FL4049 3
+Atlanta,+GA4102 Atlanta,+GA6735 5
+Atlanta,+GA4102 Atlanta,+GA4032 2
+Atlanta,+GA4102 Atlanta,+GA6745 2
+Atlanta,+GA4102 Atlanta,+GA2344 2
+Atlanta,+GA4102 Atlanta,+GA6685 2
+Atlanta,+GA4102 Atlanta,+GA2338 2
+Atlanta,+GA4102 Atlanta,+GA6540 2
+Atlanta,+GA4102 Orlando,+FL4050 3.5
+Atlanta,+GA4102 Atlanta,+GA2347 2
+Atlanta,+GA4102 Atlanta,+GA4074 2
+Atlanta,+GA4102 Relay,+MD4131 4
+Atlanta,+GA4102 Atlanta,+GA6439 1
+Atlanta,+GA4102 Atlanta,+GA6465 2
+Atlanta,+GA4102 Atlanta,+GA6481 2
+Atlanta,+GA4102 Atlanta,+GA6628 2
+Roachdale,+IN6729 Roachdale,+IN4111 2
+Roachdale,+IN6729 Roachdale,+IN4056 2
+Atlanta,+GA4032 Relay,+MD4093 4
+Atlanta,+GA4032 Atlanta,+GA6540 2
+Atlanta,+GA4032 New+York,+NY4048 6.5
+Atlanta,+GA4032 Chicago,+IL4037 8
+Atlanta,+GA4032 Atlanta,+GA6481 2
+Atlanta,+GA4032 Atlanta,+GA6465 2
+Atlanta,+GA4032 Atlanta,+GA4102 2
+Atlanta,+GA4032 Atlanta,+GA6628 2
+Atlanta,+GA4032 Atlanta,+GA6565 2
+Atlanta,+GA4032 Dallas,+TX2635 5.5
+Atlanta,+GA4032 Atlanta,+GA6735 5
+Atlanta,+GA4032 Atlanta,+GA3957 2
+Atlanta,+GA4032 Atlanta,+GA6745 2
+Atlanta,+GA4032 Atlanta,+GA2344 2
+Atlanta,+GA4032 Atlanta,+GA6685 2
+Atlanta,+GA4032 Atlanta,+GA2338 2
+Atlanta,+GA4032 Atlanta,+GA2347 2
+Atlanta,+GA4032 Orlando,+FL4108 2
+Atlanta,+GA4032 Atlanta,+GA4074 2
+Tacoma,+WA3251 San+Jose,+CA4062 6.5
+Tacoma,+WA3251 Tacoma,+WA6408 3
+Tacoma,+WA3251 Cheyenne,+WY4076 5.5
+Tacoma,+WA3251 Tacoma,+WA6701 2
+Tacoma,+WA3251 Seattle,+WA4059 2
+Tacoma,+WA3251 Tacoma,+WA6720 1
+Tacoma,+WA3251 Sydney,+Australia4067 6.5
+Tacoma,+WA3251 Cheyenne,+WY4034 5.5
+Tacoma,+WA3251 Tacoma,+WA6555 2
+Tacoma,+WA3251 Seattle,+WA4060 3
+Tacoma,+WA3251 Tacoma,+WA4114 2
+Tacoma,+WA3251 Tokyo4070 8
+Chicago,+IL1484 Cheyenne,+WY4076 5
+Chicago,+IL1484 Chicago,+IL6724 2
+Chicago,+IL1484 Chicago,+IL6643 2
+Chicago,+IL1484 Chicago,+IL6572 3
+Chicago,+IL1484 Chicago,+IL4104 2
+Chicago,+IL1484 Chicago,+IL6492 2
+Chicago,+IL1484 Chicago,+IL6654 2
+Chicago,+IL1484 Chicago,+IL6468 2
+Chicago,+IL1484 Chicago,+IL6639 2
+Chicago,+IL1484 Chicago,+IL4122 2
+Chicago,+IL1484 Chicago,+IL6648 2
+Chicago,+IL1484 Chicago,+IL6747 2
+Chicago,+IL1484 Chicago,+IL6593 3
+Chicago,+IL1484 Dallas,+TX4080 5.5
+Chicago,+IL1484 Chicago,+IL6586 2
+Chicago,+IL1484 Chicago,+IL4037 2
+Chicago,+IL1484 Chicago,+IL6595 2
+Chicago,+IL1484 Chicago,+IL6669 2
+Chicago,+IL1484 New+York,+NY4088 8.5
+Chicago,+IL1484 Chicago,+IL1391 2
+Chicago,+IL1484 Springfield,+MA4023 5.5
+Chicago,+IL1484 Cheyenne,+WY4034 8
+Chicago,+IL1484 Chicago,+IL6414 2
+Chicago,+IL1484 Atlanta,+GA4074 8
+Chicago,+IL1484 Chicago,+IL6441 2
+Chicago,+IL1484 Chicago,+IL6603 2
+Chicago,+IL1484 Chicago,+IL6611 2
+Chicago,+IL1484 Chicago,+IL6531 2
+Chicago,+IL1484 Chicago,+IL6621 2
+Orlando,+FL6459 Orlando,+FL4049 2
+Orlando,+FL6459 Orlando,+FL4050 4.5
+New+York,+NY6427 New+York,+NY4088 3.5
+New+York,+NY6427 New+York,+NY4048 2.5
+New+York,+NY6427 New+York,+NY4107 2.5
+New+York,+NY6427 New+York,+NY4116 2.5
+New+York,+NY6427 New+York,+NY6496 2
+Rancho+Cordova,+CA5514 Rancho+Cordova,+CA5507 2.5
+Rancho+Cordova,+CA5514 Stockton,+CA4096 2
+Seattle,+WA6476 Seattle,+WA4019 1
+Anaheim,+CA6721 Anaheim,+CA4101 2
+Anaheim,+CA6721 Anaheim,+CA6464 2
+Anaheim,+CA6721 Anaheim,+CA6627 2
+Anaheim,+CA6721 Anaheim,+CA4031 2
+Anaheim,+CA6721 Anaheim,+CA6539 2
+Anaheim,+CA6721 Anaheim,+CA6556 2
+Anaheim,+CA6721 Anaheim,+CA6564 2
+Anaheim,+CA6721 Anaheim,+CA6744 2
+Anaheim,+CA6721 Anaheim,+CA6684 2
+Anaheim,+CA6721 Anaheim,+CA4073 3
+Anaheim,+CA6721 Anaheim,+CA6502 3.5
+Anaheim,+CA6721 Anaheim,+CA6520 2
+Anaheim,+CA6721 Anaheim,+CA6512 2
+Anaheim,+CA6721 Anaheim,+CA6702 2
+Anaheim,+CA6721 Anaheim,+CA6453 2
+Anaheim,+CA6721 Anaheim,+CA6438 2
+Anaheim,+CA6721 Anaheim,+CA4100 3
+Relay,+MD4029 Relay,+MD4110 2
+Relay,+MD4029 Relay,+MD4054 3
+Cheyenne,+WY4076 Cheyenne,+WY6455 2
+Cheyenne,+WY4076 Denver,+Colorado5501 1
+Cheyenne,+WY4076 Cheyenne,+WY2439 2
+Cheyenne,+WY4076 Cheyenne,+WY6723 2
+Cheyenne,+WY4076 Tacoma,+WA3251 5.5
+Cheyenne,+WY4076 Chicago,+IL1484 5
+Cheyenne,+WY4076 Cheyenne,+WY6629 2
+Cheyenne,+WY4076 Cheyenne,+WY6388 2
+Cheyenne,+WY4076 Cheyenne,+WY6413 2
+Cheyenne,+WY4076 Cheyenne,+WY4034 3
+Cheyenne,+WY4076 Dallas,+TX4080 13.5
+Cheyenne,+WY4076 Tacoma,+WA4114 5.5
+Cheyenne,+WY4076 Cheyenne,+WY6542 2
+Dallas,+TX6726 Dallas,+TX2635 3
+Dallas,+TX6726 Dallas,+TX4015 3
+Dallas,+TX6726 Dallas,+TX4080 3
+Dallas,+TX6726 New+York,+NY4028 2
+Dallas,+TX6726 Dallas,+TX4115 2
+Dallas,+TX6580 Dallas,+TX2635 3
+Dallas,+TX6580 Dallas,+TX4015 3
+Dallas,+TX6580 Dallas,+TX4080 2
+Dallas,+TX6580 New+York,+NY4028 3
+Dallas,+TX6580 Dallas,+TX4115 2
+Washington,+DC6543 Washington,+DC6443 2
+Washington,+DC6543 Washington,+DC4139 2
+Washington,+DC6543 Washington,+DC4140 2
+Washington,+DC6543 Washington,+DC6456 2
+Washington,+DC6543 Washington,+DC4142 2
+Washington,+DC6543 Washington,+DC6748 2
+Brussels,+Belgium4033 London4044 5
+Brussels,+Belgium4033 London4084 8
+Brussels,+Belgium4033 Brussels,+Belgium4075 2
+Brussels,+Belgium4033 London4083 2
+Chicago,+IL6643 Atlanta,+GA6735 13
+Chicago,+IL6643 Chicago,+IL1484 2
+Chicago,+IL6643 Chicago,+IL6644 5
+Stockton,+CA6452 Stockton,+CA4064 3
+Stockton,+CA6452 Stockton,+CA4113 3
+Stockton,+CA6452 Stockton,+CA4065 3
+Stockton,+CA6452 Stockton,+CA4096 3
+Dallas,+TX4115 Pennsauken,+NJ4135 9
+Dallas,+TX4115 Dallas,+TX4015 2
+Dallas,+TX4115 Dallas,+TX6580 2
+Dallas,+TX4115 Dallas,+TX6726 2
+Dallas,+TX4115 Dallas,+TX6645 2
+Dallas,+TX4115 Dallas,+TX6483 2
+Dallas,+TX4115 Anaheim,+CA4031 4
+Dallas,+TX4115 Dallas,+TX6573 2
+Dallas,+TX4115 Dallas,+TX6566 2
+Dallas,+TX4115 Kansas+City,+MO4105 4.5
+Dallas,+TX4115 Dallas,+TX6494 3
+Dallas,+TX4115 Dallas,+TX6737 2
+Dallas,+TX4115 Orlando,+FL4089 6.5
+Dallas,+TX4115 Dallas,+TX6587 2
+Dallas,+TX4115 Dallas,+TX6749 3
+Dallas,+TX4115 Chicago,+IL4123 1
+Dallas,+TX4115 Dallas,+TX4080 2
+Dallas,+TX4115 Dallas,+TX6598 4.5
+Dallas,+TX4115 Dallas,+TX6689 3
+Dallas,+TX4115 Dallas,+TX1742 2
+Dallas,+TX4115 Chicago,+IL1391 5.5
+Dallas,+TX4115 Dallas,+TX2635 2
+Dallas,+TX4115 Dallas,+TX6504 3
+Dallas,+TX4115 Dallas,+TX3549 2
+Dallas,+TX4115 Dallas,+TX6604 3
+Dallas,+TX4115 Dallas,+TX6612 3
+Dallas,+TX4115 Dallas,+TX6419 2
+Dallas,+TX4115 Dallas,+TX6622 2
+Dallas,+TX4115 Dallas,+TX6444 2
+Dallas,+TX4115 Dallas,+TX6641 4
+Dallas,+TX4115 Dallas,+TX6706 3.5
+Dallas,+TX4115 Dallas,+TX6471 2
+Chicago,+IL6644 Chicago,+IL4037 4
+Chicago,+IL6644 Chicago,+IL6643 5
+Kansas+City,+MO4105 Kansas+City,+MO4082 3
+Kansas+City,+MO4105 Pennsauken,+NJ4117 12.5
+Kansas+City,+MO4105 Dallas,+TX2635 5.5
+Kansas+City,+MO4105 Kansas+City,+MO6544 4
+Kansas+City,+MO4105 Kansas+City,+MO6472 4
+Kansas+City,+MO4105 Kansas+City,+MO6707 3
+Kansas+City,+MO4105 Kansas+City,+MO6458 4
+Kansas+City,+MO4105 New+York,+NY4028 6.5
+Kansas+City,+MO4105 Dallas,+TX4115 4.5
+Kansas+City,+MO4105 Kansas+City,+MO6395 3
+Kansas+City,+MO4105 Kansas+City,+MO6422 2.5
+Kansas+City,+MO4105 Lees+Summit,+MO5512 3.5
+Kansas+City,+MO4105 Kansas+City,+MO4043 3
+Kansas+City,+MO4105 Kansas+City,+MO6690 4
+Chicago,+IL6572 Chicago,+IL1484 3
+Chicago,+IL6572 Chicago,+IL4037 2
+Kansas+City,+MO4106 Kansas+City,+MO4082 2.5
+Kansas+City,+MO4106 Pennsauken,+NJ4117 12
+Kansas+City,+MO4106 Dallas,+TX2635 5
+Kansas+City,+MO4106 Kansas+City,+MO6544 2.5
+Kansas+City,+MO4106 Kansas+City,+MO6472 3.5
+Kansas+City,+MO4106 Kansas+City,+MO6707 2.5
+Kansas+City,+MO4106 Kansas+City,+MO6458 3.5
+Kansas+City,+MO4106 Kansas+City,+MO6395 2.5
+Kansas+City,+MO4106 Lees+Summit,+MO5512 2
+Kansas+City,+MO4106 Kansas+City,+MO6422 2
+Kansas+City,+MO4106 Kansas+City,+MO4043 2.5
+Kansas+City,+MO4106 Kansas+City,+MO6690 2.5
+Chicago,+IL4104 New+York,+NY4116 11.5
+Chicago,+IL4104 Seattle,+WA4059 3.5
+Chicago,+IL4104 Chicago,+IL6724 2
+Chicago,+IL4104 Chicago,+IL6652 1
+Chicago,+IL4104 New+York,+NY4048 8.5
+Chicago,+IL4104 Chicago,+IL6492 2
+Chicago,+IL4104 Chicago,+IL6468 2
+Chicago,+IL4104 Kansas+City,+MO4043 6
+Chicago,+IL4104 Chicago,+IL6639 2
+Chicago,+IL4104 Chicago,+IL4122 2
+Chicago,+IL4104 Roachdale,+IN4111 6.5
+Chicago,+IL4104 Chicago,+IL6747 2
+Chicago,+IL4104 Chicago,+IL4036 2
+Chicago,+IL4104 Chicago,+IL6593 3
+Chicago,+IL4104 Dallas,+TX4080 7.5
+Chicago,+IL4104 Chicago,+IL6586 2
+Chicago,+IL4104 Chicago,+IL4037 2
+Chicago,+IL4104 Chicago,+IL6595 2
+Chicago,+IL4104 Chicago,+IL6669 2
+Chicago,+IL4104 Chicago,+IL1391 2
+Chicago,+IL4104 Dallas,+TX2635 5.5
+Chicago,+IL4104 Chicago,+IL1484 2
+Chicago,+IL4104 Cheyenne,+WY4034 5
+Chicago,+IL4104 Chicago,+IL6414 2
+Chicago,+IL4104 Chicago,+IL6441 2
+Chicago,+IL4104 Chicago,+IL6603 2
+Chicago,+IL4104 Chicago,+IL6611 2
+Chicago,+IL4104 Chicago,+IL6531 2
+Chicago,+IL4104 Chicago,+IL6621 2
+Dallas,+TX6658 Dallas,+TX4015 2
+Dallas,+TX6658 Dallas,+TX4080 2
+Anaheim,+CA6584 Anaheim,+CA4099 10
+Anaheim,+CA6584 Anaheim,+CA4101 2
+Anaheim,+CA6584 Anaheim,+CA4100 2
+Chicago,+IL6648 Chicago,+IL1484 2
+Chicago,+IL6648 Chicago,+IL4037 2
+Dallas,+TX6587 Dallas,+TX2635 2
+Dallas,+TX6587 Dallas,+TX4015 2
+Dallas,+TX6587 New+York,+NY4028 3
+Dallas,+TX6587 Dallas,+TX4080 2
+Dallas,+TX6587 Dallas,+TX4115 2
+Dallas,+TX6587 Anaheim,+CA4100 6
+San+Jose,+CA6405 San+Jose,+CA4062 2
+San+Jose,+CA6405 San+Jose,+CA4095 3
+Chicago,+IL4036 Chicago,+IL6724 2
+Chicago,+IL4036 Chicago,+IL4104 2
+Chicago,+IL4036 Chicago,+IL6492 2
+Chicago,+IL4036 Chicago,+IL6468 2
+Chicago,+IL4036 Chicago,+IL6639 2
+Chicago,+IL4036 Chicago,+IL4122 2
+Chicago,+IL4036 Roachdale,+IN4111 9.5
+Chicago,+IL4036 Stockton,+CA4113 12
+Chicago,+IL4036 Chicago,+IL6593 3
+Chicago,+IL4036 Chicago,+IL6747 2
+Chicago,+IL4036 Dallas,+TX4080 5.5
+Chicago,+IL4036 Chicago,+IL4037 2
+Chicago,+IL4036 Chicago,+IL6586 2
+Chicago,+IL4036 Chicago,+IL6595 2
+Chicago,+IL4036 Chicago,+IL6669 2
+Chicago,+IL4036 Chicago,+IL1391 2
+Chicago,+IL4036 Springfield,+MA4020 6
+Chicago,+IL4036 Stockton,+CA4065 11
+Chicago,+IL4036 Chicago,+IL6414 2
+Chicago,+IL4036 Chicago,+IL6611 2
+Chicago,+IL4036 Chicago,+IL6441 2
+Chicago,+IL4036 Chicago,+IL6603 3
+Chicago,+IL4036 Chicago,+IL6531 2
+Chicago,+IL4036 Chicago,+IL6621 2
+Chicago,+IL4037 San+Jose,+CA4062 9
+Chicago,+IL4037 New+York,+NY4124 7.5
+Chicago,+IL4037 Chicago,+IL6724 2
+Chicago,+IL4037 Chicago,+IL6644 4
+Chicago,+IL4037 Chicago,+IL4104 2
+Chicago,+IL4037 Chicago,+IL6572 2
+Chicago,+IL4037 Chicago,+IL6654 2
+Chicago,+IL4037 Chicago,+IL6492 2
+Chicago,+IL4037 Chicago,+IL6468 2
+Chicago,+IL4037 Kansas+City,+MO4043 6
+Chicago,+IL4037 Chicago,+IL6639 2
+Chicago,+IL4037 Chicago,+IL4122 2
+Chicago,+IL4037 Chicago,+IL6648 2
+Chicago,+IL4037 Chicago,+IL6747 2
+Chicago,+IL4037 Chicago,+IL6593 4
+Chicago,+IL4037 Chicago,+IL4036 2
+Chicago,+IL4037 Dallas,+TX4080 7.5
+Chicago,+IL4037 Chicago,+IL6586 2
+Chicago,+IL4037 Chicago,+IL6595 2
+Chicago,+IL4037 Chicago,+IL6669 2
+Chicago,+IL4037 Atlanta,+GA4032 8
+Chicago,+IL4037 Chicago,+IL1484 2
+Chicago,+IL4037 Roachdale,+IN4056 6.5
+Chicago,+IL4037 Cheyenne,+WY4034 5
+Chicago,+IL4037 Chicago,+IL6414 2
+Chicago,+IL4037 Chicago,+IL6603 2
+Chicago,+IL4037 Chicago,+IL6441 2
+Chicago,+IL4037 Chicago,+IL6611 2
+Chicago,+IL4037 Chicago,+IL6531 2
+Chicago,+IL4037 Chicago,+IL6621 2
+Roachdale,+IN4056 Pennsauken,+NJ4125 8.5
+Roachdale,+IN4056 Roachdale,+IN6729 2
+Roachdale,+IN4056 Pennsauken,+NJ4126 7.5
+Roachdale,+IN4056 Roachdale,+IN6677 1
+Roachdale,+IN4056 Roachdale,+IN6712 2
+Roachdale,+IN4056 Roachdale,+IN6697 2
+Roachdale,+IN4056 Roachdale,+IN6552 2
+Roachdale,+IN4056 Roachdale,+IN6402 2
+Roachdale,+IN4056 Roachdale,+IN4111 2
+Roachdale,+IN4056 Roachdale,+IN6636 2
+Roachdale,+IN4056 Chicago,+IL4037 6.5
+Relay,+MD6576 Relay,+MD4093 2
+Relay,+MD6576 Relay,+MD4127 2
+Seattle,+WA4019 Seattle,+WA6476 1
+Seattle,+WA4019 Seattle,+WA4059 3
+Seattle,+WA4019 Seattle,+WA4060 2
+Seattle,+WA4019 Seattle,+WA6450 1
+Pennsauken,+NJ6647 Pennsauken,+NJ4135 1
+Stockton,+CA6602 Stockton,+CA4064 2
+Stockton,+CA6602 Stockton,+CA4096 2
+Pennsauken,+NJ4109 Pennsauken,+NJ4052 2
+Pennsauken,+NJ4109 Pennsauken,+NJ4117 2
+Pennsauken,+NJ4109 New+York,+NY4107 6
+Pennsauken,+NJ4109 Dallas,+TX4015 9
+Pennsauken,+NJ4109 Pennsauken,+NJ4135 2
+Pennsauken,+NJ4109 New+York,+NY4116 6
+Pennsauken,+NJ4109 Pennsauken,+NJ4091 2
+Pennsauken,+NJ4109 Pennsauken,+NJ6516 3
+Pennsauken,+NJ4109 Pennsauken,+NJ6614 3
+Pennsauken,+NJ4109 Pennsauken,+NJ6525 3
+Pennsauken,+NJ4109 Pennsauken,+NJ6517 2
+Pennsauken,+NJ4109 Pennsauken,+NJ6624 3
+Pennsauken,+NJ4109 Pennsauken,+NJ6448 3
+Pennsauken,+NJ4109 Stockton,+CA4096 6.5
+Pennsauken,+NJ4109 Pennsauken,+NJ6728 2
+Pennsauken,+NJ4109 Pennsauken,+NJ6486 3
+Pennsauken,+NJ4109 Pennsauken,+NJ6754 3
+Chicago,+IL6724 Chicago,+IL1391 2
+Chicago,+IL6724 Chicago,+IL1484 2
+Chicago,+IL6724 Chicago,+IL4036 2
+Chicago,+IL6724 Chicago,+IL4037 2
+Chicago,+IL6724 Chicago,+IL4104 2
+Dallas,+TX6663 Dallas,+TX2635 2
+Dallas,+TX6663 Dallas,+TX4080 2
+Chicago,+IL6651 Chicago,+IL4122 1
+Amsterdam4072 Amsterdam4030 6
+Amsterdam4072 Hamburg,+Germany4041 2
+Dallas,+TX6737 Dallas,+TX2635 2
+Dallas,+TX6737 Dallas,+TX4015 2
+Dallas,+TX6737 Dallas,+TX4080 2
+Dallas,+TX6737 New+York,+NY4028 5
+Dallas,+TX6737 Dallas,+TX4115 2
+Chicago,+IL6652 Chicago,+IL4104 1
+Anaheim,+CA6591 Anaheim,+CA4101 2.5
+Anaheim,+CA6591 Anaheim,+CA4099 7.5
+Anaheim,+CA6591 Anaheim,+CA4100 4.5
+Chicago,+IL6654 Chicago,+IL1484 2
+Chicago,+IL6654 Chicago,+IL4037 2
+Stockton,+CA6609 Stockton,+CA4113 4.5
+Stockton,+CA6609 Stockton,+CA4096 2.5
+Stockton,+CA6609 Stockton,+CA4065 2.5
+Stockton,+CA6463 Stockton,+CA4113 3.5
+Stockton,+CA6463 Stockton,+CA4064 2.5
+Stockton,+CA6463 Stockton,+CA4096 2.5
+Stockton,+CA6463 Stockton,+CA4065 2.5
+San+Jose,+CA4095 San+Jose,+CA4062 2
+San+Jose,+CA4095 San+Jose,+CA4119 2
+San+Jose,+CA4095 Stockton,+CA4065 5
+San+Jose,+CA4095 San+Jose,+CA4112 2
+San+Jose,+CA4095 San+Jose,+CA6477 1
+San+Jose,+CA4095 San+Jose,+CA6405 3
+San+Jose,+CA4095 Stockton,+CA4113 6
+San+Jose,+CA4095 Anaheim,+CA4073 2.5
+San+Jose,+CA4095 Tacoma,+WA4114 6.5
+Kansas+City,+MO4043 Kansas+City,+MO4082 2
+Kansas+City,+MO4043 Kansas+City,+MO6544 2
+Kansas+City,+MO4043 Dallas,+TX4015 5.5
+Kansas+City,+MO4043 Kansas+City,+MO6472 2
+Kansas+City,+MO4043 Kansas+City,+MO6707 2
+Kansas+City,+MO4043 Kansas+City,+MO6458 3
+Kansas+City,+MO4043 Kansas+City,+MO6750 2
+Kansas+City,+MO4043 Kansas+City,+MO6395 2
+Kansas+City,+MO4043 Kansas+City,+MO4105 3
+Kansas+City,+MO4043 Kansas+City,+MO4106 2.5
+Kansas+City,+MO4043 Chicago,+IL4104 6
+Kansas+City,+MO4043 Lees+Summit,+MO5504 1
+Kansas+City,+MO4043 Kansas+City,+MO6690 2
+Kansas+City,+MO4043 Seattle,+WA4060 6.5
+Kansas+City,+MO4043 Chicago,+IL4037 6
+Dallas,+TX6598 Dallas,+TX2635 3.5
+Dallas,+TX6598 Atlanta,+GA6735 7
+Dallas,+TX6598 Dallas,+TX4015 3.5
+Dallas,+TX6598 Dallas,+TX4080 3.5
+Dallas,+TX6598 Chicago,+IL6593 6
+Dallas,+TX6598 New+York,+NY4028 6.5
+Dallas,+TX6598 Kansas+City,+MO6458 7
+Dallas,+TX6598 Dallas,+TX4115 4.5
+Chicago,+IL6586 Chicago,+IL1391 3
+Chicago,+IL6586 Chicago,+IL4036 2
+Chicago,+IL6586 Chicago,+IL1484 2
+Chicago,+IL6586 Chicago,+IL4037 2
+Chicago,+IL6586 Chicago,+IL4104 2
+Atlanta,+GA6735 Atlanta,+GA4032 5
+Atlanta,+GA6735 Atlanta,+GA4074 5
+Atlanta,+GA6735 Chicago,+IL6643 13
+Atlanta,+GA6735 Dallas,+TX6598 7
+Atlanta,+GA6735 Atlanta,+GA4102 5
+Hong+Kong4042 Hong+Kong6421 12.5
+Hong+Kong4042 Tokyo4069 4.5
+Hong+Kong4042 Tokyo4070 2
+Roachdale,+IN6676 Roachdale,+IN4111 1
+Roachdale,+IN6677 Roachdale,+IN4056 1
+Relay,+MD4110 New+York,+NY4048 5.5
+Relay,+MD4110 Washington,+DC6443 2.5
+Relay,+MD4110 Relay,+MD4136 2
+Relay,+MD4110 San+Jose,+CA4062 8
+Relay,+MD4110 Washington,+DC9643 2.5
+Relay,+MD4110 Washington,+DC6469 2.5
+Relay,+MD4110 Relay,+MD6461 2.5
+Relay,+MD4110 Relay,+MD6518 2.5
+Relay,+MD4110 Relay,+MD4138 2
+Relay,+MD4110 Atlanta,+GA4074 4
+Relay,+MD4110 Relay,+MD4131 2
+Relay,+MD4110 New+York,+NY4116 7.5
+Relay,+MD4110 Relay,+MD6551 2.5
+Relay,+MD4110 Washington,+DC4139 2.5
+Relay,+MD4110 Manasquan,+NJ4086 4
+Relay,+MD4110 Relay,+MD6431 2.5
+Relay,+MD4110 Washington,+DC4140 2.5
+Relay,+MD4110 Relay,+MD6487 1
+Relay,+MD4110 Relay,+MD6696 2.5
+Relay,+MD4110 Washington,+DC6456 2.5
+Relay,+MD4110 Relay,+MD6675 2.5
+Relay,+MD4110 Relay,+MD4118 2
+Relay,+MD4110 Relay,+MD4029 2
+Relay,+MD4110 Relay,+MD4093 2
+Relay,+MD4110 Relay,+MD6449 2.5
+Relay,+MD4110 Relay,+MD5801 3
+Relay,+MD4110 Washington,+DC6748 2.5
+New+York,+NY6446 New+York,+NY4088 3
+New+York,+NY6446 New+York,+NY4048 2
+New+York,+NY6446 New+York,+NY4107 3
+New+York,+NY6446 New+York,+NY4116 3
+New+York,+NY6446 New+York,+NY6496 2.5
+Pennsauken,+NJ6728 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6728 Pennsauken,+NJ4109 2
+Pennsauken,+NJ6728 Pennsauken,+NJ4091 3
+Relay,+MD4118 Relay,+MD4110 2
+Relay,+MD4118 Relay,+MD4093 2
+Relay,+MD4118 Pennsauken,+NJ4091 4.5
+Relay,+MD4118 Relay,+MD4054 2
+Relay,+MD4118 Relay,+MD4127 2
+Dublin,+Ireland4078 London4083 1
+Pennsauken,+NJ4117 Pennsauken,+NJ4109 2
+Pennsauken,+NJ4117 Pennsauken,+NJ4126 4.5
+Pennsauken,+NJ4117 Pennsauken,+NJ4135 2
+Pennsauken,+NJ4117 Roachdale,+IN4111 9
+Pennsauken,+NJ4117 Kansas+City,+MO4105 12.5
+Pennsauken,+NJ4117 Kansas+City,+MO4106 12
+Pennsauken,+NJ4117 Pennsauken,+NJ4091 4
+Sydney,+Australia6437 Sydney,+Australia4067 4
+Sydney,+Australia6437 Sydney,+Australia4068 2
+Anaheim,+CA6744 Anaheim,+CA4101 3
+Anaheim,+CA6744 Anaheim,+CA4099 8
+Anaheim,+CA6744 Anaheim,+CA4031 3
+Anaheim,+CA6744 Anaheim,+CA4073 3
+Anaheim,+CA6744 Anaheim,+CA6721 2
+Anaheim,+CA6744 Anaheim,+CA4100 2
+Los+Angeles,+CA5502 Anaheim,+CA4031 1
+Cheyenne,+WY6413 Cheyenne,+WY4034 2
+Cheyenne,+WY6413 Cheyenne,+WY4076 2
+Cheyenne,+WY6413 Atlanta,+GA6530 1
+Dallas,+TX4133 Anaheim,+CA4099 8
+Dallas,+TX4133 Dallas,+TX2635 4
+Dallas,+TX4133 Anaheim,+CA4100 2
+Chicago,+IL4122 Chicago,+IL1391 2
+Chicago,+IL4122 Chicago,+IL1484 2
+Chicago,+IL4122 Chicago,+IL6651 1
+Chicago,+IL4122 Springfield,+MA4025 5
+Chicago,+IL4122 Chicago,+IL4104 2
+Chicago,+IL4122 Chicago,+IL6492 2
+Chicago,+IL4122 Chicago,+IL6639 3
+Chicago,+IL4122 Chicago,+IL6414 2
+Chicago,+IL4122 Chicago,+IL4036 2
+Chicago,+IL4122 Chicago,+IL6611 2
+Chicago,+IL4122 Chicago,+IL4037 2
+Chicago,+IL4122 Chicago,+IL6621 2
+Dallas,+TX6749 Dallas,+TX4015 3
+Dallas,+TX6749 Dallas,+TX4080 3
+Dallas,+TX6749 New+York,+NY4028 2
+Dallas,+TX6749 Dallas,+TX4115 3
+Stockton,+CA6619 Stockton,+CA4113 4.5
+Stockton,+CA6619 Stockton,+CA4096 2.5
+Stockton,+CA6619 Stockton,+CA4065 2.5
+Chicago,+IL4123 Dallas,+TX4115 1
+Chicago,+IL6593 Chicago,+IL1391 2
+Chicago,+IL6593 Chicago,+IL1484 3
+Chicago,+IL6593 Dallas,+TX4080 8.5
+Chicago,+IL6593 Chicago,+IL4036 3
+Chicago,+IL6593 Chicago,+IL4037 4
+Chicago,+IL6593 Dallas,+TX6598 6
+Chicago,+IL6593 Chicago,+IL4104 3
+Chicago,+IL6593 Dallas,+TX6641 6.5
+Chicago,+IL6595 Chicago,+IL1391 3
+Chicago,+IL6595 Chicago,+IL4036 2
+Chicago,+IL6595 Chicago,+IL1484 2
+Chicago,+IL6595 Chicago,+IL4037 2
+Chicago,+IL6595 Chicago,+IL4104 2
+Chicago,+IL6669 Chicago,+IL1391 2
+Chicago,+IL6669 Chicago,+IL1484 2
+Chicago,+IL6669 Chicago,+IL4036 2
+Chicago,+IL6669 Chicago,+IL4037 2
+Chicago,+IL6669 Chicago,+IL4104 2
+Stockton,+CA6479 Stockton,+CA4113 3.5
+Stockton,+CA6479 Stockton,+CA4064 2.5
+Stockton,+CA6479 Stockton,+CA4065 2.5
+Stockton,+CA6479 Stockton,+CA4096 2.5
+Milan,+Italy4085 Milan,+Italy4046 5
+Milan,+Italy4085 Frankfurt4040 2
+Atlanta,+GA6745 Atlanta,+GA4032 2
+Atlanta,+GA6745 Atlanta,+GA4074 2
+Atlanta,+GA6745 Atlanta,+GA4102 2
+Hamburg,+Germany4081 Copenhagen4077 6.5
+Hamburg,+Germany4081 Hamburg,+Germany4041 4
+Hamburg,+Germany4081 Frankfurt4040 3
+New+York,+NY6524 New+York,+NY4088 2.5
+New+York,+NY6524 New+York,+NY4129 2.5
+Relay,+MD4054 Washington,+DC6443 2.5
+Relay,+MD4054 Relay,+MD4136 2
+Relay,+MD4054 Reston,+VA5496 2
+Relay,+MD4054 New+York,+NY4107 7.5
+Relay,+MD4054 Relay,+MD4138 2
+Relay,+MD4054 Relay,+MD6696 2.5
+Relay,+MD4054 Washington,+DC6456 2.5
+Relay,+MD4054 New+York,+NY4129 3.5
+Relay,+MD4054 Research+Triangle+Park,+NC4057 1
+Relay,+MD4054 Washington,+DC6469 2.5
+Relay,+MD4054 Washington,+DC4140 2.5
+Relay,+MD4054 Relay,+MD6431 2.5
+Relay,+MD4054 Washington,+DC6748 2.5
+Relay,+MD4054 Relay,+MD6461 2.5
+Relay,+MD4054 Relay,+MD6518 2.5
+Relay,+MD4054 Washington,+DC9643 2.5
+Relay,+MD4054 Washington,+DC4139 2.5
+Relay,+MD4054 Relay,+MD6551 2.5
+Relay,+MD4054 Relay,+MD6449 2.5
+Relay,+MD4054 Relay,+MD4131 2
+Relay,+MD4054 Manasquan,+NJ4047 4
+Relay,+MD4054 Relay,+MD4029 3
+Relay,+MD4054 Relay,+MD4118 2
+Relay,+MD4054 Relay,+MD6675 2.5
+Relay,+MD4054 Relay,+MD4127 2
+Relay,+MD4127 Relay,+MD4136 3
+Relay,+MD4127 Relay,+MD4131 2
+Relay,+MD4127 Relay,+MD6576 2
+Relay,+MD4127 Ashburn,+VA10163 2
+Relay,+MD4127 Relay,+MD4093 2
+Relay,+MD4127 Relay,+MD4118 2
+Relay,+MD4127 Relay,+MD4054 2
+Pennsauken,+NJ4052 Pennsauken,+NJ4109 2
+Pennsauken,+NJ4052 Pennsauken,+NJ4126 3.5
+Pennsauken,+NJ4052 Pennsauken,+NJ6399 1
+Pennsauken,+NJ4052 Pennsauken,+NJ4091 2
+Pennsauken,+NJ4052 New+York,+NY4048 6
+Pennsauken,+NJ4052 Kansas+City,+MO4082 12.5
+Pennsauken,+NJ4052 Pennsauken,+NJ6516 2
+Pennsauken,+NJ4052 Stockton,+CA4064 7.5
+Pennsauken,+NJ4052 Pennsauken,+NJ6517 2
+Pennsauken,+NJ4052 Pennsauken,+NJ6525 2
+Pennsauken,+NJ4052 Pennsauken,+NJ6614 2
+Pennsauken,+NJ4052 Pennsauken,+NJ6624 2
+Pennsauken,+NJ4052 Pennsauken,+NJ6448 2
+Pennsauken,+NJ4052 Pennsauken,+NJ6728 2
+Pennsauken,+NJ4052 Pennsauken,+NJ6486 2
+Pennsauken,+NJ4052 Pennsauken,+NJ6754 2
+Pennsauken,+NJ4125 Springfield,+MA4020 2
+Pennsauken,+NJ4125 Roachdale,+IN4056 8.5
+Pennsauken,+NJ4125 Pennsauken,+NJ4091 6.5
+Tacoma,+WA6408 Tacoma,+WA3251 3
+Tacoma,+WA6408 Tacoma,+WA6555 2
+Tacoma,+WA6408 Tacoma,+WA4114 3
+Pennsauken,+NJ4126 Pennsauken,+NJ4052 3.5
+Pennsauken,+NJ4126 Pennsauken,+NJ4117 4.5
+Pennsauken,+NJ4126 Springfield,+MA4020 2
+Pennsauken,+NJ4126 Pennsauken,+NJ4135 3.5
+Pennsauken,+NJ4126 Roachdale,+IN4056 7.5
+Pennsauken,+NJ4126 Pennsauken,+NJ4091 5.5
+Dallas,+TX6683 Dallas,+TX2635 2
+Dallas,+TX6683 Dallas,+TX4080 2
+Anaheim,+CA6684 Anaheim,+CA4101 3
+Anaheim,+CA6684 Anaheim,+CA4031 3
+Anaheim,+CA6684 Anaheim,+CA4073 3
+Anaheim,+CA6684 Anaheim,+CA6721 2
+Anaheim,+CA6684 Anaheim,+CA4100 2
+Chicago,+IL6747 Chicago,+IL1391 2
+Chicago,+IL6747 Chicago,+IL1484 2
+Chicago,+IL6747 Chicago,+IL4036 2
+Chicago,+IL6747 Chicago,+IL4037 2
+Chicago,+IL6747 Chicago,+IL4104 2
+Anaheim,+CA4073 Anaheim,+CA4101 2
+Anaheim,+CA4073 Anaheim,+CA6464 3
+Anaheim,+CA4073 Dallas,+TX4015 4
+Anaheim,+CA4073 Anaheim,+CA6627 3
+Anaheim,+CA4073 Anaheim,+CA6539 3
+Anaheim,+CA4073 Anaheim,+CA6556 3.5
+Anaheim,+CA4073 Anaheim,+CA6564 3
+Anaheim,+CA4073 Anaheim,+CA6744 3
+Anaheim,+CA4073 San+Jose,+CA4095 2.5
+Anaheim,+CA4073 Anaheim,+CA6684 3
+Anaheim,+CA4073 Anaheim,+CA6502 3.5
+Anaheim,+CA4073 Anaheim,+CA6512 3
+Anaheim,+CA4073 Anaheim,+CA6520 3
+Anaheim,+CA4073 Anaheim,+CA6610 1
+Anaheim,+CA4073 Anaheim,+CA4099 8
+Anaheim,+CA4073 Anaheim,+CA6702 2
+Anaheim,+CA4073 Anaheim,+CA6453 3
+Anaheim,+CA4073 Anaheim,+CA6721 3
+Anaheim,+CA4073 Anaheim,+CA4100 2
+Anaheim,+CA4073 Anaheim,+CA6438 3.5
+Dallas,+TX6689 Dallas,+TX2635 3
+Dallas,+TX6689 Dallas,+TX4015 2
+Dallas,+TX6689 Dallas,+TX4080 3
+Dallas,+TX6689 New+York,+NY4028 3
+Dallas,+TX6689 Dallas,+TX4115 3
+Dallas,+TX1742 Dallas,+TX2635 3
+Dallas,+TX1742 Dallas,+TX4015 3
+Dallas,+TX1742 Dallas,+TX4080 3
+Dallas,+TX1742 New+York,+NY4028 2
+Dallas,+TX1742 Dallas,+TX4115 2
+New+York,+NY6605 New+York,+NY6606 3
+New+York,+NY6605 New+York,+NY4124 2
+New+York,+NY6605 New+York,+NY4116 2
+New+York,+NY6532 New+York,+NY4088 2.5
+New+York,+NY6532 New+York,+NY4048 2.5
+New+York,+NY6532 New+York,+NY4107 2.5
+New+York,+NY6532 New+York,+NY4116 2.5
+Atlanta,+GA6685 Atlanta,+GA4032 2
+Atlanta,+GA6685 Atlanta,+GA4074 2
+Atlanta,+GA6685 Atlanta,+GA4102 2
+New+York,+NY6606 New+York,+NY4116 3
+New+York,+NY6606 New+York,+NY4124 3
+New+York,+NY6606 New+York,+NY6605 3
+Roachdale,+IN6697 Roachdale,+IN4111 2
+Roachdale,+IN6697 Roachdale,+IN4056 2
+Roachdale,+IN6402 Roachdale,+IN4111 2
+Roachdale,+IN6402 Roachdale,+IN4056 2
+Atlanta,+GA4074 Orlando,+FL4049 4
+Atlanta,+GA4074 Dallas,+TX4015 5.5
+Atlanta,+GA4074 Atlanta,+GA6540 2
+Atlanta,+GA4074 Research+Triangle+Park,+NC4058 1
+Atlanta,+GA4074 Atlanta,+GA4102 2
+Atlanta,+GA4074 Atlanta,+GA6465 2
+Atlanta,+GA4074 Atlanta,+GA6481 2
+Atlanta,+GA4074 Atlanta,+GA6628 2
+Atlanta,+GA4074 New+York,+NY4088 6.5
+Atlanta,+GA4074 Atlanta,+GA6735 5
+Atlanta,+GA4074 Atlanta,+GA4032 2
+Atlanta,+GA4074 Atlanta,+GA3957 2
+Atlanta,+GA4074 Atlanta,+GA6745 2
+Atlanta,+GA4074 Chicago,+IL1484 8
+Atlanta,+GA4074 Atlanta,+GA2344 2
+Atlanta,+GA4074 Relay,+MD4110 4
+Atlanta,+GA4074 Atlanta,+GA6685 2
+Atlanta,+GA4074 Atlanta,+GA2338 2
+Atlanta,+GA4074 Atlanta,+GA2347 2
+Atlanta,+GA4074 Orlando,+FL4050 3.5
+Relay,+MD4131 Relay,+MD4136 2
+Relay,+MD4131 New+York,+NY6397 9
+Relay,+MD4131 Ashburn,+VA10162 1
+Relay,+MD4131 Relay,+MD4110 2
+Relay,+MD4131 Relay,+MD4093 2
+Relay,+MD4131 Atlanta,+GA4102 4
+Relay,+MD4131 Relay,+MD4127 2
+Relay,+MD4131 Relay,+MD4054 2
+Paris4051 Paris4090 2
+Paris4051 Frankfurt4079 2
+Relay,+MD6675 Relay,+MD4110 2.5
+Relay,+MD6675 Relay,+MD4093 2.5
+Relay,+MD6675 Relay,+MD4054 2.5
+Relay,+MD4136 Relay,+MD4131 2
+Relay,+MD4136 Ashburn,+VA10163 2
+Relay,+MD4136 Relay,+MD4110 2
+Relay,+MD4136 Relay,+MD5801 2
+Relay,+MD4136 Relay,+MD4054 2
+Relay,+MD4136 Relay,+MD4127 3
+New+York,+NY6397 New+York,+NY4088 2.5
+New+York,+NY6397 New+York,+NY4048 2.5
+New+York,+NY6397 New+York,+NY4107 2.5
+New+York,+NY6397 New+York,+NY4116 2.5
+New+York,+NY6397 Relay,+MD4131 9
+Pennsauken,+NJ4135 Pennsauken,+NJ4109 2
+Pennsauken,+NJ4135 Pennsauken,+NJ4117 2
+Pennsauken,+NJ4135 Pennsauken,+NJ4126 3.5
+Pennsauken,+NJ4135 New+York,+NY4028 11
+Pennsauken,+NJ4135 Pennsauken,+NJ6647 1
+Pennsauken,+NJ4135 Dallas,+TX4115 9
+Pennsauken,+NJ4135 Relay,+MD4093 8.5
+Pennsauken,+NJ4135 Pennsauken,+NJ4091 2
+Relay,+MD4138 Ashburn,+VA10161 1
+Relay,+MD4138 Relay,+MD4093 2
+Relay,+MD4138 Relay,+MD4110 2
+Relay,+MD4138 Relay,+MD4054 2
+Kansas+City,+MO6750 Kansas+City,+MO4082 2
+Kansas+City,+MO6750 Kansas+City,+MO4043 2
+Stockton,+CA6563 Stockton,+CA4113 4.5
+Stockton,+CA6563 Stockton,+CA4064 2.5
+Stockton,+CA6563 Stockton,+CA4096 2.5
+Stockton,+CA6563 Stockton,+CA4065 2.5
+Dallas,+TX4080 Richardson,+TX5500 2
+Dallas,+TX4080 San+Jose,+CA4119 7.5
+Dallas,+TX4080 Cheyenne,+WY4076 13.5
+Dallas,+TX4080 Dallas,+TX6580 2
+Dallas,+TX4080 Dallas,+TX6726 3
+Dallas,+TX4080 Dallas,+TX6566 3
+Dallas,+TX4080 Dallas,+TX4115 2
+Dallas,+TX4080 Dallas,+TX6494 2
+Dallas,+TX4080 Chicago,+IL4104 7.5
+Dallas,+TX4080 Dallas,+TX6658 2
+Dallas,+TX4080 Dallas,+TX6749 3
+Dallas,+TX4080 Dallas,+TX6587 2
+Dallas,+TX4080 Chicago,+IL4036 5.5
+Dallas,+TX4080 Chicago,+IL6593 8.5
+Dallas,+TX4080 Chicago,+IL4037 7.5
+Dallas,+TX4080 Dallas,+TX6604 3
+Dallas,+TX4080 Dallas,+TX6622 3
+Dallas,+TX4080 Dallas,+TX6444 2
+Dallas,+TX4080 Dallas,+TX6641 3
+Dallas,+TX4080 Anaheim,+CA4100 4
+Dallas,+TX4080 Anaheim,+CA4101 7
+Dallas,+TX4080 Dallas,+TX4015 2
+Dallas,+TX4080 Dallas,+TX6645 3
+Dallas,+TX4080 Dallas,+TX6483 3
+Dallas,+TX4080 New+York,+NY4028 4
+Dallas,+TX4080 Dallas,+TX6573 3
+Dallas,+TX4080 Dallas,+TX6663 2
+Dallas,+TX4080 Dallas,+TX6558 2
+Dallas,+TX4080 Dallas,+TX6737 2
+Dallas,+TX4080 Dallas,+TX6683 2
+Dallas,+TX4080 Dallas,+TX6598 3.5
+Dallas,+TX4080 Dallas,+TX1742 3
+Dallas,+TX4080 Dallas,+TX6689 3
+Dallas,+TX4080 Kansas+City,+MO4082 5.5
+Dallas,+TX4080 Dallas,+TX2635 2
+Dallas,+TX4080 Chicago,+IL1484 5.5
+Dallas,+TX4080 Anaheim,+CA6502 7.5
+Dallas,+TX4080 Dallas,+TX6504 4
+Dallas,+TX4080 Dallas,+TX3549 2
+Dallas,+TX4080 Anaheim,+CA4099 12
+Dallas,+TX4080 Dallas,+TX6612 2
+Dallas,+TX4080 Dallas,+TX6419 3
+Dallas,+TX4080 Chicago,+IL6441 7.5
+Dallas,+TX4080 Dallas,+TX6471 2
+Dallas,+TX4080 Dallas,+TX6706 2.5
+Brussels,+Belgium4075 Amsterdam4030 2
+Brussels,+Belgium4075 Brussels,+Belgium4033 2
+Stockton,+CA6569 Stockton,+CA4113 3.5
+Stockton,+CA6569 Stockton,+CA4064 2.5
+Stockton,+CA6569 Stockton,+CA4096 2.5
+Stockton,+CA6569 Stockton,+CA4065 2.5
+Orlando,+FL4108 Orlando,+FL4089 2
+Orlando,+FL4108 Orlando,+FL4049 3
+Orlando,+FL4108 Orlando,+FL6429 4
+Orlando,+FL4108 Atlanta,+GA4032 2
+Orlando,+FL4108 Orlando,+FL4050 3.5
+Orlando,+FL4108 Orlando,+FL6693 4.5
+Pennsauken,+NJ6754 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6754 Pennsauken,+NJ4109 3
+Pennsauken,+NJ6754 Pennsauken,+NJ4091 3
+Seattle,+WA4059 Tacoma,+WA3251 2
+Seattle,+WA4059 Seattle,+WA4019 3
+Seattle,+WA4059 Seattle,+WA6432 3
+Seattle,+WA4059 Seattle,+WA4060 2
+Seattle,+WA4059 Chicago,+IL4104 3.5
+Washington,+DC6736 Washington,+DC6443 3
+Washington,+DC6736 Washington,+DC9643 4
+Washington,+DC6736 Washington,+DC4139 3
+Washington,+DC6736 Washington,+DC4140 3
+Washington,+DC6736 Washington,+DC6456 3
+Washington,+DC6736 Washington,+DC4142 2
+Washington,+DC6736 Washington,+DC6748 3
+Kansas+City,+MO6690 Kansas+City,+MO4082 2
+Kansas+City,+MO6690 Kansas+City,+MO4043 2
+Kansas+City,+MO6690 Kansas+City,+MO6472 2
+Kansas+City,+MO6690 Dallas,+TX4015 9.5
+Kansas+City,+MO6690 Kansas+City,+MO4105 4
+Kansas+City,+MO6690 Kansas+City,+MO4106 2.5
+Stockton,+CA6719 Stockton,+CA4113 3.5
+Stockton,+CA6719 Stockton,+CA4064 2.5
+Stockton,+CA6719 Stockton,+CA4096 2.5
+Stockton,+CA6719 Stockton,+CA4065 2.5
+Kansas+City,+MO4082 Pennsauken,+NJ4052 12.5
+Kansas+City,+MO4082 Kansas+City,+MO6544 2
+Kansas+City,+MO4082 Kansas+City,+MO6472 2
+Kansas+City,+MO4082 Kansas+City,+MO6707 2
+Kansas+City,+MO4082 Kansas+City,+MO6458 3
+Kansas+City,+MO4082 Kansas+City,+MO6750 2
+Kansas+City,+MO4082 Kansas+City,+MO6395 2
+Kansas+City,+MO4082 Kansas+City,+MO4105 3
+Kansas+City,+MO4082 Lees+Summit,+MO5503 1
+Kansas+City,+MO4082 Kansas+City,+MO4106 2.5
+Kansas+City,+MO4082 Kansas+City,+MO6422 2.5
+Kansas+City,+MO4082 Lees+Summit,+MO5505 1
+Kansas+City,+MO4082 Kansas+City,+MO4043 2
+Kansas+City,+MO4082 Kansas+City,+MO6690 2
+Kansas+City,+MO4082 Dallas,+TX4080 5.5
+Stockton,+CA6577 Stockton,+CA4113 2.5
+Stockton,+CA6577 Stockton,+CA4064 3.5
+Stockton,+CA6577 Stockton,+CA4096 2.5
+Stockton,+CA6577 Stockton,+CA4065 2.5
+Dallas,+TX2635 Dallas,+TX6580 3
+Dallas,+TX2635 Dallas,+TX6726 3
+Dallas,+TX2635 Dallas,+TX6566 3
+Dallas,+TX2635 Dallas,+TX4115 2
+Dallas,+TX2635 Kansas+City,+MO4105 5.5
+Dallas,+TX2635 Dallas,+TX6494 2
+Dallas,+TX2635 Kansas+City,+MO4106 5
+Dallas,+TX2635 Chicago,+IL4104 5.5
+Dallas,+TX2635 Dallas,+TX4133 4
+Dallas,+TX2635 Dallas,+TX6587 2
+Dallas,+TX2635 Dallas,+TX4080 2
+Dallas,+TX2635 Dallas,+TX6604 4
+Dallas,+TX2635 Dallas,+TX6444 3
+Dallas,+TX2635 Dallas,+TX6622 3
+Dallas,+TX2635 Dallas,+TX6641 3
+Dallas,+TX2635 Anaheim,+CA4101 4
+Dallas,+TX2635 Dallas,+TX4015 2
+Dallas,+TX2635 Dallas,+TX6645 3
+Dallas,+TX2635 Dallas,+TX6483 3
+Dallas,+TX2635 New+York,+NY4028 4
+Dallas,+TX2635 Dallas,+TX6573 3
+Dallas,+TX2635 Dallas,+TX6663 2
+Dallas,+TX2635 Dallas,+TX6737 2
+Dallas,+TX2635 Dallas,+TX6683 2
+Dallas,+TX2635 Dallas,+TX6598 3.5
+Dallas,+TX2635 Dallas,+TX1742 3
+Dallas,+TX2635 Dallas,+TX6689 3
+Dallas,+TX2635 Atlanta,+GA4032 5.5
+Dallas,+TX2635 Dallas,+TX6504 3
+Dallas,+TX2635 Anaheim,+CA4099 10
+Dallas,+TX2635 Dallas,+TX3549 3
+Dallas,+TX2635 Dallas,+TX6612 2
+Dallas,+TX2635 Dallas,+TX6419 3
+Dallas,+TX2635 Dallas,+TX6471 2
+Dallas,+TX2635 Dallas,+TX6706 2.5
+Washington,+DC9643 Washington,+DC6736 4
+Washington,+DC9643 Washington,+DC6415 3
+Washington,+DC9643 Relay,+MD4110 2.5
+Washington,+DC9643 Relay,+MD4093 2.5
+Washington,+DC9643 Washington,+DC6393 3
+Washington,+DC9643 Relay,+MD4054 2.5
+Pearl+Harbor,+HI6550 Pearl+Harbor,+HI4092 3
+Pearl+Harbor,+HI6550 Pearl+Harbor,+HI4053 7.5
+Anaheim,+CA4099 Anaheim,+CA4101 9
+Anaheim,+CA4099 San+Jose,+CA4062 8.5
+Anaheim,+CA4099 Anaheim,+CA6627 8
+Anaheim,+CA4099 Anaheim,+CA4031 8
+Anaheim,+CA4099 Anaheim,+CA6539 8
+Anaheim,+CA4099 Anaheim,+CA6490 8
+Anaheim,+CA4099 Anaheim,+CA6564 8
+Anaheim,+CA4099 Anaheim,+CA6556 7.5
+Anaheim,+CA4099 Anaheim,+CA6744 8
+Anaheim,+CA4099 Dallas,+TX4133 8
+Anaheim,+CA4099 Anaheim,+CA6591 7.5
+Anaheim,+CA4099 Anaheim,+CA6584 10
+Anaheim,+CA4099 Pearl+Harbor,+HI4092 7
+Anaheim,+CA4099 Dallas,+TX4080 12
+Anaheim,+CA4099 Anaheim,+CA4073 8
+Anaheim,+CA4099 Dallas,+TX2635 10
+Anaheim,+CA4099 Anaheim,+CA6502 7.5
+Anaheim,+CA4099 Anaheim,+CA6512 9
+Anaheim,+CA4099 Anaheim,+CA6520 9
+Anaheim,+CA4099 Anaheim,+CA6702 8
+Anaheim,+CA4099 Anaheim,+CA6453 9
+Anaheim,+CA4099 Anaheim,+CA6438 7.5
+Anaheim,+CA4099 Anaheim,+CA4100 9
+Copenhagen4038 Copenhagen4077 2
+Copenhagen4038 Stockholm,+Sweden4066 5
+Copenhagen4038 Manasquan,+NJ4086 3
+Copenhagen4038 Hamburg,+Germany4041 4.5
+Dallas,+TX6419 Dallas,+TX2635 3
+Dallas,+TX6419 Dallas,+TX4015 3
+Dallas,+TX6419 Dallas,+TX4080 3
+Dallas,+TX6419 New+York,+NY4028 2
+Dallas,+TX6419 Dallas,+TX4115 2
+Seattle,+WA4060 Kansas+City,+MO4043 6.5
+Seattle,+WA4060 Tacoma,+WA3251 3
+Seattle,+WA4060 Seattle,+WA4059 2
+Seattle,+WA4060 Seattle,+WA4019 2
+Seattle,+WA4060 Seattle,+WA6432 2
+Orlando,+FL4049 Orlando,+FL6429 2
+Orlando,+FL4049 Orlando,+FL4089 3
+Orlando,+FL4049 Dallas,+TX4015 7.5
+Orlando,+FL4049 Orlando,+FL4108 3
+Orlando,+FL4049 Atlanta,+GA4074 4
+Orlando,+FL4049 Orlando,+FL6459 2
+Orlando,+FL4049 Orlando,+FL6693 2.5
+Orlando,+FL4049 Atlanta,+GA4102 3
+New+York,+NY4017 New+York,+NY4048 2.5
+New+York,+NY4017 London4045 9
+New+York,+NY4017 New+York,+NY4134 2.5
+New+York,+NY6559 New+York,+NY4088 3
+New+York,+NY6559 New+York,+NY4048 2
+New+York,+NY6559 New+York,+NY4107 3
+New+York,+NY6559 New+York,+NY4116 3
+Relay,+MD6696 Relay,+MD4110 2.5
+Relay,+MD6696 Relay,+MD4093 2.5
+Relay,+MD6696 Relay,+MD4054 2.5
+Stockton,+CA4113 Stockton,+CA6407 3.5
+Stockton,+CA4113 Stockton,+CA6452 3
+Stockton,+CA4113 Pennsauken,+NJ4091 8.5
+Stockton,+CA4113 Stockton,+CA6463 3.5
+Stockton,+CA4113 Stockton,+CA6609 4.5
+Stockton,+CA4113 San+Jose,+CA4095 6
+Stockton,+CA4113 Stockton,+CA6619 4.5
+Stockton,+CA4113 Stockton,+CA6563 4.5
+Stockton,+CA4113 Chicago,+IL4036 12
+Stockton,+CA4113 Stockton,+CA6719 3.5
+Stockton,+CA4113 Stockton,+CA6590 3.5
+Stockton,+CA4113 Stockton,+CA3402 6
+Stockton,+CA4113 Stockton,+CA6583 3
+Stockton,+CA4113 Stockton,+CA6479 3.5
+Stockton,+CA4113 Stockton,+CA6577 2.5
+Stockton,+CA4113 Stockton,+CA6569 3.5
+Stockton,+CA4113 Stockton,+CA6758 4.5
+Stockton,+CA4113 Rancho+Cordova,+CA5507 2.5
+Stockton,+CA4113 Stockton,+CA4096 3
+Washington,+DC6748 Washington,+DC6736 3
+Washington,+DC6748 Washington,+DC6543 2
+Washington,+DC6748 Washington,+DC6415 2
+Washington,+DC6748 Relay,+MD4110 2.5
+Washington,+DC6748 Relay,+MD4093 2.5
+Washington,+DC6748 Washington,+DC6393 3
+Washington,+DC6748 Relay,+MD4054 2.5
+Frankfurt4040 Milan,+Italy4085 2
+Frankfurt4040 Frankfurt4079 2
+Frankfurt4040 Hamburg,+Germany4081 3
+Stockton,+CA6583 Stockton,+CA4113 3
+Stockton,+CA6583 Stockton,+CA4064 3
+Stockton,+CA6583 Stockton,+CA4096 3
+Stockton,+CA6583 Stockton,+CA4065 3
+Springfield,+MA4020 Pennsauken,+NJ4125 2
+Springfield,+MA4020 Pennsauken,+NJ4126 2
+Springfield,+MA4020 Springfield,+MA4023 2.5
+Springfield,+MA4020 Boston5499 2.5
+Springfield,+MA4020 Springfield,+MA4025 3
+Springfield,+MA4020 Springfield,+MA6406 2
+Springfield,+MA4020 New+York,+NY4137 7.5
+Springfield,+MA4020 Chicago,+IL4036 6
+Cheyenne,+WY6455 Cheyenne,+WY4034 2
+Cheyenne,+WY6455 Cheyenne,+WY4076 2
+Ashburn,+VA10161 Relay,+MD4138 1
+Washington,+DC4139 Washington,+DC6736 3
+Washington,+DC4139 Washington,+DC6543 2
+Washington,+DC4139 Washington,+DC6415 2
+Washington,+DC4139 Relay,+MD4093 2.5
+Washington,+DC4139 Relay,+MD4110 2.5
+Washington,+DC4139 Relay,+MD4054 2.5
+Washington,+DC4139 Washington,+DC6393 3
+Ashburn,+VA10162 Relay,+MD4131 1
+Springfield,+MA4023 Springfield,+MA4020 2.5
+Springfield,+MA4023 Chicago,+IL1484 5.5
+Springfield,+MA4023 Boston5509 2
+Springfield,+MA4023 Springfield,+MA4025 2.5
+Springfield,+MA4023 Pennsauken,+NJ4091 4
+Springfield,+MA4023 Springfield,+MA6406 2.5
+Ashburn,+VA10163 Relay,+MD4136 2
+Ashburn,+VA10163 Relay,+MD4127 2
+Springfield,+MA4025 Chicago,+IL4122 5
+Springfield,+MA4025 Springfield,+MA4020 3
+Springfield,+MA4025 Springfield,+MA4023 2.5
+Cheyenne,+WY6388 Cheyenne,+WY4034 2
+Cheyenne,+WY6388 Cheyenne,+WY4076 2
+Orlando,+FL4050 Orlando,+FL6429 3.5
+Orlando,+FL4050 Orlando,+FL4089 4.5
+Orlando,+FL4050 Dallas,+TX4015 9
+Orlando,+FL4050 Orlando,+FL4108 3.5
+Orlando,+FL4050 Atlanta,+GA4074 3.5
+Orlando,+FL4050 Orlando,+FL6459 4.5
+Orlando,+FL4050 Atlanta,+GA4102 3.5
+Orlando,+FL4050 Orlando,+FL6693 7
+Stockholm,+Sweden4066 Stockholm,+Sweden4097 2
+Stockholm,+Sweden4066 Copenhagen4038 5
+Chicago,+IL6414 Chicago,+IL1391 3
+Chicago,+IL6414 Chicago,+IL4122 2
+Chicago,+IL6414 Chicago,+IL4036 2
+Chicago,+IL6414 Chicago,+IL1484 2
+Chicago,+IL6414 Chicago,+IL4037 2
+Chicago,+IL6414 Chicago,+IL4104 2
+New+York,+NY4022 New+York,+NY4048 3.5
+New+York,+NY4022 London4084 7.5
+New+York,+NY4022 London4083 9.5
+New+York,+NY4024 London4084 9
+New+York,+NY4024 New+York,+NY4048 2
+New+York,+NY4024 New+York,+NY4134 2
+Reston,+VA5496 Reston,+VA5497 3
+Reston,+VA5496 Relay,+MD4054 2
+Reston,+VA5497 Reston,+VA5496 3
+Reston,+VA5497 Relay,+MD4093 2
+New+York,+NY4028 Pennsauken,+NJ4135 11
+New+York,+NY4028 Dallas,+TX4015 4
+New+York,+NY4028 Dallas,+TX6580 3
+New+York,+NY4028 Dallas,+TX6726 2
+New+York,+NY4028 Dallas,+TX6645 2
+New+York,+NY4028 Anaheim,+CA4031 6
+New+York,+NY4028 Dallas,+TX6483 2
+New+York,+NY4028 Dallas,+TX6573 2
+New+York,+NY4028 Dallas,+TX6566 2
+New+York,+NY4028 Kansas+City,+MO4105 6.5
+New+York,+NY4028 Dallas,+TX6494 3
+New+York,+NY4028 Dallas,+TX6737 5
+New+York,+NY4028 Orlando,+FL4089 8.5
+New+York,+NY4028 Dallas,+TX6587 3
+New+York,+NY4028 Dallas,+TX6749 2
+New+York,+NY4028 Dallas,+TX4080 4
+New+York,+NY4028 Dallas,+TX6598 6.5
+New+York,+NY4028 Dallas,+TX6689 3
+New+York,+NY4028 Dallas,+TX1742 2
+New+York,+NY4028 Chicago,+IL1391 7.5
+New+York,+NY4028 Dallas,+TX2635 4
+New+York,+NY4028 Dallas,+TX6504 2
+New+York,+NY4028 Dallas,+TX3549 3
+New+York,+NY4028 Dallas,+TX6604 2
+New+York,+NY4028 Dallas,+TX6612 3
+New+York,+NY4028 Dallas,+TX6419 2
+New+York,+NY4028 Dallas,+TX6622 2
+New+York,+NY4028 Dallas,+TX6444 3
+New+York,+NY4028 Dallas,+TX6641 4
+New+York,+NY4028 Dallas,+TX6706 2.5
+New+York,+NY4028 Dallas,+TX6471 3
+New+York,+NY6496 New+York,+NY4088 2.5
+New+York,+NY6496 New+York,+NY4048 2.5
+New+York,+NY6496 New+York,+NY6446 2.5
+New+York,+NY6496 New+York,+NY4107 2.5
+New+York,+NY6496 New+York,+NY4116 2.5
+New+York,+NY6496 New+York,+NY6427 2
+Boston5509 Springfield,+MA4023 2
+Boston5509 Boston5499 3
+Relay,+MD4093 Washington,+DC6443 2.5
+Relay,+MD4093 Reston,+VA5497 2
+Relay,+MD4093 Relay,+MD4138 2
+Relay,+MD4093 Pennsauken,+NJ4135 8.5
+Relay,+MD4093 Relay,+MD6696 2.5
+Relay,+MD4093 Washington,+DC6456 2.5
+Relay,+MD4093 Washington,+DC6469 2.5
+Relay,+MD4093 Relay,+MD6431 2.5
+Relay,+MD4093 Washington,+DC4140 2.5
+Relay,+MD4093 Washington,+DC4142 3.5
+Relay,+MD4093 Washington,+DC6748 2.5
+Relay,+MD4093 Atlanta,+GA4032 4
+Relay,+MD4093 Washington,+DC9643 2.5
+Relay,+MD4093 Relay,+MD6518 2.5
+Relay,+MD4093 Relay,+MD6461 2.5
+Relay,+MD4093 Washington,+DC4139 2.5
+Relay,+MD4093 Relay,+MD6551 2.5
+Relay,+MD4093 Relay,+MD4110 2
+Relay,+MD4093 Relay,+MD6449 2.5
+Relay,+MD4093 San+Jose,+CA4112 6
+Relay,+MD4093 Relay,+MD4131 2
+Relay,+MD4093 Relay,+MD6576 2
+Relay,+MD4093 Relay,+MD6675 2.5
+Relay,+MD4093 Relay,+MD4118 2
+Relay,+MD4093 Relay,+MD4127 2
+Pennsauken,+NJ4091 Pennsauken,+NJ4125 6.5
+Pennsauken,+NJ4091 Pennsauken,+NJ4109 2
+Pennsauken,+NJ4091 Pennsauken,+NJ4052 2
+Pennsauken,+NJ4091 Pennsauken,+NJ4117 4
+Pennsauken,+NJ4091 Pennsauken,+NJ4126 5.5
+Pennsauken,+NJ4091 Pennsauken,+NJ4135 2
+Pennsauken,+NJ4091 New+York,+NY4124 6
+Pennsauken,+NJ4091 Stockton,+CA4113 8.5
+Pennsauken,+NJ4091 Pennsauken,+NJ6516 3
+Pennsauken,+NJ4091 Springfield,+MA4023 4
+Pennsauken,+NJ4091 Pennsauken,+NJ6614 3
+Pennsauken,+NJ4091 Pennsauken,+NJ6525 3
+Pennsauken,+NJ4091 Stockton,+CA4065 7.5
+Pennsauken,+NJ4091 Pennsauken,+NJ6624 3
+Pennsauken,+NJ4091 Pennsauken,+NJ6448 3
+Pennsauken,+NJ4091 Pennsauken,+NJ6728 3
+Pennsauken,+NJ4091 Pennsauken,+NJ6486 3
+Pennsauken,+NJ4091 Relay,+MD4118 4.5
+Pennsauken,+NJ4091 Pennsauken,+NJ6754 3
+Washington,+DC4140 Washington,+DC6736 3
+Washington,+DC4140 Washington,+DC6543 2
+Washington,+DC4140 Washington,+DC6415 2
+Washington,+DC4140 Relay,+MD4093 2.5
+Washington,+DC4140 Relay,+MD4110 2.5
+Washington,+DC4140 Relay,+MD4054 2.5
+Washington,+DC4140 Washington,+DC6393 3
+Washington,+DC4142 Washington,+DC6736 2
+Washington,+DC4142 Washington,+DC6543 2
+Washington,+DC4142 Washington,+DC6415 2
+Washington,+DC4142 Relay,+MD4093 3.5
+Washington,+DC4142 Washington,+DC6393 2
+Stockton,+CA6590 Stockton,+CA4113 3.5
+Stockton,+CA6590 Stockton,+CA4064 2.5
+Stockton,+CA6590 Stockton,+CA4096 2.5
+Stockton,+CA6590 Stockton,+CA4065 2.5
+Atlanta,+GA3957 Atlanta,+GA4032 2
+Atlanta,+GA3957 Atlanta,+GA6565 2
+Atlanta,+GA3957 Atlanta,+GA4074 2
+Atlanta,+GA3957 Dallas,+TX6641 7.5
+Anaheim,+CA6502 Anaheim,+CA4099 7.5
+Anaheim,+CA6502 Anaheim,+CA4101 2.5
+Anaheim,+CA6502 Anaheim,+CA4031 2.5
+Anaheim,+CA6502 Dallas,+TX4080 7.5
+Anaheim,+CA6502 Anaheim,+CA4073 3.5
+Anaheim,+CA6502 Anaheim,+CA6721 3.5
+Anaheim,+CA6502 Anaheim,+CA4100 2.5
+Tokyo4069 Hong+Kong4042 4.5
+Tokyo4069 Stockton,+CA4064 7
+Tokyo4069 Tokyo4070 2.5
+Dallas,+TX6504 Dallas,+TX2635 3
+Dallas,+TX6504 Dallas,+TX4015 3
+Dallas,+TX6504 Dallas,+TX4080 4
+Dallas,+TX6504 New+York,+NY4028 2
+Dallas,+TX6504 Dallas,+TX4115 3
+Kansas+City,+MO6422 Kansas+City,+MO4082 2.5
+Kansas+City,+MO6422 Kansas+City,+MO4105 2.5
+Kansas+City,+MO6422 Kansas+City,+MO4106 2
+San+Jose,+CA6477 San+Jose,+CA4095 1
+Anaheim,+CA6438 Anaheim,+CA4101 2.5
+Anaheim,+CA6438 Anaheim,+CA4099 7.5
+Anaheim,+CA6438 Anaheim,+CA4031 2.5
+Anaheim,+CA6438 Anaheim,+CA4073 3.5
+Anaheim,+CA6438 Anaheim,+CA6721 2
+Anaheim,+CA6438 Anaheim,+CA4100 3.5
+Hong+Kong6421 Hong+Kong4042 12.5
+Hong+Kong6421 Stockton,+CA4096 2
+New+York,+NY4107 New+York,+NY4088 2
+New+York,+NY4107 Pennsauken,+NJ4109 6
+New+York,+NY4107 New+York,+NY6397 2.5
+New+York,+NY4107 New+York,+NY6559 3
+New+York,+NY4107 New+York,+NY4116 2
+New+York,+NY4107 New+York,+NY6496 2.5
+New+York,+NY4107 New+York,+NY4134 2
+New+York,+NY4107 New+York,+NY6427 2.5
+New+York,+NY4107 New+York,+NY6532 2.5
+New+York,+NY4107 New+York,+NY4048 2
+New+York,+NY4107 New+York,+NY6446 3
+New+York,+NY4107 Relay,+MD4054 7.5
+Paris4090 London4044 2
+Paris4090 Milan,+Italy4046 2
+Paris4090 Paris4051 2
+Munich,+Germany4087 Hamburg,+Germany4041 1
+Atlanta,+GA6439 Atlanta,+GA4102 1
+Stockton,+CA3402 Stockton,+CA4064 5
+Stockton,+CA3402 Stockton,+CA4113 6
+Stockton,+CA3402 Stockton,+CA4065 5
+Stockton,+CA3402 Stockton,+CA4096 5
+Stockton,+CA3402 Anaheim,+CA6512 6.5
+Tokyo4070 Tokyo4071 2
+Tokyo4070 Hong+Kong4042 2
+Tokyo4070 Tacoma,+WA3251 8
+Tokyo4070 Singapore4094 2
+Tokyo4070 Tacoma,+WA4114 6
+Tokyo4070 Tokyo4069 2.5
+Cheyenne,+WY6542 Cheyenne,+WY4034 2
+Cheyenne,+WY6542 Cheyenne,+WY4076 2
+Tokyo4071 Singapore4094 5
+Tokyo4071 Stockton,+CA4064 7.5
+Tokyo4071 Tokyo4070 2
+Stockton,+CA4064 Pennsauken,+NJ4052 7.5
+Stockton,+CA4064 Stockton,+CA6602 2
+Stockton,+CA4064 Stockton,+CA6407 2.5
+Stockton,+CA4064 San+Jose,+CA4119 5
+Stockton,+CA4064 Pearl+Harbor,+HI4053 3
+Stockton,+CA4064 Stockton,+CA6452 3
+Stockton,+CA4064 Stockton,+CA6463 2.5
+Stockton,+CA4064 Stockton,+CA6563 2.5
+Stockton,+CA4064 Stockton,+CA6719 2.5
+Stockton,+CA4064 Stockton,+CA3402 5
+Stockton,+CA4064 Stockton,+CA6590 2.5
+Stockton,+CA4064 Stockton,+CA6583 3
+Stockton,+CA4064 Tokyo4071 7.5
+Stockton,+CA4064 Stockton,+CA6479 2.5
+Stockton,+CA4064 Stockton,+CA6577 3.5
+Stockton,+CA4064 Stockton,+CA6569 2.5
+Stockton,+CA4064 Stockton,+CA6758 2.5
+Stockton,+CA4064 Tokyo4069 7
+Stockton,+CA4064 Sydney,+Australia4068 2
+Stockton,+CA4064 Stockton,+CA4096 2
+Stockton,+CA4065 Stockton,+CA6407 2.5
+Stockton,+CA4065 Pearl+Harbor,+HI4053 5
+Stockton,+CA4065 Stockton,+CA6452 3
+Stockton,+CA4065 Pennsauken,+NJ4091 7.5
+Stockton,+CA4065 Stockton,+CA6463 2.5
+Stockton,+CA4065 Stockton,+CA6609 2.5
+Stockton,+CA4065 San+Jose,+CA4095 5
+Stockton,+CA4065 Stockton,+CA6619 2.5
+Stockton,+CA4065 Stockton,+CA6563 2.5
+Stockton,+CA4065 Chicago,+IL4036 11
+Stockton,+CA4065 Stockton,+CA6719 2.5
+Stockton,+CA4065 Stockton,+CA6590 2.5
+Stockton,+CA4065 Stockton,+CA3402 5
+Stockton,+CA4065 Stockton,+CA6583 3
+Stockton,+CA4065 Stockton,+CA6479 2.5
+Stockton,+CA4065 Stockton,+CA6569 2.5
+Stockton,+CA4065 Stockton,+CA6577 2.5
+Stockton,+CA4065 Stockton,+CA6758 2.5
+Stockton,+CA4065 Rancho+Cordova,+CA5507 2.5
+Stockton,+CA4065 Stockton,+CA4096 2
+Anaheim,+CA6512 Anaheim,+CA4099 9
+Anaheim,+CA6512 Anaheim,+CA4101 2
+Anaheim,+CA6512 Anaheim,+CA4031 2
+Anaheim,+CA6512 Anaheim,+CA4073 3
+Anaheim,+CA6512 Stockton,+CA3402 6.5
+Anaheim,+CA6512 Anaheim,+CA6721 2
+Anaheim,+CA6512 Anaheim,+CA4100 2
+Dallas,+TX6444 Dallas,+TX2635 3
+Dallas,+TX6444 Dallas,+TX4015 3
+Dallas,+TX6444 Dallas,+TX4080 2
+Dallas,+TX6444 New+York,+NY4028 3
+Dallas,+TX6444 Dallas,+TX4115 2
+New+York,+NY4116 New+York,+NY4088 2
+New+York,+NY4116 Pennsauken,+NJ4109 6
+New+York,+NY4116 New+York,+NY4107 2
+New+York,+NY4116 New+York,+NY6397 2.5
+New+York,+NY4116 New+York,+NY6559 3
+New+York,+NY4116 New+York,+NY4124 2
+New+York,+NY4116 New+York,+NY6496 2.5
+New+York,+NY4116 Relay,+MD4110 7.5
+New+York,+NY4116 New+York,+NY6605 2
+New+York,+NY4116 New+York,+NY6532 2.5
+New+York,+NY4116 New+York,+NY6427 2.5
+New+York,+NY4116 Chicago,+IL4104 11.5
+New+York,+NY4116 New+York,+NY6606 3
+New+York,+NY4116 New+York,+NY4137 2
+New+York,+NY4116 New+York,+NY6446 3
+New+York,+NY4048 New+York,+NY4024 2
+New+York,+NY4048 Pennsauken,+NJ4052 6
+New+York,+NY4048 New+York,+NY6751 2
+New+York,+NY4048 New+York,+NY4017 2.5
+New+York,+NY4048 New+York,+NY6752 2
+New+York,+NY4048 New+York,+NY6559 2
+New+York,+NY4048 New+York,+NY6397 2.5
+New+York,+NY4048 New+York,+NY4107 2
+New+York,+NY4048 New+York,+NY6496 2.5
+New+York,+NY4048 New+York,+NY4134 2
+New+York,+NY4048 Chicago,+IL4104 8.5
+New+York,+NY4048 New+York,+NY4137 2
+New+York,+NY4048 New+York,+NY4088 2
+New+York,+NY4048 Atlanta,+GA4032 6.5
+New+York,+NY4048 Relay,+MD4110 5.5
+New+York,+NY4048 New+York,+NY6532 2.5
+New+York,+NY4048 New+York,+NY6427 2.5
+New+York,+NY4048 New+York,+NY6446 2
+New+York,+NY4048 Manasquan,+NJ4047 4.5
+New+York,+NY4048 New+York,+NY4022 3.5
+Relay,+MD6431 Relay,+MD4110 2.5
+Relay,+MD6431 Relay,+MD4093 2.5
+Relay,+MD6431 Relay,+MD4054 2.5
+Santa+Clara,+CA5508 San+Jose,+CA4119 1
+Stockton,+CA6758 Stockton,+CA4113 4.5
+Stockton,+CA6758 Stockton,+CA4064 2.5
+Stockton,+CA6758 Stockton,+CA4096 2.5
+Stockton,+CA6758 Stockton,+CA4065 2.5
+Cheyenne,+WY6629 Cheyenne,+WY4034 2
+Cheyenne,+WY6629 Cheyenne,+WY4076 2
+Anaheim,+CA6520 Anaheim,+CA4101 2
+Anaheim,+CA6520 Anaheim,+CA4099 9
+Anaheim,+CA6520 Anaheim,+CA4031 2
+Anaheim,+CA6520 Anaheim,+CA4073 3
+Anaheim,+CA6520 Anaheim,+CA6721 2
+Anaheim,+CA6520 Anaheim,+CA4100 2
+Dallas,+TX3549 Dallas,+TX2635 3
+Dallas,+TX3549 Dallas,+TX4015 2
+Dallas,+TX3549 Dallas,+TX4080 2
+Dallas,+TX3549 New+York,+NY4028 3
+Dallas,+TX3549 Dallas,+TX4115 2
+Manasquan,+NJ4047 New+York,+NY4048 4.5
+Manasquan,+NJ4047 London4084 4.5
+Manasquan,+NJ4047 Manasquan,+NJ4086 2
+Manasquan,+NJ4047 Relay,+MD4054 4
+Manasquan,+NJ4047 London4083 2.5
+Washington,+DC6415 Washington,+DC6443 2
+Washington,+DC6415 Washington,+DC9643 3
+Washington,+DC6415 Washington,+DC6469 3
+Washington,+DC6415 Washington,+DC4139 2
+Washington,+DC6415 Washington,+DC4140 2
+Washington,+DC6415 Washington,+DC6456 2
+Washington,+DC6415 Washington,+DC6748 2
+Washington,+DC6415 Washington,+DC4142 2
+Chicago,+IL6441 Chicago,+IL1391 3
+Chicago,+IL6441 Chicago,+IL1484 2
+Chicago,+IL6441 Dallas,+TX4080 7.5
+Chicago,+IL6441 Chicago,+IL4036 2
+Chicago,+IL6441 Chicago,+IL4037 2
+Chicago,+IL6441 Chicago,+IL4104 2
+Orlando,+FL6693 Orlando,+FL4089 3.5
+Orlando,+FL6693 Orlando,+FL4049 2.5
+Orlando,+FL6693 Atlanta,+GA2347 4.5
+Orlando,+FL6693 Orlando,+FL4050 7
+Orlando,+FL6693 Orlando,+FL4108 4.5
+Frankfurt4079 Paris4051 2
+Frankfurt4079 Frankfurt4040 2
+Anaheim,+CA6453 Anaheim,+CA4101 2
+Anaheim,+CA6453 Anaheim,+CA4099 9
+Anaheim,+CA6453 Anaheim,+CA4031 2
+Anaheim,+CA6453 Anaheim,+CA4073 3
+Anaheim,+CA6453 Anaheim,+CA6721 2
+Anaheim,+CA6453 Anaheim,+CA4100 3
+Stockholm,+Sweden4097 Copenhagen4077 2
+Stockholm,+Sweden4097 Stockholm,+Sweden4066 2
+Copenhagen4077 Stockholm,+Sweden4097 2
+Copenhagen4077 London4044 2.5
+Copenhagen4077 Copenhagen4038 2
+Copenhagen4077 Hamburg,+Germany4081 6.5
+London4044 Copenhagen4077 2.5
+London4044 London4045 3.5
+London4044 Paris4090 2
+London4044 Brussels,+Belgium4033 5
+London4044 London4083 2
+London4044 Dublin,+Ireland4039 1
+Richardson,+TX5500 Dallas,+TX4015 4
+Richardson,+TX5500 Dallas,+TX4080 2
+London4045 London4044 3.5
+London4045 New+York,+NY4017 9
+New+York,+NY4124 New+York,+NY6606 3
+New+York,+NY4124 New+York,+NY4137 2
+New+York,+NY4124 New+York,+NY4129 2
+New+York,+NY4124 New+York,+NY4088 2
+New+York,+NY4124 New+York,+NY4116 2
+New+York,+NY4124 Chicago,+IL4037 7.5
+New+York,+NY4124 New+York,+NY4134 2
+New+York,+NY4124 Pennsauken,+NJ4091 6
+New+York,+NY4124 New+York,+NY6605 2
+Pearl+Harbor,+HI4053 Anaheim,+CA4101 7.5
+Pearl+Harbor,+HI4053 Pearl+Harbor,+HI6400 8
+Pearl+Harbor,+HI4053 Pearl+Harbor,+HI4092 9.5
+Pearl+Harbor,+HI4053 Stockton,+CA4064 3
+Pearl+Harbor,+HI4053 Stockton,+CA4096 3
+Pearl+Harbor,+HI4053 Stockton,+CA4065 5
+Pearl+Harbor,+HI4053 Anaheim,+CA4100 7.5
+Pearl+Harbor,+HI4053 Pearl+Harbor,+HI6550 7.5
+New+York,+NY4129 New+York,+NY4137 2
+New+York,+NY4129 New+York,+NY4124 2
+New+York,+NY4129 New+York,+NY4134 2
+New+York,+NY4129 New+York,+NY6524 2.5
+New+York,+NY4129 Relay,+MD4054 3.5
+Orlando,+FL4089 Orlando,+FL4049 3
+Orlando,+FL4089 Orlando,+FL6429 3
+Orlando,+FL4089 Orlando,+FL4050 4.5
+Orlando,+FL4089 Orlando,+FL4108 2
+Orlando,+FL4089 New+York,+NY4028 8.5
+Orlando,+FL4089 Dallas,+TX4115 6.5
+Orlando,+FL4089 Orlando,+FL6693 3.5
+Relay,+MD6518 Relay,+MD4110 2.5
+Relay,+MD6518 Relay,+MD4093 2.5
+Relay,+MD6518 Relay,+MD4054 2.5
+Pennsauken,+NJ6516 Pennsauken,+NJ4109 3
+Pennsauken,+NJ6516 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6516 Pennsauken,+NJ4091 3
+Pennsauken,+NJ6517 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6517 Pennsauken,+NJ4109 2
+Relay,+MD6449 Relay,+MD4110 2.5
+Relay,+MD6449 Relay,+MD4093 2.5
+Relay,+MD6449 Relay,+MD4054 2.5
+Pennsauken,+NJ6448 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6448 Pennsauken,+NJ4109 3
+Pennsauken,+NJ6448 Pennsauken,+NJ4091 3
+Dallas,+TX6604 Dallas,+TX2635 4
+Dallas,+TX6604 Dallas,+TX4015 4
+Dallas,+TX6604 New+York,+NY4028 2
+Dallas,+TX6604 Dallas,+TX4080 3
+Dallas,+TX6604 Dallas,+TX4115 3
+Stockton,+CA6407 Stockton,+CA4113 3.5
+Stockton,+CA6407 Stockton,+CA4064 2.5
+Stockton,+CA6407 Stockton,+CA4096 2.5
+Stockton,+CA6407 Stockton,+CA4065 2.5
+Anaheim,+CA6464 Anaheim,+CA4101 2
+Anaheim,+CA6464 Anaheim,+CA4031 2
+Anaheim,+CA6464 Anaheim,+CA4073 3
+Anaheim,+CA6464 Anaheim,+CA6721 2
+Anaheim,+CA6464 Anaheim,+CA4100 2
+Anaheim,+CA6539 Anaheim,+CA4101 2
+Anaheim,+CA6539 Anaheim,+CA4099 8
+Anaheim,+CA6539 Anaheim,+CA4031 2
+Anaheim,+CA6539 Anaheim,+CA4073 3
+Anaheim,+CA6539 Anaheim,+CA6721 2
+Anaheim,+CA6539 Anaheim,+CA4100 2
+Kansas+City,+MO6458 Kansas+City,+MO4082 3
+Kansas+City,+MO6458 Kansas+City,+MO4043 3
+Kansas+City,+MO6458 Dallas,+TX6598 7
+Kansas+City,+MO6458 Kansas+City,+MO4105 4
+Kansas+City,+MO6458 Kansas+City,+MO4106 3.5
+New+York,+NY4134 New+York,+NY4048 2
+New+York,+NY4134 New+York,+NY4129 2
+New+York,+NY4134 New+York,+NY4137 2
+New+York,+NY4134 New+York,+NY4024 2
+New+York,+NY4134 New+York,+NY6751 2
+New+York,+NY4134 New+York,+NY4017 2.5
+New+York,+NY4134 New+York,+NY6752 2
+New+York,+NY4134 New+York,+NY4107 2
+New+York,+NY4134 New+York,+NY4124 2
+Atlanta,+GA6530 Cheyenne,+WY6413 1
+New+York,+NY4137 New+York,+NY4048 2
+New+York,+NY4137 New+York,+NY4129 2
+New+York,+NY4137 Springfield,+MA4020 7.5
+New+York,+NY4137 New+York,+NY4116 2
+New+York,+NY4137 New+York,+NY4124 2
+New+York,+NY4137 New+York,+NY4134 2
+Tacoma,+WA6555 Tacoma,+WA6408 2
+Tacoma,+WA6555 Tacoma,+WA3251 2
+Tacoma,+WA6555 Tacoma,+WA4114 2
+Seattle,+WA6432 Seattle,+WA4059 3
+Seattle,+WA6432 Seattle,+WA4060 2
+Atlanta,+GA6465 Atlanta,+GA4032 2
+Atlanta,+GA6465 Atlanta,+GA4074 2
+Atlanta,+GA6465 Atlanta,+GA4102 2
+Pennsauken,+NJ6525 Pennsauken,+NJ4109 3
+Pennsauken,+NJ6525 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6525 Pennsauken,+NJ4091 3
+Cheyenne,+WY4034 Cheyenne,+WY6455 2
+Cheyenne,+WY4034 Cheyenne,+WY2439 2
+Cheyenne,+WY4034 Cheyenne,+WY6723 2
+Cheyenne,+WY4034 Cheyenne,+WY4076 3
+Cheyenne,+WY4034 Tacoma,+WA3251 5.5
+Cheyenne,+WY4034 Denver,+Colorado5511 1
+Cheyenne,+WY4034 Chicago,+IL1484 8
+Cheyenne,+WY4034 Cheyenne,+WY6629 2
+Cheyenne,+WY4034 Cheyenne,+WY6388 2
+Cheyenne,+WY4034 Chicago,+IL4104 5
+Cheyenne,+WY4034 Cheyenne,+WY6413 2
+Cheyenne,+WY4034 Chicago,+IL4037 5
+Cheyenne,+WY4034 Cheyenne,+WY6542 2
+Anaheim,+CA6610 Anaheim,+CA4073 1
+San+Jose,+CA4112 San+Jose,+CA4062 2
+San+Jose,+CA4112 San+Jose,+CA4095 2
+San+Jose,+CA4112 Anaheim,+CA4031 2.5
+San+Jose,+CA4112 Stockton,+CA4096 5
+San+Jose,+CA4112 San+Jose,+CA4132 4
+San+Jose,+CA4112 Relay,+MD4093 6
+San+Jose,+CA4112 Anaheim,+CA4100 5.5
+Dallas,+TX6612 Dallas,+TX2635 2
+Dallas,+TX6612 Dallas,+TX4015 2
+Dallas,+TX6612 Dallas,+TX4080 2
+Dallas,+TX6612 New+York,+NY4028 3
+Dallas,+TX6612 Dallas,+TX4115 3
+Stockton,+CA4096 Pennsauken,+NJ4109 6.5
+Stockton,+CA4096 Stockton,+CA6602 2
+Stockton,+CA4096 Stockton,+CA6407 2.5
+Stockton,+CA4096 Hong+Kong6421 2
+Stockton,+CA4096 Pearl+Harbor,+HI4053 3
+Stockton,+CA4096 Stockton,+CA6452 3
+Stockton,+CA4096 Stockton,+CA6609 2.5
+Stockton,+CA4096 Stockton,+CA6463 2.5
+Stockton,+CA4096 Stockton,+CA6619 2.5
+Stockton,+CA4096 Pearl+Harbor,+HI4092 8.5
+Stockton,+CA4096 Stockton,+CA6563 2.5
+Stockton,+CA4096 Stockton,+CA4113 3
+Stockton,+CA4096 Stockton,+CA6719 2.5
+Stockton,+CA4096 Stockton,+CA3402 5
+Stockton,+CA4096 Stockton,+CA6590 2.5
+Stockton,+CA4096 Stockton,+CA6583 3
+Stockton,+CA4096 Stockton,+CA6479 2.5
+Stockton,+CA4096 Stockton,+CA6569 2.5
+Stockton,+CA4096 Stockton,+CA6577 2.5
+Stockton,+CA4096 Stockton,+CA4064 2
+Stockton,+CA4096 Stockton,+CA6758 2.5
+Stockton,+CA4096 Stockton,+CA4065 2
+Stockton,+CA4096 Sydney,+Australia4068 2
+Stockton,+CA4096 Rancho+Cordova,+CA5514 2
+Stockton,+CA4096 San+Jose,+CA4112 5
+Stockton,+CA4096 San+Jose,+CA4132 3
+Chicago,+IL6603 Chicago,+IL1391 2
+Chicago,+IL6603 Chicago,+IL4036 3
+Chicago,+IL6603 Chicago,+IL1484 2
+Chicago,+IL6603 Chicago,+IL4037 2
+Chicago,+IL6603 Chicago,+IL4104 2
+Chicago,+IL6531 Chicago,+IL1391 3
+Chicago,+IL6531 Chicago,+IL1484 2
+Chicago,+IL6531 Chicago,+IL4036 2
+Chicago,+IL6531 Chicago,+IL4037 2
+Chicago,+IL6531 Chicago,+IL4104 2
+Dallas,+TX6471 Dallas,+TX2635 2
+Dallas,+TX6471 Dallas,+TX4015 2
+Dallas,+TX6471 Dallas,+TX4080 2
+Dallas,+TX6471 New+York,+NY4028 3
+Dallas,+TX6471 Dallas,+TX4115 2
+New+York,+NY6751 New+York,+NY4048 2
+New+York,+NY6751 New+York,+NY4134 2
+San+Jose,+CA4119 San+Jose,+CA4062 2
+San+Jose,+CA4119 San+Jose,+CA4095 2
+San+Jose,+CA4119 Dallas,+TX4080 7.5
+San+Jose,+CA4119 Stockton,+CA4064 5
+San+Jose,+CA4119 Santa+Clara,+CA5508 1
+San+Jose,+CA4119 San+Jose,+CA4132 4
+San+Jose,+CA4119 Anaheim,+CA4100 2.5
+New+York,+NY6752 New+York,+NY4048 2
+New+York,+NY6752 New+York,+NY4134 2
+Cheyenne,+WY2439 Cheyenne,+WY4034 2
+Cheyenne,+WY2439 Cheyenne,+WY4076 2
+Tacoma,+WA6701 Roachdale,+IN6552 13
+Tacoma,+WA6701 Tacoma,+WA3251 2
+Singapore4094 Tokyo4071 5
+Singapore4094 Tokyo4070 2
+Kansas+City,+MO6395 Kansas+City,+MO4082 2
+Kansas+City,+MO6395 Kansas+City,+MO4043 2
+Kansas+City,+MO6395 Kansas+City,+MO4105 3
+Kansas+City,+MO6395 Kansas+City,+MO4106 2.5
+Chicago,+IL6468 Chicago,+IL1391 3
+Chicago,+IL6468 Chicago,+IL4036 2
+Chicago,+IL6468 Chicago,+IL1484 2
+Chicago,+IL6468 Chicago,+IL4037 2
+Chicago,+IL6468 Chicago,+IL4104 2
+Atlanta,+GA6540 Atlanta,+GA4032 2
+Atlanta,+GA6540 Atlanta,+GA4074 2
+Atlanta,+GA6540 Atlanta,+GA4102 2
+Roachdale,+IN6552 Roachdale,+IN4111 2
+Roachdale,+IN6552 Tacoma,+WA6701 13
+Roachdale,+IN6552 Roachdale,+IN4056 2
+Relay,+MD5801 Relay,+MD4136 2
+Relay,+MD5801 Dallas,+TX6573 15.5
+Relay,+MD5801 Relay,+MD4110 3
+Orlando,+FL6429 Orlando,+FL4089 3
+Orlando,+FL6429 Orlando,+FL4049 2
+Orlando,+FL6429 Orlando,+FL4050 3.5
+Orlando,+FL6429 Orlando,+FL4108 4
+Cheyenne,+WY6723 Cheyenne,+WY4034 2
+Cheyenne,+WY6723 Cheyenne,+WY4076 2
+Relay,+MD6461 Relay,+MD4110 2.5
+Relay,+MD6461 Relay,+MD4093 2.5
+Relay,+MD6461 Relay,+MD4054 2.5
+Sydney,+Australia4067 Tacoma,+WA3251 6.5
+Sydney,+Australia4067 Sydney,+Australia6437 4
+Sydney,+Australia4068 Sydney,+Australia6437 2
+Sydney,+Australia4068 Stockton,+CA4064 2
+Sydney,+Australia4068 Stockton,+CA4096 2
+Atlanta,+GA2338 Atlanta,+GA4032 2
+Atlanta,+GA2338 Atlanta,+GA4074 2
+Atlanta,+GA2338 Atlanta,+GA4102 2
+Amsterdam4030 Amsterdam4072 6
+Amsterdam4030 Brussels,+Belgium4075 2
+Dallas,+TX6622 Dallas,+TX2635 3
+Dallas,+TX6622 Dallas,+TX4015 3
+Dallas,+TX6622 Dallas,+TX4080 3
+Dallas,+TX6622 New+York,+NY4028 2
+Dallas,+TX6622 Dallas,+TX4115 2
+Chicago,+IL6611 Chicago,+IL1391 2
+Chicago,+IL6611 Chicago,+IL4122 2
+Chicago,+IL6611 Chicago,+IL4036 2
+Chicago,+IL6611 Chicago,+IL1484 2
+Chicago,+IL6611 Chicago,+IL4037 2
+Chicago,+IL6611 Chicago,+IL4104 2
+Washington,+DC6443 Washington,+DC6736 3
+Washington,+DC6443 Washington,+DC6543 2
+Washington,+DC6443 Washington,+DC6415 2
+Washington,+DC6443 Relay,+MD4093 2.5
+Washington,+DC6443 Relay,+MD4110 2.5
+Washington,+DC6443 Relay,+MD4054 2.5
+Washington,+DC6443 Washington,+DC6393 3
+Pennsauken,+NJ6399 Pennsauken,+NJ4052 1
+Kansas+City,+MO6544 Kansas+City,+MO4082 2
+Kansas+City,+MO6544 Kansas+City,+MO4043 2
+Kansas+City,+MO6544 Cheyenne,+WY6746 1
+Kansas+City,+MO6544 Kansas+City,+MO4105 4
+Kansas+City,+MO6544 Kansas+City,+MO4106 2.5
+Anaheim,+CA6627 Anaheim,+CA4101 2
+Anaheim,+CA6627 Anaheim,+CA4099 8
+Anaheim,+CA6627 Anaheim,+CA4031 2
+Anaheim,+CA6627 Anaheim,+CA4073 3
+Anaheim,+CA6627 Anaheim,+CA6721 2
+Anaheim,+CA6627 Anaheim,+CA4100 2
+Dallas,+TX4015 Richardson,+TX5500 4
+Dallas,+TX4015 Orlando,+FL4049 7.5
+Dallas,+TX4015 Dallas,+TX6580 3
+Dallas,+TX4015 Dallas,+TX6726 3
+Dallas,+TX4015 Dallas,+TX6566 3
+Dallas,+TX4015 Dallas,+TX4115 2
+Dallas,+TX4015 Dallas,+TX6494 2
+Dallas,+TX4015 Dallas,+TX6658 2
+Dallas,+TX4015 Dallas,+TX6749 3
+Dallas,+TX4015 Dallas,+TX6587 2
+Dallas,+TX4015 Dallas,+TX4080 2
+Dallas,+TX4015 Orlando,+FL4050 9
+Dallas,+TX4015 Dallas,+TX6604 4
+Dallas,+TX4015 Dallas,+TX6622 3
+Dallas,+TX4015 Dallas,+TX6444 3
+Dallas,+TX4015 Dallas,+TX6641 3
+Dallas,+TX4015 Pennsauken,+NJ4109 9
+Dallas,+TX4015 Dallas,+TX6645 3
+Dallas,+TX4015 Dallas,+TX6483 3
+Dallas,+TX4015 New+York,+NY4028 4
+Dallas,+TX4015 Dallas,+TX6573 3
+Dallas,+TX4015 Dallas,+TX6558 2
+Dallas,+TX4015 Dallas,+TX6737 2
+Dallas,+TX4015 Kansas+City,+MO4043 5.5
+Dallas,+TX4015 Kansas+City,+MO6690 9.5
+Dallas,+TX4015 Anaheim,+CA4073 4
+Dallas,+TX4015 Dallas,+TX6598 3.5
+Dallas,+TX4015 Dallas,+TX1742 3
+Dallas,+TX4015 Dallas,+TX6689 2
+Dallas,+TX4015 Dallas,+TX2635 2
+Dallas,+TX4015 Dallas,+TX6504 3
+Dallas,+TX4015 Dallas,+TX3549 2
+Dallas,+TX4015 Dallas,+TX6612 2
+Dallas,+TX4015 Dallas,+TX6419 3
+Dallas,+TX4015 Atlanta,+GA4074 5.5
+Dallas,+TX4015 Dallas,+TX6471 2
+Dallas,+TX4015 Dallas,+TX6706 2.5
+Kansas+City,+MO6472 Kansas+City,+MO4082 2
+Kansas+City,+MO6472 Kansas+City,+MO4043 2
+Kansas+City,+MO6472 Kansas+City,+MO6690 2
+Kansas+City,+MO6472 Kansas+City,+MO4105 4
+Kansas+City,+MO6472 Kansas+City,+MO4106 3.5
+Dallas,+TX6483 Dallas,+TX2635 3
+Dallas,+TX6483 Dallas,+TX4015 3
+Dallas,+TX6483 Dallas,+TX4080 3
+Dallas,+TX6483 New+York,+NY4028 2
+Dallas,+TX6483 Dallas,+TX4115 2
+Anaheim,+CA6556 Anaheim,+CA4101 2.5
+Anaheim,+CA6556 Anaheim,+CA4099 7.5
+Anaheim,+CA6556 Anaheim,+CA4031 2.5
+Anaheim,+CA6556 Anaheim,+CA4073 3.5
+Anaheim,+CA6556 Anaheim,+CA6721 2
+Anaheim,+CA6556 Anaheim,+CA4100 3.5
+Dallas,+TX6558 Dallas,+TX4015 2
+Dallas,+TX6558 Dallas,+TX4080 2
+Dallas,+TX6558 Dallas,+TX6573 5
+Springfield,+MA6406 Springfield,+MA4020 2
+Springfield,+MA6406 Springfield,+MA4023 2.5
+Pearl+Harbor,+HI6400 Pearl+Harbor,+HI4092 2.5
+Pearl+Harbor,+HI6400 Pearl+Harbor,+HI4053 8
+Roachdale,+IN6636 Roachdale,+IN4111 2
+Roachdale,+IN6636 Roachdale,+IN4056 2
+Atlanta,+GA6481 Atlanta,+GA4032 2
+Atlanta,+GA6481 Atlanta,+GA4074 2
+Atlanta,+GA6481 Atlanta,+GA4102 2
+Atlanta,+GA6628 Atlanta,+GA4032 2
+Atlanta,+GA6628 Atlanta,+GA4074 2
+Atlanta,+GA6628 Atlanta,+GA4102 2
+Seattle,+WA6450 Seattle,+WA4019 1
+New+York,+NY4088 New+York,+NY4107 2
+New+York,+NY4088 New+York,+NY6397 2.5
+New+York,+NY4088 New+York,+NY6559 3
+New+York,+NY4088 Manasquan,+NJ4086 4.5
+New+York,+NY4088 New+York,+NY4116 2
+New+York,+NY4088 New+York,+NY4124 2
+New+York,+NY4088 Chicago,+IL1484 8.5
+New+York,+NY4088 New+York,+NY6496 2.5
+New+York,+NY4088 New+York,+NY6532 2.5
+New+York,+NY4088 New+York,+NY6524 2.5
+New+York,+NY4088 New+York,+NY6427 3.5
+New+York,+NY4088 New+York,+NY4048 2
+New+York,+NY4088 New+York,+NY6446 3
+New+York,+NY4088 Atlanta,+GA4074 6.5
+Chicago,+IL1391 New+York,+NY4028 7.5
+Chicago,+IL1391 Chicago,+IL6724 2
+Chicago,+IL1391 Dallas,+TX4115 5.5
+Chicago,+IL1391 Chicago,+IL4104 2
+Chicago,+IL1391 Chicago,+IL6468 3
+Chicago,+IL1391 Chicago,+IL6492 2
+Chicago,+IL1391 Chicago,+IL4122 2
+Chicago,+IL1391 Chicago,+IL6639 2
+Chicago,+IL1391 Chicago,+IL6747 2
+Chicago,+IL1391 Chicago,+IL6593 2
+Chicago,+IL1391 Chicago,+IL4036 2
+Chicago,+IL1391 Chicago,+IL6586 3
+Chicago,+IL1391 Chicago,+IL6595 3
+Chicago,+IL1391 Chicago,+IL6669 2
+Chicago,+IL1391 Chicago,+IL1484 2
+Chicago,+IL1391 Chicago,+IL6414 3
+Chicago,+IL1391 Chicago,+IL6611 2
+Chicago,+IL1391 Chicago,+IL6603 2
+Chicago,+IL1391 Chicago,+IL6441 3
+Chicago,+IL1391 Chicago,+IL6531 3
+Chicago,+IL1391 Chicago,+IL6621 2
+Denver,+Colorado5501 Cheyenne,+WY4076 1
+Pennsauken,+NJ6614 Pennsauken,+NJ4109 3
+Pennsauken,+NJ6614 Pennsauken,+NJ4052 2
+Pennsauken,+NJ6614 Pennsauken,+NJ4091 3
+Boston5499 Springfield,+MA4020 2.5
+Boston5499 Boston5509 3
+Atlanta,+GA2344 Atlanta,+GA4032 2
+Atlanta,+GA2344 Atlanta,+GA4074 2
+Atlanta,+GA2344 Atlanta,+GA4102 2
+Dublin,+Ireland4039 London4044 1
+Lees+Summit,+MO5503 Kansas+City,+MO4082 1
+Lees+Summit,+MO5504 Kansas+City,+MO4043 1
+San+Jose,+CA6742 San+Jose,+CA4062 4
+San+Jose,+CA6742 San+Jose,+CA4132 2
+Atlanta,+GA2347 Atlanta,+GA4032 2
+Atlanta,+GA2347 Atlanta,+GA4074 2
+Atlanta,+GA2347 Atlanta,+GA4102 2
+Atlanta,+GA2347 Orlando,+FL6693 4.5
+Lees+Summit,+MO5505 Kansas+City,+MO4082 1
+Anaheim,+CA6702 Anaheim,+CA4099 8
+Anaheim,+CA6702 Anaheim,+CA4101 2
+Anaheim,+CA6702 Anaheim,+CA4031 2
+Anaheim,+CA6702 Anaheim,+CA4073 2
+Anaheim,+CA6702 Anaheim,+CA6721 2
+Anaheim,+CA6702 Anaheim,+CA4100 2
+San+Jose,+CA4132 San+Jose,+CA4062 4
+San+Jose,+CA4132 San+Jose,+CA4119 4
+San+Jose,+CA4132 San+Jose,+CA4112 4
+San+Jose,+CA4132 San+Jose,+CA6742 2
+San+Jose,+CA4132 Stockton,+CA4096 3
+Dallas,+TX6706 Dallas,+TX2635 2.5
+Dallas,+TX6706 Dallas,+TX4015 2.5
+Dallas,+TX6706 Dallas,+TX4080 2.5
+Dallas,+TX6706 New+York,+NY4028 2.5
+Dallas,+TX6706 Dallas,+TX4115 3.5
+Chicago,+IL6621 Chicago,+IL1391 2
+Chicago,+IL6621 Chicago,+IL4122 2
+Chicago,+IL6621 Chicago,+IL4036 2
+Chicago,+IL6621 Chicago,+IL1484 2
+Chicago,+IL6621 Chicago,+IL4037 2
+Chicago,+IL6621 Chicago,+IL4104 2
diff --git a/model/annotated-topology-reader.cc b/model/annotated-topology-reader.cc
index b3b2348..1c66523 100644
--- a/model/annotated-topology-reader.cc
+++ b/model/annotated-topology-reader.cc
@@ -122,6 +122,12 @@
             {
                 link.SetAttribute ("DataRate", linkAttr);
             }
+            
+            lineBuffer >> linkAttr;
+            if ( !linkAttr.empty () )
+            {
+                link.SetAttribute ("OSPF", linkAttr);
+            }
                 
             lineBuffer >> linkAttr;
             if ( !linkAttr.empty () )
@@ -156,18 +162,57 @@
 void
 AnnotatedTopologyReader::ApplySettings(NetDeviceContainer* ndc, NodeContainer* nc)
 {
+    InternetStackHelper stack;
+    Ipv4AddressHelper address;
+    address.SetBase ("10.1.0.0", "255.255.255.0");
+    
+    Ipv4GlobalRoutingHelper ipv4RoutingHelper ("ns3::Ipv4GlobalRoutingOrderedNexthops");
+    stack.SetRoutingHelper (ipv4RoutingHelper);
+    
+    
+    
+    //This loop passes all links and checks if ipv4 is installed on the node
+    // if not, it installs. 
+    // We can't use stack.Install(nc) because in nc there are duplicates and assertion fails
+    TopologyReader::ConstLinksIterator iter;
+    int j = 0;
+    for ( iter = this->LinksBegin (); iter != this->LinksEnd (); iter++, j++ )
+    {
+        NodeContainer twoNodes = nc[j];
+        
+        Ptr<Node> nd = twoNodes.Get(0);
+        if(nd==NULL)
+            NS_LOG_INFO("nd = null");
+        
+        Ptr<Node> nd2 = twoNodes.Get(1);
+        if(nd2==NULL)
+            NS_LOG_INFO("nd2 = null");
+        
+        Ptr<Ipv4> ipv4 = nd->GetObject<Ipv4>();
+        if(ipv4 == 0)
+        {
+            NS_LOG_INFO("ipv4 = null");
+            stack.Install(nd);
+        }
+        
+        Ptr<Ipv4> ipv42 = nd2->GetObject<Ipv4>();
+        if(ipv42 == 0)
+        {
+            NS_LOG_INFO("ipv42 = null");
+            stack.Install(nd2);
+        }
+        
+        //NS_LOG_INFO("#netdevices = " << nd->GetNDevices());
+        //NS_LOG_INFO("#netdevices = " << nd2->GetNDevices());
+    }
+    
+    NS_LOG_INFO("ITER2");
+    uint32_t base = 0;
     PointToPointHelper p2p;
     TopologyReader::ConstLinksIterator iter2;
     int i = 0;
     for ( iter2 = this->LinksBegin (); iter2 != this->LinksEnd (); iter2++, i++ )
     {
-        /*std::string dataRate = iter2->GetAttribute("DataRate");
-        NS_LOG_INFO("dataRate = "<<dataRate);
-        dataRate += "Kbps";
-        std::string delay = iter2->GetAttribute("Delay");
-        NS_LOG_INFO("delay = "<<delay);
-        delay += "ms";*/
-        
         p2p.SetDeviceAttribute("DataRate", StringValue(iter2->GetAttribute("DataRate")+"Kbps"));
         NS_LOG_INFO("DataRate = " + iter2->GetAttribute("DataRate")+"Kbps");
         p2p.SetChannelAttribute("Delay", StringValue(iter2->GetAttribute("Delay")+"ms"));
@@ -175,6 +220,8 @@
         p2p.SetQueue("ns3::DropTailQueue","MaxPackets",StringValue("100"));
         ndc[i] = p2p.Install(nc[i]);
         
+        Ipv4Address address1(base+i*256 + 1);
+        Ipv4Address address2(base+i*256 + 2);
         
         NodeContainer twoNodes = nc[i];
             
@@ -182,6 +229,8 @@
         if(nd==NULL)
             NS_LOG_INFO("nd = null");
         
+        
+        
         Ptr<Node> nd2 = twoNodes.Get(1);
         if(nd2==NULL)
             NS_LOG_INFO("nd2 = null");
@@ -190,18 +239,82 @@
         NS_LOG_INFO("#netdevices = " << nd->GetNDevices());
         NS_LOG_INFO("#netdevices = " << nd2->GetNDevices());
             
-        Ptr<PointToPointNetDevice> device = nd->GetDevice(nd->GetNDevices()-1)->GetObject<PointToPointNetDevice> ();
-            
+        Ptr<NetDevice> device = nd->GetDevice(nd->GetNDevices()-1)->GetObject<PointToPointNetDevice> ();
+        
         if(device==NULL)
             NS_LOG_INFO("device = 0");
+        
+        std::string ospf = iter2->GetAttribute("OSPF");
+        uint16_t metric = atoi(ospf.c_str());
+        NS_LOG_INFO("OSPF metric = " << metric);
+        
+        {
+        NetDeviceContainer* temp = new NetDeviceContainer[1];
+        temp->Add(device);
+        address.Assign (*temp);
+        }
+        
+        Ptr<Ipv4> ipv4 = nd->GetObject<Ipv4>();
+        if(ipv4 == 0)
+        {
+            NS_LOG_INFO("ipv4 = null");
+            //stack.Install(nd);
+            /*NetDeviceContainer* temp = new NetDeviceContainer[1];
+            temp->Add(device);
+            address.Assign (*temp);
+            ipv4 = nd->GetObject<Ipv4>();*/
+        }
+        
+        NS_LOG_INFO("Before GetID");
+        int32_t interfaceId = ipv4->GetInterfaceForDevice(device);
+        NS_LOG_INFO("InterfaceID = " << interfaceId);
+        ipv4->SetMetric(interfaceId,metric);
+        
+        
+        
+
+        
+        /*Ptr<Ipv4> ipv4 = nd->GetObject<Ipv4>();
+        
+        if(ipv4 == 0)
+            NS_LOG_INFO("ipv4 = null");
+        int32_t interfaceId = ipv4->GetInterfaceForDevice(device);
+        ipv4->SetMetric(interfaceId,metric);*/
+        
+        //Ptr<Ipv4Interface> interface = nd->GetDevice(nd->GetNDevices()-1)->GetObject<Ipv4Interface> ();
+        //ipv4->SetMetric(metric);
             
         //NS_LOG_INFO("2");
             
-        Ptr<PointToPointNetDevice> device2 = nd2->GetDevice(nd2->GetNDevices()-1)->GetObject<PointToPointNetDevice> ();
+        Ptr<NetDevice> device2 = nd2->GetDevice(nd2->GetNDevices()-1)->GetObject<PointToPointNetDevice> ();
             
         if(device2==NULL)
             NS_LOG_INFO("device2 = 0");
             
+        {
+            NetDeviceContainer* temp = new NetDeviceContainer[1];
+            temp->Add(device2);
+            address.Assign (*temp);
+        }
+        
+        Ptr<Ipv4> ipv42 = nd2->GetObject<Ipv4>();
+        if(ipv42 == 0)
+        {
+            NS_LOG_INFO("ipv42 = null");
+            /*stack.Install(nd2);
+            NetDeviceContainer* temp = new NetDeviceContainer[1];
+            temp->Add(device2);
+            address.Assign (*temp);
+            ipv42 = nd2->GetObject<Ipv4>();*/
+        }
+        
+        NS_LOG_INFO("Before GetID");
+        interfaceId = ipv42->GetInterfaceForDevice(device2);
+        NS_LOG_INFO("InterfaceID = " << interfaceId);
+        ipv42->SetMetric(interfaceId,metric);
+
+        
+        
         PointerValue tmp1;
         device->GetAttribute ("TxQueue", tmp1);
         //NS_LOG_INFO("2.5");
@@ -231,5 +344,189 @@
         NS_LOG_INFO ("NetDevice #"<< device2->GetIfIndex() << "has queue limit " << limit.Get () << " packets");
     }
 }
+
+    /*
+void
+AnnotatedTopologyReader::ApplyOspfMetric(NetDeviceContainer* ndc, NodeContainer* nc)
+{
+    InternetStackHelper stack;
+    Ipv4AddressHelper address;
+    address.SetBase ("10.0.0.0", "255.255.255.252");
+    
+    Ipv4GlobalRoutingHelper ipv4RoutingHelper ("ns3::Ipv4GlobalRoutingOrderedNexthops");
+    stack.SetRoutingHelper (ipv4RoutingHelper);
+
+    
+    TopologyReader::ConstLinksIterator iter2;
+    int i = 0;
+    for ( iter2 = this->LinksBegin (); iter2 != this->LinksEnd (); iter2++, i++ )
+    {
+        NodeContainer twoNodes = nc[i];
+        Ptr<NetDevice> device = ndc[i].Get(0);
+        Ptr<NetDevice> device2 = ndc[i].Get(1);
+        
+        //Ptr<Node> nd = twoNodes.Get(0);
+        Ptr<Node> nd = device->GetNode();
+        if(nd==NULL)
+            NS_LOG_INFO("nd = null");
+        
+        //Ptr<Node> nd2 = twoNodes.Get(1);
+        Ptr<Node> nd2 = device->GetNode();
+        if(nd2==NULL)
+            NS_LOG_INFO("nd2 = null");
+
+        
+        
+        std::string ospf = iter2->GetAttribute("OSPF");
+        uint16_t metric = atoi(ospf.c_str());
+        NS_LOG_INFO("OSPF metric = " << metric);
+        
+        Ptr<Ipv4> ipv4 = nd->GetObject<Ipv4>();
+        
+        if(ipv4 == 0)
+        {
+            NS_LOG_INFO("ipv4 = null");
+            stack.Install(nd);
+            NetDeviceContainer* temp = new NetDeviceContainer[1];
+            temp->Add(device);
+            address.Assign (*temp);
+            ipv4 = nd->GetObject<Ipv4>();
+        }
+        
+        NS_LOG_INFO("Before GetID");
+        int32_t interfaceId = ipv4->GetInterfaceForDevice(device);
+        NS_LOG_INFO("InterfaceID = " << interfaceId);
+        ipv4->SetMetric(interfaceId,metric);
+        
+        
+        
+        Ptr<Ipv4> ipv42 = nd2->GetObject<Ipv4>();
+        if(ipv42 == 0)
+        {
+            NS_LOG_INFO("ipv42 = null");
+            stack.Install(nd2);
+            NetDeviceContainer* temp = new NetDeviceContainer[1];
+            temp->Add(device2);
+            address.Assign (*temp);
+            ipv42 = nd2->GetObject<Ipv4>();
+        }
+
+        //if(ipv4 == 0)
+        //    NS_LOG_INFO("ipv4 = null");
+        
+        NS_LOG_INFO("Before GetID");
+        interfaceId = ipv42->GetInterfaceForDevice(device2);
+        if(interfaceId == -1)
+        {
+            NS_LOG_INFO("interfaceID = -1");
+            stack.Install(nd2);
+            NetDeviceContainer* temp = new NetDeviceContainer[1];
+            temp->Add(device2);
+            address.Assign (*temp);
+            ipv42 = nd2->GetObject<Ipv4>();
+            interfaceId = ipv42->GetInterfaceForDevice(device2);
+        }
+        NS_LOG_INFO("InterfaceID = " << interfaceId);
+        ipv42->SetMetric(interfaceId,metric);
+
+    }
+}*/
+
+void
+AnnotatedTopologyReader::BoundingBox (NodeContainer* nc, double ulx, double uly, double lrx, double lry)
+{
+    
+    UniformVariable randX(ulx, lrx);
+    double x = 0.0;
+    UniformVariable randY(uly, lry);
+    double y = 0.0;
+
+
+    PointToPointHelper p2p;
+    TopologyReader::ConstLinksIterator iter2;
+    int i = 0;
+    for ( iter2 = this->LinksBegin (); iter2 != this->LinksEnd (); iter2++, i++ )
+    {
+        NodeContainer twoNodes = nc[i];
+        
+        Ptr<Node> nd = twoNodes.Get(0);
+        if(nd==NULL)
+            NS_LOG_INFO("nd = null");
+        
+        Ptr<Node> nd2 = twoNodes.Get(1);
+        if(nd2==NULL)
+            NS_LOG_INFO("nd2 = null");
+        
+        Ptr<ConstantPositionMobilityModel> loc = nd->GetObject<ConstantPositionMobilityModel> ();
+        if (loc ==0)
+        {
+            loc = CreateObject<ConstantPositionMobilityModel> ();
+            nd->AggregateObject (loc);
+        }
+        
+        x = randX.GetValue();
+        y = randY.GetValue();
+        NS_LOG_INFO("X = "<<x <<"Y = "<<y);
+        Vector locVec (x, y, 0);
+        loc->SetPosition (locVec);
+        
+        
+        Ptr<ConstantPositionMobilityModel> loc2 = nd2->GetObject<ConstantPositionMobilityModel> ();
+        if (loc2 ==0)
+        {
+            loc2 = CreateObject<ConstantPositionMobilityModel> ();
+            nd2->AggregateObject (loc2);
+        }
+        
+        x = randX.GetValue();
+        y = randY.GetValue();
+        NS_LOG_INFO("X = "<<x <<"Y = "<<y);
+        Vector locVec2 (x, y, 0);
+        loc2->SetPosition (locVec2);
+    }
+    /*
+        double xDist; 
+        double yDist; 
+        if (lrx > ulx)
+        {
+            xDist = lrx - ulx;
+        }
+        else
+        {
+            xDist = ulx - lrx;
+        }
+        if (lry > uly)
+        {
+            yDist = lry - uly;
+        }
+        else
+        {
+            yDist = uly - lry;
+        }
+        double xAdder = xDist / m_xSize;
+        double yAdder = yDist / m_ySize;
+        double yLoc = yDist / 2;
+        for (uint32_t i = 0; i < m_ySize; ++i)
+        {
+            double xLoc = xDist / 2;
+            for (uint32_t j = 0; j < m_xSize; ++j)
+            {
+                Ptr<Node> node = GetNode (i, j);
+                Ptr<ConstantPositionMobilityModel> loc = node->GetObject<ConstantPositionMobilityModel> ();
+                if (loc ==0)
+                {
+                    loc = CreateObject<ConstantPositionMobilityModel> ();
+                    node->AggregateObject (loc);
+                }
+                Vector locVec (xLoc, yLoc, 0);
+                loc->SetPosition (locVec);
+                
+                xLoc += xAdder;
+            }
+            yLoc += yAdder;
+        }
+    }
+*/
+}
 }
 
diff --git a/model/annotated-topology-reader.h b/model/annotated-topology-reader.h
index c99a6a3..ca0bc48 100644
--- a/model/annotated-topology-reader.h
+++ b/model/annotated-topology-reader.h
@@ -27,16 +27,26 @@
 #include "ns3/net-device-container.h"
 #include "ns3/point-to-point-helper.h"
 #include "ns3/point-to-point-net-device.h"
+#include "ns3/internet-stack-helper.h"
+#include "ns3/ipv4-address-helper.h"
+#include "ns3/ipv4-global-routing-helper.h"
 #include "ns3/drop-tail-queue.h"
+#include "ns3/ipv4-interface.h"
+#include "ns3/ipv4.h"
 #include "ns3/string.h"
 #include "ns3/pointer.h"
 #include "ns3/uinteger.h"
+#include "ns3/ipv4-address.h"
 #include <string>
 #include <fstream>
 #include <cstdlib>
 #include <iostream>
 #include <sstream>
 
+#include "ns3/animation-interface.h"
+#include "ns3/constant-position-mobility-model.h"
+#include "ns3/random-variable.h"
+
 namespace ns3 
 {
     
@@ -44,7 +54,7 @@
 * \brief This class reads annotated topology and apply settings to the corresponding nodes and links
 * Input File Format
 * 1st line is     NumberOfNodes    TAB     NumberofLinks
-* Nth line is     NodeID1  TAB    NodeID2   TAB  DataRateKBPS    TAB    DelayMiliseconds   TAB   QueueSizeInPacketsNode1     TAB    QueueSizeInPacketsNode2 
+* Nth line is     NodeID1  TAB    NodeID2   TAB  DataRateKBPS TAB OSPF   TAB    DelayMiliseconds   TAB   QueueSizeInPacketsNode1     TAB    QueueSizeInPacketsNode2 
 *
 */
 class AnnotatedTopologyReader : public TopologyReader
@@ -72,6 +82,9 @@
      * NodeContainer from Read method
      */
     void ApplySettings(NetDeviceContainer *ndc, NodeContainer* nc);
+    
+    //void ApplyOspfMetric(NetDeviceContainer* ndc, NodeContainer* nc);
+    void BoundingBox (NodeContainer* nc, double ulx, double uly, double lrx, double lry);
         
 private:
     AnnotatedTopologyReader (const AnnotatedTopologyReader&);
diff --git a/model/rocketfuel-weights-reader.cc b/model/rocketfuel-weights-reader.cc
new file mode 100644
index 0000000..67559d5
--- /dev/null
+++ b/model/rocketfuel-weights-reader.cc
@@ -0,0 +1,620 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2010 Hajime Tazaki
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Hajime Tazaki (tazaki@sfc.wide.ad.jp)
+ *         Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+
+#include <fstream>
+#include <cstdlib>
+#include <iostream>
+#include <sstream>
+#include <regex.h>
+
+#include "ns3/log.h"
+#include "rocketfuel-weights-reader.h"
+
+namespace ns3 {
+    
+    NS_LOG_COMPONENT_DEFINE ("RocketfuelWeightsReader");
+    
+    NS_OBJECT_ENSURE_REGISTERED (RocketfuelWeightsReader);
+    
+    TypeId RocketfuelWeightsReader::GetTypeId (void)
+    {
+        static TypeId tid = TypeId ("ns3::RocketfuelWeightsReader")
+        .SetParent<Object> ()
+        ;
+        return tid;
+    }
+    
+    RocketfuelWeightsReader::RocketfuelWeightsReader ()
+    {
+        NS_LOG_FUNCTION (this);
+    }
+    
+    RocketfuelWeightsReader::~RocketfuelWeightsReader ()
+    {
+        NS_LOG_FUNCTION (this);
+    }
+    
+    /* uid @loc [+] [bb] (num_neigh) [&ext] -> <nuid-1> <nuid-2> ... {-euid} ... =name[!] rn */
+    
+#define REGMATCH_MAX 16
+    
+#define START "^"
+#define END "$"
+#define SPACE "[ \t]+"
+#define MAYSPACE "[ \t]*"
+    
+#define ROCKETFUEL_MAPS_LINE \
+START "(-*[0-9]+)" SPACE "(@[?A-Za-z0-9,+]+)" SPACE \
+"(\\+)*" MAYSPACE "(bb)*" MAYSPACE \
+"\\(([0-9]+)\\)" SPACE "(&[0-9]+)*" MAYSPACE \
+"->" MAYSPACE "(<[0-9 \t<>]+>)*" MAYSPACE \
+"(\\{-[0-9\\{\\} \t-]+\\})*" SPACE \
+"=([A-Za-z0-9.!-]+)" SPACE "r([0-9])" \
+MAYSPACE END
+    
+#define ROCKETFUEL_WEIGHTS_LINE \
+START "([^ \t]+)" SPACE "([^ \t]+)" SPACE "([0-9.]+)" MAYSPACE END
+    
+    int linksNumber = 0;
+    int nodesNumber = 0;
+    std::map<std::string, Ptr<Node> > nodeMap;
+    
+    NodeContainer
+    RocketfuelWeightsReader::GenerateFromMapsFile (int argc, char *argv[])
+    {
+        std::string uid;
+        std::string loc;
+        std::string ptr;
+        std::string name;
+        std::string nuid;
+        bool dns = false;
+        bool bb = false;
+        int num_neigh_s = 0;
+        unsigned int num_neigh = 0;
+        int radius = 0;
+        std::vector <std::string> neigh_list;
+        NodeContainer nodes;
+        
+        uid = argv[0];
+        loc = argv[1];
+        
+        if (argv[2])
+        {
+            dns = true;
+        }
+        
+        if (argv[3])
+        {
+            bb = true;
+        }
+        
+        num_neigh_s = ::atoi (argv[4]);
+        if (num_neigh_s < 0)
+        {
+            num_neigh = 0;
+            NS_LOG_WARN ("Negative number of neighbors given");
+        }
+        else
+        {
+            num_neigh = num_neigh_s;
+        }
+        
+        /* neighbors */
+        if (argv[6])
+        {
+            char *nbr;
+            char *stringp = argv[6];
+            while ((nbr = strsep (&stringp, " \t")) != NULL)
+            {
+                nbr[strlen (nbr) - 1] = '\0';
+                neigh_list.push_back (nbr + 1);
+            }
+        }
+        if (num_neigh != neigh_list.size ())
+        {
+            NS_LOG_WARN ("Given number of neighbors = " << num_neigh << " != size of neighbors list = " << neigh_list.size ());
+        }
+        
+        /* externs */
+        if (argv[7])
+        {
+            //      euid = argv[7];
+        }
+        
+        /* name */
+        if (argv[8])
+        {
+            name = argv[8];
+        }
+        
+        radius = ::atoi (&argv[9][1]);
+        if (radius > 0)
+        {
+            return nodes;
+        }
+        
+        /* uid @loc [+] [bb] (num_neigh) [&ext] -> <nuid-1> <nuid-2> ... {-euid} ... =name[!] rn */
+        NS_LOG_INFO ("Load Node[" << uid << "]: location: " << loc << " dns: " << dns
+                     << " bb: " << bb << " neighbors: " << neigh_list.size ()
+                     << "(" << "%d" << ") externals: \"%s\"(%d) "
+                     << "name: " << name << " radius: " << radius);
+        
+        //cast bb and dns to void, to suppress variable set but not used compiler warning
+        //in optimized builds
+        (void) bb;
+        (void) dns;
+        
+        // Create node and link
+        if (!uid.empty ())
+        {
+            if (nodeMap[uid] == 0)
+            {
+                Ptr<Node> tmpNode = CreateObject<Node> ();
+                nodeMap[uid] = tmpNode;
+                nodes.Add (tmpNode);
+                nodesNumber++;
+            }
+            
+            for (uint32_t i = 0; i < neigh_list.size (); ++i)
+            {
+                nuid = neigh_list[i];
+                
+                if (nuid.empty ())
+                {
+                    return nodes;
+                }
+                
+                if (nodeMap[nuid] == 0)
+                {
+                    Ptr<Node> tmpNode = CreateObject<Node> ();
+                    nodeMap[nuid] = tmpNode;
+                    nodes.Add (tmpNode);
+                    nodesNumber++;
+                }
+                NS_LOG_INFO (linksNumber << ":" << nodesNumber << " From: " << uid << " to: " << nuid);
+                Link link (nodeMap[uid], uid, nodeMap[nuid], nuid);
+                AddLink (link);
+                linksNumber++;
+            }
+        }
+        return nodes;
+    }
+    
+    NodeContainer
+    RocketfuelWeightsReader::GenerateFromWeightsFile (int argc, char *argv[])
+    {
+        /* uid @loc [+] [bb] (num_neigh) [&ext] -> <nuid-1> <nuid-2> ... {-euid} ... =name[!] rn */
+        std::string sname;
+        std::string tname;
+        char *endptr;
+        NodeContainer nodes;
+        
+        sname = argv[0];
+        tname = argv[1];
+        double v = strtod (argv[2], &endptr); // weight
+        // cast v to void , to suppress 'v' set but not used compiler warning
+        //(void) v;
+        
+        
+        
+        if (*endptr != '\0')
+        {
+            NS_LOG_WARN ("invalid weight: " << argv[2]);
+            return nodes;
+        }
+        
+        // Create node and link
+        if (!sname.empty () && !tname.empty ())
+        {
+            if (nodeMap[sname] == 0)
+            {
+                Ptr<Node> tmpNode = CreateObject<Node> ();
+                nodeMap[sname] = tmpNode;
+                nodes.Add (tmpNode);
+                nodesNumber++;
+            }
+            
+            if (nodeMap[tname] == 0)
+            {
+                Ptr<Node> tmpNode = CreateObject<Node> ();
+                nodeMap[tname] = tmpNode;
+                nodes.Add (tmpNode);
+                nodesNumber++;
+            }
+            NS_LOG_INFO (linksNumber << ":" << nodesNumber << " From: " << sname << " to: " << tname);
+            TopologyReader::ConstLinksIterator iter;
+            bool found = false;
+            for (iter = LinksBegin (); iter != LinksEnd (); iter++)
+            {
+                if ((iter->GetFromNode () == nodeMap[tname])
+                    && (iter->GetToNode () == nodeMap[sname]))
+                {
+                    found = true;
+                    break;
+                }
+            }
+            
+            if (!found)
+            {
+                Link link (nodeMap[sname], sname, nodeMap[tname], tname);
+                std::ostringstream s;
+                s << std::setprecision(2) << v;
+                std::string ss = s.str();
+                link.SetAttribute ("OSPF", ss);
+                AddLink (link);
+                linksNumber++;
+            }
+        }
+        return nodes;
+    }
+    
+    enum RocketfuelWeightsReader::RF_FileType
+    RocketfuelWeightsReader::GetFileType (const char *line)
+    {
+        int ret;
+        regmatch_t regmatch[REGMATCH_MAX];
+        regex_t regex;
+        char errbuf[512];
+        
+        // Check whether MAPS file or not
+        ret = regcomp (&regex, ROCKETFUEL_MAPS_LINE, REG_EXTENDED | REG_NEWLINE);
+        if (ret != 0)
+        {
+            regerror (ret, &regex, errbuf, sizeof (errbuf));
+            return RF_UNKNOWN;
+        }
+        ret = regexec (&regex, line, REGMATCH_MAX, regmatch, 0);
+        if (ret != REG_NOMATCH)
+        {
+            regfree (&regex);
+            return RF_MAPS;
+        }
+        regfree (&regex);
+        
+        // Check whether Weights file or not
+        ret = regcomp (&regex, ROCKETFUEL_WEIGHTS_LINE, REG_EXTENDED | REG_NEWLINE);
+        if (ret != 0)
+        {
+            regerror (ret, &regex, errbuf, sizeof (errbuf));
+            return RF_UNKNOWN;
+        }
+        ret = regexec (&regex, line, REGMATCH_MAX, regmatch, 0);
+        if (ret != REG_NOMATCH)
+        {
+            regfree (&regex);
+            return RF_WEIGHTS;
+        }
+        regfree (&regex);
+        
+        return RF_UNKNOWN;
+    }
+    
+    
+    NodeContainer
+    RocketfuelWeightsReader::Read (void)
+    {
+        std::ifstream topgen;
+        topgen.open (GetFileName ().c_str ());
+        NodeContainer nodes;
+        
+        std::istringstream lineBuffer;
+        std::string line;
+        int lineNumber = 0;
+        enum RF_FileType ftype = RF_UNKNOWN;
+        char errbuf[512];
+        
+        if (!topgen.is_open ())
+        {
+            NS_LOG_WARN ("Couldn't open the file " << GetFileName ());
+            return nodes;
+        }
+        
+        while (!topgen.eof ())
+        {
+            int ret;
+            int argc;
+            char *argv[REGMATCH_MAX];
+            char *buf;
+            
+            lineNumber++;
+            line.clear ();
+            lineBuffer.clear ();
+            
+            getline (topgen, line);
+            buf = (char *)line.c_str ();
+            
+            if (lineNumber == 1)
+            {
+                ftype = GetFileType (buf);
+                if (ftype == RF_UNKNOWN)
+                {
+                    NS_LOG_INFO ("Unknown File Format (" << GetFileName () << ")");
+                    break;
+                }
+            }
+            
+            regmatch_t regmatch[REGMATCH_MAX];
+            regex_t regex;
+            
+            if (ftype == RF_MAPS)
+            {
+                ret = regcomp (&regex, ROCKETFUEL_MAPS_LINE, REG_EXTENDED | REG_NEWLINE);
+                if (ret != 0)
+                {
+                    regerror (ret, &regex, errbuf, sizeof (errbuf));
+                    regfree (&regex);
+                    break;
+                }
+                
+                ret = regexec (&regex, buf, REGMATCH_MAX, regmatch, 0);
+                if (ret == REG_NOMATCH)
+                {
+                    NS_LOG_WARN ("match failed (maps file): %s" << buf);
+                    regfree (&regex);
+                    break;
+                }
+            }
+            else if (ftype == RF_WEIGHTS)
+            {
+                ret = regcomp (&regex, ROCKETFUEL_WEIGHTS_LINE, REG_EXTENDED | REG_NEWLINE);
+                if (ret != 0)
+                {
+                    regerror (ret, &regex, errbuf, sizeof (errbuf));
+                    regfree (&regex);
+                    break;
+                }
+                
+                ret = regexec (&regex, buf, REGMATCH_MAX, regmatch, 0);
+                if (ret == REG_NOMATCH)
+                {
+                    NS_LOG_WARN ("match failed (weights file): %s" << buf);
+                    regfree (&regex);
+                    break;
+                }
+            }
+            
+            line = buf;
+            argc = 0;
+            
+            /* regmatch[0] is the entire strings that matched */
+            for (int i = 1; i < REGMATCH_MAX; i++)
+            {
+                if (regmatch[i].rm_so == -1)
+                {
+                    argv[i - 1] = NULL;
+                }
+                else
+                {
+                    line[regmatch[i].rm_eo] = '\0';
+                    argv[i - 1] = &line[regmatch[i].rm_so];
+                    argc = i;
+                }
+            }
+            
+            if (ftype == RF_MAPS)
+            {
+                nodes.Add (GenerateFromMapsFile (argc, argv));
+            }
+            else if (ftype == RF_WEIGHTS)
+            {
+                nodes.Add (GenerateFromWeightsFile (argc, argv));
+            }
+            else
+            {
+                NS_LOG_WARN ("Unsupported file format (only Maps/Weights are supported)");
+            }
+            
+            regfree (&regex);
+        }
+        
+        
+        topgen.close ();
+        
+        NS_LOG_INFO ("Rocketfuel topology created with " << nodesNumber << " nodes and " << linksNumber << " links");
+        return nodes;
+    }
+    
+    
+void
+RocketfuelWeightsReader::ApplySettings(NetDeviceContainer* ndc, NodeContainer* nc)
+{
+  InternetStackHelper stack;
+  Ipv4AddressHelper address;
+  address.SetBase ("10.1.0.0", "255.255.0.0");
+        
+  Ipv4GlobalRoutingHelper ipv4RoutingHelper ("ns3::Ipv4GlobalRoutingOrderedNexthops");
+  stack.SetRoutingHelper (ipv4RoutingHelper);
+        
+  //This loop passes all links and checks if ipv4 is installed on the node
+  // if not, it installs. 
+  // We can't use stack.Install(nc) because in nc there are duplicates and assertion fails
+        TopologyReader::ConstLinksIterator iter;
+        int j = 0;
+        for ( iter = this->LinksBegin (); iter != this->LinksEnd (); iter++, j++ )
+        {
+            NodeContainer twoNodes = nc[j];
+            
+            Ptr<Node> nd = twoNodes.Get(0);
+            if(nd==NULL)
+                NS_LOG_INFO("nd = null");
+            
+            Ptr<Node> nd2 = twoNodes.Get(1);
+            if(nd2==NULL)
+                NS_LOG_INFO("nd2 = null");
+            
+            Ptr<Ipv4> ipv4 = nd->GetObject<Ipv4>();
+            if(ipv4 == 0)
+            {
+                NS_LOG_INFO("ipv4 = null");
+                stack.Install(nd);
+            }
+            
+            Ptr<Ipv4> ipv42 = nd2->GetObject<Ipv4>();
+            if(ipv42 == 0)
+            {
+                NS_LOG_INFO("ipv42 = null");
+                stack.Install(nd2);
+            }
+            
+            //NS_LOG_INFO("#netdevices = " << nd->GetNDevices());
+            //NS_LOG_INFO("#netdevices = " << nd2->GetNDevices());
+        }
+        
+        NS_LOG_INFO("ITER2");
+        
+        PointToPointHelper p2p;
+        TopologyReader::ConstLinksIterator iter2;
+        int i = 0;
+        for ( iter2 = this->LinksBegin (); iter2 != this->LinksEnd (); iter2++, i++ )
+        {
+            p2p.SetDeviceAttribute("DataRate", StringValue("9920000Kbps"));
+            p2p.SetChannelAttribute("Delay", StringValue("10ms"));
+            p2p.SetQueue("ns3::DropTailQueue","MaxPackets",StringValue("100"));
+            ndc[i] = p2p.Install(nc[i]);
+            
+            
+            NodeContainer twoNodes = nc[i];
+            
+            Ptr<Node> nd = twoNodes.Get(0);
+            if(nd==NULL)
+                NS_LOG_INFO("nd = null");
+            
+            
+            
+            Ptr<Node> nd2 = twoNodes.Get(1);
+            if(nd2==NULL)
+                NS_LOG_INFO("nd2 = null");
+            
+            //NS_LOG_INFO("1");
+            NS_LOG_INFO("#netdevices = " << nd->GetNDevices());
+            NS_LOG_INFO("#netdevices = " << nd2->GetNDevices());
+            
+            Ptr<NetDevice> device = nd->GetDevice(nd->GetNDevices()-1)->GetObject<PointToPointNetDevice> ();
+            
+            if(device==NULL)
+                NS_LOG_INFO("device = 0");
+            
+            std::string ospf = iter2->GetAttribute("OSPF");
+            double metric_d = atof(ospf.c_str());
+            uint16_t metric = static_cast<int>(metric_d * 10); 
+            NS_LOG_INFO("OSPF metric = " << metric);
+            
+            {
+                NetDeviceContainer* temp = new NetDeviceContainer[1];
+                temp->Add(device);
+                address.Assign (*temp);
+            }
+            
+            Ptr<Ipv4> ipv4 = nd->GetObject<Ipv4>();
+            if(ipv4 == 0)
+            {
+                NS_LOG_INFO("ipv4 = null");
+                //stack.Install(nd);
+                /*NetDeviceContainer* temp = new NetDeviceContainer[1];
+                 temp->Add(device);
+                 address.Assign (*temp);
+                 ipv4 = nd->GetObject<Ipv4>();*/
+            }
+            
+            NS_LOG_INFO("Before GetID");
+            int32_t interfaceId = ipv4->GetInterfaceForDevice(device);
+            NS_LOG_INFO("InterfaceID = " << interfaceId);
+            ipv4->SetMetric(interfaceId,metric);
+            
+            
+            
+            
+            
+            /*Ptr<Ipv4> ipv4 = nd->GetObject<Ipv4>();
+             
+             if(ipv4 == 0)
+             NS_LOG_INFO("ipv4 = null");
+             int32_t interfaceId = ipv4->GetInterfaceForDevice(device);
+             ipv4->SetMetric(interfaceId,metric);*/
+            
+            //Ptr<Ipv4Interface> interface = nd->GetDevice(nd->GetNDevices()-1)->GetObject<Ipv4Interface> ();
+            //ipv4->SetMetric(metric);
+            
+            //NS_LOG_INFO("2");
+            
+            Ptr<NetDevice> device2 = nd2->GetDevice(nd2->GetNDevices()-1)->GetObject<PointToPointNetDevice> ();
+            
+            if(device2==NULL)
+                NS_LOG_INFO("device2 = 0");
+            
+            {
+                NetDeviceContainer* temp = new NetDeviceContainer[1];
+                temp->Add(device2);
+                address.Assign (*temp);
+            }
+            
+            Ptr<Ipv4> ipv42 = nd2->GetObject<Ipv4>();
+            if(ipv42 == 0)
+            {
+                NS_LOG_INFO("ipv42 = null");
+                /*stack.Install(nd2);
+                 NetDeviceContainer* temp = new NetDeviceContainer[1];
+                 temp->Add(device2);
+                 address.Assign (*temp);
+                 ipv42 = nd2->GetObject<Ipv4>();*/
+            }
+            
+            NS_LOG_INFO("Before GetID");
+            interfaceId = ipv42->GetInterfaceForDevice(device2);
+            NS_LOG_INFO("InterfaceID = " << interfaceId);
+            ipv42->SetMetric(interfaceId,metric);
+            
+            
+            
+            /*PointerValue tmp1;
+            device->GetAttribute ("TxQueue", tmp1);
+            //NS_LOG_INFO("2.5");
+            Ptr<Object> txQueue1 = tmp1.GetObject ();
+            
+            PointerValue tmp2;
+            device2->GetAttribute ("TxQueue", tmp2);
+            Ptr<Object> txQueue2 = tmp2.GetObject ();
+            //NS_LOG_INFO("3");
+            Ptr<DropTailQueue> dtq1 = txQueue1->GetObject <DropTailQueue> ();
+            NS_ASSERT (dtq1 != 0);
+            
+            Ptr<DropTailQueue> dtq2 = txQueue2->GetObject <DropTailQueue> ();
+            NS_ASSERT (dtq2 != 0);
+            
+            std::string queuesize1 = iter2->GetAttribute("QueueSizeNode1");
+            std::string queuesize2 = iter2->GetAttribute("QueueSizeNode2");
+            //NS_LOG_INFO("4");
+            txQueue1->SetAttribute("MaxPackets", UintegerValue (atoi(queuesize1.c_str())));
+            txQueue2->SetAttribute("MaxPackets", UintegerValue (atoi(queuesize2.c_str())));
+            
+            UintegerValue limit;
+            txQueue1->GetAttribute ("MaxPackets", limit);
+            NS_LOG_INFO ("NetDevice #"<< device->GetIfIndex() << "has queue limit " << limit.Get () << " packets");
+            
+            txQueue2->GetAttribute ("MaxPackets", limit);
+            NS_LOG_INFO ("NetDevice #"<< device2->GetIfIndex() << "has queue limit " << limit.Get () << " packets");*/
+        }
+    }
+
+    
+} /* namespace ns3 */
+
+
diff --git a/model/rocketfuel-weights-reader.h b/model/rocketfuel-weights-reader.h
new file mode 100644
index 0000000..bea3bff
--- /dev/null
+++ b/model/rocketfuel-weights-reader.h
@@ -0,0 +1,111 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2010 Hajime Tazaki
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Hajime Tazaki (tazaki@sfc.wide.ad.jp)
+ *         Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+
+#ifndef ROCKETFUEL_TOPOLOGY_READER_H
+#define ROCKETFUEL_TOPOLOGY_READER_H
+
+#include "ns3/nstime.h"
+#include "ns3/net-device-container.h"
+#include "ns3/topology-reader.h"
+
+
+#include "ns3/point-to-point-helper.h"
+#include "ns3/point-to-point-net-device.h"
+#include "ns3/internet-stack-helper.h"
+#include "ns3/ipv4-address-helper.h"
+#include "ns3/ipv4-global-routing-helper.h"
+#include "ns3/drop-tail-queue.h"
+#include "ns3/ipv4-interface.h"
+#include "ns3/ipv4.h"
+#include "ns3/string.h"
+#include "ns3/pointer.h"
+#include "ns3/uinteger.h"
+#include <string>
+#include <fstream>
+#include <cstdlib>
+#include <iostream>
+#include <sstream>
+#include <iomanip>
+
+namespace ns3 {
+    
+    
+    // ------------------------------------------------------------
+    // --------------------------------------------
+    /**
+     * \brief Topology file reader (Rocketfuel-format type).
+     *
+     * http://www.cs.washington.edu/research/networking/rocketfuel/
+     *
+     * May 2nd, 2010: Currently only support "weights" file and "cch" file.
+     * http://www.cs.washington.edu/research/networking/rocketfuel/maps/weights-dist.tar.gz
+     * http://www.cs.washington.edu/research/networking/rocketfuel/maps/rocketfuel_maps_cch.tar.gz
+     */
+    class RocketfuelWeightsReader : public TopologyReader
+    {
+    public:
+        static TypeId GetTypeId (void);
+        
+        RocketfuelWeightsReader ();
+        virtual ~RocketfuelWeightsReader ();
+        
+        /**
+         * \brief Main topology reading function.
+         *
+         * This method opens an input stream and reads the Rocketfuel-format file.
+         * Every row represents a topology link (the ids of a couple of nodes),
+         * so the input file is read line by line to figure out how many links
+         * and nodes are in the topology.
+         *
+         * \return the container of the nodes created (or empty container if there was an error)
+         */
+        virtual NodeContainer Read (void);
+        
+        void ApplySettings(NetDeviceContainer* ndc, NodeContainer* nc);
+        
+    private:
+        RocketfuelWeightsReader (const RocketfuelWeightsReader&);
+        RocketfuelWeightsReader& operator= (const RocketfuelWeightsReader&);
+        // Parser for the *.cch file available at:
+        // http://www.cs.washington.edu/research/networking/rocketfuel/maps/rocketfuel_maps_cch.tar.gz
+        NodeContainer GenerateFromMapsFile (int argc, char *argv[]);
+        // Parser for the weights.* file available at:
+        // http://www.cs.washington.edu/research/networking/rocketfuel/maps/weights-dist.tar.gz
+        NodeContainer GenerateFromWeightsFile (int argc, char *argv[]);
+        
+        enum RF_FileType
+        {
+            RF_MAPS,
+            RF_WEIGHTS,
+            RF_UNKNOWN
+        };
+        enum RF_FileType GetFileType (const char *);
+        
+        // end class RocketfuelWeightsReader
+    };
+    
+    // end namespace ns3
+};
+
+
+#endif /* ROCKETFUEL_TOPOLOGY_READER_H */
+
+
diff --git a/wscript b/wscript
index 914f9fb..7da13ff 100644
--- a/wscript
+++ b/wscript
@@ -82,7 +82,12 @@
 
         obj = bld.create_ns3_program('packet-sizes', ['NDNabstraction'])
         obj.source = 'examples/packet-sizes.cc'
-        
+
+        obj = bld.create_ns3_program('ccnx-sprint-topology', ['NDNabstraction'])
+        obj.source = 'examples/sprint-topology.cc'
+
+        obj = bld.create_ns3_program('ccnx-abilene-topology', ['NDNabstraction'])
+        obj.source = 'examples/abilene-topology.cc'
 
     #     for path in ["examples"]:
     #         anode = bld.path.find_dir (path)