bolognese 1.2.8 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 962a79f6b7562d45143e718b7057a630893c488885978bd1decf29aec7f00ce0
4
- data.tar.gz: b118c8132ad84349d208c5e90968762bc4a8685ab3faaccb20754bd92aee1b5a
3
+ metadata.gz: 076626c5e9df7e3e16d1ca3154bc6231f2a1b3c28ab78b8c53834e31fe0ce6e9
4
+ data.tar.gz: a6f1df9d28b6cefda4afbd5a2874f27ac4118c9c1002b4309bebdc8627e085d1
5
5
  SHA512:
6
- metadata.gz: 8fe1c2e677353073de6ba8498ab600e97470dfe0ae6e34157f967a20a5827f9d06188055ca70a9a78861a6b2a7c9572254b4ada6f7eeca1d90deb7fdc10f015b
7
- data.tar.gz: 99ff048c10423d05a2d685efd26a2d7776290d14653e30a5936a3b514bd49b419cea542fe3ed7c38cffed1039bdd2f9d7bad485cc1c9237bcc7567702f491d49
6
+ metadata.gz: 4027516433c153f0660fbe7b86cc495964ac0566e630d6c28a0d7d6e4c0ab7dbd69cfe78d350d351bfee97872a09445791015334da5c13844ae00cafbcde8367
7
+ data.tar.gz: 455d0d7e65036e994a5ec825577bcc967a00c65ec80c0bdca9b3e82e8a61830254417fa06d478a5f1a72f17e691cf5f06dc1c5ed5586aa662419b181d8407b2a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.2.8)
4
+ bolognese (1.2.9)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -6,15 +6,6 @@ module Bolognese
6
6
  class Metadata
7
7
  include Bolognese::MetadataUtils
8
8
 
9
- alias get_medra get_crossref
10
- alias read_medra read_crossref
11
- alias get_kisti get_crossref
12
- alias read_kisti read_crossref
13
- alias get_jalc get_crossref
14
- alias read_jalc read_crossref
15
- alias get_op get_crossref
16
- alias read_op read_crossref
17
-
18
9
  attr_accessor :string, :from, :sandbox, :meta, :regenerate, :issue
19
10
  attr_reader :doc, :page_start, :page_end
20
11
  attr_writer :id, :provider_id, :client_id, :doi, :identifiers, :creators, :contributors, :titles, :publisher,
@@ -65,6 +65,16 @@ module Bolognese
65
65
 
66
66
  attr_reader :name_detector, :reverse
67
67
 
68
+ # some dois in the Crossref index are from other registration agencies
69
+ alias get_medra get_crossref
70
+ alias read_medra read_crossref
71
+ alias get_kisti get_crossref
72
+ alias read_kisti read_crossref
73
+ alias get_jalc get_crossref
74
+ alias read_jalc read_crossref
75
+ alias get_op get_crossref
76
+ alias read_op read_crossref
77
+
68
78
  # replace DOI in XML if provided in options
69
79
  def raw
70
80
  r = string.present? ? string.strip : nil
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.2.8"
2
+ VERSION = "1.2.9"
3
3
  end
