bolognese 0.9.74 → 0.9.75

Sign up to get free protection for your applications and to get access to all the features.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +14 -14
  3. data/lib/bolognese/doi_utils.rb +2 -2
  4. data/lib/bolognese/string.rb +0 -1
  5. data/lib/bolognese/version.rb +1 -1
  6. data/spec/doi_utils_spec.rb +7 -7
  7. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +21 -37
  8. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +21 -37
  9. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +31 -51
  10. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +21 -35
  11. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +21 -37
  12. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +21 -37
  13. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +21 -37
  14. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +39 -69
  15. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +39 -67
  16. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +50 -86
  17. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +39 -71
  18. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +39 -71
  19. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +39 -71
  20. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +39 -71
  21. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +42 -56
  22. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +42 -56
  23. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +42 -56
  24. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +42 -56
  25. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +3 -3
  26. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +3 -3
  27. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +3 -3
  28. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +3 -3
  29. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_id.yml +23 -39
  30. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +23 -39
  31. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +39 -71
  32. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +3 -9
  33. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +3 -3
  34. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +3 -3
  35. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +2 -2
  36. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +2 -2
  37. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +3 -3
  38. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +3 -3
  39. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +21 -35
  40. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +23 -39
  41. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +20 -34
  42. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +2 -2
  43. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +17 -29
  44. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +3 -3
  45. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +2 -2
  46. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +3 -3
  47. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +3 -3
  48. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +3 -3
  49. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +3 -3
  50. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +3 -3
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/doi.yml +2 -2
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/doi_with_protocol.yml +3 -3
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/dx_doi_org_url.yml +3 -3
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/force_test_resolver.yml +3 -3
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/https_url.yml +3 -3
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/test_resolver.yml +3 -3
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_search/test_resolver_http.yml +3 -3
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +56 -104
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +56 -102
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +57 -103
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +57 -105
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +38 -70
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +38 -70
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +38 -70
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +53 -97
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +38 -70
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +38 -70
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +38 -70
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +38 -70
  70. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +38 -70
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +38 -68
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +38 -70
  73. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +38 -70
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +38 -70
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +38 -70
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +2 -2
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +10 -10
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/no_codemeta_json.yml +7 -7
  79. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/not_found_error.yml +7 -7
  80. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +21 -37
  81. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +20 -36
  82. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +21 -37
  83. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +21 -37
  84. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +21 -37
  85. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +21 -37
  86. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +21 -37
  87. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +12 -20
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +21 -37
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +21 -37
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +38 -68
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting_in_test_system.yml +40 -78
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +24 -40
  93. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +35 -61
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +39 -69
  95. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +39 -67
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +38 -68
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +102 -0
  98. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +39 -71
  99. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +38 -68
  100. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +42 -72
  101. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +41 -73
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +41 -73
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +38 -70
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +39 -71
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +42 -74
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +41 -73
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorName.yml +45 -78
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +38 -68
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +3 -3
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +3 -3
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +3 -3
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +3 -3
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +3 -3
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +3 -3
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_ORCID.yml +16 -99
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_jacow_org_scheme.yml +16 -90
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_multiple_name_identifier.yml +16 -94
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_name_identifiers/has_no_ORCID.yml +18 -108
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +16 -99
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_multiple_names_in_display-order.yml +19 -35
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +16 -94
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +16 -92
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +16 -94
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +16 -94
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +16 -90
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +3 -3
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +22 -107
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +16 -94
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +16 -94
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +29 -46
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +16 -94
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +42 -56
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +42 -56
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/not_found_error.yml +2 -2
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +18 -34
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +15 -25
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +19 -35
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +19 -35
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +19 -35
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +19 -35
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +19 -35
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +19 -35
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +19 -35
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +19 -35
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +19 -35
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +19 -35
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +19 -35
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +19 -35
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +19 -35
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +19 -35
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +19 -35
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +19 -35
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +2 -2
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +2 -2
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +3 -3
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +3 -3
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +2 -2
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +3 -3
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +38 -70
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +38 -70
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +38 -70
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +38 -70
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +2 -2
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +3 -3
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +2 -2
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +3 -3
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +3 -3
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +3 -3
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +3 -3
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +3 -3
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +3 -3
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +2 -2
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +3 -3
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +3 -3
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +3 -3
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +2 -2
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +3 -3
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +2 -2
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +3 -3
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +3 -3
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +2 -2
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +3 -3
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +3 -3
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +3 -3
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +2 -2
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +2 -2
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +3 -3
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +3 -3
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +3 -3
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +3 -3
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +3 -3
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +3 -3
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +3 -3
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +3 -3
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +2 -2
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +3 -3
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +3 -3
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +3 -3
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +3 -3
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +3 -3
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +3 -3
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +2 -2
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +3 -3
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +3 -3
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +3 -3
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +3 -3
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +3 -3
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +3 -3
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +3 -3
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +3 -3
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +3 -3
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +3 -3
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +3 -3
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +3 -3
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +19 -35
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +19 -33
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +29 -46
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +42 -56
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +8 -8
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +19 -35
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +3 -3
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +2 -2
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +30 -50
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +13 -17
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +14 -18
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +19 -35
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +42 -56
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +19 -35
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +19 -35
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +3 -3
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +8 -8
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +19 -35
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +19 -35
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +2 -2
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +24 -47
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +19 -35
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +10 -10
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +3 -3
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +3 -3
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +42 -56
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +19 -35
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +8 -8
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +3 -3
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +2 -2
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +42 -56
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +19 -35
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +21 -37
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +13 -21
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +8 -8
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +3 -3
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +3 -3
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +42 -56
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +3 -3
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +19 -35
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +21 -35
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +3 -3
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +10 -10
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +2 -2
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +2 -2
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +42 -56
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +3 -3
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +19 -35
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +42 -56
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +19 -33
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +19 -33
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +3 -3
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +8 -8
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +3 -3
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +19 -33
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +19 -35
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +19 -35
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +19 -35
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +19 -35
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +3 -3
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +8 -8
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +37 -53
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_Citeproc_JSON.yml +18 -18
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_DataCite_JSON.yml +18 -18
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Crossref_DOI.yml +18 -18
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/DataONE.yml +18 -18
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +37 -53
  282. data/spec/readers/datacite_reader_spec.rb +10 -9
  283. data/spec/readers/schema_org_reader_spec.rb +1 -1
  284. metadata +3 -3
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_doi.yml +0 -128
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.datacite.org/prefixes/10.1016
5
+ uri: https://app.datacite.org/prefixes/10.1016
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -16,51 +16,35 @@ http_interactions:
16
16
  code: 200
17
17
  message: OK
18
18
  headers:
19
- Access-Control-Allow-Headers:
20
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
21
- Access-Control-Allow-Methods:
22
- - GET, POST, PATCH, PUT, DELETE, OPTIONS
23
- Access-Control-Allow-Origin:
24
- - "*"
25
- Access-Control-Expose-Headers:
26
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
27
- Cache-Control:
28
- - max-age=0, private, must-revalidate
19
+ Date:
20
+ - Thu, 15 Feb 2018 06:34:26 GMT
29
21
  Content-Type:
30
22
  - application/vnd.api+json; charset=utf-8
31
- Date:
32
- - Fri, 24 Nov 2017 22:10:49 GMT
33
- Etag:
34
- - W/"2e9e83b05873744efb6cb86a98fb70d1"
35
- Server:
36
- - openresty/1.11.2.2
23
+ Connection:
24
+ - keep-alive
37
25
  Status:
38
26
  - 200 OK
39
- Vary:
40
- - Accept-Encoding
41
- Via:
42
- - kong/0.10.3
43
27
  X-Anonymous-Consumer:
44
28
  - 'true'
45
- X-Kong-Proxy-Latency:
46
- - '2'
47
- X-Kong-Upstream-Latency:
48
- - '252'
49
- X-Powered-By:
50
- - Phusion Passenger 5.1.12
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
51
33
  X-Request-Id:
52
- - ad024608-2310-4701-98ea-a402aa82a32a
34
+ - 4f2bac87-44b9-4d86-9c87-74ed61eed883
35
+ Etag:
36
+ - W/"2e9e83b05873744efb6cb86a98fb70d1"
53
37
  X-Runtime:
54
- - '0.250997'
55
- Content-Length:
56
- - '203'
57
- Connection:
58
- - keep-alive
38
+ - '0.763701'
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.2.0
41
+ Server:
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.0
59
43
  body:
60
44
  encoding: UTF-8
61
45
  string: '{"data":{"id":"10.1016","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:22Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
62
46
  http_version:
63
- recorded_at: Fri, 24 Nov 2017 22:10:50 GMT
47
+ recorded_at: Thu, 15 Feb 2018 06:34:27 GMT
64
48
  - request:
65
49
  method: get
66
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1016/j.ejphar.2015.03.018&noredirect=true&pid=tech@datacite.org
@@ -80,13 +64,13 @@ http_interactions:
80
64
  Server:
81
65
  - Apache-Coyote/1.1
82
66
  Crossref-Deployment-Name:
83
- - qs4-1
67
+ - qs2-2
84
68
  Content-Type:
85
69
  - text/xml;charset=UTF-8
86
70
  Content-Language:
87
71
  - en-US
88
72
  Date:
89
- - Fri, 24 Nov 2017 22:10:49 GMT
73
+ - Thu, 15 Feb 2018 06:34:26 GMT
90
74
  Connection:
91
75
  - close
92
76
  body:
@@ -94,5 +78,5 @@ http_interactions:
94
78
  string: !binary |-
95
79
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTAxNiIgdGltZXN0YW1wPSIyMDE3LTA2LTIzIDA0OjQ0OjQ4Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5FdXJvcGVhbiBKb3VybmFsIG9mIFBoYXJtYWNvbG9neTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8YWJicmV2X3RpdGxlPkV1cm9wZWFuIEpvdXJuYWwgb2YgUGhhcm1hY29sb2d5PC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0icHJpbnQiPjAwMTQyOTk5PC9pc3NuPg0KICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9InByaW50Ij4NCiAgICAgICAgICAgIDxtb250aD4wNzwvbW9udGg+DQogICAgICAgICAgICA8eWVhcj4yMDE1PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8am91cm5hbF92b2x1bWU+DQogICAgICAgICAgICA8dm9sdW1lPjc1OTwvdm9sdW1lPg0KICAgICAgICAgIDwvam91cm5hbF92b2x1bWU+DQogICAgICAgICAgPHNwZWNpYWxfbnVtYmVyaW5nPkM8L3NwZWNpYWxfbnVtYmVyaW5nPg0KICAgICAgICA8L2pvdXJuYWxfaXNzdWU+DQogICAgICAgIDxqb3VybmFsX2FydGljbGUgcHVibGljYXRpb25fdHlwZT0iZnVsbF90ZXh0Ij4NCiAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgPHRpdGxlPlBhdmluZyB0aGUgcGF0aCB0byBISVYgbmV1cm90aGVyYXB5OiBQcmVkaWN0aW5nIFNJViBDTlMgZGlzZWFzZTwvdGl0bGU+DQogICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlNhcmFoIEUuPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5CZWNrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+U3V6YW5uZSBFLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+UXVlZW48L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5LZW5uZXRoIFcuPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5XaXR3ZXI8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5LZWxseSBBLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TWV0Y2FsZiBQYXRlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TGlzYSBNLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TWFuZ3VzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+THVjaW88L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkdhbWE8L3N1cm5hbWU+DQogICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5Sb2JlcnQgSi48L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkFkYW1zPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SmFuaWNlIEUuPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5DbGVtZW50czwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk0uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5DaHJpc3RpbmUgWmluazwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkpvc2VwaCBMLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TWFua293c2tpPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8L2NvbnRyaWJ1dG9ycz4NCiAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJwcmludCI+DQogICAgICAgICAgICA8bW9udGg+MDc8L21vbnRoPg0KICAgICAgICAgICAgPHllYXI+MjAxNTwveWVhcj4NCiAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgPHBhZ2VzPg0KICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPGxhc3RfcGFnZT4zMTI8L2xhc3RfcGFnZT4NCiAgICAgICAgICA8L3BhZ2VzPg0KICAgICAgICAgIDxwdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICAgIDxpdGVtX251bWJlciBpdGVtX251bWJlcl90eXBlPSJzZXF1ZW5jZS1udW1iZXIiPlMwMDE0Mjk5OTE1MDAyMzMyPC9pdGVtX251bWJlcj4NCiAgICAgICAgICAgIDxpZGVudGlmaWVyIGlkX3R5cGU9InBpaSI+UzAwMTQyOTk5MTUwMDIzMzI8L2lkZW50aWZpZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTAxNi9lbHNldmllcl9jbV9wb2xpY3k8L2Nyb3NzbWFya19wb2xpY3k+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbnM+DQogICAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgICAgIDxkb21haW4+ZWxzZXZpZXIuY29tPC9kb21haW4+DQogICAgICAgICAgICAgIDwvY3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgPGRvbWFpbj5zY2llbmNlZGlyZWN0LmNvbTwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPnRydWU8L2Nyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPg0KICAgICAgICAgICAgPGN1c3RvbV9tZXRhZGF0YT4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iVGhpcyBhcnRpY2xlIGlzIG1haW50YWluZWQgYnkgIiBuYW1lPSJwdWJsaXNoZXIiPkVsc2V2aWVyPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbGFiZWw9IkFydGljbGUgVGl0bGUiIG5hbWU9ImFydGljbGV0aXRsZSI+UGF2aW5nIHRoZSBwYXRoIHRvIEhJViBuZXVyb3RoZXJhcHk6IFByZWRpY3RpbmcgU0lWIENOUyBkaXNlYXNlPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgIDxhc3NlcnRpb24gbGFiZWw9IkpvdXJuYWwgVGl0bGUiIG5hbWU9ImpvdXJuYWx0aXRsZSI+RXVyb3BlYW4gSm91cm5hbCBvZiBQaGFybWFjb2xvZ3k8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iQ3Jvc3NSZWYgRE9JIGxpbmsgdG8gcHVibGlzaGVyIG1haW50YWluZWQgdmVyc2lvbiIgbmFtZT0iYXJ0aWNsZWxpbmsiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEwMTYvai5lanBoYXIuMjAxNS4wMy4wMTg8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iQ29udGVudCBUeXBlIiBuYW1lPSJjb250ZW50X3R5cGUiPmFydGljbGU8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPGFzc2VydGlvbiBsYWJlbD0iQ29weXJpZ2h0IiBuYW1lPSJjb3B5cmlnaHQiPkNvcHlyaWdodCDCqSAyMDE1IEVsc2V2aWVyIEIuVi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPHByb2dyYW0gbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzEwMDAwMDAwMjwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgICBOSUgNCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlIwMSBOUzA4OTQ4MjwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlIwMSBOUzA3Nzg2OTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlAwMSBNSDA3MDMwNjwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlA0MCBPRDAxMzExNzwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPlQzMiBPRDAxMTA4OTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ0ZG0iPmh0dHA6Ly93d3cuZWxzZXZpZXIuY29tL3RkbS91c2VybGljZW5zZS8xLjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC4xMDE2L2ouZWpwaGFyLjIwMTUuMDMuMDE4PC9kb2k+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2xpbmtpbmdodWIuZWxzZXZpZXIuY29tL3JldHJpZXZlL3BpaS9TMDAxNDI5OTkxNTAwMjMzMjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8Y29sbGVjdGlvbiBwcm9wZXJ0eT0idGV4dC1taW5pbmciIHNldGJ5SUQ9ImVsc2V2aWVyX3VwZGF0ZSI+DQogICAgICAgICAgICAgIDxpdGVtPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBtaW1lX3R5cGU9InRleHQveG1sIj5odHRwOi8vYXBpLmVsc2V2aWVyLmNvbS9jb250ZW50L2FydGljbGUvUElJOlMwMDE0Mjk5OTE1MDAyMzMyP2h0dHBBY2NlcHQ9dGV4dC94bWw8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICAgIDxpdGVtPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZSBtaW1lX3R5cGU9InRleHQvcGxhaW4iPmh0dHA6Ly9hcGkuZWxzZXZpZXIuY29tL2NvbnRlbnQvYXJ0aWNsZS9QSUk6UzAwMTQyOTk5MTUwMDIzMzI/aHR0cEFjY2VwdD10ZXh0L3BsYWluPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgIDwvam91cm5hbF9hcnRpY2xlPg0KICAgICAgPC9qb3VybmFsPg0KICAgIDwvY3Jvc3NyZWY+DQogIDwvZG9pX3JlY29yZD4NCjwvZG9pX3JlY29yZHM+
96
80
  http_version:
97
- recorded_at: Fri, 24 Nov 2017 22:10:50 GMT
81
+ recorded_at: Thu, 15 Feb 2018 06:34:27 GMT
98
82
  recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.datacite.org/prefixes/10.1371
5
+ uri: https://app.datacite.org/prefixes/10.1371
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -16,51 +16,35 @@ http_interactions:
16
16
  code: 200
17
17
  message: OK
18
18
  headers:
19
- Access-Control-Allow-Headers:
20
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
21
- Access-Control-Allow-Methods:
22
- - GET, POST, PATCH, PUT, DELETE, OPTIONS
23
- Access-Control-Allow-Origin:
24
- - "*"
25
- Access-Control-Expose-Headers:
26
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
27
- Cache-Control:
28
- - max-age=0, private, must-revalidate
19
+ Date:
20
+ - Thu, 15 Feb 2018 06:34:19 GMT
29
21
  Content-Type:
30
22
  - application/vnd.api+json; charset=utf-8
31
- Date:
32
- - Fri, 24 Nov 2017 22:10:56 GMT
33
- Etag:
34
- - W/"71ca2c07f54fa8664a86e5df10d75a59"
35
- Server:
36
- - openresty/1.11.2.2
23
+ Connection:
24
+ - keep-alive
37
25
  Status:
38
26
  - 200 OK
39
- Vary:
40
- - Accept-Encoding
41
- Via:
42
- - kong/0.10.3
43
27
  X-Anonymous-Consumer:
44
28
  - 'true'
45
- X-Kong-Proxy-Latency:
46
- - '0'
47
- X-Kong-Upstream-Latency:
48
- - '481'
49
- X-Powered-By:
50
- - Phusion Passenger 5.1.12
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
51
33
  X-Request-Id:
52
- - 7b77e3f2-6c83-41f2-889b-224b725a00dc
34
+ - 490913e1-ef59-4df4-b063-19b6da90a9b1
35
+ Etag:
36
+ - W/"71ca2c07f54fa8664a86e5df10d75a59"
53
37
  X-Runtime:
54
- - '0.479286'
55
- Content-Length:
56
- - '203'
57
- Connection:
58
- - keep-alive
38
+ - '0.469439'
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.2.0
41
+ Server:
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.0
59
43
  body:
60
44
  encoding: UTF-8
61
45
  string: '{"data":{"id":"10.1371","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:47:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
62
46
  http_version:
63
- recorded_at: Fri, 24 Nov 2017 22:10:56 GMT
47
+ recorded_at: Thu, 15 Feb 2018 06:34:19 GMT
64
48
  - request:
65
49
  method: get
66
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1371/journal.pone.0000030&noredirect=true&pid=tech@datacite.org
@@ -80,13 +64,13 @@ http_interactions:
80
64
  Server:
81
65
  - Apache-Coyote/1.1
82
66
  Crossref-Deployment-Name:
83
- - qs2-2
67
+ - qs5-1
84
68
  Content-Type:
85
69
  - text/xml;charset=UTF-8
86
70
  Content-Language:
87
71
  - en-US
88
72
  Date:
89
- - Fri, 24 Nov 2017 22:10:55 GMT
73
+ - Thu, 15 Feb 2018 06:34:19 GMT
90
74
  Connection:
91
75
  - close
92
76
  body:
@@ -94,5 +78,5 @@ http_interactions:
94
78
  string: !binary |-
