diff options
| -rw-r--r-- | main/src/cgeo/geocaching/GCConstants.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgBase.java | 16 | ||||
| -rw-r--r-- | tests/res/raw/tb14wfv.html | 950 | ||||
| -rw-r--r-- | tests/src/cgeo/geocaching/TrackablesTest.java | 13 |
4 files changed, 975 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/GCConstants.java b/main/src/cgeo/geocaching/GCConstants.java index 99dc1c5..96eb519 100644 --- a/main/src/cgeo/geocaching/GCConstants.java +++ b/main/src/cgeo/geocaching/GCConstants.java @@ -66,7 +66,7 @@ public final class GCConstants { public final static Pattern PATTERN_TRACKABLE_SPOTTEDUSER = Pattern.compile("<dt>\\W*Recently Spotted:[^<]*</dt>[^<]*<dd>[^<]*<a id=\"ctl00_ContentBody_BugDetails_BugLocation\" href=\"[^\"]*/profile/\\?guid=([a-z0-9\\-]+)\">In the hands of ([^<]+).</a>[^<]*</dd>"); public final static Pattern PATTERN_TRACKABLE_SPOTTEDUNKNOWN = Pattern.compile("<dt>\\W*Recently Spotted:[^<]*</dt>[^<]*<dd>[^<]*<a id=\"ctl00_ContentBody_BugDetails_BugLocation\">Unknown Location[^<]*</a>[^<]*</dd>"); public final static Pattern PATTERN_TRACKABLE_SPOTTEDOWNER = Pattern.compile("<dt>\\W*Recently Spotted:[^<]*</dt>[^<]*<dd>[^<]*<a id=\"ctl00_ContentBody_BugDetails_BugLocation\">In the hands of the owner[^<]*</a>[^<]*</dd>"); - public final static Pattern PATTERN_TRACKABLE_GOAL = Pattern.compile("<h3>\\W*Current GOAL[^<]*</h3>[^<]*<div id=\"TrackableGoal\">[^<]*<p>(.*?)</p>[^<]*</div>[^<]*<h3>"); + public final static Pattern PATTERN_TRACKABLE_GOAL = Pattern.compile("<div id=\"TrackableGoal\">[^<]*<p>(.*?)</p>[^<]*</div>", Pattern.DOTALL); /** Four groups */ public final static Pattern PATTERN_TRACKABLE_DETAILSIMAGE = Pattern.compile("<h3>\\W*About This Item[^<]*</h3>[^<]*<div id=\"TrackableDetails\">([^<]*<p>([^<]*<img id=\"ctl00_ContentBody_BugDetails_BugImage\" class=\"[^\"]+\" src=\"([^\"]+)\"[^>]*>)?[^<]*</p>)?[^<]*<p[^>]*>(.*)</p>[^<]*</div> <div id=\"ctl00_ContentBody_BugDetails_uxAbuseReport\">"); public final static Pattern PATTERN_TRACKABLE_ICON = Pattern.compile("<img id=\"ctl00_ContentBody_BugTypeImage\" class=\"TravelBugHeaderIcon\" src=\"([^\"]+)\"[^>]*>"); diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java index 61eaaba..816453f 100644 --- a/main/src/cgeo/geocaching/cgBase.java +++ b/main/src/cgeo/geocaching/cgBase.java @@ -1718,11 +1718,14 @@ public class cgBase { Log.w(Settings.tag, "cgeoBase.parseTrackable: Failed to parse trackable last known place"); } - // released + // released date - can be missing on the page try { - trackable.setReleased(dateTbIn1.parse(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null))); - if (trackable.getReleased() == null) { - trackable.setReleased(dateTbIn2.parse(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null))); + String releaseString = BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null); + if (releaseString != null) { + trackable.setReleased(dateTbIn1.parse(releaseString)); + if (trackable.getReleased() == null) { + trackable.setReleased(dateTbIn2.parse(releaseString)); + } } } catch (ParseException e1) { trackable.setReleased(null); @@ -1731,7 +1734,10 @@ public class cgBase { // trackable distance try { - trackable.setDistance(DistanceParser.parseDistance(BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_DISTANCE, false, null), Settings.isUseMetricUnits())); + String distanceString = BaseUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_DISTANCE, false, null); + if (distanceString != null) { + trackable.setDistance(DistanceParser.parseDistance(distanceString, Settings.isUseMetricUnits())); + } } catch (NumberFormatException e) { trackable.setDistance(null); throw e; diff --git a/tests/res/raw/tb14wfv.html b/tests/res/raw/tb14wfv.html new file mode 100644 index 0000000..b7cfa7f --- /dev/null +++ b/tests/res/raw/tb14wfv.html @@ -0,0 +1,950 @@ +
+<!DOCTYPE html>
+<html lang="en" class="no-js">
+ <head id="ctl00_Head1"><meta charset="utf-8" />
+ <!--[if IE]><![endif]-->
+ <title>
+ (TB14WFV) Travel Bug Dog Tag - The Brickster
+</title><meta name="DC.title" content="Geocaching - The Official Global GPS Cache Hunt Site" /><meta property="og:title" content="Geocaching - The Official Global GPS Cache Hunt Site" /><meta property="og:site_name" content="Geocaching - The Official Global GPS Cache Hunt Site" /><meta property="og:type" content="website" /><meta property="og:url" content="http://www.geocaching.com/" /><meta name="author" content="Groundspeak, Inc." /><meta name="DC.creator" content="Groundspeak, Inc." /><meta name="Copyright" content="Copyright (c) 2000-2011 Groundspeak, Inc. All Rights Reserved." /><!-- Copyright (c) 2000-2011 Groundspeak, Inc. All Rights Reserved. --><meta name="description" content="Geocaching is a treasure hunting game where you use a GPS to hide and seek containers with other participants in the activity. Geocaching.com is the listing service for geocaches around the world." /><meta name="DC.subject" content="Geocaching is a treasure hunting game where you use a GPS to hide and seek containers with other participants in the activity. Geocaching.com is the listing service for geocaches around the world." /><meta property="og:description" content="Geocaching is a treasure hunting game where you use a GPS to hide and seek containers with other participants in the activity. Geocaching.com is the listing service for geocaches around the world." /><meta http-equiv="imagetoolbar" content="no" /><meta name="distribution" content="global" /><meta name="MSSmartTagsPreventParsing" content="true" /><meta name="rating" content="general" /><meta name="revisit-after" content="1 days" /><meta name="robots" content="all" /><meta http-equiv="X-UA-Compatible" content="IE=8" /><link rel="icon" href="/favicon.ico" /><link rel="shortcut icon" href="/favicon.ico" /><link rel="apple-touch-icon" href="/apple-touch-icon.png" /><link rel="image_src" href="/preview.png" /><meta property="og:image" content="/preview.png" /><link rel="stylesheet" type="text/css" media="all" href="../css/blueprint/src/reset.css" /><link rel="stylesheet" type="text/css" media="all" href="../css/blueprint/src/typography.css" /><link rel="stylesheet" type="text/css" media="screen,projection" href="../css/blueprint/src/grid.css" />
+ <!--[if lt IE 8]>
+ <link rel="stylesheet" type="text/css" media="all" href="../css/blueprint/ie.css" />
+ <![endif]-->
+ <link rel="stylesheet" type="text/css" media="screen,projection" href="../css/tlnMasterScreen.css" /><link rel="stylesheet" type="text/css" media="all" href="../css/tlnMain.css" /><link rel="Stylesheet" type="text/css" media="all" href="../css/jqueryui1810/jquery-ui-1.8.10.custom.css" /><link rel="stylesheet" type="text/css" media="all" href="/js/jquery_plugins/jquery.jgrowl.css" /><link rel="stylesheet" type="text/css" media="print" href="../css/tlnMasterPrint.css" />
+ <script type="text/javascript" src="/js/modernizr-1.7.min.js"></script>
+ <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
+ <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
+ <script type="text/javascript" src="/js/jquery.truncate.min.js"></script>
+
+ <link href="/css/fancybox/jquery.fancybox.css" rel="stylesheet" type="text/css" />
+ <style type="text/css" media="screen">
+ ul.imagelist li, ul.log_images li
+ {
+ list-style-image: none !important;
+ list-style-position: outside !important;
+ list-style-type: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ }
+ ul.log_images li
+ {
+ float: left;
+ margin-right: 5px !important;
+ }
+ ul.pager
+ {
+ padding: 0 !important;
+ margin: 5px 0 !important;
+ width: 100%;
+ overflow: hidden;
+ }
+ ul.pager li
+ {
+ display: inline;
+ float: left;
+ list-style-image: none;
+ list-style-position: outside;
+ list-style-type: none;
+ margin: 0 !important;
+ padding: 0 !important;
+ }
+ ul.pager li.pager-info
+ {
+ margin: 2px 5px 0 0 !important;
+ }
+ ul.pager li.pager-current
+ {
+ border: 1px solid #003F7E;
+ color: #c00;
+ float: left;
+ font-weight: bold;
+ margin: 0 5px 0 0 !important;
+ padding: 1px 5px !important;
+ }
+ ul.pager li a
+ {
+ background-image: none;
+ border: 1px solid #ccc;
+ display: block;
+ float: left;
+ margin: 0 5px 0 0;
+ padding: 1px 5px;
+ text-decoration: none;
+ }
+ ul.pager li a:hover
+ {
+ border: 1px solid #003F7E;
+ }
+ .LogImgTitle, .LogImgDescription
+ {
+ text-align: center !important;
+ width: 100%;
+ }
+ .TrackableItemOptionsTable
+ {
+ clear:both;
+ }
+
+ </style>
+<meta name="og:site_name" content="Geocaching.com" property="og:site_name" /><meta name="og:type" content="article" property="og:type" /><meta name="fb:app_id" content="100167303362705" property="fb:app_id" /><meta name="og:url" content="http://coord.info/TB14WFV" property="og:url" /><meta name="og:description" content="I'm on the run from the law. I would like to travel to Wellington, New Zealand to visit some friends who have just emigrated there, who will look after me.
+I am happier traveling in the slow lane and taking my time, because the authorities will be watching the airports.
+Please take photos of me on the way to show where I have been and what I've seen." property="og:description" /><meta name="og:image" content="http://www.geocaching.com/images/facebook/wpttypes/14.png" property="og:image" /><meta name="og:title" content="The Brickster" property="og:title" /></head>
+ <body >
+ <form name="aspnetForm" method="post" action="details.aspx?tracker=TB14WFV" id="aspnetForm">
+<div>
+<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
+<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
+<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT" value="3" />
+<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTIzOTc4OTM3MQ8WAh4MVEJEZXRhaWxzLklEKClZU3lzdGVtLkludDY0LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkGNjU4MDAzFgJmD2QWBmYPZBYGAgoPFgIeBFRleHQFYjxtZXRhIG5hbWU9IkNvcHlyaWdodCIgY29udGVudD0iQ29weXJpZ2h0IChjKSAyMDAwLTIwMTEgR3JvdW5kc3BlYWssIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4iIC8+ZAILDxYCHwEFRzwhLS0gQ29weXJpZ2h0IChjKSAyMDAwLTIwMTEgR3JvdW5kc3BlYWssIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4gLS0+ZAInDxYCHgdWaXNpYmxlaGQCAQ9kFhICBQ8WAh8BZGQCCA8WAh8CZxYKAgEPDxYCHghJbWFnZVVybAVOaHR0cDovL2ltZy5nZW9jYWNoaW5nLmNvbS91c2VyL2F2YXRhci82NDJkMjc3MS00MjRlLTRlZTYtYmViNi1lZmVjZGUzNDA2ZmMuanBnZGQCAw8WAh8BBXRIZWxsbywgPGEgaHJlZj0iL215L2RlZmF1bHQuYXNweCIgdGl0bGU9IlZpZXcgUHJvZmlsZSBmb3IgQmFuYW5ld2VpemVuIiBjbGFzcz0iU2lnbmVkSW5Qcm9maWxlTGluayI+QmFuYW5ld2VpemVuPC9hPmQCBQ8PFgIeC05hdmlnYXRlVXJsBYYBaHR0cHM6Ly93d3cuZ2VvY2FjaGluZy5jb20vbG9naW4vZGVmYXVsdC5hc3B4P1JFU0VUPVkmcmVkaXI9aHR0cCUzYSUyZiUyZnd3dy5nZW9jYWNoaW5nLmNvbSUyZnRyYWNrJTJmZGV0YWlscy5hc3B4JTNmdHJhY2tlciUzZFRCMTRXRlZkZAIHDxYCHwEFQzxpbWcgc3JjPSIvaW1hZ2VzL2ljb25zL2ljb25fc21pbGUucG5nIiB0aXRsZT0iQ2FjaGVzIEZvdW5kIiAvPiAxNjNkAgsPFgIfAmcWAmYPDxYCHwJoZGQCDw8WAh8CZxYCAg0PDxYCHwQFQH4vdHJhY2svc2VhcmNoLmFzcHg/bz0xJnVpZD0zMTg5MjY3OC0xMTE3LTQ2ZWItYWEzYi0xOTFjMjBiZDY2MDdkZAIhDxYCHwJnZAIjDxYCHgVjbGFzcwUHc3Bhbi0yMBYCAgEPZBYOAgMPDxYEHwMFMGh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vaW1hZ2VzL3dwdHR5cGVzLzIxLmdpZh4NQWx0ZXJuYXRlVGV4dAUSVHJhdmVsIEJ1ZyBEb2cgVGFnZGQCBQ8PFgIfAQUNVGhlIEJyaWNrc3RlcmRkAgsPZBYCZg9kFgICAQ8PFgIfAQUHVEIxNFdGVmRkAg0PZBYaZg9kFgJmDw8WAh8BBSI8c3Ryb25nPlRyYWNrYWJsZSBPcHRpb25zPC9zdHJvbmc+ZGQCAQ9kFgJmD2QWAmYPDxYCHwQFMWxvZy5hc3B4P3dpZD04NTNhY2Q0ZC01YTEyLTRjNjMtOWFmYy01NWFmZDJjYmZlMGVkZAICDw8WAh8CaGRkAgMPDxYCHwJnZBYCZg9kFgJmDw8WAh8EBRsvbXkvd2F0Y2hsaXN0LmFzcHg/Yj02NTgwMDNkZAIEDw8WAh8CaGRkAgUPDxYCHwJoZGQCBg9kFgJmD2QWAmYPDxYCHwQFPH4vdHJhY2svc2hlZXQuYXNweD9ndWlkPTg1M2FjZDRkLTVhMTItNGM2My05YWZjLTU1YWZkMmNiZmUwZWRkAgcPDxYCHwJnZBYCZg9kFgJmDw8WAh8EBTsva21sL3Ria21sLmFzcHg/dGJndWlkPTg1M2FjZDRkLTVhMTItNGM2My05YWZjLTU1YWZkMmNiZmUwZWRkAggPDxYCHwJoZGQCCg8PFgIfAmhkZAILDw8WAh8CaGRkAgwPDxYCHwJoZGQCDQ8PFgIfAmhkFgJmD2QWAmYPEGRkFgBkAg8PDxYCHgtCdWdQYW5lbC5JRCgrBAY2NTgwMDNkFhYCAw8PFgYfAQUIQWRyaWFuIEMfBAVMaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPTE0ODllZmY2LTg4YjQtNGQzNS1hOWVjLTAzODU2NmQ4NzFiZR4HVG9vbFRpcAUZVmlzaXQgVGhpcyBVc2VyJ3MgUHJvZmlsZWRkAgUPFgIfAmhkAgcPFgIfAmhkAgsPDxYGHwEFNkluIFRCLUhvdGVsIC0gQWlycG9ydCBEw7xzc2VsZG9yZiAtIERVUyBTdG9wT3ZlciAtIEE0NB8EBVtodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvY2FjaGVfZGV0YWlscy5hc3B4P2d1aWQ9YzdhYzg4OWQtMWFkYS00MmY5LWFhNGQtNTk5Njg4Y2VhY2Q1HwgFDVZpc2l0IExpc3RpbmdkZAINDxYCHwJoZAIPDxYCHwEFMlRoZSBvd25lciBoYXNuJ3Qgc2V0IHRoZWlyIGNvbGxlY3RpYmxlIHByZWZlcmVuY2UuZAIRDw8WAh8BBTRVc2UgPHN0cm9uZz5UQjE0V0ZWPC9zdHJvbmc+IHRvIHJlZmVyZW5jZSB0aGlzIGl0ZW0uZGQCFw8WAh8BBegCSSdtIG9uIHRoZSBydW4gZnJvbSB0aGUgbGF3LiBJIHdvdWxkIGxpa2UgdG8gdHJhdmVsIHRvIFdlbGxpbmd0b24sIE5ldyBaZWFsYW5kIHRvIHZpc2l0IHNvbWUgZnJpZW5kcyB3aG8gaGF2ZSBqdXN0IGVtaWdyYXRlZCB0aGVyZSwgd2hvIHdpbGwgbG9vayBhZnRlciBtZS48YnIvPkkgYW0gaGFwcGllciB0cmF2ZWxpbmcgaW4gdGhlIHNsb3cgbGFuZSBhbmQgdGFraW5nIG15IHRpbWUsIGJlY2F1c2UgdGhlIGF1dGhvcml0aWVzIHdpbGwgYmUgd2F0Y2hpbmcgdGhlIGFpcnBvcnRzLjxici8+UGxlYXNlIHRha2UgcGhvdG9zIG9mIG1lIG9uIHRoZSB3YXkgdG8gc2hvdyB3aGVyZSBJIGhhdmUgYmVlbiBhbmQgd2hhdCBJJ3ZlIHNlZW4uZAIcDw8WBh8DBVBodHRwOi8vaW1nLmdlb2NhY2hpbmcuY29tL3RyYWNrL2Rpc3BsYXkvNDA0YzllZGMtMjYzYy00YmEwLTk3NWQtOWI1OWQyNTRjNmM4LmpwZx8GBSBQcmlzb25lciAyMzc2OCBBS0EgVGhlIEJyaWNrc3Rlch8CZ2RkAh4PFgIfAQVmSSBhbSBhIExlZ28gY2hhcmFjdGVyLiBJJ20gbm90IGFzIGJhZCBhcyBwZW9wbGUgbWFrZSBtZSBvdXQgdG8gYmUuIEkgaGF2ZSBhIHRoaW5nIGZvciBzcGljeSBob3QgcGl6emFzZAIgD2QWAgIBD2QWCGYPFgIfAmhkAgEPDxYCHwJoZGQCAg8PFgIfAmhkZAIDDxYCHwJoZAIRDw8WBB8BBaQDPGgzPkdhbGxlcnkgSW1hZ2VzIHJlbGF0ZWQgdG8gVGhlIEJyaWNrc3RlcjwvaDM+PHVsIGNsYXNzPSJpbWFnZWxpc3QiPjxsaT48YSBocmVmPSJodHRwOi8vaW1nLmdlb2NhY2hpbmcuY29tL3RyYWNrLzQwNGM5ZWRjLTI2M2MtNGJhMC05NzVkLTliNTlkMjU0YzZjOC5qcGciIGNsYXNzPSJ0Yl9pbWFnZXMgbG5rIiByZWw9InRiX2ltYWdlcyI+PGltZyBzcmM9Ii9pbWFnZXMvc2lsay9waG90by5wbmciIGFsdD0iUHJpc29uZXIgMjM3NjggQUtBIFRoZSBCcmlja3N0ZXIiIC8+Jm5ic3A7PHNwYW4+UHJpc29uZXIgMjM3NjggQUtBIFRoZSBCcmlja3N0ZXI8L3NwYW4+PC9hPjwvdWw+PGEgaHJlZj0iZ2FsbGVyeS5hc3B4P0lEPTY1ODAwMyIgdGl0bGU9J1ZpZXcgR2FsbGVyeSBJbWFnZXMnPlZpZXcgQWxsIDYgR2FsbGVyeSBJbWFnZXM8L2E+HwJnZGQCEw8PFgQeB1dwdEdVSUQFJDg1M2FjZDRkLTVhMTItNGM2My05YWZjLTU1YWZkMmNiZmUwZR4FV3B0SUQoKwQGNjU4MDAzZBYIAgEPFgIfAQVfVHJhY2tpbmcgSGlzdG9yeSAoODQ1MS45a20mbmJzcDspIDxhIGhyZWY9Im1hcF9nbS5hc3B4P0lEPTY1ODAwMyIgdGl0bGU9J1ZpZXcgTWFwJz5WaWV3IE1hcDwvYT5kAgMPFgIfAQXaBDx1bCBjbGFzcz0icGFnZXIiPjxsaSBjbGFzcz0icGFnZXItaW5mbyI+MDEtMTAgb2YgMTMwIHJlY29yZHMgJm1pZGRvdDs8L2xpPjxsaSBjbGFzcz0icGFnZXItY3VycmVudCI+MDE8L2xpPjxsaT48YSBocmVmPSIvdHJhY2svZGV0YWlscy5hc3B4P2lkPTY1ODAwMyZwYWdlPTIiPjAyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii90cmFjay9kZXRhaWxzLmFzcHg/aWQ9NjU4MDAzJnBhZ2U9MyI+MDM8L2E+PC9saT48bGk+PGEgaHJlZj0iL3RyYWNrL2RldGFpbHMuYXNweD9pZD02NTgwMDMmcGFnZT00Ij4wNDwvYT48L2xpPjxsaT48YSBocmVmPSIvdHJhY2svZGV0YWlscy5hc3B4P2lkPTY1ODAwMyZwYWdlPTUiPjA1PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii90cmFjay9kZXRhaWxzLmFzcHg/aWQ9NjU4MDAzJnBhZ2U9NiI+MDY8L2E+PC9saT48bGkgY2xhc3M9InBhZ2VyLW5leHQiPjxhIGhyZWY9Ii90cmFjay9kZXRhaWxzLmFzcHg/" />
+<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="aWQ9NjU4MDAzJnBhZ2U9MiI+bmV4dCDigLo8L2E+PC9saT48bGkgY2xhc3M9InBhZ2VyLWxhc3QgbGFzdCI+PGEgaHJlZj0iL3RyYWNrL2RldGFpbHMuYXNweD9pZD02NTgwMDMmcGFnZT0xMyI+bGFzdCDCuzwvYT48L2xpPjwvdWw+ZAIHDxYCHgtfIUl0ZW1Db3VudAIKFhQCAQ9kFgRmDxUJABNpY29uX2Rpc2NvdmVyZWQuZ2lmDURpc2NvdmVyZWQgSXQNRGlzY292ZXJlZCBJdAoyMDExLTEwLTIycTxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vcHJvZmlsZS8/Z3VpZD1hYjE0MWJhYi04NDFhLTQ1NDctYWY1MS0yNWZjZTFhNTk3YTUiPnBhcGFub2FoPC9hPiBkaXNjb3ZlcmVkIGl0AABSaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS90cmFjay9sb2cuYXNweD9MVUlEPTcxMWE5MGE0LWNmNWMtNDI1Ni05NmMyLTExM2YxOWQ2OTgxYWQCAg8VBAAsSGFiZW4gZGljaCBoZXV0ZSBpbiBEJiN4RkM7c3NlbGRvcmYgZ2VzZWhlbi4AAGQCAg9kFgRmDxUJDkFsdGVybmF0aW5nUm93D2Ryb3BwZWRfb2ZmLmdpZgtEcm9wcGVkIE9mZgtEcm9wcGVkIE9mZgoyMDExLTEwLTIymQI8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9Nzc3MjRkZDItMWI4ZS00M2I0LTk2ODgtYjE2ZGJiNTEzOTIwIj5mZWxpeHNjaG51ZWZmZWw8L2E+IHBsYWNlZCBpdCBpbiA8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvY2FjaGVfZGV0YWlscy5hc3B4P2d1aWQ9YzdhYzg4OWQtMWFkYS00MmY5LWFhNGQtNTk5Njg4Y2VhY2Q1Ij5UQi1Ib3RlbCAtIEFpcnBvcnQgRCYjMjUyO3NzZWxkb3JmIC0gRFVTIFN0b3BPdmVyIC0gQTQ0PC9hPhxOb3JkcmhlaW4tV2VzdGZhbGVuLCBHZXJtYW55CyAtIDQ3LjAyIGttUmh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vdHJhY2svbG9nLmFzcHg/TFVJRD0wMGI0MjYwNy02NmU1LTQyNjItYmI3OC04ZDU0ODA5ZmVjZGRkAgIPFQQOQWx0ZXJuYXRpbmdSb3flAUhvZmZlLCBlcyBuaW1tdCBkaWNoIGplbWFuZCB2b24gaGllciBhdXMgbWl0IG5hY2ggV2VsbGluZ3Rvbi4gRGVyIEZsdWdoYWZlbiBpc3QgamEgbmljaHQgd2VpdC48YnIvPjxici8+U29ycnksIGRhc3Mgd2lyIGlobiBzbyBsYW5nZSBiZWhhbHRlbiBoYWJlbi4gSGF0dGVuIGtlaW5lIEdlbGVnZW5oZWl0IGVpbiBzY2gmI3hGNjtuZXMgUGwmI3hFNDt0emNoZW4gZiYjeEZDO3IgaWhuIHp1IGZpbmRlbi4AAGQCAw9kFgRmDxUJAA1pY29uX25vdGUuZ2lmCldyaXRlIG5vdGUKV3JpdGUgbm90ZQoyMDExLTA1LTIzdjxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vcHJvZmlsZS8/Z3VpZD04YjVhZmE3YS1mYzYwLTQ3NDAtYTU5My1lYTBmZWU2OGM3YjQiPm1haW5sdTwvYT4gcG9zdGVkIGEgbm90ZSBmb3IgaXQAAFJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3RyYWNrL2xvZy5hc3B4P0xVSUQ9Mjc0ZWMzZjAtMzhhMy00YzFiLTkwZDAtNDE1YmIyN2UxMTY4ZAICDxUEAB5JdCB3YXNuJ3QgaW4gdGhlIENhY2hlLCBzb3JyeS4AAGQCBA9kFgRmDxUJDkFsdGVybmF0aW5nUm93DXBpY2tlZF91cC5naWYYUmV0cmlldmUgSXQgZnJvbSBhIENhY2hlGFJldHJpZXZlIEl0IGZyb20gYSBDYWNoZQoyMDExLTA1LTEw9AE8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9Nzc3MjRkZDItMWI4ZS00M2I0LTk2ODgtYjE2ZGJiNTEzOTIwIj5mZWxpeHNjaG51ZWZmZWw8L2E+IHJldHJpZXZlZCBpdCBmcm9tIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vc2Vlay9jYWNoZV9kZXRhaWxzLmFzcHg/Z3VpZD0yY2I5NTE3ZS1mODJhLTRhN2MtODIyZC1mMDNhYjdiMGEzMzAiPktlbW5hZGUgTXVsdGk8L2E+HE5vcmRyaGVpbi1XZXN0ZmFsZW4sIEdlcm1hbnkAUmh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vdHJhY2svbG9nLmFzcHg/TFVJRD1jNDUxYmNhZS01N2Y5LTRiMjAtYWVmMS02OTVmZWYwODcxOWZkAgIPFQQOQWx0ZXJuYXRpbmdSb3caV2lyIG5laG1lbiBpaG4gd2VpdGVyIG1pdCEAAGQCBQ9kFgRmDxUJAA9kcm9wcGVkX29mZi5naWYLRHJvcHBlZCBPZmYLRHJvcHBlZCBPZmYKMjAxMS0wNS0wNOgBPGEgaHJlZj0iaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPWEyYjI5MzMyLTE1OTAtNDkwYy04MDczLWJiMzdmNDc4NDYzOSI+YmFkZWJ1ZGU8L2E+IHBsYWNlZCBpdCBpbiA8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvY2FjaGVfZGV0YWlscy5hc3B4P2d1aWQ9MmNiOTUxN2UtZjgyYS00YTdjLTgyMmQtZjAzYWI3YjBhMzMwIj5LZW1uYWRlIE11bHRpPC9hPhxOb3JkcmhlaW4tV2VzdGZhbGVuLCBHZXJtYW55CiAtIDEuMTUga21SaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS90cmFjay9sb2cuYXNweD9MVUlEPTFmMjcwODZlLTFiODItNDkwNy05ZTM4LTVmZjVlOTA2NzE1Y2QCAg8VBAAAAABkAgYPZBYEZg8VCQ5BbHRlcm5hdGluZ1JvdxBpY29uX3Zpc2l0ZWQuZ2lmB1Zpc2l0ZWQHVmlzaXRlZAoyMDExLTA1LTAz4wE8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9YTJiMjkzMzItMTU5MC00OTBjLTgwNzMtYmIzN2Y0Nzg0NjM5Ij5iYWRlYnVkZTwvYT4gdG9vayBpdCB0byA8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvY2FjaGVfZGV0YWlscy5hc3B4P2d1aWQ9NDdiYmFlYWEtMTlmNS00ZjczLTllMmItMTI4NTgyOTUxOWNmIj5TdGVybnRhbGVyPC9hPhxOb3JkcmhlaW4tV2VzdGZhbGVuLCBHZXJtYW55CiAtIDQuMTEga21SaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS90cmFjay9sb2cuYXNweD9MVUlEPWMzNTQ2ZjZlLTE4NWYtNGM2Mi04YmUxLTM3ODA5MzBmNmYxZGQCAg8VBA5BbHRlcm5hdGluZ1JvdwAAAGQCBw9kFgRmDxUJAA1waWNrZWRfdXAuZ2lmGFJldHJpZXZlIEl0IGZyb20gYSBDYWNoZRhSZXRyaWV2ZSBJdCBmcm9tIGEgQ2FjaGUKMjAxMS0wNC0yOPkBPGEgaHJlZj0iaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPWEyYjI5MzMyLTE1OTAtNDkwYy04MDczLWJiMzdmNDc4NDYzOSI+YmFkZWJ1ZGU8L2E+IHJldHJpZXZlZCBpdCBmcm9tIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vc2Vlay9jYWNoZV9kZXRhaWxzLmFzcHg/Z3VpZD03NmQ1NjY5Yy1lYTU5LTRiOTktYjFjYi1jNTdiNWM0MzBiNTIiPmFsbGVzIEFsbGVlIC0gb2RlciB3YXM/IT88L2E+HE5vcmRyaGVpbi1XZXN0ZmFsZW4sIEdlcm1hbnkAUmh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vdHJhY2svbG9nLmFzcHg/TFVJRD1hNDljYzQ2Yi1mMzc4LTQ3NmItYTBjZC0xYTQ5MjNiMDc4OWRkAgIPFQQAF1dlIHdpbGwgdHJhdmVsIGl0IG9uLi4uAABkAggPZBYEZg8VCQ5BbHRlcm5hdGluZ1Jvdw9kcm9wcGVkX29mZi5naWYLRHJvcHBlZCBPZmYLRHJvcHBlZCBPZmYKMjAxMS0wNC0yOPkBPGEgaHJlZj0iaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS9wcm9maWxlLz9ndWlkPTliNDBhNzNlLTRlMjYtNDA3My05Y2UzLWRmNDhmZmJlOGY2NSI+SXNsJiMyMjg7bmRlcjwvYT4gcGxhY2VkIGl0IGluIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vc2Vlay9jYWNoZV9kZXRhaWxzLmFzcHg/Z3VpZD03NmQ1NjY5Yy1lYTU5LTRiOTktYjFjYi1jNTdiNWM0MzBiNTIiPmFsbGVzIEFsbGVlIC0gb2RlciB3YXM/IT88L2E+HE5vcmRyaGVpbi1XZXN0ZmFsZW4sIEdlcm1hbnkKIC0gNDIuNSBrbVJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3RyYWNrL2xvZy5hc3B4P0xVSUQ9MjUyMjU3MzYtNTk3Yy00NjEyLTliNzgtMjhjMDVhZGIyOTRm" />
+<input type="hidden" name="__VIEWSTATE2" id="__VIEWSTATE2" value="ZAICDxUEDkFsdGVybmF0aW5nUm93AAAAZAIJD2QWBGYPFQkADXBpY2tlZF91cC5naWYYUmV0cmlldmUgSXQgZnJvbSBhIENhY2hlGFJldHJpZXZlIEl0IGZyb20gYSBDYWNoZQoyMDExLTA0LTE2swI8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3Byb2ZpbGUvP2d1aWQ9OWI0MGE3M2UtNGUyNi00MDczLTljZTMtZGY0OGZmYmU4ZjY1Ij5Jc2wmIzIyODtuZGVyPC9hPiByZXRyaWV2ZWQgaXQgZnJvbSA8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvY2FjaGVfZGV0YWlscy5hc3B4P2d1aWQ9MDliNzlhNDctOWYxZS00NTAyLThjMjctODcwMWFiN2EzZjlkIj48c3BhbiBjbGFzcz0iU3RyaWtlIE9sZFdhcm5pbmciPkRpZSBNJiMyNDY7aG5ldGFsc3BlcnJlIC0gU3RvbGxlbmJlZ2FuZzwvc3Bhbj48L2E+HE5vcmRyaGVpbi1XZXN0ZmFsZW4sIEdlcm1hbnkAUmh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vdHJhY2svbG9nLmFzcHg/TFVJRD05ZjQxMWRiNi01YjcxLTQxYzgtYThjNy04MTUzMjMxYzEyYzZkAgIPFQQAEm9uIHRoZSByb2FkIGFnYWluIQAAZAIKD2QWBGYPFQkOQWx0ZXJuYXRpbmdSb3cPZHJvcHBlZF9vZmYuZ2lmC0Ryb3BwZWQgT2ZmC0Ryb3BwZWQgT2ZmCjIwMTEtMDQtMTWoAjxhIGhyZWY9Imh0dHA6Ly93d3cuZ2VvY2FjaGluZy5jb20vcHJvZmlsZS8/Z3VpZD0yYjhmNjZjZC1mODkxLTQxYjctYmExNS02ZjIwNWUxZGMzMjYiPkFpcmx5IEI8L2E+IHBsYWNlZCBpdCBpbiA8YSBocmVmPSJodHRwOi8vd3d3Lmdlb2NhY2hpbmcuY29tL3NlZWsvY2FjaGVfZGV0YWlscy5hc3B4P2d1aWQ9MDliNzlhNDctOWYxZS00NTAyLThjMjctODcwMWFiN2EzZjlkIj48c3BhbiBjbGFzcz0iU3RyaWtlIE9sZFdhcm5pbmciPkRpZSBNJiMyNDY7aG5ldGFsc3BlcnJlIC0gU3RvbGxlbmJlZ2FuZzwvc3Bhbj48L2E+HE5vcmRyaGVpbi1XZXN0ZmFsZW4sIEdlcm1hbnkLIC0gMjAuOTEga21SaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS90cmFjay9sb2cuYXNweD9MVUlEPTY0YmVhMWYwLTk2MTEtNDZhOC1hZmVhLWNlNDYzMDFiNTdhMGQCAg8VBA5BbHRlcm5hdGluZ1JvdwAAAGQCCw8WAh8BBdoEPHVsIGNsYXNzPSJwYWdlciI+PGxpIGNsYXNzPSJwYWdlci1pbmZvIj4wMS0xMCBvZiAxMzAgcmVjb3JkcyAmbWlkZG90OzwvbGk+PGxpIGNsYXNzPSJwYWdlci1jdXJyZW50Ij4wMTwvbGk+PGxpPjxhIGhyZWY9Ii90cmFjay9kZXRhaWxzLmFzcHg/aWQ9NjU4MDAzJnBhZ2U9MiI+MDI8L2E+PC9saT48bGk+PGEgaHJlZj0iL3RyYWNrL2RldGFpbHMuYXNweD9pZD02NTgwMDMmcGFnZT0zIj4wMzwvYT48L2xpPjxsaT48YSBocmVmPSIvdHJhY2svZGV0YWlscy5hc3B4P2lkPTY1ODAwMyZwYWdlPTQiPjA0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii90cmFjay9kZXRhaWxzLmFzcHg/aWQ9NjU4MDAzJnBhZ2U9NSI+MDU8L2E+PC9saT48bGk+PGEgaHJlZj0iL3RyYWNrL2RldGFpbHMuYXNweD9pZD02NTgwMDMmcGFnZT02Ij4wNjwvYT48L2xpPjxsaSBjbGFzcz0icGFnZXItbmV4dCI+PGEgaHJlZj0iL3RyYWNrL2RldGFpbHMuYXNweD9pZD02NTgwMDMmcGFnZT0yIj5uZXh0IOKAujwvYT48L2xpPjxsaSBjbGFzcz0icGFnZXItbGFzdCBsYXN0Ij48YSBocmVmPSIvdHJhY2svZGV0YWlscy5hc3B4P2lkPTY1ODAwMyZwYWdlPTEzIj5sYXN0IMK7PC9hPjwvbGk+PC91bD5kAiQPFgIfBQULc3Bhbi00IGxhc3QWAgIBD2QWAgIBDw8WAh8BBf8DPGlmcmFtZSB0eXBlPSJpZnJhbWUiIHNyYz0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5jb20vYS5hc3B4P1pvbmVJRD05JlRhc2s9R2V0JlNpdGVJRD0xJlg9JzI2MmVmMzQzNTA2MTRkOWE5NTllMzRkZjBiMDg1NzU1JyIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIyNDAiIE1hcmdpbndpZHRoPSIwIiBNYXJnaW5oZWlnaHQ9IjAiIEhzcGFjZT0iMCIgVnNwYWNlPSIwIiBGcmFtZWJvcmRlcj0iMCIgU2Nyb2xsaW5nPSJubyIgc3R5bGU9IndpZHRoOjEyMHB4O0hlaWdodDoyNDBweDsiPjxhIGhyZWY9Imh0dHA6Ly9hZHMuZ3JvdW5kc3BlYWsuY29tL2EuYXNweD9ab25lSUQ9OSZUYXNrPUNsaWNrJjtNb2RlPUhUTUwmU2l0ZUlEPTEiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL2Fkcy5ncm91bmRzcGVhay5jb20vYS5hc3B4P1pvbmVJRD05JlRhc2s9R2V0Jk1vZGU9SFRNTCZTaXRlSUQ9MSIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIyNDAiIGJvcmRlcj0iMCIgYWx0PSIiIC8+PC9hPjwvaWZyYW1lPmRkAiUPZBYEAgEPFgIfAQUHRW5nbGlzaGQCAw8WAh8LAg4WHGYPZBYCAgEPDxYIHg9Db21tYW5kQXJndW1lbnQFBWVuLVVTHgtDb21tYW5kTmFtZQUNU2V0VGVtcExvY2FsZR8BBQdFbmdsaXNoHhBDYXVzZXNWYWxpZGF0aW9uaGRkAgEPZBYCAgEPDxYIHwwFBWRlLURFHw0FDVNldFRlbXBMb2NhbGUfAQUHRGV1dHNjaB8OaGRkAgIPZBYCAgEPDxYIHwwFBWZyLUZSHw0FDVNldFRlbXBMb2NhbGUfAQUJRnJhbsOnYWlzHw5oZGQCAw9kFgICAQ8PFggfDAUFcHQtUFQfDQUNU2V0VGVtcExvY2FsZR8BBQpQb3J0dWd1w6pzHw5oZGQCBA9kFgICAQ8PFggfDAUFY3MtQ1ofDQUNU2V0VGVtcExvY2FsZR8BBQnEjGXFoXRpbmEfDmhkZAIFD2QWAgIBDw8WCB8MBQVzdi1TRR8NBQ1TZXRUZW1wTG9jYWxlHwEFB1N2ZW5za2EfDmhkZAIGD2QWAgIBDw8WCB8MBQVubC1OTB8NBQ1TZXRUZW1wTG9jYWxlHwEFCk5lZGVybGFuZHMfDmhkZAIHD2QWAgIBDw8WCB8MBQVjYS1FUx8NBQ1TZXRUZW1wTG9jYWxlHwEFB0NhdGFsw6AfDmhkZAIID2QWAgIBDw8WCB8MBQVwbC1QTB8NBQ1TZXRUZW1wTG9jYWxlHwEFBlBvbHNraR8OaGRkAgkPZBYCAgEPDxYIHwwFBWV0LUVFHw0FDVNldFRlbXBMb2NhbGUfAQUFRWVzdGkfDmhkZAIKD2QWAgIBDw8WCB8MBQVuYi1OTx8NBQ1TZXRUZW1wTG9jYWxlHwEFDk5vcnNrLCBCb2ttw6VsHw5oZGQCCw9kFgICAQ8PFggfDAUFa28tS1IfDQUNU2V0VGVtcExvY2FsZR8BBQntlZzqta3slrQfDmhkZAIMD2QWAgIBDw8WCB8MBQVlcy1FUx8NBQ1TZXRUZW1wTG9jYWxlHwEFCEVzcGHDsW9sHw5oZGQCDQ9kFgICAQ8PFggfDAUFaHUtSFUfDQUNU2V0VGVtcExvY2FsZR8BBQZNYWd5YXIfDmhkZAIyDxYCHwJnZAJGDxYCHwJnZAIDDxYCHwEFJ1NlcnZlcjogV0VCMDI7IEJ1aWxkOiBIb3RGaXhfMjAxMTEwMDYuMWRkZQm0iskekkIgQijKqOZoV8OYQ6w=" />
+</div>
+
+<script type="text/javascript">
+//<![CDATA[
+var theForm = document.forms['aspnetForm'];
+if (!theForm) {
+ theForm = document.aspnetForm;
+}
+function __doPostBack(eventTarget, eventArgument) {
+ if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
+ theForm.__EVENTTARGET.value = eventTarget;
+ theForm.__EVENTARGUMENT.value = eventArgument;
+ theForm.submit();
+ }
+}
+//]]>
+</script>
+
+
+<script src="/WebResource.axd?d=Dh2VENdI9XyWNN0f7DnYfR8WWRCRIzdVqal2y0yjiQ5nC_eHhLchYgnQDHIk0d3RCcSUMVZ36ciRD0qmhXKmeu3S_RE1&t=634449413070371108" type="text/javascript"></script>
+
+
+<script src="/ScriptResource.axd?d=I9_m2Hb1Tv_B0qTMDG8bMbnkNSHUkv5oUaG9-V5NZ8qQ2VFlu60I8y8gfr3vPmZjbiPnu43MOQdFVDeYF-nDAEKBLmyxD3DCTGmes9NNbbvaDEHyEuuRWgccIkK3ik5TI48YGDxjHjqdn-gTK4Fkgd17LGw1&t=2610f696" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=8vNbe34dAujgZMPnfnacfjeoweX1vHgyns8KlAV4vpGpsZC9Cf3pro__lv8ekBa0NiCgXGMMolzOUNH__lrnEI_qjlNBIAuuLeemtAXV_i6E0QIMZa8nGSYmWGF5nQOJK3rmZzvTxsr2Mh4Ebdba_1ywGLUSH_U_XIe-jzecfRQwwvjZ0&t=2610f696" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=706btybKnfbaHMceqZSabrZUiT9sA2_qaLSf0KIaqxQnPeIHm8NTd6JwRDKJQUfJG5wCwNgSv7oePh4QM1HDmnzdFS1RzcIlHlv5y5Q6XwLMAuqJl4bJhyXpWp2m6fjOAYYAqSihtwH9P0uWeSuC9TzgHWvqKaTWpBL0ZzZ3IaZavozGozQZUb-sP3Lc9P2t7qkIKxMuHOn2d3TOb8IhGLBILp01" type="text/javascript"></script>
+<script src="/ScriptResource.axd?d=e4w4ZoMXaQYThs70SuKpulODBiwUkwm6Qg5MZEFYZy-Oz41CVpS4CQfS6SVxTh86gzzjQlU_WUru7dvai8BHDiGdCRYD0_HsgiqhA-YvGrjRep6BS4gSLiRpLchYJWLo-VgX1A2" type="text/javascript"></script>
+ <script type="text/javascript">
+//<![CDATA[
+Sys.WebForms.PageRequestManager._initialize('ctl00$uxMainScriptManager', 'aspnetForm', [], [], [], 90, 'ctl00');
+//]]>
+</script>
+
+ <div id="Top" class="SkipLinks">
+
+ <a id="ctl00_hlSkipLinksNavigation" accesskey="n" title="Skip to Navigation" href="#Navigation">Skip to Navigation</a> <a id="ctl00_hlSkipLinksContent" accesskey="c" title="Skip to Content" href="#Content">Skip to Content</a>
+
+ </div>
+ <!--[if lte IE 6]>
+ <div class="WarningMessage PhaseOut">
+
+ <p>Groundspeak is phasing out support for older browsers. Visit the <a href="http://support.groundspeak.com/index.php?pg=kb.page&id=215" title="Browser Support Information">Knowledge Books</a> for more information.</p>
+
+ </div>
+ <![endif]-->
+
+
+ <div class="PrintOnly">
+
+ <p><img src="/images/logo_print_bw.png" alt="Geocaching.com" /></p>
+ <hr />
+
+ </div>
+ <header>
+
+ <div class="container">
+
+ <h1 class="Logo span-16"><a href="../default.aspx" id="ctl00_HDHomeLink" title="Geocaching" accesskey="h">Geocaching</a></h1>
+ <div class="ProfileWidget span-8 last">
+
+
+ <div id="ctl00_divSignedIn">
+
+ <p class="Avatar NoBottomSpacing"><a id="ctl00_hlHeaderAvatar" accesskey="p" title="Your Profile" href="../my/default.aspx"><img title="Your Profile" src="http://img.geocaching.com/user/avatar/642d2771-424e-4ee6-beb6-efecde3406fc.jpg" alt="" style="border-width:0px;" /></a></p>
+ <p class="SignedInText">
+ <strong>Hello, <a href="/my/default.aspx" title="View Profile for Bananeweizen" class="SignedInProfileLink">Bananeweizen</a></strong> (<a id="ctl00_hlSignOut" accesskey="s" title="Sign Out" href="https://www.geocaching.com/login/default.aspx?RESET=Y&redir=http%3a%2f%2fwww.geocaching.com%2ftrack%2fdetails.aspx%3ftracker%3dTB14WFV">Sign Out</a>)<br />
+ <strong><img src="/images/icons/icon_smile.png" title="Caches Found" /> 163</strong>
+
+ <span id="ctl00_litPMLevel" style="display: block;">Premium Member</span>
+ </p>
+
+ </div>
+
+ </div>
+ <nav id="Navigation" class="span-24 last">
+
+ <ul class="Menu">
+ <li>
+ <a id="ctl00_hlNavPlay" accesskey="1" title="Play" href="../play/default.aspx">Play ▼</a>
+ <ul class="SubMenu">
+ <li><a id="ctl00_hlSubNavGuide" accesskey="i" title="Guide" href="../guide/default.aspx">Guide</a></li>
+ <li><a id="ctl00_hlSubNavHide" accesskey="d" title="Hide & Seek a Cache" href="../seek/default.aspx">Hide & Seek a Cache</a></li>
+ <li><a id="ctl00_hlSubNavChallenges" title="Find Challenges" href="../challenges/default.aspx">Find Challenges</a></li>
+ <li><a id="ctl00_hlSubNavTrackables" accesskey="e" title="Find Trackables" href="default.aspx">Find Trackables</a></li>
+ </ul>
+ </li>
+
+ <li id="ctl00_liNavProfile">
+ <a id="ctl00_hlNavProfile" accesskey="2" title="Your Profile" title="[Your Profile ▼]" href="../my/default.aspx">Your Profile ▼</a>
+ <ul class="SubMenu">
+ <li><a id="ctl00_hlSubNavQuickView" accesskey="p" title="Quick View" href="../my/default.aspx">Quick View</a></li>
+ <li><a id="ctl00_hlSubNavLists" accesskey="q" title="Lists" href="../my/lists.aspx">Lists</a></li>
+ <li class="ExtraText"><a id="ctl00_hlSubNavGeocaches" accesskey="m" title="Geocaches" class="NoRightPadding" href="../my/geocaches.aspx">Geocaches</a> (<a id="ctl00_hlSubNavGeocachesYours" accesskey="y" title="Yours" class="NoSidePadding" href="../my/owned.aspx">Yours</a>)</li>
+ <li class="ExtraText"><a id="ctl00_hlSubNavProfileTrackables" accesskey="7" title="Trackables" class="NoRightPadding" href="../my/travelbugs.aspx">Trackables</a> (<a id="ctl00_hlSubNavTrackablesYours" accesskey="8" title="Yours" class="NoSidePadding" href="search.aspx?o=1&uid=31892678-1117-46eb-aa3b-191c20bd6607">Yours</a>)</li>
+ <li><a id="ctl00_hlSubNavPocketQueries" accesskey="9" title="Pocket Queries" href="../pocket/default.aspx">Pocket Queries</a></li>
+ <li><a id="ctl00_hlSubNavFieldNotes" accesskey="0" title="Field Notes" href="../my/fieldnotes.aspx">Field Notes</a></li>
+ <li><a id="ctl00_hlSubNavProfileChallenges" title="Challenges" href="../my/challenges.aspx">Challenges</a></li>
+ <li><a id="ctl00_hlSubNavAccount" accesskey="a" title="Account Details" href="../account/default.aspx">Account Details</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavCommunity" accesskey="3" title="Community" href="../community/default.aspx">Community ▼</a>
+ <ul class="SubMenu">
+ <li><a id="ctl00_hlSubNavForums" accesskey="f" title="Forums" href="../forums/default.aspx">Forums</a></li>
+ <li><a id="ctl00_hlSubNavBlog" accesskey="b" title="Blog" rel="external" href="http://blog.geocaching.com/">Blog</a></li>
+ <li><a id="ctl00_hlSubNavEvents" accesskey="v" title="Events" href="../calendar/default.aspx">Events</a></li>
+ <li><a id="ctl00_hlSubNavLocal" accesskey="z" title="Local Organizations" href="../organizations/default.aspx">Local Organizations</a></li>
+ </ul>
+ </li>
+ <li><a id="ctl00_hlNavVideos" accesskey="4" title="Videos" href="../videos/default.aspx">Videos</a></li>
+ <li>
+ <a id="ctl00_hlNavResources" accesskey="5" title="Resources" href="../resources/default.aspx">Resources ▼</a>
+ <ul class="SubMenu">
+ <li><a id="ctl00_hlSubNavGPSReviews" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
+ <li><a id="ctl00_hlSubNavTools" accesskey="o" title="Tools and Downloads" href="../tools/default.aspx">Tools and Downloads</a></li>
+ <li><a id="ctl00_hlSubNavTellaFriend" accesskey="-" title="Tell a Friend" href="../account/SendReferral.aspx">Tell a Friend</a></li>
+ </ul>
+ </li>
+ <li>
+ <a id="ctl00_hlNavShop" accesskey="6" title="Shop" href="../shop/default.aspx">Shop ▼</a>
+ <ul class="SubMenu">
+ <li><a id="ctl00_hlSubNavShop" accesskey="j" title="Shop Geocaching" rel="external" href="http://shop.geocaching.com/">Shop Geocaching</a></li>
+ <li><a id="ctl00_hlSubNavGPSGuide" accesskey="k" title="Guide to Buying a GPS Device" href="../about/buying.aspx">Guide to Buying a GPS Device</a></li>
+ </ul>
+ </li>
+ </ul>
+ <p class="SocialMediaIcons NoBottomSpacing right">
+ <a id="ctl00_hlFacebook" title="Follow Us on Facebook" href="http://www.facebook.com/pages/Geocachingcom/45625464679?ref=ts"><img id="ctl00_imgFacebook" title="Follow Us on Facebook" src="../images/home/icon_facebook.png" alt="Follow Us on Facebook" style="border-width:0px;" /></a> <a id="ctl00_hlTwitter" title="Follow Us on Twitter" href="http://twitter.com/GoGeocaching"><img id="ctl00_imgTwitter" title="Follow Us on Twitter" src="../images/home/icon_twitter.png" alt="Follow Us on Twitter" style="border-width:0px;" /></a> <a id="ctl00_hlFlickr" title="Follow Us on Flickr" href="http://www.flickr.com/photos/geocaching_com/"><img id="ctl00_imgFlickr" title="Follow Us on Flickr" src="../images/home/icon_flickr.png" alt="Follow Us on Flickr" style="border-width:0px;" /></a> <a id="ctl00_hlYouTube" title="Follow Us on YouTube" href="http://www.youtube.com/user/GoGeocaching"><img id="ctl00_imgYouTube" title="Follow Us on YouTube" src="../images/home/icon_youtube.png" alt="Follow Us on YouTube" style="border-width:0px;" /></a></p>
+
+ </nav>
+
+ </div>
+
+</header>
+ <section id="Content">
+
+
+ <div id="feedback-tab">
+ <a href="http://feedback.geocaching.com" onclick="UserVoice.Popin.show(uservoiceOptions); return false;">
+ <span id="text">Feedback</span><img id="uv-icon" src="/images/masters/uv-icon-green.png" height="29" width="25" alt="feedback" />
+ </a>
+ </div>
+
+ <div class="container">
+
+ <div id="ctl00_divBreadcrumbs" class="BreadcrumbWidget span-24 last">
+
+ <p><span id="ctl00_Breadcrumbs"><span><a title="Geocaching - The Official Global GPS Cache Hunt Site" href="/">Geocaching</a></span><span> > </span><span><a title="Trackables" href="/track/default.aspx">Trackables</a></span><span> > </span><span>Trackable Item Details</span></span></p>
+
+ </div>
+ <div id="ctl00_divContentMain" class="span-20">
+
+
+
+ <h2>
+ <img id="ctl00_ContentBody_BugTypeImage" class="TravelBugHeaderIcon" src="http://www.geocaching.com/images/wpttypes/21.gif" alt="Travel Bug Dog Tag" style="border-width:0px;" />
+ <span id="ctl00_ContentBody_lbHeading">The Brickster</span>
+ </h2>
+
+
+
+ <div id="ctl00_ContentBody_CoordInfoLinkControl1_uxCoordInfoLinkPanel" class="CoordInfoLinkWidget">
+
+ <p>
+ <a href="#" class="CoordInfoLink">
+ <span id="ctl00_ContentBody_CoordInfoLinkControl1_uxCoordInfoCode" class="CoordInfoCode">TB14WFV</span>
+ <span class="arrow">▼</span> </a>
+ </p>
+
+</div>
+<div id="dlgClipboard">
+ <input type="text" class="TextFormat" />
+ <a href="#" onclick="$('#dlgClipboard').hide();return false;">
+ <img src="/images/stockholm/mini/close.gif" alt="Close" title="Close" /></a>
+</div>
+
+<script type="text/javascript">
+ $("a.CoordInfoLink").click(function (e) {
+ e.preventDefault();
+
+ $("#dlgClipboard")
+ .show()
+ .position({
+ of: $("a.CoordInfoLink"),
+ my: "right top",
+ at: "right bottom",
+ offset: "0 5"
+ })
+ .find("input")
+ .val('http://coord.info/' + $('.CoordInfoCode').text())
+ .focus()
+ .select();
+
+ });
+
+ $(document).mouseup(function (e) {
+ if ($(e.target).parent("div#dlgClipboard").length == 0) {
+ $("div#dlgClipboard").hide();
+ }
+ });
+</script>
+
+ <table id="ctl00_ContentBody_OptionTable" class="TrackableItemOptionsTable right" align="Right" border="0" style="width:240px;">
+ <tr id="ctl00_ContentBody_trHeader">
+ <td id="ctl00_ContentBody_tcTypeName" class="TableHeader"><strong>Trackable Options</strong></td>
+ </tr><tr id="ctl00_ContentBody_trLogIt">
+ <td>
+ <img src="/images/silk/comment_add.png" width="16" height="16" alt="speech bubble"
+ title="Found it? Log it!" /> <a id="ctl00_ContentBody_LogLink" title="Found it? Log it!" href="log.aspx?wid=853acd4d-5a12-4c63-9afc-55afd2cbfe0e">Found it? Log it!</a></td>
+ </tr><tr id="ctl00_ContentBody_trWatchIt">
+ <td>
+ <img src="/images/silk/find.png" width="16" height="16" alt="alert"
+ title="Watch This Trackable Item" /> <a id="ctl00_ContentBody_WatchLink" title="Watch This Trackable Item" href="/my/watchlist.aspx?b=658003">Watch This Trackable Item</a></td>
+ </tr><tr id="ctl00_ContentBody_trPrintIt">
+ <td>
+ <img src="/images/silk/printer.png" width="16" height="16" alt="printer"
+ title="Print Bug Sheet" /> <a id="ctl00_ContentBody_lnkPrint" title="Print Info Sheet" href="sheet.aspx?guid=853acd4d-5a12-4c63-9afc-55afd2cbfe0e">Print Info Sheet</a></td>
+ </tr><tr id="ctl00_ContentBody_trGoogleKML">
+ <td>
+ <img src="/images/silk/map.png" width="16" height="16" alt="map"
+ title="View in Google Earth"
+ class="lnk" /> <a id="ctl00_ContentBody_lnkGoogleKML" title="View in Google Earth" href="/kml/tbkml.aspx?tbguid=853acd4d-5a12-4c63-9afc-55afd2cbfe0e">View in Google Earth</a></td>
+ </tr><tr id="ctl00_ContentBody_trWatchList">
+ <td><span id="ctl00_ContentBody_WatchList"></span></td>
+ </tr>
+</table>
+
+<dl class="BugDetailsList">
+
+ <dt>
+ Owner:
+ </dt>
+
+ <dd>
+ <a id="ctl00_ContentBody_BugDetails_BugOwner" title="Visit This User's Profile" href="http://www.geocaching.com/profile/?guid=1489eff6-88b4-4d35-a9ec-038566d871be">Adrian C</a>
+ </dd>
+
+
+
+
+ <dt>
+ Recently Spotted:</dt>
+
+ <dd>
+ <a id="ctl00_ContentBody_BugDetails_BugLocation" title="Visit Listing" href="http://www.geocaching.com/seek/cache_details.aspx?guid=c7ac889d-1ada-42f9-aa4d-599688ceacd5">In TB-Hotel - Airport Düsseldorf - DUS StopOver - A44</a></dd>
+
+</dl>
+<p>
+
+</p>
+<p>
+ The owner hasn't set their collectible preference.
+</p>
+<p>
+ <span id="ctl00_ContentBody_BugDetails_BugTBNum" String="Use <strong>{0}</strong> to reference this item.">Use <strong>TB14WFV</strong> to reference this item.</span>
+</p>
+<p>
+ <strong>
+ <a id="ctl00_ContentBody_BugDetails_uxFirstTime" title="First time logging a Trackable?" href="/track/default.aspx">First time logging a Trackable? Click here.</a>
+ </strong>
+</p>
+<h3>
+ Current GOAL
+</h3>
+<div id="TrackableGoal">
+<p>
+ I'm on the run from the law. I would like to travel to Wellington, New Zealand to visit some friends who have just emigrated there, who will look after me.<br/>I am happier traveling in the slow lane and taking my time, because the authorities will be watching the airports.<br/>Please take photos of me on the way to show where I have been and what I've seen.
+</p>
+</div>
+<h3>
+ About This Item
+</h3>
+<div id="TrackableDetails">
+<p>
+ <img id="ctl00_ContentBody_BugDetails_BugImage" class="TrackableItemDetailsImage" src="http://img.geocaching.com/track/display/404c9edc-263c-4ba0-975d-9b59d254c6c8.jpg" alt="Prisoner 23768 AKA The Brickster" style="border-width:0px;" />
+</p>
+<p>
+ I am a Lego character. I'm not as bad as people make me out to be. I have a thing for spicy hot pizzas
+</p>
+</div>
+<div id="ctl00_ContentBody_BugDetails_uxAbuseReport">
+
+ <p>
+
+
+ </p>
+
+</div>
+
+ <div class="Clear">
+ </div>
+ <p>
+ <span id="ctl00_ContentBody_Images"><h3>Gallery Images related to The Brickster</h3><ul class="imagelist"><li><a href="http://img.geocaching.com/track/404c9edc-263c-4ba0-975d-9b59d254c6c8.jpg" class="tb_images lnk" rel="tb_images"><img src="/images/silk/photo.png" alt="Prisoner 23768 AKA The Brickster" /> <span>Prisoner 23768 AKA The Brickster</span></a></ul><a href="gallery.aspx?ID=658003" title='View Gallery Images'>View All 6 Gallery Images</a></span></p>
+
+<h4 class="BottomSpacing">
+ Tracking History (8451.9km ) <a href="map_gm.aspx?ID=658003" title='View Map'>View Map</a>
+</h4>
+<ul class="pager"><li class="pager-info">01-10 of 130 records ·</li><li class="pager-current">01</li><li><a href="/track/details.aspx?id=658003&page=2">02</a></li><li><a href="/track/details.aspx?id=658003&page=3">03</a></li><li><a href="/track/details.aspx?id=658003&page=4">04</a></li><li><a href="/track/details.aspx?id=658003&page=5">05</a></li><li><a href="/track/details.aspx?id=658003&page=6">06</a></li><li class="pager-next"><a href="/track/details.aspx?id=658003&page=2">next ›</a></li><li class="pager-last last"><a href="/track/details.aspx?id=658003&page=13">last »</a></li></ul>
+
+
+ <table class="TrackableItemLogTable Table">
+
+ <tr class="Data BorderTop ">
+ <td width="105">
+ <img src="/images/icons/icon_discovered.gif" width="16" height="16" alt="Discovered It" title="Discovered It" /> 2011-10-22
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=ab141bab-841a-4547-af51-25fce1a597a5">papanoah</a> discovered it
+ </td>
+ <td>
+
+
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=711a90a4-cf5c-4256-96c2-113f19d6981a" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom ">
+ <td colspan="4">
+ Haben dich heute in Düsseldorf gesehen.
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop AlternatingRow">
+ <td width="105">
+ <img src="/images/icons/dropped_off.gif" width="16" height="16" alt="Dropped Off" title="Dropped Off" /> 2011-10-22
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=77724dd2-1b8e-43b4-9688-b16dbb513920">felixschnueffel</a> placed it in <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=c7ac889d-1ada-42f9-aa4d-599688ceacd5">TB-Hotel - Airport Düsseldorf - DUS StopOver - A44</a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+ - 47.02 km
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=00b42607-66e5-4262-bb78-8d54809fecdd" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom AlternatingRow">
+ <td colspan="4">
+ Hoffe, es nimmt dich jemand von hier aus mit nach Wellington. Der Flughafen ist ja nicht weit.<br/><br/>Sorry, dass wir ihn so lange behalten haben. Hatten keine Gelegenheit ein schönes Plätzchen für ihn zu finden.
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop ">
+ <td width="105">
+ <img src="/images/icons/icon_note.gif" width="16" height="16" alt="Write note" title="Write note" /> 2011-05-23
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=8b5afa7a-fc60-4740-a593-ea0fee68c7b4">mainlu</a> posted a note for it
+ </td>
+ <td>
+
+
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=274ec3f0-38a3-4c1b-90d0-415bb27e1168" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom ">
+ <td colspan="4">
+ It wasn't in the Cache, sorry.
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop AlternatingRow">
+ <td width="105">
+ <img src="/images/icons/picked_up.gif" width="16" height="16" alt="Retrieve It from a Cache" title="Retrieve It from a Cache" /> 2011-05-10
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=77724dd2-1b8e-43b4-9688-b16dbb513920">felixschnueffel</a> retrieved it from <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=2cb9517e-f82a-4a7c-822d-f03ab7b0a330">Kemnade Multi</a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=c451bcae-57f9-4b20-aef1-695fef08719f" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom AlternatingRow">
+ <td colspan="4">
+ Wir nehmen ihn weiter mit!
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop ">
+ <td width="105">
+ <img src="/images/icons/dropped_off.gif" width="16" height="16" alt="Dropped Off" title="Dropped Off" /> 2011-05-04
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=a2b29332-1590-490c-8073-bb37f4784639">badebude</a> placed it in <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=2cb9517e-f82a-4a7c-822d-f03ab7b0a330">Kemnade Multi</a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+ - 1.15 km
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=1f27086e-1b82-4907-9e38-5ff5e906715c" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom ">
+ <td colspan="4">
+
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop AlternatingRow">
+ <td width="105">
+ <img src="/images/icons/icon_visited.gif" width="16" height="16" alt="Visited" title="Visited" /> 2011-05-03
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=a2b29332-1590-490c-8073-bb37f4784639">badebude</a> took it to <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=47bbaeaa-19f5-4f73-9e2b-1285829519cf">Sterntaler</a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+ - 4.11 km
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=c3546f6e-185f-4c62-8be1-3780930f6f1d" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom AlternatingRow">
+ <td colspan="4">
+
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop ">
+ <td width="105">
+ <img src="/images/icons/picked_up.gif" width="16" height="16" alt="Retrieve It from a Cache" title="Retrieve It from a Cache" /> 2011-04-28
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=a2b29332-1590-490c-8073-bb37f4784639">badebude</a> retrieved it from <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=76d5669c-ea59-4b99-b1cb-c57b5c430b52">alles Allee - oder was?!?</a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=a49cc46b-f378-476b-a0cd-1a4923b0789d" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom ">
+ <td colspan="4">
+ We will travel it on...
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop AlternatingRow">
+ <td width="105">
+ <img src="/images/icons/dropped_off.gif" width="16" height="16" alt="Dropped Off" title="Dropped Off" /> 2011-04-28
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=9b40a73e-4e26-4073-9ce3-df48ffbe8f65">Isländer</a> placed it in <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=76d5669c-ea59-4b99-b1cb-c57b5c430b52">alles Allee - oder was?!?</a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+ - 42.5 km
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=25225736-597c-4612-9b78-28c05adb294f" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom AlternatingRow">
+ <td colspan="4">
+
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop ">
+ <td width="105">
+ <img src="/images/icons/picked_up.gif" width="16" height="16" alt="Retrieve It from a Cache" title="Retrieve It from a Cache" /> 2011-04-16
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=9b40a73e-4e26-4073-9ce3-df48ffbe8f65">Isländer</a> retrieved it from <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=09b79a47-9f1e-4502-8c27-8701ab7a3f9d"><span class="Strike OldWarning">Die Möhnetalsperre - Stollenbegang</span></a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=9f411db6-5b71-41c8-a8c7-8153231c12c6" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom ">
+ <td colspan="4">
+ on the road again!
+
+
+ </td>
+ </tr>
+
+ <tr class="Data BorderTop AlternatingRow">
+ <td width="105">
+ <img src="/images/icons/dropped_off.gif" width="16" height="16" alt="Dropped Off" title="Dropped Off" /> 2011-04-15
+ </td>
+ <td>
+ <a href="http://www.geocaching.com/profile/?guid=2b8f66cd-f891-41b7-ba15-6f205e1dc326">Airly B</a> placed it in <a href="http://www.geocaching.com/seek/cache_details.aspx?guid=09b79a47-9f1e-4502-8c27-8701ab7a3f9d"><span class="Strike OldWarning">Die Möhnetalsperre - Stollenbegang</span></a>
+ </td>
+ <td>
+ Nordrhein-Westfalen, Germany
+ - 20.91 km
+ </td>
+ <td width="70">
+ <a href="http://www.geocaching.com/track/log.aspx?LUID=64bea1f0-9611-46a8-afea-ce46301b57a0" title="Visit Log">Visit Log</a>
+ </td>
+ </tr>
+ <tr class="Data BorderBottom AlternatingRow">
+ <td colspan="4">
+
+
+
+ </td>
+ </tr>
+
+ <tr class="Data">
+ <td colspan="4" align="right">
+ <small>data on this page is cached for 3 mins</small>
+ </td>
+ </tr>
+ </table>
+
+
+<ul class="pager"><li class="pager-info">01-10 of 130 records ·</li><li class="pager-current">01</li><li><a href="/track/details.aspx?id=658003&page=2">02</a></li><li><a href="/track/details.aspx?id=658003&page=3">03</a></li><li><a href="/track/details.aspx?id=658003&page=4">04</a></li><li><a href="/track/details.aspx?id=658003&page=5">05</a></li><li><a href="/track/details.aspx?id=658003&page=6">06</a></li><li class="pager-next"><a href="/track/details.aspx?id=658003&page=2">next ›</a></li><li class="pager-last last"><a href="/track/details.aspx?id=658003&page=13">last »</a></li></ul>
+<p>
+
+</p>
+
+
+
+
+
+ </div>
+ <div id="ctl00_divContentSide" class="span-4 last">
+
+ <div id="ctl00_uxBanManWidget" class="MasterPageAds">
+
+
+ <p class="NoBottomSpacing"><span id="ctl00_ADModules_09"><iframe type="iframe" src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&SiteID=1&X='262ef34350614d9a959e34df0b085755'" width="120" height="240" Marginwidth="0" Marginheight="0" Hspace="0" Vspace="0" Frameborder="0" Scrolling="no" style="width:120px;Height:240px;"><a href="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Click&;Mode=HTML&SiteID=1" target="_blank"><img src="http://ads.groundspeak.com/a.aspx?ZoneID=9&Task=Get&Mode=HTML&SiteID=1" width="120" height="240" border="0" alt="" /></a></iframe></span></p>
+ <p class="AlignCenter"><small><a id="ctl00_hlAdvertiseWithUs" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></small></p>
+
+
+</div>
+
+ </div>
+
+ </div>
+
+ </section>
+ <footer>
+
+ <div class="container">
+
+ <div class="span-24 last FooterTop">
+
+
+
+<div class="LocaleText">
+
+ <strong>Choose Your Language:</strong>
+
+</div>
+<div class="LocaleList">
+
+ <div id="selected_language">
+
+ <a href="#">English▼</a>
+
+ </div>
+ <ul id="locale_list">
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl00_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl00$uxLocaleItem','')">English</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl01_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl01$uxLocaleItem','')">Deutsch</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl02_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl02$uxLocaleItem','')">Français</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl03_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl03$uxLocaleItem','')">Português</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl04_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl04$uxLocaleItem','')">Čeština</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl05_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl05$uxLocaleItem','')">Svenska</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl06_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl06$uxLocaleItem','')">Nederlands</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl07_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl07$uxLocaleItem','')">Català</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl08_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl08$uxLocaleItem','')">Polski</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl09_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl09$uxLocaleItem','')">Eesti</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl10_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl10$uxLocaleItem','')">Norsk, Bokmål</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl11_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl11$uxLocaleItem','')">한국어</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl12_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl12$uxLocaleItem','')">Español</a></li>
+
+ <li><a id="ctl00_uxLocaleList_uxLocaleList_ctl13_uxLocaleItem" href="javascript:__doPostBack('ctl00$uxLocaleList$uxLocaleList$ctl13$uxLocaleItem','')">Magyar</a></li>
+
+ </ul>
+
+</div>
+<script type="text/javascript">
+
+ jQuery(document).ready(function() {
+ jQuery("#selected_language a").click(function (e) {
+ e.preventDefault();
+ jQuery("#locale_list").show().position({
+ of: $("#selected_language"),
+ my: "left top",
+ at: "left bottom",
+ offset: "0 3",
+ collision: "fit fit"
+ });
+ jQuery(document).click(function () {
+ jQuery("#locale_list").fadeOut("fast");
+ });
+ return false;
+ });
+ });
+</script>
+
+ </div>
+ <div class="span-6">
+
+ <p class="FooterHeader"><strong>Resources</strong></p>
+ <ul class="FooterLinks">
+ <li><a id="ctl00_hlFooterGuide" accesskey="i" title="Guide" href="../guide/default.aspx">Guide</a></li>
+ <li><a id="ctl00_hlFooterHistory" title="History" href="../about/history.aspx">History</a></li>
+ <li><a id="ctl00_hlFooterBrochures" title="Brochures" href="../tools/default.aspx#Guide">Brochures</a></li>
+ <li><a id="ctl00_hlFooterGlossary" title="Glossary of Terms" href="../about/glossary.aspx">Glossary of Terms</a></li>
+ <li><a id="ctl00_hlFooterTools" accesskey="o" title="Tools and Downloads" href="../tools/default.aspx">Tools and Downloads</a></li>
+
+ <li><a id="ctl00_hlFooterReferral" title="Tell A Friend About Geocaching" href="../account/SendReferral.aspx">Tell A Friend About Geocaching</a></li>
+
+ </ul>
+
+ </div>
+ <div class="span-6">
+
+ <p class="FooterHeader"><strong>Questions & Suggestions</strong></p>
+ <ul class="FooterLinks">
+ <li><a id="ctl00_hlFooterKnowledge" title="Knowledge Books Support" rel="external" href="http://support.groundspeak.com/index.php">Knowledge Books Support</a></li>
+ <li><a id="ctl00_hlFooterEmail" title="Email Support" rel="external" href="http://support.groundspeak.com/index.php?pg=request">Email Support</a></li>
+ <li><a id="ctl00_hlFooterForums" accesskey="f" title="Forums" href="../forums/default.aspx">Forums</a></li>
+
+ <li id="ctl00_liUserVoice"><a id="ctl00_hlFooterFeedback2" title="Feedback Site" rel="external" href="http://feedback.geocaching.com/">Feedback Site</a></li>
+ <li><a id="ctl00_hlFooterContact" title="Contact" href="../contact/default.aspx">Contact</a></li>
+ </ul>
+
+ </div>
+ <div class="span-6">
+
+ <p class="FooterHeader"><strong>Press</strong></p>
+ <ul class="FooterLinks">
+ <li><a id="ctl00_hlFooterNews" title="News Articles" href="../press/default.aspx">News Articles</a></li>
+ <li><a id="ctl00_hlFooterGCFactSheet" title="Geocaching Fact Sheet" rel="document" href="../articles/Brochures/footer/FactSheet_Geocaching.pdf">Geocaching Fact Sheet</a></li>
+ <li><a id="ctl00_hlFooterGCCOMFactSheet" title="Geocaching.com Fact Sheet" rel="document" href="../articles/Brochures/footer/FactSheet_GeocachingCom.pdf">Geocaching.com Fact Sheet</a></li>
+ <li><a id="ctl00_hlFooterMediaFAQs" title="Media FAQs" rel="document" href="../articles/Brochures/footer/FAQ_Media.pdf">Media FAQs</a></li>
+ <li><a id="ctl00_hlFooterMediaInquiries" title="Media Inquiries" rel="external" href="http://support.groundspeak.com/index.php?pg=request&xCategory=11">Media Inquiries</a></li>
+ </ul>
+
+ </div>
+ <div class="span-6 last">
+
+ <p class="FooterHeader"><strong>More</strong></p>
+ <ul class="FooterLinks">
+ <li><a id="ctl00_hlFooterAbout" title="About Groundspeak" href="../about/groundspeak.aspx">About Groundspeak</a></li>
+ <li><a id="ctl00_hlFooterAdvertise" title="Advertising with Us" href="../about/advertising.aspx">Advertising with Us</a></li>
+ <li><a id="ctl00_hlFooterHotels" title="Hotels" href="/reviews/hotels">Hotels</a></li>
+ <li><a id="ctl00_hlFooterGPS" accesskey="w" title="GPS Reviews" href="/reviews/gps">GPS Reviews</a></li>
+ <li><a id="ctl00_hlFooterBenchmarks" title="Find a Benchmark" href="../mark/default.aspx">Find a Benchmark</a></li>
+ </ul>
+
+ </div>
+ <p class="span-24 last FooterBottom">Copyright © 2000-2011 <a href="http://www.groundspeak.com/" title="Groundspeak, Inc." accesskey="g">Groundspeak, Inc.</a> All Rights Reserved.<br />
+ <a id="ctl00_hlFooterTerms" accesskey="u" title="Groundspeak Terms of Use" href="../about/termsofuse.aspx">Groundspeak Terms of Use</a> | <a id="ctl00_hlFooterPrivacy" accesskey="x" title="Privacy Policy" href="../about/privacypolicy.aspx">Privacy Policy</a> | <a id="ctl00_hlFooterLogo" accesskey="l" title="Geocaching Logo Usage Guidelines" href="../about/logousage.aspx">Geocaching Logo Usage Guidelines</a></p>
+
+ </div>
+
+ </footer>
+ <div class="SkipLinks">
+
+ <a id="ctl00_hlSkipLinksTop" accesskey="t" title="Return to the Top of the Page" href="#Top">Return to the Top of the Page</a>
+
+ </div>
+
+ <script type="text/javascript">
+ //jquery method
+ var uservoiceOptions = {};
+ jQuery(function ($) {
+ $.extend(uservoiceOptions, {
+ key: 'geocaching',
+ host: 'feedback.geocaching.com',
+ forum: '75775',
+ //alignment: 'left',
+ //background_color: '#c1caa8',
+ //text_color: 'white',
+ //hover_color: '#acb88d',
+ lang: 'en',
+ showTab: false
+ });
+ if (typeof (uvtoken) != "undefined") {
+ $.extend(uservoiceOptions, { params: { sso: uvtoken} });
+ }
+ var uv = document.createElement('script');
+ uv.setAttribute('type', 'text/javascript');
+ uv.setAttribute('src', ("https:" == document.location.protocol ? "https://" : "http://") + "cdn.uservoice.com/javascripts/widgets/tab.js");
+ uv.setAttribute('async', 'true');
+ document.documentElement.firstChild.appendChild(uv);
+ });
+
+ $('#feedback-tab a').hover(function () {
+ $('#feedback-tab a span#text').toggle();
+ });
+ </script>
+
+
+
+<script type="text/javascript">
+//<![CDATA[
+var uvtoken = 'PsDnbhUAfZpYJ%2fVuS%2fA9U54ejcA9wXNPAxTP1Ko197xlyETGZCA7gbO9VXK21qNg7lQ3ibk684aNVDy6A1BKO5%2bJ6SA%2fYZu%2fRGEiz3mua2D53b6wOROmlYCaxTURPky3GqcGWRIU6IJ77tgKRy0yu1U9dl48r%2bvMQfZ%2b7uceuoSMnKU%2bONrjJWJ7ZSqpMzqYJ6nYOHIxPaL%2fvjtXw8siaV7Wv3S1b4EFcNuZZRmVx4c4B0E1T3P2geh8vYJb%2fOQfgw5OKzCnabkBsh0KL4WG2Nfasz5aKKd7M%2fCCoP2XnqCwgJu6423tIaXmSURNQpNfL6X0OE81ydjw88lqHomiJLj%2fPIENCYh%2brQa4Wm%2bUsMqL%2fIEIeFTkK%2fVZdryzrjHjnhPy%2fVr3iSScJFir6b8HmoQvxMa%2fmu8fv22LFqbYgraDA6wFLba%2bYr5Rv%2fp85i%2bD';//]]>
+</script>
+</form>
+ <script type="text/javascript">
+ var browserType = {
+ IE: !!(window.attachEvent && !window.opera),
+ Opera: !!window.opera,
+ WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
+ Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
+ MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
+ };
+
+ $(function () {
+ // Make the menu system play nice with all browsers:
+ $('ul.Menu li').hover(function () {
+ $(this).addClass('hover');
+ $('ul:first', this).css('visibility', 'visible');
+ }, function () {
+ $(this).removeClass('hover');
+ $('ul:first', this).css('visibility', 'hidden');
+ });
+ if (!isiOS()) {
+ // Constructing a Twitter-esque Login:
+ $(".SignInLink").click(function (e) {
+ e.preventDefault();
+ $("#SignInWidget").toggle();
+ $(".ProfileWidget").toggleClass("WidgetOpen");
+ $(this).blur();
+ $("#ctl00_tbUsername").focus();
+ });
+ $(".SignInCloseLink").click(function () {
+ $("#SignInWidget").toggle();
+ $(".ProfileWidget").toggleClass("WidgetOpen");
+ });
+ }
+ $('.SignedInProfileLink').truncate({
+ width: 120,
+ after: '&hellip;',
+ center: false,
+ addclass: false,
+ addtitle: false
+ });
+ // Hide the warning message if the user closed it already
+ if ($.cookie('hide_warning') != null) {
+ $(".WarningMessage").hide();
+ }
+
+ function isiOS(){
+ return (
+ (navigator.userAgent.match(/iPhone/i)) ||
+ (navigator.userAgent.match(/iPod/i)) ||
+ (navigator.userAgent.match(/iPad/i))
+ );
+ }
+ });
+ </script>
+
+ <script type="text/javascript" language="javascript">
+ $(function () {
+ $("a.tb_images").fancybox({ 'titlePosition': 'inside' });
+ });
+
+ $("#ctl00_ContentBody_btnLookupCode").click(function() {
+ if ($("#ctl00_ContentBody_txtTrackingNumber").val().length > 0) {
+ window.location = "/track/details.aspx?tracker=" + $("#ctl00_ContentBody_txtTrackingNumber").val();
+ } else {
+ alert("Please enter a tracking code to search for...");
+ window.setTimeout(hideModalSpinner(), 50);
+ }
+ });
+ </script>
+
+
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-2020240-1']);
+ _gaq.push(['_trackPageview']);
+ (function () {
+ var ga = document.createElement('script');
+ ga.src = ('https:' == document.location.protocol ?
+ 'https://ssl' : 'http://www') +
+ '.google-analytics.com/ga.js';
+ ga.setAttribute('async', 'true');
+ document.documentElement.firstChild.appendChild(ga);
+ })();
+ $(function () {
+ $("a.language").click(function (e) {
+ e.preventDefault();
+ window.location.replace(window.location.href + (window.location.search.indexOf("?") == -1 ? "?" : "&") + "lang=" + $(this).attr("lang"));
+ });
+ });
+ </script>
+
+
+ <script type="text/javascript">
+ _qoptions = {
+ qacct: "p-f6VPrfmR4cujU"
+ };
+ (function () {
+ var quant = document.createElement('script');
+ quant.src = ('https:' == document.location.protocol ?
+ 'https://' : 'http://') +
+ 'edge.quantserve.com/quant.js';
+ quant.setAttribute('async', 'true');
+ document.documentElement.firstChild.appendChild(quant);
+ })();
+ </script>
+ <noscript>
+ <img src="http://pixel.quantserve.com/pixel/p-f6VPrfmR4cujU.gif" style="display: none;" height="1" width="1" alt="Quantcast" />
+ </noscript>
+
+ <!-- Server: WEB02; Build: HotFix_20111006.1 -->
+ </body>
+</html>
diff --git a/tests/src/cgeo/geocaching/TrackablesTest.java b/tests/src/cgeo/geocaching/TrackablesTest.java index 54fb2bc..7760b10 100644 --- a/tests/src/cgeo/geocaching/TrackablesTest.java +++ b/tests/src/cgeo/geocaching/TrackablesTest.java @@ -39,6 +39,19 @@ public class TrackablesTest extends InstrumentationTestCase { assertNotNull(trackable.getDetails()); } + public void testParseTrackableWithoutReleaseDate() { + cgTrackable trackable = cgBase.parseTrackable(getFileContent(R.raw.tb14wfv), null); + assertNotNull(trackable); + assertEquals("The Brickster", trackable.getName()); + assertEquals("Adrian C", trackable.getOwner()); + assertTrue(trackable.getGoal().startsWith("I'm on the run from the law.")); + assertTrue(trackable.getGoal().endsWith("what I've seen.")); + assertEquals(8451.9, trackable.getDistance(), 0.01); + // the next two items are normally available for trackables, but not for this one, so explicitly test for null + assertNull(trackable.getReleased()); + assertNull(trackable.getOrigin()); + } + private String getFileContent(int resourceId) { InputStream ins = getInstrumentation().getContext().getResources().openRawResource(resourceId); return new Scanner(ins).useDelimiter("\\A").next(); |
