bolognese 1.6.12 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (456) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -3
  3. data/bolognese.gemspec +2 -2
  4. data/lib/bolognese/datacite_utils.rb +2 -3
  5. data/lib/bolognese/doi_utils.rb +1 -1
  6. data/lib/bolognese/metadata.rb +7 -2
  7. data/lib/bolognese/readers/bibtex_reader.rb +0 -1
  8. data/lib/bolognese/readers/citeproc_reader.rb +2 -14
  9. data/lib/bolognese/readers/codemeta_reader.rb +4 -7
  10. data/lib/bolognese/readers/crossref_reader.rb +3 -5
  11. data/lib/bolognese/readers/datacite_reader.rb +3 -5
  12. data/lib/bolognese/readers/ris_reader.rb +3 -9
  13. data/lib/bolognese/readers/schema_org_reader.rb +3 -5
  14. data/lib/bolognese/version.rb +1 -1
  15. data/spec/author_utils_spec.rb +1 -1
  16. data/spec/cli_spec.rb +2 -2
  17. data/spec/datacite_utils_spec.rb +14 -15
  18. data/spec/doi_utils_spec.rb +7 -7
  19. data/spec/fixtures/schema_org_gtex.json +0 -1
  20. data/spec/fixtures/schema_org_list.json +0 -5
  21. data/spec/fixtures/schema_org_topmed.json +0 -1
  22. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +19 -15
  23. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +19 -15
  24. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +19 -15
  25. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +19 -15
  26. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +19 -15
  27. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +19 -15
  28. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +19 -15
  29. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +24 -20
  30. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +24 -20
  31. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +25 -21
  32. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +25 -21
  33. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +25 -21
  34. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +25 -21
  35. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +24 -20
  36. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +24 -24
  37. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +24 -24
  38. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +24 -24
  39. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +24 -24
  40. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +13 -9
  41. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +13 -9
  42. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +13 -9
  43. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +13 -9
  44. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +13 -9
  45. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +13 -9
  46. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +6 -6
  47. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +6 -6
  48. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +6 -6
  49. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +6 -6
  50. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +25 -21
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +24 -20
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +6 -6
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +6 -6
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +6 -6
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +6 -6
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +6 -6
  57. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +6 -6
  58. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  59. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +6 -6
  60. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +6 -6
  61. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +6 -6
  62. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +6 -6
  63. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +6 -6
  64. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +6 -6
  65. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +6 -6
  66. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +6 -6
  67. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +6 -6
  68. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +6 -6
  69. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +6 -6
  70. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +6 -6
  71. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +19 -15
  72. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +19 -15
  73. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +19 -15
  74. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +19 -15
  75. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +19 -15
  76. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +6 -6
  77. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +19 -15
  78. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +19 -15
  79. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +6 -6
  80. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +6 -6
  81. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +6 -6
  82. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +6 -6
  83. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +6 -6
  84. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +6 -6
  85. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +6 -6
  86. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +41 -33
  87. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +41 -33
  88. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +40 -32
  89. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +40 -32
  90. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +28 -24
  91. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +28 -24
  92. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +27 -23
  93. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +41 -33
  94. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +28 -24
  95. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +27 -23
  96. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +27 -23
  97. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +27 -23
  98. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +28 -24
  99. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +27 -23
  100. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +28 -24
  101. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +28 -24
  102. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +27 -23
  103. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +28 -24
  104. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_for_match.yml +5 -5
  105. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_match.yml +5 -5
  106. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/hsh_to_fos_no_match.yml +5 -5
  107. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_for_match.yml +4 -4
  108. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_match.yml +5 -5
  109. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/fos/name_to_fos_no_match.yml +5 -5
  110. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +6 -6
  111. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/with_affiliation.yml +6 -6
  112. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org_creators/without_affiliation.yml +6 -6
  113. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +25 -27
  114. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +23 -25
  115. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +18 -14
  116. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +18 -14
  117. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +19 -15
  118. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +18 -14
  119. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +17 -13
  120. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +19 -15
  121. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +18 -14
  122. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +19 -15
  123. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/author_literal.yml +15 -13
  124. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +19 -15
  125. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +17 -13
  126. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +17 -15
  127. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +19 -15
  128. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +35 -31
  129. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +29 -22
  130. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +19 -15
  131. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml +14 -12
  132. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml +15 -15
  133. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +19 -15
  134. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +17 -13
  135. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +18 -14
  136. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +18 -16
  137. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +19 -15
  138. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +17 -13
  139. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +17 -13
  140. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +26 -21
  141. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +19 -15
  142. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +18 -14
  143. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +17 -13
  144. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +19 -15
  145. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +18 -14
  146. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +18 -14
  147. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +17 -13
  148. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_json_metadata/metadata_from_api.yml +22 -20
  149. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +28 -24
  150. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +26 -22
  151. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml +27 -23
  152. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +31 -28
  153. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +23 -19
  154. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +24 -20
  155. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +25 -21
  156. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +24 -20
  157. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +25 -21
  158. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +29 -24
  159. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Schema_org_type.yml +24 -22
  160. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +24 -20
  161. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +25 -21
  162. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +24 -20
  163. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +29 -26
  164. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +38 -24
  165. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +24 -20
  166. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +27 -24
  167. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +26 -22
  168. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +19 -19
  169. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_references.yml +20 -18
  170. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +42 -38
  171. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +25 -21
  172. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +35 -32
  173. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +33 -29
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +20 -19
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +31 -28
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +37 -33
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +25 -21
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +24 -20
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +32 -25
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +6 -6
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +6 -6
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +6 -6
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +6 -6
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +6 -6
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +6 -6
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +6 -6
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +6 -6
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +6 -6
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +6 -6
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/future.yml +4 -4
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/invalid.yml +4 -4
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/nil.yml +4 -4
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/past.yml +4 -4
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_time/present.yml +4 -4
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +14 -14
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +12 -12
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +25 -25
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +11 -11
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +11 -11
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +1180 -1161
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +6 -6
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +18 -19
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +11 -11
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +11 -11
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +19 -19
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +11 -11
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +13 -9
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +26 -22
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +24 -22
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +7 -8
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +11 -9
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +70 -62
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +6 -6
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +6 -6
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +6 -6
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +6 -6
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +6 -6
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +6 -6
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +6 -6
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +13 -9
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +13 -9
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +12 -12
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +11 -11
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml +12 -12
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +15 -15
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +11 -11
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml +11 -11
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +11 -11
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +12 -12
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +11 -11
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +11 -11
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +12 -12
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +11 -11
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +11 -11
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml +12 -12
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +11 -11
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +11 -11
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +12 -12
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +6 -6
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +6 -6
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +6 -6
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +6 -6
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +6 -6
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +6 -6
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +6 -6
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +28 -24
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +27 -23
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +28 -24
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +28 -24
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/not_found.yml +5 -5
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash.yml +4 -4
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +5 -5
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +6 -6
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +6 -6
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +6 -6
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +6 -6
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +6 -6
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +6 -6
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +6 -6
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +6 -6
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +6 -6
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +6 -6
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +6 -6
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +6 -6
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +6 -6
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +6 -6
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +6 -6
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +6 -6
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +6 -6
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +6 -6
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +6 -6
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +6 -6
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +6 -6
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +6 -6
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +6 -6
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +6 -6
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +6 -6
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +6 -6
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +6 -6
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +6 -6
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +6 -6
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +4 -4
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +6 -6
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +6 -6
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +6 -6
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +6 -6
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +6 -6
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +6 -6
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +6 -6
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +6 -6
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id.yml +4 -4
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_not_found.yml +5 -5
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_url.yml +4 -4
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_exists.yml +5 -5
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_id.yml +4 -4
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +6 -6
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +6 -6
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +6 -6
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +6 -6
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +6 -6
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +6 -6
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +6 -6
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +6 -6
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +6 -6
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +6 -6
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +6 -6
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +6 -6
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +6 -6
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +6 -6
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +6 -6
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +6 -6
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +6 -6
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +6 -6
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +6 -6
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +6 -6
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +6 -6
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +6 -6
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +6 -6
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +6 -6
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +15 -15
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +12 -12
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +19 -19
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +14 -15
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +24 -24
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +32 -25
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +25 -27
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +12 -12
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +6 -6
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +5 -5
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +12 -12
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +6 -6
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +51 -0
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +6 -6
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +8 -8
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/software_w/version.yml +19 -8
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +15 -15
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +25 -23
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +11 -11
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +12 -12
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +8 -8
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +6 -6
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +32 -25
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +25 -27
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +6 -6
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +11 -11
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/organization_author.yml +4 -4
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +11 -11
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software_w/version.yml +23 -12
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +6 -6
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +5 -5
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +14 -15
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +14 -15
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +12 -12
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +25 -27
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +5 -5
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +6 -6
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +24 -24
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +12 -12
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +13 -14
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +25 -27
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +11 -11
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +6 -6
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +5 -5
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +25 -27
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +5 -5
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +6 -6
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +24 -24
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +10 -10
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +12 -12
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +33 -33
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +34 -34
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +25 -27
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +5 -5
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +24 -24
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +6 -6
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_version.yml +16 -16
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +11 -11
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +34 -34
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +21 -21
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +7 -7
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +25 -27
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +5 -5
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +6 -6
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +23 -25
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +6 -6
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +14 -14
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +20 -20
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/journal_article.yml +5 -5
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/maremma.yml +22 -24
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_rdf_xml/with_pages.yml +5 -5
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +14 -14
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +24 -24
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +12 -12
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +12 -12
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +6 -6
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +31 -24
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +25 -27
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +5 -5
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +18 -18
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +28 -17
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +24 -24
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +40 -18
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +18 -18
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +12 -12
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +16 -17
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +13 -14
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +36 -28
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +7 -7
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +6 -6
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +25 -27
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +11 -11
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +12 -12
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +31 -24
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting.yml +14 -14
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +20 -20
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +12 -12
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/journal_article.yml +5 -5
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/with_pages.yml +5 -5
  420. data/spec/readers/bibtex_reader_spec.rb +3 -3
  421. data/spec/readers/citeproc_reader_spec.rb +3 -3
  422. data/spec/readers/codemeta_reader_spec.rb +4 -4
  423. data/spec/readers/crossref_reader_spec.rb +73 -63
  424. data/spec/readers/datacite_json_reader_spec.rb +2 -1
  425. data/spec/readers/datacite_reader_spec.rb +94 -92
  426. data/spec/readers/ris_reader_spec.rb +4 -4
  427. data/spec/readers/schema_org_reader_spec.rb +40 -38
  428. data/spec/writers/bibtex_writer_spec.rb +2 -2
  429. data/spec/writers/citation_writer_spec.rb +8 -8
  430. data/spec/writers/citeproc_writer_spec.rb +2 -2
  431. data/spec/writers/codemeta_writer_spec.rb +0 -1
  432. data/spec/writers/crosscite_writer_spec.rb +3 -3
  433. data/spec/writers/datacite_writer_spec.rb +14 -15
  434. data/spec/writers/jats_writer_spec.rb +3 -3
  435. data/spec/writers/ris_writer_spec.rb +6 -5
  436. data/spec/writers/schema_org_writer_spec.rb +6 -18
  437. metadata +7 -25
  438. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/error_unknown.yml +0 -88
  439. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/jj.yml +0 -87
  440. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_t.yml +0 -47
  441. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +0 -93
  442. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datetime_from_timestamp/present.yml +0 -44
  443. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_crossrer_organization.yml +0 -44
  444. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +0 -158
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml +0 -706
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +0 -49
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_formats/insert.yml +0 -49
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_given_and_family_name.yml +0 -49
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/to_https.yml +0 -44
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/hsh_to_spdx_id_lowercase.yml +0 -44
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/spdx/name_to_spdx_not_found.yml +0 -44
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/http.yml +0 -44
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/uri.yml +0 -44
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/url_to_https/with_trailing_slash.yml +0 -44
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/dataset_neurophysiology.yml +0 -116
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml +0 -46
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.1; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -29,19 +29,19 @@ http_interactions:
29
29
  Location:
30
30
  - "/eating-your-own-dog-food/"
31
31
  Date:
32
- - Wed, 03 Jul 2019 19:23:50 GMT
32
+ - Sun, 12 Jul 2020 11:21:11 GMT
33
33
  Server:
34
34
  - AmazonS3
35
- Age:
36
- - '65'
37
35
  X-Cache:
38
36
  - Hit from cloudfront
39
37
  Via:
40
- - 1.1 7035adfe06ca45e7cf6c5192076cf266.cloudfront.net (CloudFront)
38
+ - 1.1 4ecd74dda94d7576e134fcdf16df8129.cloudfront.net (CloudFront)
41
39
  X-Amz-Cf-Pop:
42
- - CDG3
40
+ - DUS51-C1
43
41
  X-Amz-Cf-Id:
44
- - Up8abbAWJ0OWq7Lwh_i827K9ZaYjXfd9FaNqSmRLZubKxS5uVHbmLA==
42
+ - l0kCESRAUVT4OkjveZrzhLfKFa9mltgcih7tqWcE1VRBEBB0mW6CpA==
43
+ Age:
44
+ - '324'
45
45
  body:
46
46
  encoding: ASCII-8BIT
47
47
  string: |
@@ -52,14 +52,14 @@ http_interactions:
52
52
  <ul>
53
53
  <li>Code: Found</li>
54
54
  <li>Message: Resource Found</li>
55
- <li>RequestId: 996DBCA6B99F73FD</li>
56
- <li>HostId: kFur3CFjWGhyrGmKevE08I4y/IwufI2+/4WFr4/WG9U8ZtcgO5caMm2sSamoKVTJXtkh8SOr3dQ=</li>
55
+ <li>RequestId: 2B1C41832533005C</li>
56
+ <li>HostId: oS3hc/WjIZHu480Mcip/u7idjRa0UgvlxwbX3kqKgL+pDfftfYBcZIA+ziGuc3jtbEfDOWnx550=</li>
57
57
  </ul>
58
58
  <hr/>
59
59
  </body>
60
60
  </html>
61
- http_version:
62
- recorded_at: Wed, 03 Jul 2019 19:24:55 GMT
61
+ http_version:
62
+ recorded_at: Sun, 12 Jul 2020 11:26:36 GMT
63
63
  - request:
64
64
  method: get
65
65
  uri: https://blog.datacite.org/eating-your-own-dog-food/
@@ -68,7 +68,7 @@ http_interactions:
68
68
  string: ''
69
69
  headers:
70
70
  User-Agent:
71
- - Mozilla/5.0 (compatible; Maremma/4.2.1; mailto:info@datacite.org)
71
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
72
72
  Accept:
73
73
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
74
74
  response:
@@ -79,33 +79,33 @@ http_interactions:
79
79
  Content-Type:
80
80
  - text/html
81
81
  Content-Length:
82
- - '23822'
82
+ - '21411'
83
83
  Connection:
84
84
  - keep-alive
85
85
  Date:
86
- - Wed, 03 Jul 2019 10:05:02 GMT
86
+ - Sun, 12 Jul 2020 06:07:23 GMT
87
87
  Cache-Control:
88
88
  - max-age=31536000
89
89
  Last-Modified:
90
- - Mon, 01 Jul 2019 11:34:37 GMT
90
+ - Fri, 10 Jul 2020 06:47:19 GMT
91
91
  Etag:
92
- - '"002f11a3260f60c20ffb0b450d04be3f"'
92
+ - '"d75dff518202b1c411027a725295d017"'
93
93
  Server:
94
94
  - AmazonS3
95
- Age:
96
- - '33594'
97
95
  X-Cache:
98
96
  - Hit from cloudfront
99
97
  Via:
100
- - 1.1 eed7d9591f36cd4a3ae68df24cf888c0.cloudfront.net (CloudFront)
98
+ - 1.1 877a7509af39a63279b2520fa0b455fa.cloudfront.net (CloudFront)
101
99
  X-Amz-Cf-Pop:
102
- - CDG3
100
+ - DUS51-C1
103
101
  X-Amz-Cf-Id:
104
- - 2rDRX4SxM6UoRFldUeaJiMkAiGNDYeFNkpHdYrPdgx-ceV5hUC_wsA==
102
+ - fivVOc2uwnkrIo9h5WdxuuKQiHUx25Sr7O1d6BWtfPo3Wise25qW_w==
103
+ Age:
104
+ - '19154'
105
105
  body:
106
106
  encoding: ASCII-8BIT
107
107
  string: !binary |-