95
79
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTM3MSIgdGltZXN0YW1wPSIyMDE3LTA2LTE3IDA4OjI2OjE1Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5QTG9TIE9ORTwvZnVsbF90aXRsZT4NCiAgICAgICAgICA8YWJicmV2X3RpdGxlPlBMb1MgT05FPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0iZWxlY3Ryb25pYyI+MTkzMi02MjAzPC9pc3NuPg0KICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9Im9ubGluZSI+DQogICAgICAgICAgICA8bW9udGg+MTI8L21vbnRoPg0KICAgICAgICAgICAgPGRheT4yMDwvZGF5Pg0KICAgICAgICAgICAgPHllYXI+MjAwNjwveWVhcj4NCiAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgPGpvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgPC9qb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgIDwvam91cm5hbF9pc3N1ZT4NCiAgICAgICAgPGpvdXJuYWxfYXJ0aWNsZSBwdWJsaWNhdGlvbl90eXBlPSJmdWxsX3RleHQiPg0KICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICA8dGl0bGU+VHJpb3NlIFBob3NwaGF0ZSBJc29tZXJhc2UgRGVmaWNpZW5jeSBJcyBDYXVzZWQgYnkgQWx0ZXJlZCBEaW1lcml6YXRpb27igJNOb3QgQ2F0YWx5dGljIEluYWN0aXZpdHnigJNvZiB0aGUgTXV0YW50IEVuenltZXM8L3RpdGxlPg0KICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJrdXM8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPlJhbHNlcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkdpbm88L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkhlZXJlbjwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1pY2hhZWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkJyZWl0ZW5iYWNoPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SGFuczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+TGVocmFjaDwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlN5bHZpYTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+S3JvYml0c2NoPC9zdXJuYW1lPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJlZGl0b3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkd1aWxoZW08L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkphbmJvbjwvc3VybmFtZT4NCiAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgICA8ZGF5PjIwPC9kYXk+DQogICAgICAgICAgICA8eWVhcj4yMDA2PC95ZWFyPg0KICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICA8cGFnZXM+DQogICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMzA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICA8aXRlbV9udW1iZXI+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMDwvaXRlbV9udW1iZXI+DQogICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTM3MS9qb3VybmFsLnBvbmUuY29ycmVjdGlvbnNfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5wbG9zb25lLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxwcm9ncmFtIG5hbWU9IkFjY2Vzc0luZGljYXRvcnMiPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvPC9saWNlbnNlX3JlZj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgPC9jdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgPC9jcm9zc21hcms+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwPC9kb2k+DQogICAgICAgICAgICA8dGltZXN0YW1wPjIwMTYxMjMxMDI1NjQ1PC90aW1lc3RhbXA+DQogICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzA8L3Jlc291cmNlPg0KICAgICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgICA8aXRlbSBjcmF3bGVyPSJpUGFyYWRpZ21zIj4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzA8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OIEVuZ2wgSiBNZWQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QVMgU2NobmVpZGVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjcyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA1Ni9ORUpNMTk2NTAyMDQyNzIwNTAzPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkhlcmVkaXRhcnkgSGVtb2x5dGljIEFuZW1pYSB3aXRoIFRyaW9zZXBob3NwaGF0ZSBJc29tZXJhc2UgRGVmaWNpZW5jeS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJhaWxsaWVyZXMgQmVzdCBQcmFjdCBSZXMgQ2xpbiBIYWVtYXRvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BUyBTY2huZWlkZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNTMvYmVoYS4yMDAwLjAwNjE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbmN5OiBoaXN0b3JpY2FsIHBlcnNwZWN0aXZlcyBhbmQgbW9sZWN1bGFyIGFzcGVjdHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CbG9vZCBDZWxscyBNb2wgRGlzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkEgU2NobmVpZGVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDYvYmNtZC4xOTk2LjAwMTE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGVtYXRvbG9naWNhbGx5IGltcG9ydGFudCBtdXRhdGlvbnM6IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIFNvYyBUcmFuczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KIE9sYWg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA0Mi9ic3QwMzAwMDMwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogYSBuZXVyb2RlZ2VuZXJhdGl2ZSBtaXNmb2xkaW5nIGRpc2Vhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbSBKIEh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NIFdhdGFuYWJlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzA4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NjwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1vbGVjdWxhciBhbmFseXNpcyBvZiBhIHNlcmllcyBvZiBhbGxlbGVzIGluIGh1bWFucyB3aXRoIHJlZHVjZWQgYWN0aXZpdHkgYXQgdGhlIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgbG9jdXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bbm4gSHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkhXIE1vaHJlbndlaXNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjUxICggUHQgNCk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4NzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQ2OS0xODA5LjE5ODcudGIwMTA2NS54PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZyZXF1ZW5jeSBhbmQgZGlzdHJpYnV0aW9uIG9mIHJhcmUgZWxlY3Ryb3Bob3JldGljIG1vYmlsaXR5IHZhcmlhbnRzIGluIGEgcG9wdWxhdGlvbiBvZiBodW1hbiBuZXdib3JucyBpbiBBbm4gQXJib3IsIE1pY2hpZ2FuLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGVkaWF0ciBSZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SFcgTW9ocmVud2Vpc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTYwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4MjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMjAzLzAwMDA2NDUwLTE5ODIxMTAwMC0wMDAxMjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FbGV2YXRlZCBmcmVxdWVuY3kgb2YgY2FycmllcnMgZm9yIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeSBpbiBuZXdib3JuIGluZmFudHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjgiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5IdW0gR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+U1cgRWJlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjY3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAwMjkxMzY0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByZXZhbGVuY2Ugb2YgcGFydGlhbCBkZWZpY2llbmN5IG9mIHJlZCBjZWxsIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gR2VybWFueeKAk2Egc3R1ZHkgb2YgMzAwMCBwZW9wbGUuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbSBKIEh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KViBOZWVsPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjYzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4ODwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNlYXJjaCBmb3IgbXV0YXRpb25zIGFsdGVyaW5nIHByb3RlaW4gY2hhcmdlIGFuZC9vciBmdW5jdGlvbiBpbiBjaGlsZHJlbiBvZiBhdG9taWMgYm9tYiBzdXJ2aXZvcnM6IGZpbmFsIHJlcG9ydC48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTAiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SFcgTW9ocmVud2Vpc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+Nzg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTA0NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5ODE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjc4LjguNTA0NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5GcmVxdWVuY3kgb2YgZW56eW1lIGRlZmljaWVuY3kgdmFyaWFudHMgaW4gZXJ5dGhyb2N5dGVzIG9mIG5ld2Jvcm4gaW5mYW50cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTEiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FdXIgSiBDbGluIEludmVzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TVyBFYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xOTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTc5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvai4xMzY1LTIzNjIuMTk3OS50YjAwOTIzLng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGVyZWRpdGFyeSBkZWZpY2llbmN5IG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gZm91ciB1bnJlbGF0ZWQgZmFtaWxpZXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBNZXJrbGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODM3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4OTwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNoYXJhY3Rlcml6YXRpb24gb2YgdHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBtdXRhbnRzIHdpdGggcmVkdWNlZCBlbnp5bWUgYWN0aXZpdHkgaW4gTXVzIG11c2N1bHVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogVGhlb3IgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5GIE9yb3N6PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTgyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQzNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNi9qdGJpLjE5OTYuMDE4NDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ucmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3k6IHByZWRpY3Rpb25zIGFuZCBmYWN0cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTQiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SU8gRGFhcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjgzPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc5MDM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTg2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy44My4yMC43OTAzPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkh1bWFuIHRyaW9zZS1waG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3k6IGEgc2luZ2xlIGFtaW5vIGFjaWQgc3Vic3RpdHV0aW9uIHJlc3VsdHMgaW4gYSB0aGVybW9sYWJpbGUgZW56eW1lLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkh1bSBNdXRhdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SIEFyeWE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yOTA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk3PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvKFNJQ0kpMTA5OC0xMDA0KDE5OTcpMTA6NCZsdDsyOTA6OkFJRC1IVU1VNCZndDszLjAuQ087Mi1MPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkV2aWRlbmNlIGZvciBmb3VuZGVyIGVmZmVjdCBvZiB0aGUgR2x1MTA0QXNwIHN1YnN0aXR1dGlvbiBhbmQgaWRlbnRpZmljYXRpb24gb2YgbmV3IG11dGF0aW9ucyBpbiB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3kuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJBIFBlcnJ5PC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjM0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5MjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDIyNjUyODc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHVtYW4gdHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZTogc3Vic3RpdHV0aW9uIG9mIEFyZyBmb3IgR2x5IGF0IHBvc2l0aW9uIDEyMiBpbiBhIHRoZXJtb2xhYmlsZSBlbGVjdHJvbW9ycGggdmFyaWFudCwgVFBJLU1hbmNoZXN0ZXIuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qmxvb2Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QyBWYWxlbnRpbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExMzA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJpb3NlIHBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeSBpbiAzIEZyZW5jaCBmYW1pbGllczogdHdvIG5vdmVsIG51bGwgYWxsZWxlcywgYSBmcmFtZXNoaWZ0IG11dGF0aW9uIChUUEkgQWxmb3J0dmlsbGUpIGFuZCBhbiBhbHRlcmF0aW9uIGluIHRoZSBpbml0aWF0aW9uIGNvZG9uIChUUEkgUGFyaXMpLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxOCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFtIEogSHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1MIENoYW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTI2MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IdW1hbiB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3kgcmVzdWx0aW5nIGZyb20gbXV0YXRpb24gb2YgUGhlLTI0MC48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTkiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5IdW0gR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBIb2xsYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40ODY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvQkYwMDIxNjQ1NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IZXJlZGl0YXJ5IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgKFRQSSkgZGVmaWNpZW5jeTogdHdvIHNldmVyZWx5IGFmZmVjdGVkIGJyb3RoZXJzIG9uZSB3aXRoIGFuZCBvbmUgd2l0aG91dCBuZXVyb2xvZ2ljYWwgc3ltcHRvbXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QyBSIFNlYW5jZXMgU29jIEJpb2wgRmlsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlMgSG9sbGFuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTkyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjkyOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5bR2x5Y29seXRpYyBlbnp5bWUgZGVmZWN0cyBhbmQgbmV1cm9kZWdlbmVyYXRpb25dLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MgTmF0bCBBY2FkIFNjaSBVIFMgQTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TIEhvbGxhbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwMzYyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuOTQuMTkuMTAzNjI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U2VhcmNoIGZvciB0aGUgcGF0aG9nZW5lc2lzIG9mIHRoZSBkaWZmZXJpbmcgcGhlbm90eXBlIGluIHR3byBjb21wb3VuZCBoZXRlcm96eWdvdGUgSHVuZ2FyaWFuIGJyb3RoZXJzIHdpdGggdGhlIHNhbWUgZ2Vub3R5cGljIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBIb2xsYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy45Mi4xLjI2ODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Fcnl0aHJvY3l0ZSBsaXBpZHMgaW4gdHJpb3NlLXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RiBPcm9zejwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwMjY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy45Ny4zLjEwMjY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RW5oYW5jZWQgYXNzb2NpYXRpb24gb2YgbXV0YW50IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgdG8gcmVkIGNlbGwgbWVtYnJhbmVzIGFuZCB0byBicmFpbiBtaWNyb3R1YnVsZXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5EIE11bWJlcmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2LzAzNzgtMTExOSg5NSkwMDAzNy03PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlllYXN0IHZlY3RvcnMgZm9yIHRoZSBjb250cm9sbGVkIGV4cHJlc3Npb24gb2YgaGV0ZXJvbG9nb3VzIHByb3RlaW5zIGluIGRpZmZlcmVudCBnZW5ldGljIGJhY2tncm91bmRzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyNSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2NoZW0gQmlvcGh5cyBSZXMgQ29tbXVuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk0gUmFsc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzQ3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc0NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJicmMuMjAwNi4wNi4xNTE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gZWZmaWNpZW50IGFuZCBlY29ub21pYyBlbmhhbmNlciBtaXggZm9yIFBDUi48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjYiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5ZZWFzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5DQiBCcmFjaG1hbm48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvKFNJQ0kpMTA5Ny0wMDYxKDE5OTgwMTMwKTE0OjImbHQ7MTE1OjpBSUQtWUVBMjA0Jmd0OzMuMC5DTzsyLTI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGVzaWduZXIgZGVsZXRpb24gc3RyYWlucyBkZXJpdmVkIGZyb20gJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsgUzI4OEM6IGEgdXNlZnVsIHNldCBvZiBzdHJhaW5zIGFuZCBwbGFzbWlkcyBmb3IgUENSLW1lZGlhdGVkIGdlbmUgZGlzcnVwdGlvbiBhbmQgb3RoZXIgYXBwbGljYXRpb25zLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyNyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkggR29laGxlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLm1vbGNlbC4yMDA0LjA5LjAxNjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIHByb3RlaW4gaW50ZXJhY3Rpb24gbmV0d29yayBsaW5rcyBHSVQxLCBhbiBlbmhhbmNlciBvZiBodW50aW5ndGluIGFnZ3JlZ2F0aW9uLCB0byBIdW50aW5ndG9uJmFtcDthcG9zO3MgZGlzZWFzZS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjgiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DdXJyIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPlJIIFNjaGllc3RsPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzM5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk4OTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDAzNDA3MTI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGlnaCBlZmZpY2llbmN5IHRyYW5zZm9ybWF0aW9uIG9mIGludGFjdCB5ZWFzdCBjZWxscyB1c2luZyBzaW5nbGUgc3RyYW5kZWQgbnVjbGVpYyBhY2lkcyBhcyBhIGNhcnJpZXIuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvdGVjaG5vbCBQcm9nPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkMgQ29tcGFnbm88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMjEvYnA5NjAwNDNjPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkdseWNlcm9sIHByb2R1Y3Rpb24gaW4gYSB0cmlvc2UgcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbnQgbXV0YW50IG9mICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFwcGwgRW52aXJvbiBNaWNyb2Jpb2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+S00gT3ZlcmthbXA8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT42ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODE0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L0FFTS42OC42LjI4MTQtMjgyMS4yMDAyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1ldGFib2xpYyBlbmdpbmVlcmluZyBvZiBnbHljZXJvbCBwcm9kdWN0aW9uIGluICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogQmFjdGVyaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk0gQ2lyaWFjeTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEzOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTc5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGh5c2lvbG9naWNhbCBlZmZlY3RzIG9mIHNldmVuIGRpZmZlcmVudCBibG9ja3MgaW4gZ2x5Y29seXNpcyBpbiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0Oy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BcmNoIEJpb2NoZW0gQmlvcGh5czwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SIFlhbWFqaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQyMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMzI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5hYmIuMjAwNC4wMS4wMDM8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHlwb3hpYyB1cC1yZWd1bGF0aW9uIG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZXhwcmVzc2lvbiBpbiBtb3VzZSBicmFpbiBjYXBpbGxhcnkgZW5kb3RoZWxpYWwgY2VsbHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMzIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qk1DIEJpb3RlY2hub2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UyBIYXJqdTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTE4Ni8xNDcyLTY3NTAtNC04PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJhcGlkIGlzb2xhdGlvbiBvZiB5ZWFzdCBnZW5vbWljIEROQTogQnVzdCBuJmFtcDthcG9zOyBHcmFiLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzNCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkh1bSBNb2wgR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+TSBSYWxzZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODkzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDkzL2htZy9kZGkzMjE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QXRheGluLTIgYW5kIGh1bnRpbmd0aW4gaW50ZXJhY3Qgd2l0aCBlbmRvcGhpbGluLUEgY29tcGxleGVzIHRvIGZ1bmN0aW9uIGluIHBsYXN0aW4tYXNzb2NpYXRlZCBwYXRod2F5cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5GRU1TIFllYXN0IFJlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HIEhlZXJlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouZmVtc3lyLjIwMDQuMDUuMDA4PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSByb2xlIG9mIHJlc3BpcmF0aW9uLCByZWFjdGl2ZSBveHlnZW4gc3BlY2llcyBhbmQgb3hpZGF0aXZlIHN0cmVzcyBpbiBtb3RoZXIgY2VsbC1zcGVjaWZpYyBhZ2Vpbmcgb2YgeWVhc3Qgc3RyYWlucyBkZWZlY3RpdmUgaW4gdGhlIFJBUyBzaWduYWxsaW5nIHBhdGh3YXkuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvdGVjaG5pcXVlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5NIFJhbHNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjM5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMjE0NC8wNTM5MkJNMDE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+R2VuZXJhdGlvbiBvZiBhIHllYXN0IHR3by1oeWJyaWQgc3RyYWluIHN1aXRhYmxlIGZvciBjb21wZXRpdGl2ZSBwcm90ZWluIGJpbmRpbmcgYW5hbHlzaXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SiBCaW9sIENoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+UEsgTWFpdHJhPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjQ2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ3NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5NzE8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIGtpbmV0aWMgc3R1ZHkgb2YgZ2x5Y29seXRpYyBlbnp5bWUgc3ludGhlc2lzIGluIHllYXN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzOCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFjdGEgQ3J5c3RhbGxvZ3JhcGggU2VjdCBGIFN0cnVjdCBCaW9sIENyeXN0IENvbW11bjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5UIEtpbm9zaGl0YTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjYxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM0NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEwNy9TMTc0NDMwOTEwNTAwODM0MTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdHJ1Y3R1cmUgb2YgYSBoaWdoLXJlc29sdXRpb24gY3J5c3RhbCBmb3JtIG9mIGh1bWFuIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2U6IGltcHJvdmVtZW50IG9mIGNyeXN0YWxzIHVzaW5nIHRoZSBnZWwtdHViZSBtZXRob2QuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SiBCaW9sIENoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+WSBTaGk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yODA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDE4MDU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk01MDUxODEyMDA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+R2VuZXRpYyBwZXJ0dXJiYXRpb24gb2YgZ2x5Y29seXNpcyByZXN1bHRzIGluIGluaGliaXRpb24gb2YgZGUgbm92byBpbm9zaXRvbCBiaW9zeW50aGVzaXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQwIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qmxvb2Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+RiBPcm9zejwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjk4PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMxMDY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExODIvYmxvb2QuVjk4LjEwLjMxMDY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlzdGluY3QgYmVoYXZpb3Igb2YgbXV0YW50IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gaGVtb2x5c2F0ZSBhbmQgaW4gaXNvbGF0ZWQgZm9ybTogbW9sZWN1bGFyIGJhc2lzIG9mIGVuenltZSBkZWZpY2llbmN5LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBHZW5ldCBHZW5vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BViBLb2NoZXRvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI3MDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NDI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwNDM4LTAwMy0wOTQxLTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJyZWxhdGlvbnMgYmV0d2VlbiB0aGUgZWZmaWNpZW5jeSBvZiB0cmFuc2xhdGlvbiBzdGFydCBzaXRlcyBhbmQgb3RoZXIgc2VxdWVuY2UgZmVhdHVyZXMgb2YgeWVhc3QgbVJOQXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBOYXRsIEFjYWQgU2NpIFUgUyBBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk0gS296YWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjYyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuOTIuNy4yNjYyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFkaGVyZW5jZSB0byB0aGUgZmlyc3QtQVVHIHJ1bGUgd2hlbiBhIHNlY29uZCBBVUcgY29kb24gZm9sbG93cyBjbG9zZWx5IHVwb24gdGhlIGZpcnN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBHZW5ldCBHZW5vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BViBLb2NoZXRvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI3Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40OTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwNDM4LTAwNS0xMTUyLTc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHJvbGUgb2YgYWx0ZXJuYXRpdmUgdHJhbnNsYXRpb24gc3RhcnQgc2l0ZXMgaW4gdGhlIGdlbmVyYXRpb24gb2YgaHVtYW4gcHJvdGVpbiBkaXZlcnNpdHkuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ0Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBJbnQgQ29uZiBJbnRlbGwgU3lzdCBNb2wgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5BRyBQZWRlcnNlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NzwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5ldXJhbCBuZXR3b3JrIHByZWRpY3Rpb24gb2YgdHJhbnNsYXRpb24gaW5pdGlhdGlvbiBzaXRlcyBpbiBldWthcnlvdGVzOiBwZXJzcGVjdGl2ZXMgZm9yIEVTVCBhbmQgZ2Vub21lIGFuYWx5c2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0NSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdlbmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q0kgR29uemFsZXo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNzQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvUzAzNzgtMTExOSgwMSkwMDU1Mi0yPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5vbnNlbnNlLW1lZGlhdGVkIG1STkEgZGVjYXkgaW4gJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ2Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sIENlbGwgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KIEVzdG9qYWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41ODIwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L01DQi4xNS4xMC41ODIwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvcnJlbGF0aW9uIG9mIHR3by1oeWJyaWQgYWZmaW5pdHkgZGF0YSB3aXRoIGluIHZpdHJvIG1lYXN1cmVtZW50cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDciPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbmFsIEJpb2NoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SUcgU2VyZWJyaWlza2lpPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+Mjg1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDYvYWJpby4yMDAwLjQ2NzI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VXNlcyBvZiBsYWNaIHRvIHN0dWR5IGdlbmUgZnVuY3Rpb246IGV2YWx1YXRpb24gb2YgYmV0YS1nYWxhY3Rvc2lkYXNlIGFzc2F5cyBlbXBsb3llZCBpbiB0aGUgeWVhc3QgdHdvLWh5YnJpZCBzeXN0ZW0uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sIE1pY3JvYmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5QIExhdW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTY2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTM2NS0yOTU4LjIwMDEuMDIzMTcueDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BZ2VkIG1vdGhlciBjZWxscyBvZiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0OyBzaG93IG1hcmtlcnMgb2Ygb3hpZGF0aXZlIHN0cmVzcyBhbmQgYXBvcHRvc2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0OSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogQ2VsbCBCaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkYgTWFkZW88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzU3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5OTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDgzL2pjYi4xNDUuNC43NTc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T3h5Z2VuIHN0cmVzczogYSByZWd1bGF0b3Igb2YgYXBvcHRvc2lzIGluIHllYXN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1MCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MgU29jIEV4cCBCaW9sIE1lZDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5SQSBGbG95ZDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjIyMjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMzY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNDYvai4xNTI1LTEzNzMuMTk5OS5kMDEtMTQwLng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW50aW94aWRhbnRzLCBveGlkYXRpdmUgc3RyZXNzLCBhbmQgZGVnZW5lcmF0aXZlIG5ldXJvbG9naWNhbCBkaXNvcmRlcnMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXVyIEogUGVkaWF0cjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TVyBFYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTUwPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAyMDI2NzA2PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogaGFlbW9seXRpYyBhbmFlbWlhLCBteW9wYXRoeSB3aXRoIGFsdGVyZWQgbWl0b2Nob25kcmlhIGFuZCBtZW50YWwgcmV0YXJkYXRpb24gZHVlIHRvIGEgbmV3IHZhcmlhbnQgd2l0aCBhY2NlbGVyYXRlZCBlbnp5bWUgY2F0YWJvbGlzbSBhbmQgZGltaW5pc2hlZCBzcGVjaWZpYyBhY3Rpdml0eS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJpb2wgQ2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5KIEp1bmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDg5MzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk0yMDg4MDYyMDA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJhY3Rpb24gb2YgY29maWxpbiB3aXRoIHRyaW9zZS1waG9zcGhhdGUgaXNvbWVyYXNlIGNvbnRyaWJ1dGVzIGdseWNvbHl0aWMgZnVlbCBmb3IgTmEsSy1BVFBhc2UgdmlhIFJoby1tZWRpYXRlZCBzaWduYWxpbmcgcGF0aHdheS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJpb2wgQ2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5USCBTYXd5ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNDc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjQ5OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5NzI8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdHVkaWVzIG9uIGh1bWFuIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UuIElJLiBOYXR1cmUgb2YgdGhlIGVsZWN0cm9waG9yZXRpYyBtdWx0aXBsaWNpdHkgaW4gZXJ5dGhyb2N5dGVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNvbXAgQmlvY2hlbSBQaHlzaW9sIEI8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Uk0gU25hcGthPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzMzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk3NDwvY1llYXI+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvbXBhcmlzb24gb2YgdGhlIGVsZWN0cm9waG9yZXRpYyBwcm9wZXJ0aWVzIG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2VzIG9mIHZhcmlvdXMgdGlzc3VlcyBhbmQgc3BlY2llcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OdWNsZWljIEFjaWRzIFJlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5TIFN0YW1tPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+RDQ2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDkzL25hci9na2owMzE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QVNEOiBhIGJpb2luZm9ybWF0aWNzIHJlc291cmNlIG9uIGFsdGVybmF0aXZlIHNwbGljaW5nLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogTmV1cm9jaGVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPklIIEhlbm48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvai4xNDcxLTQxNTkuMjAwNC4wMjg1NC54PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBhdGhvZ2VuaWMgbXV0YXRpb25zIGluYWN0aXZhdGUgcGFya2luIGJ5IGRpc3RpbmN0IG1lY2hhbmlzbXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU3Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWVkIEh5cG90aGVzZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+R1AgQ29uY2VwY2lvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjY1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLm1laHkuMjAwNS4wNi4wMDY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGNvZG9uIGZvciB0aGUgbWV0aGlvbmluZSBhdCBwb3NpdGlvbiAxMjkgKE0xMjkpIGluIHRoZSBodW1hbiBwcmlvbiBwcm90ZWluIHByb3ZpZGVzIGFuIGFsdGVybmF0aXZlIGluaXRpYXRpb24gc2l0ZSBmb3IgdHJhbnNsYXRpb24gYW5kIHJlbmRlcnMgaW5kaXZpZHVhbHMgaG9tb3p5Z291cyBmb3IgTTEyOSBtb3JlIHN1c2NlcHRpYmxlIHRvIHByaW9uIGRpc2Vhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+T25jb2dlbmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SiBMaXU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNzY3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L3NqLm9uYy4xMjAzNTk5PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkluaXRpYXRpb24gb2YgdHJhbnNsYXRpb24gZnJvbSBhIGRvd25zdHJlYW0gaW4tZnJhbWUgQVVHIGNvZG9uIG9uIEJSQ0ExIGNhbiBnZW5lcmF0ZSB0aGUgbm92ZWwgaXNvZm9ybSBwcm90ZWluIERlbHRhQlJDQTEoMTdhYSkuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+VHJlbmRzIEJpb2NoZW0gU2NpPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5KIE1hcmlhbmF5YWdhbTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYxODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLnRpYnMuMjAwNC4wOS4wMDY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHBvd2VyIG9mIHR3bzogcHJvdGVpbiBkaW1lcml6YXRpb24gaW4gYmlvbG9neS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjAiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIEo8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+SiBPbGFoPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzkyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY3NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA0Mi9CSjIwMDUwOTkzPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogY29uc2VxdWVuY2VzIG9mIGFuIGluaGVyaXRlZCBtdXRhdGlvbiBhdCBtUk5BLCBwcm90ZWluIGFuZCBtZXRhYm9saWMgbGV2ZWxzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2MSI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2NoZW0gQmlvcGh5cyBSZXMgQ29tbXVuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5TIEtvc293ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zNzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTY5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvMDAwNi0yOTFYKDY5KTkwODUwLVg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlhbWlkZSwgYSBuZXcgcmVhZ2VudCBmb3IgdGhlIGludHJhY2VsbHVsYXIgb3hpZGF0aW9uIG9mIGdsdXRhdGhpb25lIHRvIHRoZSBkaXN1bGZpZGUuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYyIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWV0aG9kcyBFbnp5bW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPk5TIEtvc293ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNTE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTIzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2LzAwNzYtNjg3OSg5NSk1MTExNi00PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRpYW1pZGU6IGFuIG94aWRhbnQgcHJvYmUgZm9yIHRoaW9scy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjMiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+R1cgVGhvcnBlPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTAxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjY1NjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy4wMzA1ODg4MTAxPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNlbGxzIGhhdmUgZGlzdGluY3QgbWVjaGFuaXNtcyB0byBtYWludGFpbiBwcm90ZWN0aW9uIGFnYWluc3QgZGlmZmVyZW50IHJlYWN0aXZlIG94eWdlbiBzcGVjaWVzOiBveGlkYXRpdmUtc3RyZXNzLXJlc3BvbnNlIGdlbmVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2NoZW0gSjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5EIFNoZW50b248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zNzQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTEzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDQyL2JqMjAwMzA0MTQ8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHJvdGVpbiBTLXRoaW9sYXRpb24gdGFyZ2V0cyBnbHljb2x5c2lzIGFuZCBwcm90ZWluIHN5bnRoZXNpcyBpbiByZXNwb25zZSB0byBveGlkYXRpdmUgc3RyZXNzIGluIHRoZSB5ZWFzdCAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0Oy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjUiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5GYXNlYiBKPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8YXV0aG9yPkMgQ29sdXNzaTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyNjY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwOTYvZmouMDAtMDA3NGNvbTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IMk8yLWluZHVjZWQgYmxvY2sgb2YgZ2x5Y29seXNpcyBhcyBhbiBhY3RpdmUgQURQLXJpYm9zeWxhdGlvbiByZWFjdGlvbiBwcm90ZWN0aW5nIGNlbGxzIGZyb20gYXBvcHRvc2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NiI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyZWUgUmFkaWMgQmlvbCBNZWQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Vk0gQ29zdGE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zMzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTA3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L1MwODkxLTU4NDkoMDIpMDEwODYtOTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IeWRyb2dlbiBwZXJveGlkZS1pbmR1Y2VkIGNhcmJvbnlsYXRpb24gb2Yga2V5IG1ldGFib2xpYyBlbnp5bWVzIGluICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7OiB0aGUgaW52b2x2ZW1lbnQgb2YgdGhlIG94aWRhdGl2ZSBzdHJlc3MgcmVzcG9uc2UgcmVndWxhdG9ycyBZYXAxIGFuZCBTa243LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBDZWxsIEJpb2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+Q00gR3JhbnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xOTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjUwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5OTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L01DQi4xOS40LjI2NTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlmZmVyZW50aWFsIHByb3RlaW4gUy10aGlvbGF0aW9uIG9mIGdseWNlcmFsZGVoeWRlLTMtcGhvc3BoYXRlIGRlaHlkcm9nZW5hc2UgaXNvZW56eW1lcyBpbmZsdWVuY2VzIHNlbnNpdGl2aXR5IHRvIG94aWRhdGl2ZSBzdHJlc3MuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY4Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXVyIEogQmlvY2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5JIFNjaHVwcGUtS29pc3RpbmVuPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjIxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwMzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvai4xNDMyLTEwMzMuMTk5NC50YjE4ODIxLng8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Uy10aGlvbGF0aW9uIG9mIGh1bWFuIGVuZG90aGVsaWFsIGNlbGwgZ2x5Y2VyYWxkZWh5ZGUtMy1waG9zcGhhdGUgZGVoeWRyb2dlbmFzZSBhZnRlciBoeWRyb2dlbiBwZXJveGlkZSB0cmVhdG1lbnQuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY5Ij4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SiBCaW9sIENoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+ViBSYXZpY2hhbmRyYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNjk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjUwMTA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Uy10aGlvbGF0aW9uIG9mIGdseWNlcmFsZGVoeWRlLTMtcGhvc3BoYXRlIGRlaHlkcm9nZW5hc2UgaW5kdWNlZCBieSB0aGUgcGhhZ29jeXRvc2lzLWFzc29jaWF0ZWQgcmVzcGlyYXRvcnkgYnVyc3QgaW4gYmxvb2QgbW9ub2N5dGVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3MCI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkN1cnIgR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QiBLcmVtczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI3PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQyNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAwMzExMjExPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk11dGFudHMgb2YgJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsgc2Vuc2l0aXZlIHRvIG94aWRhdGl2ZSBhbmQgb3Ntb3RpYyBzdHJlc3MuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjcxIj4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QW5udSBSZXYgUGxhbnQgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5CQiBCdWNoYW5hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjU2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTE0Ni9hbm51cmV2LmFycGxhbnQuNTYuMDMyNjA0LjE0NDI0NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SZWRveCByZWd1bGF0aW9uOiBhIGJyb2FkZW5pbmcgaG9yaXpvbi48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNzIiPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbnRpb3hpZCBSZWRveCBTaWduYWw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxhdXRob3I+QSBIb2xtZ3JlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODExPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDg5L2Fycy4yMDAwLjIuNC04MTE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW50aW94aWRhbnQgZnVuY3Rpb24gb2YgdGhpb3JlZG94aW4gYW5kIGdsdXRhcmVkb3hpbiBzeXN0ZW1zLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3MyI+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk4gRW5nbCBKIE1lZDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPGF1dGhvcj5LQiBIYW1tb25kPC9hdXRob3I+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzI1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgPGNZZWFyPjE5OTE8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA1Ni9ORUpNMTk5MTA5MTIzMjUxMTA0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVmZmljYWN5IG9mIHN0YXRld2lkZSBuZW9uYXRhbCBzY3JlZW5pbmcgZm9yIGN5c3RpYyBmaWJyb3NpcyBieSBhc3NheSBvZiB0cnlwc2lub2dlbiBjb25jZW50cmF0aW9ucy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgIDwvY2l0YXRpb25fbGlzdD4NCiAgICAgICAgICA8Y29tcG9uZW50X2xpc3Q+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDAxPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDE8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDAzPC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDM8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA0PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDQ8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA1PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDU8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA2PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDY8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA3PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDc8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZGVzY3JpcHRpb24gLz4NCiAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5nMDA4PC9kb2k+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDg8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLnMwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuczAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgIDwvam91cm5hbD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2RvaV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
96
80
  http_version:
97
- recorded_at: Fri, 24 Nov 2017 22:10:56 GMT
81
+ recorded_at: Thu, 15 Feb 2018 06:34:20 GMT
98
82
  recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.datacite.org/prefixes/10.1111
5
+ uri: https://app.datacite.org/prefixes/10.1111
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -17,7 +17,7 @@ http_interactions:
17
17
  message: OK
18
18
  headers:
19
19
  Date:
20
- - Fri, 29 Dec 2017 12:46:05 GMT
20
+ - Thu, 15 Feb 2018 06:34:29 GMT
21
21
  Content-Type:
22
22
  - application/vnd.api+json; charset=utf-8
23
23
  Connection:
@@ -29,30 +29,22 @@ http_interactions:
29
29
  Cache-Control:
30
30
  - max-age=0, private, must-revalidate
31
31
  Vary:
32
- - Accept-Encoding
32
+ - Accept-Encoding, Origin
33
+ X-Request-Id:
34
+ - b81cf89c-2407-498f-8954-232b42bec9de
33
35
  Etag:
34
36
  - W/"d2c510be641d45d932800af9be99a6be"
35
37
  X-Runtime:
36
- - '0.774296'
37
- X-Request-Id:
38
- - 767f4c1c-1fb3-45f4-a643-7fb8fd2bda11
38
+ - '0.115170'
39
39
  X-Powered-By:
40
- - Phusion Passenger 5.1.12
40
+ - Phusion Passenger 5.2.0
41
41
  Server:
42
- - nginx/1.12.2 + Phusion Passenger 5.1.12
43
- Access-Control-Allow-Origin:
44
- - "*"
45
- Access-Control-Allow-Methods:
46
- - GET, POST, PATCH, PUT, DELETE, OPTIONS
47
- Access-Control-Allow-Headers:
48
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
49
- Access-Control-Expose-Headers:
50
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.0
51
43
  body:
52
44
  encoding: UTF-8
53
45
  string: '{"data":{"id":"10.1111","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:34Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
54
46
  http_version:
55
- recorded_at: Fri, 29 Dec 2017 12:46:05 GMT
47
+ recorded_at: Thu, 15 Feb 2018 06:34:29 GMT
56
48
  - request:
57
49
  method: get
58
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1111/nph.14619&noredirect=true&pid=tech@datacite.org
@@ -72,13 +64,13 @@ http_interactions:
72
64
  Server:
73
65
  - Apache-Coyote/1.1
74
66
  Crossref-Deployment-Name:
75
- - cr6-1
67
+ - qs5-1
76
68
  Content-Type:
77
69
  - text/xml;charset=UTF-8
78
70
  Content-Language:
79
71
  - en-US
80
72
  Date:
81
- - Fri, 29 Dec 2017 12:46:05 GMT
73
+ - Thu, 15 Feb 2018 06:34:29 GMT
82
74
  Connection:
83
75
  - close
84
76
  body:
@@ -86,5 +78,5 @@ http_interactions:
86
78
  string: !binary |-
