bolognese 1.6.9 → 1.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +20 -17
  3. data/bolognese.gemspec +5 -5
  4. data/lib/bolognese/datacite_utils.rb +2 -3
  5. data/lib/bolognese/doi_utils.rb +1 -1
  6. data/lib/bolognese/metadata_utils.rb +1 -1
  7. data/lib/bolognese/readers/bibtex_reader.rb +0 -1
  8. data/lib/bolognese/readers/citeproc_reader.rb +2 -14
  9. data/lib/bolognese/readers/codemeta_reader.rb +4 -7
  10. data/lib/bolognese/readers/crossref_reader.rb +3 -5
  11. data/lib/bolognese/readers/datacite_reader.rb +3 -5
  12. data/lib/bolognese/readers/ris_reader.rb +3 -9
  13. data/lib/bolognese/readers/schema_org_reader.rb +13 -6
  14. data/lib/bolognese/utils.rb +7 -7
  15. data/lib/bolognese/version.rb +1 -1
  16. data/lib/bolognese/writers/codemeta_writer.rb +1 -1
  17. data/lib/bolognese/writers/jats_writer.rb +1 -1
  18. data/lib/bolognese/writers/schema_org_writer.rb +1 -1
  19. data/spec/author_utils_spec.rb +1 -1
  20. data/spec/cli_spec.rb +2 -2
  21. data/spec/datacite_utils_spec.rb +14 -15
  22. data/spec/doi_utils_spec.rb +7 -7
  23. data/spec/fixtures/schema_org.json +5 -0
  24. data/spec/fixtures/schema_org_gtex.json +0 -1
  25. data/spec/fixtures/schema_org_list.json +0 -5
  26. data/spec/fixtures/schema_org_topmed.json +0 -1
  27. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +19 -15
  28. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +19 -15
  29. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +19 -15
  30. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +19 -15
  31. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +19 -15
  32. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +19 -15
  33. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +19 -15
  34. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +24 -20
  35. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +24 -20
  36. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +25 -21
  37. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +25 -21
  38. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +25 -21
  39. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +25 -21
  40. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +24 -20
  41. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +24 -24
  42. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +24 -24
  43. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +24 -24
  44. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +24 -24
  45. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +13 -9
  46. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +13 -9
  47. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +13 -9
  48. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +13 -9
  49. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +13 -9
  50. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +13 -9
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +6 -6
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +6 -6
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +6 -6
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +6 -6
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +25 -21
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +24 -20
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_alternate_identifiers.yml +51 -0
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +6 -6
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +51 -0
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +6 -6
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +6 -6
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +6 -6
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +6 -6
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +6 -6
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +6 -6
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +6 -6
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +6 -6
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +6 -6
  70. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +6 -6
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +6 -6
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +6 -6
  73. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +6 -6
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +6 -6
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +6 -6
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +6 -6
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +6 -6
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +19 -15
  79. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +19 -15
  80. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +19 -15
  81. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +19 -15
  82. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +19 -15
  83. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +6 -6
  84. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +19 -15
  85. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +19 -15
  86. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +6 -6
  87. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +6 -6
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +6 -6
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +6 -6
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +6 -6
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +6 -6
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +6 -6
  93. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +41 -33
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +41 -33
  95. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +40 -32
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +40 -32
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +28 -24
  98. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +28 -24
  99. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +27 -23
  100. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +41 -33
  101. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +28 -24
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +27 -23
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +27 -23
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +27 -23
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +28 -24
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +27 -23
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +28 -24
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +28 -24
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +27 -23
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +28 -24
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_match.yml +5 -5
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_match.yml +5 -5
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_no_match.yml +5 -5
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_for_match.yml +4 -4
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_match.yml +5 -5
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_no_match.yml +5 -5
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +6 -6
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/with_affiliation.yml +6 -6
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/without_affiliation.yml +6 -6
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +25 -27
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +23 -25
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +18 -14
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +18 -14
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +19 -15
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +18 -14
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +17 -13
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +19 -15
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +18 -14
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +19 -15
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/author_literal.yml +15 -13
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +19 -15
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +17 -13
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +17 -15
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +19 -15
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +35 -31
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +29 -22
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +19 -15
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml +14 -12
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml +15 -15
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +19 -15
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +17 -13
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +18 -14
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +18 -16
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +19 -15
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +17 -13
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +17 -13
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +26 -21
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +19 -15
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +18 -14
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +17 -13
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +19 -15
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +18 -14
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +18 -14
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +17 -13
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_json_metadata/metadata_from_api.yml +22 -20
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +28 -24
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +26 -22
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml +27 -23
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +31 -28
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +23 -19
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +24 -20
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +25 -21
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +24 -20
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +25 -21
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +29 -24
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Schema_org_type.yml +24 -22
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +24 -20
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +25 -21
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +24 -20
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +29 -26
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +38 -24
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +24 -20
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +27 -24
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +26 -22
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +19 -19
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_references.yml +20 -18
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +42 -38
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +25 -21
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +35 -32
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +33 -29
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +20 -19
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +31 -28
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +37 -33
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +25 -21
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +24 -20
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +32 -25
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +6 -6
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +6 -6
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +6 -6
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +6 -6
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +6 -6
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +6 -6
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +6 -6
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +6 -6
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +6 -6
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +6 -6
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/future.yml +4 -4
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/invalid.yml +4 -4
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/nil.yml +4 -4
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/past.yml +4 -4
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/present.yml +4 -4
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +14 -14
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +12 -12
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +25 -25
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +11 -11
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +11 -11
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +1180 -1161
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +6 -6
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +18 -19
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +11 -11
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +11 -11
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +19 -19
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +11 -11
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +13 -9
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +26 -22
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +24 -22
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +7 -8
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +11 -9
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +70 -62
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +6 -6
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +6 -6
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +6 -6
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +6 -6
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +6 -6
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +6 -6
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +6 -6
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +13 -9
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +13 -9
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +12 -12
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +11 -11
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +12 -12
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +15 -15
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +11 -11
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml +11 -11
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +11 -11
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +12 -12
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +11 -11
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +11 -11
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +12 -12
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +11 -11
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +11 -11
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml +12 -12
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +11 -11
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +11 -11
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +12 -12
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +6 -6
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +6 -6
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +6 -6
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +6 -6
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +6 -6
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +6 -6
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +6 -6
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +28 -24
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +27 -23
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +28 -24
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +28 -24
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/not_found.yml +5 -5
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash.yml +4 -4
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +5 -5
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +6 -6
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +6 -6
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +6 -6
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +6 -6
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +6 -6
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +6 -6
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +6 -6
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +6 -6
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +6 -6
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +6 -6
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +6 -6
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +6 -6
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +6 -6
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +6 -6
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +6 -6
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +6 -6
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +6 -6
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +6 -6
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +6 -6
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +6 -6
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +6 -6
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +6 -6
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +6 -6
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +6 -6
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +6 -6
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +6 -6
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +6 -6
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +6 -6
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +6 -6
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +4 -4
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +6 -6
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +6 -6
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +6 -6
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +6 -6
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +6 -6
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +6 -6
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +6 -6
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +6 -6
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id.yml +4 -4
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml +5 -5
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml +4 -4
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml +5 -5
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_id.yml +4 -4
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +6 -6
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +6 -6
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +6 -6
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +6 -6
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +6 -6
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +6 -6
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +6 -6
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +6 -6
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +6 -6
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +6 -6
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +6 -6
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +6 -6
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +6 -6
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +6 -6
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +6 -6
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +6 -6
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +6 -6
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +6 -6
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +6 -6
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +6 -6
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +6 -6
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +6 -6
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +6 -6
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +6 -6
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +15 -15
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +12 -12
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +19 -19
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +14 -15
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +24 -24
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +32 -25
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +25 -27
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +12 -12
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +6 -6
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +5 -5
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +12 -12
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +6 -6
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +51 -0
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +6 -6
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +52 -0
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/software_w/version.yml +19 -8
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +15 -15
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +25 -23
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +11 -11
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +12 -12
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +52 -0
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +6 -6
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +32 -25
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +25 -27
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +6 -6
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +11 -11
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/organization_author.yml +4 -4
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +11 -11
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software_w/version.yml +23 -12
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +6 -6
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +5 -5
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +14 -15
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +14 -15
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +12 -12
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +25 -27
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +5 -5
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +6 -6
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +24 -24
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +12 -12
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +13 -14
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +25 -27
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +11 -11
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +6 -6
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +5 -5
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +25 -27
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +5 -5
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +6 -6
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +24 -24
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +10 -10
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +12 -12
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +33 -33
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +34 -34
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +25 -27
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +5 -5
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +24 -24
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +6 -6
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_version.yml +16 -16
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +11 -11
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +34 -34
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +21 -21
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +52 -0
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +25 -27
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +5 -5
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +6 -6
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +23 -25
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +6 -6
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +14 -14
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +20 -20
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +5 -5
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +22 -24
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +5 -5
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +14 -14
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +24 -24
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +12 -12
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +12 -12
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +6 -6
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +31 -24
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +25 -27
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +5 -5
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +18 -18
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +28 -17
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +24 -24
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +40 -18
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +18 -18
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +12 -12
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +16 -17
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +13 -14
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +36 -28
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +52 -0
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +6 -6
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +25 -27
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +11 -11
  420. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +12 -12
  421. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +31 -24
  422. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +14 -14
  423. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +20 -20
  424. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +12 -12
  425. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +5 -5
  426. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +5 -5
  427. data/spec/readers/bibtex_reader_spec.rb +3 -3
  428. data/spec/readers/citeproc_reader_spec.rb +3 -3
  429. data/spec/readers/codemeta_reader_spec.rb +4 -4
  430. data/spec/readers/crossref_reader_spec.rb +73 -63
  431. data/spec/readers/datacite_json_reader_spec.rb +2 -1
  432. data/spec/readers/datacite_reader_spec.rb +94 -92
  433. data/spec/readers/ris_reader_spec.rb +4 -4
  434. data/spec/readers/schema_org_reader_spec.rb +44 -38
  435. data/spec/writers/bibtex_writer_spec.rb +2 -2
  436. data/spec/writers/citation_writer_spec.rb +16 -8
  437. data/spec/writers/citeproc_writer_spec.rb +11 -2
  438. data/spec/writers/codemeta_writer_spec.rb +0 -1
  439. data/spec/writers/crosscite_writer_spec.rb +3 -3
  440. data/spec/writers/datacite_writer_spec.rb +25 -15
  441. data/spec/writers/jats_writer_spec.rb +17 -3
  442. data/spec/writers/ris_writer_spec.rb +6 -5
  443. data/spec/writers/schema_org_writer_spec.rb +15 -18
  444. metadata +22 -34
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/error_unknown.yml +0 -88
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/jj.yml +0 -87
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_t.yml +0 -47
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +0 -93
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_timestamp/present.yml +0 -44
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_crossrer_organization.yml +0 -44
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +0 -158
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml +0 -706
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +0 -49
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_formats/insert.yml +0 -49
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_given_and_family_name.yml +0 -49
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/to_https.yml +0 -44
  457. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id_lowercase.yml +0 -44
  458. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_not_found.yml +0 -44
  459. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/http.yml +0 -44
  460. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/uri.yml +0 -44
  461. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/with_trailing_slash.yml +0 -44
  462. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/dataset_neurophysiology.yml +0 -116
  463. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml +0 -46