108
- PCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDwhLS0gKDEpIE9wdGltaXplIGZvciBtb2JpbGUgdmVyc2lvbnM6IGh0dHA6Ly9nb28uZ2wvRU9wRmwgLS0+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8IS0tICgxKSBmb3JjZSBsYXRlc3QgSUUgcmVuZGVyaW5nIGVuZ2luZTogYml0Lmx5LzFjOEVpQzkgLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKCiAgICA8dGl0bGU+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiAvPgoKICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9IlRydWUiIC8+CiAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjMyMCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1zdGF0dXMtYmFyLXN0eWxlIiBjb250ZW50PSJibGFjay10cmFuc2x1Y2VudCI+CgogICAgPCEtLSBEdWJsaW5Db3JlIE1ldGFkYXRhIC0tPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnRpdGxlIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6Zm9ybWF0IiBjb250ZW50PSJ0ZXh0L2h0bWwiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6bGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnJpZ2h0cyIgY29udGVudD0iQ0MtQlkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6c291cmNlIiBjb250ZW50PSJEYXRhQ2l0ZSBCbG9nIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnN1YmplY3QiIGNvbnRlbnQ9IlNjaG9sYXJseSBDb21tdW5pY2F0aW9uIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CgoKICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkVhdGluZyB5b3VyIG93biBEb2cgRm9vZCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRWF0aW5nIHlvdXIgb3duIGRvZyBmb29kIGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvci4uLiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0iYmxvZyIgLz4KCiAgICA8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrQmFza2VydmlsbGU6NDAwLDQwMGksNzAwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0nLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXk6NDAwLDYwMCw0MDBpdGFsaWMsNjAwaXRhbGljJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Ii8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4xL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvc3R5bGVzaGVldHMvZGF0YWNpdGUuY3NzIiByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvaWNvIiAvPgoKICAgICAgPHNjcmlwdAogICAgICAgIHNyYz0iLy9kMnd5OGY3YTl1cnNubS5jbG91ZGZyb250Lm5ldC9idWdzbmFnLTIubWluLmpzIgogICAgICAgIGRhdGEtYXBpa2V5PSJjMzdhNTg2MTk2NzA5MWE5YjQyYTFhNzdlMjM1MTE0YSI+CiAgICAgIDwvc2NyaXB0PgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgIHsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciLCJuYW1lIjoiRWF0aW5nIHlvdXIgb3duIERvZyBGb29kIiwidXJsIjoiaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvIiwiYXV0aG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiLCJnaXZlbk5hbWUiOiJNYXJ0aW4iLCJmYW1pbHlOYW1lIjoiRmVubmVyIiwibmFtZSI6Ik1hcnRpbiBGZW5uZXIiLCJhZmZpbGlhdGlvbiI6IkRhdGFDaXRlIn1dLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiRGF0YUNpdGUifSwiZGF0ZUNyZWF0ZWQiOiIyMDE2LTEyLTIwIiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTYtMTItMjAiLCJkYXRlTW9kaWZpZWQiOiIyMDE2LTEyLTIwIiwia2V5d29yZHMiOiJkYXRhY2l0ZSwgZG9pLCBtZXRhZGF0YSwgZmVhdHVyZWQiLCJ2ZXJzaW9uIjoiMS4wIiwiZGVzY3JpcHRpb24iOiJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiwibGljZW5zZSI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvIiwiaW1hZ2UiOiIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIsImlzUGFydE9mIjp7IkB0eXBlIjoiQmxvZyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMDAtMDBTUyIsIm5hbWUiOiJEYXRhQ2l0ZSBCbG9nIn0sImNpdGF0aW9uIjpbeyJAdHlwZSI6IkNyZWF0aXZlV29yayIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIifSx7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIn1dfQogICAgPC9zY3JpcHQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIiBpZD0ibmF2dG9wIj4KICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci13aGl0ZSIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiCiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iLyI+RGF0YUNpdGUgQmxvZzwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0LmRhdGFjaXRlLm9yZyI+U3VwcG9ydDwvYT48L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBpZD0ic2l0ZXMiPjxpIGNsYXNzPSdmYSBmYS10aCc+PC9pPiA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZ2xvYmUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBIb21lcGFnZTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1yc3MgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBCbG9nPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL21kcy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1kYXRhYmFzZSBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIE1EUzwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWZpbGUtY29kZS1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2NoZW1hPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2NpdGF0aW9uLmNyb3NzY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1maWxlLXRleHQtbyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIENpdGF0aW9uIEZvcm1hdHRlcjwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zZWFyY2guZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtc2VhcmNoIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2VhcmNoPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9vYWkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtdGFibGUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBPQUktUE1IPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGF0cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1iYXItY2hhcnQgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBTdGF0aXN0aWNzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtY29ncyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIFJFU1QgQVBJPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5yZTNkYXRhLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWN1YmVzIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgcmUzZGF0YTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3N0YXR1cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1jYWxlbmRhci1jaGVjay1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU3RhdHVzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9oZWFkZXI+CiAgICAgIDxkaXYgY2xhc3M9IndyYXBwZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzZWN0aW9uLXdoaXRlIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgcm93LXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxhIG5hbWU9InRvcG9mcGFnZSI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0LW1ldGEiPgogICAgICAgICAgICAgIDxoMT5FYXRpbmcgeW91ciBvd24gRG9nIEZvb2Q8L2gxPgogICAgICAgICAgICAgIERlY2VtYmVyIDIwLCAyMDE2IGJ5IE1hcnRpbiBGZW5uZXIKICAgICAgICAgICAgICDigKIgPHNwYW4gY2xhc3M9InBvc3QtcmVhZGluZy10aW1lIj48L3NwYW4+IHJlYWQKICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkb2kiPjxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZyIgZGF0YS1wcm9vZmVyLWlnbm9yZT0idHJ1ZSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnPC9hPjwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8cD48YSBocmVmPSJodHRwczovL25ld3JlcHVibGljLmNvbS9hcnRpY2xlLzExNTM0OS9kb2dmb29kaW5nLXRlY2gtc2xhbmctd29ya2luZy1vdXQtZ2xpdGNoZXMiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZDwvYT4gaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yIHRoZSBzY2hvbGFybHkgb3V0cHV0cyB3ZSBwcm9kdWNlLiBGb3IgdGhlIG1vc3QgcGFydCB0aGlzIGlzIG5vdCByZXNlYXJjaCBkYXRhLCBidXQgcmF0aGVyIHRlY2huaWNhbCBkb2N1bWVudHMgc3VjaCBhcyB0aGUgRGF0YUNpdGUgU2NoZW1hIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4uPC9wPgo8cD5UaGVzZSBvdXRwdXRzIGFsc28gaW5jbHVkZSB0aGUgcG9zdHMgb24gdGhpcyBibG9nLCB3aGVyZSB3ZSBkaXNjdXNzIHRvcGljcyByZWxldmFudCBmb3IgdGhlIERhdGFDaXRlIGNvbW11bml0eSwgYnV0IGFsc28gb2YgYnJvYWRlciBpbnRlcmVzdCB0byBhbnlvbmUgd2hvIGNhcmVzIGFib3V0IHJlc2VhcmNoIGRhdGEsIHBlcnNpc3RlbnQgaWRlbnRpZmllcnMsIGFuZCBzY2hvbGFybHkgaW5mcmFzdHJ1Y3R1cmUuIEFuZCBzdGFydGluZyB0b2RheSBhbGwgYmxvZyBwb3N0cyBvbiB0aGlzIGJsb2cgd2lsbCBoYXZlIGEgRE9JLCBtZXRhZGF0YSBhbmQgdXNlIGEgcGVyc2lzdGVudCBzdG9yYWdlIG1lY2hhbmlzbS48L3A+CjxkaXYgY2xhc3M9ImZpZ3VyZSI+CjxpbWcgc3JjPSIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIgYWx0PSJQaG90byBieSBCaWxsIEVtcmljaC4gQ0MgWmVyby4iIC8+CjxwIGNsYXNzPSJjYXB0aW9uIj5QaG90byBieSA8YSBocmVmPSJodHRwczovL3d3dy5wZXhlbHMuY29tL3Bob3RvL2JsYWNrLWFuZC10YW4teW9ya3NoaXJlLXRlcnJpZXItcHVwcHktMjMwNzg1LyI+QmlsbCBFbXJpY2g8L2E+LiA8YSBocmVmPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLyI+Q0MgWmVybzwvYT4uPC9wPgo8L2Rpdj4KPGgzIGlkPSJ0ZWNobmljYWwtaW1wbGVtZW50YXRpb24iPlRlY2huaWNhbCBJbXBsZW1lbnRhdGlvbjwvaDM+CjxwPlRoaXMgYmxvZyBpcyBwb3dlcmVkIGJ5IHRoZSBzdGF0aWMgc2l0ZSBnZW5lcmF0b3IgPGEgaHJlZj0iaHR0cHM6Ly9taWRkbGVtYW5hcHAuY29tLyI+TWlkZGxlbWFuPC9hPiwgd2l0aCBibG9nIHBvc3RzIHdyaXR0ZW4gaW4gPGEgaHJlZj0iaHR0cDovL2NvbW1vbm1hcmsub3JnLyI+TWFya2Rvd248L2E+IGFuZCBjb252ZXJ0ZWQgdG8gSFRNTCB1c2luZyA8YSBocmVmPSJodHRwOi8vcGFuZG9jLm9yZy8iPlBhbmRvYzwvYT4gYW5kIHRoZSA8YSBocmVmPSJodHRwczovL3RyYXZpcy1jaS5vcmciPlRyYXZpcyBDSTwvYT4gY29udGludW91cyBpbnRlZ3JhdGlvbiBzZXJ2aWNlLiBTdGF0aWMgc2l0ZSBnZW5lcmF0b3IgbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBkYXRhYmFzZSBvciBhcHBsaWNhdGlvbiBzZXJ2ZXIgcG93ZXJpbmcgdGhlIHNpdGUsIG1ha2luZyB3ZWJzaXRlIGFkbWluc3RyYXRpb24gc2ltcGxlciwgY2hlYXBlciBhbmQgc2FmZXIuIEluIGFkZGl0aW9uIHRvIHRoZSBibG9nLCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj5EYXRhQ2l0ZSBob21lcGFnZTwvYT4gYW5kIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgU2NoZW1hIHN1YnNpdGU8L2E+IGFyZSBhbHNvIGdlbmVyYXRlZCB1c2luZyBNaWRkbGVtYW4uPC9wPgo8cD5UaGUgc2ltcGxpY2l0eSBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGhlcmUsIGFzIHJlZ2lzdGVyaW5nIHRoZSBET0lzIGFuZCBtZXRhZGF0YSBjYW4gYmUgYWNjb21wbGlzaGVkIHVzaW5nIGEgY29tbWFuZCBsaW5lIHV0aWxpdHkgd3JpdHRlbiBieSBEYXRhQ2l0ZSBzdGFmZiB0aGF0IGRvZXNuJ3QgbmVlZCB0byBrbm93IG11Y2ggYWJvdXQgdGhlIGludGVybmFscyBvZiBNaWRkbGVtYW4sIGFuZCB0aHVzIGNhbiBiZSBlYXNpbHkgYWRhcHRlZCB0byBvdGhlciBzdGF0aWMgc2l0ZSBnZW5lcmF0b3JzIHN1Y2ggYXMgPGEgaHJlZj0iaHR0cDovL2pla3lsbHJiLmNvbS8iPkpla3lsbDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9nb2h1Z28uaW8vIj5IdWdvPC9hPiBvciA8YSBocmVmPSJodHRwczovL2hleG8uaW8vIj5IZXhvPC9hPi4gVGhlIGNvbW1hbmQgbGluZSB1dGlsaXR5IGlzIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9jaXJuZWNvIj5DaXJuZWNvPC9hPiwgZ2VuZXJhdGluZyB0aGUgbWV0YWRhdGEgWE1MIGFjY29yZGluZyB0byB0aGUgRGF0YUNpdGUgTWV0YWRhdGEgU2NoZW1hLCBhbmQgcmVnaXN0ZXJpbmcgRE9JIGFuZCBtZXRhZGF0YSB3aXRoIHRoZSBEYXRhQ2l0ZSBNRFMuIExpa2UgYWxsIHRvb2xzIG1lbnRpb25lZCBpbiB0aGlzIHBvc3QgQ2lybmVjbyBpcyBvcGVuIHNvdXJjZSBzb2Z0d2FyZSwgcGxlYXNlIHJlYWNoIG91dCB0byB1cyBpZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gaW1wbGVtZW50aW5nIHNpbWlsYXIgZnVuY3Rpb25hbGl0eSBmb3IgeW91ciBibG9nLjwvcD4KPGgzIGlkPSJnZW5lcmF0aW5nLWRvaXMiPkdlbmVyYXRpbmcgRE9JczwvaDM+CjxwPlRoZSBET0lzIGZvciB0aGlzIGJsb2cgYXJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LCB1c2luZyBhIG1vZGlmaWVkIGJhc2UzMiBlbmNvZGluZyBhbGdvcml0aG0gdGhhdCBpcyBwcm92aWRlZCBieSBDaXJuZWNvLCBhcyBkaXNjdXNzZWQgbGFzdCB3ZWVrIDxzcGFuIGNsYXNzPSJjaXRhdGlvbiI+KEZlbm5lciwgPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPjIwMTY8L2E+KTwvc3Bhbj4uIFRoZSBET0kgaXMgZ2VuZXJhdGVkIGFuZCBtaW50ZWQgd2hlbiBhIG5ldyBwb3N0IGlzIHB1c2hlZCB0byA8YSBocmVmPSJodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnIiBjbGFzcz0idXJpIj5odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnPC9hPi4gVGhpcyBhdm9pZHMgdHdvIHByb2JsZW1zOiBhKSBET0ktbGlrZSBzdHJpbmdzIGluIHRoZSB3aWxkIGJlZm9yZSBwdWJsaWNhdGlvbiBhbmQgYikgdGhlIHJhbmRvbWx5IGdlbmVyYXRlZCBET0kgZXhpc3RzIGFscmVhZHkgKHdlIGNhbiBzaW1wbHkgZ2VuZXJhdGUgYSBuZXcgb25lKS4gQWxsIERPSXMgYXJlIHNob3J0LCB3aXRob3V0IHNlbWFudGljIGluZm9tYXRpb24gdGhhdCBtaWdodCBjaGFuZ2Ugb3ZlciB0aW1lLCBhbmQgd2l0aCBhIGNoZWNrc3VtIHRvIG1pbmltaXplIHRyYW5zY3JpcHRpb24gZXJyb3JzLCBmb3IgZXhhbXBsZSA8c3Ryb25nPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4L1hDQkotRzdaWTwvc3Ryb25nPi4gR29pbmcgZm9yd2FyZCB3ZSBlbmNvdXJhZ2UgdXNlcnMgdG8gbGluayB0byB0aGUgRGF0YUNpdGUgQmxvZyB1c2luZyB0aGUgRE9JLCBhcyB0aGVzZSBsaW5rcyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgZXZlbiBpZiB3ZSBldmVyIG1vdmUgdGhlIGJsb2cgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24uPC9wPgo8aDMgaWQ9ImdlbmVyYXRpbmctbWV0YWRhdGEiPkdlbmVyYXRpbmcgTWV0YWRhdGE8L2gzPgo8cD5Gb3IgdGhlIGdlbmVyYXRpb24gb2YgbWV0YWRhdGEsIHdlIG5lZWQgdG8gc3RyaWtlIGEgYmFsYW5jZSBiZXR3ZWVuIHNpbXBsZSBhdXRob3IgcHJvdmlkZWQgbWV0YWRhdGEsIGJ1dCByaWNoIGVub3VnaCB0byBhaWQgZGlzY292ZXJ5LiBXZSBhcmUgZG9pbmcgdGhpcyB2aWEgdGhyZWUgbWVjaGFuaXNtczo8L3A+Cjx1bD4KPGxpPm1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3I8L2xpPgo8bGk+ZGVmYXVsdCBtZXRhZGF0YSBmb3IgdGhlIGJsb2c8L2xpPgo8bGk+bWV0YWRhdGEgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgZnJvbSBjb250ZW50PC9saT4KPC91bD4KPHA+VGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3IgYXJlIHRoZSB0eXBpY2FsIG1ldGFkYXRhIGZvciBibG9nIHBvc3RzLCBwcm92aWRlZCB2aWEgPGEgaHJlZj0iaHR0cHM6Ly9nb2h1Z28uaW8vY29udGVudC9mcm9udC1tYXR0ZXIvIj5ZQU1MIGZyb250IG1hdHRlcjwvYT4gYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHBvc3Q6PC9wPgo8ZGl2IGNsYXNzPSJzb3VyY2VDb2RlIj48cHJlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxjb2RlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxzcGFuIGNsYXNzPSJvdCI+LS0tPC9zcGFuPgo8c3BhbiBjbGFzcz0iZnUiPmxheW91dDo8L3NwYW4+IHBvc3QKPHNwYW4gY2xhc3M9ImZ1Ij50aXRsZTo8L3NwYW4+IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZAo8c3BhbiBjbGFzcz0iZnUiPmF1dGhvcjo8L3NwYW4+IG1mZW5uZXIKPHNwYW4gY2xhc3M9ImZ1Ij5kYXRlOjwvc3Bhbj4gMjAxNi0xMi0xOQo8c3BhbiBjbGFzcz0iZnUiPnRhZ3M6PC9zcGFuPgo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IGRhdGFjaXRlCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gZG9pCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gbWV0YWRhdGEKPHNwYW4gY2xhc3M9Im90Ij4tLS08L3NwYW4+PC9jb2RlPjwvcHJlPjwvZGl2Pgo8cD5XZSBjYW4gcmV1c2UgYWxsIHRoZXNlIG1ldGFkYXRhIHdoZW4gZ2VuZXJhdGluZyBEYXRhQ2l0ZSBtZXRhZGF0YSwgdXNpbmcgdGhlIHRhZ3MgYXMgPGNvZGU+c3ViamVjdHM8L2NvZGU+LjwvcD4KPHA+VGhlIGRlZmF1bHQgbWV0YWRhdGEgYXJlIG1ldGFkYXRhIHRoYXQgYWx3YXlzIHN0YXkgdGhlIHNhbWUgZm9yIHRoZSBibG9nLCBzdWNoIGFzIDxjb2RlPnB1Ymxpc2hlcjwvY29kZT4sIDxjb2RlPkhvc3RpbmdJbnN0aXR1dGlvbjwvY29kZT4gYW5kIDxjb2RlPnJpZ2h0czwvY29kZT4uIFdlIGNhbiBzdG9yZSB0aGVtIGluIGEgc2l0ZS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZS4gV2UgY2FuIGFsc28gYXNzdW1lIHJlYXNvbmFibGUgZGVmYXVsdHMgdGhhdCBjYW4gYmUgb3ZlcnJpZGRlbiBpbiB0aGUgWUFNTCBmcm9udCBtYXR0ZXIsIGUuZy4gPGNvZGU+cmVzb3VyY2VUeXBlPC9jb2RlPiAod2UgdXNlIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLm9yZy9CbG9nUG9zdGluZyI+QmxvZ1Bvc3Rpbmc8L2E+IHdpdGggPGNvZGU+cmVzb3VyY2VUeXBlR2VuZXJhbDwvY29kZT4gVGV4dCkgYW5kIDxjb2RlPnZlcnNpb248L2NvZGU+LiBXZSBzdG9yZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGF1dGhvcnMgb3V0c2lkZSB0aGUgYmxvZyBwb3N0LCBpbmNsdWRpbmcgPGNvZGU+Z2l2ZW5OYW1lPC9jb2RlPiwgPGNvZGU+ZmFtaWx5TmFtZTwvY29kZT4gYW5kIDxjb2RlPm5hbWVJZGVudGlmaWVyPC9jb2RlPiAod2Ugbm93IHNob3cgdGhlIE9SQ0lEIElEIG9mIGV2ZXJ5IGJsb2cgYXV0aG9yIGF0IHRoZSBib3R0b20gb2YgdGhlIHBvc3QpLjwvcD4KPHA+RmluYWxseSwgdGhlcmUgYXJlIG1ldGFkYXRhIHRoYXQgd2UgY2FuIGF1dG9tYXRpY2FsbHkgZXh0cmFjdCBmcm9tIHRoZSBibG9nIHBvc3QsIGFuZCB3ZSBhcmUgY3VycmVudGx5IGRvaW5nIHRoaXMgZm9yIHRoZSA8Y29kZT5kZXNjcmlwdGlvbjwvY29kZT4gYW5kIDxjb2RlPnJlbGF0ZWRJZGVudGlmaWVyPC9jb2RlPi4gVGhpcyBibG9nIHVzZXMgUGFuZG9jIGFuZCBCaWJUZXggdG8gZ2VuZXJhdGUgdGhlIHJlZmVyZW5jZXMgc2VjdGlvbiBhdCB0aGUgZW5kLCBhbmQgd2UgY2FuIGZldGNoIHRoaXMgaW5mb3JtYXRpb24gYW5kIGNvbnZlcnQgaXQgaW50byB0aGUgZm9ybWF0IG5lZWRlZCBmb3IgPGNvZGU+cmVsYXRlZElkZW50aWZpZXI8L2NvZGU+LjwvcD4KPHA+VGFrZW4gdG9nZXRoZXIgd2UgY2FuIHByb3ZpZGUgYWxsIG1ldGFkYXRhIHRoYXQgYXJlIDxlbT5yZXF1aXJlZDwvZW0+IG9yIDxlbT5yZWNvbW1lbmRlZDwvZW0+IGluIHRoZSBNZXRhZGF0YSBTY2hlbWEgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4sIGFuZCB3ZSBjYW4gZG8gdGhpcyB3aXRob3V0IGFueSBleHRyYSBlZmZvcnQgZm9yIHRoZSBhdXRob3IuIFRoZSBmdWxsIFhNTCBpcyBhdmFsYWlsYWJsZSA8YSBocmVmPSJodHRwczovL2RhdGEuZGF0YWNpdGUub3JnL2FwcGxpY2F0aW9uL3gtZGF0YWNpdGUreG1sLzEwLjU0MzgvNEszTS1OWVZHIj5oZXJlPC9hPi48L3A+CjxwPk5vdCBhbGwgYmxvZyBwb3N0cyBuZWVkIHRvIGJlIGNpdGVkIGZvcm1hbGx5IHdpdGggbWV0YWRhdGEgaW4gYSA8ZW0+cmVmZXJlbmNlczwvZW0+IGxpc3QgZm9ybWF0dGVkIGFjY29yZGluZyB0byBhIHNwZWNpZmljIGNpdGF0aW9uIHN0eWxlLiBCdXQgdGhlc2UgbWV0YWRhdGEgZ3JlYXRseSBoZWxwIHdpdGggZGlzY292ZXJ5LCBhIHNlYXJjaCBpbiBEYXRhQ2l0ZSBTZWFyY2ggZm9yIDxhIGhyZWY9Imh0dHA6Ly9zZWFyY2guZGF0YWNpdGUub3JnL3dvcmtzP3F1ZXJ5PWVhdGluZytkb2crZm9vZCI+ZWF0aW5nIGRvZyBmb29kPC9hPiB3aWxsIGZvciBleGFtcGxlIGJyaW5nIHVwIHRoaXMgYmxvZyBwb3N0IGFzIHRoZSBmaXJzdCBoaXQuPC9wPgo8aDMgaWQ9InBlcnNpc3RlbnQtc3RvcmFnZSI+UGVyc2lzdGVudCBzdG9yYWdlPC9oMz4KPHA+VXNpbmcgRE9JcyBtZWFucyB0aGF0IHJlYWRlcnMgbm90IG9ubHkgZXhwZWN0IHJpY2ggbWV0YWRhdGEgdGhhdCBoZWxwIHdpdGggY2l0YXRpb24gYW5kIGRpc2NvdmVyeSwgYnV0IGFsc28gdGhhdCBEYXRhQ2l0ZSB0YWtlcyBleHRyYSBjYXJlIHRvIHByZXNlcnZlIHRoZSBibG9nIHBvc3RzLCB0aGlua2luZyBiZXlvbmQgdGhlIHBhcnRpY3VsYXIgdGVjaG5pY2FsIGltcGxlbWVudGF0aW9uIG9yIGV2ZW4gdGhlIGNvbnRpdWluZyBleGlzdGVuY2Ugb2YgdGhpcyBibG9nLiBUaGlzIGlzIGFuIGFyZWEgd2hlcmUgd2UgZG8gbmVlZCB0byBkbyBtb3JlIHdvcmssIHN0YXJ0aW5nIHdpdGggYSBkZWNpc2lvbiBhYm91dCB0aGUgYmVzdCBhcmNoaXZhbCBmb3JtYXQgZm9yIGEgYmxvZyBwb3N0IChIVE1MLCBQREYsIDxhIGhyZWY9Imh0dHBzOi8vamF0cy5ubG0ubmloLmdvdi8iPkpBVFM8L2E+PykuIEZvciBub3cgYmxvZyBwb3N0cyBhcmUgaG9zdGVkIGluIG11bHRpcGxlIEdpdCByZXBvc2l0b3JpZXMgKDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9ibG9nIj5vbmUgb2YgdGhlbSBvbiBHaXRodWI8L2E+KSwgYW5kIGluIHR3byBpbmRlcGVuZGVudCBBbWF6b24gUzMgYnVja2V0cyB0aGF0IGVhY2ggdXNlIDxhIGhyZWY9Imh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVmVyc2lvbmluZy5odG1sIj52ZXJzaW9uaW5nPC9hPi4gTXVsdGlwbGUgbG9jYXRpb25zIHdpdGggdmVyc2lvbmluZyBhcmUgYSBnb29kIHN0YXJ0LCBidXQgbW9yZSB3b3JrIGlzIGNsZWFybHkgbmVlZGVkLjwvcD4KPGgzIGlkPSJyZWZlcmVuY2VzIiBjbGFzcz0idW5udW1iZXJlZCI+UmVmZXJlbmNlczwvaDM+CjxkaXYgaWQ9InJlZnMiIGNsYXNzPSJyZWZlcmVuY2VzIj4KPGRpdiBpZD0icmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPgo8cD5EYXRhQ2l0ZSBNZXRhZGF0YSBXb3JraW5nIEdyb3VwLiAoMjAxNikuIERhdGFDaXRlIG1ldGFkYXRhIHNjaGVtYSBmb3IgdGhlIHB1YmxpY2F0aW9uIGFuZCBjaXRhdGlvbiBvZiByZXNlYXJjaCBkYXRhIHY0LjAuIDxlbT5EYXRhQ2l0ZTwvZW0+LiA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyPC9hPjwvcD4KPC9kaXY+CjxkaXYgaWQ9InJlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPgo8cD5GZW5uZXIsIE0uICgyMDE2KS4gQ29vbCBkT0nigJlzLiA8ZW0+RGF0YUNpdGU8L2VtPi4gPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzA8L2E+PC9wPgo8L2Rpdj4KPC9kaXY+CgogICAgICAgICAgICA8aHIgd2lkdGg9IjgwJSI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTUgY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS10ZWFzZXIgY2YiPgogIDxkaXYgY2xhc3M9ImlzTGVmdCI+CiAgICA8c2VjdGlvbiBjbGFzcz0iYXV0aG9yIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGhvci1pbWFnZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLzQzNDU5MmEwOTdlOTEyNjE3OTJlYmQ2YjQ5MjA0MmJjP3M9MjUwJmQ9bW0mcj14KSI+QmxvZyBMb2dvPC9kaXY+CiAgICAgICAgPGg0Pk1hcnRpbiBGZW5uZXI8L2g0PgogICAgICAgIDxwIGNsYXNzPSJiaW8iPkRhdGFDaXRlIFRlY2huaWNhbCBEaXJlY3RvcjwvcD4KICAgICAgICA8cCBjbGFzcz0ib3JjaWQiPjxhIGhyZWY9Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L2E+PC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4KICAgICAgPGg0PkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvaDQ+CiAgICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+PGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnIiBkYXRhLXByb29mZXItaWdub3JlPSJ0cnVlIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmc8L2E+CiAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPjxpIGNsYXNzPSJmYSBmYS1jYWxlbmRhciI+PC9pPiA8dGltZSBkYXRldGltZT0iMjAxNi0xMi0yMCAwMDowMCI+RGVjZW1iZXIgMjAsIDIwMTY8L3RpbWU+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj48aSBjbGFzcz0iZmEgZmEtaGlzdG9yeSI+PC9pPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvYmxvZy9jb21taXRzL21hc3Rlci9zb3VyY2UvcG9zdHMvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLmh0bWwubWQiPkhpc3Rvcnk8L2E+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj7CqSAyMDE2IE1hcnRpbiBGZW5uZXIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC8iPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gbGljZW5zZTwvYT4uPC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdGFncyI+PC9pPgogICAgICAgIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1kYXRhY2l0ZSI+ZGF0YWNpdGU8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9ZG9pIj5kb2k8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9bWV0YWRhdGEiPm1ldGFkYXRhPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPWZlYXR1cmVkIj5mZWF0dXJlZDwvYT4KICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIGNvbC1tZC1vZmZzZXQtMSI+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tdGVhc2VyIGNmIj4KICA8ZGl2IGNsYXNzPSJpc0xlZnQiPgogICAgPGg1IGNsYXNzPSJpbmRleC1oZWFkbGluZSBmZWF0dXJlZCI+PHNwYW4+U2hhcmUgb248L3NwYW4+PC9oNT4KICAgICAgPGEgY2xhc3M9Imljb24tdHdpdHRlciIgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlP3RleHQ9T24gdGhlIEBkYXRhY2l0ZSBibG9nOiBFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QmYW1wO3VybD1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAndHdpdHRlci1zaGFyZScsICd3aWR0aD01NTAsaGVpZ2h0PTI1NScpO3JldHVybiBmYWxzZTsiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIGZhLTJ4Ij48L2k+PHNwYW4gY2xhc3M9ImhpZGRlbiI+dHdpdHRlcjwvc3Bhbj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0iaWNvbi1mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dD1PbiB0aGUgQGRhdGFjaXRlIGJsb2c6IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZCZhbXA7dT1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAnZmFjZWJvb2stc2hhcmUnLCAnd2lkdGg9NTUwLGhlaWdodD0yNTUnKTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2sgZmEtMngiPjwvaT48c3BhbiBjbGFzcz0iaGlkZGVuIj5mYWNlYm9vazwvc3Bhbj4KICAgICAgPC9hPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgaWQ9ImRpc3F1c190aHJlYWQiPjwvZGl2Pgo8c2NyaXB0PgogICAgdmFyIGRpc3F1c19jb25maWcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5wYWdlLnVybCA9ICdodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8nOwogICAgICAgIHRoaXMucGFnZS5pZGVudGlmaWVyID0gJ2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyc7CiAgICB9OwogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkID0gZG9jdW1lbnQsIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwoKICAgICAgICBzLnNyYyA9ICcvL2RhdGFjaXRlLmRpc3F1cy5jb20vZW1iZWQuanMnOyAgLy8KCiAgICAgICAgcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGltZXN0YW1wJywgK25ldyBEYXRlKCkpOwogICAgICAgIChkLmhlYWQgfHwgZC5ib2R5KS5hcHBlbmRDaGlsZChzKTsKICAgIH0pKCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIHZpZXcgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZGlzcXVzLmNvbS8/cmVmX25vc2NyaXB0IiByZWw9Im5vZm9sbG93Ij5jb21tZW50cyBwb3dlcmVkIGJ5IERpc3F1cy48L2E+PC9ub3NjcmlwdD4KCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgICA8Zm9vdGVyIGNsYXNzPSdyb3cgZm9vdGVyJz4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+QWJvdXQgRGF0YUNpdGU8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL21pc3Npb24uaHRtbCI+V2hhdCB3ZSBkbzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2dvdmVybmFuY2UuaHRtbCI+R292ZXJuYW5jZTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0ZWVyaW5nLmh0bWwiPlN0ZWVyaW5nIGdyb3VwczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0YWZmLmh0bWwiPlN0YWZmPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvam9ib3Bwb3J0dW5pdGllcy5odG1sIj5Kb2Igb3Bwb3J0dW5pdGllczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+U2VydmljZXM8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2RvaXMuaHRtbCI+QXNzaWduIERPSXM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zZWFyY2guaHRtbCI+TWV0YWRhdGEgc2VhcmNoPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvZXZlbnRkYXRhLmh0bWwiPkV2ZW50IGRhdGE8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcm9maWxlcy5odG1sIj5Qcm9maWxlczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3JlM2RhdGEuaHRtbCI+cmUzZGF0YTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2NpdGF0aW9uLmh0bWwiPkNpdGF0aW9uIGZvcm1hdHRlcjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0YXRzLmh0bWwiPlN0YXRpc3RpY3M8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9jb250ZW50Lmh0bWwiPkNvbnRlbnQgbmVnb3RpYXRpb248L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9vYWlwbWguaHRtbCI+T0FJLVBNSDwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+UmVzb3VyY2VzPC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgc2NoZW1hPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3N1cHBvcnQuZGF0YWNpdGUub3JnIj5TdXBwb3J0PC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgPGg0PkNvbW11bml0eTwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvbWVtYmVycy5odG1sIj5NZW1iZXJzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcGFydG5lcnMuaHRtbCI+UGFydG5lcnM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudHMuaHRtbCI+RXZlbnRzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcm9hZG1hcC5odG1sIj5Sb2FkbWFwPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdXNlci1zdG9yaWVzLmh0bWwiPlVzZXIgU3RvcmllczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyc+CiAgICAgICAgICA8aDQgY2xhc3M9InNoYXJlIj5Db250YWN0IHVzPC9oND4KICAgICAgICAgIDxhIGhyZWY9J21haWx0bzpzdXBwb3J0QGRhdGFjaXRlLm9yZycgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWF0Jz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2ZlZWQueG1sJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtcnNzJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL3R3aXR0ZXIuY29tL2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtdHdpdHRlcic+PC9pPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZ2l0aHViJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9kYXRhY2l0ZScgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWxpbmtlZGluJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdGVybXMuaHRtbCI+VGVybXMgYW5kIGNvbmRpdGlvbnM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcml2YWN5Lmh0bWwiPlByaXZhY3kgcG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvYWNrbm93bGVkZ21lbnRzLmh0bWwiPkFja25vd2xlZGdlbWVudHM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8YSBocmVmPSJodHRwOi8vc3RhdHVzLmRhdGFjaXRlLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItZG90Ij48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1kZXNjcmlwdGlvbiI+PC9zcGFuPgogICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPHNjcmlwdCBzcmM9Ii8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0yLjEuNC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4zLjYvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2Nkbi5zdGF0dXNwYWdlLmlvL3NlLXYyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9qYXZhc2NyaXB0cy9kZWZhdWx0LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9yZWFkaW5nVGltZS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHRzL2luZGV4LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9zZWFyY2guanMiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJkc3EtY291bnQtc2NyIiBzcmM9Ii8vZGF0YWNpdGUuZGlzcXVzLmNvbS9jb3VudC5qcyIgYXN5bmM+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9maXR2aWRzLzEuMS4wL2pxdWVyeS5maXR2aWRzLm1pbi5qcyI+PC9zY3JpcHQ+ICAgIDxzY3JpcHQ+CiAgICAgIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsKICAgICAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgICAgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkKICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpOwoKICAgICAgZ2EoJ2NyZWF0ZScsICdVQS0yMjgwNjE5Ni02JywgJ2F1dG8nKTsKICAgICAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsKICAgIDwvc2NyaXB0PgogIDwvYm9keT4KPC9odG1sPgo=
109
- http_version:
110
- recorded_at: Wed, 03 Jul 2019 19:24:55 GMT
108
+ PCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDwhLS0gKDEpIE9wdGltaXplIGZvciBtb2JpbGUgdmVyc2lvbnM6IGh0dHA6Ly9nb28uZ2wvRU9wRmwgLS0+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8IS0tICgxKSBmb3JjZSBsYXRlc3QgSUUgcmVuZGVyaW5nIGVuZ2luZTogYml0Lmx5LzFjOEVpQzkgLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKCiAgICA8dGl0bGU+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiAvPgoKICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9IlRydWUiIC8+CiAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjMyMCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1zdGF0dXMtYmFyLXN0eWxlIiBjb250ZW50PSJibGFjay10cmFuc2x1Y2VudCI+CgogICAgPCEtLSBEdWJsaW5Db3JlIE1ldGFkYXRhIC0tPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnRpdGxlIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6Zm9ybWF0IiBjb250ZW50PSJ0ZXh0L2h0bWwiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6bGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnJpZ2h0cyIgY29udGVudD0iQ0MtQlkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6c291cmNlIiBjb250ZW50PSJEYXRhQ2l0ZSBCbG9nIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnN1YmplY3QiIGNvbnRlbnQ9IlNjaG9sYXJseSBDb21tdW5pY2F0aW9uIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CgoKICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkVhdGluZyB5b3VyIG93biBEb2cgRm9vZCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRWF0aW5nIHlvdXIgb3duIGRvZyBmb29kIGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvci4uLiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0iYmxvZyIgLz4KCiAgICA8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrQmFza2VydmlsbGU6NDAwLDQwMGksNzAwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0nLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXk6NDAwLDYwMCw0MDBpdGFsaWMsNjAwaXRhbGljJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Ii8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4xL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvc3R5bGVzaGVldHMvZGF0YWNpdGUuY3NzIiByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvaWNvIiAvPgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgIHsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciLCJuYW1lIjoiRWF0aW5nIHlvdXIgb3duIERvZyBGb29kIiwidXJsIjoiaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvIiwiYXV0aG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiLCJnaXZlbk5hbWUiOiJNYXJ0aW4iLCJmYW1pbHlOYW1lIjoiRmVubmVyIiwibmFtZSI6Ik1hcnRpbiBGZW5uZXIiLCJhZmZpbGlhdGlvbiI6eyJAaWQiOiJodHRwczovL3Jvci5vcmcvMDR3eG5zajgxIiwibmFtZSI6IkRhdGFDaXRlIiwiQHR5cGUiOiJPcmdhbml6YXRpb24ifX1dLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiRGF0YUNpdGUifSwiZGF0ZUNyZWF0ZWQiOiIyMDE2LTEyLTIwIiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTYtMTItMjAiLCJkYXRlTW9kaWZpZWQiOiIyMDE2LTEyLTIwIiwia2V5d29yZHMiOiJkYXRhY2l0ZSwgZG9pLCBtZXRhZGF0YSwgZmVhdHVyZWQiLCJ2ZXJzaW9uIjoiMS4wIiwiZGVzY3JpcHRpb24iOiJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiwibGljZW5zZSI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvbGVnYWxjb2RlIiwiaW1hZ2UiOiIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIsImlzUGFydE9mIjp7IkB0eXBlIjoiQmxvZyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMDAtMDBTUyIsIm5hbWUiOiJEYXRhQ2l0ZSBCbG9nIn0sImNpdGF0aW9uIjpbeyJAdHlwZSI6IkNyZWF0aXZlV29yayIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIifSx7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIn1dfQogICAgPC9zY3JpcHQ+CiAgICAKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS92dWUvZGlzdC92dWUubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9icm93c2UvQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzQDIuMC4wL3dlYmNvbXBvbmVudHMtbG9hZGVyLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9kYXRhLW1ldHJpY3MtYmFkZ2UvZGlzdC9kYXRhLW1ldHJpY3MtYmFkZ2UubWluLmpzIj48L3NjcmlwdD4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICAKPCEtLSBoZWFkZXIgc3RhcnQgLS0+Cgo8ZGl2IGNsYXNzPSJoZWFkZXIiIGlkPSJuYXZ0b3AiPgogIDxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItd2hpdGUiIHJvbGU9Im5hdmlnYXRpb24iPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciIKICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9Ii5uYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgIDwvYnV0dG9uPgogICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9Ii8iPkRhdGFDaXRlIEJsb2c8L2E+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItY29sbGFwc2UgY29sbGFwc2UiPgogICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vc3VwcG9ydC5kYXRhY2l0ZS5vcmciPlN1cHBvcnQ8L2E+PC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjwhLS0gaGVhZGVyIGVuZCAtLT4KIAogICAgICA8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gc2VjdGlvbi13aGl0ZSI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93IHJvdy1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICA8YSBuYW1lPSJ0b3BvZnBhZ2UiPjwvYT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zdC1tZXRhIj4KICAgICAgICAgICAgICA8aDE+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC9oMT4KICAgICAgICAgICAgICBEZWNlbWJlciAyMCwgMjAxNiBieSBNYXJ0aW4gRmVubmVyCiAgICAgICAgICAgICAg4oCiIDxzcGFuIGNsYXNzPSJwb3N0LXJlYWRpbmctdGltZSI+PC9zcGFuPiByZWFkCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZG9pIj48YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciIGRhdGEtcHJvb2Zlci1pZ25vcmU9InRydWUiPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZzwvYT48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9uZXdyZXB1YmxpYy5jb20vYXJ0aWNsZS8xMTUzNDkvZG9nZm9vZGluZy10ZWNoLXNsYW5nLXdvcmtpbmctb3V0LWdsaXRjaGVzIj5FYXRpbmcgeW91ciBvd24gZG9nIGZvb2Q8L2E+IGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvciB0aGUgc2Nob2xhcmx5IG91dHB1dHMgd2UgcHJvZHVjZS4gRm9yIHRoZSBtb3N0IHBhcnQgdGhpcyBpcyBub3QgcmVzZWFyY2ggZGF0YSwgYnV0IHJhdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzIHN1Y2ggYXMgdGhlIERhdGFDaXRlIFNjaGVtYSBhbmQgaXRzIGRvY3VtZW50YXRpb24gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIj4oPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIj4yMDE2PC9hPik8L3NwYW4+LjwvcD4KPHA+VGhlc2Ugb3V0cHV0cyBhbHNvIGluY2x1ZGUgdGhlIHBvc3RzIG9uIHRoaXMgYmxvZywgd2hlcmUgd2UgZGlzY3VzcyB0b3BpY3MgcmVsZXZhbnQgZm9yIHRoZSBEYXRhQ2l0ZSBjb21tdW5pdHksIGJ1dCBhbHNvIG9mIGJyb2FkZXIgaW50ZXJlc3QgdG8gYW55b25lIHdobyBjYXJlcyBhYm91dCByZXNlYXJjaCBkYXRhLCBwZXJzaXN0ZW50IGlkZW50aWZpZXJzLCBhbmQgc2Nob2xhcmx5IGluZnJhc3RydWN0dXJlLiBBbmQgc3RhcnRpbmcgdG9kYXkgYWxsIGJsb2cgcG9zdHMgb24gdGhpcyBibG9nIHdpbGwgaGF2ZSBhIERPSSwgbWV0YWRhdGEgYW5kIHVzZSBhIHBlcnNpc3RlbnQgc3RvcmFnZSBtZWNoYW5pc20uPC9wPgo8ZGl2IGNsYXNzPSJmaWd1cmUiPgo8aW1nIHNyYz0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIGFsdD0iUGhvdG8gYnkgQmlsbCBFbXJpY2guIENDIFplcm8uIiAvPgo8cCBjbGFzcz0iY2FwdGlvbiI+UGhvdG8gYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cucGV4ZWxzLmNvbS9waG90by9ibGFjay1hbmQtdGFuLXlvcmtzaGlyZS10ZXJyaWVyLXB1cHB5LTIzMDc4NS8iPkJpbGwgRW1yaWNoPC9hPi4gPGEgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8iPkNDIFplcm88L2E+LjwvcD4KPC9kaXY+CjxoMyBpZD0idGVjaG5pY2FsLWltcGxlbWVudGF0aW9uIj5UZWNobmljYWwgSW1wbGVtZW50YXRpb248L2gzPgo8cD5UaGlzIGJsb2cgaXMgcG93ZXJlZCBieSB0aGUgc3RhdGljIHNpdGUgZ2VuZXJhdG9yIDxhIGhyZWY9Imh0dHBzOi8vbWlkZGxlbWFuYXBwLmNvbS8iPk1pZGRsZW1hbjwvYT4sIHdpdGggYmxvZyBwb3N0cyB3cml0dGVuIGluIDxhIGhyZWY9Imh0dHA6Ly9jb21tb25tYXJrLm9yZy8iPk1hcmtkb3duPC9hPiBhbmQgY29udmVydGVkIHRvIEhUTUwgdXNpbmcgPGEgaHJlZj0iaHR0cDovL3BhbmRvYy5vcmcvIj5QYW5kb2M8L2E+IGFuZCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly90cmF2aXMtY2kub3JnIj5UcmF2aXMgQ0k8L2E+IGNvbnRpbnVvdXMgaW50ZWdyYXRpb24gc2VydmljZS4gU3RhdGljIHNpdGUgZ2VuZXJhdG9yIG1lYW5zIHRoYXQgdGhlcmUgaXMgbm8gZGF0YWJhc2Ugb3IgYXBwbGljYXRpb24gc2VydmVyIHBvd2VyaW5nIHRoZSBzaXRlLCBtYWtpbmcgd2Vic2l0ZSBhZG1pbnN0cmF0aW9uIHNpbXBsZXIsIGNoZWFwZXIgYW5kIHNhZmVyLiBJbiBhZGRpdGlvbiB0byB0aGUgYmxvZywgdGhlIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZyI+RGF0YUNpdGUgaG9tZXBhZ2U8L2E+IGFuZCA8YSBocmVmPSJodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmciPk1ldGFkYXRhIFNjaGVtYSBzdWJzaXRlPC9hPiBhcmUgYWxzbyBnZW5lcmF0ZWQgdXNpbmcgTWlkZGxlbWFuLjwvcD4KPHA+VGhlIHNpbXBsaWNpdHkgaXMgcGFydGljdWxhcmx5IGltcG9ydGFudCBoZXJlLCBhcyByZWdpc3RlcmluZyB0aGUgRE9JcyBhbmQgbWV0YWRhdGEgY2FuIGJlIGFjY29tcGxpc2hlZCB1c2luZyBhIGNvbW1hbmQgbGluZSB1dGlsaXR5IHdyaXR0ZW4gYnkgRGF0YUNpdGUgc3RhZmYgdGhhdCBkb2Vzbid0IG5lZWQgdG8ga25vdyBtdWNoIGFib3V0IHRoZSBpbnRlcm5hbHMgb2YgTWlkZGxlbWFuLCBhbmQgdGh1cyBjYW4gYmUgZWFzaWx5IGFkYXB0ZWQgdG8gb3RoZXIgc3RhdGljIHNpdGUgZ2VuZXJhdG9ycyBzdWNoIGFzIDxhIGhyZWY9Imh0dHA6Ly9qZWt5bGxyYi5jb20vIj5KZWt5bGw8L2E+LCA8YSBocmVmPSJodHRwOi8vZ29odWdvLmlvLyI+SHVnbzwvYT4gb3IgPGEgaHJlZj0iaHR0cHM6Ly9oZXhvLmlvLyI+SGV4bzwvYT4uIFRoZSBjb21tYW5kIGxpbmUgdXRpbGl0eSBpcyA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvY2lybmVjbyI+Q2lybmVjbzwvYT4sIGdlbmVyYXRpbmcgdGhlIG1ldGFkYXRhIFhNTCBhY2NvcmRpbmcgdG8gdGhlIERhdGFDaXRlIE1ldGFkYXRhIFNjaGVtYSwgYW5kIHJlZ2lzdGVyaW5nIERPSSBhbmQgbWV0YWRhdGEgd2l0aCB0aGUgRGF0YUNpdGUgTURTLiBMaWtlIGFsbCB0b29scyBtZW50aW9uZWQgaW4gdGhpcyBwb3N0IENpcm5lY28gaXMgb3BlbiBzb3VyY2Ugc29mdHdhcmUsIHBsZWFzZSByZWFjaCBvdXQgdG8gdXMgaWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGltcGxlbWVudGluZyBzaW1pbGFyIGZ1bmN0aW9uYWxpdHkgZm9yIHlvdXIgYmxvZy48L3A+CjxoMyBpZD0iZ2VuZXJhdGluZy1kb2lzIj5HZW5lcmF0aW5nIERPSXM8L2gzPgo8cD5UaGUgRE9JcyBmb3IgdGhpcyBibG9nIGFyZSBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSwgdXNpbmcgYSBtb2RpZmllZCBiYXNlMzIgZW5jb2RpbmcgYWxnb3JpdGhtIHRoYXQgaXMgcHJvdmlkZWQgYnkgQ2lybmVjbywgYXMgZGlzY3Vzc2VkIGxhc3Qgd2VlayA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPihGZW5uZXIsIDxhIGhyZWY9IiNyZWYtaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIj4yMDE2PC9hPik8L3NwYW4+LiBUaGUgRE9JIGlzIGdlbmVyYXRlZCBhbmQgbWludGVkIHdoZW4gYSBuZXcgcG9zdCBpcyBwdXNoZWQgdG8gPGEgaHJlZj0iaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZyIgY2xhc3M9InVyaSI+aHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZzwvYT4uIFRoaXMgYXZvaWRzIHR3byBwcm9ibGVtczogYSkgRE9JLWxpa2Ugc3RyaW5ncyBpbiB0aGUgd2lsZCBiZWZvcmUgcHVibGljYXRpb24gYW5kIGIpIHRoZSByYW5kb21seSBnZW5lcmF0ZWQgRE9JIGV4aXN0cyBhbHJlYWR5ICh3ZSBjYW4gc2ltcGx5IGdlbmVyYXRlIGEgbmV3IG9uZSkuIEFsbCBET0lzIGFyZSBzaG9ydCwgd2l0aG91dCBzZW1hbnRpYyBpbmZvbWF0aW9uIHRoYXQgbWlnaHQgY2hhbmdlIG92ZXIgdGltZSwgYW5kIHdpdGggYSBjaGVja3N1bSB0byBtaW5pbWl6ZSB0cmFuc2NyaXB0aW9uIGVycm9ycywgZm9yIGV4YW1wbGUgPHN0cm9uZz5odHRwczovL2RvaS5vcmcvMTAuNTQzOC9YQ0JKLUc3Wlk8L3N0cm9uZz4uIEdvaW5nIGZvcndhcmQgd2UgZW5jb3VyYWdlIHVzZXJzIHRvIGxpbmsgdG8gdGhlIERhdGFDaXRlIEJsb2cgdXNpbmcgdGhlIERPSSwgYXMgdGhlc2UgbGlua3Mgd2lsbCBjb250aW51ZSB0byB3b3JrIGV2ZW4gaWYgd2UgZXZlciBtb3ZlIHRoZSBibG9nIHRvIGEgZGlmZmVyZW50IGxvY2F0aW9uLjwvcD4KPGgzIGlkPSJnZW5lcmF0aW5nLW1ldGFkYXRhIj5HZW5lcmF0aW5nIE1ldGFkYXRhPC9oMz4KPHA+Rm9yIHRoZSBnZW5lcmF0aW9uIG9mIG1ldGFkYXRhLCB3ZSBuZWVkIHRvIHN0cmlrZSBhIGJhbGFuY2UgYmV0d2VlbiBzaW1wbGUgYXV0aG9yIHByb3ZpZGVkIG1ldGFkYXRhLCBidXQgcmljaCBlbm91Z2ggdG8gYWlkIGRpc2NvdmVyeS4gV2UgYXJlIGRvaW5nIHRoaXMgdmlhIHRocmVlIG1lY2hhbmlzbXM6PC9wPgo8dWw+CjxsaT5tZXRhZGF0YSBwcm92aWRlZCBieSB0aGUgYXV0aG9yPC9saT4KPGxpPmRlZmF1bHQgbWV0YWRhdGEgZm9yIHRoZSBibG9nPC9saT4KPGxpPm1ldGFkYXRhIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGZyb20gY29udGVudDwvbGk+CjwvdWw+CjxwPlRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSB0aGUgYXV0aG9yIGFyZSB0aGUgdHlwaWNhbCBtZXRhZGF0YSBmb3IgYmxvZyBwb3N0cywgcHJvdmlkZWQgdmlhIDxhIGhyZWY9Imh0dHBzOi8vZ29odWdvLmlvL2NvbnRlbnQvZnJvbnQtbWF0dGVyLyI+WUFNTCBmcm9udCBtYXR0ZXI8L2E+IGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBwb3N0OjwvcD4KPGRpdiBjbGFzcz0ic291cmNlQ29kZSI+PHByZSBjbGFzcz0ic291cmNlQ29kZSB5YW1sIj48Y29kZSBjbGFzcz0ic291cmNlQ29kZSB5YW1sIj48c3BhbiBjbGFzcz0ib3QiPi0tLTwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij5sYXlvdXQ6PC9zcGFuPjxzcGFuIGNsYXNzPSJhdCI+IHBvc3Q8L3NwYW4+CjxzcGFuIGNsYXNzPSJmdSI+dGl0bGU6PC9zcGFuPjxzcGFuIGNsYXNzPSJhdCI+IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij5hdXRob3I6PC9zcGFuPjxzcGFuIGNsYXNzPSJhdCI+IG1mZW5uZXI8L3NwYW4+CjxzcGFuIGNsYXNzPSJmdSI+ZGF0ZTo8L3NwYW4+PHNwYW4gY2xhc3M9ImF0Ij4gMjAxNi0xMi0xOTwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij50YWdzOjwvc3Bhbj4KPHNwYW4gY2xhc3M9Imt3Ij4tPC9zcGFuPiBkYXRhY2l0ZQo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IGRvaQo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IG1ldGFkYXRhCjxzcGFuIGNsYXNzPSJvdCI+LS0tPC9zcGFuPjwvY29kZT48L3ByZT48L2Rpdj4KPHA+V2UgY2FuIHJldXNlIGFsbCB0aGVzZSBtZXRhZGF0YSB3aGVuIGdlbmVyYXRpbmcgRGF0YUNpdGUgbWV0YWRhdGEsIHVzaW5nIHRoZSB0YWdzIGFzIDxjb2RlPnN1YmplY3RzPC9jb2RlPi48L3A+CjxwPlRoZSBkZWZhdWx0IG1ldGFkYXRhIGFyZSBtZXRhZGF0YSB0aGF0IGFsd2F5cyBzdGF5IHRoZSBzYW1lIGZvciB0aGUgYmxvZywgc3VjaCBhcyA8Y29kZT5wdWJsaXNoZXI8L2NvZGU+LCA8Y29kZT5Ib3N0aW5nSW5zdGl0dXRpb248L2NvZGU+IGFuZCA8Y29kZT5yaWdodHM8L2NvZGU+LiBXZSBjYW4gc3RvcmUgdGhlbSBpbiBhIHNpdGUtd2lkZSBjb25maWd1cmF0aW9uIGZpbGUuIFdlIGNhbiBhbHNvIGFzc3VtZSByZWFzb25hYmxlIGRlZmF1bHRzIHRoYXQgY2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIFlBTUwgZnJvbnQgbWF0dGVyLCBlLmcuIDxjb2RlPnJlc291cmNlVHlwZTwvY29kZT4gKHdlIHVzZSA8YSBocmVmPSJodHRwczovL3NjaGVtYS5vcmcvQmxvZ1Bvc3RpbmciPkJsb2dQb3N0aW5nPC9hPiB3aXRoIDxjb2RlPnJlc291cmNlVHlwZUdlbmVyYWw8L2NvZGU+IFRleHQpIGFuZCA8Y29kZT52ZXJzaW9uPC9jb2RlPi4gV2Ugc3RvcmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBhdXRob3JzIG91dHNpZGUgdGhlIGJsb2cgcG9zdCwgaW5jbHVkaW5nIDxjb2RlPmdpdmVuTmFtZTwvY29kZT4sIDxjb2RlPmZhbWlseU5hbWU8L2NvZGU+IGFuZCA8Y29kZT5uYW1lSWRlbnRpZmllcjwvY29kZT4gKHdlIG5vdyBzaG93IHRoZSBPUkNJRCBJRCBvZiBldmVyeSBibG9nIGF1dGhvciBhdCB0aGUgYm90dG9tIG9mIHRoZSBwb3N0KS48L3A+CjxwPkZpbmFsbHksIHRoZXJlIGFyZSBtZXRhZGF0YSB0aGF0IHdlIGNhbiBhdXRvbWF0aWNhbGx5IGV4dHJhY3QgZnJvbSB0aGUgYmxvZyBwb3N0LCBhbmQgd2UgYXJlIGN1cnJlbnRseSBkb2luZyB0aGlzIGZvciB0aGUgPGNvZGU+ZGVzY3JpcHRpb248L2NvZGU+IGFuZCA8Y29kZT5yZWxhdGVkSWRlbnRpZmllcjwvY29kZT4uIFRoaXMgYmxvZyB1c2VzIFBhbmRvYyBhbmQgQmliVGV4IHRvIGdlbmVyYXRlIHRoZSByZWZlcmVuY2VzIHNlY3Rpb24gYXQgdGhlIGVuZCwgYW5kIHdlIGNhbiBmZXRjaCB0aGlzIGluZm9ybWF0aW9uIGFuZCBjb252ZXJ0IGl0IGludG8gdGhlIGZvcm1hdCBuZWVkZWQgZm9yIDxjb2RlPnJlbGF0ZWRJZGVudGlmaWVyPC9jb2RlPi48L3A+CjxwPlRha2VuIHRvZ2V0aGVyIHdlIGNhbiBwcm92aWRlIGFsbCBtZXRhZGF0YSB0aGF0IGFyZSA8ZW0+cmVxdWlyZWQ8L2VtPiBvciA8ZW0+cmVjb21tZW5kZWQ8L2VtPiBpbiB0aGUgTWV0YWRhdGEgU2NoZW1hIGRvY3VtZW50YXRpb24gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIj4oPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIj4yMDE2PC9hPik8L3NwYW4+LCBhbmQgd2UgY2FuIGRvIHRoaXMgd2l0aG91dCBhbnkgZXh0cmEgZWZmb3J0IGZvciB0aGUgYXV0aG9yLiBUaGUgZnVsbCBYTUwgaXMgYXZhbGFpbGFibGUgPGEgaHJlZj0iaHR0cHM6Ly9kYXRhLmNyb3NzY2l0ZS5vcmcvYXBwbGljYXRpb24vdm5kLmRhdGFjaXRlLmRhdGFjaXRlK3htbC8xMC41NDM4LzRLM00tTllWRyI+aGVyZTwvYT4uPC9wPgo8cD5Ob3QgYWxsIGJsb2cgcG9zdHMgbmVlZCB0byBiZSBjaXRlZCBmb3JtYWxseSB3aXRoIG1ldGFkYXRhIGluIGEgPGVtPnJlZmVyZW5jZXM8L2VtPiBsaXN0IGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gYSBzcGVjaWZpYyBjaXRhdGlvbiBzdHlsZS4gQnV0IHRoZXNlIG1ldGFkYXRhIGdyZWF0bHkgaGVscCB3aXRoIGRpc2NvdmVyeSwgYSBzZWFyY2ggaW4gRGF0YUNpdGUgU2VhcmNoIGZvciA8YSBocmVmPSJodHRwOi8vc2VhcmNoLmRhdGFjaXRlLm9yZy93b3Jrcz9xdWVyeT1lYXRpbmcrZG9nK2Zvb2QiPmVhdGluZyBkb2cgZm9vZDwvYT4gd2lsbCBmb3IgZXhhbXBsZSBicmluZyB1cCB0aGlzIGJsb2cgcG9zdCBhcyB0aGUgZmlyc3QgaGl0LjwvcD4KPGgzIGlkPSJwZXJzaXN0ZW50LXN0b3JhZ2UiPlBlcnNpc3RlbnQgc3RvcmFnZTwvaDM+CjxwPlVzaW5nIERPSXMgbWVhbnMgdGhhdCByZWFkZXJzIG5vdCBvbmx5IGV4cGVjdCByaWNoIG1ldGFkYXRhIHRoYXQgaGVscCB3aXRoIGNpdGF0aW9uIGFuZCBkaXNjb3ZlcnksIGJ1dCBhbHNvIHRoYXQgRGF0YUNpdGUgdGFrZXMgZXh0cmEgY2FyZSB0byBwcmVzZXJ2ZSB0aGUgYmxvZyBwb3N0cywgdGhpbmtpbmcgYmV5b25kIHRoZSBwYXJ0aWN1bGFyIHRlY2huaWNhbCBpbXBsZW1lbnRhdGlvbiBvciBldmVuIHRoZSBjb250aXVpbmcgZXhpc3RlbmNlIG9mIHRoaXMgYmxvZy4gVGhpcyBpcyBhbiBhcmVhIHdoZXJlIHdlIGRvIG5lZWQgdG8gZG8gbW9yZSB3b3JrLCBzdGFydGluZyB3aXRoIGEgZGVjaXNpb24gYWJvdXQgdGhlIGJlc3QgYXJjaGl2YWwgZm9ybWF0IGZvciBhIGJsb2cgcG9zdCAoSFRNTCwgUERGLCA8YSBocmVmPSJodHRwczovL2phdHMubmxtLm5paC5nb3YvIj5KQVRTPC9hPj8pLiBGb3Igbm93IGJsb2cgcG9zdHMgYXJlIGhvc3RlZCBpbiBtdWx0aXBsZSBHaXQgcmVwb3NpdG9yaWVzICg8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvYmxvZyI+b25lIG9mIHRoZW0gb24gR2l0aHViPC9hPiksIGFuZCBpbiB0d28gaW5kZXBlbmRlbnQgQW1hem9uIFMzIGJ1Y2tldHMgdGhhdCBlYWNoIHVzZSA8YSBocmVmPSJodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1ZlcnNpb25pbmcuaHRtbCI+dmVyc2lvbmluZzwvYT4uIE11bHRpcGxlIGxvY2F0aW9ucyB3aXRoIHZlcnNpb25pbmcgYXJlIGEgZ29vZCBzdGFydCwgYnV0IG1vcmUgd29yayBpcyBjbGVhcmx5IG5lZWRlZC48L3A+CjxoMiBpZD0icmVmZXJlbmNlcyIgY2xhc3M9InVubnVtYmVyZWQiPlJlZmVyZW5jZXM8L2gyPgo8ZGl2IGlkPSJyZWZzIiBjbGFzcz0icmVmZXJlbmNlcyI+CjxkaXYgaWQ9InJlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIj4KPHA+RGF0YUNpdGUgTWV0YWRhdGEgV29ya2luZyBHcm91cC4gKDIwMTYpLiBEYXRhQ2l0ZSBtZXRhZGF0YSBzY2hlbWEgZm9yIHRoZSBwdWJsaWNhdGlvbiBhbmQgY2l0YXRpb24gb2YgcmVzZWFyY2ggZGF0YSB2NC4wLiA8ZW0+RGF0YUNpdGU8L2VtPi4gPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvMDAxMiIgY2xhc3M9InVyaSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvMDAxMjwvYT48L3A+CjwvZGl2Pgo8ZGl2IGlkPSJyZWYtaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIj4KPHA+RmVubmVyLCBNLiAoMjAxNikuIENvb2wgZG9p4oCZcy4gPGVtPkRhdGFDaXRlPC9lbT4uIDxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzU1RTUtVDVDMCIgY2xhc3M9InVyaSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwPC9hPjwvcD4KPC9kaXY+CjwvZGl2PgoKICAgICAgICAgICAgPGhyIHdpZHRoPSI4MCUiPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC01IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tdGVhc2VyIGNmIj4KICA8ZGl2IGNsYXNzPSJpc0xlZnQiPgogICAgPHNlY3Rpb24gY2xhc3M9ImF1dGhvciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRob3ItaW1hZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly93d3cuZ3JhdmF0YXIuY29tL2F2YXRhci80MzQ1OTJhMDk3ZTkxMjYxNzkyZWJkNmI0OTIwNDJiYz9zPTI1MCZkPW1tJnI9eCkiPkJsb2cgTG9nbzwvZGl2PgogICAgICAgIDxoND5NYXJ0aW4gRmVubmVyPC9oND4KICAgICAgICA8cCBjbGFzcz0iYmlvIj5EYXRhQ2l0ZSBUZWNobmljYWwgRGlyZWN0b3I8L3A+CiAgICAgICAgPHAgY2xhc3M9Im9yY2lkIj48YSBocmVmPSJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1Ij5odHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PC9hPjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CiAgICAgIDxoND5FYXRpbmcgeW91ciBvd24gRG9nIEZvb2Q8L2g0PgogICAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPjxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZyIgZGF0YS1wcm9vZmVyLWlnbm9yZT0idHJ1ZSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnPC9hPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj48aSBjbGFzcz0iZmEgZmEtY2FsZW5kYXIiPjwvaT4gPHRpbWUgZGF0ZXRpbWU9IjIwMTYtMTItMjAgMDA6MDAiPkRlY2VtYmVyIDIwLCAyMDE2PC90aW1lPjwvcD4KICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+PGkgY2xhc3M9ImZhIGZhLWhpc3RvcnkiPjwvaT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL2Jsb2cvY29tbWl0cy9tYXN0ZXIvc291cmNlL3Bvc3RzL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC5odG1sLm1kIj5IaXN0b3J5PC9hPjwvcD4KICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+wqkgMjAxNiBNYXJ0aW4gRmVubmVyLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvbGVnYWxjb2RlIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uIGxpY2Vuc2U8L2E+LjwvcD4KICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+CiAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXRhZ3MiPjwvaT4KICAgICAgICA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9ZGF0YWNpdGUiPmRhdGFjaXRlPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPWRvaSI+ZG9pPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPW1ldGFkYXRhIj5tZXRhZGF0YTwvYT4sIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1mZWF0dXJlZCI+ZmVhdHVyZWQ8L2E+CiAgICAgIDwvcD4KICAgICAgPGRpdiBzdHlsZT0icGFkZGluZy1sZWZ0OjcwcHgiPgogICAgICAgIDxkYXRhLW1ldHJpY3MtYmFkZ2UgZG9pPTEwLjU0MzgvNGszbS1ueXZnIGRpc3BsYXk9InNtYWxsIj48L2RhdGEtbWV0cmljcy1iYWRnZT4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgPC9kaXY+CjwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIgY29sLW1kLW9mZnNldC0xIj4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS10ZWFzZXIgY2YiPgogIDxkaXYgY2xhc3M9ImlzTGVmdCI+CiAgICA8aDUgY2xhc3M9ImluZGV4LWhlYWRsaW5lIGZlYXR1cmVkIj48c3Bhbj5TaGFyZSBvbjwvc3Bhbj48L2g1PgogICAgICA8YSBjbGFzcz0iaWNvbi10d2l0dGVyIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vc2hhcmU/dGV4dD1PbiB0aGUgQGRhdGFjaXRlIGJsb2c6IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZCZhbXA7dXJsPWh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyIKICAgICAgICBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYsICd0d2l0dGVyLXNoYXJlJywgJ3dpZHRoPTU1MCxoZWlnaHQ9MjU1Jyk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIgZmEtMngiPjwvaT48c3BhbiBjbGFzcz0iaGlkZGVuIj50d2l0dGVyPC9zcGFuPgogICAgICA8L2E+CiAgICAgIDxhIGNsYXNzPSJpY29uLWZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD90PU9uIHRoZSBAZGF0YWNpdGUgYmxvZzogRWF0aW5nIHlvdXIgb3duIERvZyBGb29kJmFtcDt1PWh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyIKICAgICAgICBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYsICdmYWNlYm9vay1zaGFyZScsICd3aWR0aD01NTAsaGVpZ2h0PTI1NScpO3JldHVybiBmYWxzZTsiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS1mYWNlYm9vayBmYS0yeCI+PC9pPjxzcGFuIGNsYXNzPSJoaWRkZW4iPmZhY2Vib29rPC9zcGFuPgogICAgICA8L2E+CiAgPC9kaXY+CjwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBpZD0iZGlzcXVzX3RocmVhZCI+PC9kaXY+CjxzY3JpcHQ+CiAgICB2YXIgZGlzcXVzX2NvbmZpZyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB0aGlzLnBhZ2UudXJsID0gJ2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyc7CiAgICAgICAgdGhpcy5wYWdlLmlkZW50aWZpZXIgPSAnaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvJzsKICAgIH07CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGQgPSBkb2N1bWVudCwgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgogICAgICAgIHMuc3JjID0gJy8vZGF0YWNpdGUuZGlzcXVzLmNvbS9lbWJlZC5qcyc7ICAvLwoKICAgICAgICBzLnNldEF0dHJpYnV0ZSgnZGF0YS10aW1lc3RhbXAnLCArbmV3IERhdGUoKSk7CiAgICAgICAgKGQuaGVhZCB8fCBkLmJvZHkpLmFwcGVuZENoaWxkKHMpOwogICAgfSkoKTsKPC9zY3JpcHQ+Cjxub3NjcmlwdD5QbGVhc2UgZW5hYmxlIEphdmFTY3JpcHQgdG8gdmlldyB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9kaXNxdXMuY29tLz9yZWZfbm9zY3JpcHQiIHJlbD0ibm9mb2xsb3ciPmNvbW1lbnRzIHBvd2VyZWQgYnkgRGlzcXVzLjwvYT48L25vc2NyaXB0PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KIAogICAgPCEtLSBmb290ZXIgc3RhcnQgLS0+Cgo8Zm9vdGVyIGNsYXNzPSdyb3cgZm9vdGVyJz4KICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgPGRpdiBjbGFzcz0nY29sLW1kLTMgY29sLXNtLTQnPgogICAgICA8aDQ+QWJvdXQgRGF0YUNpdGU8L2g0PgogICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9taXNzaW9uLmh0bWwiPldoYXQgd2UgZG88L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9nb3Zlcm5hbmNlLmh0bWwiPkdvdmVybmFuY2U8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGFmZi5odG1sIj5TdGFmZjwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2pvYm9wcG9ydHVuaXRpZXMuaHRtbCI+Sm9iIG9wcG9ydHVuaXRpZXM8L2E+PC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9J2NvbC1tZC0zIGNvbC1zbS00Jz4KICAgICAgPGg0PlNlcnZpY2VzPC9oND4KICAgICAgPHVsPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvZG9pcy5odG1sIj5Bc3NpZ24gRE9JczwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3NlYXJjaC5odG1sIj5NZXRhZGF0YSBzZWFyY2g8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudGRhdGEuaHRtbCI+RXZlbnQgZGF0YTwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3Byb2ZpbGVzLmh0bWwiPlByb2ZpbGVzPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcmUzZGF0YS5odG1sIj5yZTNkYXRhPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvY2l0YXRpb24uaHRtbCI+Q2l0YXRpb24gZm9ybWF0dGVyPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvc3RhdHMuaHRtbCI+U3RhdGlzdGljczwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2NvbnRlbnQuaHRtbCI+Q29udGVudCBuZWdvdGlhdGlvbjwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL29haXBtaC5odG1sIj5PQUktUE1IPC9hPjwvYT48L2xpPgogICAgICA8L3VsPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgIDxoND5SZXNvdXJjZXM8L2g0PgogICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgc2NoZW1hPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3N1cHBvcnQuZGF0YWNpdGUub3JnIj5TdXBwb3J0PC9hPjwvYT48L2xpPgogICAgICA8L3VsPgogICAgICA8aDQ+Q29tbXVuaXR5PC9oND4KICAgICAgPHVsPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvbWVtYmVycy5odG1sIj5NZW1iZXJzPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcGFydG5lcnMuaHRtbCI+UGFydG5lcnM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudHMuaHRtbCI+RXZlbnRzPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcm9hZG1hcC5odG1sIj5Sb2FkbWFwPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdXNlci1zdG9yaWVzLmh0bWwiPlVzZXIgU3RvcmllczwvYT48L2E+PC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0nY29sLW1kLTMnPgogICAgICA8aDQgY2xhc3M9InNoYXJlIj5Db250YWN0IHVzPC9oND4KICAgICAgPGEgaHJlZj0nbWFpbHRvOnN1cHBvcnRAZGF0YWNpdGUub3JnJyBjbGFzcz0ic2hhcmUiPgogICAgICAgIDxpIGNsYXNzPSdmYSBmYS1hdCc+PC9pPgogICAgICA8L2E+CiAgICAgIDxhIGhyZWY9J2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXJzcyc+PC9pPgogICAgICA8L2E+CiAgICAgIDxhIGhyZWY9J2h0dHBzOi8vdHdpdHRlci5jb20vZGF0YWNpdGUnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXR3aXR0ZXInPjwvaT4KICAgICAgPC9hPgogICAgICA8YSBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvZGF0YWNpdGUnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWdpdGh1Yic+PC9pPgogICAgICA8L2E+CiAgICAgIDxhIGhyZWY9J2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgIDxpIGNsYXNzPSdmYSBmYS1saW5rZWRpbic+PC9pPgogICAgICA8L2E+CiAgICAgIDx1bCBjbGFzcz0ic2hhcmUiPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdGVybXMuaHRtbCI+VGVybXMgYW5kIGNvbmRpdGlvbnM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcml2YWN5Lmh0bWwiPlByaXZhY3kgcG9saWN5PC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvYWNrbm93bGVkZ21lbnRzLmh0bWwiPkFja25vd2xlZGdlbWVudHM8L2E+PC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxhIGhyZWY9Imh0dHA6Ly9zdGF0dXMuZGF0YWNpdGUub3JnIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWRvdCI+PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1kZXNjcmlwdGlvbiI+PC9zcGFuPgogICAgICA8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIGZvb3RlciBlbmQgLS0+CiAKICAgIDxzY3JpcHQgc3JjPSIvL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMi4xLjQubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy42L2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9jZG4uc3RhdHVzcGFnZS5pby9zZS12Mi5qcyI+PC9zY3JpcHQ+CgogICAgICA8c2NyaXB0PgogICAgKGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpewogICAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pCiAgICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7CgogICAgZ2EoJ2NyZWF0ZScsICdVQS0yMjgwNjE5Ni02JywgJ2F1dG8nKTsKICAgIGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7CgogIDwvc2NyaXB0PgoKICA8L2JvZHk+CjwvaHRtbD4K
109
+ http_version:
110
+ recorded_at: Sun, 12 Jul 2020 11:26:37 GMT
111
111
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.1; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -29,19 +29,19 @@ http_interactions:
29
29
  Location:
30
30
  - "/eating-your-own-dog-food/"
31
31
  Date:
32
- - Wed, 03 Jul 2019 19:23:50 GMT
32
+ - Sun, 12 Jul 2020 11:21:11 GMT
33
33
  Server:
34
34
  - AmazonS3
35
- Age:
36
- - '65'
37
35
  X-Cache:
38
36
  - Hit from cloudfront
39
37
  Via:
40
- - 1.1 aedeee700db52f4cea9d94a290857132.cloudfront.net (CloudFront)
38
+ - 1.1 bb45d9db269295920003af6514d7e7eb.cloudfront.net (CloudFront)
41
39
  X-Amz-Cf-Pop:
42
- - CDG3
40
+ - DUS51-C1
43
41
  X-Amz-Cf-Id:
44
- - UYzbxz_uPuTMqR2xCouU7XiD7I08Nciz2gaqiNdxKaLvB0ox-wE6dg==
42
+ - 5LzVQ_4Rt0gMll8GsOjdngN0TBM3jBz0EkYmj1XoaXrD5LOoMtQnxQ==
43
+ Age:
44
+ - '324'
45
45
  body:
46
46
  encoding: ASCII-8BIT
47
47
  string: |
@@ -52,14 +52,14 @@ http_interactions:
52
52
  <ul>