@@ -0,0 +1,88 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://doi.org/ra/10.4018
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
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
+ Date:
20
+ - Sat, 06 Jul 2019 13:54:21 GMT
21
+ Content-Type:
22
+ - application/json;charset=UTF-8
23
+ Content-Length:
24
+ - '54'
25
+ Connection:
26
+ - keep-alive
27
+ Set-Cookie:
28
+ - __cfduid=d347b3eaa144ff845e4d09e0e845ec33f1562421261; expires=Sun, 05-Jul-20
29
+ 13:54:21 GMT; path=/; domain=.doi.org; HttpOnly
30
+ Expect-Ct:
31
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
32
+ Server:
33
+ - cloudflare
34
+ Cf-Ray:
35
+ - 4f2211f13cf52340-FRA
36
+ body:
37
+ encoding: ASCII-8BIT
38
+ string: |-
39
+ [
40
+ {
41
+ "DOI": "10.4018",
42
+ "RA": "Crossref"
43
+ }
44
+ ]
45
+ http_version:
46
+ recorded_at: Sat, 06 Jul 2019 13:54:21 GMT
47
+ - request:
48
+ method: get
49
+ uri: https://api.crossref.org/works/10.4018/978-1-4666-1891-6.ch004/transform/application/vnd.crossref.unixsd+xml
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ''
53
+ headers:
54
+ User-Agent:
55
+ - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
56
+ Accept:
57
+ - text/xml
58
+ response:
59
+ status:
60
+ code: 200
61
+ message: OK
62
+ headers:
63
+ Link:
64
+ - <http://dx.doi.org/10.4018/978-1-4666-1891-6.ch004>; rel="canonical", <https://www.igi-global.com/viewtitle.aspx?TitleId=69071>;
65
+ version="vor"; rel="item"
66
+ Access-Control-Allow-Origin:
67
+ - "*"
68
+ Access-Control-Allow-Headers:
69
+ - X-Requested-With
70
+ Content-Length:
71
+ - '15397'
72
+ Server:
73
+ - http-kit
74
+ Date:
75
+ - Sat, 06 Jul 2019 13:54:21 GMT
76
+ X-Rate-Limit-Limit:
77
+ - '50'
78
+ X-Rate-Limit-Interval:
79
+ - 1s
80
+ Connection:
81
+ - close
82
+ body:
83
+ encoding: ASCII-8BIT
84
+ string: !binary |-
85
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iYm9va19jb250ZW50Ij4xMC40MDE4Lzk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0PC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5JR0kgR2xvYmFsPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9InByZWZpeC1uYW1lIiB0eXBlPSJzdHJpbmciPklHSSBHbG9iYWw8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ibWVtYmVyLWlkIiB0eXBlPSJudW1iZXIiPjI0MzI8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0YXRpb24taWQiIHR5cGU9Im51bWJlciI+NTY5ODcwMTc8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iYm9vay1pZCIgdHlwZT0ibnVtYmVyIj4xMTMxMTk4PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImRlcG9zaXQtdGltZXN0YW1wIiB0eXBlPSJudW1iZXIiPjIwMTgxMTE5MDExMjU5PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im93bmVyLXByZWZpeCIgdHlwZT0ic3RyaW5nIj4xMC40MDE4PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Imxhc3QtdXBkYXRlIiB0eXBlPSJkYXRlIj4yMDE5LTA3LTAyVDE3OjE3OjIxWjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjcmVhdGVkIiB0eXBlPSJkYXRlIj4yMDEyLTA4LTA4VDIwOjU0OjA3WjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRlZGJ5LWNvdW50IiB0eXBlPSJudW1iZXIiPjA8L2NybS1pdGVtPg0KICAgICAgICA8ZG9pX3JlY29yZD4NCiAgICAgICAgICA8Y3Jvc3NyZWYgeG1sbnM9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3hzY2hlbWEvMS4xIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3hzY2hlbWEvMS4xIGh0dHA6Ly9kb2kuY3Jvc3NyZWYub3JnL3NjaGVtYXMvdW5peHJlZjEuMS54c2QiPg0KICAgICAgICAgICAgPGJvb2sgYm9va190eXBlPSJtb25vZ3JhcGgiPg0KICAgICAgICAgICAgICA8Ym9va19tZXRhZGF0YT4NCiAgICAgICAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIHNlcXVlbmNlPSJmaXJzdCIgY29udHJpYnV0b3Jfcm9sZT0iZWRpdG9yIj4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+WGlhbzwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+QmFpPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+QmVpaGFuZyBVbml2ZXJzaXR5LCBDaGluYTwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIHNlcXVlbmNlPSJhZGRpdGlvbmFsIiBjb250cmlidXRvcl9yb2xlPSJlZGl0b3IiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KaWFuPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgICA8c3VybmFtZT5DaGVuZzwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPkNoaW5lc2UgQWNhZGVteSBvZiBTY2llbmNlcywgQ2hpbmE8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBzZXF1ZW5jZT0iYWRkaXRpb25hbCIgY29udHJpYnV0b3Jfcm9sZT0iZWRpdG9yIj4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+RWR3aW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkhhbmNvY2s8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5Vbml2ZXJzaXR5IG9mIFlvcmssIFVLPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZT5HcmFwaC1CYXNlZCBNZXRob2RzIGluIENvbXB1dGVyIFZpc2lvbjwvdGl0bGU+DQogICAgICAgICAgICAgICAgICA8c3VidGl0bGU+RGV2ZWxvcG1lbnRzIGFuZCBBcHBsaWNhdGlvbnM8L3N1YnRpdGxlPg0KICAgICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxMzwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPGlzYm4+OTc4MTQ2NjYxODkxNjwvaXNibj4NCiAgICAgICAgICAgICAgICA8aXNibiBtZWRpYV90eXBlPSJlbGVjdHJvbmljIj45NzgxNDY2NjE4OTIzPC9pc2JuPg0KICAgICAgICAgICAgICAgIDxwdWJsaXNoZXI+DQogICAgICAgICAgICAgICAgICA8cHVibGlzaGVyX25hbWU+SUdJIEdsb2JhbDwvcHVibGlzaGVyX25hbWU+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXI+DQogICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPGRvaT4xMC40MDE4Lzk3OC0xLTQ2NjYtMTg5MS02PC9kb2k+DQogICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL3NlcnZpY2VzLmlnaS1nbG9iYWwuY29tL3Jlc29sdmVkb2kvcmVzb2x2ZS5hc3B4P2RvaT0xMC40MDE4Lzk3OC0xLTQ2NjYtMTg5MS02PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgICA8L2Jvb2tfbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxjb250ZW50X2l0ZW0gY29tcG9uZW50X3R5cGU9ImNoYXB0ZXIiPg0KICAgICAgICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgc2VxdWVuY2U9ImZpcnN0IiBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5DaGFybGVzLUVkbW9uZDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+QmljaG90PC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+VW5pdmVyc2l0w6kgZGUgTHlvbiwgRnJhbmNlPC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZT5VbnN1cGVydmlzZWQgYW5kIFN1cGVydmlzZWQgSW1hZ2UgU2VnbWVudGF0aW9uIFVzaW5nIEdyYXBoIFBhcnRpdGlvbmluZzwvdGl0bGU+DQogICAgICAgICAgICAgICAgICA8c3VidGl0bGUgLz4NCiAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICA8amF0czphYnN0cmFjdCB4bWxuczpqYXRzPSJodHRwOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvSkFUUzEiPg0KICAgICAgICAgICAgICAgICAgPGphdHM6cD5JbWFnZSBzZWdtZW50YXRpb24gaXMgYW4gaW1wb3J0YW50IHJlc2VhcmNoIGFyZWEgaW4gY29tcHV0ZXIgdmlzaW9uIGFuZCBpdHMgYXBwbGljYXRpb25zIGluIGRpZmZlcmVudCBkaXNjaXBsaW5lcywgc3VjaCBhcyBtZWRpY2luZSwgYXJlIG9mIGdyZWF0IGltcG9ydGFuY2UuIEl0IGlzIG9mdGVuIG9uZSBvZiB0aGUgdmVyeSBmaXJzdCBzdGVwcyBvZiBjb21wdXRlciB2aXNpb24gb3IgcGF0dGVybiByZWNvZ25pdGlvbiBtZXRob2RzLiBUaGlzIGlzIGJlY2F1c2Ugc2VnbWVudGF0aW9uIGhlbHBzIHRvIGxvY2F0ZSBvYmplY3RzIGFuZCBib3VuZGFyaWVzIGludG8gaW1hZ2VzLiBUaGUgb2JqZWN0aXZlIG9mIHNlZ21lbnRpbmcgYW4gaW1hZ2UgaXMgdG8gcGFydGl0aW9uIGl0IGludG8gZGlzam9pbnQgYW5kIGhvbW9nZW5lb3VzIHNldHMgb2YgcGl4ZWxzLiBXaGVuIHNlZ21lbnRpbmcgYW4gaW1hZ2UgaXQgaXMgbmF0dXJhbCB0byB0cnkgdG8gdXNlIGdyYXBoIHBhcnRpdGlvbmluZywgYmVjYXVzZSBzZWdtZW50YXRpb24gYW5kIHBhcnRpdGlvbmluZyBzaGFyZSB0aGUgc2FtZSBoaWdoLWxldmVsIG9iamVjdGl2ZSwgdG8gcGFydGl0aW9uIGEgc2V0IGludG8gZGlzam9pbnRzIHN1YnNldHMuIEhvd2V2ZXIsIHdoZW4gdXNpbmcgZ3JhcGggcGFydGl0aW9uaW5nIGZvciBzZWdtZW50aW5nIGFuIGltYWdlLCBzZXZlcmFsIGJpZyBxdWVzdGlvbnMgcmVtYWluOiBXaGF0IGlzIHRoZSBiZXN0IHdheSB0byBjb252ZXJ0IGFuIGltYWdlIGludG8gYSBncmFwaD8gT3IgdG8gY29udmVydCBpbWFnZSBzZWdtZW50YXRpb24gb2JqZWN0aXZlcyBpbnRvIGdyYXBoIHBhcnRpdGlvbmluZyBvYmplY3RpdmVzIChub3QgdG8gbWVudGlvbiB3aGF0IGFyZSBpbWFnZSBzZWdtZW50YXRpb24gb2JqZWN0aXZlcyk/IFdoYXQgYXJlIHRoZSBiZXN0IGdyYXBoIHBhcnRpdGlvbmluZyBtZXRob2RzIGFuZCBhbGdvcml0aG1zIGZvciBzZWdtZW50aW5nIGFuIGltYWdlPyBJbiB0aGlzIGNoYXB0ZXIsIHRoZSBhdXRob3IgdHJpZXMgdG8gYW5zd2VyIHRoZXNlIHF1ZXN0aW9ucywgYm90aCBmb3IgdW5zdXBlcnZpc2VkIGFuZCBzdXBlcnZpc2VkIGltYWdlIHNlZ21lbnRhdGlvbiBhcHByb2FjaCwgYnkgcHJlc2VudGluZyBtZXRob2RzIGFuZCBhbGdvcml0aG1zIGFuZCBieSBjb21wYXJpbmcgdGhlbS48L2phdHM6cD4NCiAgICAgICAgICAgICAgICA8L2phdHM6YWJzdHJhY3Q+DQogICAgICAgICAgICAgICAgPGNvbXBvbmVudF9udW1iZXI+Y2hhcHRlciA0PC9jb21wb25lbnRfbnVtYmVyPg0KICAgICAgICAgICAgICAgIDxwYWdlcz4NCiAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjcyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgPGxhc3RfcGFnZT45NDwvbGFzdF9wYWdlPg0KICAgICAgICAgICAgICAgIDwvcGFnZXM+DQogICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPGRvaT4xMC40MDE4Lzk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0PC9kb2k+DQogICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL3NlcnZpY2VzLmlnaS1nbG9iYWwuY29tL3Jlc29sdmVkb2kvcmVzb2x2ZS5hc3B4P2RvaT0xMC40MDE4Lzk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHBzOi8vd3d3LmlnaS1nbG9iYWwuY29tL3ZpZXd0aXRsZS5hc3B4P1RpdGxlSWQ9NjkwNzE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0xIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2LzAwOTUtODk1Nig4NSk5MDA5Mi05PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BIGdlb2Rlc2ljIGZyYW1ld29yayBmb3IgZmFzdCBpbnRlcmFjdGl2ZSBpbWFnZSBhbmQgdmlkZW8gc2VnbWVudGF0aW9uIGFuZCBtYXR0aW5nPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlguQmFpPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgtMS00NjY2LTE4OTEtNi5jaDAwNC4tMyI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwMi9jcGUuNDMzMDA2MDIwMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li00Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MxMDg1Mi0wMTAtOTEyNi0wPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTUiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkJpY2hvdCwgQy4tRS4sICZhbXA7IFNpYXJyeSwgUC4gKMOJZHMuKS4gKDIwMTEpLiBHcmFwaCBwYXJ0aXRpb25pbmcuIElTVEUgLSBXaWxleS48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgtMS00NjY2LTE4OTEtNi5jaDAwNC4tNiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3Lzk3OC0zLTU0MC0yNDY3MC0xXzMzPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+Qmxha2UsIEEuLCBSb3RoZXIsIEMuLCBCcm93biwgTS4sIFBlcmV6LCBQLiwgJmFtcDsgVG9yciwgUC4gKDIwMDQpLiBJbnRlcmFjdGl2ZSBpbWFnZSBzZWdtZW50YXRpb24gdXNpbmcgYW4gYWRhcHRpdmUgR01NUkYgbW9kZWwuIEluIFQuIFBhamRsYSwgJmFtcDsgSi4gTWF0YXMgKEVkcy4pLCBQcm9jZWVkaW5ncyBvZiB0aGUgRXVyb3BlYW4gQ29uZmVyZW5jZSBvbiBDb21wdXRlciBWaXNpb24gKEVDQ1YpIChWb2wuIDMwMjEsIHBwLiA0MjgtNDQxKS4gQmVybGluLCBHZXJtYW55IFNwcmluZ2VyLjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li03Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDkvSUNDVi4yMDAzLjEyMzgzMTA8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5Cb3lrb3YsIFkuLCAmYW1wOyBLb2xtb2dvcm92LCBWLiAoMjAwMykuIENvbXB1dGluZyBnZW9kZXNpY3MgYW5kIG1pbmltYWwgc3VyZmFjZXMgdmlhIGdyYXBoIGN1dHMuIFByb2NlZWRpbmdzIG9mIHRoZSBOaW50aCBJRUVFIEludGVybmF0aW9uYWwgQ29uZmVyZW5jZSBvbiBDb21wdXRlciBWaXNpb24sIFZvbC4gMiwgKHBwLiAyNi0zMykuIElFRUUgQ29tcHV0ZXIgU29jaWV0eS48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgtMS00NjY2LTE4OTEtNi5jaDAwNC4tOCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA5L0lDQ1YuMjAwMS45Mzc1MDU8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5Cb3lrb3YsIFkuIFkuLCAmYW1wOyBKb2xseSwgTS4tUC4gKDIwMDEpLiBJbnRlcmFjdGl2ZSBncmFwaCBjdXRzIGZvciBvcHRpbWFsIGJvdW5kYXJ5ICZhbXA7IHJlZ2lvbiBzZWdtZW50YXRpb24gb2Ygb2JqZWN0cyBpbiBOLUQgaW1hZ2VzLiBQcm9jZWVkaW5ncyBvZiB0aGUgRWlnaHRoIElFRUUgSW50ZXJuYXRpb25hbCBDb25mZXJlbmNlIG9uIENvbXB1dGVyIFZpc2lvbiwgVm9sLiAxLCAocHAuIDEwNS0xMTIpLjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li05Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDIzL0E6MTAwNzk3OTgyNzA0MzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0xMCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA5L0lDQ1YuMjAwOS41NDU5Mjg0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+Q291cHJpZSwgQy4sIEdyYWR5LCBMLiwgTmFqbWFuLCBMLiwgJmFtcDsgVGFsYm90LCBILiAoMjAwOSkuIFBvd2VyIHdhdGVyc2hlZHM6IEEgbmV3IGltYWdlIHNlZ21lbnRhdGlvbiBmcmFtZXdvcmsgZXh0ZW5kaW5nIGdyYXBoIGN1dHMsIHJhbmRvbSB3YWxrZXIgYW5kIG9wdGltYWwgc3Bhbm5pbmcgZm9yZXN0LCAocHAuIDczMS03MzgpLjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0xMSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA5L0NWUFIuMjAwNS4zMzI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5Db3VyLCBULiwgQmVuZXppdCwgRi4sICZhbXA7IFNoaSwgSi4gKDIwMDUpLiBTcGVjdHJhbCBzZWdtZW50YXRpb24gd2l0aCBtdWx0aXNjYWxlIGdyYXBoIGRlY29tcG9zaXRpb24uIFByb2NlZWRpbmdzIG9mIHRoZSAyMDA1IElFRUUgQ29tcHV0ZXIgU29jaWV0eSBDb25mZXJlbmNlIG9uIENvbXB1dGVyIFZpc2lvbiBhbmQgUGF0dGVybiBSZWNvZ25pdGlvbiAocHAuIDExMjQtMTEzMSkuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTA5L1RQQU1JLjIwMDguMTczPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTEzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTA5L1RQQU1JLjIwMDcuMTExNTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0xNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPklCTSBUZWNobmljYWwgRGlzY2xvc3VyZSBCdWxsZXRpbjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XLkRvbmF0aDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjkzODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BbGdvcml0aG1zIGZvciBwYXJ0aXRpb25pbmcgZ3JhcGhzIGFuZCBjb21wdXRlciBsb2dpYyBiYXNlZCBvbiBlaWdlbnZlY3RvcnMgb2YgY29ubmVjdGlvbiBtYXRyaWNlcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTE1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTQ3L3JkLjE3NS4wNDIwPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTE2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDA3L3MwMDIyNC0wMDMtMTA4My05PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTE3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5GaWR1Y2NpYSwgQy4gTS4sICZhbXA7IE1hdHRoZXlzZXMsIFIuIE0uICgxOTgyKS4gQSBsaW5lYXItdGltZSBoZXVyaXN0aWMgZm9yIGltcHJvdmluZyBuZXR3b3JrIHBhcnRpdGlvbnMuIFByb2NlZWRpbmdzIG9mIHRoZSAxOXRoIERlc2lnbiBBdXRvbWF0aW9uIENvbmZlcmVuY2UsIChwcC4gMTc1LTE4MSkuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTE4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDkvQ1ZQUi4yMDA1LjE0MzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkZyZWVkbWFuLCBELiwgJmFtcDsgRHJpbmVhcywgUC4gKDIwMDUpLiBFbmVyZ3kgbWluaW1pemF0aW9uIHZpYSBncmFwaCBjdXRzOiBTZXR0bGluZyB3aGF0IGlzIHBvc3NpYmxlLiBQcm9jZWVkaW5ncyBvZiB0aGUgMjAwNSBJRUVFIENvbXB1dGVyIFNvY2lldHkgQ29uZmVyZW5jZSBvbiBDb21wdXRlciBWaXNpb24gYW5kIFBhdHRlcm4gUmVjb2duaXRpb24sIChwcC4gOTM5LTk0NikuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTE5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWF0cml4IGNvbXB1dGF0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5HLkdvbHViPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgtMS00NjY2LTE4OTEtNi5jaDAwNC4tMjAiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMDkvVFBBTUkuMjAwNi4yMzM8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgtMS00NjY2LTE4OTEtNi5jaDAwNC4tMjEiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMzcvUzA4OTU0Nzk4OTYzMTIyNjI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgtMS00NjY2LTE4OTEtNi5jaDAwNC4tMjIiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEwMTYvUzA3MzQtMTg5WCg4NSk5MDE1My03PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTIzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExNDUvMjI0MTcwLjIyNDIyODwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPkhlbmRyaWNrc29uLCBCLiwgJmFtcDsgTGVsYW5kLCBSLiBXLiAoMTk5NSkuIEEgbXVsdGlsZXZlbCBhbGdvcml0aG0gZm9yIHBhcnRpdGlvbmluZyBncmFwaHMuIFByb2NlZWRpbmdzIG9mIFN1cGVyY29tcHV0aW5nLjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0yNCI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTQ1LzIyNDE3MC4yMjQyMjk8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5LYXJ5cGlzLCBHLiwgJmFtcDsgS3VtYXIsIFYuICgxOTk1KS4gQW5hbHlzaXMgb2YgbXVsdGlsZXZlbCBncmFwaCBwYXJ0aXRpb25pbmcuIFByb2NlZWRpbmdzIG9mIFN1cGVyY29tcHV0aW5nLjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0yNSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTEzNy9TMTA2NDgyNzU5NTI4Nzk5NzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0yNiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTAwNi9qcGRjLjE5OTcuMTQwNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0yNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRoZSBCZWxsIFN5c3RlbSBUZWNobmljYWwgSm91cm5hbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CLiBXLktlcm5pZ2hhbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI5MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwMi9qLjE1MzgtNzMwNS4xOTcwLnRiMDE3NzAueDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5hbiBlZmZpY2llbnQgaGV1cmlzdGljIHByb2NlZHVyZSBmb3IgcGFydGl0aW9uaW5nIGdyYXBocy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTI4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QSBkYXRhYmFzZSBvZiBodW1hbiBzZWdtZW50ZWQgbmF0dXJhbCBpbWFnZXMgYW5kIGl0cyBhcHBsaWNhdGlvbiB0byBldmFsdWF0aW5nIHNlZ21lbnRhdGlvbiBhbGdvcml0aG1zIGFuZCBtZWFzdXJpbmcgZWNvbG9naWNhbCBzdGF0aXN0aWNzLiBUZWNobmljYWwgcmVwb3J0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkQuIFIuTWFydGluPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQxNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9Ijk3OC0xLTQ2NjYtMTg5MS02LmNoMDA0Li0yOSI+DQogICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTE0NS8xMDE1NzA2LjEwMTU3MjA8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSI5NzgtMS00NjY2LTE4OTEtNi5jaDAwNC4tMzAiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjExMDkvMzQuODY4Njg4PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTMxIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDkvSUNDVi4yMDA3LjQ0MDg5Mjc8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5TaW5vcCwgQS4gSy4sICZhbXA7IEdyYWR5LCBMLiAoMjAwNykuIEEgc2VlZGVkIGltYWdlIHNlZ21lbnRhdGlvbiBmcmFtZXdvcmsgdW5pZnlpbmcgZ3JhcGggY3V0cyBhbmQgcmFuZG9tIHdhbGtlciB3aGljaCB5aWVsZHMgYSBuZXcgYWxnb3JpdGhtLiBQcm9jZWVkaW5ncyBvZiB0aGUgMjAwNyBJbnRlcm5hdGlvbmFsIENvbmZlcmVuY2Ugb24gQ29tcHV0ZXIgVmlzaW9uLCAocHAuIDEtOCkuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTMyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMTM3L1MxMDY0ODI3NTk4MzM3MzczPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iOTc4LTEtNDY2Ni0xODkxLTYuY2gwMDQuLTMzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouY3ZpdS4yMDA3LjA4LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICA8L2NpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICAgIDwvY29udGVudF9pdGVtPg0KICAgICAgICAgICAgPC9ib29rPg0KICAgICAgICAgIDwvY3Jvc3NyZWY+DQogICAgICAgIDwvZG9pX3JlY29yZD4NCiAgICAgIDwvcXVlcnk+DQogICAgPC9ib2R5Pg0KICA8L3F1ZXJ5X3Jlc3VsdD4NCjwvY3Jvc3NyZWZfcmVzdWx0Pg==
86
+ http_version:
87
+ recorded_at: Sat, 06 Jul 2019 13:54:21 GMT
88
+ recorded_with: VCR 3.0.3
@@ -227,6 +227,21 @@ describe Bolognese::Metadata, vcr: true do
227
227
  expect(subject.agency).to eq("Crossref")
