commonmeta-ruby 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (791) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/build.yml +38 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/codeql-analysis.yml +72 -0
  5. data/.github/workflows/rubocop.yml +50 -0
  6. data/.gitignore +59 -0
  7. data/.rubocop.yml +182 -0
  8. data/.rubocop_todo.yml +76 -0
  9. data/.tool-versions +1 -0
  10. data/CHANGELOG.md +124 -0
  11. data/CITATION +16 -0
  12. data/CITATION.cff +20 -0
  13. data/Gemfile +5 -0
  14. data/Gemfile.lock +270 -0
  15. data/LICENSE.md +21 -0
  16. data/README.md +733 -0
  17. data/Rakefile +13 -0
  18. data/bin/commonmeta +9 -0
  19. data/commonmeta.gemspec +68 -0
  20. data/lib/commonmeta/array.rb +13 -0
  21. data/lib/commonmeta/author_utils.rb +172 -0
  22. data/lib/commonmeta/cli.rb +70 -0
  23. data/lib/commonmeta/crossref_utils.rb +343 -0
  24. data/lib/commonmeta/doi_utils.rb +81 -0
  25. data/lib/commonmeta/metadata.rb +269 -0
  26. data/lib/commonmeta/metadata_utils.rb +184 -0
  27. data/lib/commonmeta/pubmed.rb +36 -0
  28. data/lib/commonmeta/readers/bibtex_reader.rb +62 -0
  29. data/lib/commonmeta/readers/cff_reader.rb +146 -0
  30. data/lib/commonmeta/readers/codemeta_reader.rb +90 -0
  31. data/lib/commonmeta/readers/crossref_reader.rb +186 -0
  32. data/lib/commonmeta/readers/crossref_xml_reader.rb +379 -0
  33. data/lib/commonmeta/readers/csl_reader.rb +85 -0
  34. data/lib/commonmeta/readers/datacite_reader.rb +169 -0
  35. data/lib/commonmeta/readers/npm_reader.rb +94 -0
  36. data/lib/commonmeta/readers/ris_reader.rb +66 -0
  37. data/lib/commonmeta/readers/schema_org_reader.rb +300 -0
  38. data/lib/commonmeta/schema_utils.rb +19 -0
  39. data/lib/commonmeta/string.rb +7 -0
  40. data/lib/commonmeta/utils.rb +1351 -0
  41. data/lib/commonmeta/version.rb +5 -0
  42. data/lib/commonmeta/whitelist_scrubber.rb +54 -0
  43. data/lib/commonmeta/writers/bibtex_writer.rb +36 -0
  44. data/lib/commonmeta/writers/cff_writer.rb +63 -0
  45. data/lib/commonmeta/writers/citation_writer.rb +14 -0
  46. data/lib/commonmeta/writers/codemeta_writer.rb +33 -0
  47. data/lib/commonmeta/writers/crossref_xml_writer.rb +11 -0
  48. data/lib/commonmeta/writers/csl_writer.rb +11 -0
  49. data/lib/commonmeta/writers/csv_writer.rb +26 -0
  50. data/lib/commonmeta/writers/datacite_writer.rb +94 -0
  51. data/lib/commonmeta/writers/jats_writer.rb +138 -0
  52. data/lib/commonmeta/writers/rdf_xml_writer.rb +11 -0
  53. data/lib/commonmeta/writers/ris_writer.rb +41 -0
  54. data/lib/commonmeta/writers/schema_org_writer.rb +61 -0
  55. data/lib/commonmeta/writers/turtle_writer.rb +11 -0
  56. data/lib/commonmeta/xml_converter.rb +14 -0
  57. data/lib/commonmeta.rb +35 -0
  58. data/resources/2008/09/xsd.xsl +997 -0
  59. data/resources/cff.json +1827 -0
  60. data/resources/commonmeta_v0.9.json +393 -0
  61. data/resources/crossref/AccessIndicators.xsd +47 -0
  62. data/resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd +10130 -0
  63. data/resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd +48 -0
  64. data/resources/crossref/JATS-journalpublishing1-elements.xsd +8705 -0
  65. data/resources/crossref/JATS-journalpublishing1-mathml3-elements.xsd +8608 -0
  66. data/resources/crossref/JATS-journalpublishing1-mathml3.xsd +49 -0
  67. data/resources/crossref/JATS-journalpublishing1.xsd +6176 -0
  68. data/resources/crossref/clinicaltrials.xsd +61 -0
  69. data/resources/crossref/common5.3.1.xsd +1530 -0
  70. data/resources/crossref/crossref5.3.1.xsd +1949 -0
  71. data/resources/crossref/crossref_query_output3.0.xsd +1097 -0
  72. data/resources/crossref/fundref.xsd +49 -0
  73. data/resources/crossref/module-ali.xsd +39 -0
  74. data/resources/crossref/relations.xsd +444 -0
  75. data/resources/datacite-contributorType-v4.xsd +35 -0
  76. data/resources/datacite-dateType-v4.xsd +25 -0
  77. data/resources/datacite-descriptionType-v4.xsd +19 -0
  78. data/resources/datacite-funderIdentifierType-v4.xsd +15 -0
  79. data/resources/datacite-nameType-v4.xsd +10 -0
  80. data/resources/datacite-relatedIdentifierType-v4.xsd +34 -0
  81. data/resources/datacite-relationType-v4.xsd +49 -0
  82. data/resources/datacite-resourceType-v4.xsd +28 -0
  83. data/resources/datacite-titleType-v4.xsd +14 -0
  84. data/resources/datacite-v3.json +508 -0
  85. data/resources/datacite-v4.json +512 -0
  86. data/resources/kernel-3.0/include/datacite-contributorType-v3.xsd +33 -0
  87. data/resources/kernel-3.0/include/datacite-dateType-v3.xsd +21 -0
  88. data/resources/kernel-3.0/include/datacite-descriptionType-v3.xsd +17 -0
  89. data/resources/kernel-3.0/include/datacite-relatedIdentifierType-v3.xsd +27 -0
  90. data/resources/kernel-3.0/include/datacite-relationType-v3.xsd +33 -0
  91. data/resources/kernel-3.0/include/datacite-resourceType-v3.xsd +26 -0
  92. data/resources/kernel-3.0/include/datacite-titleType-v3.xsd +12 -0
  93. data/resources/kernel-3.0/include/xml.xsd +286 -0
  94. data/resources/kernel-3.0/metadata.xsd +377 -0
  95. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +35 -0
  96. data/resources/kernel-4/include/datacite-dateType-v4.xsd +25 -0
  97. data/resources/kernel-4/include/datacite-descriptionType-v4.xsd +19 -0
  98. data/resources/kernel-4/include/datacite-funderIdentifierType-v4.xsd +16 -0
  99. data/resources/kernel-4/include/datacite-nameType-v4.xsd +10 -0
  100. data/resources/kernel-4/include/datacite-numberType-v4.xsd +12 -0
  101. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  102. data/resources/kernel-4/include/datacite-relationType-v4.xsd +51 -0
  103. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +43 -0
  104. data/resources/kernel-4/include/datacite-titleType-v4.xsd +14 -0
  105. data/resources/kernel-4/include/xml.xsd +286 -0
  106. data/resources/kernel-4/metadata.xsd +707 -0
  107. data/resources/oecd/dfg-mappings.json +1866 -0
  108. data/resources/oecd/for-mappings.json +1099 -0
  109. data/resources/oecd/fos-mappings.json +198 -0
  110. data/resources/schema_org/jsonldcontext.json +7477 -0
  111. data/resources/spdx/licenses.json +5297 -0
  112. data/resources/xml.xsd +286 -0
  113. data/rubocop.sarif +0 -0
  114. data/sonar-project.properties +11 -0
  115. data/spec/array_spec.rb +22 -0
  116. data/spec/author_utils_spec.rb +132 -0
  117. data/spec/cli_spec.rb +309 -0
  118. data/spec/doi_utils_spec.rb +318 -0
  119. data/spec/find_from_format_spec.rb +144 -0
  120. data/spec/fixtures/CITATION.cff +83 -0
  121. data/spec/fixtures/aida.json +82 -0
  122. data/spec/fixtures/cgimp_package.json +18 -0
  123. data/spec/fixtures/cit_package.json +19 -0
  124. data/spec/fixtures/citeproc-no-author.json +26 -0
  125. data/spec/fixtures/citeproc-no-categories.json +21 -0
  126. data/spec/fixtures/citeproc.json +30 -0
  127. data/spec/fixtures/codemeta.json +86 -0
  128. data/spec/fixtures/codemeta_v2.json +86 -0
  129. data/spec/fixtures/crosscite.json +63 -0
  130. data/spec/fixtures/crossref.bib +14 -0
  131. data/spec/fixtures/crossref.json +572 -0
  132. data/spec/fixtures/crossref.ris +15 -0
  133. data/spec/fixtures/crossref.xml +606 -0
  134. data/spec/fixtures/datacite.json +86 -0
  135. data/spec/fixtures/datacite_software.json +21 -0
  136. data/spec/fixtures/datacite_software_missing_comma.json +18 -0
  137. data/spec/fixtures/datacite_software_overlapping_keys.json +18 -0
  138. data/spec/fixtures/datacite_software_version.json +74 -0
  139. data/spec/fixtures/edam_package.json +12 -0
  140. data/spec/fixtures/maremma/codemeta.json +36 -0
  141. data/spec/fixtures/pure.bib +14 -0
  142. data/spec/fixtures/pure.ris +15 -0
  143. data/spec/fixtures/pure.xml +188 -0
  144. data/spec/fixtures/ris_bug.ris +9 -0
  145. data/spec/fixtures/schema_4.0.xml +140 -0
  146. data/spec/fixtures/schema_org.json +49 -0
  147. data/spec/fixtures/schema_org_front-matter.json +32 -0
  148. data/spec/fixtures/schema_org_geolocation.json +82 -0
  149. data/spec/fixtures/schema_org_geoshape.json +550 -0
  150. data/spec/fixtures/schema_org_gtex.json +75 -0
  151. data/spec/fixtures/schema_org_list.json +12623 -0
  152. data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +25 -0
  153. data/spec/fixtures/schema_org_topmed.json +53 -0
  154. data/spec/fixtures/schema_org_type_as_array.json +41 -0
  155. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/default.yml +110 -0
  156. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_bibtex.yml +110 -0
  157. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_crossref_xml.yml +110 -0
  158. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_datacite.yml +110 -0
  159. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref/to_schema_org.yml +110 -0
  160. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/default.yml +55 -0
  161. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_bibtex.yml +55 -0
  162. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_crossref_xml.yml +55 -0
  163. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_datacite.yml +55 -0
  164. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_file/crossref_xml/to_schema_org.yml +55 -0
  165. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/default.yml +299 -0
  166. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_bibtex.yml +299 -0
  167. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_citation.yml +299 -0
  168. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_crossref_xml.yml +299 -0
  169. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_datacite.yml +299 -0
  170. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_jats.yml +299 -0
  171. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_schema_org.yml +299 -0
  172. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/default.yml +172 -0
  173. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_bibtex.yml +172 -0
  174. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_citation.yml +172 -0
  175. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite.yml +172 -0
  176. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_jats.yml +172 -0
  177. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_schema_org.yml +172 -0
  178. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/default.yml +1098 -0
  179. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_datacite.yml +1098 -0
  180. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_schema_org.yml +1100 -0
  181. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/crossref.yml +55 -0
  182. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/datacite.yml +55 -0
  183. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/jalc.yml +55 -0
  184. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/kisti.yml +55 -0
  185. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/medra.yml +55 -0
  186. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/op.yml +55 -0
  187. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/author.yml +164 -0
  188. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/no_author.yml +164 -0
  189. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/single_author.yml +164 -0
  190. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/with_organization.yml +164 -0
  191. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +247 -0
  192. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/crossref.yml +55 -0
  193. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/datacite.yml +55 -0
  194. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/jalc.yml +55 -0
  195. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/kisti.yml +55 -0
  196. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/medra.yml +55 -0
  197. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_found.yml +55 -0
  198. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/op.yml +55 -0
  199. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref.yml +55 -0
  200. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +55 -0
  201. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite.yml +55 -0
  202. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite_doi_http.yml +55 -0
  203. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +55 -0
  204. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_match.yml +221 -0
  205. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +221 -0
  206. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_match.yml +221 -0
  207. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_no_match.yml +221 -0
  208. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_for_match.yml +221 -0
  209. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_match.yml +221 -0
  210. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_no_match.yml +221 -0
  211. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org/with_id.yml +221 -0
  212. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/with_affiliation.yml +221 -0
  213. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/without_affiliation.yml +221 -0
  214. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml +200 -0
  215. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml +154 -0
  216. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +154 -0
  217. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml +86 -0
  218. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml +93 -0
  219. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +337 -0
  220. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +347 -0
  221. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +359 -0
  222. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/JaLC.yml +384 -0
  223. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/KISTI.yml +330 -0
  224. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/OP.yml +969 -0
  225. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/affiliation_is_space.yml +358 -0
  226. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book.yml +312 -0
  227. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book_chapter.yml +465 -0
  228. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/article_id_as_page_number.yml +276 -0
  229. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/author_literal.yml +492 -0
  230. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book.yml +523 -0
  231. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter.yml +377 -0
  232. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +336 -0
  233. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_oup.yml +289 -0
  234. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/component.yml +289 -0
  235. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset.yml +299 -0
  236. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset_usda.yml +341 -0
  237. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/date_in_future.yml +570 -0
  238. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dissertation.yml +301 -0
  239. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/empty_given_name.yml +303 -0
  240. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/invalid_date.yml +307 -0
  241. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article.yml +461 -0
  242. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +276 -0
  243. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with.yml +470 -0
  244. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +519 -0
  245. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_funding.yml +456 -0
  246. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_issue.yml +270 -0
  247. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/mEDRA.yml +310 -0
  248. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/markup.yml +329 -0
  249. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/missing_creator.yml +307 -0
  250. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_issn.yml +393 -0
  251. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles.yml +265 -0
  252. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +860 -0
  253. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/not_found_error.yml +209 -0
  254. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/peer_review.yml +287 -0
  255. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content.yml +326 -0
  256. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content_copernicus.yml +297 -0
  257. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/report_osti.yml +315 -0
  258. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/vor_with_url.yml +451 -0
  259. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book.yml +816 -0
  260. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +324 -0
  261. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_raw/journal_article.yml +110 -0
  262. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/dissertation.yml +152 -0
  263. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_references.yml +175 -0
  264. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme.yml +328 -0
  265. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date/publication_date.yml +221 -0
  266. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/date.yml +221 -0
  267. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year-month.yml +221 -0
  268. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year.yml +221 -0
  269. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/date.yml +221 -0
  270. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year-month.yml +221 -0
  271. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year.yml +221 -0
  272. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/date.yml +221 -0
  273. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year-month.yml +221 -0
  274. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year.yml +221 -0
  275. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/future.yml +221 -0
  276. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/invalid.yml +221 -0
  277. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/nil.yml +221 -0
  278. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/past.yml +221 -0
  279. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/present.yml +221 -0
  280. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_familyName.yml +133 -0
  281. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +153 -0
  282. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/is_organization.yml +164 -0
  283. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation_crossref.yml +247 -0
  284. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/only_familyName_and_givenName.yml +468 -0
  285. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting.yml +530 -0
  286. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +530 -0
  287. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +534 -0
  288. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/harvard_dataverse.yml +1838 -0
  289. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/pangaea.yml +468 -0
  290. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/upstream_blog.yml +885 -0
  291. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/zenodo.yml +583 -0
  292. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/only_title.yml +221 -0
  293. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_and_pages.yml +221 -0
  294. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_and_pages.yml +221 -0
  295. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_issue_and_pages.yml +221 -0
  296. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_cff_url.yml +221 -0
  297. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_codemeta_url.yml +221 -0
  298. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url.yml +221 -0
  299. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_cff_file.yml +221 -0
  300. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_file.yml +221 -0
  301. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +55 -0
  302. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/unknown_DOI_prefix.yml +55 -0
  303. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_comma.yml +164 -0
  304. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_family_name.yml +164 -0
  305. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_id.yml +164 -0
  306. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_known_given_name.yml +164 -0
  307. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_no_info.yml +164 -0
  308. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_orcid_id.yml +164 -0
  309. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_type_organization.yml +164 -0
  310. data/spec/fixtures/vcr_cassettes/Briard_Metadata/json_schema_errors/is_valid.yml +221 -0
  311. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/not_found.yml +221 -0
  312. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash.yml +221 -0
  313. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +221 -0
  314. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi.yml +221 -0
  315. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi_as_url.yml +221 -0
  316. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/filename.yml +221 -0
  317. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/ftp.yml +221 -0
  318. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/invalid_url.yml +221 -0
  319. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_options.yml +221 -0
  320. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_url.yml +221 -0
  321. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/string.yml +221 -0
  322. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url.yml +221 -0
  323. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url_with_utf-8.yml +221 -0
  324. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/doi.yml +221 -0
  325. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/url.yml +221 -0
  326. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_array.yml +221 -0
  327. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_empty_array.yml +221 -0
  328. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_hash.yml +221 -0
  329. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_string.yml +221 -0
  330. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/uri.yml +221 -0
  331. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash.yml +221 -0
  332. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +221 -0
  333. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array.yml +221 -0
  334. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array_of_strings.yml +221 -0
  335. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/first.yml +221 -0
  336. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/hash.yml +221 -0
  337. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/hash_with_array_value.yml +221 -0
  338. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/nil.yml +221 -0
  339. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/string.yml +221 -0
  340. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_anothe_doi.yml +221 -0
  341. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_doi.yml +221 -0
  342. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/encode_doi.yml +221 -0
  343. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/onlies_keep_specific_tags.yml +221 -0
  344. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/removes_a_tags.yml +221 -0
  345. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_id.yml +221 -0
  346. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_not_found.yml +221 -0
  347. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_url.yml +221 -0
  348. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_exists.yml +221 -0
  349. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_id.yml +221 -0
  350. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org/with_id.yml +221 -0
  351. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org_identifiers/with_identifiers.yml +221 -0
  352. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid.yml +221 -0
  353. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_https.yml +221 -0
  354. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_id.yml +221 -0
  355. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox.yml +221 -0
  356. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +221 -0
  357. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_with_spaces.yml +221 -0
  358. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_wrong_id.yml +221 -0
  359. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_www.yml +221 -0
  360. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +221 -0
  361. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +221 -0
  362. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +221 -0
  363. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +221 -0
  364. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/DOI.yml +221 -0
  365. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/ISSN.yml +221 -0
  366. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/URL.yml +221 -0
  367. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/string.yml +221 -0
  368. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/BlogPosting.yml +81 -0
  369. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/Dataset.yml +120 -0
  370. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +186 -0
  371. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/climate_data.yml +74 -0
  372. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/from_schema_org.yml +530 -0
  373. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +149 -0
  374. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/maremma.yml +86 -0
  375. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/text.yml +100 -0
  376. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_data_citation.yml +247 -0
  377. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_pages.yml +228 -0
  378. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +143 -0
  379. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +150 -0
  380. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +93 -0
  381. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/ruby-cff.yml +154 -0
  382. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Dataset.yml +120 -0
  383. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article.yml +247 -0
  384. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +299 -0
  385. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Missing_author.yml +199 -0
  386. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +75 -0
  387. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/software_w/version.yml +86 -0
  388. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +76 -0
  389. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +76 -0
  390. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +541 -0
  391. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/journal_article.yml +55 -0
  392. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +85 -0
  393. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/posted_content.yml +283 -0
  394. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_another_science_blog.yml +123 -0
  395. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +477 -0
  396. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_upstream_blog.yml +1025 -0
  397. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/Another_dataset.yml +110 -0
  398. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/BlogPosting.yml +81 -0
  399. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/BlogPosting_schema_org.yml +530 -0
  400. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/Dataset.yml +120 -0
  401. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/container_title.yml +153 -0
  402. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/interactive_resource_without_dates.yml +75 -0
  403. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/journal_article.yml +247 -0
  404. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/keywords_subject_scheme.yml +149 -0
  405. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/maremma.yml +86 -0
  406. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/missing_creator.yml +199 -0
  407. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/multiple_abstracts.yml +101 -0
  408. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/organization_author.yml +314 -0
  409. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/software.yml +90 -0
  410. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/software_w/version.yml +86 -0
  411. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/with_only_first_page.yml +333 -0
  412. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csl/with_pages.yml +228 -0
  413. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/climate_data.yml +74 -0
  414. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/maremma.yml +86 -0
  415. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/text.yml +100 -0
  416. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_data_citation.yml +247 -0
  417. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_pages.yml +228 -0
  418. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/from_schema_org.yml +530 -0
  419. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/maremma.yml +86 -0
  420. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/with_ORCID_ID.yml +228 -0
  421. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite/with_data_citation.yml +247 -0
  422. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/from_schema_org.yml +530 -0
  423. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/maremma.yml +86 -0
  424. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +228 -0
  425. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +247 -0
  426. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +120 -0
  427. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +106 -0
  428. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/book_chapter.yml +163 -0
  429. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +530 -0
  430. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +75 -0
  431. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/maremma.yml +86 -0
  432. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +228 -0
  433. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +247 -0
  434. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_editor.yml +355 -0
  435. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +81 -0
  436. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +530 -0
  437. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/journal_article.yml +247 -0
  438. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/maremma.yml +86 -0
  439. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/with_pages.yml +228 -0
  440. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting.yml +81 -0
  441. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +530 -0
  442. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/Dataset.yml +120 -0
  443. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/alternate_name.yml +138 -0
  444. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/journal_article.yml +115 -0
  445. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +149 -0
  446. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/maremma.yml +86 -0
  447. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/with_pages.yml +112 -0
  448. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +120 -0
  449. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding.yml +192 -0
  450. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +150 -0
  451. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +98 -0
  452. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +160 -0
  453. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +153 -0
  454. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +131 -0
  455. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/data_catalog.yml +136 -0
  456. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/geo_location_box.yml +181 -0
  457. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +127 -0
  458. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/journal_article.yml +247 -0
  459. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +86 -0
  460. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/series_information.yml +174 -0
  461. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme.yml +199 -0
  462. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +201 -0
  463. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting.yml +81 -0
  464. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +530 -0
  465. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/Dataset.yml +120 -0
  466. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/journal_article.yml +247 -0
  467. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/with_pages.yml +228 -0
  468. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/default.yml +110 -0
  469. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_bibtex.yml +110 -0
  470. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_crossref_xml.yml +110 -0
  471. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_datacite.yml +110 -0
  472. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref/to_schema_org.yml +110 -0
  473. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/default.yml +55 -0
  474. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_bibtex.yml +55 -0
  475. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_crossref_xml.yml +55 -0
  476. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_datacite.yml +55 -0
  477. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_file/crossref_xml/to_schema_org.yml +55 -0
  478. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/default.yml +299 -0
  479. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_bibtex.yml +299 -0
  480. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_citation.yml +299 -0
  481. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_crossref_xml.yml +299 -0
  482. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_datacite.yml +299 -0
  483. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_jats.yml +299 -0
  484. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/crossref/to_schema_org.yml +299 -0
  485. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/default.yml +172 -0
  486. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_bibtex.yml +172 -0
  487. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_citation.yml +172 -0
  488. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_datacite.yml +172 -0
  489. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_jats.yml +172 -0
  490. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/datacite/to_schema_org.yml +172 -0
  491. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/default.yml +1096 -0
  492. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_datacite.yml +1096 -0
  493. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/convert_from_id/schema_org/to_schema_org.yml +1098 -0
  494. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/crossref.yml +55 -0
  495. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/datacite.yml +55 -0
  496. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/jalc.yml +55 -0
  497. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/kisti.yml +55 -0
  498. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/medra.yml +55 -0
  499. data/spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/op.yml +55 -0
  500. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +247 -0
  501. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/crossref.yml +55 -0
  502. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/datacite.yml +55 -0
  503. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/jalc.yml +55 -0
  504. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/kisti.yml +55 -0
  505. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/medra.yml +55 -0
  506. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/not_found.yml +55 -0
  507. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/doi_registration_agency/op.yml +55 -0
  508. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/crossref.yml +55 -0
  509. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +55 -0
  510. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite.yml +55 -0
  511. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/datacite_doi_http.yml +55 -0
  512. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +55 -0
  513. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_for_match.yml +221 -0
  514. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +221 -0
  515. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_match.yml +221 -0
  516. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/hsh_to_fos_no_match.yml +221 -0
  517. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/name_to_fos_for_match.yml +221 -0
  518. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/name_to_fos_match.yml +221 -0
  519. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/fos/name_to_fos_no_match.yml +221 -0
  520. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/from_schema_org/with_id.yml +221 -0
  521. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/cff-converter-python.yml +200 -0
  522. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff.yml +154 -0
  523. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +154 -0
  524. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_codemeta_metadata/maremma.yml +86 -0
  525. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_codemeta_metadata/metadata_reports.yml +93 -0
  526. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +337 -0
  527. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +347 -0
  528. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +170 -0
  529. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/JaLC.yml +384 -0
  530. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/KISTI.yml +330 -0
  531. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/OP.yml +969 -0
  532. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/affiliation_is_space.yml +358 -0
  533. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/another_book.yml +312 -0
  534. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/another_book_chapter.yml +465 -0
  535. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/article_id_as_page_number.yml +276 -0
  536. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/author_literal.yml +492 -0
  537. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book.yml +523 -0
  538. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_chapter.yml +377 -0
  539. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +336 -0
  540. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/book_oup.yml +289 -0
  541. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/component.yml +289 -0
  542. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dataset.yml +300 -0
  543. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dataset_usda.yml +341 -0
  544. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/date_in_future.yml +570 -0
  545. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/dissertation.yml +301 -0
  546. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/empty_given_name.yml +303 -0
  547. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/invalid_date.yml +307 -0
  548. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article.yml +461 -0
  549. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +276 -0
  550. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with.yml +908 -0
  551. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +519 -0
  552. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_article_with_funding.yml +456 -0
  553. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/journal_issue.yml +270 -0
  554. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/mEDRA.yml +310 -0
  555. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/markup.yml +329 -0
  556. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/missing_creator.yml +307 -0
  557. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_issn.yml +393 -0
  558. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_titles.yml +265 -0
  559. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +860 -0
  560. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/not_found_error.yml +209 -0
  561. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/peer_review.yml +287 -0
  562. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/posted_content.yml +326 -0
  563. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/posted_content_copernicus.yml +297 -0
  564. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/report_osti.yml +315 -0
  565. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/vor_with_url.yml +451 -0
  566. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/yet_another_book.yml +816 -0
  567. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +324 -0
  568. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_crossref_raw/journal_article.yml +110 -0
  569. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/dissertation.yml +152 -0
  570. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/funding_references.yml +175 -0
  571. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/subject_scheme.yml +328 -0
  572. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date/publication_date.yml +221 -0
  573. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_date_parts/date.yml +221 -0
  574. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_date_parts/year-month.yml +221 -0
  575. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_date_parts/year.yml +221 -0
  576. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_parts/date.yml +221 -0
  577. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_parts/year-month.yml +221 -0
  578. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_from_parts/year.yml +221 -0
  579. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_parts/date.yml +221 -0
  580. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_parts/year-month.yml +221 -0
  581. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_date_parts/year.yml +221 -0
  582. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/future.yml +221 -0
  583. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/invalid.yml +221 -0
  584. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/nil.yml +221 -0
  585. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/past.yml +221 -0
  586. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datetime_from_time/present.yml +221 -0
  587. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/has_familyName.yml +133 -0
  588. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +153 -0
  589. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/name_with_affiliation_crossref.yml +247 -0
  590. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_one_author/only_familyName_and_givenName.yml +467 -0
  591. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/BlogPosting.yml +530 -0
  592. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +530 -0
  593. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +534 -0
  594. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/harvard_dataverse.yml +1838 -0
  595. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/pangaea.yml +467 -0
  596. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/upstream_blog.yml +885 -0
  597. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_schema_org_metadata/zenodo.yml +583 -0
  598. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/only_title.yml +221 -0
  599. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/title_and_pages.yml +221 -0
  600. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/title_volume_and_pages.yml +221 -0
  601. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_series_information/title_volume_issue_and_pages.yml +221 -0
  602. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_as_cff_url.yml +221 -0
  603. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_as_codemeta_url.yml +221 -0
  604. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_from_url.yml +221 -0
  605. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_from_url_cff_file.yml +221 -0
  606. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/github/github_from_url_file.yml +221 -0
  607. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +55 -0
  608. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/handle_input/unknown_DOI_prefix.yml +55 -0
  609. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/json_schema_errors/is_valid.yml +221 -0
  610. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_cc_url/not_found.yml +221 -0
  611. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_cc_url/with_trailing_slash.yml +221 -0
  612. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +221 -0
  613. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/doi.yml +221 -0
  614. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/doi_as_url.yml +221 -0
  615. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/filename.yml +221 -0
  616. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/ftp.yml +221 -0
  617. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/invalid_url.yml +221 -0
  618. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/sandbox_via_options.yml +221 -0
  619. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/sandbox_via_url.yml +221 -0
  620. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/string.yml +221 -0
  621. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/url.yml +221 -0
  622. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_id/url_with_utf-8.yml +221 -0
  623. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_array.yml +221 -0
  624. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_empty_array.yml +221 -0
  625. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_hash.yml +221 -0
  626. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_issn/from_string.yml +221 -0
  627. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_url/uri.yml +221 -0
  628. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_url/with_trailing_slash.yml +221 -0
  629. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +221 -0
  630. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/array.yml +221 -0
  631. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/array_of_strings.yml +221 -0
  632. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/first.yml +221 -0
  633. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/hash.yml +221 -0
  634. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/hash_with_array_value.yml +221 -0
  635. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/nil.yml +221 -0
  636. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/parse_attributes/string.yml +221 -0
  637. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/random_doi/decode_anothe_doi.yml +221 -0
  638. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/random_doi/decode_doi.yml +221 -0
  639. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/random_doi/encode_doi.yml +221 -0
  640. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/sanitize/onlies_keep_specific_tags.yml +221 -0
  641. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/sanitize/removes_a_tags.yml +221 -0
  642. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/hsh_to_spdx_id.yml +221 -0
  643. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/hsh_to_spdx_not_found.yml +221 -0
  644. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/hsh_to_spdx_url.yml +221 -0
  645. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/name_to_spdx_exists.yml +221 -0
  646. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/spdx/name_to_spdx_id.yml +221 -0
  647. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/to_schema_org/with_id.yml +221 -0
  648. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/to_schema_org_identifiers/with_identifiers.yml +221 -0
  649. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid.yml +221 -0
  650. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_https.yml +221 -0
  651. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_id.yml +221 -0
  652. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_sandbox.yml +221 -0
  653. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +221 -0
  654. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_with_spaces.yml +221 -0
  655. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_wrong_id.yml +221 -0
  656. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid/validate_orcid_www.yml +221 -0
  657. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +221 -0
  658. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +221 -0
  659. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +221 -0
  660. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +221 -0
  661. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/DOI.yml +221 -0
  662. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/ISSN.yml +221 -0
  663. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/URL.yml +221 -0
  664. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/validate_url/string.yml +221 -0
  665. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/BlogPosting.yml +81 -0
  666. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/Dataset.yml +120 -0
  667. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +186 -0
  668. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/climate_data.yml +74 -0
  669. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/from_schema_org.yml +530 -0
  670. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +149 -0
  671. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/maremma.yml +86 -0
  672. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/text.yml +100 -0
  673. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/with_data_citation.yml +247 -0
  674. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_bibtex/with_pages.yml +228 -0
  675. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +143 -0
  676. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +150 -0
  677. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +93 -0
  678. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_cff/ruby-cff.yml +154 -0
  679. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Dataset.yml +120 -0
  680. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Journal_article.yml +247 -0
  681. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +299 -0
  682. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/Missing_author.yml +199 -0
  683. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +75 -0
  684. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_citation/software_w/version.yml +86 -0
  685. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +76 -0
  686. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +76 -0
  687. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +541 -0
  688. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article.yml +55 -0
  689. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +85 -0
  690. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/posted_content.yml +283 -0
  691. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_another_science_blog.yml +123 -0
  692. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +477 -0
  693. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_crossref/schema_org_from_upstream_blog.yml +1025 -0
  694. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/Another_dataset.yml +110 -0
  695. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/BlogPosting.yml +81 -0
  696. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/BlogPosting_schema_org.yml +530 -0
  697. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/Dataset.yml +120 -0
  698. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/container_title.yml +153 -0
  699. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/interactive_resource_without_dates.yml +75 -0
  700. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/journal_article.yml +247 -0
  701. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/keywords_subject_scheme.yml +149 -0
  702. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/maremma.yml +86 -0
  703. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/missing_creator.yml +199 -0
  704. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/multiple_abstracts.yml +101 -0
  705. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/organization_author.yml +314 -0
  706. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/software.yml +90 -0
  707. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/software_w/version.yml +86 -0
  708. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/with_only_first_page.yml +333 -0
  709. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csl/with_pages.yml +228 -0
  710. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/climate_data.yml +74 -0
  711. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/maremma.yml +86 -0
  712. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/text.yml +100 -0
  713. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/with_data_citation.yml +247 -0
  714. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_csv/with_pages.yml +228 -0
  715. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/dissertation.yml +218 -0
  716. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/from_schema_org.yml +530 -0
  717. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/journal_article.yml +407 -0
  718. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/maremma.yml +86 -0
  719. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/with_ORCID_ID.yml +228 -0
  720. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_datacite/with_data_citation.yml +247 -0
  721. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +120 -0
  722. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +106 -0
  723. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/book_chapter.yml +163 -0
  724. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +530 -0
  725. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +75 -0
  726. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/maremma.yml +86 -0
  727. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +228 -0
  728. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +247 -0
  729. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_jats_xml/with_editor.yml +355 -0
  730. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +81 -0
  731. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +530 -0
  732. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/journal_article.yml +247 -0
  733. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/maremma.yml +86 -0
  734. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_rdf_xml/with_pages.yml +228 -0
  735. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/BlogPosting.yml +81 -0
  736. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +530 -0
  737. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/Dataset.yml +120 -0
  738. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/alternate_name.yml +138 -0
  739. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/journal_article.yml +115 -0
  740. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +149 -0
  741. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/maremma.yml +86 -0
  742. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_ris/with_pages.yml +112 -0
  743. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +120 -0
  744. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Funding.yml +192 -0
  745. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +150 -0
  746. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +98 -0
  747. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +160 -0
  748. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +153 -0
  749. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +131 -0
  750. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/data_catalog.yml +136 -0
  751. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/geo_location_box.yml +181 -0
  752. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +127 -0
  753. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/journal_article.yml +247 -0
  754. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +86 -0
  755. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/series_information.yml +174 -0
  756. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/subject_scheme.yml +199 -0
  757. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +201 -0
  758. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/BlogPosting.yml +81 -0
  759. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +530 -0
  760. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/Dataset.yml +120 -0
  761. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/journal_article.yml +247 -0
  762. data/spec/fixtures/vcr_cassettes/Commonmeta_Metadata/write_metadata_as_turtle/with_pages.yml +228 -0
  763. data/spec/fixtures/vivli.xml +17 -0
  764. data/spec/metadata_spec.rb +147 -0
  765. data/spec/readers/bibtex_reader_spec.rb +58 -0
  766. data/spec/readers/cff_reader_spec.rb +148 -0
  767. data/spec/readers/codemeta_reader_spec.rb +116 -0
  768. data/spec/readers/crossref_reader_spec.rb +919 -0
  769. data/spec/readers/crossref_xml_reader_spec.rb +948 -0
  770. data/spec/readers/csl_reader_spec.rb +61 -0
  771. data/spec/readers/datacite_reader_spec.rb +156 -0
  772. data/spec/readers/npm_reader_spec.rb +69 -0
  773. data/spec/readers/ris_reader_spec.rb +70 -0
  774. data/spec/readers/schema_org_reader_spec.rb +416 -0
  775. data/spec/schema_utils_spec.rb +16 -0
  776. data/spec/spec_helper.rb +96 -0
  777. data/spec/utils_spec.rb +631 -0
  778. data/spec/writers/bibtex_writer_spec.rb +160 -0
  779. data/spec/writers/cff_writer_spec.rb +118 -0
  780. data/spec/writers/citation_writer_spec.rb +51 -0
  781. data/spec/writers/codemeta_writer_spec.rb +47 -0
  782. data/spec/writers/crossref_xml_writer_spec.rb +173 -0
  783. data/spec/writers/csl_writer_spec.rb +291 -0
  784. data/spec/writers/csv_writer_spec.rb +82 -0
  785. data/spec/writers/datacite_writer_spec.rb +150 -0
  786. data/spec/writers/jats_writer_spec.rb +210 -0
  787. data/spec/writers/rdf_xml_writer_spec.rb +91 -0
  788. data/spec/writers/ris_writer_spec.rb +206 -0
  789. data/spec/writers/schema_org_writer_spec.rb +301 -0
  790. data/spec/writers/turtle_writer_spec.rb +85 -0
  791. metadata +1514 -0