53
53
  <li>Code: Found</li>
54
54
  <li>Message: Resource Found</li>
55
- <li>RequestId: 996DBCA6B99F73FD</li>
56
- <li>HostId: kFur3CFjWGhyrGmKevE08I4y/IwufI2+/4WFr4/WG9U8ZtcgO5caMm2sSamoKVTJXtkh8SOr3dQ=</li>
55
+ <li>RequestId: 2B1C41832533005C</li>
56
+ <li>HostId: oS3hc/WjIZHu480Mcip/u7idjRa0UgvlxwbX3kqKgL+pDfftfYBcZIA+ziGuc3jtbEfDOWnx550=</li>
57
57
  </ul>
58
58
  <hr/>
59
59
  </body>
60
60
  </html>
61
- http_version:
62
- recorded_at: Wed, 03 Jul 2019 19:24:55 GMT
61
+ http_version:
62
+ recorded_at: Sun, 12 Jul 2020 11:26:36 GMT
63
63
  - request:
64
64
  method: get
65
65
  uri: https://blog.datacite.org/eating-your-own-dog-food/
@@ -68,7 +68,7 @@ http_interactions:
68
68
  string: ''
69
69
  headers:
70
70
  User-Agent:
71
- - Mozilla/5.0 (compatible; Maremma/4.2.1; mailto:info@datacite.org)
71
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
72
72
  Accept:
73
73
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
74
74
  response:
@@ -79,33 +79,33 @@ http_interactions:
79
79
  Content-Type:
80
80
  - text/html
81
81
  Content-Length:
82
- - '23822'
82
+ - '21411'
83
83
  Connection:
84
84
  - keep-alive
85
85
  Date:
86
- - Wed, 03 Jul 2019 10:05:02 GMT
86
+ - Sun, 12 Jul 2020 06:07:23 GMT
87
87
  Cache-Control:
88
88
  - max-age=31536000
89
89
  Last-Modified:
90
- - Mon, 01 Jul 2019 11:34:37 GMT
90
+ - Fri, 10 Jul 2020 06:47:19 GMT
91
91
  Etag:
92
- - '"002f11a3260f60c20ffb0b450d04be3f"'
92
+ - '"d75dff518202b1c411027a725295d017"'
93
93
  Server:
94
94
  - AmazonS3
95
- Age:
96
- - '33594'
97
95
  X-Cache:
98
96
  - Hit from cloudfront
99
97
  Via:
100
- - 1.1 4468d1158fd8518904eeddee41549e5d.cloudfront.net (CloudFront)
98
+ - 1.1 4ecd74dda94d7576e134fcdf16df8129.cloudfront.net (CloudFront)
101
99
  X-Amz-Cf-Pop:
102
- - CDG3
100
+ - DUS51-C1
103
101
  X-Amz-Cf-Id:
104
- - ogKMZUTEKhl3b1cLBxRzjlzOOA-5YV4ByPe_Nrqe4qD850HY-XTFwA==
102
+ - 5P89QRnJpKvHUxxpTVUsUFQzFpQT2QkdT_VMZ-aatb4tkTGB7mrIeg==
103
+ Age:
104
+ - '19153'
105
105
  body:
106
106
  encoding: ASCII-8BIT
107
107
  string: !binary |-