87
79
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTExMSIgdGltZXN0YW1wPSIyMDE3LTA2LTA1IDA2OjU2OjU5Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8am91cm5hbD4NCiAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICA8ZnVsbF90aXRsZT5OZXcgUGh5dG9sb2dpc3Q8L2Z1bGxfdGl0bGU+DQogICAgICAgICAgPGFiYnJldl90aXRsZT5OZXcgUGh5dG9sPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgPGlzc24+MDAyODY0Nlg8L2lzc24+DQogICAgICAgIDwvam91cm5hbF9tZXRhZGF0YT4NCiAgICAgICAgPGpvdXJuYWxfYXJ0aWNsZSBwdWJsaWNhdGlvbl90eXBlPSJmdWxsX3RleHQiPg0KICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICA8dGl0bGU+TGlmZSBhbmQgZGVhdGggb2YgcHJvdGVpbnMgYWZ0ZXIgcHJvdGVhc2UgY2xlYXZhZ2U6IHByb3RlaW4gZGVncmFkYXRpb24gYnkgdGhlIE4tZW5kIHJ1bGUgcGF0aHdheTwvdGl0bGU+DQogICAgICAgICAgPC90aXRsZXM+DQogICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk5pY288L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgIDxzdXJuYW1lPkRpc3NtZXllcjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPkluZGVwZW5kZW50IEp1bmlvciBSZXNlYXJjaCBHcm91cCBvbiBQcm90ZWluIFJlY29nbml0aW9uIGFuZCBEZWdyYWRhdGlvbjsgTGVpYm5peiBJbnN0aXR1dGUgb2YgUGxhbnQgQmlvY2hlbWlzdHJ5IChJUEIpOyBXZWluYmVyZyAzIEhhbGxlIChTYWFsZSkgRC0wNjEyMCBHZXJtYW55PC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPlNjaWVuY2VDYW1wdXMgSGFsbGUgLSBQbGFudC1iYXNlZCBCaW9lY29ub215OyBCZXR0eS1IZWltYW5uLVN0cmFzc2UgMyBIYWxsZSAoU2FhbGUpIEQtMDYxMjAgR2VybWFueTwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi00MTU2LTM3NjE8L09SQ0lEPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+U3VzYW5hPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICA8c3VybmFtZT5SaXZhczwvc3VybmFtZT4NCiAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPkxJUE07IFVuaXZlcnNpdMOpIGRlIFRvdWxvdXNlOyBJTlJBOyBDTlJTOyBDYXN0YW5ldC1Ub2xvc2FuIDMxIDMyNiBGcmFuY2U8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgPGdpdmVuX25hbWU+RW1tYW51ZWxsZTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgPHN1cm5hbWU+R3JhY2lldDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPkRlcGFydG1lbnQgb2YgQmlvbG9neTsgTWF5bm9vdGggVW5pdmVyc2l0eTsgTWF5bm9vdGggQ28uIEtpbGRhcmUgSXJlbGFuZDwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0zNTQ4LTgyMTM8L09SQ0lEPg0KICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8L2NvbnRyaWJ1dG9ycz4NCiAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZSBtZWRpYV90eXBlPSJvbmxpbmUiPg0KICAgICAgICAgICAgPG1vbnRoPjA2PC9tb250aD4NCiAgICAgICAgICAgIDxkYXk+MDU8L2RheT4NCiAgICAgICAgICAgIDx5ZWFyPjIwMTc8L3llYXI+DQogICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgIDxjcm9zc21hcms+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX3BvbGljeT4xMC4xMDAyL2Nyb3NzbWFya19wb2xpY3k8L2Nyb3NzbWFya19wb2xpY3k+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbnM+DQogICAgICAgICAgICAgIDxjcm9zc21hcmtfZG9tYWluPg0KICAgICAgICAgICAgICAgIDxkb21haW4+d2lsZXkuY29tPC9kb21haW4+DQogICAgICAgICAgICAgIDwvY3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgIDwvY3Jvc3NtYXJrX2RvbWFpbnM+DQogICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+dHJ1ZTwvY3Jvc3NtYXJrX2RvbWFpbl9leGNsdXNpdmU+DQogICAgICAgICAgICA8Y3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICA8cHJvZ3JhbSBuYW1lPSJmdW5kcmVmIj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgQWdlbmNlIE5hdGlvbmFsZSBkZSBsYSBSZWNoZXJjaGUNCiAgICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfaWRlbnRpZmllciI+aHR0cDovL2R4LmRvaS5vcmcvMTAuMTMwMzkvNTAxMTAwMDAxNjY1PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iYXdhcmRfbnVtYmVyIj5BTlItMTAtTEFCWC00MTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPkFOUi0xMS1JREVYLTAwMDItMDI8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRGVwYXJ0bWVudCBvZiBBZ3JpY3VsdHVyZSwgRm9vZCBhbmQgdGhlIE1hcmluZQ0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDE1ODQ8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPjE0L1MvODE5PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZ3JvdXAiPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+DQogICAgICAgICAgICAgICAgICAgIFNjaWVuY2UgRm91bmRhdGlvbiBJcmVsYW5kDQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTYwMjwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImF3YXJkX251bWJlciI+MTMvSUEvMTg3MDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPlZpcnR1YWwgSXJpc2ggQ2VudHJlIGZvciBDcm9wIEltcHJvdmVtZW50PC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImF3YXJkX251bWJlciI+MTQvUy84MTk8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRncm91cCI+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9uYW1lIj4NCiAgICAgICAgICAgICAgICAgICAgRXVyb3BlYW4gUmVnaW9uYWwgRGV2ZWxvcG1lbnQgRnVuZA0KICAgICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImZ1bmRlcl9pZGVudGlmaWVyIj5odHRwOi8vZHguZG9pLm9yZy8xMC4xMzAzOS81MDExMDAwMDg1MzA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPGFzc2VydGlvbiBuYW1lPSJhd2FyZF9udW1iZXIiPkxTUC1UUDItMTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGdyb3VwIj4NCiAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX25hbWUiPg0KICAgICAgICAgICAgICAgICAgICBEZXV0c2NoZSBGb3JzY2h1bmdzZ2VtZWluc2NoYWZ0DQogICAgICAgICAgICAgICAgICAgIDxhc3NlcnRpb24gbmFtZT0iZnVuZGVyX2lkZW50aWZpZXIiPmh0dHA6Ly9keC5kb2kub3JnLzEwLjEzMDM5LzUwMTEwMDAwMTY1OTwvYXNzZXJ0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9hc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICA8YXNzZXJ0aW9uIG5hbWU9ImF3YXJkX251bWJlciI+REkgMTc5NC8zLTE8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgICA8L2Fzc2VydGlvbj4NCiAgICAgICAgICAgICAgPC9wcm9ncmFtPg0KICAgICAgICAgICAgICA8cHJvZ3JhbSBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICA8bGljZW5zZV9yZWYgYXBwbGllc190bz0idGRtIj5odHRwOi8vZG9pLndpbGV5LmNvbS8xMC4xMDAyL3RkbV9saWNlbnNlXzE8L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgIDxsaWNlbnNlX3JlZiBhcHBsaWVzX3RvPSJ2b3IiIHN0YXJ0X2RhdGU9IjIwMTctMDYtMDUiPmh0dHA6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS90ZXJtc0FuZENvbmRpdGlvbnM8L2xpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICA8L3Byb2dyYW0+DQogICAgICAgICAgICA8L2N1c3RvbV9tZXRhZGF0YT4NCiAgICAgICAgICA8L2Nyb3NzbWFyaz4NCiAgICAgICAgICA8YXJjaGl2ZV9sb2NhdGlvbnM+DQogICAgICAgICAgICA8YXJjaGl2ZSBuYW1lPSJQb3J0aWNvIiAvPg0KICAgICAgICAgIDwvYXJjaGl2ZV9sb2NhdGlvbnM+DQogICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgPGRvaT4xMC4xMTExL25waC4xNDYxOTwvZG9pPg0KICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9kb2kud2lsZXkuY29tLzEwLjExMTEvbnBoLjE0NjE5PC9yZXNvdXJjZT4NCiAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9vbmxpbmVsaWJyYXJ5LndpbGV5LmNvbS93b2wxL2RvaS8xMC4xMTExL25waC4xNDYxOS9mdWxscGRmPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9InRleHQtbWluaW5nIj4NCiAgICAgICAgICAgICAgPGl0ZW0+DQogICAgICAgICAgICAgICAgPHJlc291cmNlIGNvbnRlbnRfdmVyc2lvbj0idm9yIiBtaW1lX3R5cGU9ImFwcGxpY2F0aW9uL3BkZiI+aHR0cHM6Ly9hcGkud2lsZXkuY29tL29ubGluZWxpYnJhcnkvdGRtL3YxL2FydGljbGVzLzEwLjExMTElMkZucGguMTQ2MTk8L3Jlc291cmNlPg0KICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDF8bnBoMTQ2MTktY2l0LTAwMDEiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkJpZW52ZW51dDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyL3BtaWMuMjAxNTAwMDI3PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByb3Rlb21lLXdpZGUgYW5hbHlzaXMgb2YgdGhlIGFtaW5vIHRlcm1pbmFsIHN0YXR1cyBvZiBFc2NoZXJpY2hpYSBjb2xpIHByb3RlaW5zIGF0IHRoZSBzdGVhZHktc3RhdGUgYW5kIHVwb24gZGVmb3JteWxhdGlvbiBpbmhpYml0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm90ZW9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI1MDM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwMnxucGgxNDYxOS1jaXQtMDAwMiI+DQogICAgICAgICAgICAgIDxhdXRob3I+QnJvd2VyPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5tb2xjZWwuMjAxMy4wMi4wMDk8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TmV1cm9kZWdlbmVyYXRpb24tYXNzb2NpYXRlZCBwcm90ZWluIGZyYWdtZW50cyBhcyBzaG9ydC1saXZlZCBzdWJzdHJhdGVzIG9mIHRoZSBOLWVuZCBydWxlIHBhdGh3YXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjUwPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDAzfG5waDE0NjE5LWNpdC0wMDAzIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5DYWx2bzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDc0L21jcC5NMTE2LjA2MzgxODwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Db21wYXJhdGl2ZSBhbmFseXNpcyBvZiBtaXRvY2hvbmRyaWFsIE4tdGVybWluaSBmcm9tIG1vdXNlLCBodW1hbiwgYW5kIHllYXN0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsYXIgJmFtcDsgQ2VsbHVsYXIgUHJvdGVvbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNjwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41MTI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwNHxucGgxNDYxOS1jaXQtMDAwNCI+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI2L3NjaWVuY2UuYWFsMzY1NTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BbiBOLWVuZCBydWxlIHBhdGh3YXkgdGhhdCByZWNvZ25pemVzIHByb2xpbmUgYW5kIGRlc3Ryb3lzIGdsdWNvbmVvZ2VuaWMgZW56eW1lczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2NpZW5jZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4zNTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ZWFhSTM2NTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwNXxucGgxNDYxOS1jaXQtMDAwNSI+DQogICAgICAgICAgICAgIDxhdXRob3I+Q2hpc2hvbG08L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjA0MDk0NjgxMDI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TW9sZWN1bGFyIGNoYXJhY3Rlcml6YXRpb24gb2YgcHJvdGVvbHl0aWMgY2xlYXZhZ2Ugc2l0ZXMgb2YgdGhlIFBzZXVkb21vbmFzIHN5cmluZ2FlIGVmZmVjdG9yIEF2clJwdDI8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzLCBVU0E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTAyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIwODc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAwNnxucGgxNDYxOS1jaXQtMDAwNiI+DQogICAgICAgICAgICAgIDxhdXRob3I+RGl0emVsPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvbmNiOTg0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRlZ3JhZGF0aW9uIG9mIERJQVAxIGJ5IHRoZSBOLWVuZCBydWxlIHBhdGh3YXkgaXMgZXNzZW50aWFsIGZvciByZWd1bGF0aW5nIGFwb3B0b3NpczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIENlbGwgQmlvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ2NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDA3fG5waDE0NjE5LWNpdC0wMDA3Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Eb25nPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDEvZ2FkLjI5MjIzNS4xMTY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VWJpcXVpdHlsYXRpb24gYWN0aXZhdGVzIGEgcGVwdGlkYXNlIHRoYXQgcHJvbW90ZXMgY2xlYXZhZ2UgYW5kIGRlc3RhYmlsaXphdGlvbiBvZiBpdHMgYWN0aXZhdGluZyBFMyBsaWdhc2VzIGFuZCBkaXZlcnNlIGdyb3d0aCByZWd1bGF0b3J5IHByb3RlaW5zIHRvIGxpbWl0IGNlbGwgcHJvbGlmZXJhdGlvbiBpbiBBcmFiaWRvcHNpczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXMgJmFtcDsgRGV2ZWxvcG1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MzE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTk3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMDh8bnBoMTQ2MTktY2l0LTAwMDgiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkVzY2hlbi1MaXBwb2xkPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDQvcHAuMTYuMDAzMzY8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QmFjdGVyaWFsIEF2clJwdDItbGlrZSBjeXN0ZWluZSBwcm90ZWFzZXMgYmxvY2sgYWN0aXZhdGlvbiBvZiB0aGUgQXJhYmlkb3BzaXMgbWl0b2dlbi1hY3RpdmF0ZWQgcHJvdGVpbiBraW5hc2VzLCBNUEs0IGFuZCBNUEsxMTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGxhbnQgUGh5c2lvbG9neTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNzE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIyMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDA5fG5waDE0NjE5LWNpdC0wMDA5Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5GYWRlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L25jb21tczEyMjAyPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBoZW5vdHlwZXMgb24gZGVtYW5kIHZpYSBzd2l0Y2hhYmxlIHRhcmdldCBwcm90ZWluIGRlZ3JhZGF0aW9uIGluIG11bHRpY2VsbHVsYXIgb3JnYW5pc21zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmUgQ29tbXVuaWNhdGlvbnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjIwMjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDEwfG5waDE0NjE5LWNpdC0wMDEwIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HYXJ6b248L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmZlYnNsZXQuMjAwNy4wNi4wMDU8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UFJUNi9BdDVnMDIzMTAgZW5jb2RlcyBhbiBBcmFiaWRvcHNpcyB1YmlxdWl0aW4gbGlnYXNlIG9mIHRoZSBOLWVuZCBydWxlIHBhdGh3YXkgd2l0aCBhcmdpbmluZSBzcGVjaWZpY2l0eSBhbmQgaXMgbm90IHRoZSBDRVIzIGxvY3VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5GRUJTIExldHRlcnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTgxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMxODk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxMXxucGgxNDYxOS1jaXQtMDAxMSI+DQogICAgICAgICAgICAgIDxhdXRob3I+R2V2YWVydDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L25idDgxMDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FeHBsb3JpbmcgcHJvdGVvbWVzIGFuZCBhbmFseXppbmcgcHJvdGVpbiBwcm9jZXNzaW5nIGJ5IG1hc3Mgc3BlY3Ryb21ldHJpYyBpZGVudGlmaWNhdGlvbiBvZiBzb3J0ZWQgTi10ZXJtaW5hbCBwZXB0aWRlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlIEJpb3RlY2hub2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTY2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTJ8bnBoMTQ2MTktY2l0LTAwMTIiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdpYmJzPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai50Y2IuMjAxNC4wNS4wMDE8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGV1a2FyeW90aWMgTi1lbmQgcnVsZSBwYXRod2F5OiBjb25zZXJ2ZWQgbWVjaGFuaXNtcyBhbmQgZGl2ZXJzZSBmdW5jdGlvbnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRyZW5kcyBpbiBDZWxsIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTN8bnBoMTQ2MTktY2l0LTAwMTMiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkdpYmJzPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvbnBoLjE0MTA1PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZyb20gc3RhcnQgdG8gZmluaXNoOiBhbWluby10ZXJtaW5hbCBwcm90ZWluIG1vZGlmaWNhdGlvbnMgYXMgZGVncmFkYXRpb24gc2lnbmFscyBpbiBwbGFudHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5ldyBQaHl0b2xvZ2lzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yMTE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTE4ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDE0fG5waDE0NjE5LWNpdC0wMDE0Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L25hdHVyZTEwNTM0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkhvbWVvc3RhdGljIHJlc3BvbnNlIHRvIGh5cG94aWEgaXMgcmVndWxhdGVkIGJ5IHRoZSBOLWVuZCBydWxlIHBhdGh3YXkgaW4gcGxhbnRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+NDc5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQxNTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDE1fG5waDE0NjE5LWNpdC0wMDE1Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5HcmF2b3Q8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTE4Ni9zMTI4NzAtMDE2LTA5NDEteTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IeXBveGlhIHJlc3BvbnNlIGluIEFyYWJpZG9wc2lzIHJvb3RzIGluZmVjdGVkIGJ5IFBsYXNtb2Rpb3Bob3JhIGJyYXNzaWNhZSBzdXBwb3J0cyB0aGUgZGV2ZWxvcG1lbnQgb2YgY2x1YnJvb3Q8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJNQyBQbGFudCBCaW9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI1MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDE2fG5waDE0NjE5LWNpdC0wMDE2Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5IYW1tZXJsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MTk5ODwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDc0L2piYy4yNzMuMzkuMjUwMDA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHJvdGVpbnMgb2YgbmV3bHkgaXNvbGF0ZWQgbXV0YW50cyBhbmQgdGhlIGFtaW5vLXRlcm1pbmFsIHByb2xpbmUgYXJlIGVzc2VudGlhbCBmb3IgdWJpcXVpdGluLXByb3RlYXNvbWUtY2F0YWx5emVkIGNhdGFib2xpdGUgZGVncmFkYXRpb24gb2YgZnJ1Y3Rvc2UtMSw2LWJpc3Bob3NwaGF0YXNlIG9mIFNhY2NoYXJvbXljZXMgY2VyZXZpc2lhZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sm91cm5hbCBvZiBCaW9sb2dpY2FsIENoZW1pc3RyeTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4yNzM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjUwMDA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxN3xucGgxNDYxOS1jaXQtMDAxNyI+DQogICAgICAgICAgICAgIDxhdXRob3I+SG9lcm5zdGVpbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDc0L21jcC5NMTE1LjA1NzE5MDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5JZGVudGlmaWNhdGlvbiBvZiB0YXJnZXRzIGFuZCBpbnRlcmFjdGlvbiBwYXJ0bmVycyBvZiBhcmdpbnlsLXRSTkEgcHJvdGVpbiB0cmFuc2ZlcmFzZSBpbiB0aGUgbW9zcyBQaHlzY29taXRyZWxsYSBwYXRlbnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciAmYW1wOyBDZWxsdWxhciBQcm90ZW9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4MDg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAxOHxucGgxNDYxOS1jaXQtMDAxOCI+DQogICAgICAgICAgICAgIDxhdXRob3I+SHVlc2dlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTM5OS0zMDU0LjIwMTEuMDE1MzYueDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OLSBhbmQgQy10ZXJtaW5hbCBkZWdyYWRvbWljczogbmV3IGFwcHJvYWNoZXMgdG8gcmV2ZWFsIGJpb2xvZ2ljYWwgcm9sZXMgZm9yIHBsYW50IHByb3RlYXNlcyBmcm9tIHN1YnN0cmF0ZSBpZGVudGlmaWNhdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGh5c2lvbG9naWEgUGxhbnRhcnVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE0NTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMTl8bnBoMTQ2MTktY2l0LTAwMTkiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkh3YW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMjYvc2NpZW5jZS4xMTgzMTQ3PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk4tdGVybWluYWwgYWNldHlsYXRpb24gb2YgY2VsbHVsYXIgcHJvdGVpbnMgY3JlYXRlcyBzcGVjaWZpYyBkZWdyYWRhdGlvbiBzaWduYWxzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjMyNzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45NzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyMHxucGgxNDYxOS1jaXQtMDAyMCI+DQogICAgICAgICAgICAgIDxhdXRob3I+S2ltPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5jZWxsLjIwMTMuMTEuMDMxPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBOLXRlcm1pbmFsIG1ldGhpb25pbmUgb2YgY2VsbHVsYXIgcHJvdGVpbnMgYXMgYSBkZWdyYWRhdGlvbiBzaWduYWw8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTU2PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDIxfG5waDE0NjE5LWNpdC0wMDIxIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5LbGVpZmVsZDwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L25idC4xNjExPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPklzb3RvcGljIGxhYmVsaW5nIG9mIHRlcm1pbmFsIGFtaW5lcyBpbiBjb21wbGV4IHNhbXBsZXMgaWRlbnRpZmllcyBwcm90ZWluIE4tdGVybWluaSBhbmQgcHJvdGVhc2UgY2xlYXZhZ2UgcHJvZHVjdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBCaW90ZWNobm9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI4PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDIyfG5waDE0NjE5LWNpdC0wMDIyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5MZWU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTQzNDgvbW9sY2VsbHMuMjAxNi4yMzI5PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk4tdGVybWluYWwgYWNldHlsYXRpb24tdGFyZ2V0ZWQgTi1lbmQgcnVsZSBwcm90ZW9seXRpYyBzeXN0ZW06IHRoZSBBYy9OLWVuZCBydWxlIHBhdGh3YXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxlcyBhbmQgQ2VsbHM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+Mzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTY5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjN8bnBoMTQ2MTktY2l0LTAwMjMiPg0KICAgICAgICAgICAgICA8YXV0aG9yPkxpPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDUvdHBjLjE2LjAwNzY4PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByb3RlaW4gZGVncmFkYXRpb24gcmF0ZSBpbiBBcmFiaWRvcHNpcyB0aGFsaWFuYSBsZWFmIGdyb3d0aCBhbmQgZGV2ZWxvcG1lbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+Mjk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjA3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjR8bnBoMTQ2MTktY2l0LTAwMjQiPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1ham92c2t5PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMjEvcHI1MDAxNjRqPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRhcmdldGVkIHByb3Rlb21pY3MgYW5hbHlzaXMgb2YgcHJvdGVpbiBkZWdyYWRhdGlvbiBpbiBwbGFudCBzaWduYWxpbmcgb24gYW4gTFRRLU9yYml0cmFwIG1hc3Mgc3BlY3Ryb21ldGVyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Kb3VybmFsIG9mIFByb3Rlb21lIFJlc2VhcmNoPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEzPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQyNDY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyNXxucGgxNDYxOS1jaXQtMDAyNSI+DQogICAgICAgICAgICAgIDxhdXRob3I+TWFyY2hpPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvc3JlcDI2MDIwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBOLWVuZCBydWxlIHBhdGh3YXkgcmVndWxhdGVzIHBhdGhvZ2VuIHJlc3BvbnNlcyBpbiBwbGFudHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlNjaWVudGlmaWMgUmVwb3J0czwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI2MDIwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMjZ8bnBoMTQ2MTktY2l0LTAwMjYiPg0KICAgICAgICAgICAgICA8YXV0aG9yPk1lbmRpb25kbzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL3BiaS4xMjMzNDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FbmhhbmNlZCB3YXRlcmxvZ2dpbmcgdG9sZXJhbmNlIGluIGJhcmxleSBieSBtYW5pcHVsYXRpb24gb2YgZXhwcmVzc2lvbiBvZiB0aGUgTi1lbmQgcnVsZSBwYXRod2F5IEUzIGxpZ2FzZSBQUk9URU9MWVNJUzY8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IEJpb3RlY2hub2xvZ3kgSm91cm5hbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI3fG5waDE0NjE5LWNpdC0wMDI3Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Nb3Q8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SZWFsLXRpbWUgZGV0ZWN0aW9uIG9mIE4tZW5kIHJ1bGUtbWVkaWF0ZWQgdWJpcXVpdGluYXRpb24gdmlhIGZsdW9yZXNjZW50bHkgbGFiZWxlZCBzdWJzdHJhdGUgcHJvYmVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OZXcgUGh5dG9sb2dpc3Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDxkb2k+MTAuMTExMS9ucGguMTQ0OTc8L2RvaT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDI4fG5waDE0NjE5LWNpdC0wMDI4Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5OaXNoaW11cmE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEwNS90cGMuMTEzLjExMjU1NzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DbHBTMSBpcyBhIGNvbnNlcnZlZCBzdWJzdHJhdGUgc2VsZWN0b3IgZm9yIHRoZSBjaGxvcm9wbGFzdCBDbHAgcHJvdGVhc2Ugc3lzdGVtIGluIEFyYWJpZG9wc2lzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjI1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyNzY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAyOXxucGgxNDYxOS1jaXQtMDAyOSI+DQogICAgICAgICAgICAgIDxhdXRob3I+TmlzaGltdXJhPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE1PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5iYmFiaW8uMjAxNC4xMS4wMTI8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T3JnYW5pemF0aW9uLCBmdW5jdGlvbiBhbmQgc3Vic3RyYXRlcyBvZiB0aGUgZXNzZW50aWFsIENscCBwcm90ZWFzZSBzeXN0ZW0gaW4gcGxhc3RpZHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2NoaW1pY2EgZXQgQmlvcGh5c2ljYSBBY3RhPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE4NDc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTE1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMzB8bnBoMTQ2MTktY2l0LTAwMzAiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlBpYXRrb3Y8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTJhPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy4xMjA3Nzg2MTA5PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBOLWVuZCBydWxlIHBhdGh3YXkgY291bnRlcmFjdHMgY2VsbCBkZWF0aCBieSBkZXN0cm95aW5nIHByb2Fwb3B0b3RpYyBwcm90ZWluIGZyYWdtZW50czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMsIFVTQTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xMDk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+RTE4Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzMXxucGgxNDYxOS1jaXQtMDAzMSI+DQogICAgICAgICAgICAgIDxhdXRob3I+UGlhdGtvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMmI8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLm1vbGNlbC4yMDEyLjEwLjAxMjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgYXV0by1nZW5lcmF0ZWQgZnJhZ21lbnQgb2YgdGhlIFVzcDEgZGV1YmlxdWl0eWxhc2UgaXMgYSBwaHlzaW9sb2dpY2FsIHN1YnN0cmF0ZSBvZiB0aGUgTi1lbmQgcnVsZSBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2xlY3VsYXIgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT40ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45MjY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzMnxucGgxNDYxOS1jaXQtMDAzMiI+DQogICAgICAgICAgICAgIDxhdXRob3I+UG90dXNjaGFrPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4xOTk4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzMvcG5hcy45NS4xNC43OTA0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBSVDEgb2YgQXJhYmlkb3BzaXMgdGhhbGlhbmEgZW5jb2RlcyBhIGNvbXBvbmVudCBvZiB0aGUgcGxhbnQgTi1lbmQgcnVsZcKgcGF0aHdheTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvY2VlZGluZ3Mgb2YgdGhlIE5hdGlvbmFsIEFjYWRlbXkgb2YgU2NpZW5jZXMsIFVTQTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT45NTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43OTA0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMzN8bnBoMTQ2MTktY2l0LTAwMzMiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlJhbzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4LzM1MDczNjI3PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRlZ3JhZGF0aW9uIG9mIGEgY29oZXNpbiBzdWJ1bml0IGJ5IHRoZSBOLWVuZCBydWxlIHBhdGh3YXkgaXMgZXNzZW50aWFsIGZvciBjaHJvbW9zb21lIHN0YWJpbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0dXJlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjQxMDwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45NTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzNHxucGgxNDYxOS1jaXQtMDAzNCI+DQogICAgICAgICAgICAgIDxhdXRob3I+UmliZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEwNC9wcC4xMTQuMjUzMDg4PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBncmVlbmluZyBhZnRlciBleHRlbmRlZCBkYXJrbmVzczEgaXMgYW4gTi1lbmQgcnVsZSBwYXRod2F5IG11dGFudCB3aXRoIGhpZ2ggdG9sZXJhbmNlIHRvIHN1Ym1lcmdlbmNlIGFuZCBzdGFydmF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE2Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjE2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMzV8bnBoMTQ2MTktY2l0LTAwMzUiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlJvd2xhbmQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgQXJhYmlkb3BzaXMgY2hsb3JvcGxhc3Qgc3Ryb21hbCBOLXRlcm1pbm9tZTogY29tcGxleGl0aWVzIG9mIGFtaW5vLXRlcm1pbmFsIHByb3RlaW4gbWF0dXJhdGlvbiBhbmQgc3RhYmlsaXR5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5QbGFudCBQaHlzaW9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE2OTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xODgxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMzZ8bnBoMTQ2MTktY2l0LTAwMzYiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlNhbnR0PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA4PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwOTEvbWJjLkUwOC0wMy0wMzI4PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSB5ZWFzdCBHSUQgY29tcGxleCwgYSBub3ZlbCB1YmlxdWl0aW4gbGlnYXNlIChFMykgaW52b2x2ZWQgaW4gdGhlIHJlZ3VsYXRpb24gb2YgY2FyYm9oeWRyYXRlIG1ldGFib2xpc208L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBCaW9sb2d5IG9mIHRoZSBDZWxsPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzMjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzN3xucGgxNDYxOS1jaXQtMDAzNyI+DQogICAgICAgICAgICAgIDxhdXRob3I+U2NoaWxsaW5nPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDExPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvbnByb3QuMjAxMC4xNzg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q2hhcmFjdGVyaXphdGlvbiBvZiB0aGUgcHJpbWUgYW5kIG5vbi1wcmltZSBhY3RpdmUgc2l0ZSBzcGVjaWZpY2l0aWVzIG9mIHByb3RlYXNlcyBieSBwcm90ZW9tZS1kZXJpdmVkIHBlcHRpZGUgbGlicmFyaWVzIGFuZCB0YW5kZW0gbWFzcyBzcGVjdHJvbWV0cnk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyZSBQcm90b2NvbHM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+Njwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDAzOHxucGgxNDYxOS1jaXQtMDAzOCI+DQogICAgICAgICAgICAgIDxhdXRob3I+VGFrZW1vdG88L2F1dGhvcj4NCiAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA5NC9NUE1JLTE4LTEyNTg8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TWVtYnJhbmUgcmVsZWFzZSBhbmQgZGVzdGFiaWxpemF0aW9uIG9mIEFyYWJpZG9wc2lzIFJJTjQgZm9sbG93aW5nIGNsZWF2YWdlIGJ5IFBzZXVkb21vbmFzIHN5cmluZ2FlIEF2clJwdDI8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbGVjdWxhciBQbGFudC1NaWNyb2JlIEludGVyYWN0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjU4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwMzl8bnBoMTQ2MTktY2l0LTAwMzkiPg0KICAgICAgICAgICAgICA8YXV0aG9yPlRhc2FraTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTQ2L2FubnVyZXYtYmlvY2hlbS0wNTE3MTAtMDkzMzA4PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBOLWVuZCBydWxlIHBhdGh3YXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFubnVhbCBSZXZpZXcgb2YgQmlvY2hlbWlzdHJ5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjgxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI2MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQwfG5waDE0NjE5LWNpdC0wMDQwIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5Uc2lhdHNpYW5pPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMDUvdHBjLjExMy4xMTUyODc8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIEFyYWJpZG9wc2lzIG1ldGFjYXNwYXNlOSBkZWdyYWRvbWU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjgzMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQxfG5waDE0NjE5LWNpdC0wMDQxIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5WYXJzaGF2c2t5PC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDExPC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDIvcHJvLjY2NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgTi1lbmQgcnVsZSBwYXRod2F5IGFuZCByZWd1bGF0aW9uIGJ5IHByb3Rlb2x5c2lzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm90ZWluIFNjaWVuY2U8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTI5ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQyfG5waDE0NjE5LWNpdC0wMDQyIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5WZW5uZTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyL3BtaWMuMjAxNTAwMDE0PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFuIGltcHJvdmVkIHdvcmtmbG93IGZvciBxdWFudGl0YXRpdmUgTi10ZXJtaW5hbCBjaGFyZ2UtYmFzZWQgZnJhY3Rpb25hbCBkaWFnb25hbCBjaHJvbWF0b2dyYXBoeSAoQ2hhRlJBRElDKSB0byBzdHVkeSBwcm90ZW9seXRpYyBldmVudHMgaW4gQXJhYmlkb3BzaXMgdGhhbGlhbmE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb3Rlb21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjQ1ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQzfG5waDE0NjE5LWNpdC0wMDQzIj4NCiAgICAgICAgICAgICAgPGF1dGhvcj5WZW5uZTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDIxL3ByNDAwNDM1ZDwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ob3ZlbCBoaWdobHkgc2Vuc2l0aXZlLCBzcGVjaWZpYywgYW5kIHN0cmFpZ2h0Zm9yd2FyZCBzdHJhdGVneSBmb3IgY29tcHJlaGVuc2l2ZSBOLXRlcm1pbmFsIHByb3Rlb21pY3MgcmV2ZWFscyB1bmtub3duIHN1YnN0cmF0ZXMgb2YgdGhlIG1pdG9jaG9uZHJpYWwgcGVwdGlkYXNlIEljcDU1PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Kb3VybmFsIG9mIFByb3Rlb21lIFJlc2VhcmNoPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjEyPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM4MjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTExMS9ucGguMTQ2MTktQklCMDA0NHxucGgxNDYxOS1jaXQtMDA0NCI+DQogICAgICAgICAgICAgIDxhdXRob3I+Vm9ndGxlPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5jZWxsLjIwMDkuMDcuMDQ1PC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkdsb2JhbCBhbmFseXNpcyBvZiB0aGUgbWl0b2Nob25kcmlhbCBOLXByb3Rlb21lIGlkZW50aWZpZXMgYSBwcm9jZXNzaW5nIHBlcHRpZGFzZSBjcml0aWNhbCBmb3IgcHJvdGVpbiBzdGFiaWxpdHk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MTM5PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQyODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQ1fG5waDE0NjE5LWNpdC0wMDQ1Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5XYWRhczwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNjwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDc0L2piYy5NMTE2Ljc0Nzk1NjwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BbmFseXppbmcgTi10ZXJtaW5hbCBhcmdpbnlsYXRpb24gdGhyb3VnaCB0aGUgdXNlIG9mIHBlcHRpZGUgYXJyYXlzIGFuZCBkZWdyYWRhdGlvbiBhc3NheXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQmlvbG9naWNhbCBDaGVtaXN0cnk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+MjkxPC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIwOTc2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDZ8bnBoMTQ2MTktY2l0LTAwNDYiPg0KICAgICAgICAgICAgICA8YXV0aG9yPldlaXRzPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvbmNvbW1zNDQyNTwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QbGFudCBjeXN0ZWluZSBveGlkYXNlcyBjb250cm9sIHRoZSBveHlnZW4tZGVwZW5kZW50IGJyYW5jaCBvZiB0aGUgTi1lbmQtcnVsZSBwYXRod2F5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmUgQ29tbXVuaWNhdGlvbnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zNDI1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjExMTEvbnBoLjE0NjE5LUJJQjAwNDd8bnBoMTQ2MTktY2l0LTAwNDciPg0KICAgICAgICAgICAgICA8YXV0aG9yPldoaXRlPC9hdXRob3I+DQogICAgICAgICAgICAgIDxjWWVhcj4yMDE2PC9jWWVhcj4NCiAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMzgvbmNvbW1zMTQ2OTA8L2RvaT4NCiAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGxhbnQgY3lzdGVpbmUgb3hpZGFzZXMgYXJlIGRpb3h5Z2VuYXNlcyB0aGF0IGRpcmVjdGx5IGVuYWJsZSBhcmdpbnlsIHRyYW5zZmVyYXNlLWNhdGFseXplZCBhcmdpbnlsYXRpb24gb2YgTi1lbmQgcnVsZSB0YXJnZXRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmUgQ29tbXVuaWNhdGlvbnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNDY5MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQ4fG5waDE0NjE5LWNpdC0wMDQ4Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5YdTwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTA1L3RwYy4xNS4wMDE3MzwvZG9pPg0KICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ud28gTi10ZXJtaW5hbCBhY2V0eWx0cmFuc2ZlcmFzZXMgYW50YWdvbmlzdGljYWxseSByZWd1bGF0ZSB0aGUgc3RhYmlsaXR5IG9mIGEgbm9kLWxpa2UgcmVjZXB0b3IgaW4gQXJhYmlkb3BzaXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlBsYW50IENlbGw8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgIDx2b2x1bWU+Mjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU0NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMTExL25waC4xNDYxOS1CSUIwMDQ5fG5waDE0NjE5LWNpdC0wMDQ5Ij4NCiAgICAgICAgICAgICAgPGF1dGhvcj5aaGFuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyL3BtaWMuMjAxNDAwNTMwPC9kb2k+DQogICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlF1YW50aXRhdGl2ZSBwcm90ZW9taWNzIGFuYWx5c2lzIG9mIHRoZSBBcmcvTi1lbmQgcnVsZSBwYXRod2F5IG9mIHRhcmdldGVkIGRlZ3JhZGF0aW9uIGluIEFyYWJpZG9wc2lzIHJvb3RzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm90ZW9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI0NDc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgIDwvY2l0YXRpb25fbGlzdD4NCiAgICAgICAgPC9qb3VybmFsX2FydGljbGU+DQogICAgICA8L2pvdXJuYWw+DQogICAgPC9jcm9zc3JlZj4NCiAgPC9kb2lfcmVjb3JkPg0KPC9kb2lfcmVjb3Jkcz4=
88
80
  http_version:
89
- recorded_at: Fri, 29 Dec 2017 12:46:06 GMT
81
+ recorded_at: Thu, 15 Feb 2018 06:34:29 GMT
90
82
  recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.datacite.org/prefixes/10.7554
5
+ uri: https://app.datacite.org/prefixes/10.7554
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -16,51 +16,35 @@ http_interactions:
16
16
  code: 200
17
17
  message: OK
18
18
  headers:
19
- Access-Control-Allow-Headers:
20
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
21
- Access-Control-Allow-Methods:
22
- - GET, POST, PATCH, PUT, DELETE, OPTIONS
23
- Access-Control-Allow-Origin:
24
- - "*"
25
- Access-Control-Expose-Headers:
26
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
27
- Cache-Control:
28
- - max-age=0, private, must-revalidate
19
+ Date:
20
+ - Thu, 15 Feb 2018 06:34:21 GMT
29
21
  Content-Type:
30
22
  - application/vnd.api+json; charset=utf-8
31
- Date:
32
- - Fri, 24 Nov 2017 22:10:53 GMT
33
- Etag:
34
- - W/"f03c5d43c9e031db0cf6b29702cab8ca"
35
- Server:
36
- - openresty/1.11.2.2
23
+ Connection:
24
+ - keep-alive
37
25
  Status:
38
26
  - 200 OK
39
- Vary:
40
- - Accept-Encoding
41
- Via:
42
- - kong/0.10.3
43
27
  X-Anonymous-Consumer:
44
28
  - 'true'
45
- X-Kong-Proxy-Latency:
46
- - '0'
47
- X-Kong-Upstream-Latency:
48
- - '500'
49
- X-Powered-By:
50
- - Phusion Passenger 5.1.12
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
51
33
  X-Request-Id:
52
- - 97b63afb-967e-4909-815f-744318f2a25f
34
+ - c8f5520a-d036-4499-a121-bd0840f5ae94
35
+ Etag:
36
+ - W/"f03c5d43c9e031db0cf6b29702cab8ca"
53
37
  X-Runtime:
54
- - '0.498742'
55
- Content-Length:
56
- - '203'
57
- Connection:
58
- - keep-alive
38
+ - '0.408646'
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.2.0
41
+ Server:
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.0
59
43
  body:
60
44
  encoding: UTF-8
61
45
  string: '{"data":{"id":"10.7554","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T21:07:27Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
62
46
  http_version:
63
- recorded_at: Fri, 24 Nov 2017 22:10:53 GMT
47
+ recorded_at: Thu, 15 Feb 2018 06:34:21 GMT
64
48
  - request:
65
49
  method: get
66
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.7554/elife.01567x&noredirect=true&pid=tech@datacite.org
@@ -80,13 +64,13 @@ http_interactions:
80
64
  Server:
81
65
  - Apache-Coyote/1.1
82
66
  Crossref-Deployment-Name:
83
- - qs3-1
67
+ - cr6-1
84
68
  Content-Type:
85
69
  - text/xml;charset=UTF-8
86
70
  Content-Language:
87
71
  - en-US
88
72
  Date:
89
- - Fri, 24 Nov 2017 22:10:52 GMT
73
+ - Thu, 15 Feb 2018 06:34:21 GMT
90
74
  Connection:
91
75
  - close
92
76
  body:
@@ -95,5 +79,5 @@ http_interactions:
95
79
  \ <crossref>\r\n <error>doi:10.7554/elife.01567x</error>\r\n </crossref>\r\n
96
80
  \ </doi_record>\r\n</doi_records>"
97
81
  http_version:
98
- recorded_at: Fri, 24 Nov 2017 22:10:53 GMT
82
+ recorded_at: Thu, 15 Feb 2018 06:34:21 GMT
99
83
  recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.datacite.org/prefixes/10.1101
5
+ uri: https://app.datacite.org/prefixes/10.1101
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -16,51 +16,35 @@ http_interactions:
16
16
  code: 200
17
17
  message: OK
18
18
  headers:
19
- Access-Control-Allow-Headers:
20
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
21
- Access-Control-Allow-Methods:
22
- - GET, POST, PATCH, PUT, DELETE, OPTIONS
23
- Access-Control-Allow-Origin:
24
- - "*"
25
- Access-Control-Expose-Headers:
26
- - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
27
- Cache-Control:
28
- - max-age=0, private, must-revalidate
19
+ Date:
20
+ - Thu, 15 Feb 2018 06:34:22 GMT
29
21
  Content-Type:
30
22
  - application/vnd.api+json; charset=utf-8
31
- Date:
32
- - Fri, 24 Nov 2017 22:10:54 GMT
33
- Etag:
34
- - W/"d073b6a2c133a85e12e4749dba2b31a7"
35
- Server:
36
- - openresty/1.11.2.2
23
+ Connection:
24
+ - keep-alive
37
25
  Status:
38
26
  - 200 OK
39
- Vary:
40
- - Accept-Encoding
41
- Via:
42
- - kong/0.10.3
43
27
  X-Anonymous-Consumer:
44
28
  - 'true'
45
- X-Kong-Proxy-Latency:
46
- - '0'
47
- X-Kong-Upstream-Latency:
48
- - '734'
49
- X-Powered-By:
50
- - Phusion Passenger 5.1.12
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
51
33
  X-Request-Id:
52
- - 463b1dc7-3559-4d4d-85d6-4ad61a3bc258
34
+ - 7c0920fa-1da0-4833-9693-841a9e3593b4
35
+ Etag:
36
+ - W/"d073b6a2c133a85e12e4749dba2b31a7"
53
37
  X-Runtime:
54
- - '0.732023'
55
- Content-Length:
56
- - '203'
57
- Connection:
58
- - keep-alive
38
+ - '0.760794'
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.2.0
41
+ Server:
42
+ - nginx/1.12.2 + Phusion Passenger 5.2.0
59
43
  body:
60
44
  encoding: UTF-8
61
45
  string: '{"data":{"id":"10.1101","type":"prefixes","attributes":{"registration-agency":"Crossref","created":null,"updated":"2016-09-21T20:45:32Z"},"relationships":{"clients":{"data":[]},"providers":{"data":[]}}}}'
62
46
  http_version:
63
- recorded_at: Fri, 24 Nov 2017 22:10:54 GMT
47
+ recorded_at: Thu, 15 Feb 2018 06:34:22 GMT
64
48
  - request:
65
49
  method: get
66
50
  uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
@@ -80,13 +64,13 @@ http_interactions:
80
64
  Server:
81
65
  - Apache-Coyote/1.1
82
66
  Crossref-Deployment-Name:
83
- - cr6-1
67
+ - qs5-1
84
68
  Content-Type:
85
69
  - text/xml;charset=UTF-8
86
70
  Content-Language:
87
71
  - en-US
88
72
  Date:
89
- - Fri, 24 Nov 2017 22:10:54 GMT
73
+ - Thu, 15 Feb 2018 06:34:21 GMT
90
74
  Connection:
91
75
  - close
92
76
  body:
@@ -94,5 +78,5 @@ http_interactions:
94
78
  string: !binary |-
95
79
  PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9yZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0YW1wPSIyMDE3LTEwLTEwIDAxOjEwOjQ5Ij4NCiAgICA8Y3Jvc3NyZWY+DQogICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdlPSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAgICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5kIEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBlPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2VycmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPkd1c3Rhdm88L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5EdXJhbmQ8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMjE4OC0yNTcwPC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5TZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5LYXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBDaXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3JpZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3RlZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNlX2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEwPC9tb250aD4NCiAgICAgICAgICA8ZGF5PjA5PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNzwveWVhcj4NCiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9pbnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAgICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+YmlvcnhpdjswOTcxOTZ2MjwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFjdD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFjdGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVzIHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmluY2lwbGVzLCBhIHN5bm9wc2lzIGFuZCBoYXJtb25pemF0aW9uIG9mIHRoZSByZWNvbW1lbmRhdGlvbnMgb2YgbWFqb3Igc2NpZW5jZSBwb2xpY3kgYm9kaWVzLiBUaGUgcm9hZG1hcCB3YXMgZGV2ZWxvcGVkIGJ5IHRoZSBSZXBvc2l0b3JpZXMgRXhwZXJ0IEdyb3VwLCBhcyBwYXJ0IG9mIHRoZSBEYXRhIENpdGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0LCBhbiBpbml0aWF0aXZlIG9mIEZPUkNFMTEub3JnIGFuZCB0aGUgTklIIEJpb0NBRERJRSAoaHR0cHM6Ly9iaW9jYWRkaWUub3JnKSBwcm9ncmFtLiBUaGUgcm9hZG1hcCBtYWtlcyAxMSBzcGVjaWZpYyByZWNvbW1lbmRhdGlvbnMsIGdyb3VwZWQgaW50byB0aHJlZSBwaGFzZXMgb2YgaW1wbGVtZW50YXRpb246IGEpIHJlcXVpcmVkIHN0ZXBzIG5lZWRlZCB0byBzdXBwb3J0IHRoZSBKb2ludCBEZWNsYXJhdGlvbiBvZiBEYXRhIENpdGF0aW9uIFByaW5jaXBsZXMsIGIpIHJlY29tbWVuZGVkIHN0ZXBzIHRoYXQgZmFjaWxpdGF0ZSBhcnRpY2xlL2RhdGEgcHVibGljYXRpb24gd29ya2Zsb3dzLCBhbmQgYykgb3B0aW9uYWwgc3RlcHMgdGhhdCBmdXJ0aGVyIGltcHJvdmUgZGF0YSBjaXRhdGlvbiBzdXBwb3J0IHByb3ZpZGVkIGJ5IGRhdGEgcmVwb3NpdG9yaWVzLjwvcD4NCiAgICAgICAgPC9hYnN0cmFjdD4NCiAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgIDxkb2k+MTAuMTEwMS8wOTcxOTY8L2RvaT4NCiAgICAgICAgICA8dGltZXN0YW1wPjIwMTcxMDA5MjIxMDIzNDEwMDA8L3RpbWVzdGFtcD4NCiAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2Jpb3J4aXYub3JnL2xvb2t1cC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgIDxpdGVtIGNyYXdsZXI9ImlQYXJhZGlnbXMiPg0KICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY8L3Jlc291cmNlPg0KICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgIDwvY29sbGVjdGlvbj4NCiAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgIDwvcG9zdGVkX2NvbnRlbnQ+DQogICAgPC9jcm9zc3JlZj4NCiAgPC9kb2lfcmVjb3JkPg0KPC9kb2lfcmVjb3Jkcz4=
96
80
  http_version:
97
- recorded_at: Fri, 24 Nov 2017 22:10:55 GMT
81
+ recorded_at: Thu, 15 Feb 2018 06:34:22 GMT
98
82
  recorded_with: VCR 3.0.3