@@ -0,0 +1,461 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.crossref.org/works/10.1371/journal.pone.0000030
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - api.crossref.org
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Sun, 12 Mar 2023 22:22:16 GMT
23
+ Content-Type:
24
+ - application/json
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Access-Control-Expose-Headers:
28
+ - Link
29
+ Access-Control-Allow-Headers:
30
+ - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
31
+ Accept-Ranges, Cache-Control
32
+ Access-Control-Allow-Origin:
33
+ - "*"
34
+ Server:
35
+ - Jetty(9.4.40.v20210413)
36
+ X-Ratelimit-Limit:
37
+ - '50'
38
+ X-Ratelimit-Interval:
39
+ - 1s
40
+ X-Api-Pool:
41
+ - public
42
+ X-Rate-Limit-Limit:
43
+ - '50'
44
+ X-Rate-Limit-Interval:
45
+ - 1s
46
+ Permissions-Policy:
47
+ - interest-cohort=()
48
+ Connection:
49
+ - close
50
+ body:
51
+ encoding: UTF-8
52
+ string: '{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,2,9]],"date-time":"2023-02-09T05:42:36Z","timestamp":1675921356418},"reference-count":73,"publisher":"Public
53
+ Library of Science (PLoS)","issue":"1","license":[{"start":{"date-parts":[[2006,12,20]],"date-time":"2006-12-20T00:00:00Z","timestamp":1166572800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["www.plosone.org"],"crossmark-restriction":false},"short-container-title":["PLoS
54
+ ONE"],"DOI":"10.1371\/journal.pone.0000030","type":"journal-article","created":{"date-parts":[[2006,12,20]],"date-time":"2006-12-20T19:38:57Z","timestamp":1166643537000},"page":"e30","update-policy":"http:\/\/dx.doi.org\/10.1371\/journal.pone.corrections_policy","source":"Crossref","is-referenced-by-count":62,"title":["Triose
55
+ Phosphate Isomerase Deficiency Is Caused by Altered Dimerization\u2013Not
56
+ Catalytic Inactivity\u2013of the Mutant Enzymes"],"prefix":"10.1371","volume":"1","author":[{"given":"Markus","family":"Ralser","sequence":"first","affiliation":[]},{"given":"Gino","family":"Heeren","sequence":"additional","affiliation":[]},{"given":"Michael","family":"Breitenbach","sequence":"additional","affiliation":[]},{"given":"Hans","family":"Lehrach","sequence":"additional","affiliation":[]},{"given":"Sylvia","family":"Krobitsch","sequence":"additional","affiliation":[]}],"member":"340","published-online":{"date-parts":[[2006,12,20]]},"reference":[{"key":"ref1","doi-asserted-by":"crossref","first-page":"229","DOI":"10.1056\/NEJM196502042720503","article-title":"Hereditary
57
+ Hemolytic Anemia with Triosephosphate Isomerase Deficiency.","volume":"272","author":"AS
58
+ Schneider","year":"1965","journal-title":"N Engl J Med"},{"key":"ref2","doi-asserted-by":"crossref","first-page":"119","DOI":"10.1053\/beha.2000.0061","article-title":"Triosephosphate
59
+ isomerase deficiency: historical perspectives and molecular aspects.","volume":"13","author":"AS
60
+ Schneider","year":"2000","journal-title":"Baillieres Best Pract Res Clin Haematol"},{"key":"ref3","doi-asserted-by":"crossref","first-page":"82","DOI":"10.1006\/bcmd.1996.0011","article-title":"Hematologically
61
+ important mutations: triosephosphate isomerase.","volume":"22","author":"A
62
+ Schneider","year":"1996","journal-title":"Blood Cells Mol Dis"},{"key":"ref4","doi-asserted-by":"crossref","first-page":"30","DOI":"10.1042\/bst0300030","article-title":"Triosephosphate
63
+ isomerase deficiency: a neurodegenerative misfolding disease.","volume":"30","author":"J
64
+ Olah","year":"2002","journal-title":"Biochem Soc Trans"},{"key":"ref5","first-page":"308","article-title":"Molecular
65
+ analysis of a series of alleles in humans with reduced activity at the triosephosphate
66
+ isomerase locus.","volume":"58","author":"M Watanabe","year":"1996","journal-title":"Am
67
+ J Hum Genet"},{"key":"ref6","doi-asserted-by":"crossref","first-page":"303","DOI":"10.1111\/j.1469-1809.1987.tb01065.x","article-title":"Frequency
68
+ and distribution of rare electrophoretic mobility variants in a population
69
+ of human newborns in Ann Arbor, Michigan.","volume":"51 ( Pt 4)","author":"HW
70
+ Mohrenweiser","year":"1987","journal-title":"Ann Hum Genet"},{"key":"ref7","doi-asserted-by":"crossref","first-page":"960","DOI":"10.1203\/00006450-198211000-00012","article-title":"Elevated
71
+ frequency of carriers for triosephosphate isomerase deficiency in newborn
72
+ infants.","volume":"16","author":"HW Mohrenweiser","year":"1982","journal-title":"Pediatr
73
+ Res"},{"key":"ref8","doi-asserted-by":"crossref","first-page":"336","DOI":"10.1007\/BF00291364","article-title":"Prevalence
74
+ of partial deficiency of red cell triosephosphate isomerase in Germany\u2013a
75
+ study of 3000 people.","volume":"67","author":"SW Eber","year":"1984","journal-title":"Hum
76
+ Genet"},{"key":"ref9","first-page":"663","article-title":"Search for mutations
77
+ altering protein charge and\/or function in children of atomic bomb survivors:
78
+ final report.","volume":"42","author":"JV Neel","year":"1988","journal-title":"Am
79
+ J Hum Genet"},{"key":"ref10","doi-asserted-by":"crossref","first-page":"5046","DOI":"10.1073\/pnas.78.8.5046","article-title":"Frequency
80
+ of enzyme deficiency variants in erythrocytes of newborn infants.","volume":"78","author":"HW
81
+ Mohrenweiser","year":"1981","journal-title":"Proc Natl Acad Sci U S A"},{"key":"ref11","doi-asserted-by":"crossref","first-page":"195","DOI":"10.1111\/j.1365-2362.1979.tb00923.x","article-title":"Hereditary
82
+ deficiency of triosephosphate isomerase in four unrelated families.","volume":"9","author":"SW
83
+ Eber","year":"1979","journal-title":"Eur J Clin Invest"},{"key":"ref12","doi-asserted-by":"crossref","first-page":"837","DOI":"10.1093\/genetics\/123.4.837","article-title":"Characterization
84
+ of triosephosphate isomerase mutants with reduced enzyme activity in Mus musculus.","volume":"123","author":"S
85
+ Merkle","year":"1989","journal-title":"Genetics"},{"key":"ref13","doi-asserted-by":"crossref","first-page":"437","DOI":"10.1006\/jtbi.1996.0184","article-title":"Triosephosphate
86
+ isomerase deficiency: predictions and facts.","volume":"182","author":"F Orosz","year":"1996","journal-title":"J
87
+ Theor Biol"},{"key":"ref14","doi-asserted-by":"crossref","first-page":"7903","DOI":"10.1073\/pnas.83.20.7903","article-title":"Human
88
+ triose-phosphate isomerase deficiency: a single amino acid substitution results
89
+ in a thermolabile enzyme.","volume":"83","author":"IO Daar","year":"1986","journal-title":"Proc
90
+ Natl Acad Sci U S A"},{"key":"ref15","doi-asserted-by":"crossref","first-page":"290","DOI":"10.1002\/(SICI)1098-1004(1997)10:4<290::AID-HUMU4>3.0.CO;2-L","article-title":"Evidence
91
+ for founder effect of the Glu104Asp substitution and identification of new
92
+ mutations in triosephosphate isomerase deficiency.","volume":"10","author":"R
93
+ Arya","year":"1997","journal-title":"Hum Mutat"},{"key":"ref16","doi-asserted-by":"crossref","first-page":"634","DOI":"10.1007\/BF02265287","article-title":"Human
94
+ triosephosphate isomerase: substitution of Arg for Gly at position 122 in
95
+ a thermolabile electromorph variant, TPI-Manchester.","volume":"88","author":"BA
96
+ Perry","year":"1992","journal-title":"Hum Genet"},{"key":"ref17","first-page":"1130","article-title":"Triose
97
+ phosphate isomerase deficiency in 3 French families: two novel null alleles,
98
+ a frameshift mutation (TPI Alfortville) and an alteration in the initiation
99
+ codon (TPI Paris).","volume":"96","author":"C Valentin","year":"2000","journal-title":"Blood"},{"key":"ref18","first-page":"1260","article-title":"Human
100
+ triosephosphate isomerase deficiency resulting from mutation of Phe-240.","volume":"52","author":"ML
101
+ Chang","year":"1993","journal-title":"Am J Hum Genet"},{"key":"ref19","doi-asserted-by":"crossref","first-page":"486","DOI":"10.1007\/BF00216456","article-title":"Hereditary
102
+ triosephosphate isomerase (TPI) deficiency: two severely affected brothers
103
+ one with and one without neurological symptoms.","volume":"92","author":"S
104
+ Hollan","year":"1993","journal-title":"Hum Genet"},{"key":"ref20","first-page":"929","article-title":"[Glycolytic
105
+ enzyme defects and neurodegeneration].","volume":"192","author":"S Hollan","year":"1998","journal-title":"C
106
+ R Seances Soc Biol Fil"},{"key":"ref21","doi-asserted-by":"crossref","first-page":"10362","DOI":"10.1073\/pnas.94.19.10362","article-title":"Search
107
+ for the pathogenesis of the differing phenotype in two compound heterozygote
108
+ Hungarian brothers with the same genotypic triosephosphate isomerase deficiency.","volume":"94","author":"S
109
+ Hollan","year":"1997","journal-title":"Proc Natl Acad Sci U S A"},{"key":"ref22","doi-asserted-by":"crossref","first-page":"268","DOI":"10.1073\/pnas.92.1.268","article-title":"Erythrocyte
110
+ lipids in triose-phosphate isomerase deficiency.","volume":"92","author":"S
111
+ Hollan","year":"1995","journal-title":"Proc Natl Acad Sci U S A"},{"key":"ref23","doi-asserted-by":"crossref","first-page":"1026","DOI":"10.1073\/pnas.97.3.1026","article-title":"Enhanced
112
+ association of mutant triosephosphate isomerase to red cell membranes and
113
+ to brain microtubules.","volume":"97","author":"F Orosz","year":"2000","journal-title":"Proc
114
+ Natl Acad Sci U S A"},{"key":"ref24","doi-asserted-by":"crossref","first-page":"119","DOI":"10.1016\/0378-1119(95)00037-7","article-title":"Yeast
115
+ vectors for the controlled expression of heterologous proteins in different
116
+ genetic backgrounds.","volume":"156","author":"D Mumberg","year":"1995","journal-title":"Gene"},{"key":"ref25","doi-asserted-by":"crossref","first-page":"747","DOI":"10.1016\/j.bbrc.2006.06.151","article-title":"An
117
+ efficient and economic enhancer mix for PCR.","volume":"347","author":"M Ralser","year":"2006","journal-title":"Biochem
118
+ Biophys Res Commun"},{"key":"ref26","doi-asserted-by":"crossref","first-page":"115","DOI":"10.1002\/(SICI)1097-0061(19980130)14:2<115::AID-YEA204>3.0.CO;2-2","article-title":"Designer
119
+ deletion strains derived from <italic>Saccharomyces cerevisiae<\/italic> S288C:
120
+ a useful set of strains and plasmids for PCR-mediated gene disruption and
121
+ other applications.","volume":"14","author":"CB Brachmann","year":"1998","journal-title":"Yeast"},{"key":"ref27","doi-asserted-by":"crossref","first-page":"853","DOI":"10.1016\/j.molcel.2004.09.016","article-title":"A
122
+ protein interaction network links GIT1, an enhancer of huntingtin aggregation,
123
+ to Huntington&apos;s disease.","volume":"15","author":"H Goehler","year":"2004","journal-title":"Mol
124
+ Cell"},{"key":"ref28","doi-asserted-by":"crossref","first-page":"339","DOI":"10.1007\/BF00340712","article-title":"High
125
+ efficiency transformation of intact yeast cells using single stranded nucleic
126
+ acids as a carrier.","volume":"16","author":"RH Schiestl","year":"1989","journal-title":"Curr
127
+ Genet"},{"key":"ref29","doi-asserted-by":"crossref","first-page":"591","DOI":"10.1021\/bp960043c","article-title":"Glycerol
128
+ production in a triose phosphate isomerase deficient mutant of <italic>Saccharomyces
129
+ cerevisiae<\/italic>.","volume":"12","author":"C Compagno","year":"1996","journal-title":"Biotechnol
130
+ Prog"},{"key":"ref30","doi-asserted-by":"crossref","first-page":"2814","DOI":"10.1128\/AEM.68.6.2814-2821.2002","article-title":"Metabolic
131
+ engineering of glycerol production in <italic>Saccharomyces cerevisiae<\/italic>.","volume":"68","author":"KM
132
+ Overkamp","year":"2002","journal-title":"Appl Environ Microbiol"},{"key":"ref31","doi-asserted-by":"crossref","first-page":"152","DOI":"10.1128\/JB.139.1.152-160.1979","article-title":"Physiological
133
+ effects of seven different blocks in glycolysis in <italic>Saccharomyces cerevisiae<\/italic>.","volume":"139","author":"M
134
+ Ciriacy","year":"1979","journal-title":"J Bacteriol"},{"key":"ref32","doi-asserted-by":"crossref","first-page":"332","DOI":"10.1016\/j.abb.2004.01.003","article-title":"Hypoxic
135
+ up-regulation of triosephosphate isomerase expression in mouse brain capillary
136
+ endothelial cells.","volume":"423","author":"R Yamaji","year":"2004","journal-title":"Arch
137
+ Biochem Biophys"},{"key":"ref33","doi-asserted-by":"crossref","first-page":"8","DOI":"10.1186\/1472-6750-4-8","article-title":"Rapid
138
+ isolation of yeast genomic DNA: Bust n&apos; Grab.","volume":"4","author":"S
139
+ Harju","year":"2004","journal-title":"BMC Biotechnol"},{"key":"ref34","doi-asserted-by":"crossref","first-page":"2893","DOI":"10.1093\/hmg\/ddi321","article-title":"Ataxin-2
140
+ and huntingtin interact with endophilin-A complexes to function in plastin-associated
141
+ pathways.","volume":"14","author":"M Ralser","year":"2005","journal-title":"Hum
142
+ Mol Genet"},{"key":"ref35","doi-asserted-by":"crossref","first-page":"157","DOI":"10.1016\/j.femsyr.2004.05.008","article-title":"The
143
+ role of respiration, reactive oxygen species and oxidative stress in mother
144
+ cell-specific ageing of yeast strains defective in the RAS signalling pathway.","volume":"5","author":"G
145
+ Heeren","year":"2004","journal-title":"FEMS Yeast Res"},{"key":"ref36","doi-asserted-by":"crossref","first-page":"165","DOI":"10.2144\/05392BM01","article-title":"Generation
146
+ of a yeast two-hybrid strain suitable for competitive protein binding analysis.","volume":"39","author":"M
147
+ Ralser","year":"2005","journal-title":"Biotechniques"},{"key":"ref37","doi-asserted-by":"crossref","first-page":"475","DOI":"10.1016\/S0021-9258(18)62514-1","article-title":"A
148
+ kinetic study of glycolytic enzyme synthesis in yeast.","volume":"246","author":"PK
149
+ Maitra","year":"1971","journal-title":"J Biol Chem"},{"key":"ref38","doi-asserted-by":"crossref","first-page":"346","DOI":"10.1107\/S1744309105008341","article-title":"Structure
150
+ of a high-resolution crystal form of human triosephosphate isomerase: improvement
151
+ of crystals using the gel-tube method.","volume":"61","author":"T Kinoshita","year":"2005","journal-title":"Acta
152
+ Crystallograph Sect F Struct Biol Cryst Commun"},{"key":"ref39","doi-asserted-by":"crossref","first-page":"41805","DOI":"10.1074\/jbc.M505181200","article-title":"Genetic
153
+ perturbation of glycolysis results in inhibition of de novo inositol biosynthesis.","volume":"280","author":"Y
154
+ Shi","year":"2005","journal-title":"J Biol Chem"},{"key":"ref40","doi-asserted-by":"crossref","first-page":"3106","DOI":"10.1182\/blood.V98.10.3106","article-title":"Distinct
155
+ behavior of mutant triosephosphate isomerase in hemolysate and in isolated
156
+ form: molecular basis of enzyme deficiency.","volume":"98","author":"F Orosz","year":"2001","journal-title":"Blood"},{"key":"ref41","doi-asserted-by":"crossref","first-page":"442","DOI":"10.1007\/s00438-003-0941-0","article-title":"Interrelations
157
+ between the efficiency of translation start sites and other sequence features
158
+ of yeast mRNAs.","volume":"270","author":"AV Kochetov","year":"2003","journal-title":"Mol
159
+ Genet Genomics"},{"key":"ref42","doi-asserted-by":"crossref","first-page":"2662","DOI":"10.1073\/pnas.92.7.2662","article-title":"Adherence
160
+ to the first-AUG rule when a second AUG codon follows closely upon the first.","volume":"92","author":"M
161
+ Kozak","year":"1995","journal-title":"Proc Natl Acad Sci U S A"},{"key":"ref43","doi-asserted-by":"crossref","first-page":"491","DOI":"10.1007\/s00438-005-1152-7","article-title":"The
162
+ role of alternative translation start sites in the generation of human protein
163
+ diversity.","volume":"273","author":"AV Kochetov","year":"2005","journal-title":"Mol
164
+ Genet Genomics"},{"key":"ref44","first-page":"226","article-title":"Neural
165
+ network prediction of translation initiation sites in eukaryotes: perspectives
166
+ for EST and genome analysis.","volume":"5","author":"AG Pedersen","year":"1997","journal-title":"Proc
167
+ Int Conf Intell Syst Mol Biol"},{"key":"ref45","doi-asserted-by":"crossref","first-page":"15","DOI":"10.1016\/S0378-1119(01)00552-2","article-title":"Nonsense-mediated
168
+ mRNA decay in <italic>Saccharomyces cerevisiae<\/italic>.","volume":"274","author":"CI
169
+ Gonzalez","year":"2001","journal-title":"Gene"},{"key":"ref46","doi-asserted-by":"crossref","first-page":"5820","DOI":"10.1128\/MCB.15.10.5820","article-title":"Correlation
170
+ of two-hybrid affinity data with in vitro measurements.","volume":"15","author":"J
171
+ Estojak","year":"1995","journal-title":"Mol Cell Biol"},{"key":"ref47","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1006\/abio.2000.4672","article-title":"Uses
172
+ of lacZ to study gene function: evaluation of beta-galactosidase assays employed
173
+ in the yeast two-hybrid system.","volume":"285","author":"IG Serebriiskii","year":"2000","journal-title":"Anal
174
+ Biochem"},{"key":"ref48","doi-asserted-by":"crossref","first-page":"1166","DOI":"10.1111\/j.1365-2958.2001.02317.x","article-title":"Aged
175
+ mother cells of <italic>Saccharomyces cerevisiae<\/italic> show markers of
176
+ oxidative stress and apoptosis.","volume":"39","author":"P Laun","year":"2001","journal-title":"Mol
177
+ Microbiol"},{"key":"ref49","doi-asserted-by":"crossref","first-page":"757","DOI":"10.1083\/jcb.145.4.757","article-title":"Oxygen
178
+ stress: a regulator of apoptosis in yeast.","volume":"145","author":"F Madeo","year":"1999","journal-title":"J
179
+ Cell Biol"},{"key":"ref50","doi-asserted-by":"crossref","first-page":"236","DOI":"10.1046\/j.1525-1373.1999.d01-140.x","article-title":"Antioxidants,
180
+ oxidative stress, and degenerative neurological disorders.","volume":"222","author":"RA
181
+ Floyd","year":"1999","journal-title":"Proc Soc Exp Biol Med"},{"key":"ref51","doi-asserted-by":"crossref","first-page":"761","DOI":"10.1007\/BF02026706","article-title":"Triosephosphate
182
+ isomerase deficiency: haemolytic anaemia, myopathy with altered mitochondria
183
+ and mental retardation due to a new variant with accelerated enzyme catabolism
184
+ and diminished specific activity.","volume":"150","author":"SW Eber","year":"1991","journal-title":"Eur
185
+ J Pediatr"},{"key":"ref52","doi-asserted-by":"crossref","first-page":"48931","DOI":"10.1074\/jbc.M208806200","article-title":"Interaction
186
+ of cofilin with triose-phosphate isomerase contributes glycolytic fuel for
187
+ Na,K-ATPase via Rho-mediated signaling pathway.","volume":"277","author":"J
188
+ Jung","year":"2002","journal-title":"J Biol Chem"},{"key":"ref53","doi-asserted-by":"crossref","first-page":"6499","DOI":"10.1016\/S0021-9258(19)44720-0","article-title":"Studies
189
+ on human triosephosphate isomerase. II. Nature of the electrophoretic multiplicity
190
+ in erythrocytes.","volume":"247","author":"TH Sawyer","year":"1972","journal-title":"J
191
+ Biol Chem"},{"key":"ref54","doi-asserted-by":"crossref","first-page":"733","DOI":"10.1016\/0305-0491(74)90259-4","article-title":"Comparison
192
+ of the electrophoretic properties of triosephosphate isomerases of various
193
+ tissues and species.","volume":"49","author":"RM Snapka","year":"1974","journal-title":"Comp
194
+ Biochem Physiol B"},{"key":"ref55","doi-asserted-by":"crossref","first-page":"D46","DOI":"10.1093\/nar\/gkj031","article-title":"ASD:
195
+ a bioinformatics resource on alternative splicing.","volume":"34","author":"S
196
+ Stamm","year":"2006","journal-title":"Nucleic Acids Res"},{"key":"ref56","doi-asserted-by":"crossref","first-page":"114","DOI":"10.1111\/j.1471-4159.2004.02854.x","article-title":"Pathogenic
197
+ mutations inactivate parkin by distinct mechanisms.","volume":"92","author":"IH
198
+ Henn","year":"2005","journal-title":"J Neurochem"},{"key":"ref57","doi-asserted-by":"crossref","first-page":"865","DOI":"10.1016\/j.mehy.2005.06.006","article-title":"The
199
+ codon for the methionine at position 129 (M129) in the human prion protein
200
+ provides an alternative initiation site for translation and renders individuals
201
+ homozygous for M129 more susceptible to prion disease.","volume":"65","author":"GP
202
+ Concepcion","year":"2005","journal-title":"Med Hypotheses"},{"key":"ref58","doi-asserted-by":"crossref","first-page":"2767","DOI":"10.1038\/sj.onc.1203599","article-title":"Initiation
203
+ of translation from a downstream in-frame AUG codon on BRCA1 can generate
204
+ the novel isoform protein DeltaBRCA1(17aa).","volume":"19","author":"J Liu","year":"2000","journal-title":"Oncogene"},{"key":"ref59","doi-asserted-by":"crossref","first-page":"618","DOI":"10.1016\/j.tibs.2004.09.006","article-title":"The
205
+ power of two: protein dimerization in biology.","volume":"29","author":"NJ
206
+ Marianayagam","year":"2004","journal-title":"Trends Biochem Sci"},{"key":"ref60","doi-asserted-by":"crossref","first-page":"675","DOI":"10.1042\/BJ20050993","article-title":"Triosephosphate
207
+ isomerase deficiency: consequences of an inherited mutation at mRNA, protein
208
+ and metabolic levels.","volume":"392","author":"J Olah","year":"2005","journal-title":"Biochem
209
+ J"},{"key":"ref61","doi-asserted-by":"crossref","first-page":"593","DOI":"10.1016\/0006-291X(69)90850-X","article-title":"Diamide,
210
+ a new reagent for the intracellular oxidation of glutathione to the disulfide.","volume":"37","author":"NS
211
+ Kosower","year":"1969","journal-title":"Biochem Biophys Res Commun"},{"key":"ref62","doi-asserted-by":"crossref","first-page":"123","DOI":"10.1016\/0076-6879(95)51116-4","article-title":"Diamide:
212
+ an oxidant probe for thiols.","volume":"251","author":"NS Kosower","year":"1995","journal-title":"Methods
213
+ Enzymol"},{"key":"ref63","doi-asserted-by":"crossref","first-page":"6564","DOI":"10.1073\/pnas.0305888101","article-title":"Cells
214
+ have distinct mechanisms to maintain protection against different reactive
215
+ oxygen species: oxidative-stress-response genes.","volume":"101","author":"GW
216
+ Thorpe","year":"2004","journal-title":"Proc Natl Acad Sci U S A"},{"key":"ref64","doi-asserted-by":"crossref","first-page":"513","DOI":"10.1042\/bj20030414","article-title":"Protein
217
+ S-thiolation targets glycolysis and protein synthesis in response to oxidative
218
+ stress in the yeast <italic>Saccharomyces cerevisiae<\/italic>.","volume":"374","author":"D
219
+ Shenton","year":"2003","journal-title":"Biochem J"},{"key":"ref65","doi-asserted-by":"crossref","first-page":"2266","DOI":"10.1096\/fj.00-0074com","article-title":"H2O2-induced
220
+ block of glycolysis as an active ADP-ribosylation reaction protecting cells
221
+ from apoptosis.","volume":"14","author":"C Colussi","year":"2000","journal-title":"Faseb
222
+ J"},{"key":"ref66","doi-asserted-by":"crossref","first-page":"1507","DOI":"10.1016\/S0891-5849(02)01086-9","article-title":"Hydrogen
223
+ peroxide-induced carbonylation of key metabolic enzymes in <italic>Saccharomyces
224
+ cerevisiae<\/italic>: the involvement of the oxidative stress response regulators
225
+ Yap1 and Skn7.","volume":"33","author":"VM Costa","year":"2002","journal-title":"Free
226
+ Radic Biol Med"},{"key":"ref67","doi-asserted-by":"crossref","first-page":"2650","DOI":"10.1128\/MCB.19.4.2650","article-title":"Differential
227
+ protein S-thiolation of glyceraldehyde-3-phosphate dehydrogenase isoenzymes
228
+ influences sensitivity to oxidative stress.","volume":"19","author":"CM Grant","year":"1999","journal-title":"Mol
229
+ Cell Biol"},{"key":"ref68","doi-asserted-by":"crossref","first-page":"1033","DOI":"10.1111\/j.1432-1033.1994.tb18821.x","article-title":"S-thiolation
230
+ of human endothelial cell glyceraldehyde-3-phosphate dehydrogenase after hydrogen
231
+ peroxide treatment.","volume":"221","author":"I Schuppe-Koistinen","year":"1994","journal-title":"Eur
232
+ J Biochem"},{"key":"ref69","doi-asserted-by":"crossref","first-page":"25010","DOI":"10.1016\/S0021-9258(17)31491-6","article-title":"S-thiolation
233
+ of glyceraldehyde-3-phosphate dehydrogenase induced by the phagocytosis-associated
234
+ respiratory burst in blood monocytes.","volume":"269","author":"V Ravichandran","year":"1994","journal-title":"J
235
+ Biol Chem"},{"key":"ref70","doi-asserted-by":"crossref","first-page":"427","DOI":"10.1007\/BF00311211","article-title":"Mutants
236
+ of <italic>Saccharomyces cerevisiae<\/italic> sensitive to oxidative and osmotic
237
+ stress.","volume":"27","author":"B Krems","year":"1995","journal-title":"Curr
238
+ Genet"},{"key":"ref71","doi-asserted-by":"crossref","first-page":"187","DOI":"10.1146\/annurev.arplant.56.032604.144246","article-title":"Redox
239
+ regulation: a broadening horizon.","volume":"56","author":"BB Buchanan","year":"2005","journal-title":"Annu
240
+ Rev Plant Biol"},{"key":"ref72","doi-asserted-by":"crossref","first-page":"811","DOI":"10.1089\/ars.2000.2.4-811","article-title":"Antioxidant
241
+ function of thioredoxin and glutaredoxin systems.","volume":"2","author":"A
242
+ Holmgren","year":"2000","journal-title":"Antioxid Redox Signal"},{"key":"ref73","doi-asserted-by":"crossref","first-page":"769","DOI":"10.1056\/NEJM199109123251104","article-title":"Efficacy
243
+ of statewide neonatal screening for cystic fibrosis by assay of trypsinogen
244
+ concentrations.","volume":"325","author":"KB Hammond","year":"1991","journal-title":"N
245
+ Engl J Med"}],"container-title":["PLoS ONE"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/dx.plos.org\/10.1371\/journal.pone.0000030","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,8,6]],"date-time":"2021-08-06T23:49:55Z","timestamp":1628293795000},"score":1,"resource":{"primary":{"URL":"https:\/\/dx.plos.org\/10.1371\/journal.pone.0000030"}},"subtitle":[],"editor":[{"given":"Guilhem","family":"Janbon","sequence":"first","affiliation":[]}],"short-title":[],"issued":{"date-parts":[[2006,12,20]]},"references-count":73,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2006,12,20]]}},"URL":"http:\/\/dx.doi.org\/10.1371\/journal.pone.0000030","relation":{},"ISSN":["1932-6203"],"issn-type":[{"value":"1932-6203","type":"electronic"}],"subject":["Multidisciplinary"],"published":{"date-parts":[[2006,12,20]]}}}'
246
+ recorded_at: Sun, 12 Mar 2023 22:22:16 GMT
247
+ - request:
248
+ method: get
249
+ uri: https://doi.org/ra/10.1371
250
+ body:
251
+ encoding: UTF-8
252
+ string: ''
253
+ headers:
254
+ Connection:
255
+ - close
256
+ Host:
257
+ - doi.org
258
+ User-Agent:
259
+ - http.rb/5.1.1
260
+ response:
261
+ status:
262
+ code: 200
263
+ message: OK
264
+ headers:
265
+ Date:
266
+ - Sun, 12 Mar 2023 22:22:16 GMT
267
+ Content-Type:
268
+ - application/json;charset=UTF-8
269
+ Transfer-Encoding:
270
+ - chunked
271
+ Connection:
272
+ - close
273
+ Permissions-Policy:
274
+ - interest-cohort=(),browsing-topics=()
275
+ Cf-Cache-Status:
276
+ - DYNAMIC
277
+ Report-To:
278
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=BZ08FTQmtioZ5rWssIGLSEVVkTYCn6j2H2IjnkC0dCMLnoIzOHCemaLr8vgoq7skGKUgrC3Jy0IswJ2B%2FekdpGAM8%2BgYRfRc%2B9ZCkDkU33gBdmZ%2FbUUGYI4uOz7I5H98RV8p%2F38%3D"}],"group":"cf-nel","max_age":604800}'
279
+ Nel:
280
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
281
+ Strict-Transport-Security:
282
+ - max-age=31536000; includeSubDomains; preload
283
+ Server:
284
+ - cloudflare
285
+ Cf-Ray:
286
+ - 7a6f6f59bad5b8ba-AMS
287
+ Alt-Svc:
288
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
289
+ body:
290
+ encoding: UTF-8
291
+ string: |-
292
+ [
293
+ {
294
+ "DOI": "10.1371",
295
+ "RA": "Crossref"
296
+ }
297
+ ]
298
+ recorded_at: Sun, 12 Mar 2023 22:22:16 GMT
299
+ - request:
300
+ method: get
301
+ uri: https://api.crossref.org/works/10.1371/journal.pone.0000030/transform/application/vnd.crossref.unixsd+xml
302
+ body:
303
+ encoding: UTF-8
304
+ string: ''
305
+ headers:
306
+ Connection:
307
+ - close
308
+ Host:
309
+ - api.crossref.org
310
+ User-Agent:
311
+ - http.rb/5.1.1
312
+ response:
313
+ status:
314
+ code: 200
315
+ message: OK
316
+ headers:
317
+ Date:
318
+ - Sun, 12 Mar 2023 22:26:40 GMT
319
+ Transfer-Encoding:
320
+ - chunked
321
+ Link:
322
+ - <http://dx.doi.org/10.1371/journal.pone.0000030>; rel="canonical", <http://dx.plos.org/10.1371/journal.pone.0000030>;
323
+ version="vor"; rel="item", <http://creativecommons.org/licenses/by/4.0/>;
324
+ rel="license"
325
+ Access-Control-Expose-Headers:
326
+ - Link
327
+ Access-Control-Allow-Headers:
328
+ - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
329
+ Accept-Ranges, Cache-Control
330
+ Access-Control-Allow-Origin:
331
+ - "*"
332
+ Server:
333
+ - Jetty(9.4.40.v20210413)
334
+ X-Ratelimit-Limit:
335
+ - '50'
336
+ X-Ratelimit-Interval:
337
+ - 1s
338
+ X-Api-Pool:
339
+ - public
340
+ X-Rate-Limit-Limit:
341
+ - '50'
342
+ X-Rate-Limit-Interval:
343
+ - 1s
344
+ Permissions-Policy:
345
+ - interest-cohort=()
346
+ Connection:
347
+ - close
348
+ body:
349
+ encoding: ASCII-8BIT
350
+ string: !binary |-
351
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iam91cm5hbF9hcnRpY2xlIj4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwPC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlIChQTG9TKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5QdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im1lbWJlci1pZCIgdHlwZT0ibnVtYmVyIj4zNDA8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0YXRpb24taWQiIHR5cGU9Im51bWJlciI+MjQ4OTAxOTk8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iam91cm5hbC1pZCIgdHlwZT0ibnVtYmVyIj42MDQwNzwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJkZXBvc2l0LXRpbWVzdGFtcCIgdHlwZT0ibnVtYmVyIj4yMDE2MTIzMTAyNTY0NTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJvd25lci1wcmVmaXgiIHR5cGU9InN0cmluZyI+MTAuMTM3MTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJsYXN0LXVwZGF0ZSIgdHlwZT0iZGF0ZSI+MjAyMS0wOC0wNlQyMzo0OTo1NVo8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY3JlYXRlZCIgdHlwZT0iZGF0ZSI+MjAwNi0xMi0yMFQxOTozODo1N1o8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0ZWRieS1jb3VudCIgdHlwZT0ibnVtYmVyIj42MjwvY3JtLWl0ZW0+DQogICAgICAgIDxkb2lfcmVjb3JkPg0KICAgICAgICAgIDxjcm9zc3JlZiB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcveHNjaGVtYS8xLjEgaHR0cDovL2RvaS5jcm9zc3JlZi5vcmcvc2NoZW1hcy91bml4cmVmMS4xLnhzZCI+DQogICAgICAgICAgICA8am91cm5hbD4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfbWV0YWRhdGEgbGFuZ3VhZ2U9ImVuIj4NCiAgICAgICAgICAgICAgICA8ZnVsbF90aXRsZT5QTG9TIE9ORTwvZnVsbF90aXRsZT4NCiAgICAgICAgICAgICAgICA8YWJicmV2X3RpdGxlPlBMb1MgT05FPC9hYmJyZXZfdGl0bGU+DQogICAgICAgICAgICAgICAgPGlzc24gbWVkaWFfdHlwZT0iZWxlY3Ryb25pYyI+MTkzMi02MjAzPC9pc3NuPg0KICAgICAgICAgICAgICA8L2pvdXJuYWxfbWV0YWRhdGE+DQogICAgICAgICAgICAgIDxqb3VybmFsX2lzc3VlPg0KICAgICAgICAgICAgICAgIDxwdWJsaWNhdGlvbl9kYXRlIG1lZGlhX3R5cGU9Im9ubGluZSI+DQogICAgICAgICAgICAgICAgICA8bW9udGg+MTI8L21vbnRoPg0KICAgICAgICAgICAgICAgICAgPGRheT4yMDwvZGF5Pg0KICAgICAgICAgICAgICAgICAgPHllYXI+MjAwNjwveWVhcj4NCiAgICAgICAgICAgICAgICA8L3B1YmxpY2F0aW9uX2RhdGU+DQogICAgICAgICAgICAgICAgPGpvdXJuYWxfdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgPC9qb3VybmFsX3ZvbHVtZT4NCiAgICAgICAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgICAgICAgIDwvam91cm5hbF9pc3N1ZT4NCiAgICAgICAgICAgICAgPGpvdXJuYWxfYXJ0aWNsZSBwdWJsaWNhdGlvbl90eXBlPSJmdWxsX3RleHQiPg0KICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICA8dGl0bGU+VHJpb3NlIFBob3NwaGF0ZSBJc29tZXJhc2UgRGVmaWNpZW5jeSBJcyBDYXVzZWQgYnkgQWx0ZXJlZCBEaW1lcml6YXRpb27igJNOb3QgQ2F0YWx5dGljIEluYWN0aXZpdHnigJNvZiB0aGUgTXV0YW50IEVuenltZXM8L3RpdGxlPg0KICAgICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICAgIDxjb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJrdXM8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPlJhbHNlcjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkdpbm88L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkhlZXJlbjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPk1pY2hhZWw8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkJyZWl0ZW5iYWNoPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SGFuczwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+TGVocmFjaDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlN5bHZpYTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+S3JvYml0c2NoPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJlZGl0b3IiIHNlcXVlbmNlPSJmaXJzdCI+DQogICAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkd1aWxoZW08L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkphbmJvbjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPC9jb250cmlidXRvcnM+DQogICAgICAgICAgICAgICAgPHB1YmxpY2F0aW9uX2RhdGUgbWVkaWFfdHlwZT0ib25saW5lIj4NCiAgICAgICAgICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAgICAgICAgICAgICA8ZGF5PjIwPC9kYXk+DQogICAgICAgICAgICAgICAgICA8eWVhcj4yMDA2PC95ZWFyPg0KICAgICAgICAgICAgICAgIDwvcHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICAgICAgICA8cGFnZXM+DQogICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT5lMzA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgPC9wYWdlcz4NCiAgICAgICAgICAgICAgICA8cHVibGlzaGVyX2l0ZW0+DQogICAgICAgICAgICAgICAgICA8aXRlbV9udW1iZXI+MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMDwvaXRlbV9udW1iZXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXJfaXRlbT4NCiAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya192ZXJzaW9uPjE8L2Nyb3NzbWFya192ZXJzaW9uPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19wb2xpY3k+MTAuMTM3MS9qb3VybmFsLnBvbmUuY29ycmVjdGlvbnNfcG9saWN5PC9jcm9zc21hcmtfcG9saWN5Pg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgICA8Y3Jvc3NtYXJrX2RvbWFpbj4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9tYWluPnd3dy5wbG9zb25lLm9yZzwvZG9tYWluPg0KICAgICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW4+DQogICAgICAgICAgICAgICAgICA8L2Nyb3NzbWFya19kb21haW5zPg0KICAgICAgICAgICAgICAgICAgPGNyb3NzbWFya19kb21haW5fZXhjbHVzaXZlPmZhbHNlPC9jcm9zc21hcmtfZG9tYWluX2V4Y2x1c2l2ZT4NCiAgICAgICAgICAgICAgICAgIDxjdXN0b21fbWV0YWRhdGE+DQogICAgICAgICAgICAgICAgICAgIDxhaTpwcm9ncmFtIHhtbG5zOmFpPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy9BY2Nlc3NJbmRpY2F0b3JzLnhzZCIgbmFtZT0iQWNjZXNzSW5kaWNhdG9ycyI+DQogICAgICAgICAgICAgICAgICAgICAgPGFpOmxpY2Vuc2VfcmVmPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC88L2FpOmxpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICAgICAgICA8L2FpOnByb2dyYW0+DQogICAgICAgICAgICAgICAgICA8L2N1c3RvbV9tZXRhZGF0YT4NCiAgICAgICAgICAgICAgICA8L2Nyb3NzbWFyaz4NCiAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzA8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDx0aW1lc3RhbXA+MjAxNjEyMzEwMjU2NDU8L3RpbWVzdGFtcD4NCiAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzA8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgICAgICAgICA8aXRlbSBjcmF3bGVyPSJpUGFyYWRpZ21zIj4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzA8L3Jlc291cmNlPg0KICAgICAgICAgICAgICAgICAgICA8L2l0ZW0+DQogICAgICAgICAgICAgICAgICA8L2NvbGxlY3Rpb24+DQogICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OIEVuZ2wgSiBNZWQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QVMgU2NobmVpZGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjcyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIyOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA1Ni9ORUpNMTk2NTAyMDQyNzIwNTAzPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkhlcmVkaXRhcnkgSGVtb2x5dGljIEFuZW1pYSB3aXRoIFRyaW9zZXBob3NwaGF0ZSBJc29tZXJhc2UgRGVmaWNpZW5jeS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJhaWxsaWVyZXMgQmVzdCBQcmFjdCBSZXMgQ2xpbiBIYWVtYXRvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BUyBTY2huZWlkZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNTMvYmVoYS4yMDAwLjAwNjE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbmN5OiBoaXN0b3JpY2FsIHBlcnNwZWN0aXZlcyBhbmQgbW9sZWN1bGFyIGFzcGVjdHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CbG9vZCBDZWxscyBNb2wgRGlzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkEgU2NobmVpZGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDYvYmNtZC4xOTk2LjAwMTE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGVtYXRvbG9naWNhbGx5IGltcG9ydGFudCBtdXRhdGlvbnM6IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIFNvYyBUcmFuczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KIE9sYWg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA0Mi9ic3QwMzAwMDMwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogYSBuZXVyb2RlZ2VuZXJhdGl2ZSBtaXNmb2xkaW5nIGRpc2Vhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbSBKIEh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIFdhdGFuYWJlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzA4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1vbGVjdWxhciBhbmFseXNpcyBvZiBhIHNlcmllcyBvZiBhbGxlbGVzIGluIGh1bWFucyB3aXRoIHJlZHVjZWQgYWN0aXZpdHkgYXQgdGhlIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgbG9jdXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bbm4gSHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhXIE1vaHJlbndlaXNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjUxICggUHQgNCk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQ2OS0xODA5LjE5ODcudGIwMTA2NS54PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkZyZXF1ZW5jeSBhbmQgZGlzdHJpYnV0aW9uIG9mIHJhcmUgZWxlY3Ryb3Bob3JldGljIG1vYmlsaXR5IHZhcmlhbnRzIGluIGEgcG9wdWxhdGlvbiBvZiBodW1hbiBuZXdib3JucyBpbiBBbm4gQXJib3IsIE1pY2hpZ2FuLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGVkaWF0ciBSZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SFcgTW9ocmVud2Vpc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTYwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4MjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMjAzLzAwMDA2NDUwLTE5ODIxMTAwMC0wMDAxMjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FbGV2YXRlZCBmcmVxdWVuY3kgb2YgY2FycmllcnMgZm9yIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeSBpbiBuZXdib3JuIGluZmFudHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5IdW0gR2VuZXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U1cgRWJlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjY3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAwMjkxMzY0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByZXZhbGVuY2Ugb2YgcGFydGlhbCBkZWZpY2llbmN5IG9mIHJlZCBjZWxsIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gR2VybWFueeKAk2Egc3R1ZHkgb2YgMzAwMCBwZW9wbGUuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbSBKIEh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KViBOZWVsPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjYzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNlYXJjaCBmb3IgbXV0YXRpb25zIGFsdGVyaW5nIHByb3RlaW4gY2hhcmdlIGFuZC9vciBmdW5jdGlvbiBpbiBjaGlsZHJlbiBvZiBhdG9taWMgYm9tYiBzdXJ2aXZvcnM6IGZpbmFsIHJlcG9ydC48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SFcgTW9ocmVud2Vpc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Nzg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTA0NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjc4LjguNTA0NjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5GcmVxdWVuY3kgb2YgZW56eW1lIGRlZmljaWVuY3kgdmFyaWFudHMgaW4gZXJ5dGhyb2N5dGVzIG9mIG5ld2Jvcm4gaW5mYW50cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5FdXIgSiBDbGluIEludmVzdDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TVyBFYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+OTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xOTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTc5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMTEvai4xMzY1LTIzNjIuMTk3OS50YjAwOTIzLng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGVyZWRpdGFyeSBkZWZpY2llbmN5IG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gZm91ciB1bnJlbGF0ZWQgZmFtaWxpZXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjEyIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VuZXRpY3M8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UyBNZXJrbGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODM3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDkzL2dlbmV0aWNzLzEyMy40LjgzNzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DaGFyYWN0ZXJpemF0aW9uIG9mIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgbXV0YW50cyB3aXRoIHJlZHVjZWQgZW56eW1lIGFjdGl2aXR5IGluIE11cyBtdXNjdWx1cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIFRoZW9yIEJpb2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RiBPcm9zejwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE4Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40Mzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDYvanRiaS4xOTk2LjAxODQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbmN5OiBwcmVkaWN0aW9ucyBhbmQgZmFjdHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBOYXRsIEFjYWQgU2NpIFUgUyBBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPklPIERhYXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43OTAzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk4NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuODMuMjAuNzkwMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IdW1hbiB0cmlvc2UtcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbmN5OiBhIHNpbmdsZSBhbWlubyBhY2lkIHN1YnN0aXR1dGlvbiByZXN1bHRzIGluIGEgdGhlcm1vbGFiaWxlIGVuenltZS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5IdW0gTXV0YXQ8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UiBBcnlhPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjkwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyLyhTSUNJKTEwOTgtMTAwNCgxOTk3KTEwOjQmbHQ7MjkwOjpBSUQtSFVNVTQmZ3Q7My4wLkNPOzItTDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FdmlkZW5jZSBmb3IgZm91bmRlciBlZmZlY3Qgb2YgdGhlIEdsdTEwNEFzcCBzdWJzdGl0dXRpb24gYW5kIGlkZW50aWZpY2F0aW9uIG9mIG5ldyBtdXRhdGlvbnMgaW4gdHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbmN5LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CQSBQZXJyeTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjg4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYzNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAyMjY1Mjg3PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkh1bWFuIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2U6IHN1YnN0aXR1dGlvbiBvZiBBcmcgZm9yIEdseSBhdCBwb3NpdGlvbiAxMjIgaW4gYSB0aGVybW9sYWJpbGUgZWxlY3Ryb21vcnBoIHZhcmlhbnQsIFRQSS1NYW5jaGVzdGVyLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYxNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJsb29kPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkMgVmFsZW50aW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45Njwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTMwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZSBwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3kgaW4gMyBGcmVuY2ggZmFtaWxpZXM6IHR3byBub3ZlbCBudWxsIGFsbGVsZXMsIGEgZnJhbWVzaGlmdCBtdXRhdGlvbiAoVFBJIEFsZm9ydHZpbGxlKSBhbmQgYW4gYWx0ZXJhdGlvbiBpbiB0aGUgaW5pdGlhdGlvbiBjb2RvbiAoVFBJIFBhcmlzKS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMTgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbSBKIEh1bSBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NTCBDaGFuZzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjUyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTkzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHVtYW4gdHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBkZWZpY2llbmN5IHJlc3VsdGluZyBmcm9tIG11dGF0aW9uIG9mIFBoZS0yNDAuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjE5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SHVtIEdlbmV0PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlMgSG9sbGFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+OTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDg2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDAyMTY0NTY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGVyZWRpdGFyeSB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIChUUEkpIGRlZmljaWVuY3k6IHR3byBzZXZlcmVseSBhZmZlY3RlZCBicm90aGVycyBvbmUgd2l0aCBhbmQgb25lIHdpdGhvdXQgbmV1cm9sb2dpY2FsIHN5bXB0b21zLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyMCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkMgUiBTZWFuY2VzIFNvYyBCaW9sIEZpbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIEhvbGxhbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE5Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45Mjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+W0dseWNvbHl0aWMgZW56eW1lIGRlZmVjdHMgYW5kIG5ldXJvZGVnZW5lcmF0aW9uXS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jIE5hdGwgQWNhZCBTY2kgVSBTIEE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UyBIb2xsYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMDM2MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3My9wbmFzLjk0LjE5LjEwMzYyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNlYXJjaCBmb3IgdGhlIHBhdGhvZ2VuZXNpcyBvZiB0aGUgZGlmZmVyaW5nIHBoZW5vdHlwZSBpbiB0d28gY29tcG91bmQgaGV0ZXJvenlnb3RlIEh1bmdhcmlhbiBicm90aGVycyB3aXRoIHRoZSBzYW1lIGdlbm90eXBpYyB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3kuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIyIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBOYXRsIEFjYWQgU2NpIFUgUyBBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlMgSG9sbGFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+OTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjY4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuOTIuMS4yNjg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXJ5dGhyb2N5dGUgbGlwaWRzIGluIHRyaW9zZS1waG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3kuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjIzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBOYXRsIEFjYWQgU2NpIFUgUyBBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkYgT3Jvc3o8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMDI2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuOTcuMy4xMDI2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVuaGFuY2VkIGFzc29jaWF0aW9uIG9mIG11dGFudCB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIHRvIHJlZCBjZWxsIG1lbWJyYW5lcyBhbmQgdG8gYnJhaW4gbWljcm90dWJ1bGVzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdlbmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RCBNdW1iZXJnPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTU2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi8wMzc4LTExMTkoOTUpMDAwMzctNzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5ZZWFzdCB2ZWN0b3JzIGZvciB0aGUgY29udHJvbGxlZCBleHByZXNzaW9uIG9mIGhldGVyb2xvZ291cyBwcm90ZWlucyBpbiBkaWZmZXJlbnQgZ2VuZXRpYyBiYWNrZ3JvdW5kcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIEJpb3BoeXMgUmVzIENvbW11bjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIFJhbHNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM0Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43NDc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5iYnJjLjIwMDYuMDYuMTUxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFuIGVmZmljaWVudCBhbmQgZWNvbm9taWMgZW5oYW5jZXIgbWl4IGZvciBQQ1IuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+WWVhc3Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q0IgQnJhY2htYW5uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTE1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDAyLyhTSUNJKTEwOTctMDA2MSgxOTk4MDEzMCkxNDoyJmx0OzExNTo6QUlELVlFQTIwNCZndDszLjAuQ087Mi0yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRlc2lnbmVyIGRlbGV0aW9uIHN0cmFpbnMgZGVyaXZlZCBmcm9tICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7IFMyODhDOiBhIHVzZWZ1bCBzZXQgb2Ygc3RyYWlucyBhbmQgcGxhc21pZHMgZm9yIFBDUi1tZWRpYXRlZCBnZW5lIGRpc3J1cHRpb24gYW5kIG90aGVyIGFwcGxpY2F0aW9ucy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMjciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2wgQ2VsbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5IIEdvZWhsZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5tb2xjZWwuMjAwNC4wOS4wMTY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBwcm90ZWluIGludGVyYWN0aW9uIG5ldHdvcmsgbGlua3MgR0lUMSwgYW4gZW5oYW5jZXIgb2YgaHVudGluZ3RpbiBhZ2dyZWdhdGlvbiwgdG8gSHVudGluZ3RvbiZhbXA7YXBvcztzIGRpc2Vhc2UuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjI4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q3VyciBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5SSCBTY2hpZXN0bDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5ODk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAwMzQwNzEyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkhpZ2ggZWZmaWNpZW5jeSB0cmFuc2Zvcm1hdGlvbiBvZiBpbnRhY3QgeWVhc3QgY2VsbHMgdXNpbmcgc2luZ2xlIHN0cmFuZGVkIG51Y2xlaWMgYWNpZHMgYXMgYSBjYXJyaWVyLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYyOSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJpb3RlY2hub2wgUHJvZzwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5DIENvbXBhZ25vPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTkxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDIxL2JwOTYwMDQzYzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5HbHljZXJvbCBwcm9kdWN0aW9uIGluIGEgdHJpb3NlIHBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW50IG11dGFudCBvZiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0Oy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BcHBsIEVudmlyb24gTWljcm9iaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPktNIE92ZXJrYW1wPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Njg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjgxNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEyOC9BRU0uNjguNi4yODE0LTI4MjEuMjAwMjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5NZXRhYm9saWMgZW5naW5lZXJpbmcgb2YgZ2x5Y2Vyb2wgcHJvZHVjdGlvbiBpbiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0Oy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJhY3RlcmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIENpcmlhY3k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTUyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L0pCLjEzOS4xLjE1Mi0xNjAuMTk3OTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QaHlzaW9sb2dpY2FsIGVmZmVjdHMgb2Ygc2V2ZW4gZGlmZmVyZW50IGJsb2NrcyBpbiBnbHljb2x5c2lzIGluICZsdDtpdGFsaWMmZ3Q7U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlJmx0Oy9pdGFsaWMmZ3Q7LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzMiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFyY2ggQmlvY2hlbSBCaW9waHlzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlIgWWFtYWppPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDIzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzMjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9qLmFiYi4yMDA0LjAxLjAwMzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IeXBveGljIHVwLXJlZ3VsYXRpb24gb2YgdHJpb3NlcGhvc3BoYXRlIGlzb21lcmFzZSBleHByZXNzaW9uIGluIG1vdXNlIGJyYWluIGNhcGlsbGFyeSBlbmRvdGhlbGlhbCBjZWxscy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CTUMgQmlvdGVjaG5vbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TIEhhcmp1PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTg2LzE0NzItNjc1MC00LTg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmFwaWQgaXNvbGF0aW9uIG9mIHllYXN0IGdlbm9taWMgRE5BOiBCdXN0IG4mYW1wO2Fwb3M7IEdyYWIuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SHVtIE1vbCBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NIFJhbHNlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI4OTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwOTMvaG1nL2RkaTMyMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BdGF4aW4tMiBhbmQgaHVudGluZ3RpbiBpbnRlcmFjdCB3aXRoIGVuZG9waGlsaW4tQSBjb21wbGV4ZXMgdG8gZnVuY3Rpb24gaW4gcGxhc3Rpbi1hc3NvY2lhdGVkIHBhdGh3YXlzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzNSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZFTVMgWWVhc3QgUmVzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkcgSGVlcmVuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5mZW1zeXIuMjAwNC4wNS4wMDg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHJvbGUgb2YgcmVzcGlyYXRpb24sIHJlYWN0aXZlIG94eWdlbiBzcGVjaWVzIGFuZCBveGlkYXRpdmUgc3RyZXNzIGluIG1vdGhlciBjZWxsLXNwZWNpZmljIGFnZWluZyBvZiB5ZWFzdCBzdHJhaW5zIGRlZmVjdGl2ZSBpbiB0aGUgUkFTIHNpZ25hbGxpbmcgcGF0aHdheS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW90ZWNobmlxdWVzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk0gUmFsc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTY1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4yMTQ0LzA1MzkyQk0wMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5HZW5lcmF0aW9uIG9mIGEgeWVhc3QgdHdvLWh5YnJpZCBzdHJhaW4gc3VpdGFibGUgZm9yIGNvbXBldGl0aXZlIHByb3RlaW4gYmluZGluZyBhbmFseXNpcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmMzciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJpb2wgQ2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QSyBNYWl0cmE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNDY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDc1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L1MwMDIxLTkyNTgoMTgpNjI1MTQtMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIGtpbmV0aWMgc3R1ZHkgb2YgZ2x5Y29seXRpYyBlbnp5bWUgc3ludGhlc2lzIGluIHllYXN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWYzOCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFjdGEgQ3J5c3RhbGxvZ3JhcGggU2VjdCBGIFN0cnVjdCBCaW9sIENyeXN0IENvbW11bjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5UIEtpbm9zaGl0YTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjYxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM0NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEwNy9TMTc0NDMwOTEwNTAwODM0MTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdHJ1Y3R1cmUgb2YgYSBoaWdoLXJlc29sdXRpb24gY3J5c3RhbCBmb3JtIG9mIGh1bWFuIHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2U6IGltcHJvdmVtZW50IG9mIGNyeXN0YWxzIHVzaW5nIHRoZSBnZWwtdHViZSBtZXRob2QuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjM5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SiBCaW9sIENoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+WSBTaGk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yODA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDE4MDU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk01MDUxODEyMDA8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+R2VuZXRpYyBwZXJ0dXJiYXRpb24gb2YgZ2x5Y29seXNpcyByZXN1bHRzIGluIGluaGliaXRpb24gb2YgZGUgbm92byBpbm9zaXRvbCBiaW9zeW50aGVzaXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qmxvb2Q8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RiBPcm9zejwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjk4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMxMDY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExODIvYmxvb2QuVjk4LjEwLjMxMDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlzdGluY3QgYmVoYXZpb3Igb2YgbXV0YW50IHRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgaW4gaGVtb2x5c2F0ZSBhbmQgaW4gaXNvbGF0ZWQgZm9ybTogbW9sZWN1bGFyIGJhc2lzIG9mIGVuenltZSBkZWZpY2llbmN5LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBHZW5ldCBHZW5vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BViBLb2NoZXRvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI3MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40NDI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwNDM4LTAwMy0wOTQxLTA8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJyZWxhdGlvbnMgYmV0d2VlbiB0aGUgZWZmaWNpZW5jeSBvZiB0cmFuc2xhdGlvbiBzdGFydCBzaXRlcyBhbmQgb3RoZXIgc2VxdWVuY2UgZmVhdHVyZXMgb2YgeWVhc3QgbVJOQXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQyIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBOYXRsIEFjYWQgU2NpIFUgUyBBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk0gS296YWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjYyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuOTIuNy4yNjYyPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFkaGVyZW5jZSB0byB0aGUgZmlyc3QtQVVHIHJ1bGUgd2hlbiBhIHNlY29uZCBBVUcgY29kb24gZm9sbG93cyBjbG9zZWx5IHVwb24gdGhlIGZpcnN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0MyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1vbCBHZW5ldCBHZW5vbWljczwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BViBLb2NoZXRvdjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI3Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT40OTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvczAwNDM4LTAwNS0xMTUyLTc8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHJvbGUgb2YgYWx0ZXJuYXRpdmUgdHJhbnNsYXRpb24gc3RhcnQgc2l0ZXMgaW4gdGhlIGdlbmVyYXRpb24gb2YgaHVtYW4gcHJvdGVpbiBkaXZlcnNpdHkuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBJbnQgQ29uZiBJbnRlbGwgU3lzdCBNb2wgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BRyBQZWRlcnNlbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5ldXJhbCBuZXR3b3JrIHByZWRpY3Rpb24gb2YgdHJhbnNsYXRpb24gaW5pdGlhdGlvbiBzaXRlcyBpbiBldWthcnlvdGVzOiBwZXJzcGVjdGl2ZXMgZm9yIEVTVCBhbmQgZ2Vub21lIGFuYWx5c2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0NSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdlbmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q0kgR29uemFsZXo8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNzQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvUzAzNzgtMTExOSgwMSkwMDU1Mi0yPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5vbnNlbnNlLW1lZGlhdGVkIG1STkEgZGVjYXkgaW4gJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sIENlbGwgQmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KIEVzdG9qYWs8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41ODIwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI4L01DQi4xNS4xMC41ODIwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvcnJlbGF0aW9uIG9mIHR3by1oeWJyaWQgYWZmaW5pdHkgZGF0YSB3aXRoIGluIHZpdHJvIG1lYXN1cmVtZW50cy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNDciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BbmFsIEJpb2NoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SUcgU2VyZWJyaWlza2lpPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjg1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDYvYWJpby4yMDAwLjQ2NzI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VXNlcyBvZiBsYWNaIHRvIHN0dWR5IGdlbmUgZnVuY3Rpb246IGV2YWx1YXRpb24gb2YgYmV0YS1nYWxhY3Rvc2lkYXNlIGFzc2F5cyBlbXBsb3llZCBpbiB0aGUgeWVhc3QgdHdvLWh5YnJpZCBzeXN0ZW0uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjQ4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TW9sIE1pY3JvYmlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QIExhdW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTY2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTM2NS0yOTU4LjIwMDEuMDIzMTcueDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BZ2VkIG1vdGhlciBjZWxscyBvZiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0OyBzaG93IG1hcmtlcnMgb2Ygb3hpZGF0aXZlIHN0cmVzcyBhbmQgYXBvcHRvc2lzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY0OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogQ2VsbCBCaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkYgTWFkZW88L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzU3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDgzL2pjYi4xNDUuNC43NTc8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T3h5Z2VuIHN0cmVzczogYSByZWd1bGF0b3Igb2YgYXBvcHRvc2lzIGluIHllYXN0LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MgU29jIEV4cCBCaW9sIE1lZDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5SQSBGbG95ZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIyMjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMzY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTk5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNDYvai4xNTI1LTEzNzMuMTk5OS5kMDEtMTQwLng8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW50aW94aWRhbnRzLCBveGlkYXRpdmUgc3RyZXNzLCBhbmQgZGVnZW5lcmF0aXZlIG5ldXJvbG9naWNhbCBkaXNvcmRlcnMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjUxIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RXVyIEogUGVkaWF0cjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TVyBFYmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTUwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc2MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAyMDI2NzA2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRyaW9zZXBob3NwaGF0ZSBpc29tZXJhc2UgZGVmaWNpZW5jeTogaGFlbW9seXRpYyBhbmFlbWlhLCBteW9wYXRoeSB3aXRoIGFsdGVyZWQgbWl0b2Nob25kcmlhIGFuZCBtZW50YWwgcmV0YXJkYXRpb24gZHVlIHRvIGEgbmV3IHZhcmlhbnQgd2l0aCBhY2NlbGVyYXRlZCBlbnp5bWUgY2F0YWJvbGlzbSBhbmQgZGltaW5pc2hlZCBzcGVjaWZpYyBhY3Rpdml0eS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJpb2wgQ2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5KIEp1bmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDg5MzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzQvamJjLk0yMDg4MDYyMDA8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SW50ZXJhY3Rpb24gb2YgY29maWxpbiB3aXRoIHRyaW9zZS1waG9zcGhhdGUgaXNvbWVyYXNlIGNvbnRyaWJ1dGVzIGdseWNvbHl0aWMgZnVlbCBmb3IgTmEsSy1BVFBhc2UgdmlhIFJoby1tZWRpYXRlZCBzaWduYWxpbmcgcGF0aHdheS48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIEJpb2wgQ2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5USCBTYXd5ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNDc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjQ5OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9TMDAyMS05MjU4KDE5KTQ0NzIwLTA8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3R1ZGllcyBvbiBodW1hbiB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlLiBJSS4gTmF0dXJlIG9mIHRoZSBlbGVjdHJvcGhvcmV0aWMgbXVsdGlwbGljaXR5IGluIGVyeXRocm9jeXRlcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Db21wIEJpb2NoZW0gUGh5c2lvbCBCPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJNIFNuYXBrYTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjczMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi8wMzA1LTA0OTEoNzQpOTAyNTktNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Db21wYXJpc29uIG9mIHRoZSBlbGVjdHJvcGhvcmV0aWMgcHJvcGVydGllcyBvZiB0cmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlcyBvZiB2YXJpb3VzIHRpc3N1ZXMgYW5kIHNwZWNpZXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjU1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TnVjbGVpYyBBY2lkcyBSZXM8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UyBTdGFtbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPkQ0NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA5My9uYXIvZ2tqMDMxPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFTRDogYSBiaW9pbmZvcm1hdGljcyByZXNvdXJjZSBvbiBhbHRlcm5hdGl2ZSBzcGxpY2luZy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNTYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KIE5ldXJvY2hlbTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5JSCBIZW5uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+OTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTE0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQ3MS00MTU5LjIwMDQuMDI4NTQueDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QYXRob2dlbmljIG11dGF0aW9ucyBpbmFjdGl2YXRlIHBhcmtpbiBieSBkaXN0aW5jdCBtZWNoYW5pc21zLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1lZCBIeXBvdGhlc2VzPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdQIENvbmNlcGNpb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai5tZWh5LjIwMDUuMDYuMDA2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBjb2RvbiBmb3IgdGhlIG1ldGhpb25pbmUgYXQgcG9zaXRpb24gMTI5IChNMTI5KSBpbiB0aGUgaHVtYW4gcHJpb24gcHJvdGVpbiBwcm92aWRlcyBhbiBhbHRlcm5hdGl2ZSBpbml0aWF0aW9uIHNpdGUgZm9yIHRyYW5zbGF0aW9uIGFuZCByZW5kZXJzIGluZGl2aWR1YWxzIGhvbW96eWdvdXMgZm9yIE0xMjkgbW9yZSBzdXNjZXB0aWJsZSB0byBwcmlvbiBkaXNlYXNlLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk9uY29nZW5lPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkogTGl1PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mjc2NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAzOC9zai5vbmMuMTIwMzU5OTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Jbml0aWF0aW9uIG9mIHRyYW5zbGF0aW9uIGZyb20gYSBkb3duc3RyZWFtIGluLWZyYW1lIEFVRyBjb2RvbiBvbiBCUkNBMSBjYW4gZ2VuZXJhdGUgdGhlIG5vdmVsIGlzb2Zvcm0gcHJvdGVpbiBEZWx0YUJSQ0ExKDE3YWEpLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY1OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRyZW5kcyBCaW9jaGVtIFNjaTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5OSiBNYXJpYW5heWFnYW08L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MTg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvai50aWJzLjIwMDQuMDkuMDA2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBwb3dlciBvZiB0d286IHByb3RlaW4gZGltZXJpemF0aW9uIGluIGJpb2xvZ3kuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmlvY2hlbSBKPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkogT2xhaDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM5Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NzU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDA1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNDIvQkoyMDA1MDk5MzwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ucmlvc2VwaG9zcGhhdGUgaXNvbWVyYXNlIGRlZmljaWVuY3k6IGNvbnNlcXVlbmNlcyBvZiBhbiBpbmhlcml0ZWQgbXV0YXRpb24gYXQgbVJOQSwgcHJvdGVpbiBhbmQgbWV0YWJvbGljIGxldmVscy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIEJpb3BoeXMgUmVzIENvbW11bjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5OUyBLb3Nvd2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTkzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2LzAwMDYtMjkxWCg2OSk5MDg1MC1YPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRpYW1pZGUsIGEgbmV3IHJlYWdlbnQgZm9yIHRoZSBpbnRyYWNlbGx1bGFyIG94aWRhdGlvbiBvZiBnbHV0YXRoaW9uZSB0byB0aGUgZGlzdWxmaWRlLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk1ldGhvZHMgRW56eW1vbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5OUyBLb3Nvd2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjUxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi8wMDc2LTY4NzkoOTUpNTExMTYtNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EaWFtaWRlOiBhbiBveGlkYW50IHByb2JlIGZvciB0aGlvbHMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjYzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYyBOYXRsIEFjYWQgU2NpIFUgUyBBPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdXIFRob3JwZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEwMTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NTY0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDczL3BuYXMuMDMwNTg4ODEwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DZWxscyBoYXZlIGRpc3RpbmN0IG1lY2hhbmlzbXMgdG8gbWFpbnRhaW4gcHJvdGVjdGlvbiBhZ2FpbnN0IGRpZmZlcmVudCByZWFjdGl2ZSBveHlnZW4gc3BlY2llczogb3hpZGF0aXZlLXN0cmVzcy1yZXNwb25zZSBnZW5lcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CaW9jaGVtIEo8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RCBTaGVudG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzc0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjUxMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA0Mi9iajIwMDMwNDE0PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByb3RlaW4gUy10aGlvbGF0aW9uIHRhcmdldHMgZ2x5Y29seXNpcyBhbmQgcHJvdGVpbiBzeW50aGVzaXMgaW4gcmVzcG9uc2UgdG8gb3hpZGF0aXZlIHN0cmVzcyBpbiB0aGUgeWVhc3QgJmx0O2l0YWxpYyZndDtTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUmbHQ7L2l0YWxpYyZndDsuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjY1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RmFzZWIgSjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5DIENvbHVzc2k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMjY2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDk2L2ZqLjAwLTAwNzRjb208L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SDJPMi1pbmR1Y2VkIGJsb2NrIG9mIGdseWNvbHlzaXMgYXMgYW4gYWN0aXZlIEFEUC1yaWJvc3lsYXRpb24gcmVhY3Rpb24gcHJvdGVjdGluZyBjZWxscyBmcm9tIGFwb3B0b3Npcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5GcmVlIFJhZGljIEJpb2wgTWVkPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlZNIENvc3RhPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MzM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTUwNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjIwMDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAxNi9TMDg5MS01ODQ5KDAyKTAxMDg2LTk8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHlkcm9nZW4gcGVyb3hpZGUtaW5kdWNlZCBjYXJib255bGF0aW9uIG9mIGtleSBtZXRhYm9saWMgZW56eW1lcyBpbiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0OzogdGhlIGludm9sdmVtZW50IG9mIHRoZSBveGlkYXRpdmUgc3RyZXNzIHJlc3BvbnNlIHJlZ3VsYXRvcnMgWWFwMSBhbmQgU2tuNy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNjciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Nb2wgQ2VsbCBCaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNNIEdyYW50PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjY1MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5OTk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTEyOC9NQ0IuMTkuNC4yNjUwPC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRpZmZlcmVudGlhbCBwcm90ZWluIFMtdGhpb2xhdGlvbiBvZiBnbHljZXJhbGRlaHlkZS0zLXBob3NwaGF0ZSBkZWh5ZHJvZ2VuYXNlIGlzb2VuenltZXMgaW5mbHVlbmNlcyBzZW5zaXRpdml0eSB0byBveGlkYXRpdmUgc3RyZXNzLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkV1ciBKIEJpb2NoZW08L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SSBTY2h1cHBlLUtvaXN0aW5lbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIyMTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMDMzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTExL2ouMTQzMi0xMDMzLjE5OTQudGIxODgyMS54PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlMtdGhpb2xhdGlvbiBvZiBodW1hbiBlbmRvdGhlbGlhbCBjZWxsIGdseWNlcmFsZGVoeWRlLTMtcGhvc3BoYXRlIGRlaHlkcm9nZW5hc2UgYWZ0ZXIgaHlkcm9nZW4gcGVyb3hpZGUgdHJlYXRtZW50LjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY2OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkogQmlvbCBDaGVtPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlYgUmF2aWNoYW5kcmFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjY5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI1MDEwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDE2L1MwMDIxLTkyNTgoMTcpMzE0OTEtNjwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TLXRoaW9sYXRpb24gb2YgZ2x5Y2VyYWxkZWh5ZGUtMy1waG9zcGhhdGUgZGVoeWRyb2dlbmFzZSBpbmR1Y2VkIGJ5IHRoZSBwaGFnb2N5dG9zaXMtYXNzb2NpYXRlZCByZXNwaXJhdG9yeSBidXJzdCBpbiBibG9vZCBtb25vY3l0ZXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjcwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q3VyciBHZW5ldDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CIEtyZW1zPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDI3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDAzMTEyMTE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TXV0YW50cyBvZiAmbHQ7aXRhbGljJmd0O1NhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSZsdDsvaXRhbGljJmd0OyBzZW5zaXRpdmUgdG8gb3hpZGF0aXZlIGFuZCBvc21vdGljIHN0cmVzcy48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0icmVmNzEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bbm51IFJldiBQbGFudCBCaW9sPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJCIEJ1Y2hhbmFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTg3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MjAwNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTQ2L2FubnVyZXYuYXJwbGFudC41Ni4wMzI2MDQuMTQ0MjQ2PC9kb2k+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJlZG94IHJlZ3VsYXRpb246IGEgYnJvYWRlbmluZyBob3Jpem9uLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSJyZWY3MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFudGlveGlkIFJlZG94IFNpZ25hbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BIEhvbG1ncmVuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44MTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4yMDAwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODkvYXJzLjIwMDAuMi40LTgxMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BbnRpb3hpZGFudCBmdW5jdGlvbiBvZiB0aGlvcmVkb3hpbiBhbmQgZ2x1dGFyZWRveGluIHN5c3RlbXMuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9InJlZjczIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TiBFbmdsIEogTWVkPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPktCIEhhbW1vbmQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzY5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk5MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDU2L05FSk0xOTkxMDkxMjMyNTExMDQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RWZmaWNhY3kgb2Ygc3RhdGV3aWRlIG5lb25hdGFsIHNjcmVlbmluZyBmb3IgY3lzdGljIGZpYnJvc2lzIGJ5IGFzc2F5IG9mIHRyeXBzaW5vZ2VuIGNvbmNlbnRyYXRpb25zLjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgPC9jaXRhdGlvbl9saXN0Pg0KICAgICAgICAgICAgICAgIDxjb21wb25lbnRfbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDE8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwMTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDI8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDM8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwMzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDQ8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwNDwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDU8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwNjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDc8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwNzwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbiAvPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMzcxL2pvdXJuYWwucG9uZS4wMDAwMDMwLmcwMDg8L2RvaT4NCiAgICAgICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2R4LnBsb3Mub3JnLzEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuZzAwODwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgICA8L2NvbXBvbmVudD4NCiAgICAgICAgICAgICAgICAgIDxjb21wb25lbnQgcGFyZW50X3JlbGF0aW9uPSJpc1BhcnRPZiI+DQogICAgICAgICAgICAgICAgICAgIDxkb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgICAgICA8ZG9pPjEwLjEzNzEvam91cm5hbC5wb25lLjAwMDAwMzAuczAwMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwOi8vZHgucGxvcy5vcmcvMTAuMTM3MS9qb3VybmFsLnBvbmUuMDAwMDAzMC5zMDAxPC9yZXNvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICAgIDwvY29tcG9uZW50Pg0KICAgICAgICAgICAgICAgIDwvY29tcG9uZW50X2xpc3Q+DQogICAgICAgICAgICAgIDwvam91cm5hbF9hcnRpY2xlPg0KICAgICAgICAgICAgPC9qb3VybmFsPg0KICAgICAgICAgIDwvY3Jvc3NyZWY+DQogICAgICAgIDwvZG9pX3JlY29yZD4NCiAgICAgIDwvcXVlcnk+DQogICAgPC9ib2R5Pg0KICA8L3F1ZXJ5X3Jlc3VsdD4NCjwvY3Jvc3NyZWZfcmVzdWx0Pg==
352
+ recorded_at: Sun, 12 Mar 2023 22:26:41 GMT
353
+ - request:
354
+ method: get
355
+ uri: https://doi.org/ra/10.1371
356
+ body:
357
+ encoding: UTF-8
358
+ string: ''
359
+ headers:
360
+ Connection:
361
+ - close
362
+ Host:
363
+ - doi.org
364
+ User-Agent:
365
+ - http.rb/5.1.1
366
+ response:
367
+ status:
368
+ code: 200
369
+ message: OK
370
+ headers:
371
+ Date:
372
+ - Wed, 15 Mar 2023 06:02:03 GMT
373
+ Content-Type:
374
+ - application/json;charset=UTF-8
375
+ Transfer-Encoding:
376
+ - chunked
377
+ Connection:
378
+ - close
379
+ Permissions-Policy:
380
+ - interest-cohort=(),browsing-topics=()
381
+ Cf-Cache-Status:
382
+ - DYNAMIC
383
+ Report-To:
384
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=7UJPvavppmijmf0D%2Forys47H%2FZhfBx2EPM9Zua3mxLf5IB7DliSV%2F9ujUTOX9s%2Fei2UA5oc69xXNiY%2FIPcW7z6BXt1Z%2F8T%2BFiFsLR6bkJikoNgykifWgP6FcsxGTK%2Boude%2B%2BKAg%3D"}],"group":"cf-nel","max_age":604800}'
385
+ Nel:
386
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
387
+ Strict-Transport-Security:
388
+ - max-age=31536000; includeSubDomains; preload
389
+ Server:
390
+ - cloudflare
391
+ Cf-Ray:
392
+ - 7a828b999907b98e-AMS
393
+ Alt-Svc:
394
+ - h3=":443"; ma=86400, h3-29=":443"; ma=86400
395
+ body:
396
+ encoding: UTF-8
397
+ string: |-
398
+ [
399
+ {
400
+ "DOI": "10.1371",
401
+ "RA": "Crossref"
402
+ }
403
+ ]
404
+ recorded_at: Wed, 15 Mar 2023 06:02:03 GMT
405
+ - request:
406
+ method: get
407
+ uri: https://api.crossref.org/members/340
408
+ body:
409
+ encoding: UTF-8
410
+ string: ''
411
+ headers:
412
+ Connection:
413
+ - close
414
+ Host:
415
+ - api.crossref.org
416
+ User-Agent:
417
+ - http.rb/5.1.1
418
+ response:
419
+ status:
420
+ code: 200
421
+ message: OK
422
+ headers:
423
+ Date:
424
+ - Wed, 15 Mar 2023 06:42:22 GMT
425
+ Content-Type:
426
+ - application/json
427
+ Transfer-Encoding:
428
+ - chunked
429
+ Access-Control-Expose-Headers:
430
+ - Link
431
+ Access-Control-Allow-Headers:
432
+ - X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
433
+ Accept-Ranges, Cache-Control
434
+ Access-Control-Allow-Origin:
435
+ - "*"
436
+ Server:
437
+ - Jetty(9.4.40.v20210413)
438
+ X-Ratelimit-Limit:
439
+ - '50'
440
+ X-Ratelimit-Interval:
441
+ - 1s
442
+ X-Api-Pool:
443
+ - public
444
+ X-Rate-Limit-Limit:
445
+ - '50'
446
+ X-Rate-Limit-Interval:
447
+ - 1s
448
+ Permissions-Policy:
449
+ - interest-cohort=()
450
+ Connection:
451
+ - close
452
+ body:
453
+ encoding: UTF-8
454
+ string: '{"status":"ok","message-type":"member","message-version":"1.0.0","message":{"last-status-check-time":1678836457638,"primary-name":"Public
455
+ Library of Science (PLoS)","counts":{"current-dois":45421,"backfile-dois":289964,"total-dois":335385},"breakdowns":{"dois-by-issued-year":[[2013,36487],[2014,35452],[2015,33537],[2012,27083],[2016,26725],[2017,24569],[2018,22183],[2021,20842],[2022,20628],[2020,20426],[2019,19633],[2011,16660],[2010,9348],[2009,6703],[2008,4589],[2023,3951],[2007,2671],[2005,1643],[2006,1612],[2004,540],[2003,103]]},"prefixes":["10.24196","10.1371"],"coverage":{"affiliations-current":0.0,"similarity-checking-current":1.0,"descriptions-current":0.0,"ror-ids-current":0.0,"funders-backfile":0.2255038556510463,"licenses-backfile":0.9877364086576265,"funders-current":0.6886021884150503,"affiliations-backfile":7.207791312024941E-4,"resource-links-backfile":0.0,"orcids-backfile":0.2808555544826254,"update-policies-current":1.0,"ror-ids-backfile":0.0,"orcids-current":0.9588296162567975,"similarity-checking-backfile":0.9124029189830462,"references-backfile":0.9200521444041329,"descriptions-backfile":0.0,"award-numbers-backfile":0.1966451007711302,"update-policies-backfile":0.9945613938281994,"licenses-current":0.9999339512560269,"award-numbers-current":0.5788291759318377,"abstracts-backfile":0.01231532190202922,"resource-links-current":0.0,"abstracts-current":0.9567160564496598,"references-current":0.9997798375200898},"prefix":[{"name":"Public
456
+ Library of Science (PLoS)","value":"10.24196"},{"name":"Public Library of
457
+ Science","value":"10.1371"}],"id":340,"tokens":["public","library","of","science","plos"],"counts-type":{"all":{"journal-article":335385,"journal":1,"component":3484698,"dataset":7},"backfile":{"journal-article":289964},"current":{"journal-article":45421}},"coverage-type":{"all":{"journal-article":{"last-status-check-time":1678836457638,"affiliations":6.231644229765792E-4,"abstracts":0.1402149768176871,"orcids":0.3726731964756921,"licenses":0.9893883149216572,"references":0.9308496205852975,"funders":0.2882209997465599,"similarity-checking":0.9242661418966263,"award-numbers":0.248404072931109,"ror-ids":0.0,"update-policies":0.9952979411720858,"resource-links":0.0,"descriptions":0.0},"journal":{"last-status-check-time":1678836457638,"affiliations":0.0,"abstracts":0.0,"orcids":0.0,"licenses":0.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0},"component":{"last-status-check-time":1678836457638,"affiliations":0.0,"abstracts":0.0,"orcids":0.0,"licenses":0.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":4.935865317453622E-5},"dataset":{"last-status-check-time":1678836457638,"affiliations":0.0,"abstracts":0.0,"orcids":0.0,"licenses":0.0,"references":0.0,"funders":0.0,"similarity-checking":0.0,"award-numbers":0.0,"ror-ids":0.0,"update-policies":0.0,"resource-links":0.0,"descriptions":0.0}},"backfile":{"journal-article":{"last-status-check-time":1678836457638,"affiliations":7.207791312024941E-4,"abstracts":0.01231532190202922,"orcids":0.2808555544826254,"licenses":0.9877364086576265,"references":0.9200521444041329,"funders":0.2255038556510463,"similarity-checking":0.9124029189830462,"award-numbers":0.1966451007711302,"ror-ids":0.0,"update-policies":0.9945613938281994,"resource-links":0.0,"descriptions":0.0}},"current":{"journal-article":{"last-status-check-time":1678836457638,"affiliations":0.0,"abstracts":0.9567160564496598,"orcids":0.9588296162567975,"licenses":0.9999339512560269,"references":0.9997798375200898,"funders":0.6886021884150503,"similarity-checking":1.0,"award-numbers":0.5788291759318377,"ror-ids":0.0,"update-policies":1.0,"resource-links":0.0,"descriptions":0.0}}},"flags":{"deposits-abstracts-current":true,"deposits-orcids-current":true,"deposits":true,"deposits-affiliations-backfile":true,"deposits-update-policies-backfile":true,"deposits-similarity-checking-backfile":true,"deposits-award-numbers-current":true,"deposits-resource-links-current":false,"deposits-ror-ids-current":false,"deposits-articles":true,"deposits-affiliations-current":false,"deposits-funders-current":true,"deposits-references-backfile":true,"deposits-ror-ids-backfile":false,"deposits-abstracts-backfile":true,"deposits-licenses-backfile":true,"deposits-award-numbers-backfile":true,"deposits-descriptions-current":false,"deposits-references-current":true,"deposits-resource-links-backfile":false,"deposits-descriptions-backfile":false,"deposits-orcids-backfile":true,"deposits-funders-backfile":true,"deposits-update-policies-current":true,"deposits-similarity-checking-current":true,"deposits-licenses-current":true},"location":"San
458
+ Francisco, CA, United States","names":["Public Library of Science (PLoS)","Public
459
+ Library of Science"]}}'
460
+ recorded_at: Wed, 15 Mar 2023 06:42:22 GMT
461
+ recorded_with: VCR 6.1.0