108
- PCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDwhLS0gKDEpIE9wdGltaXplIGZvciBtb2JpbGUgdmVyc2lvbnM6IGh0dHA6Ly9nb28uZ2wvRU9wRmwgLS0+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8IS0tICgxKSBmb3JjZSBsYXRlc3QgSUUgcmVuZGVyaW5nIGVuZ2luZTogYml0Lmx5LzFjOEVpQzkgLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKCiAgICA8dGl0bGU+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiAvPgoKICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9IlRydWUiIC8+CiAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjMyMCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1zdGF0dXMtYmFyLXN0eWxlIiBjb250ZW50PSJibGFjay10cmFuc2x1Y2VudCI+CgogICAgPCEtLSBEdWJsaW5Db3JlIE1ldGFkYXRhIC0tPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnRpdGxlIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6Zm9ybWF0IiBjb250ZW50PSJ0ZXh0L2h0bWwiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6bGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnJpZ2h0cyIgY29udGVudD0iQ0MtQlkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6c291cmNlIiBjb250ZW50PSJEYXRhQ2l0ZSBCbG9nIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnN1YmplY3QiIGNvbnRlbnQ9IlNjaG9sYXJseSBDb21tdW5pY2F0aW9uIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CgoKICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkVhdGluZyB5b3VyIG93biBEb2cgRm9vZCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRWF0aW5nIHlvdXIgb3duIGRvZyBmb29kIGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvci4uLiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0iYmxvZyIgLz4KCiAgICA8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrQmFza2VydmlsbGU6NDAwLDQwMGksNzAwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0nLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXk6NDAwLDYwMCw0MDBpdGFsaWMsNjAwaXRhbGljJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Ii8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4xL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvc3R5bGVzaGVldHMvZGF0YWNpdGUuY3NzIiByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvaWNvIiAvPgoKICAgICAgPHNjcmlwdAogICAgICAgIHNyYz0iLy9kMnd5OGY3YTl1cnNubS5jbG91ZGZyb250Lm5ldC9idWdzbmFnLTIubWluLmpzIgogICAgICAgIGRhdGEtYXBpa2V5PSJjMzdhNTg2MTk2NzA5MWE5YjQyYTFhNzdlMjM1MTE0YSI+CiAgICAgIDwvc2NyaXB0PgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgIHsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciLCJuYW1lIjoiRWF0aW5nIHlvdXIgb3duIERvZyBGb29kIiwidXJsIjoiaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvIiwiYXV0aG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiLCJnaXZlbk5hbWUiOiJNYXJ0aW4iLCJmYW1pbHlOYW1lIjoiRmVubmVyIiwibmFtZSI6Ik1hcnRpbiBGZW5uZXIiLCJhZmZpbGlhdGlvbiI6IkRhdGFDaXRlIn1dLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiRGF0YUNpdGUifSwiZGF0ZUNyZWF0ZWQiOiIyMDE2LTEyLTIwIiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTYtMTItMjAiLCJkYXRlTW9kaWZpZWQiOiIyMDE2LTEyLTIwIiwia2V5d29yZHMiOiJkYXRhY2l0ZSwgZG9pLCBtZXRhZGF0YSwgZmVhdHVyZWQiLCJ2ZXJzaW9uIjoiMS4wIiwiZGVzY3JpcHRpb24iOiJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiwibGljZW5zZSI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvIiwiaW1hZ2UiOiIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIsImlzUGFydE9mIjp7IkB0eXBlIjoiQmxvZyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMDAtMDBTUyIsIm5hbWUiOiJEYXRhQ2l0ZSBCbG9nIn0sImNpdGF0aW9uIjpbeyJAdHlwZSI6IkNyZWF0aXZlV29yayIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIifSx7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIn1dfQogICAgPC9zY3JpcHQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyIiBpZD0ibmF2dG9wIj4KICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci13aGl0ZSIgcm9sZT0ibmF2aWdhdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiCiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iLyI+RGF0YUNpdGUgQmxvZzwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSI+CiAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdXBwb3J0LmRhdGFjaXRlLm9yZyI+U3VwcG9ydDwvYT48L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBpZD0ic2l0ZXMiPjxpIGNsYXNzPSdmYSBmYS10aCc+PC9pPiA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiIHJvbGU9Im1lbnUiPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZ2xvYmUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBIb21lcGFnZTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1yc3MgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBCbG9nPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL21kcy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1kYXRhYmFzZSBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIE1EUzwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWZpbGUtY29kZS1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2NoZW1hPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2NpdGF0aW9uLmNyb3NzY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1maWxlLXRleHQtbyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIENpdGF0aW9uIEZvcm1hdHRlcjwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zZWFyY2guZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtc2VhcmNoIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU2VhcmNoPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9vYWkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtdGFibGUgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBPQUktUE1IPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9zdGF0cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1iYXItY2hhcnQgZmEtZncnPjwvaT4KICAgICAgICAgICAgICAgICAgICBTdGF0aXN0aWNzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9hcGkuZGF0YWNpdGUub3JnIj4KICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtY29ncyBmYS1mdyc+PC9pPgogICAgICAgICAgICAgICAgICAgIFJFU1QgQVBJPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5yZTNkYXRhLm9yZyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWN1YmVzIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgcmUzZGF0YTwvYT4KICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkaXZpZGVyIj48L2xpPgogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3N0YXR1cy5kYXRhY2l0ZS5vcmciPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1jYWxlbmRhci1jaGVjay1vIGZhLWZ3Jz48L2k+CiAgICAgICAgICAgICAgICAgICAgU3RhdHVzPC9hPgogICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9oZWFkZXI+CiAgICAgIDxkaXYgY2xhc3M9IndyYXBwZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzZWN0aW9uLXdoaXRlIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgcm93LXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxhIG5hbWU9InRvcG9mcGFnZSI+PC9hPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0LW1ldGEiPgogICAgICAgICAgICAgIDxoMT5FYXRpbmcgeW91ciBvd24gRG9nIEZvb2Q8L2gxPgogICAgICAgICAgICAgIERlY2VtYmVyIDIwLCAyMDE2IGJ5IE1hcnRpbiBGZW5uZXIKICAgICAgICAgICAgICDigKIgPHNwYW4gY2xhc3M9InBvc3QtcmVhZGluZy10aW1lIj48L3NwYW4+IHJlYWQKICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkb2kiPjxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZyIgZGF0YS1wcm9vZmVyLWlnbm9yZT0idHJ1ZSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnPC9hPjwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8cD48YSBocmVmPSJodHRwczovL25ld3JlcHVibGljLmNvbS9hcnRpY2xlLzExNTM0OS9kb2dmb29kaW5nLXRlY2gtc2xhbmctd29ya2luZy1vdXQtZ2xpdGNoZXMiPkVhdGluZyB5b3VyIG93biBkb2cgZm9vZDwvYT4gaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yIHRoZSBzY2hvbGFybHkgb3V0cHV0cyB3ZSBwcm9kdWNlLiBGb3IgdGhlIG1vc3QgcGFydCB0aGlzIGlzIG5vdCByZXNlYXJjaCBkYXRhLCBidXQgcmF0aGVyIHRlY2huaWNhbCBkb2N1bWVudHMgc3VjaCBhcyB0aGUgRGF0YUNpdGUgU2NoZW1hIGFuZCBpdHMgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4uPC9wPgo8cD5UaGVzZSBvdXRwdXRzIGFsc28gaW5jbHVkZSB0aGUgcG9zdHMgb24gdGhpcyBibG9nLCB3aGVyZSB3ZSBkaXNjdXNzIHRvcGljcyByZWxldmFudCBmb3IgdGhlIERhdGFDaXRlIGNvbW11bml0eSwgYnV0IGFsc28gb2YgYnJvYWRlciBpbnRlcmVzdCB0byBhbnlvbmUgd2hvIGNhcmVzIGFib3V0IHJlc2VhcmNoIGRhdGEsIHBlcnNpc3RlbnQgaWRlbnRpZmllcnMsIGFuZCBzY2hvbGFybHkgaW5mcmFzdHJ1Y3R1cmUuIEFuZCBzdGFydGluZyB0b2RheSBhbGwgYmxvZyBwb3N0cyBvbiB0aGlzIGJsb2cgd2lsbCBoYXZlIGEgRE9JLCBtZXRhZGF0YSBhbmQgdXNlIGEgcGVyc2lzdGVudCBzdG9yYWdlIG1lY2hhbmlzbS48L3A+CjxkaXYgY2xhc3M9ImZpZ3VyZSI+CjxpbWcgc3JjPSIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIgYWx0PSJQaG90byBieSBCaWxsIEVtcmljaC4gQ0MgWmVyby4iIC8+CjxwIGNsYXNzPSJjYXB0aW9uIj5QaG90byBieSA8YSBocmVmPSJodHRwczovL3d3dy5wZXhlbHMuY29tL3Bob3RvL2JsYWNrLWFuZC10YW4teW9ya3NoaXJlLXRlcnJpZXItcHVwcHktMjMwNzg1LyI+QmlsbCBFbXJpY2g8L2E+LiA8YSBocmVmPSJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLyI+Q0MgWmVybzwvYT4uPC9wPgo8L2Rpdj4KPGgzIGlkPSJ0ZWNobmljYWwtaW1wbGVtZW50YXRpb24iPlRlY2huaWNhbCBJbXBsZW1lbnRhdGlvbjwvaDM+CjxwPlRoaXMgYmxvZyBpcyBwb3dlcmVkIGJ5IHRoZSBzdGF0aWMgc2l0ZSBnZW5lcmF0b3IgPGEgaHJlZj0iaHR0cHM6Ly9taWRkbGVtYW5hcHAuY29tLyI+TWlkZGxlbWFuPC9hPiwgd2l0aCBibG9nIHBvc3RzIHdyaXR0ZW4gaW4gPGEgaHJlZj0iaHR0cDovL2NvbW1vbm1hcmsub3JnLyI+TWFya2Rvd248L2E+IGFuZCBjb252ZXJ0ZWQgdG8gSFRNTCB1c2luZyA8YSBocmVmPSJodHRwOi8vcGFuZG9jLm9yZy8iPlBhbmRvYzwvYT4gYW5kIHRoZSA8YSBocmVmPSJodHRwczovL3RyYXZpcy1jaS5vcmciPlRyYXZpcyBDSTwvYT4gY29udGludW91cyBpbnRlZ3JhdGlvbiBzZXJ2aWNlLiBTdGF0aWMgc2l0ZSBnZW5lcmF0b3IgbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBkYXRhYmFzZSBvciBhcHBsaWNhdGlvbiBzZXJ2ZXIgcG93ZXJpbmcgdGhlIHNpdGUsIG1ha2luZyB3ZWJzaXRlIGFkbWluc3RyYXRpb24gc2ltcGxlciwgY2hlYXBlciBhbmQgc2FmZXIuIEluIGFkZGl0aW9uIHRvIHRoZSBibG9nLCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnIj5EYXRhQ2l0ZSBob21lcGFnZTwvYT4gYW5kIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgU2NoZW1hIHN1YnNpdGU8L2E+IGFyZSBhbHNvIGdlbmVyYXRlZCB1c2luZyBNaWRkbGVtYW4uPC9wPgo8cD5UaGUgc2ltcGxpY2l0eSBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGhlcmUsIGFzIHJlZ2lzdGVyaW5nIHRoZSBET0lzIGFuZCBtZXRhZGF0YSBjYW4gYmUgYWNjb21wbGlzaGVkIHVzaW5nIGEgY29tbWFuZCBsaW5lIHV0aWxpdHkgd3JpdHRlbiBieSBEYXRhQ2l0ZSBzdGFmZiB0aGF0IGRvZXNuJ3QgbmVlZCB0byBrbm93IG11Y2ggYWJvdXQgdGhlIGludGVybmFscyBvZiBNaWRkbGVtYW4sIGFuZCB0aHVzIGNhbiBiZSBlYXNpbHkgYWRhcHRlZCB0byBvdGhlciBzdGF0aWMgc2l0ZSBnZW5lcmF0b3JzIHN1Y2ggYXMgPGEgaHJlZj0iaHR0cDovL2pla3lsbHJiLmNvbS8iPkpla3lsbDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9nb2h1Z28uaW8vIj5IdWdvPC9hPiBvciA8YSBocmVmPSJodHRwczovL2hleG8uaW8vIj5IZXhvPC9hPi4gVGhlIGNvbW1hbmQgbGluZSB1dGlsaXR5IGlzIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9jaXJuZWNvIj5DaXJuZWNvPC9hPiwgZ2VuZXJhdGluZyB0aGUgbWV0YWRhdGEgWE1MIGFjY29yZGluZyB0byB0aGUgRGF0YUNpdGUgTWV0YWRhdGEgU2NoZW1hLCBhbmQgcmVnaXN0ZXJpbmcgRE9JIGFuZCBtZXRhZGF0YSB3aXRoIHRoZSBEYXRhQ2l0ZSBNRFMuIExpa2UgYWxsIHRvb2xzIG1lbnRpb25lZCBpbiB0aGlzIHBvc3QgQ2lybmVjbyBpcyBvcGVuIHNvdXJjZSBzb2Z0d2FyZSwgcGxlYXNlIHJlYWNoIG91dCB0byB1cyBpZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gaW1wbGVtZW50aW5nIHNpbWlsYXIgZnVuY3Rpb25hbGl0eSBmb3IgeW91ciBibG9nLjwvcD4KPGgzIGlkPSJnZW5lcmF0aW5nLWRvaXMiPkdlbmVyYXRpbmcgRE9JczwvaDM+CjxwPlRoZSBET0lzIGZvciB0aGlzIGJsb2cgYXJlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LCB1c2luZyBhIG1vZGlmaWVkIGJhc2UzMiBlbmNvZGluZyBhbGdvcml0aG0gdGhhdCBpcyBwcm92aWRlZCBieSBDaXJuZWNvLCBhcyBkaXNjdXNzZWQgbGFzdCB3ZWVrIDxzcGFuIGNsYXNzPSJjaXRhdGlvbiI+KEZlbm5lciwgPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPjIwMTY8L2E+KTwvc3Bhbj4uIFRoZSBET0kgaXMgZ2VuZXJhdGVkIGFuZCBtaW50ZWQgd2hlbiBhIG5ldyBwb3N0IGlzIHB1c2hlZCB0byA8YSBocmVmPSJodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnIiBjbGFzcz0idXJpIj5odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnPC9hPi4gVGhpcyBhdm9pZHMgdHdvIHByb2JsZW1zOiBhKSBET0ktbGlrZSBzdHJpbmdzIGluIHRoZSB3aWxkIGJlZm9yZSBwdWJsaWNhdGlvbiBhbmQgYikgdGhlIHJhbmRvbWx5IGdlbmVyYXRlZCBET0kgZXhpc3RzIGFscmVhZHkgKHdlIGNhbiBzaW1wbHkgZ2VuZXJhdGUgYSBuZXcgb25lKS4gQWxsIERPSXMgYXJlIHNob3J0LCB3aXRob3V0IHNlbWFudGljIGluZm9tYXRpb24gdGhhdCBtaWdodCBjaGFuZ2Ugb3ZlciB0aW1lLCBhbmQgd2l0aCBhIGNoZWNrc3VtIHRvIG1pbmltaXplIHRyYW5zY3JpcHRpb24gZXJyb3JzLCBmb3IgZXhhbXBsZSA8c3Ryb25nPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4L1hDQkotRzdaWTwvc3Ryb25nPi4gR29pbmcgZm9yd2FyZCB3ZSBlbmNvdXJhZ2UgdXNlcnMgdG8gbGluayB0byB0aGUgRGF0YUNpdGUgQmxvZyB1c2luZyB0aGUgRE9JLCBhcyB0aGVzZSBsaW5rcyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsgZXZlbiBpZiB3ZSBldmVyIG1vdmUgdGhlIGJsb2cgdG8gYSBkaWZmZXJlbnQgbG9jYXRpb24uPC9wPgo8aDMgaWQ9ImdlbmVyYXRpbmctbWV0YWRhdGEiPkdlbmVyYXRpbmcgTWV0YWRhdGE8L2gzPgo8cD5Gb3IgdGhlIGdlbmVyYXRpb24gb2YgbWV0YWRhdGEsIHdlIG5lZWQgdG8gc3RyaWtlIGEgYmFsYW5jZSBiZXR3ZWVuIHNpbXBsZSBhdXRob3IgcHJvdmlkZWQgbWV0YWRhdGEsIGJ1dCByaWNoIGVub3VnaCB0byBhaWQgZGlzY292ZXJ5LiBXZSBhcmUgZG9pbmcgdGhpcyB2aWEgdGhyZWUgbWVjaGFuaXNtczo8L3A+Cjx1bD4KPGxpPm1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3I8L2xpPgo8bGk+ZGVmYXVsdCBtZXRhZGF0YSBmb3IgdGhlIGJsb2c8L2xpPgo8bGk+bWV0YWRhdGEgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgZnJvbSBjb250ZW50PC9saT4KPC91bD4KPHA+VGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IHRoZSBhdXRob3IgYXJlIHRoZSB0eXBpY2FsIG1ldGFkYXRhIGZvciBibG9nIHBvc3RzLCBwcm92aWRlZCB2aWEgPGEgaHJlZj0iaHR0cHM6Ly9nb2h1Z28uaW8vY29udGVudC9mcm9udC1tYXR0ZXIvIj5ZQU1MIGZyb250IG1hdHRlcjwvYT4gYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHBvc3Q6PC9wPgo8ZGl2IGNsYXNzPSJzb3VyY2VDb2RlIj48cHJlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxjb2RlIGNsYXNzPSJzb3VyY2VDb2RlIHlhbWwiPjxzcGFuIGNsYXNzPSJvdCI+LS0tPC9zcGFuPgo8c3BhbiBjbGFzcz0iZnUiPmxheW91dDo8L3NwYW4+IHBvc3QKPHNwYW4gY2xhc3M9ImZ1Ij50aXRsZTo8L3NwYW4+IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZAo8c3BhbiBjbGFzcz0iZnUiPmF1dGhvcjo8L3NwYW4+IG1mZW5uZXIKPHNwYW4gY2xhc3M9ImZ1Ij5kYXRlOjwvc3Bhbj4gMjAxNi0xMi0xOQo8c3BhbiBjbGFzcz0iZnUiPnRhZ3M6PC9zcGFuPgo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IGRhdGFjaXRlCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gZG9pCjxzcGFuIGNsYXNzPSJrdyI+LTwvc3Bhbj4gbWV0YWRhdGEKPHNwYW4gY2xhc3M9Im90Ij4tLS08L3NwYW4+PC9jb2RlPjwvcHJlPjwvZGl2Pgo8cD5XZSBjYW4gcmV1c2UgYWxsIHRoZXNlIG1ldGFkYXRhIHdoZW4gZ2VuZXJhdGluZyBEYXRhQ2l0ZSBtZXRhZGF0YSwgdXNpbmcgdGhlIHRhZ3MgYXMgPGNvZGU+c3ViamVjdHM8L2NvZGU+LjwvcD4KPHA+VGhlIGRlZmF1bHQgbWV0YWRhdGEgYXJlIG1ldGFkYXRhIHRoYXQgYWx3YXlzIHN0YXkgdGhlIHNhbWUgZm9yIHRoZSBibG9nLCBzdWNoIGFzIDxjb2RlPnB1Ymxpc2hlcjwvY29kZT4sIDxjb2RlPkhvc3RpbmdJbnN0aXR1dGlvbjwvY29kZT4gYW5kIDxjb2RlPnJpZ2h0czwvY29kZT4uIFdlIGNhbiBzdG9yZSB0aGVtIGluIGEgc2l0ZS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZS4gV2UgY2FuIGFsc28gYXNzdW1lIHJlYXNvbmFibGUgZGVmYXVsdHMgdGhhdCBjYW4gYmUgb3ZlcnJpZGRlbiBpbiB0aGUgWUFNTCBmcm9udCBtYXR0ZXIsIGUuZy4gPGNvZGU+cmVzb3VyY2VUeXBlPC9jb2RlPiAod2UgdXNlIDxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLm9yZy9CbG9nUG9zdGluZyI+QmxvZ1Bvc3Rpbmc8L2E+IHdpdGggPGNvZGU+cmVzb3VyY2VUeXBlR2VuZXJhbDwvY29kZT4gVGV4dCkgYW5kIDxjb2RlPnZlcnNpb248L2NvZGU+LiBXZSBzdG9yZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGF1dGhvcnMgb3V0c2lkZSB0aGUgYmxvZyBwb3N0LCBpbmNsdWRpbmcgPGNvZGU+Z2l2ZW5OYW1lPC9jb2RlPiwgPGNvZGU+ZmFtaWx5TmFtZTwvY29kZT4gYW5kIDxjb2RlPm5hbWVJZGVudGlmaWVyPC9jb2RlPiAod2Ugbm93IHNob3cgdGhlIE9SQ0lEIElEIG9mIGV2ZXJ5IGJsb2cgYXV0aG9yIGF0IHRoZSBib3R0b20gb2YgdGhlIHBvc3QpLjwvcD4KPHA+RmluYWxseSwgdGhlcmUgYXJlIG1ldGFkYXRhIHRoYXQgd2UgY2FuIGF1dG9tYXRpY2FsbHkgZXh0cmFjdCBmcm9tIHRoZSBibG9nIHBvc3QsIGFuZCB3ZSBhcmUgY3VycmVudGx5IGRvaW5nIHRoaXMgZm9yIHRoZSA8Y29kZT5kZXNjcmlwdGlvbjwvY29kZT4gYW5kIDxjb2RlPnJlbGF0ZWRJZGVudGlmaWVyPC9jb2RlPi4gVGhpcyBibG9nIHVzZXMgUGFuZG9jIGFuZCBCaWJUZXggdG8gZ2VuZXJhdGUgdGhlIHJlZmVyZW5jZXMgc2VjdGlvbiBhdCB0aGUgZW5kLCBhbmQgd2UgY2FuIGZldGNoIHRoaXMgaW5mb3JtYXRpb24gYW5kIGNvbnZlcnQgaXQgaW50byB0aGUgZm9ybWF0IG5lZWRlZCBmb3IgPGNvZGU+cmVsYXRlZElkZW50aWZpZXI8L2NvZGU+LjwvcD4KPHA+VGFrZW4gdG9nZXRoZXIgd2UgY2FuIHByb3ZpZGUgYWxsIG1ldGFkYXRhIHRoYXQgYXJlIDxlbT5yZXF1aXJlZDwvZW0+IG9yIDxlbT5yZWNvbW1lbmRlZDwvZW0+IGluIHRoZSBNZXRhZGF0YSBTY2hlbWEgZG9jdW1lbnRhdGlvbiA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPig8YSBocmVmPSIjcmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPjIwMTY8L2E+KTwvc3Bhbj4sIGFuZCB3ZSBjYW4gZG8gdGhpcyB3aXRob3V0IGFueSBleHRyYSBlZmZvcnQgZm9yIHRoZSBhdXRob3IuIFRoZSBmdWxsIFhNTCBpcyBhdmFsYWlsYWJsZSA8YSBocmVmPSJodHRwczovL2RhdGEuZGF0YWNpdGUub3JnL2FwcGxpY2F0aW9uL3gtZGF0YWNpdGUreG1sLzEwLjU0MzgvNEszTS1OWVZHIj5oZXJlPC9hPi48L3A+CjxwPk5vdCBhbGwgYmxvZyBwb3N0cyBuZWVkIHRvIGJlIGNpdGVkIGZvcm1hbGx5IHdpdGggbWV0YWRhdGEgaW4gYSA8ZW0+cmVmZXJlbmNlczwvZW0+IGxpc3QgZm9ybWF0dGVkIGFjY29yZGluZyB0byBhIHNwZWNpZmljIGNpdGF0aW9uIHN0eWxlLiBCdXQgdGhlc2UgbWV0YWRhdGEgZ3JlYXRseSBoZWxwIHdpdGggZGlzY292ZXJ5LCBhIHNlYXJjaCBpbiBEYXRhQ2l0ZSBTZWFyY2ggZm9yIDxhIGhyZWY9Imh0dHA6Ly9zZWFyY2guZGF0YWNpdGUub3JnL3dvcmtzP3F1ZXJ5PWVhdGluZytkb2crZm9vZCI+ZWF0aW5nIGRvZyBmb29kPC9hPiB3aWxsIGZvciBleGFtcGxlIGJyaW5nIHVwIHRoaXMgYmxvZyBwb3N0IGFzIHRoZSBmaXJzdCBoaXQuPC9wPgo8aDMgaWQ9InBlcnNpc3RlbnQtc3RvcmFnZSI+UGVyc2lzdGVudCBzdG9yYWdlPC9oMz4KPHA+VXNpbmcgRE9JcyBtZWFucyB0aGF0IHJlYWRlcnMgbm90IG9ubHkgZXhwZWN0IHJpY2ggbWV0YWRhdGEgdGhhdCBoZWxwIHdpdGggY2l0YXRpb24gYW5kIGRpc2NvdmVyeSwgYnV0IGFsc28gdGhhdCBEYXRhQ2l0ZSB0YWtlcyBleHRyYSBjYXJlIHRvIHByZXNlcnZlIHRoZSBibG9nIHBvc3RzLCB0aGlua2luZyBiZXlvbmQgdGhlIHBhcnRpY3VsYXIgdGVjaG5pY2FsIGltcGxlbWVudGF0aW9uIG9yIGV2ZW4gdGhlIGNvbnRpdWluZyBleGlzdGVuY2Ugb2YgdGhpcyBibG9nLiBUaGlzIGlzIGFuIGFyZWEgd2hlcmUgd2UgZG8gbmVlZCB0byBkbyBtb3JlIHdvcmssIHN0YXJ0aW5nIHdpdGggYSBkZWNpc2lvbiBhYm91dCB0aGUgYmVzdCBhcmNoaXZhbCBmb3JtYXQgZm9yIGEgYmxvZyBwb3N0IChIVE1MLCBQREYsIDxhIGhyZWY9Imh0dHBzOi8vamF0cy5ubG0ubmloLmdvdi8iPkpBVFM8L2E+PykuIEZvciBub3cgYmxvZyBwb3N0cyBhcmUgaG9zdGVkIGluIG11bHRpcGxlIEdpdCByZXBvc2l0b3JpZXMgKDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhY2l0ZS9ibG9nIj5vbmUgb2YgdGhlbSBvbiBHaXRodWI8L2E+KSwgYW5kIGluIHR3byBpbmRlcGVuZGVudCBBbWF6b24gUzMgYnVja2V0cyB0aGF0IGVhY2ggdXNlIDxhIGhyZWY9Imh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvVmVyc2lvbmluZy5odG1sIj52ZXJzaW9uaW5nPC9hPi4gTXVsdGlwbGUgbG9jYXRpb25zIHdpdGggdmVyc2lvbmluZyBhcmUgYSBnb29kIHN0YXJ0LCBidXQgbW9yZSB3b3JrIGlzIGNsZWFybHkgbmVlZGVkLjwvcD4KPGgzIGlkPSJyZWZlcmVuY2VzIiBjbGFzcz0idW5udW1iZXJlZCI+UmVmZXJlbmNlczwvaDM+CjxkaXYgaWQ9InJlZnMiIGNsYXNzPSJyZWZlcmVuY2VzIj4KPGRpdiBpZD0icmVmLWh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIiPgo8cD5EYXRhQ2l0ZSBNZXRhZGF0YSBXb3JraW5nIEdyb3VwLiAoMjAxNikuIERhdGFDaXRlIG1ldGFkYXRhIHNjaGVtYSBmb3IgdGhlIHB1YmxpY2F0aW9uIGFuZCBjaXRhdGlvbiBvZiByZXNlYXJjaCBkYXRhIHY0LjAuIDxlbT5EYXRhQ2l0ZTwvZW0+LiA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyPC9hPjwvcD4KPC9kaXY+CjxkaXYgaWQ9InJlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzAiPgo8cD5GZW5uZXIsIE0uICgyMDE2KS4gQ29vbCBkT0nigJlzLiA8ZW0+RGF0YUNpdGU8L2VtPi4gPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIiBjbGFzcz0idXJpIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC81NUU1LVQ1QzA8L2E+PC9wPgo8L2Rpdj4KPC9kaXY+CgogICAgICAgICAgICA8aHIgd2lkdGg9IjgwJSI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTUgY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS10ZWFzZXIgY2YiPgogIDxkaXYgY2xhc3M9ImlzTGVmdCI+CiAgICA8c2VjdGlvbiBjbGFzcz0iYXV0aG9yIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGhvci1pbWFnZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLzQzNDU5MmEwOTdlOTEyNjE3OTJlYmQ2YjQ5MjA0MmJjP3M9MjUwJmQ9bW0mcj14KSI+QmxvZyBMb2dvPC9kaXY+CiAgICAgICAgPGg0Pk1hcnRpbiBGZW5uZXI8L2g0PgogICAgICAgIDxwIGNsYXNzPSJiaW8iPkRhdGFDaXRlIFRlY2huaWNhbCBEaXJlY3RvcjwvcD4KICAgICAgICA8cCBjbGFzcz0ib3JjaWQiPjxhIGhyZWY9Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L2E+PC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij48L2Rpdj4KICAgICAgPGg0PkVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvaDQ+CiAgICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+PGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnIiBkYXRhLXByb29mZXItaWdub3JlPSJ0cnVlIj5odHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmc8L2E+CiAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPjxpIGNsYXNzPSJmYSBmYS1jYWxlbmRhciI+PC9pPiA8dGltZSBkYXRldGltZT0iMjAxNi0xMi0yMCAwMDowMCI+RGVjZW1iZXIgMjAsIDIwMTY8L3RpbWU+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj48aSBjbGFzcz0iZmEgZmEtaGlzdG9yeSI+PC9pPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvYmxvZy9jb21taXRzL21hc3Rlci9zb3VyY2UvcG9zdHMvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLmh0bWwubWQiPkhpc3Rvcnk8L2E+PC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj7CqSAyMDE2IE1hcnRpbiBGZW5uZXIuIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC8iPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gbGljZW5zZTwvYT4uPC9wPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdGFncyI+PC9pPgogICAgICAgIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1kYXRhY2l0ZSI+ZGF0YWNpdGU8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9ZG9pIj5kb2k8L2E+LCA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9bWV0YWRhdGEiPm1ldGFkYXRhPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPWZlYXR1cmVkIj5mZWF0dXJlZDwvYT4KICAgICAgPC9wPgogICAgPC9zZWN0aW9uPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIGNvbC1tZC1vZmZzZXQtMSI+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tdGVhc2VyIGNmIj4KICA8ZGl2IGNsYXNzPSJpc0xlZnQiPgogICAgPGg1IGNsYXNzPSJpbmRleC1oZWFkbGluZSBmZWF0dXJlZCI+PHNwYW4+U2hhcmUgb248L3NwYW4+PC9oNT4KICAgICAgPGEgY2xhc3M9Imljb24tdHdpdHRlciIgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlP3RleHQ9T24gdGhlIEBkYXRhY2l0ZSBibG9nOiBFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QmYW1wO3VybD1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAndHdpdHRlci1zaGFyZScsICd3aWR0aD01NTAsaGVpZ2h0PTI1NScpO3JldHVybiBmYWxzZTsiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIGZhLTJ4Ij48L2k+PHNwYW4gY2xhc3M9ImhpZGRlbiI+dHdpdHRlcjwvc3Bhbj4KICAgICAgPC9hPgogICAgICA8YSBjbGFzcz0iaWNvbi1mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci5waHA/dD1PbiB0aGUgQGRhdGFjaXRlIGJsb2c6IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZCZhbXA7dT1odHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8iCiAgICAgICAgb25jbGljaz0id2luZG93Lm9wZW4odGhpcy5ocmVmLCAnZmFjZWJvb2stc2hhcmUnLCAnd2lkdGg9NTUwLGhlaWdodD0yNTUnKTtyZXR1cm4gZmFsc2U7Ij4KICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZmFjZWJvb2sgZmEtMngiPjwvaT48c3BhbiBjbGFzcz0iaGlkZGVuIj5mYWNlYm9vazwvc3Bhbj4KICAgICAgPC9hPgogIDwvZGl2Pgo8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgaWQ9ImRpc3F1c190aHJlYWQiPjwvZGl2Pgo8c2NyaXB0PgogICAgdmFyIGRpc3F1c19jb25maWcgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5wYWdlLnVybCA9ICdodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC8nOwogICAgICAgIHRoaXMucGFnZS5pZGVudGlmaWVyID0gJ2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyc7CiAgICB9OwogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBkID0gZG9jdW1lbnQsIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwoKICAgICAgICBzLnNyYyA9ICcvL2RhdGFjaXRlLmRpc3F1cy5jb20vZW1iZWQuanMnOyAgLy8KCiAgICAgICAgcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGltZXN0YW1wJywgK25ldyBEYXRlKCkpOwogICAgICAgIChkLmhlYWQgfHwgZC5ib2R5KS5hcHBlbmRDaGlsZChzKTsKICAgIH0pKCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+UGxlYXNlIGVuYWJsZSBKYXZhU2NyaXB0IHRvIHZpZXcgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZGlzcXVzLmNvbS8/cmVmX25vc2NyaXB0IiByZWw9Im5vZm9sbG93Ij5jb21tZW50cyBwb3dlcmVkIGJ5IERpc3F1cy48L2E+PC9ub3NjcmlwdD4KCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgICA8Zm9vdGVyIGNsYXNzPSdyb3cgZm9vdGVyJz4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+QWJvdXQgRGF0YUNpdGU8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL21pc3Npb24uaHRtbCI+V2hhdCB3ZSBkbzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2dvdmVybmFuY2UuaHRtbCI+R292ZXJuYW5jZTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0ZWVyaW5nLmh0bWwiPlN0ZWVyaW5nIGdyb3VwczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0YWZmLmh0bWwiPlN0YWZmPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvam9ib3Bwb3J0dW5pdGllcy5odG1sIj5Kb2Igb3Bwb3J0dW5pdGllczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+U2VydmljZXM8L2g0PgogICAgICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2RvaXMuaHRtbCI+QXNzaWduIERPSXM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zZWFyY2guaHRtbCI+TWV0YWRhdGEgc2VhcmNoPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvZXZlbnRkYXRhLmh0bWwiPkV2ZW50IGRhdGE8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcm9maWxlcy5odG1sIj5Qcm9maWxlczwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3JlM2RhdGEuaHRtbCI+cmUzZGF0YTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2NpdGF0aW9uLmh0bWwiPkNpdGF0aW9uIGZvcm1hdHRlcjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3N0YXRzLmh0bWwiPlN0YXRpc3RpY3M8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9jb250ZW50Lmh0bWwiPkNvbnRlbnQgbmVnb3RpYXRpb248L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9vYWlwbWguaHRtbCI+T0FJLVBNSDwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgICAgICA8aDQ+UmVzb3VyY2VzPC9oND4KICAgICAgICAgIDx1bD4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgc2NoZW1hPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3N1cHBvcnQuZGF0YWNpdGUub3JnIj5TdXBwb3J0PC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgPGg0PkNvbW11bml0eTwvaDQ+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvbWVtYmVycy5odG1sIj5NZW1iZXJzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcGFydG5lcnMuaHRtbCI+UGFydG5lcnM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudHMuaHRtbCI+RXZlbnRzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcm9hZG1hcC5odG1sIj5Sb2FkbWFwPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdXNlci1zdG9yaWVzLmh0bWwiPlVzZXIgU3RvcmllczwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyc+CiAgICAgICAgICA8aDQgY2xhc3M9InNoYXJlIj5Db250YWN0IHVzPC9oND4KICAgICAgICAgIDxhIGhyZWY9J21haWx0bzpzdXBwb3J0QGRhdGFjaXRlLm9yZycgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWF0Jz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL2Jsb2cuZGF0YWNpdGUub3JnL2ZlZWQueG1sJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtcnNzJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL3R3aXR0ZXIuY29tL2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtdHdpdHRlcic+PC9pPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtZ2l0aHViJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8YSBocmVmPSdodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9kYXRhY2l0ZScgY2xhc3M9InNoYXJlIj4KICAgICAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWxpbmtlZGluJz48L2k+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdGVybXMuaHRtbCI+VGVybXMgYW5kIGNvbmRpdGlvbnM8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcml2YWN5Lmh0bWwiPlByaXZhY3kgcG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvYWNrbm93bGVkZ21lbnRzLmh0bWwiPkFja25vd2xlZGdlbWVudHM8L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8YSBocmVmPSJodHRwOi8vc3RhdHVzLmRhdGFjaXRlLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItZG90Ij48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1kZXNjcmlwdGlvbiI+PC9zcGFuPgogICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPHNjcmlwdCBzcmM9Ii8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0yLjEuNC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4zLjYvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2Nkbi5zdGF0dXNwYWdlLmlvL3NlLXYyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9qYXZhc2NyaXB0cy9kZWZhdWx0LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9yZWFkaW5nVGltZS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2phdmFzY3JpcHRzL2luZGV4LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9qYXZhc2NyaXB0cy9zZWFyY2guanMiPjwvc2NyaXB0Pgo8c2NyaXB0IGlkPSJkc3EtY291bnQtc2NyIiBzcmM9Ii8vZGF0YWNpdGUuZGlzcXVzLmNvbS9jb3VudC5qcyIgYXN5bmM+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9maXR2aWRzLzEuMS4wL2pxdWVyeS5maXR2aWRzLm1pbi5qcyI+PC9zY3JpcHQ+ICAgIDxzY3JpcHQ+CiAgICAgIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRpY3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsKICAgICAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgICAgIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9ZzttLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkKICAgICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCcvL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScpOwoKICAgICAgZ2EoJ2NyZWF0ZScsICdVQS0yMjgwNjE5Ni02JywgJ2F1dG8nKTsKICAgICAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsKICAgIDwvc2NyaXB0PgogIDwvYm9keT4KPC9odG1sPgo=
109
- http_version:
110
- recorded_at: Wed, 03 Jul 2019 19:24:55 GMT
108
+ PCFET0NUWVBFIGh0bWw+CiAgPGh0bWw+CiAgICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDwhLS0gKDEpIE9wdGltaXplIGZvciBtb2JpbGUgdmVyc2lvbnM6IGh0dHA6Ly9nb28uZ2wvRU9wRmwgLS0+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8IS0tICgxKSBmb3JjZSBsYXRlc3QgSUUgcmVuZGVyaW5nIGVuZ2luZTogYml0Lmx5LzFjOEVpQzkgLS0+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgoKCiAgICA8dGl0bGU+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC90aXRsZT4KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiAvPgoKICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9IlRydWUiIC8+CiAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjMyMCIgLz4KICAgIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC1zdGF0dXMtYmFyLXN0eWxlIiBjb250ZW50PSJibGFjay10cmFuc2x1Y2VudCI+CgogICAgPCEtLSBEdWJsaW5Db3JlIE1ldGFkYXRhIC0tPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnRpdGxlIiBjb250ZW50PSJFYXRpbmcgeW91ciBvd24gRG9nIEZvb2QiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6Zm9ybWF0IiBjb250ZW50PSJ0ZXh0L2h0bWwiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6bGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnJpZ2h0cyIgY29udGVudD0iQ0MtQlkiIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0iZGM6c291cmNlIiBjb250ZW50PSJEYXRhQ2l0ZSBCbG9nIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnN1YmplY3QiIGNvbnRlbnQ9IlNjaG9sYXJseSBDb21tdW5pY2F0aW9uIiAvPgogICAgPG1ldGEgcHJvcGVydHk9ImRjOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CgoKICAgIDxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkVhdGluZyB5b3VyIG93biBEb2cgRm9vZCIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iRWF0aW5nIHlvdXIgb3duIGRvZyBmb29kIGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvci4uLiIgLz4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIC8+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0iYmxvZyIgLz4KCiAgICA8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrQmFza2VydmlsbGU6NDAwLDQwMGksNzAwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0nLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJhbGV3YXk6NDAwLDYwMCw0MDBpdGFsaWMsNjAwaXRhbGljJyByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Ii8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4xL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSd0ZXh0L2Nzcyc+CiAgICA8bGluayBocmVmPSJodHRwczovL2Fzc2V0cy5kYXRhY2l0ZS5vcmcvc3R5bGVzaGVldHMvZGF0YWNpdGUuY3NzIiByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJz4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vYXNzZXRzLmRhdGFjaXRlLm9yZy9pbWFnZXMvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvaWNvIiAvPgoKICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgIHsiQGNvbnRleHQiOiJodHRwOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQmxvZ1Bvc3RpbmciLCJAaWQiOiJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciLCJuYW1lIjoiRWF0aW5nIHlvdXIgb3duIERvZyBGb29kIiwidXJsIjoiaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvIiwiYXV0aG9yIjpbeyJAdHlwZSI6IlBlcnNvbiIsIkBpZCI6Imh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDUiLCJnaXZlbk5hbWUiOiJNYXJ0aW4iLCJmYW1pbHlOYW1lIjoiRmVubmVyIiwibmFtZSI6Ik1hcnRpbiBGZW5uZXIiLCJhZmZpbGlhdGlvbiI6eyJAaWQiOiJodHRwczovL3Jvci5vcmcvMDR3eG5zajgxIiwibmFtZSI6IkRhdGFDaXRlIiwiQHR5cGUiOiJPcmdhbml6YXRpb24ifX1dLCJwdWJsaXNoZXIiOnsiQHR5cGUiOiJPcmdhbml6YXRpb24iLCJuYW1lIjoiRGF0YUNpdGUifSwiZGF0ZUNyZWF0ZWQiOiIyMDE2LTEyLTIwIiwiZGF0ZVB1Ymxpc2hlZCI6IjIwMTYtMTItMjAiLCJkYXRlTW9kaWZpZWQiOiIyMDE2LTEyLTIwIiwia2V5d29yZHMiOiJkYXRhY2l0ZSwgZG9pLCBtZXRhZGF0YSwgZmVhdHVyZWQiLCJ2ZXJzaW9uIjoiMS4wIiwiZGVzY3JpcHRpb24iOiJFYXRpbmcgeW91ciBvd24gZG9nIGZvb2QgaXMgYSBzbGFuZyB0ZXJtIHRvIGRlc2NyaWJlIHRoYXQgYW4gb3JnYW5pemF0aW9uIHNob3VsZCBpdHNlbGYgdXNlIHRoZSBwcm9kdWN0cyBhbmQgc2VydmljZXMgaXQgcHJvdmlkZXMuIEZvciBEYXRhQ2l0ZSB0aGlzIG1lYW5zIHRoYXQgd2Ugc2hvdWxkIHVzZSBET0lzIHdpdGggYXBwcm9wcmlhdGUgbWV0YWRhdGEgYW5kIHN0cmF0ZWdpZXMgZm9yIGxvbmctdGVybSBwcmVzZXJ2YXRpb24gZm9yLi4uIiwibGljZW5zZSI6Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvbGVnYWxjb2RlIiwiaW1hZ2UiOiIvaW1hZ2VzLzIwMTYvMTIvMjMwNzg1LmpwZyIsImlzUGFydE9mIjp7IkB0eXBlIjoiQmxvZyIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMDAtMDBTUyIsIm5hbWUiOiJEYXRhQ2l0ZSBCbG9nIn0sImNpdGF0aW9uIjpbeyJAdHlwZSI6IkNyZWF0aXZlV29yayIsIkBpZCI6Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzAwMTIifSx7IkB0eXBlIjoiQ3JlYXRpdmVXb3JrIiwiQGlkIjoiaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIn1dfQogICAgPC9zY3JpcHQ+CiAgICAKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS92dWUvZGlzdC92dWUubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9icm93c2UvQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzQDIuMC4wL3dlYmNvbXBvbmVudHMtbG9hZGVyLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9kYXRhLW1ldHJpY3MtYmFkZ2UvZGlzdC9kYXRhLW1ldHJpY3MtYmFkZ2UubWluLmpzIj48L3NjcmlwdD4KICA8L2hlYWQ+CiAgPGJvZHk+CiAgICAKPCEtLSBoZWFkZXIgc3RhcnQgLS0+Cgo8ZGl2IGNsYXNzPSJoZWFkZXIiIGlkPSJuYXZ0b3AiPgogIDxkaXYgY2xhc3M9Im5hdmJhciBuYXZiYXItd2hpdGUiIHJvbGU9Im5hdmlnYXRpb24iPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4KICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciIKICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9Ii5uYXZiYXItY29sbGFwc2UiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPlRvZ2dsZSBuYXZpZ2F0aW9uPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgIDwvYnV0dG9uPgogICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9Ii8iPkRhdGFDaXRlIEJsb2c8L2E+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItY29sbGFwc2UgY29sbGFwc2UiPgogICAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vc3VwcG9ydC5kYXRhY2l0ZS5vcmciPlN1cHBvcnQ8L2E+PC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjwhLS0gaGVhZGVyIGVuZCAtLT4KIAogICAgICA8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gc2VjdGlvbi13aGl0ZSI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93IHJvdy1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICA8YSBuYW1lPSJ0b3BvZnBhZ2UiPjwvYT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9zdC1tZXRhIj4KICAgICAgICAgICAgICA8aDE+RWF0aW5nIHlvdXIgb3duIERvZyBGb29kPC9oMT4KICAgICAgICAgICAgICBEZWNlbWJlciAyMCwgMjAxNiBieSBNYXJ0aW4gRmVubmVyCiAgICAgICAgICAgICAg4oCiIDxzcGFuIGNsYXNzPSJwb3N0LXJlYWRpbmctdGltZSI+PC9zcGFuPiByZWFkCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZG9pIj48YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuNTQzOC80azNtLW55dmciIGRhdGEtcHJvb2Zlci1pZ25vcmU9InRydWUiPmh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZzwvYT48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPHA+PGEgaHJlZj0iaHR0cHM6Ly9uZXdyZXB1YmxpYy5jb20vYXJ0aWNsZS8xMTUzNDkvZG9nZm9vZGluZy10ZWNoLXNsYW5nLXdvcmtpbmctb3V0LWdsaXRjaGVzIj5FYXRpbmcgeW91ciBvd24gZG9nIGZvb2Q8L2E+IGlzIGEgc2xhbmcgdGVybSB0byBkZXNjcmliZSB0aGF0IGFuIG9yZ2FuaXphdGlvbiBzaG91bGQgaXRzZWxmIHVzZSB0aGUgcHJvZHVjdHMgYW5kIHNlcnZpY2VzIGl0IHByb3ZpZGVzLiBGb3IgRGF0YUNpdGUgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCB1c2UgRE9JcyB3aXRoIGFwcHJvcHJpYXRlIG1ldGFkYXRhIGFuZCBzdHJhdGVnaWVzIGZvciBsb25nLXRlcm0gcHJlc2VydmF0aW9uIGZvciB0aGUgc2Nob2xhcmx5IG91dHB1dHMgd2UgcHJvZHVjZS4gRm9yIHRoZSBtb3N0IHBhcnQgdGhpcyBpcyBub3QgcmVzZWFyY2ggZGF0YSwgYnV0IHJhdGhlciB0ZWNobmljYWwgZG9jdW1lbnRzIHN1Y2ggYXMgdGhlIERhdGFDaXRlIFNjaGVtYSBhbmQgaXRzIGRvY3VtZW50YXRpb24gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIj4oPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIj4yMDE2PC9hPik8L3NwYW4+LjwvcD4KPHA+VGhlc2Ugb3V0cHV0cyBhbHNvIGluY2x1ZGUgdGhlIHBvc3RzIG9uIHRoaXMgYmxvZywgd2hlcmUgd2UgZGlzY3VzcyB0b3BpY3MgcmVsZXZhbnQgZm9yIHRoZSBEYXRhQ2l0ZSBjb21tdW5pdHksIGJ1dCBhbHNvIG9mIGJyb2FkZXIgaW50ZXJlc3QgdG8gYW55b25lIHdobyBjYXJlcyBhYm91dCByZXNlYXJjaCBkYXRhLCBwZXJzaXN0ZW50IGlkZW50aWZpZXJzLCBhbmQgc2Nob2xhcmx5IGluZnJhc3RydWN0dXJlLiBBbmQgc3RhcnRpbmcgdG9kYXkgYWxsIGJsb2cgcG9zdHMgb24gdGhpcyBibG9nIHdpbGwgaGF2ZSBhIERPSSwgbWV0YWRhdGEgYW5kIHVzZSBhIHBlcnNpc3RlbnQgc3RvcmFnZSBtZWNoYW5pc20uPC9wPgo8ZGl2IGNsYXNzPSJmaWd1cmUiPgo8aW1nIHNyYz0iL2ltYWdlcy8yMDE2LzEyLzIzMDc4NS5qcGciIGFsdD0iUGhvdG8gYnkgQmlsbCBFbXJpY2guIENDIFplcm8uIiAvPgo8cCBjbGFzcz0iY2FwdGlvbiI+UGhvdG8gYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cucGV4ZWxzLmNvbS9waG90by9ibGFjay1hbmQtdGFuLXlvcmtzaGlyZS10ZXJyaWVyLXB1cHB5LTIzMDc4NS8iPkJpbGwgRW1yaWNoPC9hPi4gPGEgaHJlZj0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8iPkNDIFplcm88L2E+LjwvcD4KPC9kaXY+CjxoMyBpZD0idGVjaG5pY2FsLWltcGxlbWVudGF0aW9uIj5UZWNobmljYWwgSW1wbGVtZW50YXRpb248L2gzPgo8cD5UaGlzIGJsb2cgaXMgcG93ZXJlZCBieSB0aGUgc3RhdGljIHNpdGUgZ2VuZXJhdG9yIDxhIGhyZWY9Imh0dHBzOi8vbWlkZGxlbWFuYXBwLmNvbS8iPk1pZGRsZW1hbjwvYT4sIHdpdGggYmxvZyBwb3N0cyB3cml0dGVuIGluIDxhIGhyZWY9Imh0dHA6Ly9jb21tb25tYXJrLm9yZy8iPk1hcmtkb3duPC9hPiBhbmQgY29udmVydGVkIHRvIEhUTUwgdXNpbmcgPGEgaHJlZj0iaHR0cDovL3BhbmRvYy5vcmcvIj5QYW5kb2M8L2E+IGFuZCB0aGUgPGEgaHJlZj0iaHR0cHM6Ly90cmF2aXMtY2kub3JnIj5UcmF2aXMgQ0k8L2E+IGNvbnRpbnVvdXMgaW50ZWdyYXRpb24gc2VydmljZS4gU3RhdGljIHNpdGUgZ2VuZXJhdG9yIG1lYW5zIHRoYXQgdGhlcmUgaXMgbm8gZGF0YWJhc2Ugb3IgYXBwbGljYXRpb24gc2VydmVyIHBvd2VyaW5nIHRoZSBzaXRlLCBtYWtpbmcgd2Vic2l0ZSBhZG1pbnN0cmF0aW9uIHNpbXBsZXIsIGNoZWFwZXIgYW5kIHNhZmVyLiBJbiBhZGRpdGlvbiB0byB0aGUgYmxvZywgdGhlIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZyI+RGF0YUNpdGUgaG9tZXBhZ2U8L2E+IGFuZCA8YSBocmVmPSJodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmciPk1ldGFkYXRhIFNjaGVtYSBzdWJzaXRlPC9hPiBhcmUgYWxzbyBnZW5lcmF0ZWQgdXNpbmcgTWlkZGxlbWFuLjwvcD4KPHA+VGhlIHNpbXBsaWNpdHkgaXMgcGFydGljdWxhcmx5IGltcG9ydGFudCBoZXJlLCBhcyByZWdpc3RlcmluZyB0aGUgRE9JcyBhbmQgbWV0YWRhdGEgY2FuIGJlIGFjY29tcGxpc2hlZCB1c2luZyBhIGNvbW1hbmQgbGluZSB1dGlsaXR5IHdyaXR0ZW4gYnkgRGF0YUNpdGUgc3RhZmYgdGhhdCBkb2Vzbid0IG5lZWQgdG8ga25vdyBtdWNoIGFib3V0IHRoZSBpbnRlcm5hbHMgb2YgTWlkZGxlbWFuLCBhbmQgdGh1cyBjYW4gYmUgZWFzaWx5IGFkYXB0ZWQgdG8gb3RoZXIgc3RhdGljIHNpdGUgZ2VuZXJhdG9ycyBzdWNoIGFzIDxhIGhyZWY9Imh0dHA6Ly9qZWt5bGxyYi5jb20vIj5KZWt5bGw8L2E+LCA8YSBocmVmPSJodHRwOi8vZ29odWdvLmlvLyI+SHVnbzwvYT4gb3IgPGEgaHJlZj0iaHR0cHM6Ly9oZXhvLmlvLyI+SGV4bzwvYT4uIFRoZSBjb21tYW5kIGxpbmUgdXRpbGl0eSBpcyA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvY2lybmVjbyI+Q2lybmVjbzwvYT4sIGdlbmVyYXRpbmcgdGhlIG1ldGFkYXRhIFhNTCBhY2NvcmRpbmcgdG8gdGhlIERhdGFDaXRlIE1ldGFkYXRhIFNjaGVtYSwgYW5kIHJlZ2lzdGVyaW5nIERPSSBhbmQgbWV0YWRhdGEgd2l0aCB0aGUgRGF0YUNpdGUgTURTLiBMaWtlIGFsbCB0b29scyBtZW50aW9uZWQgaW4gdGhpcyBwb3N0IENpcm5lY28gaXMgb3BlbiBzb3VyY2Ugc29mdHdhcmUsIHBsZWFzZSByZWFjaCBvdXQgdG8gdXMgaWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGltcGxlbWVudGluZyBzaW1pbGFyIGZ1bmN0aW9uYWxpdHkgZm9yIHlvdXIgYmxvZy48L3A+CjxoMyBpZD0iZ2VuZXJhdGluZy1kb2lzIj5HZW5lcmF0aW5nIERPSXM8L2gzPgo8cD5UaGUgRE9JcyBmb3IgdGhpcyBibG9nIGFyZSBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSwgdXNpbmcgYSBtb2RpZmllZCBiYXNlMzIgZW5jb2RpbmcgYWxnb3JpdGhtIHRoYXQgaXMgcHJvdmlkZWQgYnkgQ2lybmVjbywgYXMgZGlzY3Vzc2VkIGxhc3Qgd2VlayA8c3BhbiBjbGFzcz0iY2l0YXRpb24iPihGZW5uZXIsIDxhIGhyZWY9IiNyZWYtaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIj4yMDE2PC9hPik8L3NwYW4+LiBUaGUgRE9JIGlzIGdlbmVyYXRlZCBhbmQgbWludGVkIHdoZW4gYSBuZXcgcG9zdCBpcyBwdXNoZWQgdG8gPGEgaHJlZj0iaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZyIgY2xhc3M9InVyaSI+aHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZzwvYT4uIFRoaXMgYXZvaWRzIHR3byBwcm9ibGVtczogYSkgRE9JLWxpa2Ugc3RyaW5ncyBpbiB0aGUgd2lsZCBiZWZvcmUgcHVibGljYXRpb24gYW5kIGIpIHRoZSByYW5kb21seSBnZW5lcmF0ZWQgRE9JIGV4aXN0cyBhbHJlYWR5ICh3ZSBjYW4gc2ltcGx5IGdlbmVyYXRlIGEgbmV3IG9uZSkuIEFsbCBET0lzIGFyZSBzaG9ydCwgd2l0aG91dCBzZW1hbnRpYyBpbmZvbWF0aW9uIHRoYXQgbWlnaHQgY2hhbmdlIG92ZXIgdGltZSwgYW5kIHdpdGggYSBjaGVja3N1bSB0byBtaW5pbWl6ZSB0cmFuc2NyaXB0aW9uIGVycm9ycywgZm9yIGV4YW1wbGUgPHN0cm9uZz5odHRwczovL2RvaS5vcmcvMTAuNTQzOC9YQ0JKLUc3Wlk8L3N0cm9uZz4uIEdvaW5nIGZvcndhcmQgd2UgZW5jb3VyYWdlIHVzZXJzIHRvIGxpbmsgdG8gdGhlIERhdGFDaXRlIEJsb2cgdXNpbmcgdGhlIERPSSwgYXMgdGhlc2UgbGlua3Mgd2lsbCBjb250aW51ZSB0byB3b3JrIGV2ZW4gaWYgd2UgZXZlciBtb3ZlIHRoZSBibG9nIHRvIGEgZGlmZmVyZW50IGxvY2F0aW9uLjwvcD4KPGgzIGlkPSJnZW5lcmF0aW5nLW1ldGFkYXRhIj5HZW5lcmF0aW5nIE1ldGFkYXRhPC9oMz4KPHA+Rm9yIHRoZSBnZW5lcmF0aW9uIG9mIG1ldGFkYXRhLCB3ZSBuZWVkIHRvIHN0cmlrZSBhIGJhbGFuY2UgYmV0d2VlbiBzaW1wbGUgYXV0aG9yIHByb3ZpZGVkIG1ldGFkYXRhLCBidXQgcmljaCBlbm91Z2ggdG8gYWlkIGRpc2NvdmVyeS4gV2UgYXJlIGRvaW5nIHRoaXMgdmlhIHRocmVlIG1lY2hhbmlzbXM6PC9wPgo8dWw+CjxsaT5tZXRhZGF0YSBwcm92aWRlZCBieSB0aGUgYXV0aG9yPC9saT4KPGxpPmRlZmF1bHQgbWV0YWRhdGEgZm9yIHRoZSBibG9nPC9saT4KPGxpPm1ldGFkYXRhIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGZyb20gY29udGVudDwvbGk+CjwvdWw+CjxwPlRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSB0aGUgYXV0aG9yIGFyZSB0aGUgdHlwaWNhbCBtZXRhZGF0YSBmb3IgYmxvZyBwb3N0cywgcHJvdmlkZWQgdmlhIDxhIGhyZWY9Imh0dHBzOi8vZ29odWdvLmlvL2NvbnRlbnQvZnJvbnQtbWF0dGVyLyI+WUFNTCBmcm9udCBtYXR0ZXI8L2E+IGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBwb3N0OjwvcD4KPGRpdiBjbGFzcz0ic291cmNlQ29kZSI+PHByZSBjbGFzcz0ic291cmNlQ29kZSB5YW1sIj48Y29kZSBjbGFzcz0ic291cmNlQ29kZSB5YW1sIj48c3BhbiBjbGFzcz0ib3QiPi0tLTwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij5sYXlvdXQ6PC9zcGFuPjxzcGFuIGNsYXNzPSJhdCI+IHBvc3Q8L3NwYW4+CjxzcGFuIGNsYXNzPSJmdSI+dGl0bGU6PC9zcGFuPjxzcGFuIGNsYXNzPSJhdCI+IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZDwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij5hdXRob3I6PC9zcGFuPjxzcGFuIGNsYXNzPSJhdCI+IG1mZW5uZXI8L3NwYW4+CjxzcGFuIGNsYXNzPSJmdSI+ZGF0ZTo8L3NwYW4+PHNwYW4gY2xhc3M9ImF0Ij4gMjAxNi0xMi0xOTwvc3Bhbj4KPHNwYW4gY2xhc3M9ImZ1Ij50YWdzOjwvc3Bhbj4KPHNwYW4gY2xhc3M9Imt3Ij4tPC9zcGFuPiBkYXRhY2l0ZQo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IGRvaQo8c3BhbiBjbGFzcz0ia3ciPi08L3NwYW4+IG1ldGFkYXRhCjxzcGFuIGNsYXNzPSJvdCI+LS0tPC9zcGFuPjwvY29kZT48L3ByZT48L2Rpdj4KPHA+V2UgY2FuIHJldXNlIGFsbCB0aGVzZSBtZXRhZGF0YSB3aGVuIGdlbmVyYXRpbmcgRGF0YUNpdGUgbWV0YWRhdGEsIHVzaW5nIHRoZSB0YWdzIGFzIDxjb2RlPnN1YmplY3RzPC9jb2RlPi48L3A+CjxwPlRoZSBkZWZhdWx0IG1ldGFkYXRhIGFyZSBtZXRhZGF0YSB0aGF0IGFsd2F5cyBzdGF5IHRoZSBzYW1lIGZvciB0aGUgYmxvZywgc3VjaCBhcyA8Y29kZT5wdWJsaXNoZXI8L2NvZGU+LCA8Y29kZT5Ib3N0aW5nSW5zdGl0dXRpb248L2NvZGU+IGFuZCA8Y29kZT5yaWdodHM8L2NvZGU+LiBXZSBjYW4gc3RvcmUgdGhlbSBpbiBhIHNpdGUtd2lkZSBjb25maWd1cmF0aW9uIGZpbGUuIFdlIGNhbiBhbHNvIGFzc3VtZSByZWFzb25hYmxlIGRlZmF1bHRzIHRoYXQgY2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIFlBTUwgZnJvbnQgbWF0dGVyLCBlLmcuIDxjb2RlPnJlc291cmNlVHlwZTwvY29kZT4gKHdlIHVzZSA8YSBocmVmPSJodHRwczovL3NjaGVtYS5vcmcvQmxvZ1Bvc3RpbmciPkJsb2dQb3N0aW5nPC9hPiB3aXRoIDxjb2RlPnJlc291cmNlVHlwZUdlbmVyYWw8L2NvZGU+IFRleHQpIGFuZCA8Y29kZT52ZXJzaW9uPC9jb2RlPi4gV2Ugc3RvcmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBhdXRob3JzIG91dHNpZGUgdGhlIGJsb2cgcG9zdCwgaW5jbHVkaW5nIDxjb2RlPmdpdmVuTmFtZTwvY29kZT4sIDxjb2RlPmZhbWlseU5hbWU8L2NvZGU+IGFuZCA8Y29kZT5uYW1lSWRlbnRpZmllcjwvY29kZT4gKHdlIG5vdyBzaG93IHRoZSBPUkNJRCBJRCBvZiBldmVyeSBibG9nIGF1dGhvciBhdCB0aGUgYm90dG9tIG9mIHRoZSBwb3N0KS48L3A+CjxwPkZpbmFsbHksIHRoZXJlIGFyZSBtZXRhZGF0YSB0aGF0IHdlIGNhbiBhdXRvbWF0aWNhbGx5IGV4dHJhY3QgZnJvbSB0aGUgYmxvZyBwb3N0LCBhbmQgd2UgYXJlIGN1cnJlbnRseSBkb2luZyB0aGlzIGZvciB0aGUgPGNvZGU+ZGVzY3JpcHRpb248L2NvZGU+IGFuZCA8Y29kZT5yZWxhdGVkSWRlbnRpZmllcjwvY29kZT4uIFRoaXMgYmxvZyB1c2VzIFBhbmRvYyBhbmQgQmliVGV4IHRvIGdlbmVyYXRlIHRoZSByZWZlcmVuY2VzIHNlY3Rpb24gYXQgdGhlIGVuZCwgYW5kIHdlIGNhbiBmZXRjaCB0aGlzIGluZm9ybWF0aW9uIGFuZCBjb252ZXJ0IGl0IGludG8gdGhlIGZvcm1hdCBuZWVkZWQgZm9yIDxjb2RlPnJlbGF0ZWRJZGVudGlmaWVyPC9jb2RlPi48L3A+CjxwPlRha2VuIHRvZ2V0aGVyIHdlIGNhbiBwcm92aWRlIGFsbCBtZXRhZGF0YSB0aGF0IGFyZSA8ZW0+cmVxdWlyZWQ8L2VtPiBvciA8ZW0+cmVjb21tZW5kZWQ8L2VtPiBpbiB0aGUgTWV0YWRhdGEgU2NoZW1hIGRvY3VtZW50YXRpb24gPHNwYW4gY2xhc3M9ImNpdGF0aW9uIj4oPGEgaHJlZj0iI3JlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIj4yMDE2PC9hPik8L3NwYW4+LCBhbmQgd2UgY2FuIGRvIHRoaXMgd2l0aG91dCBhbnkgZXh0cmEgZWZmb3J0IGZvciB0aGUgYXV0aG9yLiBUaGUgZnVsbCBYTUwgaXMgYXZhbGFpbGFibGUgPGEgaHJlZj0iaHR0cHM6Ly9kYXRhLmNyb3NzY2l0ZS5vcmcvYXBwbGljYXRpb24vdm5kLmRhdGFjaXRlLmRhdGFjaXRlK3htbC8xMC41NDM4LzRLM00tTllWRyI+aGVyZTwvYT4uPC9wPgo8cD5Ob3QgYWxsIGJsb2cgcG9zdHMgbmVlZCB0byBiZSBjaXRlZCBmb3JtYWxseSB3aXRoIG1ldGFkYXRhIGluIGEgPGVtPnJlZmVyZW5jZXM8L2VtPiBsaXN0IGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gYSBzcGVjaWZpYyBjaXRhdGlvbiBzdHlsZS4gQnV0IHRoZXNlIG1ldGFkYXRhIGdyZWF0bHkgaGVscCB3aXRoIGRpc2NvdmVyeSwgYSBzZWFyY2ggaW4gRGF0YUNpdGUgU2VhcmNoIGZvciA8YSBocmVmPSJodHRwOi8vc2VhcmNoLmRhdGFjaXRlLm9yZy93b3Jrcz9xdWVyeT1lYXRpbmcrZG9nK2Zvb2QiPmVhdGluZyBkb2cgZm9vZDwvYT4gd2lsbCBmb3IgZXhhbXBsZSBicmluZyB1cCB0aGlzIGJsb2cgcG9zdCBhcyB0aGUgZmlyc3QgaGl0LjwvcD4KPGgzIGlkPSJwZXJzaXN0ZW50LXN0b3JhZ2UiPlBlcnNpc3RlbnQgc3RvcmFnZTwvaDM+CjxwPlVzaW5nIERPSXMgbWVhbnMgdGhhdCByZWFkZXJzIG5vdCBvbmx5IGV4cGVjdCByaWNoIG1ldGFkYXRhIHRoYXQgaGVscCB3aXRoIGNpdGF0aW9uIGFuZCBkaXNjb3ZlcnksIGJ1dCBhbHNvIHRoYXQgRGF0YUNpdGUgdGFrZXMgZXh0cmEgY2FyZSB0byBwcmVzZXJ2ZSB0aGUgYmxvZyBwb3N0cywgdGhpbmtpbmcgYmV5b25kIHRoZSBwYXJ0aWN1bGFyIHRlY2huaWNhbCBpbXBsZW1lbnRhdGlvbiBvciBldmVuIHRoZSBjb250aXVpbmcgZXhpc3RlbmNlIG9mIHRoaXMgYmxvZy4gVGhpcyBpcyBhbiBhcmVhIHdoZXJlIHdlIGRvIG5lZWQgdG8gZG8gbW9yZSB3b3JrLCBzdGFydGluZyB3aXRoIGEgZGVjaXNpb24gYWJvdXQgdGhlIGJlc3QgYXJjaGl2YWwgZm9ybWF0IGZvciBhIGJsb2cgcG9zdCAoSFRNTCwgUERGLCA8YSBocmVmPSJodHRwczovL2phdHMubmxtLm5paC5nb3YvIj5KQVRTPC9hPj8pLiBGb3Igbm93IGJsb2cgcG9zdHMgYXJlIGhvc3RlZCBpbiBtdWx0aXBsZSBHaXQgcmVwb3NpdG9yaWVzICg8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvYmxvZyI+b25lIG9mIHRoZW0gb24gR2l0aHViPC9hPiksIGFuZCBpbiB0d28gaW5kZXBlbmRlbnQgQW1hem9uIFMzIGJ1Y2tldHMgdGhhdCBlYWNoIHVzZSA8YSBocmVmPSJodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25TMy9sYXRlc3QvZGV2L1ZlcnNpb25pbmcuaHRtbCI+dmVyc2lvbmluZzwvYT4uIE11bHRpcGxlIGxvY2F0aW9ucyB3aXRoIHZlcnNpb25pbmcgYXJlIGEgZ29vZCBzdGFydCwgYnV0IG1vcmUgd29yayBpcyBjbGVhcmx5IG5lZWRlZC48L3A+CjxoMiBpZD0icmVmZXJlbmNlcyIgY2xhc3M9InVubnVtYmVyZWQiPlJlZmVyZW5jZXM8L2gyPgo8ZGl2IGlkPSJyZWZzIiBjbGFzcz0icmVmZXJlbmNlcyI+CjxkaXYgaWQ9InJlZi1odHRwczovL2RvaS5vcmcvMTAuNTQzOC8wMDEyIj4KPHA+RGF0YUNpdGUgTWV0YWRhdGEgV29ya2luZyBHcm91cC4gKDIwMTYpLiBEYXRhQ2l0ZSBtZXRhZGF0YSBzY2hlbWEgZm9yIHRoZSBwdWJsaWNhdGlvbiBhbmQgY2l0YXRpb24gb2YgcmVzZWFyY2ggZGF0YSB2NC4wLiA8ZW0+RGF0YUNpdGU8L2VtPi4gPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvMDAxMiIgY2xhc3M9InVyaSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvMDAxMjwvYT48L3A+CjwvZGl2Pgo8ZGl2IGlkPSJyZWYtaHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwIj4KPHA+RmVubmVyLCBNLiAoMjAxNikuIENvb2wgZG9p4oCZcy4gPGVtPkRhdGFDaXRlPC9lbT4uIDxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzU1RTUtVDVDMCIgY2xhc3M9InVyaSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNTVFNS1UNUMwPC9hPjwvcD4KPC9kaXY+CjwvZGl2PgoKICAgICAgICAgICAgPGhyIHdpZHRoPSI4MCUiPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC01IGNvbC1tZC1vZmZzZXQtMiBwb3N0LWNvbnRlbnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tdGVhc2VyIGNmIj4KICA8ZGl2IGNsYXNzPSJpc0xlZnQiPgogICAgPHNlY3Rpb24gY2xhc3M9ImF1dGhvciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRob3ItaW1hZ2UiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly93d3cuZ3JhdmF0YXIuY29tL2F2YXRhci80MzQ1OTJhMDk3ZTkxMjYxNzkyZWJkNmI0OTIwNDJiYz9zPTI1MCZkPW1tJnI9eCkiPkJsb2cgTG9nbzwvZGl2PgogICAgICAgIDxoND5NYXJ0aW4gRmVubmVyPC9oND4KICAgICAgICA8cCBjbGFzcz0iYmlvIj5EYXRhQ2l0ZSBUZWNobmljYWwgRGlyZWN0b3I8L3A+CiAgICAgICAgPHAgY2xhc3M9Im9yY2lkIj48YSBocmVmPSJodHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1Ij5odHRwczovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PC9hPjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+CiAgICAgIDxoND5FYXRpbmcgeW91ciBvd24gRG9nIEZvb2Q8L2g0PgogICAgICAgIDxwIGNsYXNzPSJwdWJsaXNoZWQiPjxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC41NDM4LzRrM20tbnl2ZyIgZGF0YS1wcm9vZmVyLWlnbm9yZT0idHJ1ZSI+aHR0cHM6Ly9kb2kub3JnLzEwLjU0MzgvNGszbS1ueXZnPC9hPgogICAgICA8cCBjbGFzcz0icHVibGlzaGVkIj48aSBjbGFzcz0iZmEgZmEtY2FsZW5kYXIiPjwvaT4gPHRpbWUgZGF0ZXRpbWU9IjIwMTYtMTItMjAgMDA6MDAiPkRlY2VtYmVyIDIwLCAyMDE2PC90aW1lPjwvcD4KICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+PGkgY2xhc3M9ImZhIGZhLWhpc3RvcnkiPjwvaT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL2Jsb2cvY29tbWl0cy9tYXN0ZXIvc291cmNlL3Bvc3RzL2VhdGluZy15b3VyLW93bi1kb2ctZm9vZC5odG1sLm1kIj5IaXN0b3J5PC9hPjwvcD4KICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+wqkgMjAxNiBNYXJ0aW4gRmVubmVyLiBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIDxhIGhyZWY9Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS80LjAvbGVnYWxjb2RlIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uIGxpY2Vuc2U8L2E+LjwvcD4KICAgICAgPHAgY2xhc3M9InB1Ymxpc2hlZCI+CiAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXRhZ3MiPjwvaT4KICAgICAgICA8YSBocmVmPSIvaW5kZXguaHRtbD90YWc9ZGF0YWNpdGUiPmRhdGFjaXRlPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPWRvaSI+ZG9pPC9hPiwgPGEgaHJlZj0iL2luZGV4Lmh0bWw/dGFnPW1ldGFkYXRhIj5tZXRhZGF0YTwvYT4sIDxhIGhyZWY9Ii9pbmRleC5odG1sP3RhZz1mZWF0dXJlZCI+ZmVhdHVyZWQ8L2E+CiAgICAgIDwvcD4KICAgICAgPGRpdiBzdHlsZT0icGFkZGluZy1sZWZ0OjcwcHgiPgogICAgICAgIDxkYXRhLW1ldHJpY3MtYmFkZ2UgZG9pPTEwLjU0MzgvNGszbS1ueXZnIGRpc3BsYXk9InNtYWxsIj48L2RhdGEtbWV0cmljcy1iYWRnZT4KICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgPC9kaXY+CjwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIgY29sLW1kLW9mZnNldC0xIj4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS10ZWFzZXIgY2YiPgogIDxkaXYgY2xhc3M9ImlzTGVmdCI+CiAgICA8aDUgY2xhc3M9ImluZGV4LWhlYWRsaW5lIGZlYXR1cmVkIj48c3Bhbj5TaGFyZSBvbjwvc3Bhbj48L2g1PgogICAgICA8YSBjbGFzcz0iaWNvbi10d2l0dGVyIiBocmVmPSJodHRwOi8vdHdpdHRlci5jb20vc2hhcmU/dGV4dD1PbiB0aGUgQGRhdGFjaXRlIGJsb2c6IEVhdGluZyB5b3VyIG93biBEb2cgRm9vZCZhbXA7dXJsPWh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyIKICAgICAgICBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYsICd0d2l0dGVyLXNoYXJlJywgJ3dpZHRoPTU1MCxoZWlnaHQ9MjU1Jyk7cmV0dXJuIGZhbHNlOyI+CiAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIgZmEtMngiPjwvaT48c3BhbiBjbGFzcz0iaGlkZGVuIj50d2l0dGVyPC9zcGFuPgogICAgICA8L2E+CiAgICAgIDxhIGNsYXNzPSJpY29uLWZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyLnBocD90PU9uIHRoZSBAZGF0YWNpdGUgYmxvZzogRWF0aW5nIHlvdXIgb3duIERvZyBGb29kJmFtcDt1PWh0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyIKICAgICAgICBvbmNsaWNrPSJ3aW5kb3cub3Blbih0aGlzLmhyZWYsICdmYWNlYm9vay1zaGFyZScsICd3aWR0aD01NTAsaGVpZ2h0PTI1NScpO3JldHVybiBmYWxzZTsiPgogICAgICAgIDxpIGNsYXNzPSJmYSBmYS1mYWNlYm9vayBmYS0yeCI+PC9pPjxzcGFuIGNsYXNzPSJoaWRkZW4iPmZhY2Vib29rPC9zcGFuPgogICAgICA8L2E+CiAgPC9kaXY+CjwvZGl2PgoKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggY29sLW1kLW9mZnNldC0yIHBvc3QtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBpZD0iZGlzcXVzX3RocmVhZCI+PC9kaXY+CjxzY3JpcHQ+CiAgICB2YXIgZGlzcXVzX2NvbmZpZyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB0aGlzLnBhZ2UudXJsID0gJ2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcvZWF0aW5nLXlvdXItb3duLWRvZy1mb29kLyc7CiAgICAgICAgdGhpcy5wYWdlLmlkZW50aWZpZXIgPSAnaHR0cHM6Ly9ibG9nLmRhdGFjaXRlLm9yZy9lYXRpbmcteW91ci1vd24tZG9nLWZvb2QvJzsKICAgIH07CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGQgPSBkb2N1bWVudCwgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CgogICAgICAgIHMuc3JjID0gJy8vZGF0YWNpdGUuZGlzcXVzLmNvbS9lbWJlZC5qcyc7ICAvLwoKICAgICAgICBzLnNldEF0dHJpYnV0ZSgnZGF0YS10aW1lc3RhbXAnLCArbmV3IERhdGUoKSk7CiAgICAgICAgKGQuaGVhZCB8fCBkLmJvZHkpLmFwcGVuZENoaWxkKHMpOwogICAgfSkoKTsKPC9zY3JpcHQ+Cjxub3NjcmlwdD5QbGVhc2UgZW5hYmxlIEphdmFTY3JpcHQgdG8gdmlldyB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9kaXNxdXMuY29tLz9yZWZfbm9zY3JpcHQiIHJlbD0ibm9mb2xsb3ciPmNvbW1lbnRzIHBvd2VyZWQgYnkgRGlzcXVzLjwvYT48L25vc2NyaXB0PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KIAogICAgPCEtLSBmb290ZXIgc3RhcnQgLS0+Cgo8Zm9vdGVyIGNsYXNzPSdyb3cgZm9vdGVyJz4KICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgPGRpdiBjbGFzcz0nY29sLW1kLTMgY29sLXNtLTQnPgogICAgICA8aDQ+QWJvdXQgRGF0YUNpdGU8L2g0PgogICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9taXNzaW9uLmh0bWwiPldoYXQgd2UgZG88L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9nb3Zlcm5hbmNlLmh0bWwiPkdvdmVybmFuY2U8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGFmZi5odG1sIj5TdGFmZjwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2pvYm9wcG9ydHVuaXRpZXMuaHRtbCI+Sm9iIG9wcG9ydHVuaXRpZXM8L2E+PC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9J2NvbC1tZC0zIGNvbC1zbS00Jz4KICAgICAgPGg0PlNlcnZpY2VzPC9oND4KICAgICAgPHVsPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvZG9pcy5odG1sIj5Bc3NpZ24gRE9JczwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3NlYXJjaC5odG1sIj5NZXRhZGF0YSBzZWFyY2g8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudGRhdGEuaHRtbCI+RXZlbnQgZGF0YTwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL3Byb2ZpbGVzLmh0bWwiPlByb2ZpbGVzPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcmUzZGF0YS5odG1sIj5yZTNkYXRhPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvY2l0YXRpb24uaHRtbCI+Q2l0YXRpb24gZm9ybWF0dGVyPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvc3RhdHMuaHRtbCI+U3RhdGlzdGljczwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL2NvbnRlbnQuaHRtbCI+Q29udGVudCBuZWdvdGlhdGlvbjwvYT48L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGF0YWNpdGUub3JnL29haXBtaC5odG1sIj5PQUktUE1IPC9hPjwvYT48L2xpPgogICAgICA8L3VsPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSdjb2wtbWQtMyBjb2wtc20tNCc+CiAgICAgIDxoND5SZXNvdXJjZXM8L2g0PgogICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vc2NoZW1hLmRhdGFjaXRlLm9yZyI+TWV0YWRhdGEgc2NoZW1hPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3N1cHBvcnQuZGF0YWNpdGUub3JnIj5TdXBwb3J0PC9hPjwvYT48L2xpPgogICAgICA8L3VsPgogICAgICA8aDQ+Q29tbXVuaXR5PC9oND4KICAgICAgPHVsPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvbWVtYmVycy5odG1sIj5NZW1iZXJzPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcGFydG5lcnMuaHRtbCI+UGFydG5lcnM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9zdGVlcmluZy5odG1sIj5TdGVlcmluZyBncm91cHM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9ldmVudHMuaHRtbCI+RXZlbnRzPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvcm9hZG1hcC5odG1sIj5Sb2FkbWFwPC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdXNlci1zdG9yaWVzLmh0bWwiPlVzZXIgU3RvcmllczwvYT48L2E+PC9saT4KICAgICAgPC91bD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0nY29sLW1kLTMnPgogICAgICA8aDQgY2xhc3M9InNoYXJlIj5Db250YWN0IHVzPC9oND4KICAgICAgPGEgaHJlZj0nbWFpbHRvOnN1cHBvcnRAZGF0YWNpdGUub3JnJyBjbGFzcz0ic2hhcmUiPgogICAgICAgIDxpIGNsYXNzPSdmYSBmYS1hdCc+PC9pPgogICAgICA8L2E+CiAgICAgIDxhIGhyZWY9J2h0dHBzOi8vYmxvZy5kYXRhY2l0ZS5vcmcnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXJzcyc+PC9pPgogICAgICA8L2E+CiAgICAgIDxhIGhyZWY9J2h0dHBzOi8vdHdpdHRlci5jb20vZGF0YWNpdGUnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLXR3aXR0ZXInPjwvaT4KICAgICAgPC9hPgogICAgICA8YSBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvZGF0YWNpdGUnIGNsYXNzPSJzaGFyZSI+CiAgICAgICAgPGkgY2xhc3M9J2ZhIGZhLWdpdGh1Yic+PC9pPgogICAgICA8L2E+CiAgICAgIDxhIGhyZWY9J2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2RhdGFjaXRlJyBjbGFzcz0ic2hhcmUiPgogICAgICAgIDxpIGNsYXNzPSdmYSBmYS1saW5rZWRpbic+PC9pPgogICAgICA8L2E+CiAgICAgIDx1bCBjbGFzcz0ic2hhcmUiPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvdGVybXMuaHRtbCI+VGVybXMgYW5kIGNvbmRpdGlvbnM8L2E+PC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmRhdGFjaXRlLm9yZy9wcml2YWN5Lmh0bWwiPlByaXZhY3kgcG9saWN5PC9hPjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5kYXRhY2l0ZS5vcmcvYWNrbm93bGVkZ21lbnRzLmh0bWwiPkFja25vd2xlZGdlbWVudHM8L2E+PC9hPjwvbGk+CiAgICAgIDwvdWw+CiAgICAgIDxhIGhyZWY9Imh0dHA6Ly9zdGF0dXMuZGF0YWNpdGUub3JnIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWRvdCI+PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1kZXNjcmlwdGlvbiI+PC9zcGFuPgogICAgICA8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIGZvb3RlciBlbmQgLS0+CiAKICAgIDxzY3JpcHQgc3JjPSIvL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMi4xLjQubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy42L2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iLy9jZG4uc3RhdHVzcGFnZS5pby9zZS12Mi5qcyI+PC9zY3JpcHQ+CgogICAgICA8c2NyaXB0PgogICAgKGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddPXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpewogICAgKGlbcl0ucT1pW3JdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQobyksCiAgICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pCiAgICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7CgogICAgZ2EoJ2NyZWF0ZScsICdVQS0yMjgwNjE5Ni02JywgJ2F1dG8nKTsKICAgIGdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7CgogIDwvc2NyaXB0PgoKICA8L2JvZHk+CjwvaHRtbD4K
109
+ http_version:
110
+ recorded_at: Sun, 12 Jul 2020 11:26:36 GMT
111
111
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.1; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,22 +17,26 @@ http_interactions:
17
17
  message: ''
18
18
  headers:
19
19
  Date:
20
- - Wed, 03 Jul 2019 19:24:31 GMT
20
+ - Sun, 12 Jul 2020 11:22:32 GMT
21
21
  Content-Type:
22
22
  - application/json;charset=UTF-8
23
- Content-Length:
24
- - '54'
25
23
  Connection:
26
24
  - keep-alive
27
25
  Set-Cookie:
28
- - __cfduid=d532310a0f7787567e2262d88e703ca751562181871; expires=Thu, 02-Jul-20
29
- 19:24:31 GMT; path=/; domain=.doi.org; HttpOnly
26
+ - __cfduid=d3ba0fd0b13687f0b9536c0f422540cec1594552952; expires=Tue, 11-Aug-20
27
+ 11:22:32 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Cf-Request-Id:
31
+ - 03e45c3ceb0000dfcb3bbbb200000001
30
32
  Expect-Ct:
31
33
  - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
34
+ Strict-Transport-Security:
35
+ - max-age=31536000; includeSubDomains; preload
32
36
  Server:
33
37
  - cloudflare
34
38
  Cf-Ray:
35
- - 4f0b3d75f8c9a85b-CDG
39
+ - 5b1a630e486ddfcb-FRA
36
40
  body:
37
41
  encoding: ASCII-8BIT
38
42
  string: |-
@@ -42,6 +46,6 @@ http_interactions:
42
46
  "RA": "Crossref"
43
47
  }
44
48
  ]
45
- http_version:
46
- recorded_at: Wed, 03 Jul 2019 19:24:31 GMT
49
+ http_version:
50
+ recorded_at: Sun, 12 Jul 2020 11:22:32 GMT
47
51
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.1; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,22 +17,26 @@ http_interactions:
17
17
  message: ''
18
18
  headers:
19
19
  Date:
20
- - Wed, 03 Jul 2019 19:24:30 GMT
20
+ - Sun, 12 Jul 2020 11:22:33 GMT
21
21
  Content-Type:
22
22
  - application/json;charset=UTF-8
23
- Content-Length:
24
- - '54'
25
23
  Connection:
26
24
  - keep-alive
27
25
  Set-Cookie:
28
- - __cfduid=d2c0f11794a2a8f56bdf71cbcaea533b81562181870; expires=Thu, 02-Jul-20
29
- 19:24:30 GMT; path=/; domain=.doi.org; HttpOnly
26
+ - __cfduid=db1e5c4e4d558ec9a4beacadf98a5424b1594552953; expires=Tue, 11-Aug-20
27
+ 11:22:33 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Cf-Request-Id:
31
+ - 03e45c41f00000d6b1519be200000001
30
32
  Expect-Ct:
31
33
  - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
34
+ Strict-Transport-Security:
35
+ - max-age=31536000; includeSubDomains; preload
32
36
  Server:
33
37
  - cloudflare
34
38
  Cf-Ray:
35
- - 4f0b3d743884b769-CDG
39
+ - 5b1a63164f9fd6b1-FRA
36
40
  body:
37
41
  encoding: ASCII-8BIT
38
42
  string: |-
@@ -42,6 +46,6 @@ http_interactions:
42
46
  "RA": "DataCite"
43
47
  }
44
48
  ]
45
- http_version:
46
- recorded_at: Wed, 03 Jul 2019 19:24:30 GMT
49
+ http_version:
50
+ recorded_at: Sun, 12 Jul 2020 11:22:33 GMT
47
51
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,22 +17,26 @@ http_interactions:
17
17
  message: ''
18
18
  headers:
19
19
  Date:
20
- - Sat, 06 Jul 2019 09:00:10 GMT
20
+ - Sun, 12 Jul 2020 11:22:32 GMT
21
21
  Content-Type:
22
22
  - application/json;charset=UTF-8
23
- Content-Length:
24
- - '51'
25
23
  Connection:
26
24
  - keep-alive
27
25
  Set-Cookie:
28
- - __cfduid=d6d42164f165ab1f33df4f0c9718ecc5d1562403610; expires=Sun, 05-Jul-20
29
- 09:00:10 GMT; path=/; domain=.doi.org; HttpOnly
26
+ - __cfduid=dc02c4731a2ae59c73f7fe6f35360bc801594552952; expires=Tue, 11-Aug-20
27
+ 11:22:32 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Cf-Request-Id:
31
+ - 03e45c3fac000017620e9de200000001
30
32
  Expect-Ct:
31
33
  - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
34
+ Strict-Transport-Security:
35
+ - max-age=31536000; includeSubDomains; preload
32
36
  Server:
33
37
  - cloudflare
34
38
  Cf-Ray:
35
- - 4f2063037cea6479-FRA
39
+ - 5b1a6312a8a71762-FRA
36
40
  body:
37
41
  encoding: ASCII-8BIT
38
42
  string: |-
@@ -42,6 +46,6 @@ http_interactions:
42
46
  "RA": "JaLC"
43
47
  }
44
48
  ]
45
- http_version:
46
- recorded_at: Sat, 06 Jul 2019 09:00:10 GMT
49
+ http_version:
50
+ recorded_at: Sun, 12 Jul 2020 11:22:32 GMT
47
51
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,22 +17,26 @@ http_interactions:
17
17
  message: ''
18
18
  headers:
19
19
  Date:
20
- - Sat, 06 Jul 2019 09:00:07 GMT
20
+ - Sun, 12 Jul 2020 11:22:32 GMT
21
21
  Content-Type:
22
22
  - application/json;charset=UTF-8
23
- Content-Length:
24
- - '51'
25
23
  Connection:
26
24
  - keep-alive
27
25
  Set-Cookie:
28
- - __cfduid=db1401cfee427924e28dd13f0ae02dddd1562403606; expires=Sun, 05-Jul-20
29
- 09:00:06 GMT; path=/; domain=.doi.org; HttpOnly
26
+ - __cfduid=dbd719187bdf294787c9c42412c8d55351594552952; expires=Tue, 11-Aug-20
27
+ 11:22:32 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Cf-Request-Id:
31
+ - 03e45c3da600006341590dc200000001
30
32
  Expect-Ct:
31
33
  - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
34
+ Strict-Transport-Security:
35
+ - max-age=31536000; includeSubDomains; preload
32
36
  Server:
33
37
  - cloudflare
34
38
  Cf-Ray:
35
- - 4f2062efbdda97e4-FRA
39
+ - 5b1a630f7d356341-FRA
36
40
  body:
37
41
  encoding: ASCII-8BIT
38
42
  string: |-
@@ -42,6 +46,6 @@ http_interactions:
42
46
  "RA": "KISTI"
43
47
  }
44
48
  ]
45
- http_version:
46
- recorded_at: Sat, 06 Jul 2019 09:00:07 GMT
49
+ http_version:
50
+ recorded_at: Sun, 12 Jul 2020 11:22:32 GMT
47
51
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
11
+ - Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
12
12
  Accept:
13
13
  - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
14
  response:
@@ -17,22 +17,26 @@ http_interactions:
17
17
  message: ''
18
18
  headers:
19
19
  Date:
20
- - Sat, 06 Jul 2019 09:00:05 GMT
20
+ - Sun, 12 Jul 2020 11:22:33 GMT
21
21
  Content-Type:
22
22
  - application/json;charset=UTF-8
23
- Content-Length:
24
- - '51'
25
23
  Connection:
26
24
  - keep-alive
27
25
  Set-Cookie:
28
- - __cfduid=d841165c6191841c565b01dc264bb19b51562403605; expires=Sun, 05-Jul-20
29
- 09:00:05 GMT; path=/; domain=.doi.org; HttpOnly
26
+ - __cfduid=d92fa2fdc17d1b4b4257b814db12fd0441594552953; expires=Tue, 11-Aug-20
27
+ 11:22:33 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
28
+ Cf-Cache-Status:
29
+ - DYNAMIC
30
+ Cf-Request-Id:
31
+ - 03e45c40d300001762f890c200000001
30
32
  Expect-Ct:
31
33
  - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
34
+ Strict-Transport-Security:
35
+ - max-age=31536000; includeSubDomains; preload
32
36
  Server:
33
37
  - cloudflare
34
38
  Cf-Ray:
35
- - 4f2062e79cf9974e-FRA
39
+ - 5b1a63148ca51762-FRA
36
40
  body:
37
41
  encoding: ASCII-8BIT
38
42
  string: |-
@@ -42,6 +46,6 @@ http_interactions:
42
46
  "RA": "mEDRA"
43
47
  }
44
48
  ]
45
- http_version:
46
- recorded_at: Sat, 06 Jul 2019 09:00:05 GMT
49
+ http_version:
50
+ recorded_at: Sun, 12 Jul 2020 11:22:33 GMT
47
51
  recorded_with: VCR 3.0.3