@@ -1,46 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://api.crossref.org/works/10.1371/journal.pone.0214986/transform/application/vnd.crossref.unixsd+xml
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
12
- Accept:
13
- - text/xml
14
- response:
15
- status:
16
- code: 200
17
- message: OK
18
- headers:
19
- Link:
20
- - <http://dx.doi.org/10.1371/journal.pone.0214986>; rel="canonical", <http://dx.plos.org/10.1371/journal.pone.0214986>;
21
- version="vor"; rel="item", <https://creativecommons.org/publicdomain/zero/1.0/>;
22
- version="vor"; rel="license", <http://orcid.org/0000-0002-1856-0546>; title="Matthew
23
- A. Weber"; rel="author"
24
- Access-Control-Allow-Origin:
25
- - "*"
26
- Access-Control-Allow-Headers:
27
- - X-Requested-With
28
- Content-Length:
29
- - '41843'
30
- Server:
31
- - http-kit
32
- Date:
33
- - Sat, 06 Jul 2019 14:28:59 GMT
34
- X-Rate-Limit-Limit:
35
- - '50'
36
- X-Rate-Limit-Interval:
37
- - 1s
38
- Connection:
39
- - close
40
- body:
41
- encoding: ASCII-8BIT
42
- string: !binary |-
43
- PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iam91cm5hbF9hcnRpY2xlIj4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlIChQTG9TKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im1lbWJlci1pZCIgdHlwZT0ibnVtYmVyIj4zNDA8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0YXRpb24taWQiIHR5cGU9Im51bWJlciI+MTA2NzI4NDI3PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImpvdXJuYWwtaWQiIHR5cGU9Im51bWJlciI+NjA0MDc8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iZGVwb3NpdC10aW1lc3RhbXAiIHR5cGU9Im51bWJlciI+MjAxOTA1MDgxMDI1Mjg8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ib3duZXItcHJlZml4IiB0eXBlPSJzdHJpbmciPjEwLjEzNzE8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ibGFzdC11cGRhdGUiIHR5cGU9ImRhdGUiPjIwMTktMDUtMDhUMTc6Mjg6MTNaPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNyZWF0ZWQiIHR5cGU9ImRhdGUiPjIwMTktMDUtMDhUMTc6Mjc6MjdaPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNpdGVkYnktY291bnQiIHR5cGU9Im51bWJlciI+MDwvY3JtLWl0ZW0+DQogICAgICAgIDxkb2lfcmVjb3JkPg0KICAgICAgICAgIDxjcm9zc3JlZiB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEgaHR0cDovL2RvaS5jcm9zc3JlZi5vcmcvc2NoZW1hcy91bml4cmVmMS4xLnhzZCI+DQogICAgICAgICAgICA8am91cm5hbD4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICAgICAgICA8ZnVsbF90aXRsZT5QTE9TIE9ORTwvZnVsbF90aXRsZT4NCiAgICAgICAgICAgICAgICA8YWJicmV2X3RpdGxlPlBMb1MgT05FPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0iZWxlY3Ryb25pYyI+MTkzMi02MjAzPC9pc3NuPg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9Im9ubGluZSI+DQogICAgICAgICAgICAgICAgICA8bW9udGg+NTwvbW9udGg+DQogICAgICAgICAgICAgICAgICA8ZGF5Pjg8L2RheT4NCiAgICAgICAgICAgICAgICAgIDx5ZWFyPjIwMTk8L3llYXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgICAgICAgIDxqb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICA8L2pvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgICAgIDxpc3N1ZT41PC9pc3N1ZT4NCiAgICAgICAgICAgICAgPC9qb3VybmFsX2lzc3VlPg0KICAgICAgICAgICAgICA8am91cm5hbF9hcnRpY2xlIHB1YmxpY2F0aW9uX3R5cGU9ImZ1bGxfdGV4dCI+DQogICAgICAgICAgICAgICAgPHRpdGxlcz4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZT5SaXZlciBtZXRyaWNzIGJ5IHRoZSBwdWJsaWMsIGZvciB0aGUgcHVibGljPC90aXRsZT4NCiAgICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgICA8Y29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+TWF0dGhldyBBLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+V2ViZXI8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICAgIDxPUkNJRCBhdXRoZW50aWNhdGVkPSJ0cnVlIj5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xODU2LTA1NDY8L09SQ0lEPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+UGF1bCBMLjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+UmluZ29sZDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iZWRpdG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NaWd1ZWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkNhw7FlZG8tQXJnw7xlbGxlcyBJZ2xlc2lhczwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgICAgICAgIDxtb250aD41PC9tb250aD4NCiAgICAgICAgICAgICAgICAgIDxkYXk+ODwvZGF5Pg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAxOTwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPHBhZ2VzPg0KICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ZTAyMTQ5ODY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICAgICAgICA8aXRlbV9udW1iZXI+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4NjwvaXRlbV9udW1iZXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTM3MS9qb3VybmFsLnBvbmUuY29ycmVjdGlvbnNfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5wbG9zb25lLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgICAgICAgIDxmcjpwcm9ncmFtIHhtbG5zOmZyPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy9mdW5kcmVmLnhzZCIgbmFtZT0iZnVuZHJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgPGZyOmFzc2VydGlvbiBuYW1lPSJmdW5kZXJfbmFtZSI+VW5pdGVzIFN0YXRlcyBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5PC9mcjphc3NlcnRpb24+DQogICAgICAgICAgICAgICAgICAgIDwvZnI6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgICAgICAgPGFpOnByb2dyYW0geG1sbnM6YWk9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL0FjY2Vzc0luZGljYXRvcnMueHNkIiBuYW1lPSJBY2Nlc3NJbmRpY2F0b3JzIj4NCiAgICAgICAgICAgICAgICAgICAgICA8YWk6bGljZW5zZV9yZWYgYXBwbGllc190bz0idm9yIj5odHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLzwvYWk6bGljZW5zZV9yZWY+DQogICAgICAgICAgICAgICAgICAgIDwvYWk6cHJvZ3JhbT4NCiAgICAgICAgICAgICAgICAgIDwvY3VzdG9tX21ldGFkYXRhPg0KICAgICAgICAgICAgICAgIDwvY3Jvc3NtYXJrPg0KICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4NjwvZG9pPg0KICAgICAgICAgICAgICAgICAgPHRpbWVzdGFtcD4yMDE5MDUwODEwMjUyODwvdGltZXN0YW1wPg0KICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDxjb2xsZWN0aW9uIHByb3BlcnR5PSJjcmF3bGVyLWJhc2VkIj4NCiAgICAgICAgICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0iaVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2PC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgPC9pdGVtPg0KICAgICAgICAgICAgICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGNpdGF0aW9uX2xpc3Q+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5IdWdoZXMsIFIuTS4sIDE5OTMuIFN0cmVhbSBJbmRpY2F0b3IgYW5kIERlc2lnbiBXb3Jrc2hvcC4gRW52aXJvbm1lbnRhbCBQcm90ZWN0aW9uIEFnZW5jeS4gUmVwb3J0IG5vLiBFUEEvNjAwL1ItOTMvMTM4LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIiPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVjb2xvZ2ljYWwgSW5kaWNhdG9ycyBmb3IgdGhlIE5hdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzIj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MRSBKYWNrc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXZhbHVhdGlvbiBndWlkZWxpbmVzIGZvciBlY29sb2dpY2FsIGluZGljYXRvcnMuIEVQQS82MjAvUi05OS8wMDU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb2xvZ2ljYWwgZWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkogQm95ZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjYzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4y4oCTMzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYxNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xlY29uLjIwMDcuMDEuMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldoYXQgYXJlIGVjb3N5c3RlbSBzZXJ2aWNlcz8gVGhlIG5lZWQgZm9yIHN0YW5kYXJkaXplZCBlbnZpcm9ubWVudGFsIGFjY291bnRpbmcgdW5pdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb2xvZ2ljYWwgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJKIEpvaG5zdG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NzA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI0MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xlY29uLjIwMTEuMDcuMDAzPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFuIG9wZXJhdGlvbmFsIHN0cnVjdHVyZSBmb3IgY2xhcml0eSBpbiBlY29zeXN0ZW0gc2VydmljZSB2YWx1ZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyb250aWVycyBpbiBFY29sb2d5IGFuZCB0aGUgRW52aXJvbm1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UEwgUmluZ29sZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjExPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE4OTAvMTEwMTU2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldoYXQgZGF0YSBzaG91bGQgd2UgY29sbGVjdD8gQSBmcmFtZXdvcmsgZm9yIGlkZW50aWZ5aW5nIGluZGljYXRvcnMgb2YgZWNvc3lzdGVtIGNvbnRyaWJ1dGlvbnMgdG8gaHVtYW4gd2VsbOKAkGJlaW5nPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BZ3JpY3VsdHVyYWwgYW5kIFJlc291cmNlIEVjb25vbWljcyBSZXZpZXc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SiBCb3lkPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE3L1MxMDY4MjgwNTAwMDA3NTkwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlVzaW5nIGVjb2xvZ2ljYWwgcHJvZHVjdGlvbiB0aGVvcnkgdG8gZGVmaW5lIGFuZCBzZWxlY3QgZW52aXJvbm1lbnRhbCBjb21tb2RpdGllcyBmb3Igbm9ubWFya2V0IHZhbHVhdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SW50ZXJuYXRpb25hbCBSZXZpZXcgb2YgRW52aXJvbm1lbnRhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIEJveWQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4z4oCTNDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM1OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Vc2luZyBFY29zeXN0ZW0gU2VydmljZXMgSW5kaWNhdG9yczogSW1wcm92aW5nIHRoZSBMaW5rYWdlIGJldHdlZW4gQmlvcGh5c2ljYWwgYW5kIEVjb25vbWljIEFuYWx5c2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2d5IGFuZCBTb2NpZXR5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1BIFdlYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC41NzUxL0VTLTA5NDk2LTIyMDMxNTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SaXZlcnMgYW5kIHN0cmVhbXMgaW4gdGhlIG1lZGlhOiBhIGNvbnRlbnQgYW5hbHlzaXMgb2YgZWNvc3lzdGVtIHNlcnZpY2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RW52aXJvbm1lbnRhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldLIFZpc2N1c2k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMTA2NDAtMDA3LTkxODYtNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZWNvbm9taWMgdmFsdWUgb2Ygd2F0ZXIgcXVhbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPldhdGVyIFJlc291cmNlcyBhbmQgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpDIEJlcmdzdHJvbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai53cmUuMjAxNi4xMi4wMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RWNvbm9taWMgdmFsdWF0aW9uIG9mIHJpdmVyIHJlc3RvcmF0aW9uOiBBbiBhbmFseXNpcyBvZiB0aGUgdmFsdWF0aW9uIGxpdGVyYXR1cmUgYW5kIGl0cyB1c2VzIGluIGRlY2lzaW9uLW1ha2luZzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMiI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+VW5pdGVkIFN0YXRlcyBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5LiBOYXRpb25hbCB3YXRlciBxdWFsaXR5IGludmVudG9yeSwgcmVwb3J0IHRvIGNvbmdyZXNzLjE5OTQtMjAwMi4gJmx0O2V4dC1saW5rIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBleHQtbGluay10eXBlPSJ1cmkiIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3LmVwYS5nb3Yvd2F0ZXJkYXRhL25hdGlvbmFsLXdhdGVyLXF1YWxpdHktaW52ZW50b3J5LXJlcG9ydC1jb25ncmVzcyIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwczovL3d3dy5lcGEuZ292L3dhdGVyZGF0YS9uYXRpb25hbC13YXRlci1xdWFsaXR5LWludmVudG9yeS1yZXBvcnQtY29uZ3Jlc3MmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxOC48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxMyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQmVuZWZpdC1Db3N0IEFuYWx5c2lzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkMgTW9vcmU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNy9iY2EuMjAxNy45PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlZhbHVpbmcgRWNvbG9naWNhbCBJbXByb3ZlbWVudHMgaW4gdGhlIENoZXNhcGVha2UgQmF5IGFuZCB0aGUgSW1wb3J0YW5jZSBvZiBBbmNpbGxhcnkgQmVuZWZpdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29zeXN0ZW0gU2VydmljZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgV2ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb3Nlci4yMDE2LjA3LjAxNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIGluc3RyZWFtLXJlbGF0ZWQgc2VydmljZXMgb2Ygd2FzdGV3YXRlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SkogTG91dmllcmU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNy9DQk85NzgwNTExNzUzODMxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0YXRlZCBjaG9pY2UgbWV0aG9kczogYW5hbHlzaXMgYW5kIGFwcGxpY2F0aW9uczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVjb3N5c3RlbSBzZXJ2aWNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIEplYW5sb3o8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb3Nlci4yMDE2LjAxLjAwNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ub3dhcmRzIGEgbW9yZSBzdHJ1Y3R1cmVkIHNlbGVjdGlvbiBwcm9jZXNzIGZvciBhdHRyaWJ1dGVzIGFuZCBsZXZlbHMgaW4gY2hvaWNlIGV4cGVyaW1lbnRzOiBBIHN0dWR5IGluIGEgQmVsZ2lhbiBwcm90ZWN0ZWQgYXJlYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNvbnNlcnZhdGlvbiBFY29sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkEgU2NoaWxsZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuNTc1MS9FUy0wMDI0Ny0wNTAxMTk8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tbXVuaWNhdGluZyBlY29sb2dpY2FsIGluZGljYXRvcnMgdG8gZGVjaXNpb24gbWFrZXJzIGFuZCB0aGUgcHVibGljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE4Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5SaW5nb2xkIFBMLCBCb3lkIEosIExhbmRlcnMgRCwgV2ViZXIgTUEsIE1lZXRpbmcgRGF0ZTogSnVseSAxMyB0byAxNiwgMjAwOS4gUmVwb3J0IGZyb20gdGhlIFdvcmtzaG9wIG9uIEluZGljYXRvcnMgb2YgRmluYWwgRWNvc3lzdGVtIFNlcnZpY2VzIGZvciBTdHJlYW1zLiBFUEEvNjAwL1ItMDkvMTM3LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL3d3dy5lcGEuZ292L25oZWVybC9hcm0vc3RyZWFtZWNvL2luZGV4Lmh0bWwiIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3d3dy5lcGEuZ292L25oZWVybC9hcm0vc3RyZWFtZWNvL2luZGV4Lmh0bWwmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxNi48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxOSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+REggTGFuZGVyczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgbmF0aW9uYWwgZWNvc3lzdGVtIHNlcnZpY2UgY2xhc3NpZmljYXRpb24gc3lzdGVtIGZvciBmaW5hbCBlY29zeXN0ZW0gZ29vZHMgYW5kIHNlcnZpY2VzIChORVNDUyk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5MYW5kc2NhcGUgYW5kIFVyYmFuIFBsYW5uaW5nPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1BIFdlYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTMzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2oubGFuZHVyYnBsYW4uMjAxNC4wOS4wMDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHJpb3JpdHkgcml2ZXIgbWV0cmljcyBmb3IgcmVzaWRlbnRzIG9mIGFuIHVyYmFuaXplZCBhcmlkIHdhdGVyc2hlZDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMSI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+S2FtbWVyZXIgSkMuIExhcmdlc3QgUml2ZXJzIGluIHRoZSBVbml0ZWQgU3RhdGVzLiBVUyBHZW9sb2dpY2FsIFN1cnZleS4gTWF5IDE5OTAuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vcHVicy51c2dzLmdvdi9vZi8xOTg3L29mcjg3LTI0Mi8iIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3B1YnMudXNncy5nb3Yvb2YvMTk4Ny9vZnI4Ny0yNDIvJmx0Oy9leHQtbGluayZndDssIGFjY2Vzc2VkIDIwMTYuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjIiPg0KICAgICAgICAgICAgICAgICAgICA8dW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPlVuaXRlZCBTdGF0ZXMgRGVwYXJ0bWVudCBvZiBBZ3JpY3VsdHVyZS4gTmF0aW9uYWwgU2Nob29sIEx1bmNoIFByb2dyYW0uIDIwMTMuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vd3d3LmZucy51c2RhLmdvdi9zaXRlcy9kZWZhdWx0L2ZpbGVzL05TTFBGYWN0U2hlZXQucGRmIiB4bGluazp0eXBlPSJzaW1wbGUiJmd0O2h0dHA6Ly93d3cuZm5zLnVzZGEuZ292L3NpdGVzL2RlZmF1bHQvZmlsZXMvTlNMUEZhY3RTaGVldC5wZGYmbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxNi48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMyI+DQogICAgICAgICAgICAgICAgICAgIDx1bnN0cnVjdHVyZWRfY2l0YXRpb24+VW5pdGVkIFN0YXRlcyBEZXBhcnRtZW50IG9mIEFncmljdWx0dXJlLiBXb21lbiBJbmZhbnRzIGFuZCBDaGlsZHJlbiBFbGlnaWJpbGl0eSBSZXF1aXJlbWVudHMuIDIwMTUuICZsdDtleHQtbGluayB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZXh0LWxpbmstdHlwZT0idXJpIiB4bGluazpocmVmPSJodHRwOi8vd3d3LmZucy51c2RhLmdvdi93aWMvd2ljLWVsaWdpYmlsaXR5LXJlcXVpcmVtZW50cyIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwOi8vd3d3LmZucy51c2RhLmdvdi93aWMvd2ljLWVsaWdpYmlsaXR5LXJlcXVpcmVtZW50cyZsdDsvZXh0LWxpbmsmZ3Q7LCBhY2Nlc3NlZCAyMDE2LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ETCBNb3JnYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42IHZvbHVtZXM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgRm9jdXMgR3JvdXAgS2l0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EIEh1bHNlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJhamVjdG9yaWVzIG9mIGVudmlyb25tZW50YWwgYW5kIGVjb2xvZ2ljYWwgY2hhbmdlPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KVyBDcmVzd2VsbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlF1YWxpdGF0aXZlIGlucXVpcnkgYW5kIHJlc2VhcmNoIGRlc2lnbjogQ2hvb3NpbmcgYW1vbmcgZml2ZSBhcHByb2FjaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXZpZGVuY2UtYmFzZWQgbnVyc2luZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIFRob3JuZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEzNi9lYm4uMy4zLjY4PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRhdGEgYW5hbHlzaXMgaW4gcXVhbGl0YXRpdmUgcmVzZWFyY2g8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FZHVjYXRpb25hbCByZXNlYXJjaGVyPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJCIEpvaG5zb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zMTAyLzAwMTMxODlYMDMzMDA3MDE0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1peGVkIG1ldGhvZHMgcmVzZWFyY2g6IEEgcmVzZWFyY2ggcGFyYWRpZ20gd2hvc2UgdGltZSBoYXMgY29tZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyOSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgQnVzaW5lc3MgRXRoaWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlAgQXVnZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI5OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMTA1NTEtMDA2LTkxMTItNzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Vc2luZyBiZXN04oCTd29yc3Qgc2NhbGluZyBtZXRob2RvbG9neSB0byBpbnZlc3RpZ2F0ZSBjb25zdW1lciBldGhpY2FsIGJlbGllZnMgYWNyb3NzIGNvdW50cmllczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgaGVhbHRoIGVjb25vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5UTiBGbHlubjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouamhlYWxlY28uMjAwNi4wNC4wMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QmVzdOKAk3dvcnN0IHNjYWxpbmc6IHdoYXQgaXQgY2FuIGRvIGZvciBoZWFsdGggY2FyZSByZXNlYXJjaCBhbmQgaG93IHRvIGRvIGl0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMxIj4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LLiBLcmlwcGVuZG9yZmY8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Db250ZW50IEFuYWx5c2lzOiBBbiBJbnRyb2R1Y3Rpb24gdG8gaXRzIE1ldGhvZG9sb2d5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMyIj4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5RdWFsaXMgUmVzZWFyY2guIFRoZSBFdGhub2dyYXBoIHY2IChzb2Z0d2FyZSkuIDYxMCBQb3BlcyBWYWxsZXkgRHJpdmUsIENvbG9yYWRvIFNwcmluZ3MsIENPIDgwOTE5LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL3d3dy5xdWFsaXNyZXNlYXJjaC5jb20iIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3d3dy5xdWFsaXNyZXNlYXJjaC5jb20mbHQ7L2V4dC1saW5rJmd0OywgYWNjZXNzZWQgMjAxOC48L3Vuc3RydWN0dXJlZF9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRoZW9yeSBpbnRvIHByYWN0aWNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIENyZXN3ZWxsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEyMDcvczE1NDMwNDIxdGlwMzkwM18yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRldGVybWluaW5nIHZhbGlkaXR5IGluIHF1YWxpdGF0aXZlIGlucXVpcnk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzQiPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpXIENyZXN3ZWxsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVzZWFyY2ggRGVzaWduOiBRdWFsaXRhdGl2ZSwgUXVhbnRpdGF0aXZlLCBhbmQgTWl4ZWQgTWV0aG9kcyBBcHByb2FjaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM1Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5NaXRjaGVsbCBSQywgQ2Fyc29uIFJULiBUaGUgVXNlIG9mIENvbnRpbmdlbnQgVmFsdWF0aW9uIERhdGEgZm9yIEJlbmVmaXQvQ29zdCBBbmFseXNpcyBpbiBXYXRlciBQb2xsdXRpb24gQ29udHJvbC4gQ1ItODEwMjI0LTAyLiBQcmVwYXJlZCBmb3IgVVMgRVBBLCBPZmZpY2Ugb2YgUG9saWN5IFBsYW5uaW5nIGFuZCBFdmFsdWF0aW9uLiBXYXNoaW5ndG9uLCBEQy4gMTk4Ni4gJmx0O2V4dC1saW5rIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBleHQtbGluay10eXBlPSJ1cmkiIHhsaW5rOmhyZWY9Imh0dHA6Ly95b3NlbWl0ZTEuZXBhLmdvdi9lZS9lcGEvZWVybS5uc2YvdndSZXBOdW1Mb29rdXAvRUUtMDE1MD9PcGVuRG9jdW1lbnQiIHhsaW5rOnR5cGU9InNpbXBsZSImZ3Q7aHR0cDovL3lvc2VtaXRlMS5lcGEuZ292L2VlL2VwYS9lZXJtLm5zZi92d1JlcE51bUxvb2t1cC9FRS0wMTUwP09wZW5Eb2N1bWVudCZsdDsvZXh0LWxpbmsmZ3Q7LCBhY2Nlc3NlZCAyMDE2LjwvdW5zdHJ1Y3R1cmVkX2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+V2F0ZXIgUmVzb3VyY2VzIFJlc2VhcmNoPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJUIENhcnNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBWYWx1ZSBvZiBDbGVhbiBXYXRlcjogV2lsbGluZ25lc3MgdG8gUGF5IGZvciBCb2F0YWJsZSwgRmlzaGFibGUsIGFuZCBTd2ltbWFibGUgV2F0ZXIgcXVhbGl0eTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFncmljdWx0dXJhbCBhbmQgUmVzb3VyY2UgRWNvbm9taWNzIFJldmlldzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KUCBHaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjMxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTcvUzEwNjgyODA1MDAwMDM0NjQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gaGVkb25pYyBhbmFseXNpcyBvZiB0aGUgZWZmZWN0cyBvZiBsYWtlIHdhdGVyIGNsYXJpdHkgb24gTmV3IEhhbXBzaGlyZSBsYWtlZnJvbnQgcHJvcGVydGllczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzOCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZyb250aWVycyBpbiBFY29sb2d5IGFuZCB0aGUgRW52aXJvbm1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QkwgS2VlbGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTg5MC8xNDAxMjQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVjcmVhdGlvbmFsIGRlbWFuZCBmb3IgY2xlYW4gd2F0ZXI6IGV2aWRlbmNlIGZyb20gZ2VvdGFnZ2VkIHBob3RvZ3JhcGhzIGJ5IHZpc2l0b3JzIHRvIGxha2VzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHVuc3RydWN0dXJlZF9jaXRhdGlvbj5Vbml0ZWQgU3RhdGVzIEVudmlyb25tZW50YWwgUHJvdGVjdGlvbiBBZ2VuY3kuIE5hdGlvbmFsIFN1bW1hcnkgb2YgSW1wYWlyZWQgV2F0ZXJzIGFuZCBUTURMIEluZm9ybWF0aW9uLiAyMDE1LiAmbHQ7ZXh0LWxpbmsgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGV4dC1saW5rLXR5cGU9InVyaSIgeGxpbms6aHJlZj0iaHR0cDovL2lhc3B1Yi5lcGEuZ292L3dhdGVyczEwL2F0dGFpbnNfbmF0aW9uX2N5LmNvbnRyb2w/cF9yZXBvcnRfdHlwZT1UI2ltcF93YXRlcl9ieV9zdGF0ZSIgeGxpbms6dHlwZT0ic2ltcGxlIiZndDtodHRwOi8vaWFzcHViLmVwYS5nb3Yvd2F0ZXJzMTAvYXR0YWluc19uYXRpb25fY3kuY29udHJvbD9wX3JlcG9ydF90eXBlPVQjaW1wX3dhdGVyX2J5X3N0YXRlJmx0Oy9leHQtbGluayZndDssIGFjY2Vzc2VkIDIwMTYuPC91bnN0cnVjdHVyZWRfY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2d5IGFuZCBTb2NpZXR5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkUgV29obDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuNTc1MS9FUy0wMTMzOS0xMDAyMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29tcHJvbWlzZWQgcml2ZXJzOiB1bmRlcnN0YW5kaW5nIGhpc3RvcmljYWwgaHVtYW4gaW1wYWN0cyBvbiByaXZlcnMgaW4gdGhlIGNvbnRleHQgb2YgcmVzdG9yYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FbnZpcm9ubWVudGFsIE1hbmFnZW1lbnQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SCBQacOpZ2F5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MzY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjU8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwMjY3LTAwNC0wMDkyLXo8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHBlcmNlcHRpb24gYXMgYSBiYXJyaWVyIHRvIGludHJvZHVjaW5nIHdvb2QgaW4gcml2ZXJzIGZvciByZXN0b3JhdGlvbiBwdXJwb3NlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkVudmlyb25tZW50YWwgTWFuYWdlbWVudDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BIENoaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg5MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9zMDAyNjctMDA4LTkwNzUtOTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QZXJjZXB0aW9ucyBvZiB3b29kIGluIHJpdmVycyBhbmQgY2hhbGxlbmdlcyBmb3Igc3RyZWFtIHJlc3RvcmF0aW9uIGluIHRoZSBVbml0ZWQgU3RhdGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Uml2ZXIgUmVzZWFyY2ggYW5kIEFwcGxpY2F0aW9uczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BIENoaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyL3JyYS4yNjE3PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBzaWduaWZpY2FuY2Ugb2YgcGVyY2VwdGlvbnMgYW5kIGZlZWRiYWNrcyBmb3IgZWZmZWN0aXZlbHkgbWFuYWdpbmcgd29vZCBpbiByaXZlcnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5RdWFsaXR5IGFuZCBRdWFudGl0eTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NRCBLYXBsb3dpdHo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQxOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAyMy9BOjEwMDQ4NDQ0MjU0NDg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3RhdGlzdGljYWwgYW5hbHlzaXMgb2Ygc2Vuc2l0aXZlIHRvcGljcyBpbiBncm91cCBhbmQgaW5kaXZpZHVhbCBpbnRlcnZpZXdzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RWNvbG9naWNhbCBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TCBSaWNoYXJkc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Njg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjU8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTM1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwOTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouZWNvbGVjb24uMjAwOC4xMC4wMTY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHRvdGFsIGVjb25vbWljIHZhbHVlIG9mIHRocmVhdGVuZWQsIGVuZGFuZ2VyZWQgYW5kIHJhcmUgc3BlY2llczogYW4gdXBkYXRlZCBtZXRhLWFuYWx5c2lzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q29uc2VydmF0aW9uIEJpb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SyBXYWxsbW88L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjgzMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjE1MjMtMTczOS4yMDEyLjAxODk5Lng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHdpbGxpbmduZXNzIHRvIHBheSBmb3IgcmVjb3ZlcmluZyBhbmQgZG93bmxpc3RpbmcgdGhyZWF0ZW5lZCBhbmQgZW5kYW5nZXJlZCBtYXJpbmUgc3BlY2llczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlJlc3RvcmF0aW9uIEVjb2xvZ3k8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgV2ViZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTExMS9qLjE1MjYtMTAwWC4yMDA4LjAwNDA3Lng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHVibGljIHZhbHVlcyBmb3Igcml2ZXIgcmVzdG9yYXRpb24gb3B0aW9ucyBvbiB0aGUgTWlkZGxlIFJpbyBHcmFuZGU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BdXN0cmFsaWFuIEpvdXJuYWwgb2YgQWdyaWN1bHR1cmFsIGFuZCBSZXNvdXJjZSBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TSBNb3JyaXNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT40PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTkxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQ2Ny04NDg5LjIwMDQuMDAyNjMueDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIE5ldyBTb3V0aCBXYWxlcyByaXZlcnMgZm9yIHVzZSBpbiBiZW5lZml0IHRyYW5zZmVyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvbG9naWNhbCBDb25zZXJ2YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UkwgU2hhcnA8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjg8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMDk3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouYmlvY29uLjIwMTEuMDQuMDMyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZhY3RvcnMgaW5mbHVlbmNpbmcgcHVibGljIHByZWZlcmVuY2VzIGZvciBpbnZhc2l2ZSBhbGllbiBzcGVjaWVzIG1hbmFnZW1lbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9sb2dpY2FsIENvbnNlcnZhdGlvbjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIEdhcmPDrWEtTGxvcmVudGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mjk2OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJpb2Nvbi4yMDA4LjA5LjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Tb2NpYWwgcGVyY2VwdGlvbnMgb2YgdGhlIGltcGFjdHMgYW5kIGJlbmVmaXRzIG9mIGludmFzaXZlIGFsaWVuIHNwZWNpZXM6IGltcGxpY2F0aW9ucyBmb3IgbWFuYWdlbWVudDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb2xvZ2ljYWwgQ29uc2VydmF0aW9uPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlMgU2VsZ2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjEyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzA4OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmJpb2Nvbi4yMDExLjA5LjAxNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QdWJsaWMgYW5kIHByb2Zlc3Npb25hbCB2aWV3cyBvbiBpbnZhc2l2ZSBub24tbmF0aXZlIHNwZWNpZXPigJNBIHF1YWxpdGF0aXZlIHNvY2lhbCBzY2llbnRpZmljIGludmVzdGlnYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2dpY2FsIGVjb25vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIENocmlzdGllPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMDQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5lY29sZWNvbi4yMDA1LjA3LjAzNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIHRoZSBkaXZlcnNpdHkgb2YgYmlvZGl2ZXJzaXR5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvbG9naWNhbCBDb25zZXJ2YXRpb248L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QSBGaXNjaGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTM2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L2ouYmlvY29uLjIwMDYuMTEuMDI0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlVuZGVyc3RhbmRpbmcgbWVudGFsIGNvbnN0cnVjdHMgb2YgYmlvZGl2ZXJzaXR5OiBpbXBsaWNhdGlvbnMgZm9yIGJpb2RpdmVyc2l0eSBtYW5hZ2VtZW50IGFuZCBjb25zZXJ2YXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldKIFJpcHBsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM0Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjE2NzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMjYvc2NpZW5jZS4xMjQxNDg0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0YXR1cyBhbmQgZWNvbG9naWNhbCBlZmZlY3RzIG9mIHRoZSB3b3JsZOKAmXMgbGFyZ2VzdCBjYXJuaXZvcmVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TGFuZCBFY29ub21pY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TlIgTmV0dXNpbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjg2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjgxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAxMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zMzY4L2xlLjg2LjIuMjgxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVzdGltYXRpbmcgdGhlIGRlbWFuZCBmb3IgdHJlZSBjYW5vcHk6IGEgc2Vjb25kLXN0YWdlIGhlZG9uaWMgcHJpY2UgYW5hbHlzaXMgaW4gUG9ydGxhbmQsIE9yZWdvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkxhbmRzY2FwZSBhbmQgVXJiYW4gUGxhbm5pbmc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SiBLYWRpc2g8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMDQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5WYWx1aW5nIHZlZ2V0YXRpb24gaW4gYW4gdXJiYW4gd2F0ZXJzaGVkPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U29jaWV0eSAmYW1wOyBuYXR1cmFsIHJlc291cmNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CUyBTdGVlbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDg5NDE5Mjk0MDkzODA4NTI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29uZmxpY3RpbmcgdmFsdWVzIGFib3V0IGZlZGVyYWwgZm9yZXN0czogQSBjb21wYXJpc29uIG9mIG5hdGlvbmFsIGFuZCBPcmVnb24gcHVibGljczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkxlaXN1cmUgU2NpZW5jZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TUEgVGFycmFudDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDE0OTA0MDk3MDk1MTIyNDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TWVhc3VyaW5nIHBlcmNlaXZlZCBjcm93ZGluZyBmb3IgaGlnaOKAkGRlbnNpdHkgcml2ZXIgcmVjcmVhdGlvbjogdGhlIGVmZmVjdHMgb2Ygc2l0dWF0aW9uYWwgY29uZGl0aW9ucyBhbmQgcGVyc29uYWwgZmFjdG9yczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPldhdGVyIFJlc291cmNlcyBhbmQgRWNvbm9taWNzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlIgQnJvdXdlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDE3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai53cmUuMjAxNy4wMi4wMDU8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGVjb25vbWljIHZhbHVlIG9mIHJpdmVyIHJlc3RvcmF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+V2F0ZXIgUy4gQTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5ESSBTbWl0aDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4zPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjMxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZsb29kIGRhbWFnZSBlc3RpbWF0aW9uLSBBIHJldmlldyBvZiB1cmJhbiBzdGFnZS1kYW1hZ2UgY3VydmVzIGFuZCBsb3NzIGZ1bmN0aW9uczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkpvdXJuYWwgb2YgaHlkcm9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkQgRHV0dGE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjHigJMyPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvUzAwMjItMTY5NCgwMykwMDA4NC0yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgbWF0aGVtYXRpY2FsIG1vZGVsIGZvciBmbG9vZCBsb3NzIGVzdGltYXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmFsIEhhemFyZHMgYW5kIEVhcnRoIFN5c3RlbSBTY2llbmNlczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CIE1lcno8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+ODwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2OTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDEwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjUxOTQvbmhlc3MtMTAtMTY5Ny0yMDEwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJldmlldyBhcnRpY2xlJmFtcDtxdW90OyBBc3Nlc3NtZW50IG9mIGVjb25vbWljIGZsb29kIGRhbWFnZSZhbXA7cXVvdDs8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FY29sb2dpY2FsIGluZGljYXRvcnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QiBGdTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjcyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmVjb2xpbmQuMjAxNi4wOC4wMTg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBub3RlIG9uIGNvbW11bmljYXRpbmcgZW52aXJvbm1lbnRhbCBjaGFuZ2UgZm9yIG5vbi1tYXJrZXQgdmFsdWF0aW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RWNvbG9naWNhbCBBcHBsaWNhdGlvbnM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SkwgU3RvZGRhcmQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNjc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjE4OTAvMTA1MS0wNzYxKDIwMDYpMDE2WzEyNjc6U0VGVEVDXTIuMC5DTzsyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNldHRpbmcgZXhwZWN0YXRpb25zIGZvciB0aGUgZWNvbG9naWNhbCBjb25kaXRpb24gb2Ygc3RyZWFtczogdGhlIGNvbmNlcHQgb2YgcmVmZXJlbmNlIGNvbmRpdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2NSI+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+REEgRGlsbG1hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPlZvbCAzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJuZXQsIE1haWwgYW5kIE1peGVkLU1vZGUgU3VydmV5czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LmcwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuZzAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnQwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYudDAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuczAwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZHgucGxvcy5vcmcvMTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4Ni5zMDAxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgICAgICAgPGNvbXBvbmVudCBwYXJlbnRfcmVsYXRpb249ImlzUGFydE9mIj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgICAgIDxkb2k+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDIxNDk4Ni5zMDAyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgICAgPHJlc291cmNlPmh0dHA6Ly9keC5wbG9zLm9yZy8xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnMwMDI8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgICA8L2RvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPC9jb21wb25lbnQ+DQogICAgICAgICAgICAgICAgICA8Y29tcG9uZW50IHBhcmVudF9yZWxhdGlvbj0iaXNQYXJ0T2YiPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMjE0OTg2LnMwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAyMTQ5ODYuczAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICA8L2NvbXBvbmVudF9saXN0Pg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfYXJ0aWNsZT4NCiAgICAgICAgICAgIDwvam91cm5hbD4NCiAgICAgICAgICA8L2Nyb3NzcmVmPg0KICAgICAgICA8L2RvaV9yZWNvcmQ+DQogICAgICA8L3F1ZXJ5Pg0KICAgIDwvYm9keT4NCiAgPC9xdWVyeV9yZXN1bHQ+DQo8L2Nyb3NzcmVmX3Jlc3VsdD4=
44
- http_version:
45
- recorded_at: Sat, 06 Jul 2019 14:28:59 GMT
46
- recorded_with: VCR 3.0.3