wukong 3.0.0.pre2 → 3.0.0.pre3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +13 -0
- data/README.md +182 -6
- data/bin/wu-local +13 -5
- data/bin/wu-server +1 -1
- data/examples/Gemfile +2 -1
- data/examples/basic/string_reverser.rb +23 -0
- data/examples/{tiny_count.rb → basic/tiny_count.rb} +0 -0
- data/examples/{word_count → basic/word_count}/accumulator.rb +0 -0
- data/examples/{word_count → basic/word_count}/tokenizer.rb +0 -0
- data/examples/{word_count → basic/word_count}/word_count.rb +0 -0
- data/examples/deploy_pack/Gemfile +7 -0
- data/examples/deploy_pack/README.md +6 -0
- data/examples/{text/latinize_text.rb → deploy_pack/a/b/c/.gitkeep} +0 -0
- data/examples/deploy_pack/app/processors/string_reverser.rb +5 -0
- data/examples/deploy_pack/config/environment.rb +1 -0
- data/examples/{dataflow → dsl/dataflow}/fibonacci_series.rb +0 -0
- data/examples/dsl/dataflow/scraper_macro_flow.rb +28 -0
- data/examples/{dataflow → dsl/dataflow}/simple.rb +0 -0
- data/examples/{dataflow → dsl/dataflow}/telegram.rb +0 -0
- data/examples/{workflow → dsl/workflow}/cherry_pie.dot +0 -0
- data/examples/{workflow → dsl/workflow}/cherry_pie.md +0 -0
- data/examples/{workflow → dsl/workflow}/cherry_pie.png +0 -0
- data/examples/{workflow → dsl/workflow}/cherry_pie.rb +0 -0
- data/examples/empty/.gitkeep +0 -0
- data/examples/graph/implied_geolocation/README.md +63 -0
- data/examples/graph/{minimum_spanning_tree.rb → minimum_spanning_tree/airfares_graphviz.rb} +0 -0
- data/examples/munging/airline_flights/indexable.rb +75 -0
- data/examples/munging/airline_flights/indexable_spec.rb +90 -0
- data/examples/munging/geo/geonames_models.rb +29 -0
- data/examples/munging/wikipedia/dbpedia/dbpedia_common.rb +1 -0
- data/examples/munging/wikipedia/dbpedia/extract_links-cruft.rb +66 -0
- data/examples/munging/wikipedia/dbpedia/extract_links.rb +213 -146
- data/examples/rake_helper.rb +12 -0
- data/examples/ruby_project/Gemfile +7 -0
- data/examples/ruby_project/README.md +6 -0
- data/examples/ruby_project/a/b/c/.gitkeep +0 -0
- data/examples/serverlogs/geo_ip_mapping/munge_geolite.rb +82 -0
- data/examples/serverlogs/models/logline.rb +102 -0
- data/examples/{dataflow/parse_apache_logs.rb → serverlogs/parser/apache_parser_widget.rb} +0 -0
- data/examples/serverlogs/visit_paths/common.rb +4 -0
- data/examples/serverlogs/visit_paths/page_counts.pig +48 -0
- data/examples/serverlogs/visit_paths/serverlogs-01-parse-script.rb +11 -0
- data/examples/serverlogs/visit_paths/serverlogs-02-histograms-full.rb +31 -0
- data/examples/serverlogs/visit_paths/serverlogs-02-histograms-mapper.rb +12 -0
- data/examples/serverlogs/visit_paths/serverlogs-03-breadcrumbs-full.rb +67 -0
- data/examples/serverlogs/visit_paths/serverlogs-04-page_page_edges-full.rb +38 -0
- data/examples/text/{pig_latin.rb → pig_latin/pig_latinizer.rb} +0 -0
- data/examples/{dataflow/pig_latinizer.rb → text/pig_latin/pig_latinizer_widget.rb} +0 -0
- data/lib/hanuman/graph.rb +6 -1
- data/lib/wu/geo.rb +4 -0
- data/lib/wu/geo/geo_grids.numbers +0 -0
- data/lib/wu/geo/geolocated.rb +331 -0
- data/lib/wu/geo/quadtile.rb +69 -0
- data/{examples → lib/wu}/graph/union_find.rb +0 -0
- data/lib/wu/model/reconcilable.rb +63 -0
- data/{examples/munging/wikipedia/utils/munging_utils.rb → lib/wu/munging.rb} +7 -4
- data/lib/wu/social/models/twitter.rb +31 -0
- data/{examples/models/wikipedia.rb → lib/wu/wikipedia/models.rb} +0 -0
- data/lib/wukong.rb +9 -4
- data/lib/wukong/boot.rb +10 -1
- data/lib/wukong/driver.rb +65 -71
- data/lib/wukong/logger.rb +93 -0
- data/lib/wukong/processor.rb +38 -29
- data/lib/wukong/runner.rb +144 -0
- data/lib/wukong/server.rb +119 -0
- data/lib/wukong/spec_helpers.rb +1 -0
- data/lib/wukong/spec_helpers/integration_driver.rb +22 -9
- data/lib/wukong/spec_helpers/integration_driver_matchers.rb +26 -4
- data/lib/wukong/spec_helpers/processor_helpers.rb +4 -10
- data/lib/wukong/spec_helpers/shared_examples.rb +12 -13
- data/lib/wukong/version.rb +1 -1
- data/lib/wukong/widget/processors.rb +13 -0
- data/lib/wukong/widget/serializers.rb +55 -65
- data/lib/wukong/widgets.rb +0 -2
- data/spec/hanuman/graph_spec.rb +14 -0
- data/spec/spec_helper.rb +4 -30
- data/spec/support/{wukong_test_helpers.rb → example_test_helpers.rb} +29 -2
- data/spec/support/integration_helper.rb +38 -0
- data/spec/support/model_test_helpers.rb +115 -0
- data/spec/wu/geo/geolocated_spec.rb +247 -0
- data/spec/wu/model/reconcilable_spec.rb +152 -0
- data/spec/wukong/widget/processors_spec.rb +0 -1
- data/spec/wukong/widget/serializers_spec.rb +88 -62
- data/spec/wukong/wu_local_spec.rb +125 -0
- data/wukong.gemspec +3 -16
- metadata +72 -266
- data/examples/dataflow/apache_log_line.rb +0 -100
- data/examples/jabberwocky.txt +0 -36
- data/examples/munging/Gemfile +0 -8
- data/examples/munging/airline_flights/airline.rb +0 -57
- data/examples/munging/airline_flights/airport.rb +0 -211
- data/examples/munging/airline_flights/flight.rb +0 -156
- data/examples/munging/airline_flights/models.rb +0 -4
- data/examples/munging/airline_flights/parse.rb +0 -26
- data/examples/munging/airline_flights/route.rb +0 -35
- data/examples/munging/airline_flights/timezone_fixup.rb +0 -62
- data/examples/munging/airports/40_wbans.txt +0 -40
- data/examples/munging/airports/filter_weather_reports.rb +0 -37
- data/examples/munging/airports/join.pig +0 -31
- data/examples/munging/airports/to_tsv.rb +0 -33
- data/examples/munging/airports/usa_wbans.pig +0 -19
- data/examples/munging/airports/usa_wbans.txt +0 -2157
- data/examples/munging/airports/wbans.pig +0 -19
- data/examples/munging/airports/wbans.txt +0 -2310
- data/examples/munging/rake_helper.rb +0 -62
- data/examples/munging/weather/.gitignore +0 -1
- data/examples/munging/weather/Gemfile +0 -4
- data/examples/munging/weather/Rakefile +0 -28
- data/examples/munging/weather/extract_ish.rb +0 -13
- data/examples/munging/weather/models/weather.rb +0 -119
- data/examples/munging/weather/utils/noaa_downloader.rb +0 -46
- data/examples/munging/wikipedia/README.md +0 -34
- data/examples/munging/wikipedia/Rakefile +0 -193
- data/examples/munging/wikipedia/n1_subuniverse/n1_nodes.pig +0 -18
- data/examples/munging/wikipedia/page_metadata/extract_page_metadata.rb +0 -21
- data/examples/munging/wikipedia/page_metadata/extract_page_metadata.rb.old +0 -27
- data/examples/munging/wikipedia/pagelinks/augment_pagelinks.pig +0 -29
- data/examples/munging/wikipedia/pagelinks/extract_pagelinks.rb +0 -14
- data/examples/munging/wikipedia/pagelinks/extract_pagelinks.rb.old +0 -25
- data/examples/munging/wikipedia/pagelinks/undirect_pagelinks.pig +0 -29
- data/examples/munging/wikipedia/pageviews/augment_pageviews.pig +0 -32
- data/examples/munging/wikipedia/pageviews/extract_pageviews.rb +0 -85
- data/examples/munging/wikipedia/pig_style_guide.md +0 -25
- data/examples/munging/wikipedia/redirects/redirects_page_metadata.pig +0 -19
- data/examples/munging/wikipedia/subuniverse/sub_articles.pig +0 -23
- data/examples/munging/wikipedia/subuniverse/sub_page_metadata.pig +0 -24
- data/examples/munging/wikipedia/subuniverse/sub_pagelinks_from.pig +0 -22
- data/examples/munging/wikipedia/subuniverse/sub_pagelinks_into.pig +0 -22
- data/examples/munging/wikipedia/subuniverse/sub_pagelinks_within.pig +0 -26
- data/examples/munging/wikipedia/subuniverse/sub_pageviews.pig +0 -29
- data/examples/munging/wikipedia/subuniverse/sub_undirected_pagelinks_within.pig +0 -24
- data/examples/munging/wikipedia/utils/get_namespaces.rb +0 -86
- data/examples/munging/wikipedia/utils/namespaces.json +0 -1
- data/examples/string_reverser.rb +0 -26
- data/examples/twitter/locations.rb +0 -29
- data/examples/twitter/models.rb +0 -24
- data/examples/twitter/pt1-fiddle.pig +0 -8
- data/examples/twitter/pt2-simple_parse.pig +0 -31
- data/examples/twitter/pt2-simple_parse.rb +0 -18
- data/examples/twitter/pt3-join_on_zips.pig +0 -39
- data/examples/twitter/pt4-strong_links.rb +0 -20
- data/examples/twitter/pt5-lnglat_and_strong_links.pig +0 -16
- data/examples/twitter/states.tsv +0 -50
- data/examples/workflow/package_gem.rb +0 -55
- data/lib/wukong/widget/sink.rb +0 -16
- data/lib/wukong/widget/source.rb +0 -14
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
# see alsospec/examples/munging/airline_flights_spec.rb
|
3
|
-
|
4
|
-
puts described_class.field_names.map{|fn| fn[0..6] }.join("\t")
|
5
|
-
raw_airports = RawDataexpoAirport.load_csv(de_airports_filename)
|
6
|
-
raw_airports.each do |airport|
|
7
|
-
puts airport.to_tsv
|
8
|
-
end
|
9
|
-
|
10
|
-
puts described_class.field_names.join("\t") # .map{|fn| fn[0..6] }.join("\t")
|
11
|
-
raw_airports = described_class.load_csv(raw_airports_filename)
|
12
|
-
raw_airports.each do |airport|
|
13
|
-
# puts airport.to_tsv
|
14
|
-
linted = airport.lint
|
15
|
-
puts [airport.iata, airport.icao, linted.inspect, airport.to_tsv, ].join("\t") if linted.present?
|
16
|
-
end
|
17
|
-
|
18
|
-
Airport.load(raw_airports_filename, de_airports_filename)
|
19
|
-
Airport::AIRPORTS.each{|id,airport|
|
20
|
-
#puts airport.to_tsv
|
21
|
-
linted = airport.lint
|
22
|
-
warn [airport.iata, airport.icao, airport.de_iata, "%-25s" % airport.name, linted.inspect].join("\t") if linted.present?
|
23
|
-
}
|
24
|
-
|
25
|
-
|
26
|
-
# Model.from_tuple(...)
|
@@ -1,35 +0,0 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# As of January 2012, the OpenFlights/Airline Route Mapper Route Database
|
4
|
-
# contains 59036 routes between 3209 airports on 531 airlines [spanning the
|
5
|
-
# globe](http://openflights.org/demo/openflights-routedb-2048.png). If you
|
6
|
-
# enjoy this data, please consider [visiting their page and
|
7
|
-
# donating](http://openflights.org/data.html)
|
8
|
-
#
|
9
|
-
# > Notes: Routes are directional: if an airline operates services from A to B
|
10
|
-
# > and from B to A, both A-B and B-A are listed separately. Routes where one
|
11
|
-
# > carrier operates both its own and codeshare flights are listed only once.
|
12
|
-
#
|
13
|
-
# Sample entries
|
14
|
-
#
|
15
|
-
# BA,1355,SIN,3316,LHR,507,,0,744 777
|
16
|
-
# BA,1355,SIN,3316,MEL,3339,Y,0,744
|
17
|
-
# TOM,5013,ACE,1055,BFS,465,,0,320
|
18
|
-
#
|
19
|
-
class RawOpenflightRoute
|
20
|
-
include Gorillib::Model
|
21
|
-
|
22
|
-
field :iataicao, String, doc: "2-letter (IATA) or 3-letter (ICAO) code of the airline."
|
23
|
-
field :airline_ofid, Integer, doc: "Unique OpenFlights identifier for airline (see Airline)."
|
24
|
-
field :from_airport_iataicao, String, doc: "3-letter (IATA) or 4-letter (ICAO) code of the source airport."
|
25
|
-
field :from_airport_ofid, Integer, doc: "Unique OpenFlights identifier for source airport (see Airport)"
|
26
|
-
field :into_airport_iataicao, String, doc: "3-letter (IATA) or 4-letter (ICAO) code of the destination airport."
|
27
|
-
field :into_airport_ofid, Integer, doc: "Unique OpenFlights identifier for destination airport (see Airport)"
|
28
|
-
field :codeshare, :boolean, doc: "true if this flight is a codeshare (that is, not operated by Airline, but another carrier); empty otherwise."
|
29
|
-
field :stops, Integer, doc: "Number of stops on this flight, or '0' for direct"
|
30
|
-
field :equipment_list, String, doc: "3-letter codes for plane type(s) generally used on this flight, separated by spaces"
|
31
|
-
|
32
|
-
def receive_codeshare(val)
|
33
|
-
super(case val when "Y" then true when "N" then false else val ; end)
|
34
|
-
end
|
35
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
require 'date'
|
2
|
-
require 'gorillib/hash/zip'
|
3
|
-
|
4
|
-
class Airport
|
5
|
-
|
6
|
-
class TimezoneFixup
|
7
|
-
|
8
|
-
YEARS = (2010 .. 2012).to_a
|
9
|
-
|
10
|
-
DST_RULES = {
|
11
|
-
'E' => { name: 'European', beg_doy: 'last Sunday in March', end_doy: 'last Sunday in October', beg_dates: {}, end_dates: {}, used_in: 'all European countries (except Iceland), as well as Greenland, Lebanon, Russia and Tunisia. Jordan and Syria are almost the same, starting and ending on Friday instead of Sunday. European DST is also used to (crudely) approximate Iranian DST, although they actually use an entirely different calendar.', },
|
12
|
-
'A' => { name: 'US/Canada', beg_doy: '2nd Sunday in March', end_doy: '1st Sunday in November', beg_dates: {}, end_dates: {}, used_in: 'the United States (except Arizona, Hawaii and island territories) and Canada (with convoluted exceptions).', },
|
13
|
-
'S' => { name: 'South American', beg_doy: '3rd Sunday in March', end_doy: '3rd Sunday in October', southern: true, beg_dates: {}, end_dates: {}, used_in: 'With some variance in the exact dates, in Argentina, Chile, Mexico, Paraguay, Uruguay as well as the African states of Namibia and Mauritius.', },
|
14
|
-
'O' => { name: 'Australia', beg_doy: '1st Sunday in April', end_doy: '1st Sunday in October', southern: true, beg_dates: {}, end_dates: {}, used_in: 'Australia, except for Queensland and the Northern Territory.' },
|
15
|
-
'Z' => { name: 'New Zealand', beg_doy: '1st Sunday in April', end_doy: 'last Sunday in September', southern: true, beg_dates: {}, end_dates: {}, used_in: 'New Zealand', },
|
16
|
-
'N' => { name: 'None', beg_doy: nil, end_doy: nil, beg_dates: {}, end_dates: {}, used_in: 'DST not observed.', },
|
17
|
-
'U' => { name: 'Unknown', beg_doy: nil, end_doy: nil, beg_dates: {}, end_dates: {}, used_in: 'DST status not known. The same as "None".', },
|
18
|
-
}
|
19
|
-
|
20
|
-
DST_RULES['E'][:beg_dates] = { 1987 => "1987-03-29", 1988 => "1988-03-27", 1989 => "1989-03-26", 1990 => "1990-03-25", 1991 => "1991-03-31", 1992 => "1992-03-29", 1993 => "1993-03-28", 1994 => "1994-03-27", 1995 => "1995-03-26", 1996 => "1996-03-31", 1997 => "1997-03-30", 1998 => "1998-03-29", 1999 => "1999-03-28", 2000 => "2000-03-26", 2001 => "2001-03-25", 2002 => "2002-03-31", 2003 => "2003-03-30", 2004 => "2004-03-28", 2005 => "2005-03-27", 2006 => "2006-03-26", 2007 => "2007-03-25", 2008 => "2008-03-30", 2009 => "2009-03-29", 2010 => "2010-03-28", 2011 => "2011-03-27", 2012 => "2012-03-25", 2013 => "2013-03-31", 2014 => "2014-03-30", 2015 => "2015-03-29", 2016 => "2016-03-27", 2017 => "2017-03-26", 2018 => "2018-03-25", 2019 => "2019-03-31", 2020 => "2020-03-29", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
21
|
-
DST_RULES['E'][:end_dates] = { 1987 => "1987-10-25", 1988 => "1988-10-30", 1989 => "1989-10-29", 1990 => "1990-10-28", 1991 => "1991-10-27", 1992 => "1992-10-25", 1993 => "1993-10-31", 1994 => "1994-10-30", 1995 => "1995-10-29", 1996 => "1996-10-27", 1997 => "1997-10-26", 1998 => "1998-10-25", 1999 => "1999-10-31", 2000 => "2000-10-29", 2001 => "2001-10-28", 2002 => "2002-10-27", 2003 => "2003-10-26", 2004 => "2004-10-31", 2005 => "2005-10-30", 2006 => "2006-10-29", 2007 => "2007-10-28", 2008 => "2008-10-26", 2009 => "2009-10-25", 2010 => "2010-10-31", 2011 => "2011-10-30", 2012 => "2012-10-28", 2013 => "2013-10-27", 2014 => "2014-10-26", 2015 => "2015-10-25", 2016 => "2016-10-30", 2017 => "2017-10-29", 2018 => "2018-10-28", 2019 => "2019-10-27", 2020 => "2020-10-25", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
22
|
-
DST_RULES['A'][:beg_dates] = { 1987 => "1987-03-08", 1988 => "1988-03-13", 1989 => "1989-03-12", 1990 => "1990-03-11", 1991 => "1991-03-10", 1992 => "1992-03-08", 1993 => "1993-03-14", 1994 => "1994-03-13", 1995 => "1995-03-12", 1996 => "1996-03-10", 1997 => "1997-03-09", 1998 => "1998-03-08", 1999 => "1999-03-14", 2000 => "2000-03-12", 2001 => "2001-03-11", 2002 => "2002-03-10", 2003 => "2003-03-09", 2004 => "2004-03-14", 2005 => "2005-03-13", 2006 => "2006-03-12", 2007 => "2007-03-11", 2008 => "2008-03-09", 2009 => "2009-03-08", 2010 => "2010-03-14", 2011 => "2011-03-13", 2012 => "2012-03-11", 2013 => "2013-03-10", 2014 => "2014-03-09", 2015 => "2015-03-08", 2016 => "2016-03-13", 2017 => "2017-03-12", 2018 => "2018-03-11", 2019 => "2019-03-10", 2020 => "2020-03-08", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
23
|
-
DST_RULES['A'][:end_dates] = { 1987 => "1987-11-01", 1988 => "1988-11-06", 1989 => "1989-11-05", 1990 => "1990-11-04", 1991 => "1991-11-03", 1992 => "1992-11-01", 1993 => "1993-11-07", 1994 => "1994-11-06", 1995 => "1995-11-05", 1996 => "1996-11-03", 1997 => "1997-11-02", 1998 => "1998-11-01", 1999 => "1999-11-07", 2000 => "2000-11-05", 2001 => "2001-11-04", 2002 => "2002-11-03", 2003 => "2003-11-02", 2004 => "2004-11-07", 2005 => "2005-11-06", 2006 => "2006-11-05", 2007 => "2007-11-04", 2008 => "2008-11-02", 2009 => "2009-11-01", 2010 => "2010-11-07", 2011 => "2011-11-06", 2012 => "2012-11-04", 2013 => "2013-11-03", 2014 => "2014-11-02", 2015 => "2015-11-01", 2016 => "2016-11-06", 2017 => "2017-11-05", 2018 => "2018-11-04", 2019 => "2019-11-03", 2020 => "2020-11-01", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
24
|
-
DST_RULES['S'][:beg_dates] = { 1987 => "1987-10-18", 1988 => "1988-10-16", 1989 => "1989-10-15", 1990 => "1990-10-21", 1991 => "1991-10-20", 1992 => "1992-10-18", 1993 => "1993-10-17", 1994 => "1994-10-16", 1995 => "1995-10-15", 1996 => "1996-10-20", 1997 => "1997-10-19", 1998 => "1998-10-18", 1999 => "1999-10-17", 2000 => "2000-10-15", 2001 => "2001-10-21", 2002 => "2002-10-20", 2003 => "2003-10-19", 2004 => "2004-10-17", 2005 => "2005-10-16", 2006 => "2006-10-15", 2007 => "2007-10-21", 2008 => "2008-10-19", 2009 => "2009-10-18", 2010 => "2010-10-17", 2011 => "2011-10-16", 2012 => "2012-10-21", 2013 => "2013-10-20", 2014 => "2014-10-19", 2015 => "2015-10-18", 2016 => "2016-10-16", 2017 => "2017-10-15", 2018 => "2018-10-21", 2019 => "2019-10-20", 2020 => "2020-10-18", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
25
|
-
DST_RULES['S'][:end_dates] = { 1987 => "1987-03-15", 1988 => "1988-03-20", 1989 => "1989-03-19", 1990 => "1990-03-18", 1991 => "1991-03-17", 1992 => "1992-03-15", 1993 => "1993-03-21", 1994 => "1994-03-20", 1995 => "1995-03-19", 1996 => "1996-03-17", 1997 => "1997-03-16", 1998 => "1998-03-15", 1999 => "1999-03-21", 2000 => "2000-03-19", 2001 => "2001-03-18", 2002 => "2002-03-17", 2003 => "2003-03-16", 2004 => "2004-03-21", 2005 => "2005-03-20", 2006 => "2006-03-19", 2007 => "2007-03-18", 2008 => "2008-03-16", 2009 => "2009-03-15", 2010 => "2010-03-21", 2011 => "2011-03-20", 2012 => "2012-03-18", 2013 => "2013-03-17", 2014 => "2014-03-16", 2015 => "2015-03-15", 2016 => "2016-03-20", 2017 => "2017-03-19", 2018 => "2018-03-18", 2019 => "2019-03-17", 2020 => "2020-03-15", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
26
|
-
DST_RULES['O'][:beg_dates] = { 1987 => "1987-10-04", 1988 => "1988-10-02", 1989 => "1989-10-01", 1990 => "1990-10-07", 1991 => "1991-10-06", 1992 => "1992-10-04", 1993 => "1993-10-03", 1994 => "1994-10-02", 1995 => "1995-10-01", 1996 => "1996-10-06", 1997 => "1997-10-05", 1998 => "1998-10-04", 1999 => "1999-10-03", 2000 => "2000-10-01", 2001 => "2001-10-07", 2002 => "2002-10-06", 2003 => "2003-10-05", 2004 => "2004-10-03", 2005 => "2005-10-02", 2006 => "2006-10-01", 2007 => "2007-10-07", 2008 => "2008-10-05", 2009 => "2009-10-04", 2010 => "2010-10-03", 2011 => "2011-10-02", 2012 => "2012-10-07", 2013 => "2013-10-06", 2014 => "2014-10-05", 2015 => "2015-10-04", 2016 => "2016-10-02", 2017 => "2017-10-01", 2018 => "2018-10-07", 2019 => "2019-10-06", 2020 => "2020-10-04", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
27
|
-
DST_RULES['O'][:end_dates] = { 1987 => "1987-04-05", 1988 => "1988-04-03", 1989 => "1989-04-02", 1990 => "1990-04-01", 1991 => "1991-04-07", 1992 => "1992-04-05", 1993 => "1993-04-04", 1994 => "1994-04-03", 1995 => "1995-04-02", 1996 => "1996-04-07", 1997 => "1997-04-06", 1998 => "1998-04-05", 1999 => "1999-04-04", 2000 => "2000-04-02", 2001 => "2001-04-01", 2002 => "2002-04-07", 2003 => "2003-04-06", 2004 => "2004-04-04", 2005 => "2005-04-03", 2006 => "2006-04-02", 2007 => "2007-04-01", 2008 => "2008-04-06", 2009 => "2009-04-05", 2010 => "2010-04-04", 2011 => "2011-04-03", 2012 => "2012-04-01", 2013 => "2013-04-07", 2014 => "2014-04-06", 2015 => "2015-04-05", 2016 => "2016-04-03", 2017 => "2017-04-02", 2018 => "2018-04-01", 2019 => "2019-04-07", 2020 => "2020-04-05", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
28
|
-
DST_RULES['Z'][:beg_dates] = { 1987 => "1987-09-27", 1988 => "1988-09-25", 1989 => "1989-09-24", 1990 => "1990-09-30", 1991 => "1991-09-29", 1992 => "1992-09-27", 1993 => "1993-09-26", 1994 => "1994-09-25", 1995 => "1995-09-24", 1996 => "1996-09-29", 1997 => "1997-09-28", 1998 => "1998-09-27", 1999 => "1999-09-26", 2000 => "2000-09-24", 2001 => "2001-09-30", 2002 => "2002-09-29", 2003 => "2003-09-28", 2004 => "2004-09-26", 2005 => "2005-09-25", 2006 => "2006-09-24", 2007 => "2007-09-30", 2008 => "2008-09-28", 2009 => "2009-09-27", 2010 => "2010-09-26", 2011 => "2011-09-25", 2012 => "2012-09-30", 2013 => "2013-09-29", 2014 => "2014-09-28", 2015 => "2015-09-27", 2016 => "2016-09-25", 2017 => "2017-09-24", 2018 => "2018-09-30", 2019 => "2019-09-29", 2020 => "2020-09-27", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
29
|
-
DST_RULES['Z'][:end_dates] = { 1987 => "1987-04-05", 1988 => "1988-04-03", 1989 => "1989-04-02", 1990 => "1990-04-01", 1991 => "1991-04-07", 1992 => "1992-04-05", 1993 => "1993-04-04", 1994 => "1994-04-03", 1995 => "1995-04-02", 1996 => "1996-04-07", 1997 => "1997-04-06", 1998 => "1998-04-05", 1999 => "1999-04-04", 2000 => "2000-04-02", 2001 => "2001-04-01", 2002 => "2002-04-07", 2003 => "2003-04-06", 2004 => "2004-04-04", 2005 => "2005-04-03", 2006 => "2006-04-02", 2007 => "2007-04-01", 2008 => "2008-04-06", 2009 => "2009-04-05", 2010 => "2010-04-04", 2011 => "2011-04-03", 2012 => "2012-04-01", 2013 => "2013-04-07", 2014 => "2014-04-06", 2015 => "2015-04-05", 2016 => "2016-04-03", 2017 => "2017-04-02", 2018 => "2018-04-01", 2019 => "2019-04-07", 2020 => "2020-04-05", }.tap{|hsh| hsh.each{|year,date_str| hsh[year] = Date.parse(date_str) } }
|
30
|
-
|
31
|
-
def self.parse_boundary(str, *args)
|
32
|
-
require 'chronic'
|
33
|
-
rank, weekday, art, month = str.split(/\s+/)
|
34
|
-
if rank == 'last'
|
35
|
-
val = ['5th', '4th'].map{|wk| Chronic.parse([wk, weekday, art, month].join(' '), *args) }.compact.first
|
36
|
-
else
|
37
|
-
val = Chronic.parse(str, *args)
|
38
|
-
end
|
39
|
-
Date.new(val.year, val.month, val.day)
|
40
|
-
end
|
41
|
-
|
42
|
-
def self.beg_date(rule, year)
|
43
|
-
DST_RULES[rule][:beg_dates][year] ||= parse_boundary(DST_RULES[rule][:beg_doy], now: Time.utc(year, 1, 1))
|
44
|
-
end
|
45
|
-
def self.end_date(rule, year)
|
46
|
-
DST_RULES[rule][:end_dates][year] ||= parse_boundary(DST_RULES[rule][:end_doy], now: Time.utc(year, 1, 1))
|
47
|
-
end
|
48
|
-
|
49
|
-
def self.table
|
50
|
-
%w[E A S O Z].each{|rule| YEARS.each{|year| beg_date(rule, year) ; end_date(rule, year) } }
|
51
|
-
DST_RULES
|
52
|
-
end
|
53
|
-
|
54
|
-
def self.dst?(rule, val)
|
55
|
-
early = beg_date(rule, val.year)
|
56
|
-
late = end_date(rule, val.year)
|
57
|
-
in_range = (val >= early) && (val < late)
|
58
|
-
DST_RULES[rule][:southern] ? (not in_range) : in_range
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
13874
|
2
|
-
13874
|
3
|
-
14739
|
4
|
-
13881
|
5
|
-
13881
|
6
|
-
03017
|
7
|
-
03017
|
8
|
-
03927
|
9
|
-
03927
|
10
|
-
94847
|
11
|
-
94847
|
12
|
-
14734
|
13
|
-
14734
|
14
|
-
53127
|
15
|
-
99999
|
16
|
-
12960
|
17
|
-
12960
|
18
|
-
94789
|
19
|
-
94789
|
20
|
-
23169
|
21
|
-
23169
|
22
|
-
23174
|
23
|
-
23174
|
24
|
-
12815
|
25
|
-
12815
|
26
|
-
12839
|
27
|
-
12839
|
28
|
-
14922
|
29
|
-
14922
|
30
|
-
94846
|
31
|
-
94846
|
32
|
-
13739
|
33
|
-
13739
|
34
|
-
23183
|
35
|
-
23183
|
36
|
-
99999
|
37
|
-
24233
|
38
|
-
24233
|
39
|
-
23234
|
40
|
-
23234
|
@@ -1,37 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# encoding:UTF-8
|
3
|
-
|
4
|
-
require 'wukong'
|
5
|
-
require 'pathname'
|
6
|
-
load '/home/dlaw/dev/wukong/examples/wikipedia/munging_utils.rb'
|
7
|
-
|
8
|
-
module WeatherFilter
|
9
|
-
class Mapper < Wukong::Streamer::LineStreamer
|
10
|
-
|
11
|
-
WBAN_FILENAME = '/home/dlaw/dev/wukong/examples/airports/wbans.txt'
|
12
|
-
USA_WBAN_FILENAME = '/home/dlaw/dev/wukong/examples/airports/usa_wbans.txt'
|
13
|
-
FORTY_WBANS_FILENAME = '/home/dlaw/dev/wukong/examples/airports/40_wbans.txt'
|
14
|
-
|
15
|
-
def initialize
|
16
|
-
@wbans = []
|
17
|
-
wban_file = File.open(FORTY_WBANS_FILENAME)
|
18
|
-
wban_file.each_line do |line|
|
19
|
-
@wbans << line[0..-2]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def process line
|
24
|
-
MungingUtils.guard_encoding(line) do |clean_line|
|
25
|
-
wban = Pathname(ENV['map_input_file']).basename.to_s.split('-')[1]
|
26
|
-
if @wbans.include? wban
|
27
|
-
yield line
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
Wukong::Script.new(
|
35
|
-
WeatherFilter::Mapper,
|
36
|
-
nil
|
37
|
-
).run
|
@@ -1,31 +0,0 @@
|
|
1
|
-
/* This was a misguided attempt at generating a list of WBAN IDs assigned to airports by filtering the mshr_enhanced
|
2
|
-
* and joining it with isd_stations. This is misguided because mshr_enhanced contains much more data than isd_stations,
|
3
|
-
* and also contains multiple entries for each weather station, making it non-obvious how best to join the data.
|
4
|
-
* A simpler and better approach, taken in usa_wbans.pig and wbans.pig, is to filter and unique mshr_enhanced.
|
5
|
-
*/
|
6
|
-
|
7
|
-
mshr = LOAD '/Users/dlaw/Desktop/stations/mshr_enhanced.tsv' AS
|
8
|
-
(source_id:chararray, source:chararray, begin_date:chararray, end_date:chararray, station_status:chararray,
|
9
|
-
ncdcstn_id:chararray, icao_id:chararray, wban_id:chararray, faa_id:chararray, nwsli_id:chararray, wmo_id:chararray,
|
10
|
-
coop_id:chararray, transmittal_id:chararray, ghcnd_id:chararray, name_principal:chararray, name_principal_short:chararray,
|
11
|
-
name_coop:chararray, name_coop_short:chararray, name_publication:chararray, name_alias:chararray, nws_clim_div:chararray,
|
12
|
-
nws_clim_div_name:chararray, state_prov:chararray, county:chararray, nws_st_code:chararray, fips_country_code:chararray,
|
13
|
-
fips_country_name:chararray, nws_region:chararray, nws_wfo:chararray, elev_ground:chararray, elev_ground_unit:chararray,
|
14
|
-
elev_barom:chararray, elev_barom_unit:chararray, elev_air:chararray, elev_air_unit:chararray, elev_zerodat:chararray,
|
15
|
-
elev_zerodat_unit:chararray, elev_unk:chararray, elev_unk_unit:chararray, lat_dec:chararray, lon_dec:chararray,
|
16
|
-
lat_lon_precision:chararray, relocation:chararray, utc_offset:chararray, obs_env:chararray, platform:chararray);
|
17
|
-
|
18
|
-
mshr_grouped = GROUP mshr BY (icao_id, wban_id, faa_id, begin_date, end_date);
|
19
|
-
mshr_final = FOREACH mshr_grouped GENERATE FLATTEN(group) AS (wban_id, icao_id, faa_id, begin_date, end_date);
|
20
|
-
|
21
|
-
stations = LOAD '/Users/dlaw/Desktop/stations/stations.tsv' AS
|
22
|
-
(usaf_id:chararray, wban_id:chararray, station_name:chararray, wmo_country_id:chararray, fips_country_id:chararray,
|
23
|
-
state:chararray, icao_call_sign:chararray, latitude:chararray, longitude:chararray, elevation:chararray, begin:chararray, end:chararray);
|
24
|
-
|
25
|
-
first_pass_j = JOIN mshr_final BY (wban_id) RIGHT OUTER, stations BY (wban_id);
|
26
|
-
first_pass_f = FILTER first_pass_j BY (mshr_final::icao_id is not null);
|
27
|
-
first_pass = FOREACH first_pass_f GENERATE
|
28
|
-
stations::wban_id, mshr_final::icao_id, stations::icao_call_sign, stations::usaf_id, mshr_final::faa_id,
|
29
|
-
stations::station_name, stations::wmo_country_id, stations::fips_country_id, stations::state, stations::latitude, stations::longitude, stations::elevation, stations::begin, stations::end;
|
30
|
-
|
31
|
-
STORE first_pass INTO '/Users/dlaw/Desktop/stations/airport_stations';
|
@@ -1,33 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
load 'flat/lib/flat.rb'
|
3
|
-
|
4
|
-
# This is a script that uses the flat file parser
|
5
|
-
# to transform the mshr enhanced data file and the
|
6
|
-
# ISD stations list from fixed-width to .tsv.
|
7
|
-
# The script must be in the same directory with
|
8
|
-
# mshr_enhanced.txt, isd_stations.txt, and the
|
9
|
-
# flat file parsing library to work.
|
10
|
-
|
11
|
-
# mshr-enhanced format description can be found at
|
12
|
-
# ftp://ftp.ncdc.noaa.gov/pub/data/homr/docs/MSHR_Enhanced_Table.txt
|
13
|
-
|
14
|
-
# The actual mshr-enhanced table can be found at
|
15
|
-
# http://www.ncdc.noaa.gov/homr/file/mshr_enhanced.txt.zip
|
16
|
-
|
17
|
-
# isd_stations can be found at
|
18
|
-
# http://www1.ncdc.noaa.gov/pub/data/noaa/ish-history.txt
|
19
|
-
|
20
|
-
# Format strings
|
21
|
-
MSHR_FORMAT_STRING = %{s20 s10 s8 s8 s20 s20 s20 s20 s20 s20 s20 s20 s20 s20
|
22
|
-
s100 s30 s100 s30 s100 s100 s10 s40 s10 s50 s2 s2 s100
|
23
|
-
s30 s10 s40 s20 s40 s20 s40 s20 s40 s20 s40 s20 s20 s20
|
24
|
-
s10 s62 s16 s40 s100}
|
25
|
-
ISD_FORMAT_STRING = %{s6 s5 s29 s2 s2 s2 s5 D6e3 D7e3 D6e1 _2 s8 s8}
|
26
|
-
|
27
|
-
# Parse mshr_enhanced
|
28
|
-
mshr_parser = Flat.create_parser(MSHR_FORMAT_STRING,1)
|
29
|
-
mshr_parser.file_to_tsv('mshr_enhanced.txt','mshr_enhanced.tsv')
|
30
|
-
|
31
|
-
# Parse isd_stations
|
32
|
-
isd_parser = Flat.create_parser(ISD_FORMAT_STRING,1,false)
|
33
|
-
isd_parser.file_to_tsv('isd_stations.txt','isd_stations.tsv')
|
@@ -1,19 +0,0 @@
|
|
1
|
-
// Outputs a list of WBAN ids that are assigned to airports in the USA
|
2
|
-
|
3
|
-
mshr = LOAD '/Users/dlaw/Desktop/stations/mshr_enhanced.tsv' AS
|
4
|
-
(source_id:chararray, source:chararray, begin_date:chararray, end_date:chararray, station_status:chararray,
|
5
|
-
ncdcstn_id:chararray, icao_id:chararray, wban_id:chararray, faa_id:chararray, nwsli_id:chararray, wmo_id:chararray,
|
6
|
-
coop_id:chararray, transmittal_id:chararray, ghcnd_id:chararray, name_principal:chararray, name_principal_short:chararray,
|
7
|
-
name_coop:chararray, name_coop_short:chararray, name_publication:chararray, name_alias:chararray, nws_clim_div:chararray,
|
8
|
-
nws_clim_div_name:chararray, state_prov:chararray, county:chararray, nws_st_code:chararray, fips_country_code:chararray,
|
9
|
-
fips_country_name:chararray, nws_region:chararray, nws_wfo:chararray, elev_ground:chararray, elev_ground_unit:chararray,
|
10
|
-
elev_barom:chararray, elev_barom_unit:chararray, elev_air:chararray, elev_air_unit:chararray, elev_zerodat:chararray,
|
11
|
-
elev_zerodat_unit:chararray, elev_unk:chararray, elev_unk_unit:chararray, lat_dec:chararray, lon_dec:chararray,
|
12
|
-
lat_lon_precision:chararray, relocation:chararray, utc_offset:chararray, obs_env:chararray, platform:chararray);
|
13
|
-
|
14
|
-
mshr_grouped = GROUP mshr BY (icao_id, wban_id, faa_id, fips_country_code);
|
15
|
-
mshr_flattened = FOREACH mshr_grouped GENERATE FLATTEN(group) AS (wban_id, icao_id, faa_id, fips_country_code);
|
16
|
-
mshr_filtered = FILTER mshr_flattened BY (icao_id is not null and wban_id is not null and fips_country_code == 'US');
|
17
|
-
|
18
|
-
mshr_final = FOREACH mshr_filtered GENERATE wban_id;
|
19
|
-
STORE mshr_final INTO '/Users/dlaw/Desktop/stations/usa_wbans';
|
@@ -1,2157 +0,0 @@
|
|
1
|
-
03069
|
2
|
-
94119
|
3
|
-
04204
|
4
|
-
94991
|
5
|
-
53928
|
6
|
-
54779
|
7
|
-
03196
|
8
|
-
63844
|
9
|
-
63875
|
10
|
-
53929
|
11
|
-
64773
|
12
|
-
04201
|
13
|
-
94076
|
14
|
-
04849
|
15
|
-
63834
|
16
|
-
94037
|
17
|
-
63839
|
18
|
-
63876
|
19
|
-
63877
|
20
|
-
03051
|
21
|
-
63878
|
22
|
-
12981
|
23
|
-
12971
|
24
|
-
53866
|
25
|
-
53904
|
26
|
-
12978
|
27
|
-
53862
|
28
|
-
94061
|
29
|
-
63848
|
30
|
-
63879
|
31
|
-
63847
|
32
|
-
53990
|
33
|
-
53966
|
34
|
-
53972
|
35
|
-
03053
|
36
|
-
94298
|
37
|
-
03032
|
38
|
-
63827
|
39
|
-
92807
|
40
|
-
92807
|
41
|
-
03064
|
42
|
-
93226
|
43
|
-
63880
|
44
|
-
94993
|
45
|
-
53964
|
46
|
-
94623
|
47
|
-
94070
|
48
|
-
94943
|
49
|
-
04862
|
50
|
-
12832
|
51
|
-
03974
|
52
|
-
94299
|
53
|
-
14737
|
54
|
-
13962
|
55
|
-
23050
|
56
|
-
14929
|
57
|
-
14929
|
58
|
-
03019
|
59
|
-
13869
|
60
|
-
04863
|
61
|
-
14756
|
62
|
-
53991
|
63
|
-
54916
|
64
|
-
13959
|
65
|
-
24283
|
66
|
-
93730
|
67
|
-
94997
|
68
|
-
04847
|
69
|
-
53930
|
70
|
-
93940
|
71
|
-
03970
|
72
|
-
03043
|
73
|
-
94998
|
74
|
-
13705
|
75
|
-
03034
|
76
|
-
03064
|
77
|
-
94968
|
78
|
-
93915
|
79
|
-
93065
|
80
|
-
04827
|
81
|
-
04993
|
82
|
-
54770
|
83
|
-
53909
|
84
|
-
14762
|
85
|
-
12804
|
86
|
-
03820
|
87
|
-
13873
|
88
|
-
24044
|
89
|
-
04828
|
90
|
-
04864
|
91
|
-
14930
|
92
|
-
94999
|
93
|
-
53931
|
94
|
-
63853
|
95
|
-
53175
|
96
|
-
53870
|
97
|
-
24015
|
98
|
-
93773
|
99
|
-
93773
|
100
|
-
14813
|
101
|
-
14735
|
102
|
-
12932
|
103
|
-
53146
|
104
|
-
93097
|
105
|
-
03958
|
106
|
-
94910
|
107
|
-
23061
|
108
|
-
24160
|
109
|
-
63833
|
110
|
-
23047
|
111
|
-
23047
|
112
|
-
13870
|
113
|
-
53989
|
114
|
-
54816
|
115
|
-
94989
|
116
|
-
12899
|
117
|
-
13871
|
118
|
-
93846
|
119
|
-
94974
|
120
|
-
14847
|
121
|
-
94975
|
122
|
-
04850
|
123
|
-
14736
|
124
|
-
93067
|
125
|
-
93227
|
126
|
-
12897
|
127
|
-
13701
|
128
|
-
94849
|
129
|
-
04837
|
130
|
-
04837
|
131
|
-
53983
|
132
|
-
54917
|
133
|
-
53932
|
134
|
-
03949
|
135
|
-
54768
|
136
|
-
53915
|
137
|
-
94889
|
138
|
-
93991
|
139
|
-
12953
|
140
|
-
04808
|
141
|
-
94790
|
142
|
-
04865
|
143
|
-
94987
|
144
|
-
53865
|
145
|
-
93073
|
146
|
-
03973
|
147
|
-
54754
|
148
|
-
93796
|
149
|
-
94224
|
150
|
-
54809
|
151
|
-
94929
|
152
|
-
13874
|
153
|
-
03035
|
154
|
-
13958
|
155
|
-
04825
|
156
|
-
94287
|
157
|
-
14946
|
158
|
-
14605
|
159
|
-
04901
|
160
|
-
04902
|
161
|
-
23224
|
162
|
-
03892
|
163
|
-
13904
|
164
|
-
13958
|
165
|
-
14897
|
166
|
-
93797
|
167
|
-
53933
|
168
|
-
03812
|
169
|
-
14777
|
170
|
-
23191
|
171
|
-
04903
|
172
|
-
94190
|
173
|
-
53959
|
174
|
-
04205
|
175
|
-
04904
|
176
|
-
14910
|
177
|
-
63901
|
178
|
-
04779
|
179
|
-
13861
|
180
|
-
53129
|
181
|
-
94815
|
182
|
-
54772
|
183
|
-
93216
|
184
|
-
13944
|
185
|
-
14775
|
186
|
-
13803
|
187
|
-
24119
|
188
|
-
24119
|
189
|
-
54817
|
190
|
-
12971
|
191
|
-
54904
|
192
|
-
93942
|
193
|
-
94946
|
194
|
-
93240
|
195
|
-
53881
|
196
|
-
23159
|
197
|
-
12803
|
198
|
-
94961
|
199
|
-
14816
|
200
|
-
03036
|
201
|
-
14740
|
202
|
-
94702
|
203
|
-
14702
|
204
|
-
94871
|
205
|
-
04751
|
206
|
-
24028
|
207
|
-
24234
|
208
|
-
23155
|
209
|
-
13838
|
210
|
-
04905
|
211
|
-
03024
|
212
|
-
53882
|
213
|
-
04725
|
214
|
-
04725
|
215
|
-
14606
|
216
|
-
23005
|
217
|
-
14616
|
218
|
-
94055
|
219
|
-
13876
|
220
|
-
94289
|
221
|
-
94793
|
222
|
-
94947
|
223
|
-
23157
|
224
|
-
63835
|
225
|
-
24033
|
226
|
-
24011
|
227
|
-
24011
|
228
|
-
04839
|
229
|
-
13820
|
230
|
-
03065
|
231
|
-
93068
|
232
|
-
14958
|
233
|
-
04842
|
234
|
-
53145
|
235
|
-
53988
|
236
|
-
24130
|
237
|
-
23036
|
238
|
-
04853
|
239
|
-
12982
|
240
|
-
13726
|
241
|
-
12818
|
242
|
-
03872
|
243
|
-
94902
|
244
|
-
03859
|
245
|
-
23158
|
246
|
-
24217
|
247
|
-
54760
|
248
|
-
23225
|
249
|
-
13802
|
250
|
-
94046
|
251
|
-
24180
|
252
|
-
03893
|
253
|
-
54831
|
254
|
-
94700
|
255
|
-
03999
|
256
|
-
53823
|
257
|
-
13897
|
258
|
-
25312
|
259
|
-
94185
|
260
|
-
04906
|
261
|
-
24131
|
262
|
-
24267
|
263
|
-
14739
|
264
|
-
12809
|
265
|
-
54765
|
266
|
-
03044
|
267
|
-
24164
|
268
|
-
53918
|
269
|
-
12917
|
270
|
-
53883
|
271
|
-
53992
|
272
|
-
94938
|
273
|
-
14931
|
274
|
-
12919
|
275
|
-
12919
|
276
|
-
13904
|
277
|
-
14815
|
278
|
-
24135
|
279
|
-
64705
|
280
|
-
13970
|
281
|
-
14742
|
282
|
-
14964
|
283
|
-
14733
|
284
|
-
14733
|
285
|
-
23156
|
286
|
-
23152
|
287
|
-
04866
|
288
|
-
93783
|
289
|
-
04813
|
290
|
-
54921
|
291
|
-
03959
|
292
|
-
94282
|
293
|
-
53934
|
294
|
-
54733
|
295
|
-
93943
|
296
|
-
93808
|
297
|
-
93721
|
298
|
-
54922
|
299
|
-
94054
|
300
|
-
13814
|
301
|
-
24133
|
302
|
-
03182
|
303
|
-
92804
|
304
|
-
12981
|
305
|
-
24132
|
306
|
-
04867
|
307
|
-
04839
|
308
|
-
04868
|
309
|
-
14817
|
310
|
-
13883
|
311
|
-
13883
|
312
|
-
24046
|
313
|
-
14895
|
314
|
-
23051
|
315
|
-
14607
|
316
|
-
04907
|
317
|
-
03732
|
318
|
-
04908
|
319
|
-
04909
|
320
|
-
03037
|
321
|
-
13825
|
322
|
-
94625
|
323
|
-
04101
|
324
|
-
53884
|
325
|
-
23254
|
326
|
-
03038
|
327
|
-
54764
|
328
|
-
14966
|
329
|
-
93129
|
330
|
-
94977
|
331
|
-
53916
|
332
|
-
24017
|
333
|
-
23007
|
334
|
-
54743
|
335
|
-
24286
|
336
|
-
14703
|
337
|
-
53850
|
338
|
-
13884
|
339
|
-
93069
|
340
|
-
54901
|
341
|
-
54828
|
342
|
-
93967
|
343
|
-
04805
|
344
|
-
03935
|
345
|
-
94866
|
346
|
-
03914
|
347
|
-
13882
|
348
|
-
53128
|
349
|
-
53935
|
350
|
-
93736
|
351
|
-
13880
|
352
|
-
93203
|
353
|
-
14990
|
354
|
-
04910
|
355
|
-
93809
|
356
|
-
04869
|
357
|
-
93798
|
358
|
-
03802
|
359
|
-
04911
|
360
|
-
03881
|
361
|
-
04912
|
362
|
-
54920
|
363
|
-
03894
|
364
|
-
14820
|
365
|
-
14820
|
366
|
-
54832
|
367
|
-
13999
|
368
|
-
03904
|
369
|
-
94266
|
370
|
-
13881
|
371
|
-
53845
|
372
|
-
23136
|
373
|
-
14821
|
374
|
-
94870
|
375
|
-
14858
|
376
|
-
94940
|
377
|
-
54923
|
378
|
-
04913
|
379
|
-
13984
|
380
|
-
23086
|
381
|
-
93033
|
382
|
-
03179
|
383
|
-
13981
|
384
|
-
93075
|
385
|
-
24045
|
386
|
-
24136
|
387
|
-
12867
|
388
|
-
14745
|
389
|
-
04914
|
390
|
-
93037
|
391
|
-
12947
|
392
|
-
03945
|
393
|
-
13983
|
394
|
-
93799
|
395
|
-
03701
|
396
|
-
24089
|
397
|
-
03960
|
398
|
-
53981
|
399
|
-
03039
|
400
|
-
53936
|
401
|
-
03027
|
402
|
-
54905
|
403
|
-
93134
|
404
|
-
94199
|
405
|
-
94624
|
406
|
-
93718
|
407
|
-
53860
|
408
|
-
12924
|
409
|
-
12924
|
410
|
-
03177
|
411
|
-
53912
|
412
|
-
13866
|
413
|
-
12879
|
414
|
-
93842
|
415
|
-
03932
|
416
|
-
04915
|
417
|
-
03847
|
418
|
-
24137
|
419
|
-
12833
|
420
|
-
03727
|
421
|
-
53867
|
422
|
-
53993
|
423
|
-
63840
|
424
|
-
94032
|
425
|
-
93814
|
426
|
-
23077
|
427
|
-
24202
|
428
|
-
23008
|
429
|
-
04870
|
430
|
-
94890
|
431
|
-
13941
|
432
|
-
94979
|
433
|
-
53902
|
434
|
-
54774
|
435
|
-
14751
|
436
|
-
24018
|
437
|
-
24018
|
438
|
-
94204
|
439
|
-
03164
|
440
|
-
94056
|
441
|
-
93728
|
442
|
-
12834
|
443
|
-
23161
|
444
|
-
13960
|
445
|
-
13728
|
446
|
-
54791
|
447
|
-
93235
|
448
|
-
93815
|
449
|
-
63881
|
450
|
-
94908
|
451
|
-
13743
|
452
|
-
53852
|
453
|
-
13985
|
454
|
-
13985
|
455
|
-
54781
|
456
|
-
03887
|
457
|
-
04916
|
458
|
-
03017
|
459
|
-
23062
|
460
|
-
53925
|
461
|
-
14822
|
462
|
-
94119
|
463
|
-
25515
|
464
|
-
04851
|
465
|
-
03927
|
466
|
-
22015
|
467
|
-
94057
|
468
|
-
13839
|
469
|
-
93843
|
470
|
-
93042
|
471
|
-
04135
|
472
|
-
24012
|
473
|
-
93771
|
474
|
-
04871
|
475
|
-
14747
|
476
|
-
03073
|
477
|
-
22001
|
478
|
-
14913
|
479
|
-
14913
|
480
|
-
54833
|
481
|
-
24138
|
482
|
-
24219
|
483
|
-
23109
|
484
|
-
93784
|
485
|
-
23078
|
486
|
-
03994
|
487
|
-
03724
|
488
|
-
94984
|
489
|
-
63903
|
490
|
-
13837
|
491
|
-
53885
|
492
|
-
04917
|
493
|
-
94891
|
494
|
-
13707
|
495
|
-
93770
|
496
|
-
94878
|
497
|
-
94892
|
498
|
-
24103
|
499
|
-
03702
|
500
|
-
63842
|
501
|
-
03160
|
502
|
-
03976
|
503
|
-
54844
|
504
|
-
93005
|
505
|
-
22010
|
506
|
-
14933
|
507
|
-
94704
|
508
|
-
23162
|
509
|
-
94962
|
510
|
-
53905
|
511
|
-
03991
|
512
|
-
53853
|
513
|
-
94847
|
514
|
-
04830
|
515
|
-
53937
|
516
|
-
53938
|
517
|
-
93026
|
518
|
-
04872
|
519
|
-
04787
|
520
|
-
03070
|
521
|
-
94928
|
522
|
-
94982
|
523
|
-
94982
|
524
|
-
54924
|
525
|
-
03184
|
526
|
-
53910
|
527
|
-
54734
|
528
|
-
04918
|
529
|
-
54786
|
530
|
-
03809
|
531
|
-
13910
|
532
|
-
04919
|
533
|
-
03987
|
534
|
-
53965
|
535
|
-
03049
|
536
|
-
14905
|
537
|
-
94239
|
538
|
-
14991
|
539
|
-
03983
|
540
|
-
03983
|
541
|
-
12983
|
542
|
-
04920
|
543
|
-
13786
|
544
|
-
13787
|
545
|
-
73805
|
546
|
-
23098
|
547
|
-
03703
|
548
|
-
03197
|
549
|
-
23114
|
550
|
-
23179
|
551
|
-
94721
|
552
|
-
94050
|
553
|
-
53864
|
554
|
-
12906
|
555
|
-
54758
|
556
|
-
04873
|
557
|
-
23063
|
558
|
-
03844
|
559
|
-
54838
|
560
|
-
93076
|
561
|
-
63843
|
562
|
-
53886
|
563
|
-
24213
|
564
|
-
04806
|
565
|
-
13729
|
566
|
-
24121
|
567
|
-
63882
|
568
|
-
93992
|
569
|
-
03977
|
570
|
-
14748
|
571
|
-
24220
|
572
|
-
94964
|
573
|
-
23044
|
574
|
-
23154
|
575
|
-
54757
|
576
|
-
24165
|
577
|
-
13989
|
578
|
-
03165
|
579
|
-
03704
|
580
|
-
53112
|
581
|
-
13909
|
582
|
-
53887
|
583
|
-
24193
|
584
|
-
04845
|
585
|
-
54766
|
586
|
-
53876
|
587
|
-
04921
|
588
|
-
53851
|
589
|
-
24141
|
590
|
-
14608
|
591
|
-
03020
|
592
|
-
53872
|
593
|
-
14860
|
594
|
-
25318
|
595
|
-
12961
|
596
|
-
04874
|
597
|
-
14824
|
598
|
-
94853
|
599
|
-
13935
|
600
|
-
03756
|
601
|
-
94971
|
602
|
-
53110
|
603
|
-
04875
|
604
|
-
04922
|
605
|
-
63872
|
606
|
-
24221
|
607
|
-
94195
|
608
|
-
92808
|
609
|
-
04923
|
610
|
-
93817
|
611
|
-
04111
|
612
|
-
53825
|
613
|
-
94726
|
614
|
-
53939
|
615
|
-
93719
|
616
|
-
14734
|
617
|
-
12971
|
618
|
-
53888
|
619
|
-
53842
|
620
|
-
03705
|
621
|
-
12836
|
622
|
-
53114
|
623
|
-
03706
|
624
|
-
53969
|
625
|
-
53907
|
626
|
-
93735
|
627
|
-
93996
|
628
|
-
14914
|
629
|
-
93193
|
630
|
-
93740
|
631
|
-
93737
|
632
|
-
94969
|
633
|
-
24146
|
634
|
-
23167
|
635
|
-
24047
|
636
|
-
94963
|
637
|
-
94015
|
638
|
-
53831
|
639
|
-
13730
|
640
|
-
03981
|
641
|
-
03981
|
642
|
-
03022
|
643
|
-
14825
|
644
|
-
04876
|
645
|
-
04924
|
646
|
-
94006
|
647
|
-
03736
|
648
|
-
53819
|
649
|
-
53819
|
650
|
-
04925
|
651
|
-
94966
|
652
|
-
13840
|
653
|
-
53841
|
654
|
-
03185
|
655
|
-
04926
|
656
|
-
94276
|
657
|
-
03124
|
658
|
-
54792
|
659
|
-
04780
|
660
|
-
04927
|
661
|
-
94868
|
662
|
-
13763
|
663
|
-
54818
|
664
|
-
04840
|
665
|
-
03103
|
666
|
-
12849
|
667
|
-
13744
|
668
|
-
03918
|
669
|
-
13921
|
670
|
-
93733
|
671
|
-
14704
|
672
|
-
23090
|
673
|
-
12835
|
674
|
-
94957
|
675
|
-
94035
|
676
|
-
94062
|
677
|
-
14826
|
678
|
-
53889
|
679
|
-
23256
|
680
|
-
94933
|
681
|
-
13920
|
682
|
-
14719
|
683
|
-
04928
|
684
|
-
04877
|
685
|
-
12895
|
686
|
-
53890
|
687
|
-
54787
|
688
|
-
13947
|
689
|
-
94948
|
690
|
-
14944
|
691
|
-
14944
|
692
|
-
04929
|
693
|
-
13945
|
694
|
-
13964
|
695
|
-
23091
|
696
|
-
04930
|
697
|
-
53113
|
698
|
-
03018
|
699
|
-
13807
|
700
|
-
13961
|
701
|
-
03888
|
702
|
-
03166
|
703
|
-
04836
|
704
|
-
03707
|
705
|
-
14827
|
706
|
-
53891
|
707
|
-
54793
|
708
|
-
03985
|
709
|
-
03985
|
710
|
-
12885
|
711
|
-
03734
|
712
|
-
93993
|
713
|
-
54773
|
714
|
-
03896
|
715
|
-
13975
|
716
|
-
93764
|
717
|
-
12993
|
718
|
-
13940
|
719
|
-
94959
|
720
|
-
03148
|
721
|
-
23168
|
722
|
-
94023
|
723
|
-
23064
|
724
|
-
53940
|
725
|
-
03195
|
726
|
-
04999
|
727
|
-
53977
|
728
|
-
23055
|
729
|
-
24087
|
730
|
-
13764
|
731
|
-
24157
|
732
|
-
53126
|
733
|
-
53892
|
734
|
-
24048
|
735
|
-
53866
|
736
|
-
24112
|
737
|
-
14916
|
738
|
-
14750
|
739
|
-
03901
|
740
|
-
14976
|
741
|
-
94008
|
742
|
-
94008
|
743
|
-
64774
|
744
|
-
04931
|
745
|
-
12876
|
746
|
-
23066
|
747
|
-
03025
|
748
|
-
04843
|
749
|
-
53907
|
750
|
-
23065
|
751
|
-
23065
|
752
|
-
93929
|
753
|
-
13939
|
754
|
-
04854
|
755
|
-
12923
|
756
|
-
53941
|
757
|
-
13886
|
758
|
-
94992
|
759
|
-
03056
|
760
|
-
24142
|
761
|
-
12990
|
762
|
-
94626
|
763
|
-
93057
|
764
|
-
12816
|
765
|
-
53913
|
766
|
-
14707
|
767
|
-
04878
|
768
|
-
24146
|
769
|
-
53984
|
770
|
-
93874
|
771
|
-
94919
|
772
|
-
14898
|
773
|
-
14898
|
774
|
-
53874
|
775
|
-
24201
|
776
|
-
14935
|
777
|
-
03902
|
778
|
-
03992
|
779
|
-
94860
|
780
|
-
94860
|
781
|
-
13713
|
782
|
-
14829
|
783
|
-
13723
|
784
|
-
03870
|
785
|
-
03870
|
786
|
-
14715
|
787
|
-
24143
|
788
|
-
53893
|
789
|
-
53942
|
790
|
-
93007
|
791
|
-
23081
|
792
|
-
94833
|
793
|
-
03030
|
794
|
-
53838
|
795
|
-
13926
|
796
|
-
03929
|
797
|
-
13978
|
798
|
-
03708
|
799
|
-
53837
|
800
|
-
24051
|
801
|
-
53979
|
802
|
-
63889
|
803
|
-
53967
|
804
|
-
04932
|
805
|
-
03186
|
806
|
-
54762
|
807
|
-
04807
|
808
|
-
53820
|
809
|
-
54850
|
810
|
-
53855
|
811
|
-
13833
|
812
|
-
03709
|
813
|
-
93986
|
814
|
-
12994
|
815
|
-
04933
|
816
|
-
04934
|
817
|
-
03908
|
818
|
-
04935
|
819
|
-
94025
|
820
|
-
12962
|
821
|
-
03023
|
822
|
-
03710
|
823
|
-
53894
|
824
|
-
94038
|
825
|
-
63873
|
826
|
-
03961
|
827
|
-
14752
|
828
|
-
93747
|
829
|
-
93706
|
830
|
-
93218
|
831
|
-
03980
|
832
|
-
93046
|
833
|
-
03167
|
834
|
-
94931
|
835
|
-
54728
|
836
|
-
24101
|
837
|
-
94261
|
838
|
-
04998
|
839
|
-
53119
|
840
|
-
53869
|
841
|
-
13927
|
842
|
-
03810
|
843
|
-
93990
|
844
|
-
14894
|
845
|
-
24144
|
846
|
-
03933
|
847
|
-
53895
|
848
|
-
23002
|
849
|
-
94187
|
850
|
-
53896
|
851
|
-
53127
|
852
|
-
04936
|
853
|
-
53111
|
854
|
-
03711
|
855
|
-
93034
|
856
|
-
14936
|
857
|
-
13806
|
858
|
-
03962
|
859
|
-
12918
|
860
|
-
94745
|
861
|
-
94745
|
862
|
-
53839
|
863
|
-
94225
|
864
|
-
63836
|
865
|
-
53970
|
866
|
-
04113
|
867
|
-
03712
|
868
|
-
12904
|
869
|
-
13971
|
870
|
-
03852
|
871
|
-
63852
|
872
|
-
53897
|
873
|
-
93729
|
874
|
-
94949
|
875
|
-
93757
|
876
|
-
12826
|
877
|
-
03856
|
878
|
-
94814
|
879
|
-
64761
|
880
|
-
03860
|
881
|
-
53857
|
882
|
-
63883
|
883
|
-
03868
|
884
|
-
93823
|
885
|
-
14609
|
886
|
-
12927
|
887
|
-
26522
|
888
|
-
13986
|
889
|
-
23170
|
890
|
-
14758
|
891
|
-
94012
|
892
|
-
93228
|
893
|
-
92809
|
894
|
-
54790
|
895
|
-
63837
|
896
|
-
94720
|
897
|
-
12979
|
898
|
-
94973
|
899
|
-
03968
|
900
|
-
04829
|
901
|
-
04997
|
902
|
-
04857
|
903
|
-
53842
|
904
|
-
63884
|
905
|
-
03923
|
906
|
-
93738
|
907
|
-
04724
|
908
|
-
12960
|
909
|
-
94073
|
910
|
-
04937
|
911
|
-
94990
|
912
|
-
03928
|
913
|
-
03928
|
914
|
-
53118
|
915
|
-
24145
|
916
|
-
64706
|
917
|
-
94039
|
918
|
-
53943
|
919
|
-
53135
|
920
|
-
93167
|
921
|
-
04879
|
922
|
-
93785
|
923
|
-
04989
|
924
|
-
53898
|
925
|
-
54767
|
926
|
-
53944
|
927
|
-
04880
|
928
|
-
25626
|
929
|
-
04938
|
930
|
-
03972
|
931
|
-
13781
|
932
|
-
13748
|
933
|
-
13841
|
934
|
-
13841
|
935
|
-
04833
|
936
|
-
04833
|
937
|
-
24091
|
938
|
-
94893
|
939
|
-
93819
|
940
|
-
93819
|
941
|
-
53972
|
942
|
-
23040
|
943
|
-
14918
|
944
|
-
23141
|
945
|
-
93807
|
946
|
-
23194
|
947
|
-
03984
|
948
|
-
14937
|
949
|
-
53899
|
950
|
-
03144
|
951
|
-
14778
|
952
|
-
14938
|
953
|
-
54827
|
954
|
-
92813
|
955
|
-
94014
|
956
|
-
93726
|
957
|
-
04781
|
958
|
-
04881
|
959
|
-
04826
|
960
|
-
94761
|
961
|
-
03026
|
962
|
-
23104
|
963
|
-
23104
|
964
|
-
94926
|
965
|
-
94623
|
966
|
-
12969
|
967
|
-
04844
|
968
|
-
93909
|
969
|
-
93194
|
970
|
-
93244
|
971
|
-
54772
|
972
|
-
24166
|
973
|
-
03940
|
974
|
-
53945
|
975
|
-
13889
|
976
|
-
13889
|
977
|
-
03953
|
978
|
-
13973
|
979
|
-
53978
|
980
|
-
94051
|
981
|
-
03963
|
982
|
-
04110
|
983
|
-
94789
|
984
|
-
03730
|
985
|
-
53824
|
986
|
-
04720
|
987
|
-
63885
|
988
|
-
04939
|
989
|
-
03889
|
990
|
-
03889
|
991
|
-
13987
|
992
|
-
04940
|
993
|
-
14919
|
994
|
-
03713
|
995
|
-
14834
|
996
|
-
63801
|
997
|
-
53971
|
998
|
-
04726
|
999
|
-
53946
|
1000
|
-
94854
|
1001
|
-
53947
|
1002
|
-
53966
|
1003
|
-
53982
|
1004
|
-
14833
|
1005
|
-
54906
|
1006
|
-
63846
|
1007
|
-
04882
|
1008
|
-
03714
|
1009
|
-
14989
|
1010
|
-
25314
|
1011
|
-
24223
|
1012
|
-
53995
|
1013
|
-
03013
|
1014
|
-
14835
|
1015
|
-
12883
|
1016
|
-
93091
|
1017
|
-
14836
|
1018
|
-
24022
|
1019
|
-
23169
|
1020
|
-
03950
|
1021
|
-
23174
|
1022
|
-
23042
|
1023
|
-
23042
|
1024
|
-
54735
|
1025
|
-
24023
|
1026
|
-
23020
|
1027
|
-
53963
|
1028
|
-
13776
|
1029
|
-
12976
|
1030
|
-
54925
|
1031
|
-
03937
|
1032
|
-
03937
|
1033
|
-
54736
|
1034
|
-
13812
|
1035
|
-
04883
|
1036
|
-
94765
|
1037
|
-
12819
|
1038
|
-
94709
|
1039
|
-
93820
|
1040
|
-
13702
|
1041
|
-
93987
|
1042
|
-
13976
|
1043
|
-
14732
|
1044
|
-
23129
|
1045
|
-
03821
|
1046
|
-
24148
|
1047
|
-
94128
|
1048
|
-
53973
|
1049
|
-
53844
|
1050
|
-
03875
|
1051
|
-
23067
|
1052
|
-
03731
|
1053
|
-
93010
|
1054
|
-
13963
|
1055
|
-
53813
|
1056
|
-
53813
|
1057
|
-
14623
|
1058
|
-
04941
|
1059
|
-
03715
|
1060
|
-
94285
|
1061
|
-
04114
|
1062
|
-
53919
|
1063
|
-
94236
|
1064
|
-
53975
|
1065
|
-
24021
|
1066
|
-
14939
|
1067
|
-
14886
|
1068
|
-
04809
|
1069
|
-
63802
|
1070
|
-
14921
|
1071
|
-
54737
|
1072
|
-
94049
|
1073
|
-
24172
|
1074
|
-
64752
|
1075
|
-
53861
|
1076
|
-
04831
|
1077
|
-
04831
|
1078
|
-
13810
|
1079
|
-
03849
|
1080
|
-
23243
|
1081
|
-
04849
|
1082
|
-
12907
|
1083
|
-
03930
|
1084
|
-
04942
|
1085
|
-
93041
|
1086
|
-
04108
|
1087
|
-
14920
|
1088
|
-
13829
|
1089
|
-
23112
|
1090
|
-
03982
|
1091
|
-
03982
|
1092
|
-
13902
|
1093
|
-
93774
|
1094
|
-
53964
|
1095
|
-
23111
|
1096
|
-
93812
|
1097
|
-
04995
|
1098
|
-
12975
|
1099
|
-
23285
|
1100
|
-
24150
|
1101
|
-
04943
|
1102
|
-
23054
|
1103
|
-
53827
|
1104
|
-
54826
|
1105
|
-
53801
|
1106
|
-
03997
|
1107
|
-
94991
|
1108
|
-
94723
|
1109
|
-
24149
|
1110
|
-
24036
|
1111
|
-
13809
|
1112
|
-
93767
|
1113
|
-
04944
|
1114
|
-
14994
|
1115
|
-
53879
|
1116
|
-
93009
|
1117
|
-
13733
|
1118
|
-
54926
|
1119
|
-
03952
|
1120
|
-
03952
|
1121
|
-
63803
|
1122
|
-
63851
|
1123
|
-
93242
|
1124
|
-
23023
|
1125
|
-
23023
|
1126
|
-
03818
|
1127
|
-
03817
|
1128
|
-
94296
|
1129
|
-
94052
|
1130
|
-
94894
|
1131
|
-
14845
|
1132
|
-
94048
|
1133
|
-
93919
|
1134
|
-
23208
|
1135
|
-
54820
|
1136
|
-
23257
|
1137
|
-
12810
|
1138
|
-
03947
|
1139
|
-
94040
|
1140
|
-
03813
|
1141
|
-
12815
|
1142
|
-
14940
|
1143
|
-
03071
|
1144
|
-
93810
|
1145
|
-
63804
|
1146
|
-
14711
|
1147
|
-
14819
|
1148
|
-
54911
|
1149
|
-
93782
|
1150
|
-
24152
|
1151
|
-
13865
|
1152
|
-
13893
|
1153
|
-
23203
|
1154
|
-
53996
|
1155
|
-
14891
|
1156
|
-
12959
|
1157
|
-
94985
|
1158
|
-
24225
|
1159
|
-
03716
|
1160
|
-
13864
|
1161
|
-
04945
|
1162
|
-
04789
|
1163
|
-
13895
|
1164
|
-
04884
|
1165
|
-
53817
|
1166
|
-
13736
|
1167
|
-
53859
|
1168
|
-
94950
|
1169
|
-
03936
|
1170
|
-
23206
|
1171
|
-
24215
|
1172
|
-
14710
|
1173
|
-
03183
|
1174
|
-
93768
|
1175
|
-
12839
|
1176
|
-
94011
|
1177
|
-
94960
|
1178
|
-
94895
|
1179
|
-
13735
|
1180
|
-
94988
|
1181
|
-
04946
|
1182
|
-
13988
|
1183
|
-
14839
|
1184
|
-
14840
|
1185
|
-
63805
|
1186
|
-
03811
|
1187
|
-
53997
|
1188
|
-
93953
|
1189
|
-
14954
|
1190
|
-
04834
|
1191
|
-
12838
|
1192
|
-
12838
|
1193
|
-
93950
|
1194
|
-
24151
|
1195
|
-
04992
|
1196
|
-
23176
|
1197
|
-
14923
|
1198
|
-
63886
|
1199
|
-
24154
|
1200
|
-
24037
|
1201
|
-
14610
|
1202
|
-
13942
|
1203
|
-
03181
|
1204
|
-
54788
|
1205
|
-
94976
|
1206
|
-
94887
|
1207
|
-
03858
|
1208
|
-
54738
|
1209
|
-
94273
|
1210
|
-
03040
|
1211
|
-
94896
|
1212
|
-
04855
|
1213
|
-
13894
|
1214
|
-
13894
|
1215
|
-
23258
|
1216
|
-
04885
|
1217
|
-
24013
|
1218
|
-
26621
|
1219
|
-
04948
|
1220
|
-
54789
|
1221
|
-
94705
|
1222
|
-
94983
|
1223
|
-
04947
|
1224
|
-
04949
|
1225
|
-
14753
|
1226
|
-
13766
|
1227
|
-
94850
|
1228
|
-
94850
|
1229
|
-
13827
|
1230
|
-
13734
|
1231
|
-
93035
|
1232
|
-
93765
|
1233
|
-
54907
|
1234
|
-
63859
|
1235
|
-
53832
|
1236
|
-
23259
|
1237
|
-
13896
|
1238
|
-
14837
|
1239
|
-
24153
|
1240
|
-
14922
|
1241
|
-
94725
|
1242
|
-
54746
|
1243
|
-
04103
|
1244
|
-
12916
|
1245
|
-
14804
|
1246
|
-
12896
|
1247
|
-
93013
|
1248
|
-
93744
|
1249
|
-
53802
|
1250
|
-
54780
|
1251
|
-
63806
|
1252
|
-
94897
|
1253
|
-
04104
|
1254
|
-
54723
|
1255
|
-
24106
|
1256
|
-
04950
|
1257
|
-
93236
|
1258
|
-
04951
|
1259
|
-
54771
|
1260
|
-
93894
|
1261
|
-
94986
|
1262
|
-
94724
|
1263
|
-
03865
|
1264
|
-
94869
|
1265
|
-
24110
|
1266
|
-
63807
|
1267
|
-
93985
|
1268
|
-
04952
|
1269
|
-
14755
|
1270
|
-
63887
|
1271
|
-
93136
|
1272
|
-
53921
|
1273
|
-
13821
|
1274
|
-
04953
|
1275
|
-
53826
|
1276
|
-
03131
|
1277
|
-
94182
|
1278
|
-
03041
|
1279
|
-
13717
|
1280
|
-
93205
|
1281
|
-
04954
|
1282
|
-
94852
|
1283
|
-
93831
|
1284
|
-
93901
|
1285
|
-
12958
|
1286
|
-
14855
|
1287
|
-
93727
|
1288
|
-
53847
|
1289
|
-
14780
|
1290
|
-
63890
|
1291
|
-
53917
|
1292
|
-
13762
|
1293
|
-
03154
|
1294
|
-
53848
|
1295
|
-
93102
|
1296
|
-
13911
|
1297
|
-
12926
|
1298
|
-
13750
|
1299
|
-
12946
|
1300
|
-
23239
|
1301
|
-
13721
|
1302
|
-
14611
|
1303
|
-
93104
|
1304
|
-
93837
|
1305
|
-
12925
|
1306
|
-
93776
|
1307
|
-
23199
|
1308
|
-
93743
|
1309
|
-
53849
|
1310
|
-
13754
|
1311
|
-
03190
|
1312
|
-
53115
|
1313
|
-
93107
|
1314
|
-
23110
|
1315
|
-
03866
|
1316
|
-
12974
|
1317
|
-
24228
|
1318
|
-
03855
|
1319
|
-
93839
|
1320
|
-
93839
|
1321
|
-
12928
|
1322
|
-
12850
|
1323
|
-
94297
|
1324
|
-
03853
|
1325
|
-
23240
|
1326
|
-
93115
|
1327
|
-
93841
|
1328
|
-
93116
|
1329
|
-
93111
|
1330
|
-
93114
|
1331
|
-
13769
|
1332
|
-
93117
|
1333
|
-
03757
|
1334
|
-
23244
|
1335
|
-
24255
|
1336
|
-
12973
|
1337
|
-
93121
|
1338
|
-
14793
|
1339
|
-
94728
|
1340
|
-
13773
|
1341
|
-
03145
|
1342
|
-
93832
|
1343
|
-
93101
|
1344
|
-
14790
|
1345
|
-
93112
|
1346
|
-
94299
|
1347
|
-
93241
|
1348
|
-
93753
|
1349
|
-
23230
|
1350
|
-
93217
|
1351
|
-
94980
|
1352
|
-
12861
|
1353
|
-
53948
|
1354
|
-
03741
|
1355
|
-
03031
|
1356
|
-
94958
|
1357
|
-
04886
|
1358
|
-
54912
|
1359
|
-
14949
|
1360
|
-
14941
|
1361
|
-
93775
|
1362
|
-
94063
|
1363
|
-
53854
|
1364
|
-
24126
|
1365
|
-
26632
|
1366
|
-
53833
|
1367
|
-
03967
|
1368
|
-
53121
|
1369
|
-
13967
|
1370
|
-
54807
|
1371
|
-
53949
|
1372
|
-
03717
|
1373
|
-
94703
|
1374
|
-
14622
|
1375
|
-
94017
|
1376
|
-
24227
|
1377
|
-
03196
|
1378
|
-
94951
|
1379
|
-
63808
|
1380
|
-
53822
|
1381
|
-
04955
|
1382
|
-
14942
|
1383
|
-
03718
|
1384
|
-
94197
|
1385
|
-
92822
|
1386
|
-
04956
|
1387
|
-
04957
|
1388
|
-
93040
|
1389
|
-
24162
|
1390
|
-
24285
|
1391
|
-
03102
|
1392
|
-
03737
|
1393
|
-
54819
|
1394
|
-
54919
|
1395
|
-
12882
|
1396
|
-
63809
|
1397
|
-
53868
|
1398
|
-
54752
|
1399
|
-
04958
|
1400
|
-
04959
|
1401
|
-
94846
|
1402
|
-
54756
|
1403
|
-
13737
|
1404
|
-
53998
|
1405
|
-
94746
|
1406
|
-
12841
|
1407
|
-
04224
|
1408
|
-
53962
|
1409
|
-
14808
|
1410
|
-
94855
|
1411
|
-
04804
|
1412
|
-
94927
|
1413
|
-
24284
|
1414
|
-
14950
|
1415
|
-
04106
|
1416
|
-
03948
|
1417
|
-
93210
|
1418
|
-
04960
|
1419
|
-
94994
|
1420
|
-
04961
|
1421
|
-
53803
|
1422
|
-
54704
|
1423
|
-
93786
|
1424
|
-
64707
|
1425
|
-
93110
|
1426
|
-
04962
|
1427
|
-
03850
|
1428
|
-
04887
|
1429
|
-
03957
|
1430
|
-
03163
|
1431
|
-
54813
|
1432
|
-
94898
|
1433
|
-
94899
|
1434
|
-
94173
|
1435
|
-
03170
|
1436
|
-
04109
|
1437
|
-
04856
|
1438
|
-
12968
|
1439
|
-
24222
|
1440
|
-
03816
|
1441
|
-
03816
|
1442
|
-
13846
|
1443
|
-
23289
|
1444
|
-
27506
|
1445
|
-
93988
|
1446
|
-
04742
|
1447
|
-
64776
|
1448
|
-
54913
|
1449
|
-
12844
|
1450
|
-
04832
|
1451
|
-
92824
|
1452
|
-
54852
|
1453
|
-
04963
|
1454
|
-
53863
|
1455
|
-
24155
|
1456
|
-
24155
|
1457
|
-
24229
|
1458
|
-
04964
|
1459
|
-
54778
|
1460
|
-
03058
|
1461
|
-
54927
|
1462
|
-
03882
|
1463
|
-
03162
|
1464
|
-
12812
|
1465
|
-
13783
|
1466
|
-
04852
|
1467
|
-
93741
|
1468
|
-
13739
|
1469
|
-
04888
|
1470
|
-
24024
|
1471
|
-
23183
|
1472
|
-
14842
|
1473
|
-
53808
|
1474
|
-
12873
|
1475
|
-
24156
|
1476
|
-
12957
|
1477
|
-
24025
|
1478
|
-
94823
|
1479
|
-
03804
|
1480
|
-
94967
|
1481
|
-
14962
|
1482
|
-
12986
|
1483
|
-
94733
|
1484
|
-
14841
|
1485
|
-
23182
|
1486
|
-
25625
|
1487
|
-
92805
|
1488
|
-
94086
|
1489
|
-
13969
|
1490
|
-
94732
|
1491
|
-
54914
|
1492
|
-
13899
|
1493
|
-
04889
|
1494
|
-
13923
|
1495
|
-
13714
|
1496
|
-
03180
|
1497
|
-
03931
|
1498
|
-
03993
|
1499
|
-
03975
|
1500
|
-
14757
|
1501
|
-
03052
|
1502
|
-
03998
|
1503
|
-
53950
|
1504
|
-
14604
|
1505
|
-
53858
|
1506
|
-
04965
|
1507
|
-
93209
|
1508
|
-
23184
|
1509
|
-
63810
|
1510
|
-
63874
|
1511
|
-
25330
|
1512
|
-
93955
|
1513
|
-
14761
|
1514
|
-
24163
|
1515
|
-
14763
|
1516
|
-
13868
|
1517
|
-
04743
|
1518
|
-
93983
|
1519
|
-
93138
|
1520
|
-
12935
|
1521
|
-
93714
|
1522
|
-
26526
|
1523
|
-
94817
|
1524
|
-
12936
|
1525
|
-
93978
|
1526
|
-
23149
|
1527
|
-
54782
|
1528
|
-
93058
|
1529
|
-
93141
|
1530
|
-
94129
|
1531
|
-
03021
|
1532
|
-
64708
|
1533
|
-
14765
|
1534
|
-
53951
|
1535
|
-
24174
|
1536
|
-
23097
|
1537
|
-
03954
|
1538
|
-
54915
|
1539
|
-
53952
|
1540
|
-
04838
|
1541
|
-
14764
|
1542
|
-
94263
|
1543
|
-
54769
|
1544
|
-
03045
|
1545
|
-
54825
|
1546
|
-
04134
|
1547
|
-
94818
|
1548
|
-
03171
|
1549
|
-
14806
|
1550
|
-
24090
|
1551
|
-
12995
|
1552
|
-
93772
|
1553
|
-
03971
|
1554
|
-
24231
|
1555
|
-
24216
|
1556
|
-
12984
|
1557
|
-
24006
|
1558
|
-
54928
|
1559
|
-
03738
|
1560
|
-
24257
|
1561
|
-
14712
|
1562
|
-
14767
|
1563
|
-
04966
|
1564
|
-
24230
|
1565
|
-
94925
|
1566
|
-
13722
|
1567
|
-
23021
|
1568
|
-
94022
|
1569
|
-
94107
|
1570
|
-
94822
|
1571
|
-
04967
|
1572
|
-
53104
|
1573
|
-
04803
|
1574
|
-
63811
|
1575
|
-
93232
|
1576
|
-
13740
|
1577
|
-
03846
|
1578
|
-
03016
|
1579
|
-
23069
|
1580
|
-
23119
|
1581
|
-
24061
|
1582
|
-
24061
|
1583
|
-
94601
|
1584
|
-
12972
|
1585
|
-
53953
|
1586
|
-
24027
|
1587
|
-
53834
|
1588
|
-
14717
|
1589
|
-
64775
|
1590
|
-
93801
|
1591
|
-
03735
|
1592
|
-
54821
|
1593
|
-
12911
|
1594
|
-
04968
|
1595
|
-
23043
|
1596
|
-
53120
|
1597
|
-
23185
|
1598
|
-
54824
|
1599
|
-
94248
|
1600
|
-
13741
|
1601
|
-
14768
|
1602
|
-
53954
|
1603
|
-
04969
|
1604
|
-
23009
|
1605
|
-
04970
|
1606
|
-
54909
|
1607
|
-
53965
|
1608
|
-
04890
|
1609
|
-
14864
|
1610
|
-
03029
|
1611
|
-
53999
|
1612
|
-
92802
|
1613
|
-
04891
|
1614
|
-
04971
|
1615
|
-
93997
|
1616
|
-
53958
|
1617
|
-
14925
|
1618
|
-
63841
|
1619
|
-
12894
|
1620
|
-
23052
|
1621
|
-
94288
|
1622
|
-
53920
|
1623
|
-
63812
|
1624
|
-
94737
|
1625
|
-
53908
|
1626
|
-
14992
|
1627
|
-
93759
|
1628
|
-
24057
|
1629
|
-
23901
|
1630
|
-
94194
|
1631
|
-
54834
|
1632
|
-
63813
|
1633
|
-
04972
|
1634
|
-
93781
|
1635
|
-
04113
|
1636
|
-
23232
|
1637
|
-
93084
|
1638
|
-
23049
|
1639
|
-
23188
|
1640
|
-
63814
|
1641
|
-
12921
|
1642
|
-
03822
|
1643
|
-
94836
|
1644
|
-
54910
|
1645
|
-
23190
|
1646
|
-
23122
|
1647
|
-
04841
|
1648
|
-
14848
|
1649
|
-
93206
|
1650
|
-
94033
|
1651
|
-
93720
|
1652
|
-
04741
|
1653
|
-
23237
|
1654
|
-
04973
|
1655
|
-
23187
|
1656
|
-
93821
|
1657
|
-
03192
|
1658
|
-
03178
|
1659
|
-
94028
|
1660
|
-
24233
|
1661
|
-
03172
|
1662
|
-
53143
|
1663
|
-
14770
|
1664
|
-
03969
|
1665
|
-
53904
|
1666
|
-
94290
|
1667
|
-
12854
|
1668
|
-
94990
|
1669
|
-
94176
|
1670
|
-
64709
|
1671
|
-
23234
|
1672
|
-
03719
|
1673
|
-
04107
|
1674
|
-
04996
|
1675
|
-
64710
|
1676
|
-
13995
|
1677
|
-
13995
|
1678
|
-
63888
|
1679
|
-
92814
|
1680
|
-
12977
|
1681
|
-
04974
|
1682
|
-
13925
|
1683
|
-
23186
|
1684
|
-
93760
|
1685
|
-
04975
|
1686
|
-
94227
|
1687
|
-
24029
|
1688
|
-
13957
|
1689
|
-
13957
|
1690
|
-
03763
|
1691
|
-
24259
|
1692
|
-
23293
|
1693
|
-
23293
|
1694
|
-
93027
|
1695
|
-
23034
|
1696
|
-
23034
|
1697
|
-
04892
|
1698
|
-
24114
|
1699
|
-
12909
|
1700
|
-
03012
|
1701
|
-
14846
|
1702
|
-
04976
|
1703
|
-
24127
|
1704
|
-
24232
|
1705
|
-
53955
|
1706
|
-
04893
|
1707
|
-
53141
|
1708
|
-
94740
|
1709
|
-
03919
|
1710
|
-
93998
|
1711
|
-
03879
|
1712
|
-
93937
|
1713
|
-
63815
|
1714
|
-
93225
|
1715
|
-
24196
|
1716
|
-
93197
|
1717
|
-
24237
|
1718
|
-
54785
|
1719
|
-
23273
|
1720
|
-
93184
|
1721
|
-
03050
|
1722
|
-
93911
|
1723
|
-
23233
|
1724
|
-
04112
|
1725
|
-
24030
|
1726
|
-
03059
|
1727
|
-
03720
|
1728
|
-
03101
|
1729
|
-
53117
|
1730
|
-
93804
|
1731
|
-
04201
|
1732
|
-
03028
|
1733
|
-
92806
|
1734
|
-
93822
|
1735
|
-
13966
|
1736
|
-
14972
|
1737
|
-
04894
|
1738
|
-
93231
|
1739
|
-
53985
|
1740
|
-
23902
|
1741
|
-
12871
|
1742
|
-
93083
|
1743
|
-
53906
|
1744
|
-
13849
|
1745
|
-
12970
|
1746
|
-
13878
|
1747
|
-
14847
|
1748
|
-
14926
|
1749
|
-
04895
|
1750
|
-
13993
|
1751
|
-
13994
|
1752
|
-
14927
|
1753
|
-
23213
|
1754
|
-
23274
|
1755
|
-
92815
|
1756
|
-
04824
|
1757
|
-
94161
|
1758
|
-
03966
|
1759
|
-
03721
|
1760
|
-
23202
|
1761
|
-
54908
|
1762
|
-
14943
|
1763
|
-
93063
|
1764
|
-
24258
|
1765
|
-
63816
|
1766
|
-
13824
|
1767
|
-
14714
|
1768
|
-
03965
|
1769
|
-
23033
|
1770
|
-
24235
|
1771
|
-
54930
|
1772
|
-
14771
|
1773
|
-
13930
|
1774
|
-
04129
|
1775
|
-
12975
|
1776
|
-
12957
|
1777
|
-
03044
|
1778
|
-
12984
|
1779
|
-
12980
|
1780
|
-
23070
|
1781
|
-
54777
|
1782
|
-
63817
|
1783
|
-
03938
|
1784
|
-
63818
|
1785
|
-
92801
|
1786
|
-
23048
|
1787
|
-
93806
|
1788
|
-
24207
|
1789
|
-
93045
|
1790
|
-
03722
|
1791
|
-
24241
|
1792
|
-
04848
|
1793
|
-
94741
|
1794
|
-
54822
|
1795
|
-
03011
|
1796
|
-
04102
|
1797
|
-
93778
|
1798
|
-
94087
|
1799
|
-
13919
|
1800
|
-
04896
|
1801
|
-
94274
|
1802
|
-
12898
|
1803
|
-
54931
|
1804
|
-
53914
|
1805
|
-
54953
|
1806
|
-
93805
|
1807
|
-
93805
|
1808
|
-
03979
|
1809
|
-
12888
|
1810
|
-
63819
|
1811
|
-
04977
|
1812
|
-
03191
|
1813
|
-
03122
|
1814
|
-
04978
|
1815
|
-
03878
|
1816
|
-
94830
|
1817
|
-
13996
|
1818
|
-
94053
|
1819
|
-
12842
|
1820
|
-
92825
|
1821
|
-
23153
|
1822
|
-
93984
|
1823
|
-
94978
|
1824
|
-
53956
|
1825
|
-
13877
|
1826
|
-
93201
|
1827
|
-
53911
|
1828
|
-
03104
|
1829
|
-
03723
|
1830
|
-
24242
|
1831
|
-
54823
|
1832
|
-
14792
|
1833
|
-
12886
|
1834
|
-
13968
|
1835
|
-
73804
|
1836
|
-
93862
|
1837
|
-
23160
|
1838
|
-
14850
|
1839
|
-
94956
|
1840
|
-
93230
|
1841
|
-
03996
|
1842
|
-
94178
|
1843
|
-
04979
|
1844
|
-
03986
|
1845
|
-
13977
|
1846
|
-
13972
|
1847
|
-
13891
|
1848
|
-
54776
|
1849
|
-
63825
|
1850
|
-
94194
|
1851
|
-
04114
|
1852
|
-
04116
|
1853
|
-
04110
|
1854
|
-
94184
|
1855
|
-
94281
|
1856
|
-
94794
|
1857
|
-
63820
|
1858
|
-
03742
|
1859
|
-
94047
|
1860
|
-
04897
|
1861
|
-
94981
|
1862
|
-
14880
|
1863
|
-
94240
|
1864
|
-
93989
|
1865
|
-
63821
|
1866
|
-
23275
|
1867
|
-
64753
|
1868
|
-
04980
|
1869
|
-
03946
|
1870
|
-
53901
|
1871
|
-
04898
|
1872
|
-
54739
|
1873
|
-
53806
|
1874
|
-
23903
|
1875
|
-
53903
|
1876
|
-
14787
|
1877
|
-
12985
|
1878
|
-
53871
|
1879
|
-
13857
|
1880
|
-
53856
|
1881
|
-
93780
|
1882
|
-
93214
|
1883
|
-
03978
|
1884
|
-
93234
|
1885
|
-
93241
|
1886
|
-
12912
|
1887
|
-
23131
|
1888
|
-
92816
|
1889
|
-
63822
|
1890
|
-
94030
|
1891
|
-
53123
|
1892
|
-
13997
|
1893
|
-
93144
|
1894
|
-
53818
|
1895
|
-
93999
|
1896
|
-
03838
|
1897
|
-
93845
|
1898
|
-
54829
|
1899
|
-
03995
|
1900
|
-
23130
|
1901
|
-
94930
|
1902
|
-
53873
|
1903
|
-
13858
|
1904
|
-
04846
|
1905
|
-
63823
|
1906
|
-
12843
|
1907
|
-
54740
|
1908
|
-
04858
|
1909
|
-
04981
|
1910
|
-
24032
|
1911
|
-
03042
|
1912
|
-
53101
|
1913
|
-
63824
|
1914
|
-
94298
|
1915
|
-
92817
|
1916
|
-
93795
|
1917
|
-
04982
|
1918
|
-
04983
|
1919
|
-
63845
|
1920
|
-
04899
|
1921
|
-
63832
|
1922
|
-
04221
|
1923
|
-
93775
|
1924
|
-
03725
|
1925
|
-
26618
|
1926
|
-
93739
|
1927
|
-
53986
|
1928
|
-
03832
|
1929
|
-
24198
|
1930
|
-
53130
|
1931
|
-
03159
|
1932
|
-
13932
|
1933
|
-
24128
|
1934
|
-
13860
|
1935
|
-
14706
|
1936
|
-
24062
|
1937
|
-
14794
|
1938
|
-
23277
|
1939
|
-
14615
|
1940
|
-
03726
|
1941
|
-
53957
|
1942
|
-
94163
|
1943
|
-
92802
|
1944
|
-
53976
|
1945
|
-
12868
|
1946
|
-
53922
|
1947
|
-
04984
|
1948
|
-
14853
|
1949
|
-
24243
|
1950
|
-
94911
|
1951
|
-
14852
|
1952
|
-
23195
|
1953
|
-
53116
|
1954
|
-
93044
|
1955
|
-
93824
|
1956
|
-
25708
|
1957
|
-
25715
|
1958
|
-
25348
|
1959
|
-
25375
|
1960
|
-
25331
|
1961
|
-
27401
|
1962
|
-
26615
|
1963
|
-
26415
|
1964
|
-
26645
|
1965
|
-
46402
|
1966
|
-
27502
|
1967
|
-
26533
|
1968
|
-
26497
|
1969
|
-
25316
|
1970
|
-
25624
|
1971
|
-
26418
|
1972
|
-
25361
|
1973
|
-
26410
|
1974
|
-
26445
|
1975
|
-
26633
|
1976
|
-
26646
|
1977
|
-
26643
|
1978
|
-
26649
|
1979
|
-
25704
|
1980
|
-
25513
|
1981
|
-
25501
|
1982
|
-
26486
|
1983
|
-
25616
|
1984
|
-
26641
|
1985
|
-
96401
|
1986
|
-
26401
|
1987
|
-
26422
|
1988
|
-
25623
|
1989
|
-
26407
|
1990
|
-
25357
|
1991
|
-
26650
|
1992
|
-
26650
|
1993
|
-
26523
|
1994
|
-
26554
|
1995
|
-
26411
|
1996
|
-
26498
|
1997
|
-
25369
|
1998
|
-
26555
|
1999
|
-
26551
|
2000
|
-
26519
|
2001
|
-
26501
|
2002
|
-
26501
|
2003
|
-
26509
|
2004
|
-
26465
|
2005
|
-
26513
|
2006
|
-
26425
|
2007
|
-
26628
|
2008
|
-
26703
|
2009
|
-
25310
|
2010
|
-
25322
|
2011
|
-
25335
|
2012
|
-
26521
|
2013
|
-
26548
|
2014
|
-
26548
|
2015
|
-
26552
|
2016
|
-
25323
|
2017
|
-
25507
|
2018
|
-
26651
|
2019
|
-
26522
|
2020
|
-
26499
|
2021
|
-
25376
|
2022
|
-
25521
|
2023
|
-
25404
|
2024
|
-
25519
|
2025
|
-
25506
|
2026
|
-
26535
|
2027
|
-
46403
|
2028
|
-
25518
|
2029
|
-
25309
|
2030
|
-
96402
|
2031
|
-
25503
|
2032
|
-
26602
|
2033
|
-
25503
|
2034
|
-
26542
|
2035
|
-
25325
|
2036
|
-
27408
|
2037
|
-
26502
|
2038
|
-
25367
|
2039
|
-
26652
|
2040
|
-
26491
|
2041
|
-
26546
|
2042
|
-
27517
|
2043
|
-
26480
|
2044
|
-
26631
|
2045
|
-
26557
|
2046
|
-
26510
|
2047
|
-
25402
|
2048
|
-
25403
|
2049
|
-
26512
|
2050
|
-
26524
|
2051
|
-
25377
|
2052
|
-
26621
|
2053
|
-
26635
|
2054
|
-
26409
|
2055
|
-
46404
|
2056
|
-
26622
|
2057
|
-
26451
|
2058
|
-
26516
|
2059
|
-
26435
|
2060
|
-
25308
|
2061
|
-
26644
|
2062
|
-
25378
|
2063
|
-
26617
|
2064
|
-
26653
|
2065
|
-
26412
|
2066
|
-
26616
|
2067
|
-
25628
|
2068
|
-
26639
|
2069
|
-
24690
|
2070
|
-
25329
|
2071
|
-
25508
|
2072
|
-
25604
|
2073
|
-
25613
|
2074
|
-
26623
|
2075
|
-
27515
|
2076
|
-
46405
|
2077
|
-
26654
|
2078
|
-
26561
|
2079
|
-
26704
|
2080
|
-
27406
|
2081
|
-
25617
|
2082
|
-
26625
|
2083
|
-
25333
|
2084
|
-
26558
|
2085
|
-
26553
|
2086
|
-
26647
|
2087
|
-
25713
|
2088
|
-
25516
|
2089
|
-
26439
|
2090
|
-
25341
|
2091
|
-
26414
|
2092
|
-
26534
|
2093
|
-
26514
|
2094
|
-
26559
|
2095
|
-
45715
|
2096
|
-
26529
|
2097
|
-
26634
|
2098
|
-
25629
|
2099
|
-
26528
|
2100
|
-
26536
|
2101
|
-
26492
|
2102
|
-
26492
|
2103
|
-
27518
|
2104
|
-
46406
|
2105
|
-
26508
|
2106
|
-
26627
|
2107
|
-
26560
|
2108
|
-
26442
|
2109
|
-
26479
|
2110
|
-
26642
|
2111
|
-
26442
|
2112
|
-
26438
|
2113
|
-
25338
|
2114
|
-
27503
|
2115
|
-
27503
|
2116
|
-
26630
|
2117
|
-
26648
|
2118
|
-
26444
|
2119
|
-
26443
|
2120
|
-
26445
|
2121
|
-
26484
|
2122
|
-
25339
|
2123
|
-
46407
|
2124
|
-
26413
|
2125
|
-
22501
|
2126
|
-
22508
|
2127
|
-
22552
|
2128
|
-
22551
|
2129
|
-
22548
|
2130
|
-
22550
|
2131
|
-
21510
|
2132
|
-
22536
|
2133
|
-
22534
|
2134
|
-
22547
|
2135
|
-
22539
|
2136
|
-
22514
|
2137
|
-
22519
|
2138
|
-
22521
|
2139
|
-
22517
|
2140
|
-
22524
|
2141
|
-
22516
|
2142
|
-
22526
|
2143
|
-
21508
|
2144
|
-
21504
|
2145
|
-
22513
|
2146
|
-
27403
|
2147
|
-
26624
|
2148
|
-
26638
|
2149
|
-
11640
|
2150
|
-
11624
|
2151
|
-
11603
|
2152
|
-
11653
|
2153
|
-
11630
|
2154
|
-
11630
|
2155
|
-
11641
|
2156
|
-
11655
|
2157
|
-
11649
|