bolognese 0.9.21 → 0.9.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +11 -9
- data/lib/bolognese/datacite_utils.rb +1 -1
- data/lib/bolognese/metadata.rb +1 -1
- data/lib/bolognese/readers/citeproc_reader.rb +1 -1
- data/lib/bolognese/readers/codemeta_reader.rb +1 -1
- data/lib/bolognese/readers/datacite_json_reader.rb +1 -1
- data/lib/bolognese/readers/datacite_reader.rb +8 -6
- data/lib/bolognese/readers/schema_org_reader.rb +1 -1
- data/lib/bolognese/utils.rb +1 -1
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/writers/bibtex_writer.rb +1 -1
- data/lib/bolognese/writers/ris_writer.rb +2 -2
- data/lib/bolognese/writers/schema_org_writer.rb +2 -2
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +99 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +144 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +40 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +40 -0
- data/spec/readers/codemeta_reader_spec.rb +3 -3
- data/spec/readers/datacite_reader_spec.rb +21 -1
- data/spec/readers/schema_org_reader_spec.rb +2 -2
- data/spec/utils_spec.rb +6 -0
- data/spec/writers/citeproc_writer_spec.rb +14 -0
- data/spec/writers/rdf_xml_writer_spec.rb +45 -44
- data/spec/writers/ris_writer_spec.rb +20 -1
- metadata +6 -8
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +0 -4685
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_Citeproc_JSON.yml +0 -4589
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/Crossref_DOI.yml +0 -4589
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +0 -5317
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +0 -4686
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +0 -4963
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ba49af039894a0a58bbe004892ff7d88c4f5f23
|
4
|
+
data.tar.gz: dcab422988aad91c0dcaf0deb246c8371dd34f2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 539cd575670c222bfbc08c3964e3d9c323f5f52349db3ce57c1f628325d93357831e785a392018a4ec69cd25a6a08353de5d0c51506d34eddae2398519791d04
|
7
|
+
data.tar.gz: cdf2422dc843a1f7f26a55892b84f430de318af9a9d92fbb7a8f3dcc8209c3444495fd4842d43f7dfabb8f7d283cae023645066f98985c7bced9e33b41f75922
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (0.9.
|
4
|
+
bolognese (0.9.22)
|
5
5
|
activesupport (>= 4.2.5, < 6)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (~> 4.1)
|
@@ -22,7 +22,7 @@ PATH
|
|
22
22
|
GEM
|
23
23
|
remote: https://rubygems.org/
|
24
24
|
specs:
|
25
|
-
activesupport (5.1.
|
25
|
+
activesupport (5.1.1)
|
26
26
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
27
27
|
i18n (~> 0.7)
|
28
28
|
minitest (~> 5.1)
|
@@ -53,15 +53,16 @@ GEM
|
|
53
53
|
faraday (>= 0.7.4, < 1.0)
|
54
54
|
gender_detector (0.1.2)
|
55
55
|
unicode_utils (>= 1.3.0)
|
56
|
-
haml (
|
56
|
+
haml (5.0.1)
|
57
|
+
temple (>= 0.8.0)
|
57
58
|
tilt
|
58
59
|
hamster (3.0.0)
|
59
60
|
concurrent-ruby (~> 1.0)
|
60
61
|
hashdiff (0.3.4)
|
61
62
|
htmlentities (4.3.4)
|
62
|
-
i18n (0.8.
|
63
|
+
i18n (0.8.4)
|
63
64
|
json (2.1.0)
|
64
|
-
json-ld (2.1.
|
65
|
+
json-ld (2.1.4)
|
65
66
|
multi_json (~> 1.12)
|
66
67
|
rdf (~> 2.2)
|
67
68
|
jsonlint (0.2.0)
|
@@ -96,7 +97,7 @@ GEM
|
|
96
97
|
nokogiri (>= 1.6.1, < 1.8)
|
97
98
|
public_suffix (>= 2.0.0, < 2.1)
|
98
99
|
public_suffix (2.0.5)
|
99
|
-
rack (2.0.
|
100
|
+
rack (2.0.3)
|
100
101
|
rack-test (0.6.3)
|
101
102
|
rack (>= 1.0)
|
102
103
|
rake (12.0.0)
|
@@ -105,8 +106,8 @@ GEM
|
|
105
106
|
link_header (~> 0.0, >= 0.0.8)
|
106
107
|
rdf-aggregate-repo (2.2.0)
|
107
108
|
rdf (~> 2.0)
|
108
|
-
rdf-rdfa (2.2.
|
109
|
-
haml (~>
|
109
|
+
rdf-rdfa (2.2.2)
|
110
|
+
haml (~> 5.0)
|
110
111
|
htmlentities (~> 4.3)
|
111
112
|
rdf (~> 2.2)
|
112
113
|
rdf-aggregate-repo (~> 2.2)
|
@@ -142,9 +143,10 @@ GEM
|
|
142
143
|
docile (~> 1.1.0)
|
143
144
|
json (>= 1.8, < 3)
|
144
145
|
simplecov-html (~> 0.10.0)
|
145
|
-
simplecov-html (0.10.
|
146
|
+
simplecov-html (0.10.1)
|
146
147
|
sxp (1.0.0)
|
147
148
|
rdf (~> 2.0)
|
149
|
+
temple (0.8.0)
|
148
150
|
thor (0.19.4)
|
149
151
|
thread_safe (0.3.6)
|
150
152
|
tilt (2.0.7)
|
data/lib/bolognese/metadata.rb
CHANGED
@@ -64,7 +64,7 @@ module Bolognese
|
|
64
64
|
"description" => meta.fetch("abstract", nil).present? ? { "text" => sanitize(meta.fetch("abstract")) } : nil,
|
65
65
|
#{ }"license" => { "id" => meta.field?(:copyright) && meta.copyright.to_s.presence },
|
66
66
|
"version" => meta.fetch("version", nil),
|
67
|
-
"keywords" => meta.fetch("categories", nil)
|
67
|
+
"keywords" => Array.wrap(meta.fetch("categories", nil)).split(", ")
|
68
68
|
}
|
69
69
|
end
|
70
70
|
end
|
@@ -43,7 +43,7 @@ module Bolognese
|
|
43
43
|
"description" => meta.fetch("description", nil).present? ? { "text" => sanitize(meta.fetch("description")) } : nil,
|
44
44
|
"license" => { "id" => meta.fetch("license", nil) },
|
45
45
|
"version" => meta.fetch("version", nil),
|
46
|
-
"keywords" =>
|
46
|
+
"keywords" => meta.fetch("tags", nil)
|
47
47
|
}
|
48
48
|
end
|
49
49
|
|
@@ -41,7 +41,7 @@ module Bolognese
|
|
41
41
|
"description" => meta.fetch("description", nil),
|
42
42
|
"license" => meta.fetch("license", nil),
|
43
43
|
"version" => meta.fetch("version", nil),
|
44
|
-
"keywords" =>
|
44
|
+
"keywords" => meta.fetch("subject", nil),
|
45
45
|
"language" => meta.fetch("language", nil),
|
46
46
|
"content_size" => meta.fetch("size", nil),
|
47
47
|
"schema_version" => meta.fetch("schema-version", nil)
|
@@ -42,12 +42,14 @@ module Bolognese
|
|
42
42
|
{ "id" => normalize_url(r["rightsURI"]), "name" => r["__content__"] }.compact
|
43
43
|
end.unwrap
|
44
44
|
keywords = Array.wrap(meta.dig("subjects", "subject")).map do |k|
|
45
|
-
if k.
|
45
|
+
if k.nil?
|
46
|
+
nil
|
47
|
+
elsif k.is_a?(String)
|
46
48
|
sanitize(k)
|
47
49
|
else
|
48
|
-
k
|
50
|
+
{ "subject_scheme" => k["subjectScheme"], "scheme_uri" => k["schemeURI"], "text" => sanitize(k["__content__"]) }.compact
|
49
51
|
end
|
50
|
-
end.compact
|
52
|
+
end.compact
|
51
53
|
dates = Array.wrap(meta.dig("dates", "date"))
|
52
54
|
funding = begin
|
53
55
|
f = datacite_funder_contributor(meta) + datacite_funding_reference(meta)
|
@@ -111,9 +113,9 @@ module Bolognese
|
|
111
113
|
if f["awardNumber"].present? || f["awardTitle"].present?
|
112
114
|
{ "type" => "Award",
|
113
115
|
"name" => f.fetch("awardTitle", nil),
|
114
|
-
"identifier" => f.dig("awardNumber", "__content__"),
|
115
|
-
"url" => f.dig("awardNumber", "awardURI"),
|
116
|
-
"funder" => funder }
|
116
|
+
"identifier" => f["awardNumber"].is_a?(Hash) ? f.dig("awardNumber", "__content__") : f["awardNumber"],
|
117
|
+
"url" => f["awardNumber"].is_a?(Hash) ? f.dig("awardNumber", "awardURI") : nil,
|
118
|
+
"funder" => funder }.compact
|
117
119
|
else
|
118
120
|
funder
|
119
121
|
end
|
@@ -55,7 +55,7 @@ module Bolognese
|
|
55
55
|
"description" => meta.fetch("description", nil).present? ? { "text" => sanitize(meta.fetch("description")) } : nil,
|
56
56
|
"license" => { "id" => meta.fetch("license", nil) },
|
57
57
|
"version" => meta.fetch("version", nil),
|
58
|
-
"keywords" => meta.fetch("keywords", nil)
|
58
|
+
"keywords" => meta.fetch("keywords", nil).to_s.split(", ")
|
59
59
|
}
|
60
60
|
end
|
61
61
|
|
data/lib/bolognese/utils.rb
CHANGED
@@ -293,7 +293,7 @@ module Bolognese
|
|
293
293
|
elsif element.is_a?(Hash)
|
294
294
|
element.fetch(content, nil)
|
295
295
|
elsif element.is_a?(Array)
|
296
|
-
a = element.map { |e| e.fetch(content, nil) }.uniq
|
296
|
+
a = element.map { |e| e.is_a?(Hash) ? e.fetch(content, nil) : e }.uniq
|
297
297
|
a = options[:first] ? a.first : a.unwrap
|
298
298
|
else
|
299
299
|
nil
|
data/lib/bolognese/version.rb
CHANGED
@@ -10,7 +10,7 @@ module Bolognese
|
|
10
10
|
doi: doi,
|
11
11
|
url: url,
|
12
12
|
author: authors_as_string(author),
|
13
|
-
keywords: keywords,
|
13
|
+
keywords: Array.wrap(parse_attributes(keywords, content: "text")).join(", "),
|
14
14
|
language: language,
|
15
15
|
title: parse_attributes(title, content: "text", first: true),
|
16
16
|
journal: container_title,
|
@@ -12,10 +12,10 @@ module Bolognese
|
|
12
12
|
"DO" => doi,
|
13
13
|
"UR" => url,
|
14
14
|
"AB" => parse_attributes(description, content: "text", first: true),
|
15
|
-
"KW" => keywords
|
15
|
+
"KW" => parse_attributes(keywords, content: "text").presence,
|
16
16
|
"PY" => publication_year,
|
17
17
|
"PB" => publisher,
|
18
|
-
"AN" => alternate_name
|
18
|
+
"AN" => parse_attributes(alternate_name, content: "name").presence,
|
19
19
|
"LA" => language,
|
20
20
|
"VL" => volume,
|
21
21
|
"IS" => issue,
|
@@ -10,13 +10,13 @@ module Bolognese
|
|
10
10
|
"url" => url,
|
11
11
|
"additionalType" => additional_type,
|
12
12
|
"name" => parse_attributes(title, content: "text", first: true),
|
13
|
-
"alternateName" => alternate_name,
|
13
|
+
"alternateName" => parse_attributes(alternate_name, content: "name", first: true),
|
14
14
|
"author" => to_schema_org(author),
|
15
15
|
"editor" => to_schema_org(editor),
|
16
16
|
"description" => parse_attributes(description, content: "text", first: true),
|
17
17
|
"license" => Array.wrap(license).map { |l| l["id"] }.compact.unwrap,
|
18
18
|
"version" => version,
|
19
|
-
"keywords" => keywords,
|
19
|
+
"keywords" => Array.wrap(keywords).join(", ").presence,
|
20
20
|
"inLanguage" => language,
|
21
21
|
"contentSize" => content_size,
|
22
22
|
"dateCreated" => date_created,
|
@@ -0,0 +1,99 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.datacite.org/prefixes/10.15125
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Access-Control-Allow-Headers:
|
20
|
+
- Content-Type,Accept,Accept-Encoding,Origin,User-Agent,Cache-Control,Keep-Alive
|
21
|
+
Access-Control-Allow-Methods:
|
22
|
+
- GET, POST, OPTIONS
|
23
|
+
Access-Control-Allow-Origin:
|
24
|
+
- "*"
|
25
|
+
Access-Control-Max-Age:
|
26
|
+
- '1728000'
|
27
|
+
Cache-Control:
|
28
|
+
- max-age=0, private, must-revalidate
|
29
|
+
Content-Type:
|
30
|
+
- application/vnd.api+json; charset=utf-8
|
31
|
+
Date:
|
32
|
+
- Mon, 05 Jun 2017 13:36:39 GMT
|
33
|
+
Etag:
|
34
|
+
- W/"51c8b6832184f5635e2c8c2da0224b7e"
|
35
|
+
Server:
|
36
|
+
- openresty/1.11.2.2
|
37
|
+
Status:
|
38
|
+
- 200 OK
|
39
|
+
Vary:
|
40
|
+
- Accept-Encoding
|
41
|
+
X-Content-Type-Options:
|
42
|
+
- nosniff
|
43
|
+
X-Frame-Options:
|
44
|
+
- SAMEORIGIN
|
45
|
+
X-Powered-By:
|
46
|
+
- Phusion Passenger 5.1.4
|
47
|
+
X-Request-Id:
|
48
|
+
- 403df8af-9b51-4522-84ae-28da4046bad6
|
49
|
+
X-Runtime:
|
50
|
+
- '0.313661'
|
51
|
+
X-Xss-Protection:
|
52
|
+
- 1; mode=block
|
53
|
+
Content-Length:
|
54
|
+
- '125'
|
55
|
+
Connection:
|
56
|
+
- keep-alive
|
57
|
+
body:
|
58
|
+
encoding: UTF-8
|
59
|
+
string: '{"data":{"id":"10.15125","type":"prefixes","attributes":{"registration-agency":"DataCite","updated":"2016-09-21T20:24:28Z"}}}'
|
60
|
+
http_version:
|
61
|
+
recorded_at: Mon, 05 Jun 2017 13:36:39 GMT
|
62
|
+
- request:
|
63
|
+
method: get
|
64
|
+
uri: https://search.datacite.org/api?fl=doi,xml,media,minted,updated&q=doi:10.15125/bath-00114&wt=json
|
65
|
+
body:
|
66
|
+
encoding: US-ASCII
|
67
|
+
string: ''
|
68
|
+
headers:
|
69
|
+
User-Agent:
|
70
|
+
- Maremma - https://github.com/datacite/maremma
|
71
|
+
Accept:
|
72
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
73
|
+
response:
|
74
|
+
status:
|
75
|
+
code: 200
|
76
|
+
message: ''
|
77
|
+
headers:
|
78
|
+
Access-Control-Allow-Methods:
|
79
|
+
- GET, POST, OPTIONS
|
80
|
+
Access-Control-Allow-Origin:
|
81
|
+
- "*"
|
82
|
+
Content-Type:
|
83
|
+
- application/json;charset=UTF-8
|
84
|
+
Date:
|
85
|
+
- Mon, 05 Jun 2017 13:36:39 GMT
|
86
|
+
Server:
|
87
|
+
- openresty/1.11.2.2
|
88
|
+
Content-Length:
|
89
|
+
- '14115'
|
90
|
+
Connection:
|
91
|
+
- keep-alive
|
92
|
+
body:
|
93
|
+
encoding: UTF-8
|
94
|
+
string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+PGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuMTUxMjUvQkFUSC0wMDExNDwvaWRlbnRpZmllcj48Y3JlYXRvcnM+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPkJpbWJvLCBOdW5vPC9jcmVhdG9yTmFtZT48Z2l2ZW5OYW1lPk51bm88L2dpdmVuTmFtZT48ZmFtaWx5TmFtZT5CaW1ibzwvZmFtaWx5TmFtZT48bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Ik9SQ0lEIiBzY2hlbWVVUkk9Imh0dHA6Ly9vcmNpZC5vcmcvIj4wMDAwLTAwMDEtODc0MC04Mjg0PC9uYW1lSWRlbnRpZmllcj48L2NyZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPlRpbmcsIFZhbGVza2E8L2NyZWF0b3JOYW1lPjxnaXZlbk5hbWU+VmFsZXNrYTwvZ2l2ZW5OYW1lPjxmYW1pbHlOYW1lPlRpbmc8L2ZhbWlseU5hbWU+PGFmZmlsaWF0aW9uPlVuaXZlcnNpdHkgb2YgQmF0aDwvYWZmaWxpYXRpb24+PC9jcmVhdG9yPjwvY3JlYXRvcnM+PHRpdGxlcz48dGl0bGU+RGF0YXNldCBmb3IgIkRpcmVjdCBFdmlkZW5jZSBmb3IgU29saWQtTGlrZSBIeWRyb2dlbiBpbiBhIE5hbm9wb3JvdXMgQ2FyYm9uIEh5ZHJvZ2VuIFN0b3JhZ2UgTWF0ZXJpYWwgYXQgU3VwZXJjcml0aWNhbCBUZW1wZXJhdHVyZXMiPC90aXRsZT48L3RpdGxlcz48cHVibGlzaGVyPlVuaXZlcnNpdHkgb2YgQmF0aDwvcHVibGlzaGVyPjxwdWJsaWNhdGlvblllYXI+MjAxNTwvcHVibGljYXRpb25ZZWFyPjxzdWJqZWN0cz48c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJSQ1VLIFJlc2VhcmNoIENsYXNzaWZpY2F0aW9ucyIgc2NoZW1lVVJJPSJodHRwOi8vd3d3LnJjdWsuYWMudWsvcmVzZWFyY2gvZWZmaWNpZW5jeS9yZXNlYXJjaGFkbWluL2hhcm1vbmlzYXRpb24vIj5FbmVyZ3kgU3RvcmFnZTwvc3ViamVjdD48c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJSQ1VLIFJlc2VhcmNoIENsYXNzaWZpY2F0aW9ucyIgc2NoZW1lVVJJPSJodHRwOi8vd3d3LnJjdWsuYWMudWsvcmVzZWFyY2gvZWZmaWNpZW5jeS9yZXNlYXJjaGFkbWluL2hhcm1vbmlzYXRpb24vIj5NYXRlcmlhbHMgQ2hhcmFjdGVyaXNhdGlvbjwvc3ViamVjdD48L3N1YmplY3RzPjxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+RGF0YXNldDwvcmVzb3VyY2VUeXBlPjxmdW5kaW5nUmVmZXJlbmNlcz48ZnVuZGluZ1JlZmVyZW5jZT48ZnVuZGVyTmFtZT5FbmdpbmVlcmluZyBhbmQgUGh5c2ljYWwgU2NpZW5jZXMgUmVzZWFyY2ggQ291bmNpbCAoRVBTUkMpPC9mdW5kZXJOYW1lPjxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJDcm9zc3JlZiBGdW5kZXIgSUQiPmh0dHBzOi8vZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDAyNjY8L2Z1bmRlcklkZW50aWZpZXI+PGF3YXJkTnVtYmVyPkVQL0owMTY0NTQvMTwvYXdhcmROdW1iZXI+PGF3YXJkVGl0bGU+U1VQRVJHRU4gSHViIEZ1bmRpbmc8L2F3YXJkVGl0bGU+PC9mdW5kaW5nUmVmZXJlbmNlPjxmdW5kaW5nUmVmZXJlbmNlPjxmdW5kZXJOYW1lPkVuZ2luZWVyaW5nIGFuZCBQaHlzaWNhbCBTY2llbmNlcyBSZXNlYXJjaCBDb3VuY2lsIChFUFNSQyk8L2Z1bmRlck5hbWU+PGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IkNyb3NzcmVmIEZ1bmRlciBJRCI+aHR0cHM6Ly9kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMDI2NjwvZnVuZGVySWRlbnRpZmllcj48YXdhcmROdW1iZXI+RVAvSzAyMTEwOS8xPC9hd2FyZE51bWJlcj48YXdhcmRUaXRsZT5JbnRlZ3JhdGVkIHNhZmV0eSBzdHJhdGVnaWVzIGZvciBvbmJvYXJkIGh5ZHJvZ2VuIHN0b3JhZ2Ugc3lzdGVtczwvYXdhcmRUaXRsZT48L2Z1bmRpbmdSZWZlcmVuY2U+PGZ1bmRpbmdSZWZlcmVuY2U+PGZ1bmRlck5hbWU+RW5naW5lZXJpbmcgYW5kIFBoeXNpY2FsIFNjaWVuY2VzIFJlc2VhcmNoIENvdW5jaWwgKEVQU1JDKTwvZnVuZGVyTmFtZT48ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iQ3Jvc3NyZWYgRnVuZGVyIElEIj5odHRwczovL2RvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAwMjY2PC9mdW5kZXJJZGVudGlmaWVyPjxhd2FyZE51bWJlcj5FUC9FMDQwMDcxLzE8L2F3YXJkTnVtYmVyPjxhd2FyZFRpdGxlPlVLIFNVU1RBSU5BQkxFIEhZRFJPR0VOIEVORVJHWSBDT05TT1JUSVVNIENPUkUgUFJPR1JBTU1FPC9hd2FyZFRpdGxlPjwvZnVuZGluZ1JlZmVyZW5jZT48ZnVuZGluZ1JlZmVyZW5jZT48ZnVuZGVyTmFtZT5TY2llbmNlIGFuZCBUZWNobm9sb2d5IEZhY2lsaXRpZXMgQ291bmNpbCAoU1RGQyk8L2Z1bmRlck5hbWU+PGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IkNyb3NzcmVmIEZ1bmRlciBJRCI+aHR0cHM6Ly9kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMDI3MTwvZnVuZGVySWRlbnRpZmllcj48YXdhcmROdW1iZXI+UkIxMjEwMDQxPC9hd2FyZE51bWJlcj48L2Z1bmRpbmdSZWZlcmVuY2U+PGZ1bmRpbmdSZWZlcmVuY2U+PGZ1bmRlck5hbWU+U2NpZW5jZSBhbmQgVGVjaG5vbG9neSBGYWNpbGl0aWVzIENvdW5jaWwgKFNURkMpPC9mdW5kZXJOYW1lPjxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJDcm9zc3JlZiBGdW5kZXIgSUQiPmh0dHBzOi8vZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDAyNzE8L2Z1bmRlcklkZW50aWZpZXI+PGF3YXJkTnVtYmVyPlJCMTQxMDYwMjwvYXdhcmROdW1iZXI+PC9mdW5kaW5nUmVmZXJlbmNlPjwvZnVuZGluZ1JlZmVyZW5jZXM+PGNvbnRyaWJ1dG9ycz48Y29udHJpYnV0b3IgY29udHJpYnV0b3JUeXBlPSJSaWdodHNIb2xkZXIiPjxjb250cmlidXRvck5hbWU+VW5pdmVyc2l0eSBvZiBCYXRoPC9jb250cmlidXRvck5hbWU+PC9jb250cmlidXRvcj48L2NvbnRyaWJ1dG9ycz48bGFuZ3VhZ2U+ZW48L2xhbmd1YWdlPjxhbHRlcm5hdGVJZGVudGlmaWVycz48YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iVVJMIj5odHRwOi8vcmVzZWFyY2hkYXRhLmJhdGguYWMudWsvMTE0LzwvYWx0ZXJuYXRlSWRlbnRpZmllcj48L2FsdGVybmF0ZUlkZW50aWZpZXJzPjxyZWxhdGVkSWRlbnRpZmllcnM+PHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9Ikhhc1BhcnQiPmh0dHA6Ly9yZXNlYXJjaGRhdGEuYmF0aC5hYy51ay8xMTQvMS9ESUZGLTEzMDU1LTEzMDQ5LVRFN19DYXJib25fMTYwbWJhcl9IMl83N0stUmViLmRhdDwvcmVsYXRlZElkZW50aWZpZXI+PHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9Ikhhc1BhcnQiPmh0dHA6Ly9yZXNlYXJjaGRhdGEuYmF0aC5hYy51ay8xMTQvMi9ESUZGLTEzMDYwLTEzMDQ5LVRFN19DYXJib25fNzAwbWJhcl9IMl83N0stUmViLmRhdDwvcmVsYXRlZElkZW50aWZpZXI+PHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9Ikhhc1BhcnQiPmh0dHA6Ly9yZXNlYXJjaGRhdGEuYmF0aC5hYy51ay8xMTQvMy9ESUZGLTEzMDYyLTEzMDQ5LVRFN19DYXJib25fMTYwMG1iYXJfSDJfNzdLLVJlYi5kYXQ8L3JlbGF0ZWRJZGVudGlmaWVyPjxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IlVSTCIgcmVsYXRpb25UeXBlPSJIYXNQYXJ0Ij5odHRwOi8vcmVzZWFyY2hkYXRhLmJhdGguYWMudWsvMTE0LzQvRElGRi0xMzA2NS0xMzA0OS1URTdfQ2FyYm9uXzMwMTBtYmFyX0gyXzc3Sy1SZWIuZGF0PC9yZWxhdGVkSWRlbnRpZmllcj48cmVsYXRlZElkZW50aWZpZXIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJVUkwiIHJlbGF0aW9uVHlwZT0iSGFzUGFydCI+aHR0cDovL3Jlc2VhcmNoZGF0YS5iYXRoLmFjLnVrLzExNC81L0RJRkYtMTMwNjgtMTMwNDktVEU3X0NhcmJvbl82MzAwbWJhcl9IMl83N0stUmViLmRhdDwvcmVsYXRlZElkZW50aWZpZXI+PHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9Ikhhc1BhcnQiPmh0dHA6Ly9yZXNlYXJjaGRhdGEuYmF0aC5hYy51ay8xMTQvNi9ESUZGLTEzMDczLTEzMDQ5LVRFN19DYXJib25fOTk4MG1iYXJfSDJfNzdLLVJlYi5kYXQ8L3JlbGF0ZWRJZGVudGlmaWVyPjxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IlVSTCIgcmVsYXRpb25UeXBlPSJIYXNQYXJ0Ij5odHRwOi8vcmVzZWFyY2hkYXRhLmJhdGguYWMudWsvMTE0LzcvRElGRi0xMzA3Ny0xMzA0OS1URTdfQ2FyYm9uXzIwNzAwbWJhcl9IMl83N0stUmViLmRhdDwvcmVsYXRlZElkZW50aWZpZXI+PHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIiByZWxhdGlvblR5cGU9Ikhhc1BhcnQiPmh0dHA6Ly9yZXNlYXJjaGRhdGEuYmF0aC5hYy51ay8xMTQvOC9ESUZGLTEzMDYyLTEzMDQ5LVRFN19DYXJib25fMTYwMG1iYXJfSDJfNzdLLVJlYi5kYXQ8L3JlbGF0ZWRJZGVudGlmaWVyPjxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IlVSTCIgcmVsYXRpb25UeXBlPSJJc0RvY3VtZW50ZWRCeSI+aHR0cDovL3Jlc2VhcmNoZGF0YS5iYXRoLmFjLnVrLzExNC85L0FDU19OYW5vX1ZfVGluZ19TdXBwbGVtZW50YXJ5X0luZm9fc3VibWl0dGVkLmRvY3g8L3JlbGF0ZWRJZGVudGlmaWVyPjxyZWxhdGVkSWRlbnRpZmllciByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSIgcmVsYXRpb25UeXBlPSJJc1JlZmVyZW5jZWRCeSI+MTAuMTAyMS9hY3NuYW5vLjViMDI2MjM8L3JlbGF0ZWRJZGVudGlmaWVyPjwvcmVsYXRlZElkZW50aWZpZXJzPjxzaXplcz48c2l6ZT5ESUZGLTEzMDU1LTEzMDQ5LVRFN19DYXJib25fMTYwbWJhcl9IMl83N0stUmViLmRhdCAtIDMza0I8L3NpemU+PHNpemU+RElGRi0xMzA2MC0xMzA0OS1URTdfQ2FyYm9uXzcwMG1iYXJfSDJfNzdLLVJlYi5kYXQgLSAzMmtCPC9zaXplPjxzaXplPkRJRkYtMTMwNjItMTMwNDktVEU3X0NhcmJvbl8xNjAwbWJhcl9IMl83N0stUmViLmRhdCAtIDMya0I8L3NpemU+PHNpemU+RElGRi0xMzA2NS0xMzA0OS1URTdfQ2FyYm9uXzMwMTBtYmFyX0gyXzc3Sy1SZWIuZGF0IC0gMzJrQjwvc2l6ZT48c2l6ZT5ESUZGLTEzMDY4LTEzMDQ5LVRFN19DYXJib25fNjMwMG1iYXJfSDJfNzdLLVJlYi5kYXQgLSAzMmtCPC9zaXplPjxzaXplPkRJRkYtMTMwNzMtMTMwNDktVEU3X0NhcmJvbl85OTgwbWJhcl9IMl83N0stUmViLmRhdCAtIDMxa0I8L3NpemU+PHNpemU+RElGRi0xMzA3Ny0xMzA0OS1URTdfQ2FyYm9uXzIwNzAwbWJhcl9IMl83N0stUmViLmRhdCAtIDMxa0I8L3NpemU+PHNpemU+RElGRi0xMzA2Mi0xMzA0OS1URTdfQ2FyYm9uXzE2MDBtYmFyX0gyXzc3Sy1SZWIuZGF0IC0gMzJrQjwvc2l6ZT48c2l6ZT5BQ1NfTmFub19WX1RpbmdfU3VwcGxlbWVudGFyeV9JbmZvX3N1Ym1pdHRlZC5kb2N4IC0gOTQ1a0I8L3NpemU+PC9zaXplcz48Zm9ybWF0cz48Zm9ybWF0PkRJRkYtMTMwNTUtMTMwNDktVEU3X0NhcmJvbl8xNjBtYmFyX0gyXzc3Sy1SZWIuZGF0IC0gdGV4dC9wbGFpbjwvZm9ybWF0Pjxmb3JtYXQ+RElGRi0xMzA2MC0xMzA0OS1URTdfQ2FyYm9uXzcwMG1iYXJfSDJfNzdLLVJlYi5kYXQgLSB0ZXh0L3BsYWluPC9mb3JtYXQ+PGZvcm1hdD5ESUZGLTEzMDYyLTEzMDQ5LVRFN19DYXJib25fMTYwMG1iYXJfSDJfNzdLLVJlYi5kYXQgLSB0ZXh0L3BsYWluPC9mb3JtYXQ+PGZvcm1hdD5ESUZGLTEzMDY1LTEzMDQ5LVRFN19DYXJib25fMzAxMG1iYXJfSDJfNzdLLVJlYi5kYXQgLSB0ZXh0L3BsYWluPC9mb3JtYXQ+PGZvcm1hdD5ESUZGLTEzMDY4LTEzMDQ5LVRFN19DYXJib25fNjMwMG1iYXJfSDJfNzdLLVJlYi5kYXQgLSB0ZXh0L3BsYWluPC9mb3JtYXQ+PGZvcm1hdD5ESUZGLTEzMDczLTEzMDQ5LVRFN19DYXJib25fOTk4MG1iYXJfSDJfNzdLLVJlYi5kYXQgLSB0ZXh0L3BsYWluPC9mb3JtYXQ+PGZvcm1hdD5ESUZGLTEzMDc3LTEzMDQ5LVRFN19DYXJib25fMjA3MDBtYmFyX0gyXzc3Sy1SZWIuZGF0IC0gdGV4dC9wbGFpbjwvZm9ybWF0Pjxmb3JtYXQ+RElGRi0xMzA2Mi0xMzA0OS1URTdfQ2FyYm9uXzE2MDBtYmFyX0gyXzc3Sy1SZWIuZGF0IC0gdGV4dC9wbGFpbjwvZm9ybWF0Pjxmb3JtYXQ+QUNTX05hbm9fVl9UaW5nX1N1cHBsZW1lbnRhcnlfSW5mb19zdWJtaXR0ZWQuZG9jeCAtIGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50PC9mb3JtYXQ+PC9mb3JtYXRzPjx2ZXJzaW9uPjE8L3ZlcnNpb24+PHJpZ2h0c0xpc3Q+PHJpZ2h0cz5ESUZGLTEzMDU1LTEzMDQ5LVRFN19DYXJib25fMTYwbWJhcl9IMl83N0stUmViLmRhdCBoYXMgbm8gYXNzb2NpYXRlZCBsaWNlbmNlLiAgUGxlYXNlIGNvbnRhY3QgdGhlIGFyY2hpdmUgZm9yIGFkdmljZS48L3JpZ2h0cz48cmlnaHRzPkRJRkYtMTMwNjAtMTMwNDktVEU3X0NhcmJvbl83MDBtYmFyX0gyXzc3Sy1SZWIuZGF0IGhhcyBubyBhc3NvY2lhdGVkIGxpY2VuY2UuICBQbGVhc2UgY29udGFjdCB0aGUgYXJjaGl2ZSBmb3IgYWR2aWNlLjwvcmlnaHRzPjxyaWdodHM+RElGRi0xMzA2Mi0xMzA0OS1URTdfQ2FyYm9uXzE2MDBtYmFyX0gyXzc3Sy1SZWIuZGF0IGhhcyBubyBhc3NvY2lhdGVkIGxpY2VuY2UuICBQbGVhc2UgY29udGFjdCB0aGUgYXJjaGl2ZSBmb3IgYWR2aWNlLjwvcmlnaHRzPjxyaWdodHM+RElGRi0xMzA2NS0xMzA0OS1URTdfQ2FyYm9uXzMwMTBtYmFyX0gyXzc3Sy1SZWIuZGF0IGhhcyBubyBhc3NvY2lhdGVkIGxpY2VuY2UuICBQbGVhc2UgY29udGFjdCB0aGUgYXJjaGl2ZSBmb3IgYWR2aWNlLjwvcmlnaHRzPjxyaWdodHM+RElGRi0xMzA2OC0xMzA0OS1URTdfQ2FyYm9uXzYzMDBtYmFyX0gyXzc3Sy1SZWIuZGF0IGhhcyBubyBhc3NvY2lhdGVkIGxpY2VuY2UuICBQbGVhc2UgY29udGFjdCB0aGUgYXJjaGl2ZSBmb3IgYWR2aWNlLjwvcmlnaHRzPjxyaWdodHM+RElGRi0xMzA3My0xMzA0OS1URTdfQ2FyYm9uXzk5ODBtYmFyX0gyXzc3Sy1SZWIuZGF0IGhhcyBubyBhc3NvY2lhdGVkIGxpY2VuY2UuICBQbGVhc2UgY29udGFjdCB0aGUgYXJjaGl2ZSBmb3IgYWR2aWNlLjwvcmlnaHRzPjxyaWdodHM+RElGRi0xMzA3Ny0xMzA0OS1URTdfQ2FyYm9uXzIwNzAwbWJhcl9IMl83N0stUmViLmRhdCBoYXMgbm8gYXNzb2NpYXRlZCBsaWNlbmNlLiAgUGxlYXNlIGNvbnRhY3QgdGhlIGFyY2hpdmUgZm9yIGFkdmljZS48L3JpZ2h0cz48cmlnaHRzPkRJRkYtMTMwNjItMTMwNDktVEU3X0NhcmJvbl8xNjAwbWJhcl9IMl83N0stUmViLmRhdCBoYXMgbm8gYXNzb2NpYXRlZCBsaWNlbmNlLiAgUGxlYXNlIGNvbnRhY3QgdGhlIGFyY2hpdmUgZm9yIGFkdmljZS48L3JpZ2h0cz48cmlnaHRzPkFDU19OYW5vX1ZfVGluZ19TdXBwbGVtZW50YXJ5X0luZm9fc3VibWl0dGVkLmRvY3ggaGFzIG5vIGFzc29jaWF0ZWQgbGljZW5jZS4gIFBsZWFzZSBjb250YWN0IHRoZSBhcmNoaXZlIGZvciBhZHZpY2UuPC9yaWdodHM+PC9yaWdodHNMaXN0PjxkZXNjcmlwdGlvbnM+PGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPkRhdGFzZXQgZm9yIERpcmVjdCBFdmlkZW5jZSBmb3IgU29saWQtTGlrZSBIeWRyb2dlbiBpbiBhIE5hbm9wb3JvdXMgQ2FyYm9uIEh5ZHJvZ2VuIFN0b3JhZ2UgTWF0ZXJpYWwgYXQgU3VwZXJjcml0aWNhbCBUZW1wZXJhdHVyZXMgam91cm5hbCBwYXBlci4mIzEzOwpUaGUgIGRhdGEgc2V0IGluY2x1ZGVzIGluZWxhc3RpYyBuZXV0cm9uIHNjYXR0ZXJpbmcgZGF0YSByYXcgZGF0YSBmaWxlcyAoLmRhdCkgY29sbGVjdGVkIG9uIHRoZSBUT1NDQSBpbnN0cnVtZW50IGF0IHRoZSBJU0lTIG5ldXRyb24gZmFjaWxpdHksIGF0IHRoZSBSdXRoZXJmb3JkIEFwcGxldG9uIExhYm9yYXRvcmllcywgVUsgYXQgdGhlIGZvbGxvd2luZyBoeWRyb2dlbiBwcmVzc3VyZXMgKGF0IDc3IEspIGZvciBhY3RpdmF0ZWQgY2FyYm9uIFRFNzomIzEzOwowLjAxNiBNUGEgSDIgYXQgNzcgSyAmIzEzOwowLjA3NCBNUGEgSDIgYXQgNzcgSyAmIzEzOwowLjE2OCBNUGEgSDIgYXQgNzcgSyAmIzEzOwowLjMwMCBNUGEgSDIgYXQgNzcgSyAmIzEzOwowLjYzMCBNUGEgSDIgYXQgNzcgSyAmIzEzOwowLjk5OCBNUGEgSDIgYXQgNzcgSyAmIzEzOwoyLjA3MSBNUGEgSDIgYXQgNzcgSyAmIzEzOwozLjUwMCBNUGEgSDIgYXQgNzcgSyYjMTM7ClRoaXMgZGF0YSBwZXJ0YWlucyB0byBGaWdzIDEsIDIgYW5kIDMgaW4gdGhlIHBhcGVyICZhbXA7cXVvdDsgRGlyZWN0IEV2aWRlbmNlIGZvciBTb2xpZC1MaWtlIEh5ZHJvZ2VuIGluIGEgTmFub3Bvcm91cyBDYXJib24gSHlkcm9nZW4gU3RvcmFnZSBNYXRlcmlhbCBhdCBTdXBlcmNyaXRpY2FsIFRlbXBlcmF0dXJlcyZhbXA7cXVvdDsgKEFDUyBOYW5vLCAyMDE1KS4mIzEzOwomIzEzOwpUaGUgaW50ZWdyYXRlZCBpbnRlbnNpdGllcyB1bmRlciB0aGUgcGVha3Mgd2VyZSBjYWxjdWxhdGVkIGZyb20gdGhlIHJhdyBkYXRhIG92ZXIgdGhlIGZvbGxvd2luZyByYW5nZXM6JiMxMzsKLSBUaGUgdG90YWwgaW5lbGFzdGljIHNpZ25hbCAoaW50ZWdyYXRlZCBpbnRlbnNpdHkgZnJvbSAyIHRvIDUwMCBtZVYpLiAmIzEzOwotIEludGVncmF0ZWQgaW50ZW5zaXR5IHVuZGVyIHRoZSBlbGFzdGljIHBlYWsgZnJvbSAtMiBtZVYgdG8gMiBtZVYuJiMxMzsKLSBJbnRlZ3JhdGVkIGludGVuc2l0eSB1bmRlciB0aGUgMTQuNyBtZVYgcm90b3IgbGluZSBmaXQgdXNpbmcgYSBHYXVzc2lhbiBwZWFrIHNoYXBlJiMxMzsKJiMxMzsKVGhlIGRhdGEgcHJvY2Vzc2luZyBhbmQgcGVhayBpbnRlZ3JhdGlvbiB3YXMgcGVyZm9ybWVkIHVzaW5nIHRoZSBNYW50aWQgc29mdHdhcmUgKGF2YWlsYWJsZSBmcm9tIGh0dHA6Ly93d3cubWFudGlkcHJvamVjdC5vcmcpLjwvZGVzY3JpcHRpb24+PGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iTWV0aG9kcyI+VGhlIElOUyBzcGVjdHJhIHdlcmUgY29sbGVjdGVkIG9uIGEg4oi8MTAgZyBzYW1wbGUgb2YgY2FyYm9uIHdhcyBkZWdhc3NlZCA2MjMgSyBmb3IgOCBoIHVuZGVyIGhpZ2ggdmFjdXVtICgwLjEgbVBhKSwgdGhlbiBsb2FkZWQgaW4gYW4gQXIgZ2xvdmVib3ggaW50byBhIGhpZ2ggcHJlc3N1cmUgKDcgTVBhKSBzdGFpbmxlc3Mgc3RlZWwgc2FtcGxlIGNhbiBvbiB0aGUgVE9TQ0EgaW5lbGFzdGljJiMxMzsKbmV1dHJvbiBzY2F0dGVyaW5nIGJlYW1saW5lIGF0IHRoZSBSdXRoZXJmb3JkIEFwcGxldG9uIGxhYm9yYXRvcmllcyYjMTM7CmluIHRoZSBVSy4gSHlkcm9nZW4gd2FzIGRvc2VkIGludG8gdGhlIHNhbXBsZSBhbmQgZXF1aWxpYnJhdGVkIGF0IDc3IEsgYmVmb3JlIHRoZSBwcmVzc3VyZSB3YXMgcmVjb3JkZWQuIERhdGEgd2VyZSBhY2N1bXVsYXRlZCBmb3IgNzAwIM68QSBoLCB3aXRoIHVwIHRvIHRocmVlIHNwZWN0cmEgYmVpbmcgY29sbGVjdGVkIGF0IGVhY2ggcHJlc3N1cmUgb3ZlciBjb2xsZWN0aW9uIHBlcmlvZHMgb2YgOC0gMTIgaCAocHJlc3N1cmVzID0gMC4wMTYsIDAuMDcwLCAwLjE2MCwgMC4zMDEsIDAuNjMwLCAwLjk5OCwgMi4wNzAsIGFuZCAzLjUwMCBNUGEpLjwvZGVzY3JpcHRpb24+PGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iTWV0aG9kcyI+VGhlIGRhdGEgd2VyZSBjb3JyZWN0ZWQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0ZXJtaW5hbCBIIGF0b21zIGluIHRoZSBjYXJib24gYnkgc3VidHJhY3Rpb24gb2YgMTIgaCBiYWNrZ3JvdW5kIHNjYW5zIG9mIHRoZSBkZWdhc3NlZCBzYW1wbGUgYXQgNzcgSy4gJiMxMzsKVGhlIGRhdGEgcHJvY2Vzc2luZyBhbmQgcGVhayBpbnRlZ3JhdGlvbiB3YXMgcGVyZm9ybWVkIHVzaW5nIHRoZSYjMTM7Ck1hbnRpZCBzb2Z0d2FyZSAoYXZhaWxhYmxlIGZyb20gaHR0cDovL3d3dy5tYW50aWRwcm9qZWN0Lm9yZykuPC9kZXNjcmlwdGlvbj48ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJNZXRob2RzIj5Ob3JtYWwgaHlkcm9nZW4gZ2FzICB3YXMgdXNlZCAoQWlyIExpcXVpZGUsIDk5Ljk5OSUgcHVyaXR5KTwvZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbnM+PGdlb0xvY2F0aW9ucz48Z2VvTG9jYXRpb24+PGdlb0xvY2F0aW9uUGxhY2U+VUs8L2dlb0xvY2F0aW9uUGxhY2U+PC9nZW9Mb2NhdGlvbj48L2dlb0xvY2F0aW9ucz48L3Jlc291cmNlPg==","minted":"2015-12-16T11:50:06Z","updated":"2017-02-16T12:21:39Z","doi":"10.15125/BATH-00114"}]}}
|
95
|
+
|
96
|
+
'
|
97
|
+
http_version:
|
98
|
+
recorded_at: Mon, 05 Jun 2017 13:36:39 GMT
|
99
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,144 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/xml
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- Apache-Coyote/1.1
|
21
|
+
Crossref-Deployment-Name:
|
22
|
+
- qs2-2
|
23
|
+
Content-Type:
|
24
|
+
- text/xml;charset=UTF-8
|
25
|
+
Content-Language:
|
26
|
+
- en-US
|
27
|
+
Date:
|
28
|
+
- Mon, 05 Jun 2017 12:18:52 GMT
|
29
|
+
Connection:
|
30
|
+
- close
|
31
|
+
body:
|
32
|
+
encoding: ASCII-8BIT
|
33
|
+
string: !binary |-
|
34
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9y
|
35
|
+
ZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0
|
36
|
+
YW1wPSIyMDE2LTEyLTI5IDAxOjEwOjIwIj4NCiAgICA8Y3Jvc3NyZWY+DQog
|
37
|
+
ICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdl
|
38
|
+
PSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAg
|
39
|
+
ICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5k
|
40
|
+
IEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRv
|
41
|
+
cnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9
|
42
|
+
ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZl
|
43
|
+
bl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
|
44
|
+
YW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRw
|
45
|
+
Oi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAg
|
46
|
+
ICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1l
|
47
|
+
IGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9u
|
48
|
+
YWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9u
|
49
|
+
YW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0K
|
50
|
+
ICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAz
|
51
|
+
LTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4N
|
52
|
+
CiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0
|
53
|
+
aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2
|
54
|
+
ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1
|
55
|
+
cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0
|
56
|
+
dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQog
|
57
|
+
ICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25h
|
58
|
+
bWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRp
|
59
|
+
b25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5f
|
60
|
+
bmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+
|
61
|
+
DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAw
|
62
|
+
MDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1l
|
63
|
+
Pg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJh
|
64
|
+
dXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxn
|
65
|
+
aXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8
|
66
|
+
c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JD
|
67
|
+
SUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJ
|
68
|
+
RD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJz
|
69
|
+
b25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJh
|
70
|
+
ZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBl
|
71
|
+
PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2Vy
|
72
|
+
cmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lk
|
73
|
+
Lm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8
|
74
|
+
L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmli
|
75
|
+
dXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAg
|
76
|
+
ICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAg
|
77
|
+
ICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAg
|
78
|
+
ICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0
|
79
|
+
NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAg
|
80
|
+
ICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1
|
81
|
+
ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5T
|
82
|
+
ZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5L
|
83
|
+
YXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9v
|
84
|
+
cmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAg
|
85
|
+
ICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29u
|
86
|
+
dHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+
|
87
|
+
DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1l
|
88
|
+
Pg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAg
|
89
|
+
ICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04
|
90
|
+
NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQog
|
91
|
+
ICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhv
|
92
|
+
ciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVu
|
93
|
+
X25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
|
94
|
+
YW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6
|
95
|
+
Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAg
|
96
|
+
ICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+
|
97
|
+
DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBD
|
98
|
+
aXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3Jp
|
99
|
+
ZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3Rl
|
100
|
+
ZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAg
|
101
|
+
ICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+
|
102
|
+
DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNl
|
103
|
+
X2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEyPC9tb250aD4NCiAgICAgICAg
|
104
|
+
ICA8ZGF5PjI4PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNjwveWVhcj4N
|
105
|
+
CiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1
|
106
|
+
dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9p
|
107
|
+
bnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAg
|
108
|
+
ICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+Ymlv
|
109
|
+
cnhpdjswOTcxOTZ2MTwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFj
|
110
|
+
dD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFj
|
111
|
+
dGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVz
|
112
|
+
IHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0
|
113
|
+
aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmlu
|
114
|
+
Y2lwbGVzIChEYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cCwgMjAxNCks
|
115
|
+
IGEgc3lub3BzaXMgYW5kIGhhcm1vbml6YXRpb24gb2YgdGhlIHJlY29tbWVu
|
116
|
+
ZGF0aW9ucyBvZiBtYWpvciBzY2llbmNlIHBvbGljeSBib2RpZXMuIFRoZSBy
|
117
|
+
b2FkbWFwIHdhcyBkZXZlbG9wZWQgYnkgdGhlIFJlcG9zaXRvcmllcyBFYXJs
|
118
|
+
eSBBZG9wdGVycyBFeHBlcnQgR3JvdXAsICBwYXJ0IG9mIHRoZSBEYXRhIENp
|
119
|
+
dGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0IChG
|
120
|
+
T1JDRTExLCAyMDE1KSwgYW4gaW5pdGlhdGl2ZSBvZiBGT1JDRTExLm9yZyBh
|
121
|
+
bmQgdGhlIE5JSCBCaW9DQURESUUgKDIwMTYpIHByb2dyYW0uIFRoZSByb2Fk
|
122
|
+
bWFwIG1ha2VzIDExIHNwZWNpZmljIHJlY29tbWVuZGF0aW9ucywgZ3JvdXBl
|
123
|
+
ZCBpbnRvIHRocmVlIHBoYXNlcyBvZiBpbXBsZW1lbnRhdGlvbjogYSkgcmVx
|
124
|
+
dWlyZWQgc3RlcHMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIEpvaW50IERlY2xh
|
125
|
+
cmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYikgcmVjb21t
|
126
|
+
ZW5kZWQgc3RlcHMgdGhhdCBmYWNpbGl0YXRlIGFydGljbGUvZGF0YSBwdWJs
|
127
|
+
aWNhdGlvbiB3b3JrZmxvd3MsIGFuZCBjKSBvcHRpb25hbCBzdGVwcyB0aGF0
|
128
|
+
IGZ1cnRoZXIgaW1wcm92ZSBkYXRhIGNpdGF0aW9uIHN1cHBvcnQgcHJvdmlk
|
129
|
+
ZWQgYnkgZGF0YSByZXBvc2l0b3JpZXMuPC9wPg0KICAgICAgICA8L2Fic3Ry
|
130
|
+
YWN0Pg0KICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgPGRvaT4xMC4x
|
131
|
+
MTAxLzA5NzE5NjwvZG9pPg0KICAgICAgICAgIDx0aW1lc3RhbXA+MjAxNjEy
|
132
|
+
MjgyMjEwMDY0OTAwMDwvdGltZXN0YW1wPg0KICAgICAgICAgIDxyZXNvdXJj
|
133
|
+
ZT5odHRwOi8vYmlvcnhpdi5vcmcvbG9va3VwL2RvaS8xMC4xMTAxLzA5NzE5
|
134
|
+
NjwvcmVzb3VyY2U+DQogICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9
|
135
|
+
ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0i
|
136
|
+
aVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczov
|
137
|
+
L3N5bmRpY2F0aW9uLmhpZ2h3aXJlLm9yZy9jb250ZW50L2RvaS8xMC4xMTAx
|
138
|
+
LzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8L2l0ZW0+DQogICAg
|
139
|
+
ICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICA8L2RvaV9kYXRhPg0KICAg
|
140
|
+
ICAgPC9wb3N0ZWRfY29udGVudD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2Rv
|
141
|
+
aV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
|
142
|
+
http_version:
|
143
|
+
recorded_at: Mon, 05 Jun 2017 12:18:52 GMT
|
144
|
+
recorded_with: VCR 3.0.3
|