228
228
  end
229
229
 
230
+ it "yet another book chapter" do
231
+ input = "https://doi.org/10.4018/978-1-4666-1891-6.ch004"
232
+ subject = Bolognese::Metadata.new(input: input)
233
+ expect(subject.valid?).to be true
234
+ expect(subject.identifiers).to eq([{"identifier"=>"https://doi.org/10.4018/978-1-4666-1891-6.ch004", "identifierType"=>"DOI"}])
235
+ expect(subject.url).to eq("http://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/978-1-4666-1891-6.ch004")
236
+ expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"Text", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
237
+ expect(subject.creators).to eq("familyName"=>"Bichot", "givenName"=>"Charles-Edmond", "name"=>"Bichot, Charles-Edmond", "nameType"=>"Personal")
238
+ expect(subject.titles).to eq([{"title"=>"Unsupervised and Supervised Image Segmentation Using Graph Partitioning"}])
239
+ expect(subject.dates).to eq([{"date"=>"2012-08-08", "dateType"=>"Issued"}, {"date"=>"2019-07-02T17:17:21Z", "dateType"=>"Updated"}])
240
+ expect(subject.publication_year).to eq("2012")
241
+ expect(subject.publisher).to eq("IGI Global")
242
+ expect(subject.agency).to eq("Crossref")
243
+ end
244
+
230
245
  it "missing creator" do
231
246
  input = "https://doi.org/10.3390/publications6020015"
232
247
  subject = Bolognese::Metadata.new(input: input)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.8
4
+ version: 1.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -844,6 +844,7 @@ files:
844
844
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml
845
845
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml
846
846
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml
847
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml
847
848
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml
848
849
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml
849
850
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml