usac-kit 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +22 -0
- data/README.md +11 -0
- data/lib/kit.rb +6 -0
- data/lib/kit/client.rb +45 -0
- data/lib/kit/date_parser.rb +36 -0
- data/lib/kit/member.rb +76 -0
- data/lib/kit/race.rb +4 -0
- data/lib/kit/table.rb +70 -0
- data/lib/kit/version.rb +3 -0
- data/spec/client_spec.rb +37 -0
- data/spec/date_parser_spec.rb +48 -0
- data/spec/fixtures/1917.full.html +722 -0
- data/spec/fixtures/1917.table.html +544 -0
- data/spec/table_spec.rb +39 -0
- metadata +133 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1ccf42bb7e07b62beea8bb579aa95da01e07bc5a
|
4
|
+
data.tar.gz: cc16ebcbda1a29961d559d3d53c11c59694126ba
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 368ffc366d04a3704edeb100a484c37255a9a6dd85ad135425656770eb039bd972a703ea42e9c52040d2a2ee1411ef178bfd69fd6401b278463392d894c9b78d
|
7
|
+
data.tar.gz: 5b486a3a90f9c04afb5ff6b9642a436ab165517b6585dadfb8ef02ec5ac9e69e1a16b7b11e116f1001631f7277bd1b1c2bc309edb24f2eb361af17551cc171c1
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2017 Brian Cobb
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
data/lib/kit.rb
ADDED
data/lib/kit/client.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'addressable/template'
|
2
|
+
require 'http'
|
3
|
+
require 'kit/member'
|
4
|
+
require 'kit/table'
|
5
|
+
|
6
|
+
module Kit
|
7
|
+
class Client
|
8
|
+
# Creates a new +Client+
|
9
|
+
def initialize
|
10
|
+
@template = Addressable::Template.new(
|
11
|
+
'https://legacy.usacycling.org/results/{?compid}'
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Builds a Table for the given license-holder
|
16
|
+
#
|
17
|
+
# @param license_number [Fixnum] a valid USAC License Number
|
18
|
+
#
|
19
|
+
# @return [Member] the member with the given license number
|
20
|
+
def find(license_number)
|
21
|
+
Kit::Member.from_table(table_for(license_number))
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def table_for(license_number)
|
27
|
+
begin
|
28
|
+
license_number = Integer(license_number)
|
29
|
+
rescue ArgumentError
|
30
|
+
Kit::Table.new(BLANK_PAGE)
|
31
|
+
else
|
32
|
+
Kit::Table.new(raw(license_number))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def raw(license_number)
|
37
|
+
url = @template.expand(compid: Integer(license_number))
|
38
|
+
|
39
|
+
HTTP.get(url).to_s
|
40
|
+
end
|
41
|
+
|
42
|
+
BLANK_PAGE = '<!doctype html><html></html>'.freeze
|
43
|
+
private_constant :BLANK_PAGE
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'date'
|
2
|
+
|
3
|
+
module Kit
|
4
|
+
# Parses dates as they appear in the results table
|
5
|
+
class DateParser
|
6
|
+
# Creates a new +DateParser+
|
7
|
+
def initialize
|
8
|
+
@date_format = '%m/%d/%Y'
|
9
|
+
end
|
10
|
+
|
11
|
+
# Returns the first date, if any, in the given +element+'s text
|
12
|
+
#
|
13
|
+
# @param element [#text] an element with text
|
14
|
+
#
|
15
|
+
# @return [Date] if the given +element+ contains a parseable date
|
16
|
+
# @return [nil] if the given +element+ contains no parseable dates
|
17
|
+
def parse(element)
|
18
|
+
part_with_date = element.text.split(' ').find do |date_string|
|
19
|
+
begin
|
20
|
+
string_to_date(date_string)
|
21
|
+
rescue ArgumentError
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
if part_with_date
|
26
|
+
string_to_date(part_with_date)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def string_to_date(string)
|
33
|
+
Date.strptime(string, @date_format)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/kit/member.rb
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'csv'
|
2
|
+
require 'kit/date_parser'
|
3
|
+
require 'kit/race'
|
4
|
+
|
5
|
+
module Kit
|
6
|
+
# An individual USA Cycling member
|
7
|
+
class Member
|
8
|
+
# Given an HTML table of races, return a +Member+ with that
|
9
|
+
# collection of races
|
10
|
+
#
|
11
|
+
# @param table [Kit::Table]
|
12
|
+
# @return [Kit::Member]
|
13
|
+
def self.from_table(table)
|
14
|
+
date_parser = DateParser.new
|
15
|
+
maybe_content = -> (element) { element.nil? ? nil : element.content }
|
16
|
+
|
17
|
+
races = table.map do |race_row, result_row|
|
18
|
+
[
|
19
|
+
result_row.css('td')[2].content,
|
20
|
+
[
|
21
|
+
race_row.css('a').first.content,
|
22
|
+
maybe_content.call(race_row.css('[title=age]').first)
|
23
|
+
].compact.join(' '),
|
24
|
+
result_row.css('td')[0].content,
|
25
|
+
date_parser.parse(race_row),
|
26
|
+
result_row.css('td').last.content
|
27
|
+
]
|
28
|
+
end.map do |args|
|
29
|
+
Kit::Race.new(*args)
|
30
|
+
end
|
31
|
+
|
32
|
+
new(races)
|
33
|
+
end
|
34
|
+
|
35
|
+
include Enumerable
|
36
|
+
extend Forwardable
|
37
|
+
|
38
|
+
attr_reader :races
|
39
|
+
|
40
|
+
def self.preserve_container_for(*enumerable_methods)
|
41
|
+
enumerable_methods.each do |method_name|
|
42
|
+
define_method(method_name) do |*args, &block|
|
43
|
+
Member.new(races.method(method_name).call(*args, &block))
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
private_class_method :preserve_container_for
|
49
|
+
|
50
|
+
def_delegator :@races, :each
|
51
|
+
preserve_container_for :sort_by, :reverse
|
52
|
+
|
53
|
+
# @param races [Array<Kit::Race>]
|
54
|
+
def initialize(races = [])
|
55
|
+
@races = races
|
56
|
+
end
|
57
|
+
|
58
|
+
# Returns a +Member+ with a collection of races limited to the
|
59
|
+
# given list of years.
|
60
|
+
#
|
61
|
+
# @param years [Array<Fixnum>] a list of one or more years (e.g. 2010)
|
62
|
+
# @return [Kit::Member]
|
63
|
+
def limited_to(years)
|
64
|
+
selected_races = years.reduce([]) do |races, year|
|
65
|
+
lower = Date.strptime("#{year}-01-01")
|
66
|
+
upper = Date.strptime("#{Integer(year) + 1}-01-01")
|
67
|
+
|
68
|
+
races | @races.select do |race|
|
69
|
+
race.date >= lower && race.date < upper
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
self.class.new(selected_races)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
data/lib/kit/race.rb
ADDED
data/lib/kit/table.rb
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'kit/date_parser'
|
2
|
+
require 'nokogiri'
|
3
|
+
|
4
|
+
module Kit
|
5
|
+
# Wraps the results table HTML. It iterates over each race-result
|
6
|
+
# pair, and exposes the table's column headings.
|
7
|
+
class Table
|
8
|
+
include Enumerable
|
9
|
+
|
10
|
+
# Creates a new +Table+
|
11
|
+
#
|
12
|
+
# @param html [String] the raw HTML which contains a results table
|
13
|
+
def initialize(html)
|
14
|
+
@html = Nokogiri::HTML(html)
|
15
|
+
@date_parser = DateParser.new
|
16
|
+
end
|
17
|
+
|
18
|
+
# Yields each race-result pair from the table
|
19
|
+
#
|
20
|
+
# @yieldparam race_row [Nokogiri::XML::Element] the row which has the race
|
21
|
+
# data
|
22
|
+
# @yieldparam result_row [Nokogiri::XML::Element] the row which has the
|
23
|
+
# result data
|
24
|
+
def each(&block)
|
25
|
+
race_rows.each { |race_row, result_row| block.call(race_row, result_row) }
|
26
|
+
end
|
27
|
+
|
28
|
+
# Returns a lightly-sanitized list of column headings
|
29
|
+
#
|
30
|
+
# @return [Array<String>]
|
31
|
+
def headings
|
32
|
+
headings_row.css('th').map { |th| th.text.scan(/\w|\s|#/).join }
|
33
|
+
end
|
34
|
+
|
35
|
+
# Returns an HTML document which only contains the table of race data
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
def to_html
|
39
|
+
if race_rows.any?
|
40
|
+
content = headings_row.to_html + race_rows.flatten.map(&:to_html).join
|
41
|
+
else
|
42
|
+
content = nil
|
43
|
+
end
|
44
|
+
|
45
|
+
Nokogiri::HTML("<table>#{content}</table>").to_html
|
46
|
+
end
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
def race_rows
|
51
|
+
@_race_rows ||= @html.css('tr').select(&method(:has_date?)).map do |tr|
|
52
|
+
sibling = tr.next_sibling
|
53
|
+
|
54
|
+
until sibling.name == 'tr'
|
55
|
+
sibling = sibling.next_sibling
|
56
|
+
end
|
57
|
+
|
58
|
+
[tr, sibling]
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def headings_row
|
63
|
+
@_headings_row ||= @html.css('th').first.parent
|
64
|
+
end
|
65
|
+
|
66
|
+
def has_date?(tr)
|
67
|
+
@date_parser.parse(tr)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
data/lib/kit/version.rb
ADDED
data/spec/client_spec.rb
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'kit'
|
2
|
+
|
3
|
+
describe Kit::Client do
|
4
|
+
|
5
|
+
it 'returns a table with some elements given a valid license number' do
|
6
|
+
client = Kit::Client.new
|
7
|
+
|
8
|
+
table = client.find(1917)
|
9
|
+
|
10
|
+
expect(table.count > 0).to eql(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'returns a table with no elements given a person who has not raced' do
|
14
|
+
client = Kit::Client.new
|
15
|
+
|
16
|
+
table = client.find(1918)
|
17
|
+
|
18
|
+
expect(table.none?).to eql(true)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'returns a table with no elements given a junk license number' do
|
22
|
+
client = Kit::Client.new
|
23
|
+
|
24
|
+
table = client.find('abcdef')
|
25
|
+
|
26
|
+
expect(table.none?).to eql(true)
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'returns a table with no elements given a non-existent license number' do
|
30
|
+
client = Kit::Client.new
|
31
|
+
|
32
|
+
table = client.find('1111111111')
|
33
|
+
|
34
|
+
expect(table.none?).to eql(true)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'kit'
|
2
|
+
|
3
|
+
describe Kit::DateParser do
|
4
|
+
let(:row_class) { Struct.new(:text) }
|
5
|
+
|
6
|
+
it 'does not parse empty strings' do
|
7
|
+
row = row_class.new('')
|
8
|
+
parser = Kit::DateParser.new
|
9
|
+
|
10
|
+
expect(parser.parse(row)).to be_nil
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'grabs the first date in a chunk of text' do
|
14
|
+
row = row_class.new('snarfle 01/01/2014 02/02/2014')
|
15
|
+
parser = Kit::DateParser.new
|
16
|
+
|
17
|
+
expect(parser.parse(row)).to eql(Date.strptime('01/01/2014', '%m/%d/%Y'))
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'will not grab incorrectly formatted dates' do
|
21
|
+
row = row_class.new('snarfle 1-1-2014 2014-02-01')
|
22
|
+
parser = Kit::DateParser.new
|
23
|
+
|
24
|
+
expect(parser.parse(row)).to be_nil
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'will skip bad formats' do
|
28
|
+
row = row_class.new('snarfle 02-02-2014 01/01/2014')
|
29
|
+
parser = Kit::DateParser.new
|
30
|
+
|
31
|
+
expect(parser.parse(row)).to eql(Date.strptime('01/01/2014', '%m/%d/%Y'))
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'will not parse invalid dates with the correct format' do
|
35
|
+
row = row_class.new('snarfle 02/29/2014')
|
36
|
+
parser = Kit::DateParser.new
|
37
|
+
|
38
|
+
expect(parser.parse(row)).to be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'seriously does not care if the whole thing is void of any date' do
|
42
|
+
row = row_class.new('snarfle dorfle farfle')
|
43
|
+
parser = Kit::DateParser.new
|
44
|
+
|
45
|
+
expect(parser.parse(row)).to be_nil
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,722 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<title>The Official Website - USA Cycling</title>
|
6
|
+
<meta property="og:image" content="https://www.usacycling.org/images/USAC-logo.png" />
|
7
|
+
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.usacycling.org/rss/headlines.rss" />
|
8
|
+
<link rel="image_src" type="image/png" href="https://www.usacycling.org/images/USAC-logo.png" />
|
9
|
+
|
10
|
+
|
11
|
+
<meta name="keywords" content="bicycle, cycling, bicycling, usa, olympic, USA Cycling, USCF, US Cycling, USAC, United States Cycling Federation, biker, BMX, MTB, cyclocross, Bike Racing, mountain bike, mountain biker, bike, biking, tour de france, world championships"/>
|
12
|
+
<meta name="description" content="USA Cycling is the official cycling organization recognized by the International Olympic Committee (IOC), the United States Olympic Committee (USOC) and the International Cycling Union (UCI), and is responsible for identifying, training, and selecting cyclists to represent the United States in international competition."/>
|
13
|
+
<meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline EN v2.0" l gen true for "http://www.usacycling.org" r (nz 1 vz 1 lz 1 oz 1 cz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.usacycling.org" r (n 0 s 0 v 0 l 0))'/>
|
14
|
+
<link rel="alternate" type="application/rss+xml" title="USA Cycling News Headlines [RSS]" href="http://www.usacycling.org/rss/headlines.rss"/>
|
15
|
+
<link rel="alternate" type="application/rss+xml" title="USA Cycling Mountain News [RSS]" href="http://www.usacycling.org/rss/mtb.rss"/>
|
16
|
+
<link rel="alternate" type="application/rss+xml" title="USA Cycling Road News [RSS]" href="http://www.usacycling.org/rss/road.rss"/>
|
17
|
+
<link rel="alternate" type="application/rss+xml" title="USA Cycling Track News [RSS]" href="http://www.usacycling.org/rss/track.rss"/>
|
18
|
+
<link rel="alternate" type="application/rss+xml" title="USA Cycling Cyclo-cross News [RSS]" href="http://www.usacycling.org/rss/cyclocross.rss"/>
|
19
|
+
<link rel="alternate" type="application/rss+xml" title="USA Cycling Collegiate News [RSS]" href="http://www.usacycling.org/rss/collegiate.rss"/>
|
20
|
+
<link href="/css/reset-context-min.css" rel="stylesheet" type="text/css" />
|
21
|
+
|
22
|
+
<link rel="icon" href="/favicon.ico?" />
|
23
|
+
<link rel="stylesheet" type="text/css" href="/css/print.css" media="print" />
|
24
|
+
<link href="/css/2015/usacstyle.css" rel="stylesheet" type="text/css" media="screen" />
|
25
|
+
<link href="/css/2015/navigation.css" rel="stylesheet" type="text/css" media="screen" />
|
26
|
+
<link href="/css/2015/webkit.css" rel="stylesheet" type="text/css" />
|
27
|
+
|
28
|
+
<link href="/templates/default/style.css" rel="stylesheet" type="text/css" media="screen" />
|
29
|
+
<link rel="stylesheet" href="/css/widgets.css" media="screen"/>
|
30
|
+
|
31
|
+
<link rel="stylesheet" type="text/css" href="/css/2015/style.css"/>
|
32
|
+
<script src="//use.typekit.net/bac6kmi.js"></script>
|
33
|
+
<script>try{Typekit.load();}catch(e){}</script>
|
34
|
+
|
35
|
+
<link href="/css/2015/theme/jquery-ui.css" rel="stylesheet" type="text/css" />
|
36
|
+
<script type="text/javascript" src="/js/2015/jquery.js"></script>
|
37
|
+
<script type="text/javascript" src="/js/2015/jquery-ui.min.js"></script>
|
38
|
+
|
39
|
+
<script type="text/javascript" src="/js/jQuery.hoverIntent.js"></script>
|
40
|
+
<script type="text/javascript" src="/js/2015/header.js"></script>
|
41
|
+
<script type="text/javascript" src="/js/jquery.alphanumeric.pack.js"></script>
|
42
|
+
|
43
|
+
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
44
|
+
|
45
|
+
<script type='text/javascript'>var memberLogin = false;</script>
|
46
|
+
|
47
|
+
<script type="text/javascript" src="/results/common.js"></script>
|
48
|
+
|
49
|
+
|
50
|
+
<script type="text/javascript">
|
51
|
+
$(function(){
|
52
|
+
$('input.address').alphanumeric({allow:" "});
|
53
|
+
$('input.alpha').alpha();
|
54
|
+
$('input.alphad').alpha({allow:"."});
|
55
|
+
$('input.alphanumeric').alphanumeric();
|
56
|
+
$('input.alphanumericdw').alphanumeric({allow:". "});
|
57
|
+
$('input.email').alphanumeric({allow:"@._-+"});
|
58
|
+
$('input.numeric').numeric();
|
59
|
+
$('input.moneyamt').numeric({allow:"."});
|
60
|
+
$('input.phone').numeric({allow:"()-. "});
|
61
|
+
$('input.zipcode').numeric({allow:"-"});
|
62
|
+
$('input.noquotes').alphanumeric({ichars:'"'});
|
63
|
+
});
|
64
|
+
</script>
|
65
|
+
|
66
|
+
<link href="/results/results.css" rel="stylesheet" type="text/css" media="screen" />
|
67
|
+
|
68
|
+
</head>
|
69
|
+
<body>
|
70
|
+
<!-- Google Tag Manager -->
|
71
|
+
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5VTJMX"
|
72
|
+
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
73
|
+
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
74
|
+
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
75
|
+
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
76
|
+
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
77
|
+
})(window,document,'script','dataLayer','GTM-5VTJMX');</script>
|
78
|
+
<!-- End Google Tag Manager -->
|
79
|
+
|
80
|
+
<div id="wrapper">
|
81
|
+
<div id="genericDialog"></div>
|
82
|
+
<div id="spread">
|
83
|
+
<div id="header">
|
84
|
+
<div id='usaclogo'><a href='https://www.usacycling.org' title='USA Cycling Homepage'><img src='/images/USAC-logo.png' alt='USA Cycling Inc.' style="height:70px;"/></a></div>
|
85
|
+
<div id="navcontainer">
|
86
|
+
<div id="headerbottom">
|
87
|
+
<div id="navigation">
|
88
|
+
<ul id="topnav" >
|
89
|
+
<li style="color:#031e41; font-weight:bold; font-family:helvetica; font-size:10px;">GET INVOLVED
|
90
|
+
<div id='membership_sub' class='sub'>
|
91
|
+
<div class='subcontainer'>
|
92
|
+
<div class='table-row' >
|
93
|
+
<div id="membership" class='table-cell' >
|
94
|
+
<ul id="membership_menu">
|
95
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
96
|
+
<a href='https://register.usacycling.org/#!/c/race'>
|
97
|
+
<span class="menu_item">Race Membership</span>
|
98
|
+
</a>
|
99
|
+
</li>
|
100
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
101
|
+
<a href='https://register.usacycling.org/#!/c/ride'>
|
102
|
+
<span class="menu_item">Ride Membership</span>
|
103
|
+
</a>
|
104
|
+
</li>
|
105
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
106
|
+
<a href='http://www.usacycling.org/get-involved/support-role'>
|
107
|
+
<span class="menu_item">Officials & Coaches</span>
|
108
|
+
</a>
|
109
|
+
</li>
|
110
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
111
|
+
<a href='http://www.usacycling.org/get-involved/college'>
|
112
|
+
<span class="menu_item">Collegiate</span>
|
113
|
+
</a>
|
114
|
+
</li>
|
115
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
116
|
+
<a href='http://www.usacycling.org/get-involved/benefits/'>
|
117
|
+
<span class="menu_item">Member Benefits</span>
|
118
|
+
</a>
|
119
|
+
</li>
|
120
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
121
|
+
<a href=' http://legacy.usacycling.org/clubs/clubsearch.php'>
|
122
|
+
<span class="menu_item">Find A Club</span>
|
123
|
+
</a>
|
124
|
+
</li>
|
125
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
126
|
+
<a href=' https://register.usacycling.org/#!/events/merchandise/store'>
|
127
|
+
<span class="menu_item">Shop</span>
|
128
|
+
</a>
|
129
|
+
</li>
|
130
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
131
|
+
<a href='http://www.usacycling.org/get-involved/find-support/'>
|
132
|
+
<span class="menu_item">Get Started Racing</span>
|
133
|
+
</a>
|
134
|
+
</li>
|
135
|
+
</ul>
|
136
|
+
</div>
|
137
|
+
</div>
|
138
|
+
</div>
|
139
|
+
</div>
|
140
|
+
</li>
|
141
|
+
<li style="color:#031e41; font-weight:bold; font-family:helvetica; font-size:10px;">EVENT FINDER
|
142
|
+
<div id='event_sub' class='sub'>
|
143
|
+
<div class='subcontainer'>
|
144
|
+
<div class='table-row' >
|
145
|
+
<div id="events" class='table-cell' >
|
146
|
+
<ul id="events_menu" style="margin-top:30px;">
|
147
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
148
|
+
<a href='http://www.usacycling.org/events'>
|
149
|
+
<span class="menu_item">Search Events</span>
|
150
|
+
</a>
|
151
|
+
</li>
|
152
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
153
|
+
<a href='https://legacy.usacycling.org/events/rr.php'>
|
154
|
+
<span class="menu_item">Results & Rankings</span>
|
155
|
+
</a>
|
156
|
+
</li>
|
157
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
158
|
+
<a href='https://legacy.usacycling.org/national-championships'>
|
159
|
+
<span class="menu_item">National Championships</span>
|
160
|
+
</a>
|
161
|
+
</li>
|
162
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
163
|
+
<a href='http://www.usacycling.org/find-event/national-calendars'>
|
164
|
+
<span class="menu_item">National Calendars</span>
|
165
|
+
</a>
|
166
|
+
</li>
|
167
|
+
</ul>
|
168
|
+
</div>
|
169
|
+
</div>
|
170
|
+
</div>
|
171
|
+
</div>
|
172
|
+
</li>
|
173
|
+
<li style="color:#031e41; font-weight:bold; font-family:helvetica; font-size:10px;">RACE DIRECTOR
|
174
|
+
<div id='rd_sub' class='sub'>
|
175
|
+
<div class='subcontainer'>
|
176
|
+
<div class='table-row' >
|
177
|
+
<div id="race_director" class='table-cell' >
|
178
|
+
<ul id="rd_menu" style="margin-top:30px;">
|
179
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
180
|
+
<a href='http://www.usacycling.org/run-an-event/why-usa-cycling'>
|
181
|
+
<span class="menu_item">Why USA Cycling</span>
|
182
|
+
</a>
|
183
|
+
</li>
|
184
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
185
|
+
<a href='http://www.usacycling.org/run-an-event/benefits-of-permitting'>
|
186
|
+
<span class="menu_item">Permitting</span>
|
187
|
+
</a>
|
188
|
+
</li>
|
189
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
190
|
+
<a href='http://www.usacycling.org/run-an-event/resources'>
|
191
|
+
<span class="menu_item">Resources</span>
|
192
|
+
</a>
|
193
|
+
</li>
|
194
|
+
</ul>
|
195
|
+
</div>
|
196
|
+
</div>
|
197
|
+
</div>
|
198
|
+
</div>
|
199
|
+
</li>
|
200
|
+
<li style="color:#031e41; font-weight:bold; font-family:helvetica; font-size:10px;">FOUNDATION
|
201
|
+
<div id='foundation_sub' class='sub'>
|
202
|
+
<div class='subcontainer'>
|
203
|
+
<div class='table-row' >
|
204
|
+
<div id="foundation" class='table-cell' >
|
205
|
+
<ul id="foundation_menu" style="margin-top:30px;">
|
206
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
207
|
+
<a href='http://www.usacycling.org/foundation/centers-of-excellence'>
|
208
|
+
<span class="menu_item">Centers of Excellence</span>
|
209
|
+
</a>
|
210
|
+
</li>
|
211
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
212
|
+
<a href='http://www.usacycling.org/foundation/travel-training'>
|
213
|
+
<span class="menu_item">Travel & Training Grants</span>
|
214
|
+
</a>
|
215
|
+
</li>
|
216
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
217
|
+
<a href='http://www.usacycling.org/foundation/college-scholarships'>
|
218
|
+
<span class="menu_item">College Scholarships</span>
|
219
|
+
</a>
|
220
|
+
</li>
|
221
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
222
|
+
<a href='http://www.usacycling.org/foundation/donate'>
|
223
|
+
<span class="menu_item">Donate</span>
|
224
|
+
</a>
|
225
|
+
</li>
|
226
|
+
</ul>
|
227
|
+
</div>
|
228
|
+
</div>
|
229
|
+
</div>
|
230
|
+
</div>
|
231
|
+
</li>
|
232
|
+
<li style="color:#031e41; font-weight:bold; font-family:helvetica; font-size:10px;">TEAM USA
|
233
|
+
<div id='team_sub' class='sub' >
|
234
|
+
<div class='subcontainer' >
|
235
|
+
<div class='table-row' >
|
236
|
+
<div id="team" class='table-cell'>
|
237
|
+
<ul id="team_menu" style="margin-top:30px; background-color:#031e41; width:200px;">
|
238
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
239
|
+
<a href='http://www.usacycling.org/team/athlete-development'>
|
240
|
+
<span class="menu_item">Athlete Development</span>
|
241
|
+
</a>
|
242
|
+
</li>
|
243
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
244
|
+
<a href='http://www.usacycling.org/team/international-events'>
|
245
|
+
<span class="menu_item">International Events</span>
|
246
|
+
</a>
|
247
|
+
</li>
|
248
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
249
|
+
<a href='http://www.usacycling.org/team/bmx'>
|
250
|
+
<span class="menu_item">BMX</span>
|
251
|
+
</a>
|
252
|
+
</li>
|
253
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
254
|
+
<a href='http://www.usacycling.org/team/bmx-freestyle'>
|
255
|
+
<span class="menu_item">BMX Freestyle</span>
|
256
|
+
</a>
|
257
|
+
</li>
|
258
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
259
|
+
<a href='http://www.usacycling.org/team/cyclocross'>
|
260
|
+
<span class="menu_item">Cyclocross</span>
|
261
|
+
</a>
|
262
|
+
</li>
|
263
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
264
|
+
<a href='http://www.usacycling.org/team/mountain-bike'>
|
265
|
+
<span class="menu_item">Mountain Bike</span>
|
266
|
+
</a>
|
267
|
+
</li>
|
268
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
269
|
+
<a href='http://www.usacycling.org/team/road'>
|
270
|
+
<span class="menu_item">Road</span>
|
271
|
+
</a>
|
272
|
+
</li>
|
273
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
274
|
+
<a href='http://www.usacycling.org/team/track'>
|
275
|
+
<span class="menu_item">Track</span>
|
276
|
+
</a>
|
277
|
+
</li>
|
278
|
+
</ul>
|
279
|
+
</div>
|
280
|
+
</div>
|
281
|
+
</div>
|
282
|
+
</div>
|
283
|
+
</li>
|
284
|
+
<li style="color:#031e41; font-weight:bold; font-family:helvetica; font-size:10px;">RESOURCES
|
285
|
+
<div id='resources_sub' class='sub'>
|
286
|
+
<div class='subcontainer'>
|
287
|
+
<div class='table-row' >
|
288
|
+
<div id="resources" class='table-cell' >
|
289
|
+
<ul id="resources_menu" style="margin-top:30px; background-color:#031e41; width:200px;">
|
290
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
291
|
+
<a href='http://www.usacycling.org/resources/rulebook'>
|
292
|
+
<span class="menu_item">Rules & Policies</span>
|
293
|
+
</a>
|
294
|
+
</li>
|
295
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
296
|
+
<a href='http://www.usacycling.org/resources/upgrades'>
|
297
|
+
<span class="menu_item">Upgrades</span>
|
298
|
+
</a>
|
299
|
+
</li>
|
300
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
301
|
+
<a href='http://www.usacycling.org/local-associations'>
|
302
|
+
<span class="menu_item">Local Associations</span>
|
303
|
+
</a>
|
304
|
+
</li>
|
305
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
306
|
+
<a href='https://legacy.usacycling.org/coaches/CoachWaiver.php?url=story.php?id=95'>
|
307
|
+
<span class="menu_item">Find A Coach</span>
|
308
|
+
</a>
|
309
|
+
</li>
|
310
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
311
|
+
<a href='http://www.usacycling.org/resources/insurance'>
|
312
|
+
<span class="menu_item">Insurance Information</span>
|
313
|
+
</a>
|
314
|
+
</li>
|
315
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
316
|
+
<a href='http://www.usacycling.org/resources/race-clean'>
|
317
|
+
<span class="menu_item">RaceClean</span>
|
318
|
+
</a>
|
319
|
+
</li>
|
320
|
+
<li style="height:30px;" onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">
|
321
|
+
<a href='http://www.usacycling.org/resources/safesport'>
|
322
|
+
<span class="menu_item">SafeSport</span>
|
323
|
+
</a>
|
324
|
+
</li>
|
325
|
+
</ul>
|
326
|
+
</div>
|
327
|
+
</div>
|
328
|
+
</div>
|
329
|
+
</div>
|
330
|
+
</li>
|
331
|
+
</ul>
|
332
|
+
</div>
|
333
|
+
<div style="float:right; height:40px; width:300px; text-align:right; vertical-align: middle;">
|
334
|
+
<div style="display:table-cell; text-align:center; vertical-align: middle; width:80px; height:30px; background-color:#031e41; color:#FFF; font-size:14px;">
|
335
|
+
<a href="http://www.usacycling.org/user-login">
|
336
|
+
<span style="color:#FFF;">LOG IN</span>
|
337
|
+
</a>
|
338
|
+
</div>
|
339
|
+
<div style="display:table-cell; width:50px; height:30px;"><a href="http://legacy.usacycling.org/sitesearch.php" border="0"><img src="/includes/images/search-icon.png"/></a></div>
|
340
|
+
</div>
|
341
|
+
</div>
|
342
|
+
</div>
|
343
|
+
</div><!-- End Header -->
|
344
|
+
|
345
|
+
<div id="mainContent"><div id="pageContent" class="whitepanel"><div id="pgcontent" class="onecol"><img src='/images/results-header.jpg' alt='USA Cycling Results and Rankings'/><div id='resultsmain'> <br><form id='filterform' method='GET' action='/results/index.php'>
|
346
|
+
<input type='hidden' name='compid' value='1917'>
|
347
|
+
<table border='0' cellspacing='0' align=center>
|
348
|
+
<tr><td colspan='8' align='center'><b>Race Results for Lance Armstrong<br></b><b>Racing Age 46 from Austin, TX</b><br><br></td></tr><tr><td colspan='8' align='center'><select name='view' onchange='this.form.submit()'><option value='' selected>All Events</option><option value='usac' >National Championships</option><option value='champ' >Other Championships</option></select></td></tr> <tr class="tablecolumnheading"><th>Place</th>
|
349
|
+
<th>Points </th>
|
350
|
+
<th>Name </th>
|
351
|
+
<th>USAC # </th>
|
352
|
+
<th>Time </th>
|
353
|
+
<th>Bib </th>
|
354
|
+
<th>Team</th></tr> <tr><td colspan='8'> </td></tr>
|
355
|
+
<tr bgcolor='F3F3F3'>
|
356
|
+
<td colspan='7' class='homearticlebody'>
|
357
|
+
<span class='homearticleheader'>07/31/2011 - <a href='?permit=2011-2624'>Leadville Qualifying Series-Crested Butte</a></span>
|
358
|
+
| <span title='discipline'>CM</span> </td></tr>
|
359
|
+
<tr class='homearticlebody'>
|
360
|
+
<td>DQ / 188</td><td>-</td>
|
361
|
+
<td>Lance Armstrong</td><td>1917</td>
|
362
|
+
<td>4:32:21.31</td><td></td>
|
363
|
+
<td></td></tr> <tr><td colspan='8'> </td></tr>
|
364
|
+
<tr bgcolor='F3F3F3'>
|
365
|
+
<td colspan='7' class='homearticlebody'>
|
366
|
+
<span class='homearticleheader'>07/31/2011 - <a href='?permit=2011-2624'>Leadville Qualifying Series-Crested Butte</a></span>
|
367
|
+
| <span title='discipline'>CM</span> </td></tr>
|
368
|
+
<tr class='homearticlebody'>
|
369
|
+
<td>DQ / 169</td><td>-</td>
|
370
|
+
<td>LANCE ARMSTRONG</td><td>1917</td>
|
371
|
+
<td>4:32:21.31</td><td></td>
|
372
|
+
<td></td></tr> <tr><td colspan='8'> </td></tr>
|
373
|
+
<tr bgcolor='F3F3F3'>
|
374
|
+
<td colspan='7' class='homearticlebody'>
|
375
|
+
<span class='homearticleheader'>05/18/2010 - <a href='?permit=2010-1531'>Amgen Tour of California</a></span>
|
376
|
+
| <span title='discipline'>Stage Race</span> </td></tr>
|
377
|
+
<tr class='homearticlebody'>
|
378
|
+
<td>DQ / 124</td><td>-</td>
|
379
|
+
<td>Lance Armstrong</td><td>1917</td>
|
380
|
+
<td></td><td></td>
|
381
|
+
<td></td></tr> <tr><td colspan='8'> </td></tr>
|
382
|
+
<tr bgcolor='F3F3F3'>
|
383
|
+
<td colspan='7' class='homearticlebody'>
|
384
|
+
<span class='homearticleheader'>05/17/2010 - <a href='?permit=2010-1531'>Amgen Tour of California</a></span>
|
385
|
+
| <span title='discipline'>Stage Race</span> </td></tr>
|
386
|
+
<tr class='homearticlebody'>
|
387
|
+
<td>DQ / 125</td><td>-</td>
|
388
|
+
<td>Lance Armstrong</td><td>1917</td>
|
389
|
+
<td></td><td></td>
|
390
|
+
<td></td></tr> <tr><td colspan='8'> </td></tr>
|
391
|
+
<tr bgcolor='F3F3F3'>
|
392
|
+
<td colspan='7' class='homearticlebody'>
|
393
|
+
<span class='homearticleheader'>05/16/2010 - <a href='?permit=2010-1531'>Amgen Tour of California</a></span>
|
394
|
+
| <span title='discipline'>Stage Race</span> </td></tr>
|
395
|
+
<tr class='homearticlebody'>
|
396
|
+
<td>DQ / 127</td><td>-</td>
|
397
|
+
<td>Lance Armstrong</td><td>1917</td>
|
398
|
+
<td></td><td></td>
|
399
|
+
<td></td></tr> <tr><td colspan='8'> </td></tr>
|
400
|
+
<tr bgcolor='F3F3F3'>
|
401
|
+
<td colspan='7' class='homearticlebody'>
|
402
|
+
<span class='homearticleheader'>05/02/2010 - <a href='?permit=2010-1076'>SRAM Tour of the Gila</a></span>
|
403
|
+
| <span title='discipline'>STR</span> </td></tr>
|
404
|
+
<tr class='homearticlebody'>
|
405
|
+
<td>DQ / 107</td><td>-</td>
|
406
|
+
<td>Lance Armstrong</td><td>1917</td>
|
407
|
+
<td>13:53:58</td><td></td>
|
408
|
+
<td>Team Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
409
|
+
<tr bgcolor='F3F3F3'>
|
410
|
+
<td colspan='7' class='homearticlebody'>
|
411
|
+
<span class='homearticleheader'>05/02/2010 - <a href='?permit=2010-1076'>SRAM Tour of the Gila</a></span>
|
412
|
+
| <span title='discipline'>RR</span> </td></tr>
|
413
|
+
<tr class='homearticlebody'>
|
414
|
+
<td>DQ / 107</td><td>-</td>
|
415
|
+
<td>Lance Armstrong</td><td>1917</td>
|
416
|
+
<td>4:28:57</td><td></td>
|
417
|
+
<td>Team Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
418
|
+
<tr bgcolor='F3F3F3'>
|
419
|
+
<td colspan='7' class='homearticlebody'>
|
420
|
+
<span class='homearticleheader'>05/01/2010 - <a href='?permit=2010-1076'>SRAM Tour of the Gila</a></span>
|
421
|
+
| <span title='discipline'>CRIT</span> </td></tr>
|
422
|
+
<tr class='homearticlebody'>
|
423
|
+
<td>DQ / 157</td><td>-</td>
|
424
|
+
<td>Lance Armstrong</td><td>1917</td>
|
425
|
+
<td>1:33:20</td><td></td>
|
426
|
+
<td>Team Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
427
|
+
<tr bgcolor='F3F3F3'>
|
428
|
+
<td colspan='7' class='homearticlebody'>
|
429
|
+
<span class='homearticleheader'>04/30/2010 - <a href='?permit=2010-1076'>SRAM Tour of the Gila</a></span>
|
430
|
+
| <span title='discipline'>ITT</span> </td></tr>
|
431
|
+
<tr class='homearticlebody'>
|
432
|
+
<td>DQ / 167</td><td>-</td>
|
433
|
+
<td>Lance Armstrong</td><td>1917</td>
|
434
|
+
<td>0:35:59</td><td></td>
|
435
|
+
<td>Team Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
436
|
+
<tr bgcolor='F3F3F3'>
|
437
|
+
<td colspan='7' class='homearticlebody'>
|
438
|
+
<span class='homearticleheader'>04/29/2010 - <a href='?permit=2010-1076'>SRAM Tour of the Gila</a></span>
|
439
|
+
| <span title='discipline'>RR</span> </td></tr>
|
440
|
+
<tr class='homearticlebody'>
|
441
|
+
<td>DQ / 173</td><td>-</td>
|
442
|
+
<td>Lance Armstrong</td><td>1917</td>
|
443
|
+
<td>3:25:38</td><td></td>
|
444
|
+
<td>Team Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
445
|
+
<tr bgcolor='F3F3F3'>
|
446
|
+
<td colspan='7' class='homearticlebody'>
|
447
|
+
<span class='homearticleheader'>04/28/2010 - <a href='?permit=2010-1076'>SRAM Tour of the Gila</a></span>
|
448
|
+
| <span title='discipline'>RR</span> </td></tr>
|
449
|
+
<tr class='homearticlebody'>
|
450
|
+
<td>22 / 178</td><td>-</td>
|
451
|
+
<td>Lance Armstrong</td><td>1917</td>
|
452
|
+
<td>3:50:04</td><td></td>
|
453
|
+
<td>Team Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
454
|
+
<tr bgcolor='F3F3F3'>
|
455
|
+
<td colspan='7' class='homearticlebody'>
|
456
|
+
<span class='homearticleheader'>01/31/2010 - <a href='?permit=2010-76'>Miles of DisComfort</a></span>
|
457
|
+
| <span title='discipline'>CM</span> </td></tr>
|
458
|
+
<tr class='homearticlebody'>
|
459
|
+
<td>DQ / 19</td><td>-</td>
|
460
|
+
<td>Lance Armstrong</td><td>1917</td>
|
461
|
+
<td>4:28:2.00</td><td>1</td>
|
462
|
+
<td>Team RadioShack</td></tr> <tr><td colspan='8'> </td></tr>
|
463
|
+
<tr bgcolor='F3F3F3'>
|
464
|
+
<td colspan='7' class='homearticlebody'>
|
465
|
+
<span class='homearticleheader'>11/23/2009 - <a href='?permit=2009-2932'>2009 Mellow Johnnys Classic at Juan Pelotas Ranch</a></span>
|
466
|
+
| <span title='discipline'>XC</span> | <span title='age'>0-99</span> </td></tr>
|
467
|
+
<tr class='homearticlebody'>
|
468
|
+
<td>DQ / 53</td><td>-</td>
|
469
|
+
<td>Lance Armstrong</td><td>1917</td>
|
470
|
+
<td>DNF</td><td>7</td>
|
471
|
+
<td>Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
472
|
+
<tr bgcolor='F3F3F3'>
|
473
|
+
<td colspan='7' class='homearticlebody'>
|
474
|
+
<span class='homearticleheader'>08/08/2009 - <a href='?permit=2009-2285'>Blast the Mass - MSC #5</a></span>
|
475
|
+
| <span title='discipline'>XC</span> | <span title='class'>Elite</span> </td></tr>
|
476
|
+
<tr class='homearticlebody'>
|
477
|
+
<td>DQ / 32</td><td>-</td>
|
478
|
+
<td>Lance Armstrong</td><td>1917</td>
|
479
|
+
<td>1:51:18</td><td>71</td>
|
480
|
+
<td>Mellow Johnny's / Livestrong</td></tr> <tr><td colspan='8'> </td></tr>
|
481
|
+
<tr bgcolor='F3F3F3'>
|
482
|
+
<td colspan='7' class='homearticlebody'>
|
483
|
+
<span class='homearticleheader'>06/21/2009 - <a href='?permit=2009-1514'>Nevada City Bicycle Classic-49th Annual</a></span>
|
484
|
+
| <span title='discipline'>CRIT</span> </td></tr>
|
485
|
+
<tr class='homearticlebody'>
|
486
|
+
<td>DQ / 106</td><td>-</td>
|
487
|
+
<td>Lance Armstrong</td><td>1917</td>
|
488
|
+
<td>01:28:20.00</td><td>2</td>
|
489
|
+
<td>Uci Pt: Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
490
|
+
<tr bgcolor='F3F3F3'>
|
491
|
+
<td colspan='7' class='homearticlebody'>
|
492
|
+
<span class='homearticleheader'>05/03/2009 - <a href='?permit=2009-709'>Tour of the Gila</a></span>
|
493
|
+
| <span title='discipline'>GC</span> </td></tr>
|
494
|
+
<tr class='homearticlebody'>
|
495
|
+
<td>DQ / 104</td><td>-</td>
|
496
|
+
<td>Lance Armstrong</td><td>1917</td>
|
497
|
+
<td></td><td></td>
|
498
|
+
<td>Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
499
|
+
<tr bgcolor='F3F3F3'>
|
500
|
+
<td colspan='7' class='homearticlebody'>
|
501
|
+
<span class='homearticleheader'>05/02/2009 - <a href='?permit=2009-709'>Tour of the Gila</a></span>
|
502
|
+
| <span title='discipline'>CRIT</span> </td></tr>
|
503
|
+
<tr class='homearticlebody'>
|
504
|
+
<td>DQ / 146</td><td>-</td>
|
505
|
+
<td>Lance Armstrong</td><td>1917</td>
|
506
|
+
<td>1:35:56</td><td></td>
|
507
|
+
<td>Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
508
|
+
<tr bgcolor='F3F3F3'>
|
509
|
+
<td colspan='7' class='homearticlebody'>
|
510
|
+
<span class='homearticleheader'>05/01/2009 - <a href='?permit=2009-709'>Tour of the Gila</a></span>
|
511
|
+
| <span title='discipline'>ITT</span> </td></tr>
|
512
|
+
<tr class='homearticlebody'>
|
513
|
+
<td>DQ / 147</td><td>-</td>
|
514
|
+
<td>Lance Armstrong</td><td>1917</td>
|
515
|
+
<td>0:34:22</td><td></td>
|
516
|
+
<td>Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
517
|
+
<tr bgcolor='F3F3F3'>
|
518
|
+
<td colspan='7' class='homearticlebody'>
|
519
|
+
<span class='homearticleheader'>04/30/2009 - <a href='?permit=2009-709'>Tour of the Gila</a></span>
|
520
|
+
| <span title='discipline'>RR</span> </td></tr>
|
521
|
+
<tr class='homearticlebody'>
|
522
|
+
<td>DQ / 143</td><td>-</td>
|
523
|
+
<td>Lance Armstrong</td><td>1917</td>
|
524
|
+
<td>3:12:19</td><td></td>
|
525
|
+
<td>Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
526
|
+
<tr bgcolor='F3F3F3'>
|
527
|
+
<td colspan='7' class='homearticlebody'>
|
528
|
+
<span class='homearticleheader'>02/21/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
529
|
+
| <span title='discipline'>STR</span> </td></tr>
|
530
|
+
<tr class='homearticlebody'>
|
531
|
+
<td>DQ / 97</td><td>-</td>
|
532
|
+
<td>Lance Armstrong</td><td>1917</td>
|
533
|
+
<td>27:40:48</td><td></td>
|
534
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
535
|
+
<tr bgcolor='F3F3F3'>
|
536
|
+
<td colspan='7' class='homearticlebody'>
|
537
|
+
<span class='homearticleheader'>02/21/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
538
|
+
| <span title='discipline'>RR</span> | <span title='class'>Stage 7</span> </td></tr>
|
539
|
+
<tr class='homearticlebody'>
|
540
|
+
<td>DQ / 97</td><td>-</td>
|
541
|
+
<td>Lance Armstrong</td><td>1917</td>
|
542
|
+
<td>3:27:02</td><td></td>
|
543
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
544
|
+
<tr bgcolor='F3F3F3'>
|
545
|
+
<td colspan='7' class='homearticlebody'>
|
546
|
+
<span class='homearticleheader'>02/20/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
547
|
+
| <span title='discipline'>TT</span> | <span title='class'>Stage 6</span> </td></tr>
|
548
|
+
<tr class='homearticlebody'>
|
549
|
+
<td>DQ / 106</td><td>-</td>
|
550
|
+
<td>Lance Armstrong</td><td>1917</td>
|
551
|
+
<td>31:56.5</td><td></td>
|
552
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
553
|
+
<tr bgcolor='F3F3F3'>
|
554
|
+
<td colspan='7' class='homearticlebody'>
|
555
|
+
<span class='homearticleheader'>02/20/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
556
|
+
| <span title='discipline'>STR</span> </td></tr>
|
557
|
+
<tr class='homearticlebody'>
|
558
|
+
<td>DQ / 106</td><td>-</td>
|
559
|
+
<td>Lance Armstrong</td><td>1917</td>
|
560
|
+
<td>24:13:46</td><td></td>
|
561
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
562
|
+
<tr bgcolor='F3F3F3'>
|
563
|
+
<td colspan='7' class='homearticlebody'>
|
564
|
+
<span class='homearticleheader'>02/19/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
565
|
+
| <span title='discipline'>STR</span> </td></tr>
|
566
|
+
<tr class='homearticlebody'>
|
567
|
+
<td>DQ / 108</td><td>-</td>
|
568
|
+
<td>Lance Armstrong</td><td>1917</td>
|
569
|
+
<td>23:41:50</td><td></td>
|
570
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
571
|
+
<tr bgcolor='F3F3F3'>
|
572
|
+
<td colspan='7' class='homearticlebody'>
|
573
|
+
<span class='homearticleheader'>02/19/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
574
|
+
| <span title='discipline'>RR</span> | <span title='class'>Stage 5</span> </td></tr>
|
575
|
+
<tr class='homearticlebody'>
|
576
|
+
<td>DQ / 108</td><td>-</td>
|
577
|
+
<td>Lance Armstrong</td><td>1917</td>
|
578
|
+
<td>5:07:28</td><td></td>
|
579
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
580
|
+
<tr bgcolor='F3F3F3'>
|
581
|
+
<td colspan='7' class='homearticlebody'>
|
582
|
+
<span class='homearticleheader'>02/18/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
583
|
+
| <span title='discipline'>STR</span> </td></tr>
|
584
|
+
<tr class='homearticlebody'>
|
585
|
+
<td>DQ / 108</td><td>-</td>
|
586
|
+
<td>Lance Armstrong</td><td>1917</td>
|
587
|
+
<td>18:34:22</td><td></td>
|
588
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
589
|
+
<tr bgcolor='F3F3F3'>
|
590
|
+
<td colspan='7' class='homearticlebody'>
|
591
|
+
<span class='homearticleheader'>02/18/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
592
|
+
| <span title='discipline'>RR</span> | <span title='class'>Stage 4</span> </td></tr>
|
593
|
+
<tr class='homearticlebody'>
|
594
|
+
<td>DQ / 108</td><td>-</td>
|
595
|
+
<td>Lance Armstrong</td><td>1917</td>
|
596
|
+
<td>4:42:38</td><td></td>
|
597
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
598
|
+
<tr bgcolor='F3F3F3'>
|
599
|
+
<td colspan='7' class='homearticlebody'>
|
600
|
+
<span class='homearticleheader'>02/17/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
601
|
+
| <span title='discipline'>RR</span> | <span title='class'>Stage 3</span> </td></tr>
|
602
|
+
<tr class='homearticlebody'>
|
603
|
+
<td>DQ / 119</td><td>-</td>
|
604
|
+
<td>Lance Armstrong</td><td>1917</td>
|
605
|
+
<td>4:28:12</td><td></td>
|
606
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
607
|
+
<tr bgcolor='F3F3F3'>
|
608
|
+
<td colspan='7' class='homearticlebody'>
|
609
|
+
<span class='homearticleheader'>02/17/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
610
|
+
| <span title='discipline'>STR</span> </td></tr>
|
611
|
+
<tr class='homearticlebody'>
|
612
|
+
<td>DQ / 119</td><td>-</td>
|
613
|
+
<td>Lance Armstrong</td><td>1917</td>
|
614
|
+
<td>13:51:44</td><td></td>
|
615
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
616
|
+
<tr bgcolor='F3F3F3'>
|
617
|
+
<td colspan='7' class='homearticlebody'>
|
618
|
+
<span class='homearticleheader'>02/16/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
619
|
+
| <span title='discipline'>STR</span> </td></tr>
|
620
|
+
<tr class='homearticlebody'>
|
621
|
+
<td>DQ / 128</td><td>-</td>
|
622
|
+
<td>Lance Armstrong</td><td>1917</td>
|
623
|
+
<td>9:23:32</td><td></td>
|
624
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
625
|
+
<tr bgcolor='F3F3F3'>
|
626
|
+
<td colspan='7' class='homearticlebody'>
|
627
|
+
<span class='homearticleheader'>02/16/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
628
|
+
| <span title='discipline'>RR</span> | <span title='class'>Stage 2</span> </td></tr>
|
629
|
+
<tr class='homearticlebody'>
|
630
|
+
<td>DQ / 128</td><td>-</td>
|
631
|
+
<td>Lance Armstrong</td><td>1917</td>
|
632
|
+
<td>5:06:41</td><td></td>
|
633
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
634
|
+
<tr bgcolor='F3F3F3'>
|
635
|
+
<td colspan='7' class='homearticlebody'>
|
636
|
+
<span class='homearticleheader'>02/15/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
637
|
+
| <span title='discipline'>RR</span> | <span title='class'>Stage 1</span> </td></tr>
|
638
|
+
<tr class='homearticlebody'>
|
639
|
+
<td>DQ / 134</td><td>-</td>
|
640
|
+
<td>Lance Armstrong</td><td>1917</td>
|
641
|
+
<td>4:12:14</td><td></td>
|
642
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
643
|
+
<tr bgcolor='F3F3F3'>
|
644
|
+
<td colspan='7' class='homearticlebody'>
|
645
|
+
<span class='homearticleheader'>02/15/2009 - <a href='?permit=2009-250'>Amgen Tour of California</a></span>
|
646
|
+
| <span title='discipline'>STR</span> </td></tr>
|
647
|
+
<tr class='homearticlebody'>
|
648
|
+
<td>DQ / 134</td><td>-</td>
|
649
|
+
<td>Lance Armstrong</td><td>1917</td>
|
650
|
+
<td></td><td></td>
|
651
|
+
<td>Astana</td></tr> <tr><td colspan='8'> </td></tr>
|
652
|
+
<tr bgcolor='F3F3F3'>
|
653
|
+
<td colspan='7' class='homearticlebody'>
|
654
|
+
<span class='homearticleheader'>11/10/2008 - <a href='?permit=2008-2216'>Sun and Ski Sports Presents the Rocky Hill Roundup</a></span>
|
655
|
+
| <span title='discipline'>XC</span> </td></tr>
|
656
|
+
<tr class='homearticlebody'>
|
657
|
+
<td>DQ / 24</td><td>-</td>
|
658
|
+
<td>Lance Armstrong</td><td>1917</td>
|
659
|
+
<td>1:52:2.00</td><td>7</td>
|
660
|
+
<td>Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
661
|
+
<tr bgcolor='F3F3F3'>
|
662
|
+
<td colspan='7' class='homearticlebody'>
|
663
|
+
<span class='homearticleheader'>09/24/2008 - <a href='?permit=2008-2350'>Cross Vegas</a></span>
|
664
|
+
| <span title='discipline'>CX</span> | <span title='class'>Uci</span> </td></tr>
|
665
|
+
<tr class='homearticlebody'>
|
666
|
+
<td>DQ / 69</td><td>-</td>
|
667
|
+
<td>Lance Armstrong</td><td>1917</td>
|
668
|
+
<td>01:05:17</td><td>38</td>
|
669
|
+
<td>Unattached</td></tr> <tr><td colspan='8'> </td></tr>
|
670
|
+
<tr bgcolor='F3F3F3'>
|
671
|
+
<td colspan='7' class='homearticlebody'>
|
672
|
+
<span class='homearticleheader'>01/26/2008 - <a href='?permit=2008-129'>2008 Miles of Discomfort</a></span>
|
673
|
+
| <span title='discipline'>Marathon</span> | <span title='age'>1-02</span> </td></tr>
|
674
|
+
<tr class='homearticlebody'>
|
675
|
+
<td>DQ / 22</td><td>-</td>
|
676
|
+
<td>Lance Armstrong</td><td>1917</td>
|
677
|
+
<td></td><td>7</td>
|
678
|
+
<td>Mellow Johnny's</td></tr> <tr><td colspan='8'> </td></tr>
|
679
|
+
<tr bgcolor='F3F3F3'>
|
680
|
+
<td colspan='7' class='homearticlebody'>
|
681
|
+
<span class='homearticleheader'>04/10/2005 - <a href='?permit=2005-39'>Garrett Lemire Memorial Grand Prix</a></span>
|
682
|
+
| <span title='discipline'>CRIT</span> </td></tr>
|
683
|
+
<tr class='homearticlebody'>
|
684
|
+
<td>DQ / 48</td><td>-</td>
|
685
|
+
<td>Lance Armstrong</td><td>1917</td>
|
686
|
+
<td></td><td>120</td>
|
687
|
+
<td>Discovery</td></tr> <tr><td colspan='8'> </td></tr>
|
688
|
+
<tr bgcolor='F3F3F3'>
|
689
|
+
<td colspan='7' class='homearticlebody'>
|
690
|
+
<span class='homearticleheader'>02/24/2002 - <a href='?permit=2002-286'>Ronde Van Pace Bend</a></span>
|
691
|
+
| <span title='discipline'>RR</span> </td></tr>
|
692
|
+
<tr class='homearticlebody'>
|
693
|
+
<td>DQ / 77</td><td>-</td>
|
694
|
+
<td>Lance Armstrong</td><td>1917</td>
|
695
|
+
<td></td><td></td>
|
696
|
+
<td>US Postal Service</td></tr><tr><td class='homearticlebody' colspan='8'><br><center><a href='mailto:rankings@usacycling.org?subject=Please Update Results for Lance Armstrong (%231917)&body=This is the correct information that should be listed for the rider.%0D%0A%0D%0AEvent name:%0D%0AEvent date:%0D%0ARace info%2Fcategory:%0D%0APlace being updated:%0D%0AComments:'><b>Report missing or incorrect license numbers</a></b><br><br></center></td></tr></table></form></div><!-- end body -->
|
697
|
+
<div id='footer'>
|
698
|
+
<div style="display:inline-block; width:100%; height:300px; background-color:#031e41; border-top:5px solid #990000; text-align:center; vertical-align: middle;">
|
699
|
+
<div style="font-size:14px; font-weight:bold; color:#FFF; margin-top:50px; ">
|
700
|
+
<div style="width:50%; margin:0px auto;">
|
701
|
+
<div style="display:table-cell; padding-right:20px; text-align:center; vertical-align: middle;"><a href="https://imm.usacycling.org/about-us"><span style="color:#fff;">ABOUT</span></a></div>
|
702
|
+
<div style="display:table-cell; padding-right:20px; text-align:center; vertical-align: middle;"><a href="https://imm.usacycling.org/about-us/contact-us"><span style="color:#fff;">CONTACT US</span></a></div>
|
703
|
+
<div style="display:table-cell; padding-right:20px; text-align:center; vertical-align: middle;"><a href="https://register.usacycling.org/#!/events/merchandise/store"><span style="color:#fff;">SHOP NOW</span></a></div>
|
704
|
+
<div style="display:table-cell; padding-right:20px; text-align:center; vertical-align: middle;"><a href="https://www.strava.com/clubs/129377"><span style="color:#fff;">STRAVA</span></a></div>
|
705
|
+
<div style="display:table-cell; padding-right:20px; text-align:center; vertical-align: middle;"><a href="https://www.facebook.com/usacycling"><span style="color:#fff;">FACEBOOK</span></a></div>
|
706
|
+
<div style="display:table-cell; padding-right:20px; text-align:center; vertical-align: middle;"><a href="https://twitter.com/usacycling"><span style="color:#fff;">TWITTER</span></a></div>
|
707
|
+
<div style="display:table-cell; text-align:center; vertical-align: middle;"><a href="https://www.instagram.com/usacycling/"><span style="color:#fff;">INSTAGRAM</span></a></div>
|
708
|
+
</div><br/><br/><br/>
|
709
|
+
<img src="https://imm.usacycling.org/images/USACycling_Logo.png"/>
|
710
|
+
</div>
|
711
|
+
</div>
|
712
|
+
<table width="100%">
|
713
|
+
<tr>
|
714
|
+
<td>
|
715
|
+
Copyright © 2017 by USA Cycling, Incorporated. All rights reserved. | <a href="/media/">Media</a> | <a href="/sitemap.htm">Site Map</a> | <a href='javascript:void(0)' onclick='genericDialog("/ajax/ajax.feedback.php?rurl=https://legacy.usacycling.org:443/results/index.php?compid=1917","Send Feedback",550,500);' />Feedback</a> | <a href='/rss/'>RSS Feeds</a> | <a href='/usa-cycling-staff-contacts-directory.htm'>Contact Us</a>
|
716
|
+
</td>
|
717
|
+
</tr>
|
718
|
+
</table>
|
719
|
+
</div>
|
720
|
+
|
721
|
+
</body>
|
722
|
+
</html>
|