summaryrefslogtreecommitdiff
path: root/test/binary1.lm
diff options
context:
space:
mode:
Diffstat (limited to 'test/binary1.lm')
-rw-r--r--test/binary1.lm1902
1 files changed, 1902 insertions, 0 deletions
diff --git a/test/binary1.lm b/test/binary1.lm
new file mode 100644
index 0000000..7fc8337
--- /dev/null
+++ b/test/binary1.lm
@@ -0,0 +1,1902 @@
+##### LM #####
+
+context binary
+
+# Used for most of the grammar.
+token octet /any/
+
+# Filled in during the parsing of resource records. Determine what RR_UNKNOWN
+# translates to.
+rr_type_value: int
+rr_class_value: int
+
+# Tokens generated from RR_UNKNOWN. Used to pick the kind
+# of resource record to attempt to parse.
+token RR_A // # 1 a host address
+token RR_NS // # 2 an authoritative name server
+token RR_MD // # 3 a mail destination (Obsolete - use MX)
+token RR_MF // # 4 a mail forwarder (Obsolete - use MX)
+token RR_CNAME // # 5 the canonical name for an alias
+token RR_SOA // # 6 marks the start of a zone of authority
+token RR_MB // # 7 a mailbox domain name (EXPERIMENTAL)
+token RR_MG // # 8 a mail group member (EXPERIMENTAL)
+token RR_MR // # 9 a mail rename domain name (EXPERIMENTAL)
+token RR_NULL // # 10 a null RR (EXPERIMENTAL)
+token RR_WKS // # 11 a well known service description
+token RR_PTR // # 12 a domain name pointer
+token RR_HINFO // # 13 host information
+token RR_MINFO // # 14 mailbox or mail list information
+token RR_MX // # 15 mail exchange
+token RR_TXT // # 16 text strings
+
+token RR_UNKNOWN
+ /''/
+ {
+ id: int = typeid<RR_UNKNOWN>
+ if rr_type_value == 1
+ id = typeid<RR_A>
+ elsif rr_type_value == 2
+ id = typeid<RR_NS>
+ elsif rr_type_value == 5
+ id = typeid<RR_CNAME>
+ elsif rr_type_value == 12
+ id = typeid<RR_PTR>
+ elsif rr_type_value == 15
+ id = typeid<RR_MX>
+ elsif rr_type_value == 16
+ id = typeid<RR_TXT>
+
+ input.push( make_token( id '' ) )
+ }
+
+# Convert two octets in network order into an unsigned 16 bit value.
+int network_uord16( o1: octet o2: octet )
+{
+ return o1.data.uord8() * 256 + o2.data.uord8()
+}
+
+
+def message
+ [header questions answers authorities additionals]
+
+question_count: int
+answer_count: int
+authority_count: int
+additional_count: int
+
+# Message Header
+#
+# 1 1 1 1 1 1
+# 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | ID |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | QDCOUNT |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | ANCOUNT |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | NSCOUNT |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | ARCOUNT |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+def header
+ [header_id header_fields count count count count]
+ {
+ question_count = r3.count
+ answer_count = r4.count
+ authority_count = r5.count
+ additional_count = r6.count
+ }
+
+def header_id
+ [octet octet]
+
+def header_fields
+ [octet octet]
+
+def count
+ count: int
+ [octet octet]
+ {
+ lhs.count = network_uord16( r1 r2 )
+ }
+
+#
+# Counting Primitives
+#
+# Uses a stack of lengths. Using a stack allows for counted lists to be
+# nested. As the list is consumed it brings the count down to zero. To use
+# it, push a new count value to the list and include it in a
+# right-recursive list like so:
+#
+# def LIST
+# [count_inc ITEM LIST]
+# [count_end]
+# end
+#
+
+CL: list<int>
+
+int start_list( count: int )
+{
+ CL.push( count )
+}
+
+def count_inc
+ []
+ {
+ if CL.top == 0 {
+ reject
+ } else {
+ CL.top = CL.top - 1
+ }
+ }
+
+def count_end
+ []
+ {
+ if CL.top != 0 {
+ reject
+ } else {
+ CL.pop()
+ }
+ }
+
+#
+# Octet List
+#
+
+# General octet list. Length must be set to use this.
+def octet_list
+ [count_inc octet octet_list]
+| [count_end]
+
+
+#
+# Names
+#
+
+def name
+ [name_part* name_end]
+
+# Name part lists are terminated by a zero length or a pointer.
+def name_end
+ # Zero length ending
+ [octet]
+ {
+ val: int = r1.data.uord8()
+ if val != 0 {
+ reject
+ }
+ }
+
+ # Pointer ending
+ # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ # | 1 1| OFFSET |
+ # +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+| [octet octet]
+ {
+ val: int = r1.data.uord8()
+ if val < 64 {
+ reject
+ }
+ }
+
+#
+# Get some number of bytes.
+#
+
+# How many to get
+nbytes: int
+
+# We use this token to eliminate the lookahead that would be needed to
+# cause a reduce of part_len. This forces whatever comes before nbytes to
+# be reduced before nbytes_data token is fetched from the scanner. We need
+# this because nbytes_data depends on the nbytes in the context and we need
+# to ensure that it is set.
+token nb_empty /''/
+
+# Fetch nbytes bytes.
+token nbytes_data
+ /''/
+ {
+ input.push( make_token( typeid<nbytes_data> input.pull(nbytes) ) )
+ }
+
+def nbytes
+ [nb_empty nbytes_data]
+
+def name_part
+ [part_len nbytes]
+
+
+def part_len
+ [octet]
+ {
+ # A name part list is terminated either by a zero length or a pointer,
+ # which must have the two high bits set.
+ count: int = r1.data.uord8()
+ if count == 0 || count >= 64 {
+ reject
+ } else {
+ # Set the number of bytes to get for the name part.
+ nbytes = count
+ }
+ }
+
+#
+# Resource Records
+#
+
+# 1 1 1 1 1 1
+# 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | |
+# / /
+# / NAME /
+# | |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | TYPE |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | CLASS |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | TTL |
+# | |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | RDLENGTH |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
+# / RDATA /
+# / /
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+def resource_record
+ [name rr_type rr_class ttl rdlength rdata]
+
+def rr_type
+ [octet octet]
+ {
+ rr_type_value = network_uord16( r1 r2 )
+ }
+
+def rr_class
+ value: int
+ [octet octet]
+ {
+ rr_class_value = network_uord16( r1 r2 )
+ }
+
+def ttl
+ [octet octet octet octet]
+
+token rdata_bytes
+ /''/
+ {
+ input.push( make_token( typeid<rdata_bytes> input.pull(rdata_length) ) )
+ }
+
+def rdlength
+ [octet octet]
+ {
+ rdata_length = network_uord16( r1 r2 )
+ }
+
+rdata_length: int
+
+def rdata
+ [RR_UNKNOWN rdata_bytes]
+| [RR_A address]
+| [RR_NS name]
+| [RR_CNAME name]
+| [RR_PTR name]
+| [RR_MX octet octet name]
+| [RR_TXT rdata_bytes]
+
+
+#
+# Address
+#
+def address [octet octet octet octet]
+
+#
+# List of Questions
+#
+
+def questions
+ [load_question_count question_list]
+
+def load_question_count
+ []
+ {
+ start_list( question_count )
+ }
+
+def question_list
+ [count_inc question question_list]
+| [count_end]
+
+#
+# Question
+#
+
+# 1 1 1 1 1 1
+# 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | |
+# / QNAME /
+# / /
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | QTYPE |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+# | QCLASS |
+# +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+def question
+ [name qtype qclass]
+
+def qtype
+ [octet octet]
+
+def qclass
+ [octet octet]
+
+#
+# List of Answers
+#
+
+def answers
+ [load_answer_count answer_list]
+
+def load_answer_count
+ []
+ {
+ start_list( answer_count )
+ }
+
+def answer_list
+ [count_inc answer answer_list]
+| [count_end]
+
+#
+# Answer
+#
+
+def answer
+ [resource_record]
+
+#
+# List of Authorities
+#
+
+def authorities
+ [load_authority_count authority_list]
+
+def load_authority_count
+ []
+ {
+ start_list( authority_count )
+ }
+
+def authority_list
+ [count_inc authority authority_list]
+| [count_end]
+
+#
+# Authority
+#
+
+def authority
+ [resource_record]
+
+#
+# List of Additionals
+#
+
+def additionals
+ [load_additional_count additional_list]
+
+def load_additional_count
+ []
+ {
+ start_list( additional_count )
+ }
+
+def additional_list
+ [count_inc additional additional_list]
+| [count_end]
+
+#
+# Additional
+#
+
+def additional
+ [resource_record]
+
+
+def start
+ [message*]
+
+#
+# Grammar End.
+#
+
+int print_RR_UNKNOWN( s: start )
+{
+ for I:rdata in s {
+ if match I [u:RR_UNKNOWN rdata_bytes] {
+ print( 'UNKNOWN TYPE\n' )
+ }
+ }
+}
+
+int print_RR_A( s: start )
+{
+ for I:rdata in s {
+ if match I [RR_A o1:octet o2:octet o3:octet o4:octet] {
+ print( 'RR_A: ' o1.data.uord8() '.' o2.data.uord8() '.'
+ o3.data.uord8() '.' o4.data.uord8() '\n' )
+ }
+ }
+}
+
+int print_name( n: name m: map<int name> )
+{
+ for P: name_part in n {
+ match P [part_len D:nbytes]
+ print( D '.' )
+ }
+
+ for E:name_end in n {
+ if match E [o1:octet o2:octet] {
+ val: int = (o1.data.uord8() - 192) * 256 + o2.data.uord8()
+ print( '[' val ']' )
+ nameInMap: name = m.find( val )
+ print_name( nameInMap m )
+ }
+ }
+}
+
+int print_all_names( s: start )
+{
+ for M: message in s {
+ construct m: map<int name> []
+
+ O: octet = octet in M
+
+ for N: name in M {
+ match N [name_part* E:name_end]
+
+ for NP: name_part* in N {
+ if match NP [L: octet nbytes name_part*] {
+ messageOffset: int = L.pos - O.pos
+ construct n: name [NP E]
+ m.insert( messageOffset n )
+ }
+ }
+ }
+
+ for I: name in M {
+ print_name( I m )
+ print( '\n' )
+ }
+ }
+}
+
+end # binary
+
+cons Binary: binary[]
+Binary.CL = cons list<int> []
+
+parse S: binary::start(Binary) [ stdin ]
+print_all_names( S )
+print( '*** SUCCESS ***\n' )
+##### EXP #####
+www.google.ca.
+www.google.ca.
+[12]www.google.ca.
+www.google.com.
+[43]www.google.com.
+www.l.[47]google.com.
+[71]www.l.[47]google.com.
+[75]l.[47]google.com.
+a.[75]l.[47]google.com.
+[75]l.[47]google.com.
+d.[75]l.[47]google.com.
+[75]l.[47]google.com.
+e.[75]l.[47]google.com.
+[75]l.[47]google.com.
+f.[75]l.[47]google.com.
+[75]l.[47]google.com.
+g.[75]l.[47]google.com.
+[75]l.[47]google.com.
+b.[75]l.[47]google.com.
+[107]a.[75]l.[47]google.com.
+[123]d.[75]l.[47]google.com.
+[139]e.[75]l.[47]google.com.
+[155]f.[75]l.[47]google.com.
+[171]g.[75]l.[47]google.com.
+[187]b.[75]l.[47]google.com.
+clients1.google.ca.
+clients1.google.ca.
+[12]clients1.google.ca.
+clients.l.google.com.
+[48]clients.l.google.com.
+[56]l.google.com.
+e.[56]l.google.com.
+[56]l.google.com.
+f.[56]l.google.com.
+[56]l.google.com.
+g.[56]l.google.com.
+[56]l.google.com.
+b.[56]l.google.com.
+[56]l.google.com.
+a.[56]l.google.com.
+[56]l.google.com.
+d.[56]l.google.com.
+[98]e.[56]l.google.com.
+[114]f.[56]l.google.com.
+[130]g.[56]l.google.com.
+[146]b.[56]l.google.com.
+[162]a.[56]l.google.com.
+[178]d.[56]l.google.com.
+en-us.fxfeeds.mozilla.com.
+en-us.fxfeeds.mozilla.com.
+[12]en-us.fxfeeds.mozilla.com.
+fxfeeds.mozilla.org.
+[55]fxfeeds.mozilla.org.
+[63]mozilla.org.
+ns1.[63]mozilla.org.
+[63]mozilla.org.
+ns2.[63]mozilla.org.
+[63]mozilla.org.
+ns3.[63]mozilla.org.
+[104]ns1.[63]mozilla.org.
+[122]ns2.[63]mozilla.org.
+[140]ns3.[63]mozilla.org.
+fxfeeds.mozilla.com.
+fxfeeds.mozilla.com.
+[12]fxfeeds.mozilla.com.
+fxfeeds.mozilla.org.
+[49]fxfeeds.mozilla.org.
+[57]mozilla.org.
+ns2.[57]mozilla.org.
+[57]mozilla.org.
+ns3.[57]mozilla.org.
+[57]mozilla.org.
+ns1.[57]mozilla.org.
+[98]ns2.[57]mozilla.org.
+[116]ns3.[57]mozilla.org.
+[134]ns1.[57]mozilla.org.
+newsrss.bbc.co.uk.
+newsrss.bbc.co.uk.
+[12]newsrss.bbc.co.uk.
+newsrss.bbc.net.uk.
+[47]newsrss.bbc.net.uk.
+[55]bbc.net.uk.
+ns0.thdo.bbc.co.[63]uk.
+[55]bbc.net.uk.
+ns0.rbsov.[104]bbc.co.[63]uk.
+[95]ns0.thdo.bbc.co.[63]uk.
+[125]ns0.rbsov.[104]bbc.co.[63]uk.
+news.google.ca.
+news.google.ca.
+[12]news.google.ca.
+news.google.com.
+[44]news.google.com.
+news.l.[49]google.com.
+[73]news.l.[49]google.com.
+[78]l.[49]google.com.
+d.[78]l.[49]google.com.
+[78]l.[49]google.com.
+e.[78]l.[49]google.com.
+[78]l.[49]google.com.
+f.[78]l.[49]google.com.
+[78]l.[49]google.com.
+g.[78]l.[49]google.com.
+[78]l.[49]google.com.
+b.[78]l.[49]google.com.
+[78]l.[49]google.com.
+a.[78]l.[49]google.com.
+[110]d.[78]l.[49]google.com.
+[126]e.[78]l.[49]google.com.
+[142]f.[78]l.[49]google.com.
+[158]g.[78]l.[49]google.com.
+[174]b.[78]l.[49]google.com.
+[190]a.[78]l.[49]google.com.
+nt3.ggpht.com.
+nt3.ggpht.com.
+[12]nt3.ggpht.com.
+news.l.google.com.
+[43]news.l.google.com.
+[48]l.google.com.
+f.[48]l.google.com.
+[48]l.google.com.
+g.[48]l.google.com.
+[48]l.google.com.
+b.[48]l.google.com.
+[48]l.google.com.
+a.[48]l.google.com.
+[48]l.google.com.
+d.[48]l.google.com.
+[48]l.google.com.
+e.[48]l.google.com.
+[90]f.[48]l.google.com.
+[106]g.[48]l.google.com.
+[122]b.[48]l.google.com.
+[138]a.[48]l.google.com.
+[154]d.[48]l.google.com.
+[170]e.[48]l.google.com.
+csi.gstatic.com.
+csi.gstatic.com.
+[12]csi.gstatic.com.
+csi.l.google.com.
+[45]csi.l.google.com.
+[49]l.google.com.
+d.[49]l.google.com.
+[49]l.google.com.
+e.[49]l.google.com.
+[49]l.google.com.
+f.[49]l.google.com.
+[49]l.google.com.
+g.[49]l.google.com.
+[49]l.google.com.
+b.[49]l.google.com.
+[49]l.google.com.
+a.[49]l.google.com.
+[91]d.[49]l.google.com.
+[107]e.[49]l.google.com.
+[123]f.[49]l.google.com.
+[139]g.[49]l.google.com.
+[155]b.[49]l.google.com.
+[171]a.[49]l.google.com.
+www.nytimes.com.
+www.nytimes.com.
+[12]www.nytimes.com.
+nytimes.com.
+nydns1.about.[57]com.
+[49]nytimes.com.
+ns1t.[49]nytimes.com.
+[49]nytimes.com.
+nydns2.[79]about.[57]com.
+[72]nydns1.about.[57]com.
+[99]ns1t.[49]nytimes.com.
+[118]nydns2.[79]about.[57]com.
+graphics8.nytimes.com.
+graphics8.nytimes.com.
+[12]graphics8.nytimes.com.
+graphics478.nytimes.com.edgesuite.net.
+[51]graphics478.nytimes.com.edgesuite.net.
+a1116.x.akamai.[85]net.
+[102]a1116.x.akamai.[85]net.
+[102]a1116.x.akamai.[85]net.
+[108]x.akamai.[85]net.
+n0x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n1x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n6x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n3x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n2x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n7x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n5x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n8x.[110]akamai.[85]net.
+[108]x.akamai.[85]net.
+n4x.[110]akamai.[85]net.
+[163]n0x.[110]akamai.[85]net.
+[181]n1x.[110]akamai.[85]net.
+[199]n6x.[110]akamai.[85]net.
+[217]n3x.[110]akamai.[85]net.
+[235]n2x.[110]akamai.[85]net.
+[253]n7x.[110]akamai.[85]net.
+[271]n5x.[110]akamai.[85]net.
+[289]n8x.[110]akamai.[85]net.
+[307]n4x.[110]akamai.[85]net.
+timespeople.nytimes.com.
+timespeople.nytimes.com.
+[12]timespeople.nytimes.com.
+nytimes.com.
+nydns2.about.[65]com.
+[57]nytimes.com.
+nydns1.[87]about.[65]com.
+[57]nytimes.com.
+ns1t.[57]nytimes.com.
+[80]nydns2.about.[65]com.
+[107]nydns1.[87]about.[65]com.
+[128]ns1t.[57]nytimes.com.
+googleads.g.doubleclick.net.
+googleads.g.doubleclick.net.
+[12]googleads.g.doubleclick.net.
+pagead.l.doubleclick.net.
+[57]pagead.l.doubleclick.net.
+[64]l.doubleclick.net.
+b.l.google.com.
+[64]l.doubleclick.net.
+d.[113]l.google.com.
+[64]l.doubleclick.net.
+e.[113]l.google.com.
+[64]l.doubleclick.net.
+f.[113]l.google.com.
+[64]l.doubleclick.net.
+g.[113]l.google.com.
+[64]l.doubleclick.net.
+a.[113]l.google.com.
+[111]b.l.google.com.
+[139]d.[113]l.google.com.
+[155]e.[113]l.google.com.
+[171]f.[113]l.google.com.
+[187]g.[113]l.google.com.
+[203]a.[113]l.google.com.
+up.nytimes.com.
+up.nytimes.com.
+[12]up.nytimes.com.
+up.about.akadns.net.
+[44]up.about.akadns.net.
+[53]akadns.net.
+eur1.[53]akadns.net.
+[53]akadns.net.
+use3.[53]akadns.net.
+[53]akadns.net.
+use4.[53]akadns.net.
+[53]akadns.net.
+usw2.[53]akadns.net.
+[53]akadns.net.
+za.akadns.org.
+[53]akadns.net.
+zb.[172]akadns.org.
+[53]akadns.net.
+zc.[172]akadns.org.
+[53]akadns.net.
+zd.[172]akadns.org.
+[53]akadns.net.
+asia9.[53]akadns.net.
+[93]eur1.[53]akadns.net.
+[112]use3.[53]akadns.net.
+[131]use4.[53]akadns.net.
+[150]usw2.[53]akadns.net.
+[169]za.akadns.org.
+[196]zb.[172]akadns.org.
+[213]zc.[172]akadns.org.
+[230]zd.[172]akadns.org.
+[247]asia9.[53]akadns.net.
+pix04.revsci.net.
+pix04.revsci.net.
+[12]pix04.revsci.net.
+revsci.net.
+ns2.p16.dynect.[57]net.
+[50]revsci.net.
+ns3.[76]p16.dynect.[57]net.
+[50]revsci.net.
+ns1.[76]p16.dynect.[57]net.
+[50]revsci.net.
+ns4.[76]p16.dynect.[57]net.
+[72]ns2.p16.dynect.[57]net.
+[101]ns3.[76]p16.dynect.[57]net.
+[119]ns1.[76]p16.dynect.[57]net.
+[137]ns4.[76]p16.dynect.[57]net.
+wt.o.nytimes.com.
+wt.o.nytimes.com.
+[12]wt.o.nytimes.com.
+nytimes.webtrends.akadns.net.
+[46]nytimes.webtrends.akadns.net.
+[64]akadns.net.
+use3.[64]akadns.net.
+[64]akadns.net.
+use4.[64]akadns.net.
+[64]akadns.net.
+usw2.[64]akadns.net.
+[64]akadns.net.
+za.akadns.org.
+[64]akadns.net.
+zb.[164]akadns.org.
+[64]akadns.net.
+zc.[164]akadns.org.
+[64]akadns.net.
+zd.[164]akadns.org.
+[64]akadns.net.
+asia9.[64]akadns.net.
+[64]akadns.net.
+eur1.[64]akadns.net.
+[104]use3.[64]akadns.net.
+[123]use4.[64]akadns.net.
+[142]usw2.[64]akadns.net.
+[161]za.akadns.org.
+[188]zb.[164]akadns.org.
+[205]zc.[164]akadns.org.
+[222]zd.[164]akadns.org.
+[239]asia9.[64]akadns.net.
+[259]eur1.[64]akadns.net.
+te.nytimes.com.
+ar.voicefive.com.
+te.nytimes.com.
+[12]te.nytimes.com.
+nytd.te.tacoda.net.
+[44]nytd.te.tacoda.net.
+te.tacoda.akadns.[59]net.
+[76]te.tacoda.akadns.[59]net.
+[86]akadns.[59]net.
+use4.[86]akadns.[59]net.
+[86]akadns.[59]net.
+usw2.[86]akadns.[59]net.
+[86]akadns.[59]net.
+za.akadns.org.
+[86]akadns.[59]net.
+zb.[164]akadns.org.
+[86]akadns.[59]net.
+zc.[164]akadns.org.
+[86]akadns.[59]net.
+zd.[164]akadns.org.
+[86]akadns.[59]net.
+asia9.[86]akadns.[59]net.
+[86]akadns.[59]net.
+eur1.[86]akadns.[59]net.
+[86]akadns.[59]net.
+use3.[86]akadns.[59]net.
+[123]use4.[86]akadns.[59]net.
+[142]usw2.[86]akadns.[59]net.
+[161]za.akadns.org.
+[188]zb.[164]akadns.org.
+[205]zc.[164]akadns.org.
+[222]zd.[164]akadns.org.
+[239]asia9.[86]akadns.[59]net.
+[259]eur1.[86]akadns.[59]net.
+[278]use3.[86]akadns.[59]net.
+ar.voicefive.com.
+[12]ar.voicefive.com.
+ar.gta.voicefive.com.
+[46]ar.gta.voicefive.com.
+[49]gta.voicefive.com.
+gta02.ord.[53]voicefive.com.
+[49]gta.voicefive.com.
+gta01.iad.[53]voicefive.com.
+[49]gta.voicefive.com.
+gta01.[102]ord.[53]voicefive.com.
+[49]gta.voicefive.com.
+gta02.[126]iad.[53]voicefive.com.
+[96]gta02.ord.[53]voicefive.com.
+[120]gta01.iad.[53]voicefive.com.
+[144]gta01.[102]ord.[53]voicefive.com.
+[164]gta02.[126]iad.[53]voicefive.com.
+www.google.com.
+www.google.com.
+[12]www.google.com.
+www.l.google.com.
+[44]www.l.google.com.
+[48]l.google.com.
+d.[48]l.google.com.
+[48]l.google.com.
+e.[48]l.google.com.
+[48]l.google.com.
+f.[48]l.google.com.
+[48]l.google.com.
+g.[48]l.google.com.
+[48]l.google.com.
+b.[48]l.google.com.
+[48]l.google.com.
+a.[48]l.google.com.
+[90]d.[48]l.google.com.
+[106]e.[48]l.google.com.
+[122]f.[48]l.google.com.
+[138]g.[48]l.google.com.
+[154]b.[48]l.google.com.
+[170]a.[48]l.google.com.
+www.google-analytics.com.
+www.google-analytics.com.
+[12]www.google-analytics.com.
+www-google-analytics.l.google.com.
+[54]www-google-analytics.l.google.com.
+[75]l.google.com.
+f.[75]l.google.com.
+[75]l.google.com.
+g.[75]l.google.com.
+[75]l.google.com.
+b.[75]l.google.com.
+[75]l.google.com.
+a.[75]l.google.com.
+[75]l.google.com.
+d.[75]l.google.com.
+[75]l.google.com.
+e.[75]l.google.com.
+[117]f.[75]l.google.com.
+[133]g.[75]l.google.com.
+[149]b.[75]l.google.com.
+[165]a.[75]l.google.com.
+[181]d.[75]l.google.com.
+[197]e.[75]l.google.com.
+pagead2.googlesyndication.com.
+pagead2.googlesyndication.com.
+[12]pagead2.googlesyndication.com.
+pagead.l.google.com.
+[59]pagead.l.google.com.
+[66]l.google.com.
+g.[66]l.google.com.
+[66]l.google.com.
+b.[66]l.google.com.
+[66]l.google.com.
+a.[66]l.google.com.
+[66]l.google.com.
+d.[66]l.google.com.
+[66]l.google.com.
+e.[66]l.google.com.
+[66]l.google.com.
+f.[66]l.google.com.
+[108]g.[66]l.google.com.
+[124]b.[66]l.google.com.
+[140]a.[66]l.google.com.
+[156]d.[66]l.google.com.
+[172]e.[66]l.google.com.
+[188]f.[66]l.google.com.
+maps.google.com.
+maps.google.com.
+[12]maps.google.com.
+maps.l.google.com.
+[45]maps.l.google.com.
+[50]l.google.com.
+b.[50]l.google.com.
+[50]l.google.com.
+a.[50]l.google.com.
+[50]l.google.com.
+d.[50]l.google.com.
+[50]l.google.com.
+e.[50]l.google.com.
+[50]l.google.com.
+f.[50]l.google.com.
+[50]l.google.com.
+g.[50]l.google.com.
+[92]b.[50]l.google.com.
+[108]a.[50]l.google.com.
+[124]d.[50]l.google.com.
+[140]e.[50]l.google.com.
+[156]f.[50]l.google.com.
+[172]g.[50]l.google.com.
+maps.gstatic.com.
+maps.gstatic.com.
+[12]maps.gstatic.com.
+www2.l.google.com.
+[46]www2.l.google.com.
+[51]l.google.com.
+a.[51]l.google.com.
+[51]l.google.com.
+d.[51]l.google.com.
+[51]l.google.com.
+e.[51]l.google.com.
+[51]l.google.com.
+f.[51]l.google.com.
+[51]l.google.com.
+g.[51]l.google.com.
+[51]l.google.com.
+b.[51]l.google.com.
+[93]a.[51]l.google.com.
+[109]d.[51]l.google.com.
+[125]e.[51]l.google.com.
+[141]f.[51]l.google.com.
+[157]g.[51]l.google.com.
+[173]b.[51]l.google.com.
+www.calgaryherald.com.
+www.calgaryherald.com.
+[12]www.calgaryherald.com.
+calgaryherald.com.
+ns1.canwest.[69]com.
+[55]calgaryherald.com.
+ns2.[88]canwest.[69]com.
+[84]ns1.canwest.[69]com.
+[110]ns2.[88]canwest.[69]com.
+a123.g.akamai.net.
+a123.g.akamai.net.
+[12]a123.g.akamai.net.
+[12]a123.g.akamai.net.
+members.canada.com.
+members.canada.com.
+[12]members.canada.com.
+canada.com.
+ns2.canwest.[59]com.
+[52]canada.com.
+ns1.[78]canwest.[59]com.
+[74]ns2.canwest.[59]com.
+[100]ns1.[78]canwest.[59]com.
+www.canada.com.
+www.canada.com.
+[12]www.canada.com.
+canada.com.
+ns1.canwest.[55]com.
+[48]canada.com.
+ns2.[74]canwest.[55]com.
+[70]ns1.canwest.[55]com.
+[96]ns2.[74]canwest.[55]com.
+s9.addthis.com.
+s9.addthis.com.
+[12]s9.addthis.com.
+wildcard.addthis.com.edgekey.net.
+[44]wildcard.addthis.com.edgekey.net.
+e2943.c.akamaiedge.[73]net.
+[90]e2943.c.akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n7c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n5c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n8c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n0c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n6c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n1c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n4c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n3c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n2c.[98]akamaiedge.[73]net.
+[139]n7c.[98]akamaiedge.[73]net.
+[157]n5c.[98]akamaiedge.[73]net.
+[175]n8c.[98]akamaiedge.[73]net.
+[193]n0c.[98]akamaiedge.[73]net.
+[211]n6c.[98]akamaiedge.[73]net.
+[229]n1c.[98]akamaiedge.[73]net.
+[247]n4c.[98]akamaiedge.[73]net.
+[265]n3c.[98]akamaiedge.[73]net.
+[283]n2c.[98]akamaiedge.[73]net.
+communities.canada.com.
+communities.canada.com.
+[12]communities.canada.com.
+canada.com.
+ns1.canwest.[63]com.
+[56]canada.com.
+ns2.[82]canwest.[63]com.
+[78]ns1.canwest.[63]com.
+[104]ns2.[82]canwest.[63]com.
+canwestglobal.112.2o7.net.
+beacon.securestudies.com.
+beacon.securestudies.com.
+[12]beacon.securestudies.com.
+beacon.gta.securestudies.com.
+[54]beacon.gta.securestudies.com.
+[61]gta.securestudies.com.
+gta02.iad.[65]securestudies.com.
+[61]gta.securestudies.com.
+gta02.ord.[65]securestudies.com.
+[61]gta.securestudies.com.
+gta01.[118]iad.[65]securestudies.com.
+[61]gta.securestudies.com.
+gta01.[142]ord.[65]securestudies.com.
+[112]gta02.iad.[65]securestudies.com.
+[136]gta02.ord.[65]securestudies.com.
+[160]gta01.[118]iad.[65]securestudies.com.
+[180]gta01.[142]ord.[65]securestudies.com.
+canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+2o7.net.
+ns1.dal.omniture.com.
+[155]2o7.net.
+ns1.sj1.[182]omniture.com.
+[155]2o7.net.
+ns1.sj2.[182]omniture.com.
+[174]ns1.dal.omniture.com.
+[208]ns1.sj1.[182]omniture.com.
+[230]ns1.sj2.[182]omniture.com.
+s7.addthis.com.
+s7.addthis.com.
+[12]s7.addthis.com.
+wildcard.addthis.com.edgekey.net.
+[44]wildcard.addthis.com.edgekey.net.
+e2943.c.akamaiedge.[73]net.
+[90]e2943.c.akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n5c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n8c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n0c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n6c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n1c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n4c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n3c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n2c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n7c.[98]akamaiedge.[73]net.
+[139]n5c.[98]akamaiedge.[73]net.
+[157]n8c.[98]akamaiedge.[73]net.
+[175]n0c.[98]akamaiedge.[73]net.
+[193]n6c.[98]akamaiedge.[73]net.
+[211]n1c.[98]akamaiedge.[73]net.
+[229]n4c.[98]akamaiedge.[73]net.
+[247]n3c.[98]akamaiedge.[73]net.
+[265]n2c.[98]akamaiedge.[73]net.
+[283]n7c.[98]akamaiedge.[73]net.
+csi.gstatic.com.
+csi.gstatic.com.
+[12]csi.gstatic.com.
+csi.l.google.com.
+[45]csi.l.google.com.
+[49]l.google.com.
+d.[49]l.google.com.
+[49]l.google.com.
+e.[49]l.google.com.
+[49]l.google.com.
+f.[49]l.google.com.
+[49]l.google.com.
+g.[49]l.google.com.
+[49]l.google.com.
+b.[49]l.google.com.
+[49]l.google.com.
+a.[49]l.google.com.
+[91]d.[49]l.google.com.
+[107]e.[49]l.google.com.
+[123]f.[49]l.google.com.
+[139]g.[49]l.google.com.
+[155]b.[49]l.google.com.
+[171]a.[49]l.google.com.
+www.thestar.com.
+www.thestar.com.
+[12]www.thestar.com.
+[16]thestar.com.
+ns1.[16]thestar.com.
+[16]thestar.com.
+ns2.[16]thestar.com.
+[61]ns1.[16]thestar.com.
+[79]ns2.[16]thestar.com.
+beacon.scorecardresearch.com.
+beacon.scorecardresearch.com.
+[12]beacon.scorecardresearch.com.
+beacon.gta.scorecardresearch.com.
+[58]beacon.gta.scorecardresearch.com.
+[65]gta.scorecardresearch.com.
+gta01.iad.[69]scorecardresearch.com.
+[65]gta.scorecardresearch.com.
+gta02.ord.[69]scorecardresearch.com.
+[65]gta.scorecardresearch.com.
+gta01.[150]ord.[69]scorecardresearch.com.
+[65]gta.scorecardresearch.com.
+gta02.[126]iad.[69]scorecardresearch.com.
+[120]gta01.iad.[69]scorecardresearch.com.
+[144]gta02.ord.[69]scorecardresearch.com.
+[168]gta01.[150]ord.[69]scorecardresearch.com.
+[188]gta02.[126]iad.[69]scorecardresearch.com.
+media.thestar.topscms.com.
+media.thestar.topscms.com.
+[12]media.thestar.topscms.com.
+media.thestar.topscms.com.edgesuite.net.
+[55]media.thestar.topscms.com.edgesuite.net.
+a1520.g.akamai.[91]net.
+[108]a1520.g.akamai.[91]net.
+[108]a1520.g.akamai.[91]net.
+[114]g.akamai.[91]net.
+n0g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n4g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n2g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n5g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n7g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n6g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n8g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n1g.[116]akamai.[91]net.
+[114]g.akamai.[91]net.
+n3g.[116]akamai.[91]net.
+[169]n0g.[116]akamai.[91]net.
+[187]n4g.[116]akamai.[91]net.
+[205]n2g.[116]akamai.[91]net.
+[223]n5g.[116]akamai.[91]net.
+[241]n7g.[116]akamai.[91]net.
+[259]n6g.[116]akamai.[91]net.
+[277]n8g.[116]akamai.[91]net.
+[295]n1g.[116]akamai.[91]net.
+[313]n3g.[116]akamai.[91]net.
+www.addthis.com.
+www.addthis.com.
+[12]www.addthis.com.
+vp-www.addthis.com.
+[45]vp-www.addthis.com.
+[52]addthis.com.
+eur2.akam.net.
+[52]addthis.com.
+usc1.[98]akam.net.
+[52]addthis.com.
+usc2.[98]akam.net.
+[52]addthis.com.
+usw1.[98]akam.net.
+[52]addthis.com.
+usw6.[98]akam.net.
+[52]addthis.com.
+asia3.[98]akam.net.
+[52]addthis.com.
+ns1-33.[98]akam.net.
+[52]addthis.com.
+ns1-43.[98]akam.net.
+[93]eur2.akam.net.
+[120]usc1.[98]akam.net.
+[139]usc2.[98]akam.net.
+[158]usw1.[98]akam.net.
+[177]usw6.[98]akam.net.
+[196]asia3.[98]akam.net.
+[216]ns1-33.[98]akam.net.
+[237]ns1-43.[98]akam.net.
+n.thestar.com.
+n.thestar.com.
+[12]n.thestar.com.
+thestar.com.122.2o7.net.
+[43]thestar.com.122.2o7.net.
+[43]thestar.com.122.2o7.net.
+[43]thestar.com.122.2o7.net.
+[43]thestar.com.122.2o7.net.
+[43]thestar.com.122.2o7.net.
+[43]thestar.com.122.2o7.net.
+[59]2o7.net.
+ns1.sj1.omniture.com.
+[59]2o7.net.
+ns1.sj2.[184]omniture.com.
+[59]2o7.net.
+ns1.dal.[184]omniture.com.
+[176]ns1.sj1.omniture.com.
+[210]ns1.sj2.[184]omniture.com.
+[232]ns1.dal.[184]omniture.com.
+news.therecord.com.
+news.therecord.com.
+[12]news.therecord.com.
+therecord.com.
+ns1.thestar.[62]com.
+[52]therecord.com.
+ns2.[81]thestar.[62]com.
+[77]ns1.thestar.[62]com.
+[103]ns2.[81]thestar.[62]com.
+media.therecord.topscms.com.
+media.therecord.topscms.com.
+[12]media.therecord.topscms.com.
+media.therecord.topscms.com.edgesuite.net.
+[57]media.therecord.topscms.com.edgesuite.net.
+a847.g.akamai.[95]net.
+[112]a847.g.akamai.[95]net.
+[112]a847.g.akamai.[95]net.
+[117]g.akamai.[95]net.
+n2g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n5g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n7g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n6g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n8g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n1g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n3g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n0g.[119]akamai.[95]net.
+[117]g.akamai.[95]net.
+n4g.[119]akamai.[95]net.
+[172]n2g.[119]akamai.[95]net.
+[190]n5g.[119]akamai.[95]net.
+[208]n7g.[119]akamai.[95]net.
+[226]n6g.[119]akamai.[95]net.
+[244]n8g.[119]akamai.[95]net.
+[262]n1g.[119]akamai.[95]net.
+[280]n3g.[119]akamai.[95]net.
+[298]n0g.[119]akamai.[95]net.
+[316]n4g.[119]akamai.[95]net.
+media.therecord.com.
+www.goldbook.ca.
+media.therecord.com.
+[12]media.therecord.com.
+therecord.com.
+ns2.thestar.[63]com.
+[53]therecord.com.
+ns1.[82]thestar.[63]com.
+[78]ns2.thestar.[63]com.
+[104]ns1.[82]thestar.[63]com.
+www.goldbook.ca.
+[12]www.goldbook.ca.
+goldbook.ca.
+[45]goldbook.ca.
+[45]goldbook.ca.
+ns4.everydns.net.
+[45]goldbook.ca.
+ns1.[90]everydns.net.
+[45]goldbook.ca.
+ns2.[90]everydns.net.
+[45]goldbook.ca.
+ns3.[90]everydns.net.
+[86]ns4.everydns.net.
+[116]ns1.[90]everydns.net.
+[134]ns2.[90]everydns.net.
+[152]ns3.[90]everydns.net.
+torstardigital.122.2o7.net.
+torstardigital.122.2o7.net.
+[12]torstardigital.122.2o7.net.
+[12]torstardigital.122.2o7.net.
+[12]torstardigital.122.2o7.net.
+[12]torstardigital.122.2o7.net.
+[12]torstardigital.122.2o7.net.
+[12]torstardigital.122.2o7.net.
+2o7.net.
+ns1.dal.omniture.com.
+[140]2o7.net.
+ns1.sj1.[167]omniture.com.
+[140]2o7.net.
+ns1.sj2.[167]omniture.com.
+[159]ns1.dal.omniture.com.
+[193]ns1.sj1.[167]omniture.com.
+[215]ns1.sj2.[167]omniture.com.
+news.google.ca.
+news.google.ca.
+[12]news.google.ca.
+news.google.com.
+[44]news.google.com.
+news.l.[49]google.com.
+[73]news.l.[49]google.com.
+[78]l.[49]google.com.
+e.[78]l.[49]google.com.
+[78]l.[49]google.com.
+b.[78]l.[49]google.com.
+[78]l.[49]google.com.
+a.[78]l.[49]google.com.
+[78]l.[49]google.com.
+g.[78]l.[49]google.com.
+[78]l.[49]google.com.
+d.[78]l.[49]google.com.
+[78]l.[49]google.com.
+f.[78]l.[49]google.com.
+[110]e.[78]l.[49]google.com.
+[126]b.[78]l.[49]google.com.
+[142]a.[78]l.[49]google.com.
+[158]g.[78]l.[49]google.com.
+[174]d.[78]l.[49]google.com.
+[190]f.[78]l.[49]google.com.
+googleads.g.doubleclick.net.
+googleads.g.doubleclick.net.
+[12]googleads.g.doubleclick.net.
+pagead.l.doubleclick.net.
+[57]pagead.l.doubleclick.net.
+[64]l.doubleclick.net.
+g.l.google.com.
+[64]l.doubleclick.net.
+a.[113]l.google.com.
+[64]l.doubleclick.net.
+b.[113]l.google.com.
+[64]l.doubleclick.net.
+d.[113]l.google.com.
+[64]l.doubleclick.net.
+e.[113]l.google.com.
+[64]l.doubleclick.net.
+f.[113]l.google.com.
+[111]g.l.google.com.
+[139]a.[113]l.google.com.
+[155]b.[113]l.google.com.
+[171]d.[113]l.google.com.
+[187]e.[113]l.google.com.
+[203]f.[113]l.google.com.
+www.montrealgazette.com.
+www.montrealgazette.com.
+[12]www.montrealgazette.com.
+montrealgazette.com.
+ns2.canwest.[73]com.
+[57]montrealgazette.com.
+ns1.[92]canwest.[73]com.
+[88]ns2.canwest.[73]com.
+[114]ns1.[92]canwest.[73]com.
+a123.g.akamai.net.
+a123.g.akamai.net.
+[12]a123.g.akamai.net.
+[12]a123.g.akamai.net.
+members.canada.com.
+members.canada.com.
+[12]members.canada.com.
+canada.com.
+ns2.canwest.[59]com.
+[52]canada.com.
+ns1.[78]canwest.[59]com.
+[74]ns2.canwest.[59]com.
+[100]ns1.[78]canwest.[59]com.
+www.cbc.ca.
+www.cbc.ca.
+[12]www.cbc.ca.
+www.cbc.ca.edgesuite.net.
+[40]www.cbc.ca.edgesuite.net.
+a1849.gc.akamai.[61]net.
+[78]a1849.gc.akamai.[61]net.
+[78]a1849.gc.akamai.[61]net.
+[84]gc.akamai.[61]net.
+n6gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n1gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n4gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n8gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n2gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n0gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n7gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n5gc.[87]akamai.[61]net.
+[84]gc.akamai.[61]net.
+n3gc.[87]akamai.[61]net.
+[140]n6gc.[87]akamai.[61]net.
+[159]n1gc.[87]akamai.[61]net.
+[178]n4gc.[87]akamai.[61]net.
+[197]n8gc.[87]akamai.[61]net.
+[216]n2gc.[87]akamai.[61]net.
+[235]n0gc.[87]akamai.[61]net.
+[254]n7gc.[87]akamai.[61]net.
+[273]n5gc.[87]akamai.[61]net.
+[292]n3gc.[87]akamai.[61]net.
+a.cbc.ca.
+a.cbc.ca.
+[12]a.cbc.ca.
+ehg-cbc.hitbox.com.
+[38]ehg-cbc.hitbox.com.
+[46]hitbox.com.
+dns06.omniture.[53]com.
+[46]hitbox.com.
+dns05.[92]omniture.[53]com.
+[46]hitbox.com.
+dns04.[92]omniture.[53]com.
+[46]hitbox.com.
+dns03.[92]omniture.[53]com.
+[46]hitbox.com.
+dns02.[92]omniture.[53]com.
+[46]hitbox.com.
+dns01.[92]omniture.[53]com.
+[86]dns06.omniture.[53]com.
+[115]dns05.[92]omniture.[53]com.
+[135]dns04.[92]omniture.[53]com.
+[155]dns03.[92]omniture.[53]com.
+[175]dns02.[92]omniture.[53]com.
+[195]dns01.[92]omniture.[53]com.
+assets.loomia.com.
+assets.loomia.com.
+[12]assets.loomia.com.
+a.[19]loomia.com.
+[47]a.[19]loomia.com.
+[19]loomia.com.
+ns15.dnsmadeeasy.[26]com.
+[19]loomia.com.
+ns14.[84]dnsmadeeasy.[26]com.
+[19]loomia.com.
+ns12.[84]dnsmadeeasy.[26]com.
+[19]loomia.com.
+ns11.[84]dnsmadeeasy.[26]com.
+[19]loomia.com.
+ns13.[84]dnsmadeeasy.[26]com.
+[19]loomia.com.
+ns10.[84]dnsmadeeasy.[26]com.
+recs-social.loomia.com.
+recs-social.loomia.com.
+[12]recs-social.loomia.com.
+rec-assets.[24]loomia.com.
+[52]rec-assets.[24]loomia.com.
+[24]loomia.com.
+ns14.dnsmadeeasy.[31]com.
+[24]loomia.com.
+ns11.[98]dnsmadeeasy.[31]com.
+[24]loomia.com.
+ns12.[98]dnsmadeeasy.[31]com.
+[24]loomia.com.
+ns15.[98]dnsmadeeasy.[31]com.
+[24]loomia.com.
+ns10.[98]dnsmadeeasy.[31]com.
+[24]loomia.com.
+ns13.[98]dnsmadeeasy.[31]com.
+e1.clearspring.com.
+static-cache.loomia.com.
+static-cache.loomia.com.
+[12]static-cache.loomia.com.
+static-cache.loomia.com.edgesuite.net.
+[53]static-cache.loomia.com.edgesuite.net.
+a298.g.akamai.[87]net.
+[104]a298.g.akamai.[87]net.
+[104]a298.g.akamai.[87]net.
+[109]g.akamai.[87]net.
+n4g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n2g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n5g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n7g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n6g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n8g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n1g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n3g.[111]akamai.[87]net.
+[109]g.akamai.[87]net.
+n0g.[111]akamai.[87]net.
+[164]n4g.[111]akamai.[87]net.
+[182]n2g.[111]akamai.[87]net.
+[200]n5g.[111]akamai.[87]net.
+[218]n7g.[111]akamai.[87]net.
+[236]n6g.[111]akamai.[87]net.
+[254]n8g.[111]akamai.[87]net.
+[272]n1g.[111]akamai.[87]net.
+[290]n3g.[111]akamai.[87]net.
+[308]n0g.[111]akamai.[87]net.
+e1.clearspring.com.
+[12]e1.clearspring.com.
+[15]clearspring.com.
+usc2.akam.net.
+[15]clearspring.com.
+usw1.[69]akam.net.
+[15]clearspring.com.
+usw6.[69]akam.net.
+[15]clearspring.com.
+asia3.[69]akam.net.
+[15]clearspring.com.
+ns1-33.[69]akam.net.
+[15]clearspring.com.
+ns1-43.[69]akam.net.
+[15]clearspring.com.
+eur2.[69]akam.net.
+[15]clearspring.com.
+usc1.[69]akam.net.
+csi.gstatic.com.
+csi.gstatic.com.
+[12]csi.gstatic.com.
+csi.l.google.com.
+[45]csi.l.google.com.
+[49]l.google.com.
+b.[49]l.google.com.
+[49]l.google.com.
+e.[49]l.google.com.
+[49]l.google.com.
+d.[49]l.google.com.
+[49]l.google.com.
+a.[49]l.google.com.
+[49]l.google.com.
+f.[49]l.google.com.
+[49]l.google.com.
+g.[49]l.google.com.
+[91]b.[49]l.google.com.
+[107]e.[49]l.google.com.
+[123]d.[49]l.google.com.
+[139]a.[49]l.google.com.
+[155]f.[49]l.google.com.
+[171]g.[49]l.google.com.
+www.gstatic.com.
+www.gstatic.com.
+[12]www.gstatic.com.
+www2.l.google.com.
+[45]www2.l.google.com.
+[50]l.google.com.
+d.[50]l.google.com.
+[50]l.google.com.
+f.[50]l.google.com.
+[50]l.google.com.
+e.[50]l.google.com.
+[50]l.google.com.
+b.[50]l.google.com.
+[50]l.google.com.
+a.[50]l.google.com.
+[50]l.google.com.
+g.[50]l.google.com.
+[92]d.[50]l.google.com.
+[108]f.[50]l.google.com.
+[124]e.[50]l.google.com.
+[140]b.[50]l.google.com.
+[156]a.[50]l.google.com.
+[172]g.[50]l.google.com.
+i.ytimg.com.
+i.ytimg.com.
+[12]i.ytimg.com.
+ytimg.l.google.com.
+[41]ytimg.l.google.com.
+[47]l.google.com.
+b.[47]l.google.com.
+[47]l.google.com.
+a.[47]l.google.com.
+[47]l.google.com.
+g.[47]l.google.com.
+[47]l.google.com.
+d.[47]l.google.com.
+[47]l.google.com.
+f.[47]l.google.com.
+[47]l.google.com.
+e.[47]l.google.com.
+[89]b.[47]l.google.com.
+[105]a.[47]l.google.com.
+[121]g.[47]l.google.com.
+[137]d.[47]l.google.com.
+[153]f.[47]l.google.com.
+[169]e.[47]l.google.com.
+news.bbc.co.uk.
+news.bbc.co.uk.
+[12]news.bbc.co.uk.
+newswww.bbc.net.uk.
+[44]newswww.bbc.net.uk.
+[52]bbc.net.uk.
+ns0.rbsov.bbc.co.[60]uk.
+[52]bbc.net.uk.
+ns0.thdo.[102]bbc.co.[60]uk.
+[92]ns0.rbsov.bbc.co.[60]uk.
+[123]ns0.thdo.[102]bbc.co.[60]uk.
+node1.bbcimg.co.uk.
+node1.bbcimg.co.uk.
+[12]node1.bbcimg.co.uk.
+img.bbc.net.uk.
+[48]img.bbc.net.uk.
+[52]bbc.net.uk.
+ns0.rbsov.bbc.co.[60]uk.
+[52]bbc.net.uk.
+ns0.thdo.[102]bbc.co.[60]uk.
+[92]ns0.rbsov.bbc.co.[60]uk.
+[123]ns0.thdo.[102]bbc.co.[60]uk.
+newsimg.bbc.co.uk.
+newsimg.bbc.co.uk.
+[12]newsimg.bbc.co.uk.
+newsimg.bbc.net.uk.
+[47]newsimg.bbc.net.uk.
+news.bbc.co.uk.edgesuite.net.
+[79]news.bbc.co.uk.edgesuite.net.
+a1733.g.akamai.[104]net.
+[121]a1733.g.akamai.[104]net.
+[121]a1733.g.akamai.[104]net.
+[127]g.akamai.[104]net.
+n7g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n6g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n8g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n1g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n3g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n0g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n4g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n2g.[129]akamai.[104]net.
+[127]g.akamai.[104]net.
+n5g.[129]akamai.[104]net.
+[182]n7g.[129]akamai.[104]net.
+[200]n6g.[129]akamai.[104]net.
+[218]n8g.[129]akamai.[104]net.
+[236]n1g.[129]akamai.[104]net.
+[254]n3g.[129]akamai.[104]net.
+[272]n0g.[129]akamai.[104]net.
+[290]n4g.[129]akamai.[104]net.
+[308]n2g.[129]akamai.[104]net.
+[326]n5g.[129]akamai.[104]net.
+stats.bbc.co.uk.
+stats.bbc.co.uk.
+[12]stats.bbc.co.uk.
+[12]stats.bbc.co.uk.
+bbc.co.uk.
+ns1.thls.[65]bbc.co.uk.
+[65]bbc.co.uk.
+ns1.thdo.[65]bbc.co.uk.
+[65]bbc.co.uk.
+ns1.rbsov.[65]bbc.co.uk.
+[65]bbc.co.uk.
+ns1.[65]bbc.co.uk.
+[86]ns1.thls.[65]bbc.co.uk.
+[109]ns1.thdo.[65]bbc.co.uk.
+[132]ns1.rbsov.[65]bbc.co.uk.
+[156]ns1.[65]bbc.co.uk.
+visualscience.external.bbc.co.uk.
+js.revsci.net.
+visualscience.external.bbc.co.uk.
+[12]visualscience.external.bbc.co.uk.
+csvtm.interactionscience.com.
+[62]csvtm.interactionscience.com.
+[68]interactionscience.com.
+ns1.sj1.omniture.[87]com.
+[68]interactionscience.com.
+ns1.sj2.[128]omniture.[87]com.
+[68]interactionscience.com.
+ns1.dal.[128]omniture.[87]com.
+[120]ns1.sj1.omniture.[87]com.
+[151]ns1.sj2.[128]omniture.[87]com.
+[173]ns1.dal.[128]omniture.[87]com.
+js.revsci.net.
+[12]js.revsci.net.
+[15]revsci.net.
+ns3.p16.dynect.[22]net.
+[15]revsci.net.
+ns4.[63]p16.dynect.[22]net.
+[15]revsci.net.
+ns2.[63]p16.dynect.[22]net.
+[15]revsci.net.
+ns1.[63]p16.dynect.[22]net.
+pix04.revsci.net.
+pix04.revsci.net.
+[12]pix04.revsci.net.
+[18]revsci.net.
+ns4.p16.dynect.[25]net.
+[18]revsci.net.
+ns1.[66]p16.dynect.[25]net.
+[18]revsci.net.
+ns3.[66]p16.dynect.[25]net.
+[18]revsci.net.
+ns2.[66]p16.dynect.[25]net.
+pixel.quantserve.com.
+pixel.quantserve.com.
+[12]pixel.quantserve.com.
+map-pb.quantserve.com.akadns.net.
+[50]map-pb.quantserve.com.akadns.net.
+ac-na.[57]quantserve.com.akadns.net.
+[96]ac-na.[57]quantserve.com.akadns.net.
+[96]ac-na.[57]quantserve.com.akadns.net.
+[96]ac-na.[57]quantserve.com.akadns.net.
+[96]ac-na.[57]quantserve.com.akadns.net.
+[96]ac-na.[57]quantserve.com.akadns.net.
+[96]ac-na.[57]quantserve.com.akadns.net.
+[96]ac-na.[57]quantserve.com.akadns.net.
+[72]akadns.net.
+za.akadns.org.
+[72]akadns.net.
+zb.[231]akadns.org.
+[72]akadns.net.
+zc.[231]akadns.org.
+[72]akadns.net.
+zd.[231]akadns.org.
+[72]akadns.net.
+asia9.[72]akadns.net.
+[72]akadns.net.
+eur1.[72]akadns.net.
+[72]akadns.net.
+use3.[72]akadns.net.
+[72]akadns.net.
+use4.[72]akadns.net.
+[72]akadns.net.
+usw2.[72]akadns.net.
+[228]za.akadns.org.
+[255]zb.[231]akadns.org.
+[272]zc.[231]akadns.org.
+[289]zd.[231]akadns.org.
+[306]asia9.[72]akadns.net.
+[326]eur1.[72]akadns.net.
+[345]use3.[72]akadns.net.
+www.vancouversun.com.
+www.vancouversun.com.
+[12]www.vancouversun.com.
+vancouversun.com.
+ns1.canwest.[67]com.
+[54]vancouversun.com.
+ns2.[86]canwest.[67]com.
+[82]ns1.canwest.[67]com.
+[108]ns2.[86]canwest.[67]com.
+www.scan.nowpublic.com.
+www.scan.nowpublic.com.
+[12]www.scan.nowpublic.com.
+a1.panthercdn.com.
+[52]a1.panthercdn.com.
+[55]panthercdn.com.
+ns1.[55]panthercdn.com.
+[55]panthercdn.com.
+ns2.[55]panthercdn.com.
+[99]ns1.[55]panthercdn.com.
+[117]ns2.[55]panthercdn.com.
+a123.g.akamai.net.
+a123.g.akamai.net.
+[12]a123.g.akamai.net.
+[12]a123.g.akamai.net.
+feeds.theplatform.com.
+canwestglobal.112.2o7.net.
+beacon.securestudies.com.
+canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+[12]canwestglobal.112.2o7.net.
+2o7.net.
+ns1.sj1.omniture.com.
+[155]2o7.net.
+ns1.sj2.[182]omniture.com.
+[155]2o7.net.
+ns1.dal.[182]omniture.com.
+[174]ns1.sj1.omniture.com.
+[208]ns1.sj2.[182]omniture.com.
+[230]ns1.dal.[182]omniture.com.
+beacon.securestudies.com.
+[12]beacon.securestudies.com.
+beacon.gta.securestudies.com.
+[54]beacon.gta.securestudies.com.
+[61]gta.securestudies.com.
+gta02.ord.[65]securestudies.com.
+[61]gta.securestudies.com.
+gta01.iad.[65]securestudies.com.
+[61]gta.securestudies.com.
+gta01.[118]ord.[65]securestudies.com.
+[61]gta.securestudies.com.
+gta02.[142]iad.[65]securestudies.com.
+[112]gta02.ord.[65]securestudies.com.
+[136]gta01.iad.[65]securestudies.com.
+[160]gta01.[118]ord.[65]securestudies.com.
+[180]gta02.[142]iad.[65]securestudies.com.
+feeds.theplatform.com.
+[12]feeds.theplatform.com.
+[18]theplatform.com.
+sea1tpgtm01.[18]theplatform.com.
+[18]theplatform.com.
+bfi1tpgtm01.[18]theplatform.com.
+[67]sea1tpgtm01.[18]theplatform.com.
+[93]bfi1tpgtm01.[18]theplatform.com.
+s7.addthis.com.
+s7.addthis.com.
+[12]s7.addthis.com.
+wildcard.addthis.com.edgekey.net.
+[44]wildcard.addthis.com.edgekey.net.
+e2943.c.akamaiedge.[73]net.
+[90]e2943.c.akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n5c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n8c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n0c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n6c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n1c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n4c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n3c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n2c.[98]akamaiedge.[73]net.
+[96]c.akamaiedge.[73]net.
+n7c.[98]akamaiedge.[73]net.
+[139]n5c.[98]akamaiedge.[73]net.
+[157]n8c.[98]akamaiedge.[73]net.
+[175]n0c.[98]akamaiedge.[73]net.
+[193]n6c.[98]akamaiedge.[73]net.
+[211]n1c.[98]akamaiedge.[73]net.
+[229]n4c.[98]akamaiedge.[73]net.
+[247]n3c.[98]akamaiedge.[73]net.
+[265]n2c.[98]akamaiedge.[73]net.
+[283]n7c.[98]akamaiedge.[73]net.
+ad.doubleclick.net.
+ad.doubleclick.net.
+[12]ad.doubleclick.net.
+dart-ad.l.doubleclick.net.
+[48]dart-ad.l.doubleclick.net.
+[48]dart-ad.l.doubleclick.net.
+[56]l.doubleclick.net.
+g.l.google.com.
+[56]l.doubleclick.net.
+a.[121]l.google.com.
+[56]l.doubleclick.net.
+b.[121]l.google.com.
+[56]l.doubleclick.net.
+d.[121]l.google.com.
+[56]l.doubleclick.net.
+e.[121]l.google.com.
+[56]l.doubleclick.net.
+f.[121]l.google.com.
+[119]g.l.google.com.
+[147]a.[121]l.google.com.
+[163]b.[121]l.google.com.
+[179]d.[121]l.google.com.
+[195]e.[121]l.google.com.
+[211]f.[121]l.google.com.
+*** SUCCESS ***