bolognese 1.3.1 → 2.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +9 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/ci.yml +22 -0
  5. data/.github/workflows/pull-request.yml +9 -0
  6. data/.github/workflows/release.yml +32 -0
  7. data/.gitignore +3 -0
  8. data/.rubocop.yml +658 -0
  9. data/CHANGELOG.md +1864 -0
  10. data/Gemfile.lock +163 -129
  11. data/README.md +3 -2
  12. data/bolognese.gemspec +22 -20
  13. data/lib/bolognese/author_utils.rb +49 -25
  14. data/lib/bolognese/cli.rb +6 -4
  15. data/lib/bolognese/datacite_utils.rb +143 -17
  16. data/lib/bolognese/doi_utils.rb +14 -9
  17. data/lib/bolognese/metadata.rb +27 -19
  18. data/lib/bolognese/metadata_utils.rb +25 -6
  19. data/lib/bolognese/readers/bibtex_reader.rb +29 -34
  20. data/lib/bolognese/readers/citeproc_reader.rb +27 -35
  21. data/lib/bolognese/readers/codemeta_reader.rb +12 -13
  22. data/lib/bolognese/readers/crosscite_reader.rb +4 -1
  23. data/lib/bolognese/readers/crossref_reader.rb +163 -67
  24. data/lib/bolognese/readers/datacite_json_reader.rb +4 -1
  25. data/lib/bolognese/readers/datacite_reader.rb +150 -38
  26. data/lib/bolognese/readers/npm_reader.rb +115 -0
  27. data/lib/bolognese/readers/ris_reader.rb +10 -14
  28. data/lib/bolognese/readers/schema_org_reader.rb +58 -25
  29. data/lib/bolognese/utils.rb +502 -63
  30. data/lib/bolognese/version.rb +1 -1
  31. data/lib/bolognese/writers/bibtex_writer.rb +4 -3
  32. data/lib/bolognese/writers/codemeta_writer.rb +6 -5
  33. data/lib/bolognese/writers/csv_writer.rb +1 -1
  34. data/lib/bolognese/writers/datacite_json_writer.rb +3 -1
  35. data/lib/bolognese/writers/jats_writer.rb +9 -4
  36. data/lib/bolognese/writers/ris_writer.rb +2 -2
  37. data/lib/bolognese/writers/schema_org_writer.rb +11 -7
  38. data/lib/bolognese.rb +2 -1
  39. data/package.json +12 -0
  40. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +24 -22
  41. data/resources/kernel-4/include/datacite-dateType-v4.xsd +14 -12
  42. data/resources/kernel-4/include/datacite-descriptionType-v4.xsd +6 -6
  43. data/resources/kernel-4/include/datacite-funderIdentifierType-v4.xsd +5 -5
  44. data/resources/kernel-4/include/datacite-nameType-v4.xsd +2 -2
  45. data/resources/kernel-4/include/datacite-numberType-v4.xsd +12 -0
  46. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +24 -21
  47. data/resources/kernel-4/include/datacite-relationType-v4.xsd +43 -35
  48. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +38 -17
  49. data/resources/kernel-4/include/datacite-titleType-v4.xsd +5 -5
  50. data/resources/kernel-4/metadata.xsd +349 -146
  51. data/resources/kernel-4.3/metadata.xsd +39 -8
  52. data/resources/kernel-4.4/include/datacite-contributorType-v4.xsd +35 -0
  53. data/resources/kernel-4.4/include/datacite-dateType-v4.xsd +25 -0
  54. data/resources/kernel-4.4/include/datacite-descriptionType-v4.xsd +19 -0
  55. data/resources/kernel-4.4/include/datacite-funderIdentifierType-v4.xsd +16 -0
  56. data/resources/kernel-4.4/include/datacite-nameType-v4.xsd +10 -0
  57. data/resources/kernel-4.4/include/datacite-numberType-v4.xsd +12 -0
  58. data/resources/kernel-4.4/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  59. data/resources/kernel-4.4/include/datacite-relationType-v4.xsd +51 -0
  60. data/resources/kernel-4.4/include/datacite-resourceType-v4.xsd +43 -0
  61. data/resources/kernel-4.4/include/datacite-titleType-v4.xsd +14 -0
  62. data/resources/kernel-4.4/include/xml.xsd +286 -0
  63. data/resources/kernel-4.4/metadata.xsd +707 -0
  64. data/resources/kernel-4.5/include/datacite-contributorType-v4.xsd +35 -0
  65. data/resources/kernel-4.5/include/datacite-dateType-v4.xsd +25 -0
  66. data/resources/kernel-4.5/include/datacite-descriptionType-v4.xsd +19 -0
  67. data/resources/kernel-4.5/include/datacite-funderIdentifierType-v4.xsd +16 -0
  68. data/resources/kernel-4.5/include/datacite-nameType-v4.xsd +10 -0
  69. data/resources/kernel-4.5/include/datacite-numberType-v4.xsd +12 -0
  70. data/resources/kernel-4.5/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  71. data/resources/kernel-4.5/include/datacite-relationType-v4.xsd +53 -0
  72. data/resources/kernel-4.5/include/datacite-resourceType-v4.xsd +45 -0
  73. data/resources/kernel-4.5/include/datacite-titleType-v4.xsd +14 -0
  74. data/resources/kernel-4.5/include/xml.xsd +286 -0
  75. data/resources/kernel-4.5/metadata.xsd +711 -0
  76. data/resources/kernel-4.6/include/datacite-contributorType-v4.xsd +37 -0
  77. data/resources/kernel-4.6/include/datacite-dateType-v4.xsd +27 -0
  78. data/resources/kernel-4.6/include/datacite-descriptionType-v4.xsd +19 -0
  79. data/resources/kernel-4.6/include/datacite-funderIdentifierType-v4.xsd +16 -0
  80. data/resources/kernel-4.6/include/datacite-nameType-v4.xsd +10 -0
  81. data/resources/kernel-4.6/include/datacite-numberType-v4.xsd +12 -0
  82. data/resources/kernel-4.6/include/datacite-relatedIdentifierType-v4.xsd +37 -0
  83. data/resources/kernel-4.6/include/datacite-relationType-v4.xsd +57 -0
  84. data/resources/kernel-4.6/include/datacite-resourceType-v4.xsd +49 -0
  85. data/resources/kernel-4.6/include/datacite-titleType-v4.xsd +14 -0
  86. data/resources/kernel-4.6/include/xml.xsd +286 -0
  87. data/resources/kernel-4.6/metadata.xsd +712 -0
  88. data/resources/oecd/dfg-mappings.json +1866 -0
  89. data/resources/oecd/for-mappings.json +1101 -0
  90. data/resources/oecd/fos-mappings.json +198 -0
  91. data/resources/schema_org/jsonldcontext.json +1069 -232
  92. data/resources/spdx/licenses.json +5297 -0
  93. metadata +160 -510
  94. data/.travis.yml +0 -33
  95. data/spec/array_spec.rb +0 -22
  96. data/spec/author_utils_spec.rb +0 -188
  97. data/spec/cli_spec.rb +0 -219
  98. data/spec/datacite_utils_spec.rb +0 -148
  99. data/spec/doi_utils_spec.rb +0 -302
  100. data/spec/find_from_format_spec.rb +0 -98
  101. data/spec/fixtures/aida.json +0 -82
  102. data/spec/fixtures/citeproc-no-author.json +0 -26
  103. data/spec/fixtures/citeproc-no-categories.json +0 -21
  104. data/spec/fixtures/citeproc.json +0 -30
  105. data/spec/fixtures/codemeta.json +0 -86
  106. data/spec/fixtures/codemeta_v2.json +0 -86
  107. data/spec/fixtures/crosscite.json +0 -63
  108. data/spec/fixtures/crossref.bib +0 -14
  109. data/spec/fixtures/crossref.ris +0 -15
  110. data/spec/fixtures/crossref.xml +0 -606
  111. data/spec/fixtures/datacite-example-affiliation.xml +0 -114
  112. data/spec/fixtures/datacite-example-complicated-v3.0.xml +0 -48
  113. data/spec/fixtures/datacite-example-complicated-v4.0.xml +0 -54
  114. data/spec/fixtures/datacite-example-complicated-v4.1.xml +0 -57
  115. data/spec/fixtures/datacite-example-geolocation-2.xml +0 -141
  116. data/spec/fixtures/datacite-example-geolocation.xml +0 -66
  117. data/spec/fixtures/datacite-example-polygon-v4.1.xml +0 -163
  118. data/spec/fixtures/datacite-geolocation-empty.xml +0 -159
  119. data/spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml +0 -52
  120. data/spec/fixtures/datacite-multiple-language.xml +0 -38
  121. data/spec/fixtures/datacite-multiple-rights.xml +0 -59
  122. data/spec/fixtures/datacite-seriesinformation.xml +0 -41
  123. data/spec/fixtures/datacite-xml-lang.xml +0 -51
  124. data/spec/fixtures/datacite.json +0 -83
  125. data/spec/fixtures/datacite.xml +0 -40
  126. data/spec/fixtures/datacite_dataset.xml +0 -58
  127. data/spec/fixtures/datacite_malformed_creator.xml +0 -52
  128. data/spec/fixtures/datacite_missing_creator.xml +0 -33
  129. data/spec/fixtures/datacite_schema_3.xml +0 -58
  130. data/spec/fixtures/datacite_software.json +0 -21
  131. data/spec/fixtures/datacite_software_missing_comma.json +0 -18
  132. data/spec/fixtures/datacite_software_overlapping_keys.json +0 -18
  133. data/spec/fixtures/funding_reference.xml +0 -53
  134. data/spec/fixtures/gtex.xml +0 -71
  135. data/spec/fixtures/maremma/codemeta.json +0 -36
  136. data/spec/fixtures/nist.xml +0 -35
  137. data/spec/fixtures/ns0.xml +0 -2
  138. data/spec/fixtures/pure.bib +0 -14
  139. data/spec/fixtures/pure.ris +0 -15
  140. data/spec/fixtures/ris_bug.ris +0 -9
  141. data/spec/fixtures/schema_4.0.xml +0 -140
  142. data/spec/fixtures/schema_org.json +0 -44
  143. data/spec/fixtures/schema_org_geolocation.json +0 -82
  144. data/spec/fixtures/schema_org_geoshape.json +0 -550
  145. data/spec/fixtures/schema_org_gtex.json +0 -76
  146. data/spec/fixtures/schema_org_list.json +0 -12628
  147. data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +0 -25
  148. data/spec/fixtures/schema_org_topmed.json +0 -54
  149. data/spec/fixtures/schema_org_type_as_array.json +0 -41
  150. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +0 -95
  151. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +0 -95
  152. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +0 -95
  153. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +0 -95
  154. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +0 -95
  155. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +0 -95
  156. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +0 -95
  157. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +0 -93
  158. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +0 -93
  159. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +0 -93
  160. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +0 -93
  161. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +0 -93
  162. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +0 -93
  163. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +0 -93
  164. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +0 -111
  165. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +0 -111
  166. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +0 -111
  167. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +0 -111
  168. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +0 -47
  169. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +0 -47
  170. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +0 -47
  171. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +0 -47
  172. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +0 -47
  173. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +0 -47
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +0 -44
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +0 -44
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +0 -44
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +0 -44
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +0 -93
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +0 -93
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +0 -51
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +0 -51
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +0 -51
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +0 -51
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +0 -51
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +0 -51
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +0 -51
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +0 -44
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +0 -44
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +0 -44
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +0 -44
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +0 -44
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +0 -44
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +0 -44
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +0 -44
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +0 -44
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +0 -44
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +0 -44
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +0 -44
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +0 -88
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +0 -88
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +0 -88
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +0 -88
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +0 -88
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +0 -44
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +0 -88
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +0 -88
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +0 -44
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +0 -44
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +0 -44
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +0 -44
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +0 -44
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +0 -44
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +0 -44
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +0 -143
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +0 -143
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +0 -143
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +0 -143
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +0 -99
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +0 -99
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +0 -99
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +0 -143
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +0 -99
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +0 -99
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +0 -99
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +0 -99
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +0 -99
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +0 -99
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +0 -99
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +0 -99
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +0 -99
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +0 -99
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +0 -44
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +0 -73
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +0 -94
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +0 -92
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +0 -91
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +0 -95
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +0 -126
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +0 -147
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +0 -89
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +0 -127
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +0 -89
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +0 -88
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +0 -159
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +0 -109
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +0 -119
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +0 -129
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +0 -90
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/error_unknown.yml +0 -88
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/jj.yml +0 -87
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +0 -89
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +0 -87
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +0 -93
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +0 -89
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +0 -116
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +0 -125
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +0 -92
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +0 -89
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_t.yml +0 -47
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +0 -87
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +0 -86
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +0 -88
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +0 -91
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +0 -87
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +0 -88
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +0 -99
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +0 -100
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml +0 -95
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +0 -110
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +0 -89
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +0 -93
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +0 -93
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +0 -93
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +0 -93
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +0 -97
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +0 -93
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +0 -93
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +0 -93
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +0 -101
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +0 -106
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +0 -93
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +0 -97
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +0 -95
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +0 -119
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +0 -93
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +0 -108
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +0 -121
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +0 -102
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +0 -119
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +0 -93
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +0 -93
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +0 -93
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +0 -44
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +0 -44
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +0 -44
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +0 -44
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +0 -44
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +0 -44
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +0 -44
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +0 -44
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +0 -44
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +0 -44
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +0 -55
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +0 -49
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +0 -75
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +0 -49
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +0 -49
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +0 -1222
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +0 -44
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +0 -58
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +0 -49
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +0 -49
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +0 -75
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +0 -49
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +0 -49
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +0 -111
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +0 -111
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +0 -37
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +0 -156
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml +0 -704
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +0 -49
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +0 -580
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +0 -44
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +0 -44
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +0 -44
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +0 -44
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +0 -44
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +0 -44
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +0 -44
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +0 -47
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +0 -47
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +0 -49
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +0 -49
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +0 -49
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +0 -55
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +0 -49
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +0 -49
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +0 -49
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +0 -49
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +0 -49
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +0 -49
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +0 -49
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +0 -49
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +0 -49
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +0 -49
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +0 -49
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +0 -44
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +0 -44
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +0 -44
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +0 -44
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +0 -44
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +0 -44
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +0 -44
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +0 -99
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +0 -99
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +0 -99
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +0 -99
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +0 -44
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +0 -44
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +0 -44
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +0 -44
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +0 -44
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +0 -44
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +0 -44
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +0 -44
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +0 -44
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +0 -44
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +0 -44
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +0 -44
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +0 -44
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +0 -44
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +0 -44
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +0 -44
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +0 -44
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +0 -44
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +0 -44
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +0 -44
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +0 -44
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +0 -44
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +0 -44
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +0 -44
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +0 -44
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +0 -44
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +0 -44
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +0 -44
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +0 -44
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +0 -44
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +0 -44
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +0 -44
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +0 -44
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +0 -44
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +0 -44
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +0 -44
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +0 -44
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +0 -44
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +0 -44
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +0 -44
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +0 -44
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +0 -44
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +0 -44
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +0 -44
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +0 -44
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +0 -44
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +0 -44
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +0 -44
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +0 -44
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +0 -44
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +0 -44
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +0 -44
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +0 -44
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +0 -44
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +0 -44
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +0 -44
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +0 -44
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +0 -44
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +0 -44
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +0 -44
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +0 -44
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +0 -55
  420. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +0 -49
  421. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +0 -75
  422. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +0 -52
  423. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +0 -111
  424. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +0 -119
  425. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +0 -73
  426. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +0 -49
  427. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +0 -51
  428. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +0 -48
  429. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +0 -49
  430. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +0 -51
  431. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +0 -45
  432. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +0 -55
  433. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +0 -109
  434. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +0 -49
  435. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +0 -49
  436. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +0 -51
  437. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +0 -119
  438. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +0 -73
  439. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +0 -45
  440. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +0 -49
  441. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +0 -49
  442. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml +0 -46
  443. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +0 -46
  444. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +0 -48
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +0 -54
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +0 -54
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +0 -49
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +0 -73
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +0 -48
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +0 -51
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +0 -111
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +0 -49
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +0 -52
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +0 -73
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +0 -49
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +0 -51
  457. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +0 -48
  458. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +0 -73
  459. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +0 -48
  460. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +0 -51
  461. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +0 -111
  462. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +0 -45
  463. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +0 -49
  464. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +0 -81
  465. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +0 -81
  466. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +0 -73
  467. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +0 -48
  468. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +0 -51
  469. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +0 -111
  470. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +0 -45
  471. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +0 -49
  472. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +0 -81
  473. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +0 -84
  474. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +0 -73
  475. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +0 -48
  476. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +0 -51
  477. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +0 -111
  478. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +0 -45
  479. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +0 -55
  480. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +0 -111
  481. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +0 -49
  482. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +0 -49
  483. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +0 -51
  484. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +0 -119
  485. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +0 -73
  486. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +0 -48
  487. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +0 -49
  488. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +0 -75
  489. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +0 -75
  490. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +0 -49
  491. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +0 -49
  492. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +0 -57
  493. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +0 -62
  494. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +0 -98
  495. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +0 -51
  496. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +0 -73
  497. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +0 -49
  498. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +0 -49
  499. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +0 -119
  500. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +0 -49
  501. data/spec/fixtures/vivli.xml +0 -1
  502. data/spec/metadata_spec.rb +0 -165
  503. data/spec/readers/bibtex_reader_spec.rb +0 -59
  504. data/spec/readers/citeproc_reader_spec.rb +0 -61
  505. data/spec/readers/codemeta_reader_spec.rb +0 -117
  506. data/spec/readers/crosscite_reader_spec.rb +0 -41
  507. data/spec/readers/crossref_reader_spec.rb +0 -509
  508. data/spec/readers/datacite_json_reader_spec.rb +0 -61
  509. data/spec/readers/datacite_reader_spec.rb +0 -1041
  510. data/spec/readers/ris_reader_spec.rb +0 -73
  511. data/spec/readers/schema_org_reader_spec.rb +0 -325
  512. data/spec/spec_helper.rb +0 -94
  513. data/spec/utils_spec.rb +0 -417
  514. data/spec/writers/bibtex_writer_spec.rb +0 -163
  515. data/spec/writers/citation_writer_spec.rb +0 -35
  516. data/spec/writers/citeproc_writer_spec.rb +0 -223
  517. data/spec/writers/codemeta_writer_spec.rb +0 -46
  518. data/spec/writers/crosscite_writer_spec.rb +0 -118
  519. data/spec/writers/crossref_writer_spec.rb +0 -21
  520. data/spec/writers/csv_writer_spec.rb +0 -93
  521. data/spec/writers/datacite_json_writer_spec.rb +0 -86
  522. data/spec/writers/datacite_writer_spec.rb +0 -366
  523. data/spec/writers/jats_writer_spec.rb +0 -179
  524. data/spec/writers/rdf_xml_writer_spec.rb +0 -100
  525. data/spec/writers/ris_writer_spec.rb +0 -203
  526. data/spec/writers/schema_org_writer_spec.rb +0 -322
  527. data/spec/writers/turtle_writer_spec.rb +0 -84
@@ -1,87 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://doi.org/ra/10.1029
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
12
- Accept:
13
- - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
- response:
15
- status:
16
- code: 200
17
- message: ''
18
- headers:
19
- Date:
20
- - Sun, 07 Jul 2019 11:11:07 GMT
21
- Content-Type:
22
- - application/json;charset=UTF-8
23
- Content-Length:
24
- - '54'
25
- Connection:
26
- - keep-alive
27
- Set-Cookie:
28
- - __cfduid=d26383c418bbd3aa008a740becda77da21562497867; expires=Mon, 06-Jul-20
29
- 11:11:07 GMT; path=/; domain=.doi.org; HttpOnly
30
- Expect-Ct:
31
- - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
32
- Server:
33
- - cloudflare
34
- Cf-Ray:
35
- - 4f296038ec5464a9-FRA
36
- body:
37
- encoding: ASCII-8BIT
38
- string: |-
39
- [
40
- {
41
- "DOI": "10.1029",
42
- "RA": "Crossref"
43
- }
44
- ]
45
- http_version:
46
- recorded_at: Sun, 07 Jul 2019 11:11:07 GMT
47
- - request:
48
- method: get
49
- uri: https://api.crossref.org/works/10.1029/ar035/transform/application/vnd.crossref.unixsd+xml
50
- body:
51
- encoding: US-ASCII
52
- string: ''
53
- headers:
54
- User-Agent:
55
- - Mozilla/5.0 (compatible; Maremma/4.2.6; mailto:info@datacite.org)
56
- Accept:
57
- - text/xml
58
- response:
59
- status:
60
- code: 200
61
- message: OK
62
- headers:
63
- Link:
64
- - <http://dx.doi.org/10.1029/ar035>; rel="canonical"
65
- Access-Control-Allow-Origin:
66
- - "*"
67
- Access-Control-Allow-Headers:
68
- - X-Requested-With
69
- Content-Length:
70
- - '115055'
71
- Server:
72
- - http-kit
73
- Date:
74
- - Sun, 07 Jul 2019 11:11:08 GMT
75
- X-Rate-Limit-Limit:
76
- - '50'
77
- X-Rate-Limit-Interval:
78
- - 1s
79
- Connection:
80
- - close
81
- body:
82
- encoding: ASCII-8BIT
83
- string: !binary |-
84
- PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0iYm9va190aXRsZSI+MTAuMTAyOS9BUjAzNTwvZG9pPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icHVibGlzaGVyLW5hbWUiIHR5cGU9InN0cmluZyI+V2lsZXk8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0icHJlZml4LW5hbWUiIHR5cGU9InN0cmluZyI+V2lsZXkgKEJsYWNrd2VsbCBQdWJsaXNoaW5nKTwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJtZW1iZXItaWQiIHR5cGU9Im51bWJlciI+MzExPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImNpdGF0aW9uLWlkIiB0eXBlPSJudW1iZXIiPjUwMTI4MDczPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImJvb2staWQiIHR5cGU9Im51bWJlciI+ODkzODA2PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9InNlcmllcy1pZCIgdHlwZT0ibnVtYmVyIj44OTAwODQ8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iZGVwb3NpdC10aW1lc3RhbXAiIHR5cGU9Im51bWJlciI+MjAxMTA5MDcyMTM1PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im93bmVyLXByZWZpeCIgdHlwZT0ic3RyaW5nIj4xMC4xMTExPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Imxhc3QtdXBkYXRlIiB0eXBlPSJkYXRlIj4yMDE5LTA2LTE1VDA1OjExOjEyWjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjcmVhdGVkIiB0eXBlPSJkYXRlIj4yMDExLTA5LTA4VDIxOjU1OjU1WjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRlZGJ5LWNvdW50IiB0eXBlPSJudW1iZXIiPjE2PC9jcm0taXRlbT4NCiAgICAgICAgPGRvaV9yZWNvcmQ+DQogICAgICAgICAgPGNyb3NzcmVmIHhtbG5zPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy94c2NoZW1hLzEuMSBodHRwOi8vZG9pLmNyb3NzcmVmLm9yZy9zY2hlbWFzL3VuaXhyZWYxLjEueHNkIj4NCiAgICAgICAgICAgIDxib29rIGJvb2tfdHlwZT0ibW9ub2dyYXBoIj4NCiAgICAgICAgICAgICAgPGJvb2tfc2VyaWVzX21ldGFkYXRhIGxhbmd1YWdlPSJlbiI+DQogICAgICAgICAgICAgICAgPHNlcmllc19tZXRhZGF0YT4NCiAgICAgICAgICAgICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgICAgICAgICAgIDx0aXRsZT5BbnRhcmN0aWMgUmVzZWFyY2ggU2VyaWVzPC90aXRsZT4NCiAgICAgICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICAgICAgPGlzc24+MDA2Ni00NjM0PC9pc3NuPg0KICAgICAgICAgICAgICAgICAgPGNvZGVuPkFOVFNBNDwvY29kZW4+DQogICAgICAgICAgICAgICAgPC9zZXJpZXNfbWV0YWRhdGE+DQogICAgICAgICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBzZXF1ZW5jZT0iZmlyc3QiIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciI+DQogICAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlJpY2hhcmQgRnJhbms8L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPk1jR2lubmlzPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8L2NvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgICAgPHRpdGxlPkJpb2dlb2dyYXBoeSBvZiBMYW50ZXJuZmlzaGVzIChNeWN0b3BoaWRhZSkgU291dGggb2YgMzDCsFM8L3RpdGxlPg0KICAgICAgICAgICAgICAgIDwvdGl0bGVzPg0KICAgICAgICAgICAgICAgIDx2b2x1bWU+MzU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICA8cHVibGljYXRpb25fZGF0ZT4NCiAgICAgICAgICAgICAgICAgIDx5ZWFyPjE5ODI8L3llYXI+DQogICAgICAgICAgICAgICAgPC9wdWJsaWNhdGlvbl9kYXRlPg0KICAgICAgICAgICAgICAgIDxpc2JuPjAtODc1OTAtMTgxLTY8L2lzYm4+DQogICAgICAgICAgICAgICAgPHB1Ymxpc2hlcj4NCiAgICAgICAgICAgICAgICAgIDxwdWJsaXNoZXJfbmFtZT5BbWVyaWNhbiBHZW9waHlzaWNhbCBVbmlvbjwvcHVibGlzaGVyX25hbWU+DQogICAgICAgICAgICAgICAgICA8cHVibGlzaGVyX3BsYWNlPldhc2hpbmd0b24sIEQuIEMuPC9wdWJsaXNoZXJfcGxhY2U+DQogICAgICAgICAgICAgICAgPC9wdWJsaXNoZXI+DQogICAgICAgICAgICAgICAgPGRvaV9kYXRhPg0KICAgICAgICAgICAgICAgICAgPGRvaT4xMC4xMDI5L0FSMDM1PC9kb2k+DQogICAgICAgICAgICAgICAgICA8cmVzb3VyY2U+aHR0cDovL2RvaS53aWxleS5jb20vMTAuMTAyOS9BUjAzNTwvcmVzb3VyY2U+DQogICAgICAgICAgICAgICAgPC9kb2lfZGF0YT4NCiAgICAgICAgICAgICAgICA8Y2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YWRkaTcwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UGFsYWVvZ2VvZ3IuIFBhbGFlb2NsaW1hdG9sLiBQYWxhZW9lY29sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TGF0aXR1ZGluYWwgZ3JhZGllbnRzIGluIHRlcnRpYXJ5IG1vbC1sdXNjYW4gZmF1bmFzIG9mIHRoZSBQYWNpZmljIGNvYXN0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkFkZGljb3R0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI4NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTYvMDAzMS0wMTgyKDcwKTkwMTAzLTM8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmFobHM3MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZpc2guIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5LaW5kcyBhbmQgYWJ1bmRhbmNlIG9mIGZpc2ggbGFydmFlIGluIHRoZSBlYXN0ZXJuIHRyb3BpY2FsIFBhY2lmaWMsIGJhc2VkIG9uIGNvbGxlY3Rpb25zIG1hZGUgb24gRWFzdHJvcGFjIEk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QWhsc3Ryb208L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42OTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTphbGNvOTEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bbm4uIE1hZy4gTmF0LiBIaXN0Liwgc2VyLiA2PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OYXR1cmFsIGhpc3Rvcnkgbm90ZXMgZnJvbSBILk0uIEluZGlhbiBNYXJpbmUgU3VydmV5IFN0ZWFtZXIgSW52ZXN0aWdhdG9yLiBOby4gMTYuIE9uIHRoZSBiYXRoeWJpYWwgZmlzaGVzIGNvbGxlY3RlZCBJbiB0aGUgQmF5IG9mIEJlbmdhbCBkdXJpbmcgdGhlIHNlYXNvbiAxODg5LTkwPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkFsY29jazwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xOTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Njwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTg5MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDgwLzAwMjIyOTM5MDA4Njk0MDI3PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTphbmRyNjYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGRpc3RyaWJ1dGlvbiBhbmQgbGlmZSBoaXN0b3J5IG9mIENhbGFub2lkZXMgYWN1dHVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkFuZHJld3M8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTc3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmFuZHI1OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRydWR5IEtvbXBsLiBBbnRhcmt0LiBFa3NwZWQuIEFrYWQuIE5hdWsgU1NTUiwgR2lkcm9sLiBHaWRyb2staGltLiBHZW9sLiBCaW9sLiBJc3NsZWQuIEQvRS8gT2IgMTk1NS0xOTU2PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5MaXN0IG9mIGljaHRoeW9sb2dpY2FsIHN0YXRpb25zIHdpdGggcHJlbGltaW5hcnkgY2hhcmFjdGVyaXphdGlvbiBvZiB0aGUgaGF1bHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QW5kcmlhc2hldjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xOTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTU4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmFuZHI2MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRydWR5IFNvdi4gQW50YXJrdC4gRWtzcGVkLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TGlzdCBvZiBpY2h0aHlvbG9naWNhbCBzdGF0aW9ucyB3aXRoIHByZWxpbWluYXJ5IGNoYXJhY3Rlcml6YXRpb24gb2YgdGhlIGhhdWxzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkFuZHJpYXNoZXY8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmFuZHI2MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkl6di4gQWthZC4gTmF1ayBTU1NSIEZhdW55IE1vcmVpPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5CYXRoeXBlbGFnaWMgZmlzaGVkIG9mIHRoZSBBbnRhcmN0aWMuIDEuIEZhbWlseSBNeWN0b3BoaWRhZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BbmRyaWFzaGV2PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIxNjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT45PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YW5nZTY5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Qm9sbi4gSW5zdC4gQmlvbC4gTWFyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QWxpbWVudGFjaW9uIGRlIGxhcyBtZXJsdXphIGVuIGxhIHJlZ2lvbiBkZWwgVGFsdWQgQ29udGluZW50YWwgQXJnZW50aW5vLCBlcG9jYSBpbnRlcm5hbCAoTWVybHVjaWlkYWUsIE1lcmx1Y2l1cyBtZXJsdWNpdXMgaHViYnNpKTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5BbmdlbGVzY3U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiYWNrNjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBNdXMuIENvbXAuIFpvb2wuIEhhcnYuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgbWVzb3BlbGFnaWMgZmlzaGVzIGNvbGxlY3RlZCBkdXJpbmcgY3J1aXNlIDE3IG9mIHRoZSBSL1YgQ2hhaW4gd2l0aCBhIG1ldGhvZCBvZiBhbmFseXppbmcgZmF1bmFsIHRyYW5zZWN0czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CYWNrdXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTM5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE0NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiYWNrNjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5NYXIuIEJpb2wuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5NZXNvcGVsYWdpYyBmaXNoZXMgYW5kIHRoZXJtYWwgZnJvbnRzIGluIHRoZSB3ZXN0ZXJuIFNhcmdhc3NvIFNlYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CYWNrdXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDA3L0JGMDAzNTM0Mjc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJhY2s3MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkouIE1hci4gUmVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGRpc3RyaWJ1dGlvbiBvZiBtZXNvcGVsYWdpYyBmaXNoZXMgaW4gdGhlIGVxdWF0b3JpYWwgYW5kIHdlc3Rlcm4gTm9ydGggQXRsYW50aWMgT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmFja3VzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE3OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiYWtlNTQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGNpcmN1bXBvbGFyIGNvbnRpbnVpdHkgb2YgQW50YXJjdGljIHBsYW5rdG9uIHNwZWNpZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmFrZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjAxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTU0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJha2U1OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRpc2NvdmVyeSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EaXN0cmlidXRpb24gYW5kIGxpZmUgaGlzdG9yeSBvZiBFdXBoYXVzaWlhIHRyaWFjYW50aGEgSG9sdCBhbmQgVGF0ZXJzdGFsPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJha2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMwOTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk1OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiYWtlNjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGxhdGl0dWRpbmFsIGRpc3RyaWJ1dGlvbiBvZiBFdXBoYXVzaWEgc3BlY2llcyBpbiB0aGUgc3VyZmFjZSB3YXRlcnMgb2YgdGhlIEluZGlhbiBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CYWtlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMDk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MzM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YmFsZTcwIj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGRpc3RyaWJ1dGlvbiBhbmQgZW5kZW1pc20gb2Ygc29tZSBBbnRhcmN0aWMgbWljcm9wbGFua3RvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5BbnRhcmN0aWMgZWNvbG9neTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJhbGVjaDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNDM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+STwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiYXJuMjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bbm4uIFMuIEFmci4gTXVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBtb25vZ3JhcGggb2YgbWFyaW5lIGZpc2hlcyBvZiBTb3V0aCBBZnJpY2EuIDE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmFybmFyZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMzU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YmFyczU5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+VHJ1ZHkgU292LiBBbnRhcmt0LiBFa3NwZWQuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5MaXN0IG9mIGljaHRoeW9sb2dpY2FsIGNvbGxlY3Rpb25zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJhcnN1a292PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM3OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTU5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJlIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT4xOTY5IFBsYW5rdG9uaWMgRm9yYW1pbmlmZXJhPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmUnPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiZWNrNjNhIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Vm9wLiBJa2h0aW9sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TmV3IGRhdGEgb24gdGhlIGxhbnRlcm5maXNoIGdlbmVyYSBFbGVjdHJvbmEgYW5kIFByb3RvbXljdG9waHVtIChQaXNjZXMsIE15Y3RvcGhpZGFlKSBvZiB0aGUgc291dGhlcm4gaGVtaXNwaGVyZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CZWNrZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiZWNrNjNiIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+VHJ1ZHkgSW5zdC4gT2tlYW5vbC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5vcnRoIFBhY2lmaWMgc3BlY2llcyBvZiB0aGUgZ2VudXMgUHJvdG9teWN0b3BodW0gKE15Y3RvcGhpZGFlLCBQaXNjZXMpPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJlY2tlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YmVjazY0YSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRydWR5IEluc3QuIE9rZWFub2wuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TbGVuZGVydGFpbGVkIGxhbnRlcm5maXNoZXMgKEdlbmVyYSBMb3dlaW5hLCBUYXJsZXRvbmJlYW5pYSwgR29uaWNodGh5cywgYW5kIENlbnRyb2JyYW5jaHVzKSBvZiB0aGUgUGFjaWZpYyBhbmQgSW5kaWFuIE9jZWFucy4gU3lzdGVtYXRpY3MgYW5kIGRpc3RyaWJ1dGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CZWNrZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YmVjazY0YiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk9rZWFub2xvZ2l5YTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHRlbXBlcmF0ZS1jb2xkIHdhdGVyIG15Y3RvcGhpZCBjb21wbGV4IChNeWN0b3BoaWRhZSwgUGlzY2VzKTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CZWNrZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDY0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiZWNrNjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UcnVkeSBJbnN0LiBPa2Vhbm9sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TGFudGVybmZpc2hlcyBvZiB0aGUgZ2VudXMgSHlnb3BodW0uIFN5c3RlbWF0aWNzIGFuZCBkaXN0cmlidXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmVja2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjgwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJlY2s2N2EiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UcnVkeSBJbnN0LiBPa2Vhbm9sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TGFudGVybmZpc2hlcyAoRmFtaWx5IE15Y3RvcGhpZGFlKSBmcm9tIHRoZSBQZXRyIExlYmVkZXYgQXRsYW50aWMgZXhwZWRpdGlvbnMgMTk2MS0xOTY0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJlY2tlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiZWNrNjdiIj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TGFudGVybmZpc2hlcyAoRmFtaWx5IE15Y3RvcGhpZGFlKTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CZWNrZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiZWViMzciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5ab29sb2dpY2E8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByZWxpbWluYXJ5IGxpc3Qgb2YgQmVybXVkYSBkZWVwc2VhIGZpc2hlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CZWViZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xOTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Mzc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YmVlYjQzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Wm9vbG9naWNhPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FYXN0ZXJuIFBhY2lmaWMgRXhwZWRpdGlvbiBvZiB0aGUgTmV3IFlvcmsgWm9vbG9naWNhbCBTb2NpZXR5IFhYWElJSS4gUGFjaWZpYyBNeWN0b3BoaWRhZSAoRmlzaGVzKTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CZWViZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk0MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpiZWtsNjciPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5CaW9nZW9ncmFwaGljYWwgZGl2aXNpb24gb2YgdGhlIHBlbGFnaWFsIG9mIHRoZSBQYWNpZmljIE9jZWFuIChpbiBzdXJmYWNlIGFuZCBpbnRlcm1lZGlhdGUgd2F0ZXJzKTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5CaW9sb2d5IG9mIHRoZSBQYWNpZmljIE9jZWFuPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QmVrbGVtaXNoZXY8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJlcnI2NiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZpc2guIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdXJ2ZXkgb2YgcGVsYWdpYyBmaXNoZXMgb2YgdGhlIENhbGlmb3JuaWEgQ3VycmVudCBhcmVhPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJlcnJ5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYyNTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpibGFjNjRhIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q2FoLiBPY2Vhbm9nci48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvbnRyaWJ1dGlvbiBhIGxhIGNvbm5haXNzYW5jZSBkZXMgcG9pc3NvbnMgZGUgbGEgZmFtaWxsZSBNeWN0b3BoaWRhZSBkYW5zIGxhIHBhcnRpZSBvcmllbnRhbGUgZHUgR29sZmUgZGUgR3VpbmVzcyAoVGVsZW9zdGVpLCBDbHVwZWlmb3JtaSwgTXljdG9waGlkYWUpLiAxLiBMZXMgZ2VucmVzIEVsZWN0cm9uYSBHb29kZSBhbmQgQmVhbiAxODk1LCBIeWdvcGh1bSBCb2xpbiAxOTM5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJsYWNoZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJsYWM2NGIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DYWguIE9jZWFub2dyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29udHJpYnV0aW9uIGEgbGEgY29ubmFpc3NhbmNlIGRlcyBwb2lzc29ucyBkZSBsYSBmYW1pbGxlIE15Y3RvcGhpZGFlIGRhbnMgbGEgcGFydGllIG9yaWVudGFsZSBkdSBHb2xmZSBkZSBHdWluZXNzIChUZWxlb3N0ZWksIENsdXBlaWZvcm1pLCBNeWN0b3BoaWRhZSkuIDIuIExlcyBnZW5yZXMgRGlvZ2VuaWNodGh5czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CbGFjaGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJsYWM2OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZpc2guIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5NaWNyb25la3RvbiBvZiB0aGUgZWFzdGVybiB0cm9waWNhbCBQYWNpZmljIE9jZWFuOiBGYW1pbHkgY29tcG9zaXRpb24sIGRpc3RyaWJ1dGlvbiwgYXZvaWRhbmNlLCBhbmQgcmVsYXRpb24gdG8gdHVuYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CbGFja2J1cm48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Njc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpib2lzNjciPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5NYWpvciBjdXJyZW50cyBpbiB0aGUgTm9ydGggYW5kIFNvdXRoIEF0bGFudGljIE9jZWFucyBiZXR3ZWVuIDY0wrBOIGFuZCA2MMKwUzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Cb2lzdmVydDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpib2xpMzkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TdGFuZm9yZCBJY2h0aHlvbC4gQnVsbC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgcmV2aWV3IG9mIHRoZSBteWN0b3BoaWQgZmlzaGVzIG9mIHRoZSBQYWNpZmljIGNvYXN0IG9mIHRoZSBVbml0ZWQgU3RhdGVzIGFuZCBvZiBsb3dlciBDYWxpZm9ybmlhPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJvbGluPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjg5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Mzk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Ym9saTQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U3RhbmZvcmQgSWNodGh5b2wuIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5MYW50ZXJuZmlzaGVzIGZyb20gSW52ZXN0aWdhdG9yIHN0YXRpb24gNjcwLCBJbmRpYW4gT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Qm9saW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk0NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpib2xpNTkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Ob3J0aCBBdGxhbnRpYyBEZWVwLVNlYSBFeHBlZGl0aW9uLCAxOTEwPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5JbmlvbWkuIE15Y3RvcGhpZGFlLiBSZXBvcnQgb2YgdGhlIFNjaWVudGlmaWMgcmVzdWx0cyBvZiBNaWNoYWVsIFNhcnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Qm9saW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT40PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT43PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NTk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Ym9sdDY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SHlkcm9iaW9sb2dpYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SGlkcm9sb2dpYSBkZSBsYXMgYWd1YXMgc3VmZXJmaWNpYWxlcyBlbiBsYSBwYXJ0ZSBvY2NpZGVudGFsIGRlbCBBdGxhbnRpYyBzdXI8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Qm9sdG92c2tveTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xOTk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJvbmE0MCI+DQogICAgICAgICAgICAgICAgICAgIDxzZXJpZXNfdGl0bGU+SWNvbm9ncmFmZmlhIGRlbGxhIGZhdW5hIGl0YWxpY2EgcGVyIGxhIHF1YXRyZSBjbGFzc2kgZGVnbGkgYW5hbWFsaSB2ZXJ0ZWJyYXRpPC9zZXJpZXNfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Qm9uYXBhcnRlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTg0MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpib3RuNjYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5JbmYuIEJ1bGwuIFNvdi4gQW50YXJrdC4gRWtzcGVkLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGxpbWl0cyBvZiB0aGUgV2VzdCBXaW5kIERyaWZ0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJvdG5pa292PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ4PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpib3VsMDIiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QaXNjZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+UmVwb3J0IG9uIHRoZSBjb2xsZWN0aW9ucyBvZiBuYXR1cmFsIGhpc3RvcnkgbWFkZSBpbiBBbnRhcmN0aWMgcmVnaW9ucyBkdXJpbmcgdGhlIHZveWFnZSBvZiB0aGUgU291dGhlcm4gQ3Jvc3M8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Cb3VsZW5nZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTc0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YnJhdTA0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Wm9vbC4gQW56ZWlnZXI8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRpZSBHYXR0dW5nIE15Y3RvcGh1bTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CcmF1ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mzc3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xMDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJyYXUwNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlZhbGRpdmlhIDE4OTjigJMxODk5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EaWUgVGllZnNlZSBGaXNjaGUuIDEuIFN5c3RlbWF0aXNjaGVyIFRlaWwuIFdpc3MuIEVyZ2ViZW4uIER0LiBUaWVmc2VlIEV4cGVkPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJyYXVlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MDY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6YnJpZzY2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U3lzdGVtLiBab29sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T2NlYW5pYyBJc2xhbmRzLCBlbmRlbWlzbSwgYW5kIG1hcmluZSBwYWxlb3RlbXBlcmF0dXJlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CcmlnZ3M8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTUzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMjMwNy8yNDExNjM0PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpicmlnNzAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TeXN0LiBab29sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBmYXVuYWwgaGlzdG9yeSBvZiB0aGUgTm9ydGggQXRsYW50aWMgT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+QnJpZ2dzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMjMwNy8yNDEyMDI1PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpicmluNjIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBTY3JpcHBzIEluc3RuLiBPY2Vhbm9nci48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBkaXN0cmlidXRpb24gb2YgUGFjaWZpYyBFdXBoYXVzaWlkczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CcmludG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjUxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpicm9kNjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5PY2Vhbm9sb2d5PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgdGF4b25vbXkgb2YgbWFyaW5lIHBsYW5rdG9uIG9yZ2FuaXNtcyBhbmQgb2NlYW5vZ3JhcGh5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJyb2Rza2V5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJ1cmw2MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk4uWi4gRGVwLiBTY2kuIEluZC4gUmVzLiBCdWxsLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHlkcm9sb2d5IG9mIGNpcmN1bXBvbGFyIHdhdGVycyBzb3V0aCBvZiBOZXcgWmVhbGFuZDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5CdXJsaW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTQzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmJ1c3M2NSI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0dWRpZXMgb2YgdGhlIG1pZHdhdGVyIGZpc2hlcyBvZiB0aGUgUGVydS1DaGlsZSBUcmVuY2g8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+QW50YXJjdGljIFJlcy4gU2VyLjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkJ1c3Npbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTg1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Y2hhcDQ0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q29wZWlhPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIG5ldyBuYW1lIGZvciBNeWN0b3BodW0gb2N1bGV1bSBDaGFwbWFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNoYXBtYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk0NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4yMzA3LzE0MzgyNTA8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmNvY2MyOSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdpb3JuLiBTY2kuIExldHQuIEFydGkgU2ljaWxpYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3UgZGkgYWxjdW5pIHBlc2NpIE1hcmkgZGkgTWVzc2luYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Db2NjbzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4Mjk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Y29jYzM4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TnVvdmkuIEFubi4gU2NpLiBOYXQuIEJvbGduYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3UgZGkgYWxjdW5pIFNhbG1vbmlkaSBkZWwgTWFyIGRpIE1lc3NpbmEsIGxldHRlcmEgYWwgQy4gRC4gQy4gTC4gQm9uYXBhcnRlPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNvY2NvPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xODM4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmNvaGU3MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MuIENhbGlmLiBBY2FkLiBTY2kuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Ib3cgbWFueSByZWNlbnQgZmlzaGVzIGFyZSB0aGVyZT8gZnJpIEZlc3RzY2hyaWZ0IGZvciBHZW9yZ2UgU3ByYWd1ZSBNeWVycyBpbiBob25vciBvZiBoaXMgc2l4dHktZmlmdGggYmlydGhkYXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Q29oZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzQxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT40PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Y29sZTcyIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TmF0LiBIaXMuIE11cy4gTG9zIEFuZ2VsZXMsIENvdW50eSBDb250ci4gU2NpLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RG9yc2FkZW5hIHlhY3F1aW5hZSwgYSBuZXcgZ2VudXMgYW5kIHNwZWNpZXMgb2YgbXljdG9waGlkIGZpc2ggZnJvbSB0aGUgZWFzdGVybiBOb3J0aCBQYWNpZmljIE9jZWFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkNvbGVtYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Y3JhZDcwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2NpLiBSZXMuIFNFIFBhY2lmLiBFeHBlZC4gQW50b24gQnJ1dW4gUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TWlkd2F0ZXIgRmlzaGVzIGZyb20gdGhlIGVhc3Rlcm4gc291dGggUGFjaWZpYyBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5DcmFkZG9jazwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6ZGFuaTY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Qm9ueSBmaXNoZXMgb2YgdGhlIE1haWtvcCBkZXBvc2l0cyBvZiB0aGUgQ2F1Y2FzdXMuIFRyYW5zbGF0ZWQgZnJvbSBSdXNzaWFuLCBjYXRhbG9ndWUgMTg4NTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EYW5pbGNoZW5rbzwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpkYXZpNTUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGRpc3RyaWJ1dGlvbiBvZiBTYWdpdHRhIGdhemVsbGUgUml0dGVyLVphaG9uZXk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RGF2aWQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjM1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI3PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTU1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmRhdmk1OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRpc2NvdmVyeSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZGlzdHJpYnV0aW9uIG9mIHRoZSBDaGFldG9nbmF0aGEgb2YgdGhlIFNvdXRoZXJuIE9jZWFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkRhdmlkPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIwMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk1ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpkYXZpNjMiPg0KICAgICAgICAgICAgICAgICAgICA8c2VyaWVzX3RpdGxlPlNvbWUgYXNwZWN0cyBvZiBzcGVjaWF0aW9uIG9uIENoYWV0b2duYXRoYS4gUHVibC48L3Nlcmllc190aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EYXZpZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpkYXZ5NzIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5GaXNoLiBCdWxsLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSByZXZpZXcgb2YgdGhlIGxhbnRlcm5maXNoIGdlbnVzIFRhYW4taW5naWNodGh5cyAoRmFtaWx5IE15Y3RvcGhpZGFlKSB3aXRoIHRoZSBkZXNjcmlwdGlvbiBvZiBhIG5ldyBzcGVjaWVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkRhdnk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Njc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NzA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpkZWFjMzMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBnZW5lcmFsIGFjY291bnQgb2YgdGhlIGh5ZHJvbG9neSBvZiB0aGUgU291dGggQXRsYW50aWMgT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RGVhY29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE3MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTMzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmRlYWMzNyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRpc2NvdmVyeSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgaHlkcm9sb2d5IG9mIHRoZSBTb3V0aGVybiBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EZWFjb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT5MNTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkzNzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpkZWFjNjMiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgU291dGhlcm4gT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIFNlYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkRlYWNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmRlZmE2MSI+DQogICAgICAgICAgICAgICAgICAgIDxzZXJpZXNfdGl0bGU+UGh5c2ljYWwgb2Vhbm9ncmFwaHk8L3Nlcmllc190aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EZWZhbnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmRldmU2NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk4uWi4gSi4gU2NpLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T3h5Z2VuIGlzb3RvcGUgcGFsZW90ZW1wZXJhdHVyZSBtZWFzdXJlbWVudHMgb24gTmV3IFplYWxhbmQgVGVydGlhcnkgZm9zc2lsczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EZXZlcmVhdXg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+OTg0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT40PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6ZGV3aTcwIj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGNoYXJhY3RlciBvZiB0aGUgbWlkd2F0ZXIgZmlzaCBmYXVuYSBvZiB0aGUgUm9zcyBTZWEsIEFudGFyY3RpY2E8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RGV3aXR0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMwNTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6ZGV3aTYwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U3RhbmZvcmQgSWNodGh5b2wuIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5GaXNoZXMgb2YgdGhlIFN0YW5mb3JkIEFudGFyY3RpYyBiaW9sb2dpY2FsIHJlc2VhcmNoIHByb2dyYW0gMTk1OC0xOTU5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkRld2l0dDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Nzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmRpZXQ2MyI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+R2VuZXJhbCBvY2Vhbm9ncmFwaHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5EaWV0cmljaDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTplYmVsNjIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EYW5hIFJlcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1lbGFtcGhhaWRhZS4gSS4gU3lzdGVtYXRpY3MgYW5kIHpvb2dlb2dyYXBoeSBvZiB0aGUgc3BlY2llcyBpbiB0aGUgYmF0aHlwZWxhZ2ljIGZpc2ggZ2VudXMgTWVsYW1waGFlcyBHw7xudGhlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5FYmVsaW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTg8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6ZWJlbDY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYy4gSW50LiBDb25mLiwgVHJvcGljYWwgT2NlYW5vZ3IuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5ab29nZW9ncmFwaHkgb2YgdHJvcGljYWwgZGVlcCBzZWEgYW5pbWFsczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5FYmVsaW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjU5MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmVpZ2U4OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFtZXIuIFNjaS48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5vdGVzIGZyb20gdGhlIFNhbiBEaWVnbyBCaW9sb2dpY2FsIExhYm9yYXRvcnkuIFRoZSBmaXNoZXMgb2YgQ29ydGV6IEJhbmtzLiBXZXN0PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkVpZ2VubWFubjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Njwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDg8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTg4OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTplaWdlOTAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jLiBDYWxpZi4gQWNhZC4gU2NpLiwgU2VyLiAyPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BZGRpdGlvbiB0byB0aGUgZmF1bmEgb2YgU2FuIERpZWdvPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkVpZ2VubWFubjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4OTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6ZWttYTUzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5ab29nZW9ncmFwaHkgb2YgdGhlIHNlYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkVrbWFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTUzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmVsLXM3MCI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBoeXRvcGxhbmt0b24gcHJvZHVjdGlvbiBvZiB0aGUgU291dGggUGFjaWZpYyBhbmQgdGhlIFBhY2lmaWMgc2VjdG9yIG9mIHRoZSBBbnRhcmN0aWM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RWwtU2F5ZWQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTk0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTplc3RlNDciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBNdXMuIEhpc3QuIE5hdC4gUGFyaXMuLCBTZXIuIDI8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlJldmlzaW9uIGRlcyB0eXBlcyBteWN0b3BoaWRlcyAoU2NvcGUtbGlkZXMpIGR1IE11c2V1bTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Fc3RldmU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Njc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk0NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpmZWxsNjciPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DcmV0YWNlb3VzIGFuZCB0ZXJ0aWFyeSBzdXJmYWNlIGN1cnJlbnRzIG9mIHRoZSBvY2VhbnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+QW5udWFsIFJldmlldzwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZlbGw8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzE3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Zml0YzY5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q29udHJpYi4gU2NpLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Rm9zc2lsIGxhbnRlcm5maXNoIG90b2xpdGhzIG9mIENhbGlmb3JuaWEsIHdpdGggbm90ZXMgb24gZm9zc2lsIG15Y3RvcGhpZGFlIG9mIE5vcnRoIEFtZXJpY2EuIExvcyBBbmdlbGVzIENvdW50eSBNdXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Rml0Y2g8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNzM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Zml0YzY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Si4gRmlzaC4gUmVzLiBCZC4gQ2FuLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RmlzaCBvdG9saXRocyBpbiBjZXRhY2VhbiBzdG9tYWNocyBhbmQgdGhlaXIgaW1wb3J0YW5jZSBpbiBpbnRlcnByZXRpbmcgZmVlZGluZyBoYWJpdHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Rml0Y2g8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjU2MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yNTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTM5L2Y2OC0yMjc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmZsZW02MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlR1YXRhcmE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk5ldyBaZWFsYW5kIGJpb2dlb2dyYXBoeSwgYSBwYWxlb250b2xvZ2lzdCdzIGFwcHJvYWNoPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZsZW1pbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6ZmxlbTY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UHJvYy4gVS5TLiBOYXRubC4gTXVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGF4b25vbXksIGRpc3RyaWJ1dGlvbiwgYW5kIHBvbHltb3JwaGlzbSBpbiB0aGUgTGFiaWRvY2VyYSBqb2xsYWUgZ3JvdXAgd2l0aCByZW1hcmtzIG9uIGV2b2x1dGlvbiB3aXRoaW4gdGhlIGdyb3VwIChDb3BlcG9kYTogQ2FsYW5vaWRlYSk8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RmxlbWluZ2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTIwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4zNTY3PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuNTQ3OS9zaS4wMDk2MzgwMS4xMjAtMzU2Ny4xPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpmb3dsMDEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jLiBBY2FkLiBOYXQuIFNjaS4gUGhpIGxhZC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk15Y3RvcGh1bSBwaGVuZ29kZXMgaW4gdGhlIE5vcnRoIEF0bGFudGljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZvd2xlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42MjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MDE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Zm93bDI1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QW0uIE11cy4gTm92aXQuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OZXcgdGF4b25vbWljIG5hbWVzIG9mIFdlc3QgQWZyaWNhbiBtYXJpbmUgZmlzaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZvd2xlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE2Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkyNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpmb3h0NTYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgc3RhbmRpbmcgY3JvcCBvZiB6b29wbGFua3RvbiBpbiB0aGUgU291dGhlcm4gT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Rm94dG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE5MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk1NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpmb3h0NjEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U2FscGEgZnVzaWZvcm1pcyBhbmQgcmVsYXRlZCBzcGVjaWVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZveHRvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjMyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmZveHQ2NSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRpc2NvdmVyeSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZGlzdHJpYnV0aW9uIGFuZCBsaWZlIGhpc3Rvcnkgb2YgU2FscGEgdGhvbXBzb25pIEZveHRvbiB3aXRoIG9ic2VydmF0aW9ucyBvbiBhIHJlbGF0ZWQgc3BlY2llcywgU2FscGEgZ2VybGFjaGVpIEZveHRvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Gb3h0b248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpmcmFrNzIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OYXR1cmU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkluZmx1ZW5jZSBvZiBjb250aW5lbnRhbCBwb3NpdGlvbnMgb24gZWFybHkgVGVydGlhcnkgY2xpbWF0ZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+RnJha2VzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjk3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI0MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4LzI0MDA5N2EwPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpmcmFzMzEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Bbm4uIE1hZy4gTmF0LiBIaXN0LiwgU2VyLiAxMDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U29tZSBpbnRlcmVzdGluZyBXZXN0IEFmcmljYW4gZmlzaGVzLCB3aXRoIGRlc2NyaXB0aW9ucyBvZiBhIG5ldyBnZW51cyBhbmQgdHdvIG5ldyBzcGVjaWVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZyYXNlci1CcnVubmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIxNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTMxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDAyMjI5MzMxMDg2NzMzODY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmZyYXM0OSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MuIFpvb2wuIFNvYy4gTG9uZG9uPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIGNsYXNzaWZpY2F0aW9uIG9mIHRoZSBmaXNoZXMgb2YgdGhlIEZhbWlseSBNeWN0b3BoaWRhZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5GcmFzZXItQnJ1bm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMDEwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjExODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTQ5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmZyaWU2NCI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBoeXNpY2FsIG9jZWFub2dyYXBoaWMgZGF0YSBvYnRhaW5lZCBkdXJpbmcgRWx0YW5pbiBjcnVpc2VzIDQsIDUgYW5kIDYgaW4gdGhlIERyYWtlIFBhc3NhZ2UsIGFsb25nIHRoZSBDaGlsZWFuIGNvYXN0IGFuZCBpbiB0aGUgQnJhbnNmaWVsZCBzdHJhaXQsIEp1bmUsIDE5NjItSmFudXJ5LCAxOTYzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZyaWVkbWFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmZyb3M2OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJ1bGwuIFNjcmlwcHMgSW5zdG4uIE9jZWFub2dyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSByZXZpc2lvbiBvZiB0aGUgR2VudXMgQ2xhdXNvY2FsYW51cyAoQ29wZXBvZGE6IENhbGFub2lkZWEpIHdpdGggcmVtYXJrcyBvbiBkaXN0cmlidXRpb24gcGF0dGVybnMgaW4gZGlhZ25vc3RpYyBjaGFyYWN0ZXJzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkZyb3N0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z2FybTk5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWVtLiBNdXMuIENvbXAuIFpvb2wuIEhhcnYuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SZXBvcnRzIG9mIGFuIGV4cGxvcmF0aW9uIG9mZiB0aGUgd2VzdCBjb2FzdHMgb2YgTWV4aWNvLCBDZW50cmFsIGFuZCBTb3V0aCBBbWVyaWNhLCBhbmQgb2ZmIHRoZSBHYWxhcGFnb3MgSXNsYW5kcywgaW4gY2hhcmdlIG9mIEFsZXhhbmRlciBBZ2Fzc2l6LCBieSB0aGUgVS5TLiBGaXNoIENvbW1pc3Npb24gU3RlYW1lciBBbGJhdHJvc3MsIGR1cmluZyAxODkxLCBMaWV1dC4gQ29tbWFuZGVyIFouIEwuIFRhbm5lciBVLiBTLiBOLiwgY29tbWFuZGluPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdhcm1hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xODk5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omdhcm42N2EiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5NZW0uIE4uWi4gT2NlYW5vZ3IuIEluc3QuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IeWRyb2xvZ3kgb2YgdGhlIHNvdXRod2VzdCBUYXNtYW4gU2VhPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdhcm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ4PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omdhcm42N2IiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5NZW0uIE4uWi4gT2NlYW5vZ3IuIEluc3QuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IeWRyb2xvZ3kgb2YgdGhlIHNvdXRoZXJuIEhpa3VyYW5naSB0cmVuY2ggcmVnaW9uPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdhcm5lcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmdhdHQwMyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkFubmFsaSBBZ3JpYy4gUm9tYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmljaGVyY2hlIHN1Z2xpIG92Z2F3aSBsdW1pbm9zaSBkZWkgcGVzY2k8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R2F0dGk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMzM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MDM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z2liYjY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Q29udHJpYi4gU2NpLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGhvdG9uZWN0ZXMgbXVuaWZpY3VzLCBhIG5ldyBzcGVjaWVzIG9mIG1lbGFub3N0b21hdGlkIGZpc2ggZnJvbSB0aGUgc291dGggUGFjaWZpYyBTdWJ0cm9waWNhbCBDb252ZXJnZW5jZSwgd2l0aCByZW1hcmtzIG9uIHRoZSBjb252ZXJnZW5jZSBGYXVuYS4gTG9zIEFuZ2VsZXMgQ291bnR5IE11czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5HaWJiczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE0OTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpnaWxiOTEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jLiBVLlMuIE5hdG4uIE11cy48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlByZWxpbWluYXJ5IHJlcG9ydCBvbiB0aGUgZmlzaGVzIGNvbGxlY3RlZCBieSB0aGUgc3RlYW1lciBBbGJhdHJvc3Mgb24gdGhlIFBhY2lmaWMgY29hc3Qgb2YgTm9ydGggQW1lcmljYSBkdXJpbmcgdGhlIHllYXIgMTg4OTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5HaWxiZXJ0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xODkxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjU0Nzkvc2kuMDA5NjM4MDEuMTMtNzk3LjQ5PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpnaWxiMDUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBVLlMuIEZpc2guIENvbW0uPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZGVlcCBzZWEgZmlzaGVzIG9mIHRoZSBIYXdhaWlhbiBJc2xhbmRzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdpbGJlcnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NTc1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z2lsYjExIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QnVsbC4gQW0uIE11cy4gTmF0LiBIaXN0Ljwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Tm90ZXMgb24gbGFudGVybmZpc2hlcyBmcm9tIFNvdXRoZXJuIFNlYXMsIGNvbGxlY3RlZCBieSBKLiBULiBOaWNob2xzIGluIDE5MDY8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R2lsYmVydDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zMDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpnaWxiMTMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5NZW0uIENhcm5lZy4gTXVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGxhbnRlcm5maXNoZXMgb2YgSmFwYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R2lsYmVydDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT42NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT42PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmdpbGI5NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlByb2MuIFUuUy4gTmF0bC4gTXVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVwb3J0IG9uIHRoZSBmaXNoZXMgZHJlZGdlZCBpbiBkZWVwIHdhdGVyIG5lYXIgdGhlIEhhd2FpaWFuIElzbGFuZHMsIHdpdGggZGVzY3JpcHRpb25zIGFuZCBmaWd1cmVzIG9mIHR3ZW50eSB0aHJlZSBuZXcgc3BlY2llczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5HaWxiZXJ0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQwMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTg5NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC41NDc5L3NpLjAwOTYzODAxLjE5LTExMTQuNDAzPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpnaWxjMDQiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5NYXIuIEludmVzdC4gUy4gQWZyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U291dGggQWZyaWNhbiBmaXNoZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R2lsY2hyaXN0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MDQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z2lzdDUwIj4NCiAgICAgICAgICAgICAgICAgICAgPHNlcmllc190aXRsZT5Hb25pY2h0aHlzLCBlaW4gZmlzY2ggYXVzIGRlciBCYWkgdm9uIE1hZGVpcmEgSXNpczwvc2VyaWVzX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdpc3RlbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xODUwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xODUwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omdvb2Q5NiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlNwZWMuIEJ1bGwuIFUuUy4gTmF0bi4gTXVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T2NlYW5pYyBpY2h0aHlvbG9neTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Hb29kZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4OTY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z29vZDY5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QnVsbC4gQnIuIE11cy4gTmF0LiBIaXN0LiBHZW9sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHJlbGF0aW9uc2hpcHMgb2YgY2VydGFpbiBVcHBlciBDcmV0YWNlb3VzIHRlbGVjb3N0cyB3aXRoIHNwZWNpYWwgcmVmZXJlbmNlIHRvIHRoZSBNeWN0b3Bob2lkczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Hb29keTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z29yZCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+U3RydWN0dXJlIG9mIGFudGFyY3RpYyB3YXRlcnMgYmV0d2VlbiAyMMKwVyBhbmQgMTcwwrBXPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R29yZG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpnb3JkNzFhIj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T2NlYW5vZ3JhcGh5IG9mIGFudGFyY3RpYyB3YXRlcnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+QW50YXJjdGljIFJlcy4gU2VyLjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdvcmRvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z29yZDcxYiI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFudGFyY3RpYyBwb2xhciBmcm9udCB6b25lPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkFudGFyY3RpYyBSZXMuIFNlci48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Hb3Jkb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjA1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE1PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmdvcmQ3MCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+Q2lyY3VtcG9sYXIgY2hhcmFjdGVyaXN0aWNzIG9mIEFudGFydGljIHdhdGVyczwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkdvcmRvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpncmFuNjYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DYWguIE9jZWFub2dyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29yaW9saXMgQ3JvaXNpZXJlIEFsaXplLiBJbmRpdmlkdWFsaXphdGlvbiBkZSBwbHVzaWVycyBpY2h0eW9mYXVuZXMgbGUgbG9uZyBkZSBsJ2VxdWF0ZXI8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R3JhbmRwZXJyaW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omd1ZW4zNiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRpc2NvdmVyeSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BIHJlcG9ydCBvbiBvY2Vhbm9ncmFwaGljYWwgaW52ZXN0aWdhdGlvbnMgaW4gUGVydSBDb2FzdGFsIEN1cnJlbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R3VlbnRoZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTM2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omd1bnQ2NCI+DQogICAgICAgICAgICAgICAgICAgIDxzZXJpZXNfdGl0bGU+Q2F0YWxvZ3VlIG9mIHRoZSBmaXNoZXMgaW4gdGhlIEJyaXRpc2ggTXVzZXVtPC9zZXJpZXNfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+R8O8bnRoZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xODY0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omd1bnQ3MyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkouIE11cy4gR29kZWZmcm95PC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5ad2VpdGVyIGljaHRoeW9sb2dpc2NoZXIgQmVpdHJhZyBuYWNoIEV4ZW1wbGFyZW4gYXVzIGRlbSBNdXNldW0gR29kZWZmcm95PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkfDvG50aGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI1NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT40PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4NzM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z3VudDc2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QW5uLiBNYWcuIE5hdC4gSGlzdC4sIFNlci4gNDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVtYXJrcyBvbiBmaXNoZXMgd2l0aCBkZXNjcmlwdGlvbnMgb2YgbmV3IHNwZWNpZXMgaW4gdGhlIEJyaXRpc2ggTXVzZXVtLCBjaGllZmx5IGZyb20gc291dGhlcm4gc2VhczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Hw7xudGhlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zODk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjQzPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4NzY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA4MC8wMDIyMjkzNzYwODY4MTk3NTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6Z3VudDc4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QW5uLiBNYWcuIE5hdC4gSGlzdC4sIFNlci4gNTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UHJlbGltaW5hcnkgbm90aWNlcyBvZiBkZWVwLXNlYSBmaXNoZXMgY29sbGVjdGVkIGR1cmluZyB0aGUgdm95YWdlIG9mIHRoZSBILk0uUy4gQ2hhbGxlbmdlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Hw7xudGhlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+ODwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xODc4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDAyMjI5Mzc4MDg2ODI0MDY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omd1bnQ4NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNoYWxsZW5nZXIgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UmVwb3J0IG9uIHRoZSBkZWVwLXNlYSBmaXNoZXMgY29sbGVjdGVkIGJ5IEguTS5TLiBDaGFsbGVuZ2VyIGR1cmluZyB0aGUgeWVhcnMgMTg3My0xODc2PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkfDvG50aGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjU3PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4ODc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6aGFtbzY1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGVlcCBTZWEgUmVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIEVhc3QgQXVzdHJhbGlhbiBDdXJyZW50LCAxOTYwLTE5NjQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SGFtb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODk5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmhhbW83MCI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+V2VzdGVybiBib3VuZGFyeSBjdXJyZW50cywgU2NpZW50aWZpYyBFeHBsb3JhdGlvbiBvZiB0aGUgU291dGggUGFjaWZpYzwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhhbW9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmhhcmQ1NiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIG9wZW4gc2VhOiBJdHMgbmF0dXJhbCBoaXN0b3J5LiAxLiBUaGUgd29ybGQgb2YgcGxhbmt0b248L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5IYXJkeTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk1NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpoYXJkMzUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGxhbmt0b24gb2YgdGhlIFNvdXRoIEdlb3JnaWEgd2hhbGluZyBncm91bmRzIGFuZCBhZGphY2VudCB3YXRlcnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SGFyZHk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT5JSTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkzNTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpoYXJ0NDIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGh5dG9wbGFua3RvbiBwZXJpb2RpY2l0eSBpbiBBbnRhcmN0aWMgc3VyZmFjZSB3YXRlcnM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SGFydDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NDI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6aGFzbDY5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+SHZhbHJhZC4gU2tyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QW4gYW5hbHlzaXMgb2YgdGhlIHBoeXRvcGxhbmt0b24gb2YgdGhlIFBhY2lmaWMgU291dGhlcm4gT2NlYW46IEFidW5kYW5jZSwgY29tcG9zaXRpb24sIGFuZCBkaXN0cmlidXRpb24gZHVyaW5nIHRoZSBCcmF0ZWdnIEV4cGVkaXRpb24sIDE5NDctMTk0ODwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5IYXNsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjUyPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmhheXM2OCI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNsaW1hdGljIHJlY29yZCBvZiBsYXRlIENlbm96b2ljIEFudGFyY3RpYyBPY2VhbiBzZWRpbWVudHMgcmVsYXRlZCB0byB0aGUgcmVjb3JkIG9mIHdvcmxkIGNsaW1hdGU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+UGFsZW9jb2xvZ3kgb2YgQWZyaWNhIGFuZCBvZiB0aGUgU3Vycm91bmRpbmcgSXNsYW5kcyBhbmQgb2YgQW50YXJjdGljYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhheXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTM5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6aGF5czY5Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+R2VvbC4gU29jLiBBbS4gQnVsbC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBsaW9jZW5lLVBsZWlzdG9jZW5lIHNlZGltZW50cyBvZiB0aGUgZXF1YXRvcmlhbCBQYWNpZmljOiBUaGVpciBwYWxlb21hZ25ldGljLCBiaW9zdHJhdGlncmFwaGljLCBhbmQgY2xpbWF0aWMgcmVjb3JkPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkhheXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTQ4MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTMwLzAwMTYtNzYwNigxOTY5KTgwWzE0ODE6UFNPVEVQXTIuMC5DTzsyPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpoZWF0NjgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5OLlouIEouIE1hci4gRnJlc2h3YXRlciBSZXMuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5HZW9zdHJvcGhpYyBjdXJyZW50cyBkZXJpdmVkIGZyb20gb2NlYW5pYyBkZW5zaXR5IG1lYXN1cmVtZW50cyBub3J0aCBhbmQgc291dGggb2YgdGhlIFN1YnRyb3BpY2FsIENvbnZlcmdlbmNlIGVhc3Qgb2YgTmV3IFplYWxhbmQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SGVhdGg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NjU5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjQ8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDgwLzAwMjg4MzMwLjE5NjguOTUxNTI2MzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6aGVyZDY2Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5Tb3V0aGVybiBPY2Vhbi4gRW5jeWNsb3BhZWRpYSBvZiBPY2Vhbm9ncmFwaHk8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5IZXJkbWFuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omh1YmI2NCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlpvb2wuIE1lZGVkLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGFydmlsdXgsIGEgbmV3IGdlbnVzIG9mIG15Y3RvcGhpZCBmaXNoZXMgZnJvbSB0aGUgbm9ydGhlYXN0ZXJuIFBhY2lmaWMsIHdpdGggdHdvIG5ldyBzcGVjaWVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkh1YmJzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ0NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpodXJsNjkiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPkFtcGhpcG9kYSBIeXBlcmlpZGVhPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SHVybGV5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTppc2FhNTIiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Jc2FhY3MtS2lkZCBtaWR3YXRlciB0cmF3bDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Jc2FhY3M8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6amFjbzY2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGh5c2ljYWwgYW5kIGNoZW1pY2FsIG9jZWFub2dyYXBoaWMgb2JzZXJ2YXRpb25zIGluIHRoZSBTb3V0aGVybiBPY2VhbnMsIFUuUy4tTi5TLiBFbHRhbmluIGNydWlzZXMgMTYtMjE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+SmFjb2JzPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmphY282NyI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBoeXNpY2FsIGFuZCBjaGVtaWNhbCBvY2Vhbm9ncmFwaGljIG9ic2VydmF0aW9ucyBpbiB0aGUgU291dGhlcm4gT2NlYW5zLCBVLlMuLU4uUy4gRWx0YW5pbiBjcnVpc2VzIDIyLTI3PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkphY29iczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpqb2huMzYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIHNvdXRoZXJuIHNwZWNpZXMgb2YgdGhlIGdlbnVzIEV1cGhhdXNpYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Kb2huPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkzNjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpqb2huOTAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Qcm9jLiBab29sLiBTb2MuIExvbmRvbjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+T24gc29tZSBuZXcgc3BlY2llcyBvZiBmaXNoIGZyb20gTWFkZWlyYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Kb2huc29uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ1MjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41ODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTg5MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpqb2huNjMiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5CaW9sb2dpY2FsIHNwZWNpZXMsIHdhdGVyLW1hc3NlcyBhbmQgY3VycmVudHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIFNlYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkpvaG5zb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzgxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6a2FuZTY2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGlzY292ZXJ5IFJlcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBkaXN0cmlidXRpb24gb2YgUGFyYXRoZW1pc3RvIGdhdWRpLWNoYXVkZGkgKEd1ZXIuKSB3aXRoIG9ic2VydmF0aW9ucyBvbiBpdHMgbGlmZSBoaXN0b3J5IGluIHRoZSAwwrAgdG8gMjDCsEUgc2VjdG9yIG9mIHRoZSBTb3V0aGVybiBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LYW5lPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE2MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTprYXNoNjciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UcnVkeSBBa2FkLiBOYXVrIFNTU1IsIEluc3QuIE9rZWFub2w8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk9uIHRoZSBxdWFudGl0YXRpdmUgZGlzdHJpYnV0aW9uIG9mIHRoZSBsYW50ZXJuZmlzaGVzIChNeWN0b3BoaWRhZSBzZW5zdWxhdG8pIGluIHRoZSBBdGxhbnRpYyBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LYXNoa2luPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT44NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTprZW1wMjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EaXNjb3ZlcnkgUmVwLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIERpc2NvdmVyeSBpbnZlc3RpZ2F0aW9uczogT2JqZWN0cywgZXF1aXBtZW50LCBhbmQgbWV0aG9kcywgMjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LZW1wPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTI5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omtlbm43MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRlZXAgU2VhIFJlcy48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBsZWlzdG9jZW5lIHBhbGVvY2xpbWF0ZXMgYW5kIGZvcmFtaW5pZmVyYWwgYmlvc3RyYXRpZ3JhcGh5IGluIHN1YmFudGFyY3RpYyBkZWVwIHNlYSBjb3JlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LZW5uZXR0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmtlbnQ3MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkdlb2wuIFNvYy4gQW0uIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DbGltYXRlIGNoYW5nZSBpbiB0aGUgTm9ydGggUGFjaWZpYyB1c2luZyBpY2UtcmFmdGVkIGRldHJpdHVzIGFzIGNsaW1hdGUgaW5kaWNhdG9yPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPktlbnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mjc0MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT44MjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjExMzAvMDAxNi03NjA2KDE5NzEpODJbMjc0MTpDQ0lUTlBdMi4wLkNPOzI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omtub3g2MyI+DQogICAgICAgICAgICAgICAgICAgIDxzZXJpZXNfdGl0bGU+UHJvYmxlbXMgb2Ygc3BlY2lhdGlvbiBpbiBpbnRlcnRpZGFsIGFuaW1hbHMgd2l0aCBzcGVjaWFsIHJlZmVyZW5jZSB0byBOZXcgWmVhbGFuZCBzaG9yZXMuIFB1YmwuPC9zZXJpZXNfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+S25veDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTprbm94NzAiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5CaW9sb2dpY2FsIG9jZWFub2dyYXBoeSBvZiB0aGUgU291dGggUGFjaWZpYywgU2NpZW50aWZpYyBFeHBsb3JhdGlvbiBvZiB0aGUgU291dGggUGFjaWZpYzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Lbm94PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1NTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6a29ibDcwIj4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+UGxhbmt0b24gcHJpbWFyeSBwcm9kdWN0aW9uIG9mIHRoZSB3b3JsZCBvY2VhbiwgU2NpZW50aWZpYyBFeHBsb3JhdGlvbiBvZiB0aGUgU291dGggUGFjaWZpYzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Lb2JsZW50ei1NaXNoa2U8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTgzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTprb3J0NjIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbnQuIEFtLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIEFudGFyY3RpYyBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Lb3J0PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMDc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDM4L3NjaWVudGlmaWNhbWVyaWNhbjA5NjItMTEzPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTprb3J0NjUiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5JbmYuIEJ5dWxsLiBTYi4gQW50YXJrdC4gRWtzcGVkLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Qm91bmRhcmllcyBvZiB0aGUgU291dGhlcm4gT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+S29ydDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTprcmVmNTgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EdC4gQW50YXJrdC4gRXhwZWQuIDE5MzgtMzk8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFudGFya3Rpc2NoZSBGaXNjaGUgdW5kIGRlbiBQbGFua3RvbmZhbmdlbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LcmVmZnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjQ5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NTg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6a3JlZjcwIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+QmVyLiBEdC4gV2lzcy4gS29tbW4uIE1lZXJlc2ZvcnNjaC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlp1ciBTeXN0ZW1hdGljayB1bmQgdmVyYmVpdHVuZyBkZXIgR2F0dHVuZyBMYW1wYWRlbmEgR29vZGUgYW5kIEJlYW4sIDE4OTYgKE9zdGVpY2h0aHllcywgTXljdG9waG9pZGVpLCBNeWN0b3BoaWRhZSkgaW4gQXRsYW50aXNjaGVuIE9jZWFuLCBtaXQgQmVzY2hyZWlidW5nIGVpbmVyIE5ldmVuIEFydDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LcmVmZnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjcxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmtyZWY3NCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJlci4gRHQuIFdpc3MuIEtvbW1uLiBNZWVyZXNmb3JzY2guPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5JbnZlc3RpZ2F0aW9ucyBvbiBtaWR3YXRlciBmaXNoIGluIHRoZSBBdGxhbnRpYyBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LcmVmZnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTc0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omt1bGk2MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRydWR5IEFrYWQuIE5hdWsgU1NTUiwgSW5zdC4gT2tlYW5vbC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkxhbXBhbnljdGlkcyAoR2VudXMgTGFtcGFueWN0dXMpIG9mIHRoZSBmYXIgZWFzdGVybiBzZWFzIGFuZCB0aGUgTm9ydGh3ZXN0ZXJuIFBhY2lmaWM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+S3VsaWtvdmE8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTY2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjMxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omt1bGk2MSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlRydWR5IEFrYWQuIE5hdWsgU1NTUiwgSW5zdC4gT2tlYW5vbC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk1hdGVyaWFsIG9uIHRoZSBsYW50ZXJuZmlzaCBnZW51cyBEaWFwaHVzIChGYW1pbHkgU2NvcGVsaWRhZSkgaW4gdGhlIHdlc3Rlcm4gcGFydCBvZiB0aGUgUGFjaWZpYyBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5LdWxpa292YTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmxlZ2E2NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNhaC4gT2NlYW5vZ3IuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5DeWNsZXMgYmlvbG9naXF1ZXMgZGVzIHBvaXNzb25zIG1lc29wZWxhZ2lxdWVzIGRhbnMgbCdlc3QgZGUgbCdPY2VhbiBJbmRpZW4uIDEuIFNjb3BlbG9wc2lzIG11bHRpcHVuY3RhdHVzIEJyYXVlciwgR29ub3N0b21hIHNwLiBhbmQgTm90b2x5Y2hudXMgdmFsZGl2aWFlIEJyYXVlcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MZWdhbmQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OmxlZ2E2N2EiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5DYWguIE9jZWFub2dyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q3ljbGVzIGJpb2xvZ2lxdWVzIGRlcyBwb2lzc29ucyBtZXNvcGVsLWFnaXF1ZXMgZGFucyBsJ2VzdCBkZSBsJ09jZWFuIEluZGllbi4gMi4gRGlzdHJpYnV0aW9uIG1veWVubmUgZGVzIHByaW5jaXBhbCBlc3BlY2VzIGRlbGwnaWNodHlvZmF1bmU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TGVnYW5kPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjczPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjQ8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpsbG95NjMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5HZW9sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGVjdG9uaWMgaGlzdG9yeSBBbWVyaWNhbiBPcm9nYW46IEFtZXJpY2Fucy1UZWN0b25pYyBwb2xlLCBhIHN5bXBvc2l1bTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5MbG95ZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44ODwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Omxvbm4wNSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPldpc3MuIEVyZ2Vibi4gU2Nod2VkLiBTdWItcG9sYXJleHBlZC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBmaXNoZXMgb2YgdGhlIFN3ZWRpc2ggU291dGggUG9sYXIgRXhwZWRpdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Mw7ZubmJlcmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT41PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT42PC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MDU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bHV0azkyIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sy4gRGFuc2tlIFZpZGVuc2suIFNlbHNrLiBTa3IuLCBTZXIuIDY8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlNwb2xpYSBBdGxhbnRpY2EuIFNjb3BlbGluaSBtdXNldSB6b29sb2dpY2kgSGF1bmllbnNpcy4gQmlkcmFnIHRpbCBLaW5kc3RhYiBvbSBkZXQgYWFibmUgSGF1cyBsYWtlc2lsZCBlbGxlciBTY29wZWxpbmVyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPkzDvHRrZW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjIxPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4OTI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWFjazM3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGlzY292ZXJ5IFJlcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBzZWFzb25hbCBjaXJjdWxhdGlvbiBvZiB0aGUgYW50YXJjdGljIG1hY3JvcGxhbmt0b248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWFja2ludG9zaDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zNjU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Mzc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWFjazQ2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGlzY292ZXJ5IFJlcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBhbnRhcmN0aWMgY29udmVyZ2VuY2UgYW5kIHRoZSBkaXN0cmlidXRpb24gb2Ygc3VyZmFjZSB0ZW1wZXJhdHVyZXMgaW4gQW50YXJjdGljIHdhdGVyczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NYWNraW50b3NoPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE3NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk0NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTptYXJnNzAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BbnRhcmN0aWMgZ2xhY2lhdGlvbiBkdXJpbmcgdGhlIFRlcnRpYXJ5IHJlY29yZGVkIGluIHN1YmFudGFyY3RpYyBkZWVwLXNlYSBjb3JlczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NYXJnb2xpczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMDg1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI2L3NjaWVuY2UuMTcwLjM5NjIuMTA4NTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWFycjYyIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGlzY292ZXJ5IFJlcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBuYXR1cmFsIGhpc3RvcnkgYW5kIGdlb2dyYXBoeSBvZiB0aGUgQW50YXJjdGljIEtyaWxsIChFdXBoYXVzaWEgU3VwZXJiYSBEYW5hPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1hcnI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MzI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjI8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWF1YzY5Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5BZHZhbmNlcyBpbiBtYXJpbmUgYmlvbG9neTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8c2VyaWVzX3RpdGxlPlRoZSBiaW9sb2d5IG9mIGV1cGhhdXNpaWRzLjwvc2VyaWVzX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1hdWNobGluZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWF5cjYzIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5BbmltYWwgc3BlY2llcyBhbmQgZXZvbHV0aW9uPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWF5cjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC40MTU5L2hhcnZhcmQuOTc4MDY3NDg2NTMyNzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWNjdTE1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RW5kZWF2b3VyIDE5MDktMTkxNDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QmlvbG9naWNhbCByZXN1bHRzIG9mIGZpc2hpbmcgZXhwZXJpbWVudHMgY2FycmllZCBvbiBieSB0aGUgRi5JLlM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWNDdWxsb2NoPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEwNDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4zPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MTU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWNjdTIzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UmVjLiBBdXN0LiBNdXMuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5GaXNoZXMgZnJvbSBBdXN0cmFsaWEgYW5kIExvcmQgSG93ZSBJc2xhbmQuIDI8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWNDdWxsb2NoPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjExMDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkyMzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTptY2N1MjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5NZW0uIEF1c3QuIE11cy48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgY2hlY2tsaXN0IG9mIHRoZSBmaXNoZXMgcmVjb3JkZWQgZnJvbSBBdXN0cmFsaWE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWNDdWxsb2NoPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MeKAkzU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkyOTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zODUzL2ouMDA2Ny0xOTY3LjUuMTkyOS40NzM8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om1jZ2k3NCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlNjaWVuY2U8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvdW50ZXJjbG9ja3dpc2UgY2lyY3VsYXRpb24gaW4gdGhlIFBhY2lmaWMgU3ViYW50YXJjdGljIHNlY3RvciBvZiB0aGUgU291dGhlcm4gT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWNHaW5uaXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NzM2PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE4Njwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI2L3NjaWVuY2UuMTg2LjQxNjUuNzM2PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTptY2dpNzciPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Fdm9sdXRpb24gd2l0aGluIHBlbGFnaWMgZWNvc3lzdGVtczogQXNwZWN0cyBvZiB0aGUgZGlzdHJpYnV0aW9uIGFuZCBldm9sdXRpb24gb2YgdGhlIEZhbWlseSBNeWN0b3BoaWRhZTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NY0dpbm5pczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NDc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTc3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om1jZ283MSI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk9jZWFuaWMgYmlvZ2VvZ3JhcGh5IG9mIHRoZSBQYWNpZmljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1jR293YW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWNpbjY3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2NpZW5jZTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Q29jY29saXRocyBhcyBwYWxlb2NsaW1hdGljIGluZGljYXRvcnMgb2YgUGxlaXN0b2NlbmUgZ2xhY2lhdGlvbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NY0ludHlyZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzE0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE1ODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI2L3NjaWVuY2UuMTU4LjM4MDYuMTMxNDwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bWVhZDY2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+TWVtLiBTZWFycyBGZG4uIE1hci4gUmVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RmFtaWx5IENobG9yb3BodGhhbG1pZGFlLiBGaXNoZXMgb2YgdGhlIFdlc3Rlcm4gTm9ydGggQXRsYW50aWM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWVhZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjI8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om1lYWQ1MyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkouIEZpc2guIFJlcy4gQmQuIENhbi48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgY29sbGVjdGlvbiBvZiBvY2VhbmljIGZpc2hlcyBmcm9tIG9mZiBOb3J0aGVhc3Rlcm4gSmFwYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWVhZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41NjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjg8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk1MzwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTM5L2Y1My0wMzM8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om1pZHQ1NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlNjaWVudC4gUmVzdWx0cyBCcmF0ZWdnIEV4cGVkLiAxOTQ3LTE5NDg8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBhY2lmaWMgQW50YXJjdGljIFdhdGVyczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NaWR0dHVuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk1NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTptaWxlNzEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5NYXIuIEJpb2wuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UeXBlcyBvZiBsYXJ2YWwgZGV2ZWxvcG1lbnQgaW4gbWFyaW5lIGJvdHRvbSBpbnZlcnRlYnJhdGVzLCB0aGVpciBkaXN0cmlidXRpb24gYW5kIGVjb2xvZ2ljYWwgc2lnbmlmaWNhbmNlOiBBIHJlLWV2YWx1YXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TWlsZWlrb3Zza3k8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTkzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEwPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4zPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NzE8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAwMzUyODA5PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTptb3JlODgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBTb2MuIFBoaWxvbWF0aC4sIFBhcmlzLCBTZXIuIDc8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkxlIHNjb3BlbGUgZGUgVmVyYW55LCBTY29wZWx1cyB2ZXJhbnlpPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1vcmVhdTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMDg8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTg4ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTptb3NlNzAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBMb3MgQW5nZWxlcyBDb3VudHkgTXVzLiBOYXQuIEhpc3QuLCBTY2kuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EZXZlbG9wbWVudCBvZiBsYW50ZXJuZmlzaGVzIChGYW1pbHkgTXljdG9waGlkYWUpIGluIHRoZSBDYWxpZm9ybmlhIGN1cnJlbnQuIDEuIFNwZWNpZXMgd2l0aCBuYXJyb3ctZXllZCBsYXJ2YWU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TW9zZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om1vc2U3MiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZpc2guIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EZXZlbG9wbWVudCBvZiB0aGUgbGFudGVybmZpc2ggU2NvcGVsb3BzaXMgbXVsdGlwdW5jdGF0dXMgQnJhdWVyIDE5MDYsIHdpdGggYSBkaXNjdXNzaW9uIG9mIGl0cyBwcm9wb3NlZCBtZWNoYW5pc20gZm9yIHRoZSBldm9sdXRpb24gb2YgcGhvdG9waG9yZSBwYXR0ZXJucyBpbiBsYW50ZXJuZmlzaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1vc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjU0MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43MDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om1vc2U3NCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkZpc2guIEJ1bGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Sb2xlIG9mIGxhcnZhbCBzdGFnZXMgaW4gc3lzdGVtYXRpYyBpbnZlc3RpZ2F0aW9ucyBvZiBtYXJpbmUgdGVsZW9zdHM6IFRoZSBNeWN0b3BoaWRhZSwgQSBDYXNlIFN0dWR5PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk1vc2VyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjM5MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTc0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om11cm82MyI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBwcmluY2lwYWwgaHlkcm9sb2dpY2FsIGZlYXR1cmVzIG9mIHRoZSBQYWNpZmljIE9jZWFuLiBUcmFuc2xhdGVkIGZyb20gUnVzc2lhbiwgY2F0YWxvZ3VlIDc1MzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5NdXJvbXRzZXY8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bmFmcDY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGFuYSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5MYW50ZXJuZmlzaGVzIG9mIHRoZSBnZW5lcmEgTG9iaWFuY2hpYSBhbmQgRGlhcGh1cyBpbiB0aGUgTm9ydGggQXRsYW50aWM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+TmFmcGFrdGl0aXM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpuYWZwNjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBMb3MgQW5nZWxlcyBDb3VudHkgTXVzLiBOYXQuIEhpc3QuLCBTY2kuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5MYW50ZXJuZmlzaGVzIChGYW1pbHkgTXljdG9waGlkYWUpIGNvbGxlY3RlZCBkdXJpbmcgY3J1aXNlcyAzIGFuZCA2IG9mIHRoZSBSL1YgQW50b24gQnJ1dW4gaW4gdGhlIEluZGlhbiBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5OYWZwYWt0aXRpczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njk8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bmFmcDY4YSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkxvcyBBbmdlbGVzIENvdW50eSBNdXMuIENvbnRyLiBTY2kuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5SZXZpZXcgb2YgdGhlIGxhbnRlcm5maXNoIGdlbnVzIExhbXBhZGVuYSB3aXRoIGEgZGVzY3JpcHRpb24gb2YgYSBuZXcgc3BlY2llczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5OYWZwYWt0aXRpczwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEzODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpuZXdlNjYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BdXQuIEouIE1hci4gRnJlc2h3YXRlciBSZXMuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TZWFzb25hbCBjaGFuZ2VzIGluIHRoZSBoeWRyb2xvZ2ljYWwgYW5kIGJpb2xvZ2ljYWwgZW52aXJvbm1lbnRzIG9mZiBQb3J0IEhhY2tpbmcsIFN5ZG5leTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5OZXdlbGw8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Nzc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTc8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTA3MS9NRjk2NjAwNzc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om5vcm0zMCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRpc2NvdmVyeSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5PY2VhbmljIGZpc2hlcyBhbmQgZmxhdGZpc2hlcyBjb2xsZWN0ZWQgaW4gMTkyNS0xOTI3PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk5vcm1hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yNjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkzMDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpub3JtMzciPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5SZXAuIEJBTlogQW50YXJjdC4gUmVzLiBFeHBlZC4sIFNlci4gQjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RmlzaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk5vcm1hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41MDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4yPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Mzc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6bm9ybTM4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGlzY292ZXJ5IFJlcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNvYXN0IEZpc2hlcy4gMy4gVGhlIGFudGFyY3RpYyB6b25lPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk5vcm1hbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTM4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjU5NjIvYmhsLnBhcnQuMTk0MTI8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om9kYXk2NSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJ1bGwuIE11cy4gQ29tcC4gWm9vbC4gSGFydi48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgc3R1ZHkgb2YgdGhlIGVmZmVjdHMgb2YgZXhwYXRyaWF0aW9uIG9uIHRoZSBnb25hZHMgb2YgdGhlIHR3byBteWN0b3BoaWQgZmlzaGVzIGluIHRoZSBOb3J0aCBBdGxhbnRpYyBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5PJ0RheTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT43NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMzY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6b3JyZTY2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SHlkcm9sb2d5IG9mIHRoZSBzb3V0aGVhc3QgSW5kaWFuIE9jZWFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPk9ycmVuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY2PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Om9zdGE2NSI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkFudGFyY3RpYyBvY2Vhbm9ncmFwaHksIEVjb2xvZ3kgYW5kIGJpb2dlb2dyYXBoeSBvZiB0aGUgYW50YXJjdGljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPk1vbm9nci4gQmlvbC48L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Pc3RhcG9mZjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45NzY8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6cGFwcDEyIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RHQuIFN1ZHBvbC4gRXhwZWQuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EaWUgRmlzY2hlIGRlciBEZXV0c2NoZW4gU3VkcG9sYXIgRXhwZWRpdGlvbiAxOTAxLTE5MDMuIDIuIERpZSBGaXNjaGUgZGVyIEFudGFyY3RpYyBhdWcgU3ViYW50YXJjdGljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBhcHBlbmhlaW08L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTYyPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTEyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnBhcHAxNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkR0LiBTdWRwb2wuIEV4cGVkLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGllIEZpc2hlbiBkZXIgU3VkcG9sYXIgRXhwZWRpdGlvbiAxOTAxLTE5MDMuIDIuIERpZSB0aWVmc2UgRmlzaGU8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UGFwcGVuaGVpbTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjA8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTU8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjI8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkxNDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpwYXJpNzAiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5JY2h0aHlvZmF1bmEgb2YgdGhlIGVwaXBlbGFnaWMgem9uZS4gVHJhbnNsYXRlZCBmcm9tIFJ1c3NpYW4sIGNhdGFsb2d1ZSA1NTM4PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBhcmluPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnBhcnIyOCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkJ1bGwuIEJpbmdoYW0gT2NlYW5vZ3IuIENvbGwuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EZWVwc2VhIGZpc2hlcyBvZiB0aGUgb3JkZXIgSW5pb21pIGZyb20gdGhlIHdhdGVycyBhcm91bmQgdGhlIEJhaGFtYSBhbmQgQmVybXVkYSBJc2xhbmRzLCB3aXRoIGFubm90YXRlZCBrZXlzIHRvIHRoZSBTdWQtaWRhZSwgTXljdG9waGlkYWUsIFNjb3BlbGFyY2hpZGFlLCBFdmVybWFuZWxsaWRhZSwgT21vc3VkaWRhZSwgQ2V0b21pbWlkYWUsIGFuZCBSb25kZWxldGlpZGFlIG9mIHRoZSB3b3JsZDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QYXJyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTI4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnBheHQ2N2EiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Db3BlaWE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkEgZGlzdHJpYnV0aW9uYWwgYW5hbHlzaXMgZm9yIHRoZSBsYW50ZXJuZmlzaGVzIChGYW1pbHkgTXljdG9waGlkYWUpIG9mIHRoZSBTYW4gUGVkcm8gQmFzaW4sIENhbGlmb3JuaWE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UGF4dG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQyMjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY3PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjIzMDcvMTQ0MjEzMTwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6cGF4dDY3YiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNhbGlmLiBGaXNoIEdhbWU8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkJpb2xvZ2ljYWwgbm90ZXMgb24gc291dGhlcm4gQ2FsaWZvcm5pYSBsYW50ZXJuZmlzaGVzIChGYW1pbHkgTXljdG9waGlkYWUpPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBheHRvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4yMTQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpwYXh0NzIiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBMb3MgQW5nZWxlcyBDb3VudHkgTmF0LiBIaXN0LiBNdXMuLCBTY2kuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5Pc3Rlb2xvZ3kgYW5kIHJlbGF0aW9uc2hpcHMgb2YgdGhlIGxhbnRlcm5mIGlzaGVzIChGYW1pbHkgTXljdG9waGlkYWUpPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBheHRvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjEzPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTcyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnB5dGM2OCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkouIE9jZWFub2dyLiBTb2MuIEphcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPldhdGVyIG1hc3NlcyBhbmQgdGhlaXIgcHJvcGVydGllcyBhdCAxNjDCsFcgaW4gdGhlIFNvdXRoZXJuIE9jZWFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlB5dGNvd2l0ejwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6cmFmaTEwIj4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5JbmRpY2UgZCdsdHRpb2xvZ2lhIFNpY2lsaWFuYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJhZmluZXNxdWU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4MTA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6cmVnYTEzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+VHJhbnMuIFIuIFNvYy4gRWRpbmIuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgQW50YXJjdGljIGZpc2hlcyBvZiB0aGUgU2NvdHRpc2ggTmF0aW9uYWwgQW50YXJjdGljIGV4cGVkaXRpb248L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UmVnYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjI5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjQ5PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTEzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMTcvUzAwODA0NTY4MDAwMDM5NTE8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnJlZ2ExNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPk5hdHVyYWwgSGlzdG9yeSwgQnIuIEFudGFyY3QuIFRlcnJhIE5vdmEgRXhwZWQuIDE5MTAsIFpvb2wuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5GaXNoZXM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UmVnYW48L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxpc3N1ZT4xPC9pc3N1ZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5MTQ8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6cmVpZDY1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Sm9obnMgSG9wa2lucyBPY2Vhbm9nci4gU3R1ZC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkludGVybWVkaWF0ZSB3YXRlcnMgb2YgdGhlIFBhY2lmaWMgT2NlYW48L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UmVpZDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjU8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6cmVpbjM3Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RGFuc2sgVmlkLiBTZWxzay4gQWZoLiBDb3BlbmhhZ2VuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5JY2h0aHlvbG9naXNrZSBiaWRyYWcgdGlsIGRlbiBncm9ubGFuZHNrYSBmYXVuYTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5SZWluaGFyZHQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTA3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjY8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE4Mzc8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6cmljaDQ0Ij4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5JY2h0aHlvbG9neSBvZiB0aGUgdm95YWdlIG9mIEguTS5TPC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+UmljaGFyZHNvbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTg0NDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpyaWNoNDgiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5FcmVidXMgYW5kIFRlcnJvcjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5FcmVidXMgYW5kIFRlcnJvcjwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJpY2hhcmRzb248L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xODQ4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnJvY2g2MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkF1c3QuIEouIE1hci4gRnJlc2h3YXRlciBSZXMuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgaW50ZXJtZWRpYXRlIHdhdGVycyBvZiB0aGUgVGFzbWFuIGFuZCBDb3JhbCBzZWFzLiAxLiBUaGUgMjYuODAgc2lnbWEgdCBzdXJmYWNlPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlJvY2hmb3JkPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEyNzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MjwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwNzEvTUY5NjAwMTI3PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpyb3BlNjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBVLlMuIE5hdG4uIE11cy48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN5c3RlbWF0aWNzIGFuZCB6b29nZW9ncmFwaHkgb2YgdGhlIHdvcmxkd2lkZSBiYXRoeXBlbGFnaWMgc3F1aWQgQmF0aHl0ZXV0aGlzIChDZXBoYWxvcG9kYSwgT2Vnb3BzaWRhKTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Sb3BlcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI5MTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC41NDc5L3NpLjAzNjI5MjM2LjI5MS4xPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpyb3RoNjciPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5PY2Vhbm9ncmFwaHkgb2YgdGhlIENvcmFsIGFuZCBUYXNtYW4gc2VhczwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5PY2Vhbm9ncmFwaHkgYW5kIE1hcmluZSBCaW9sb2d5LCBBbm51YWwgUmV2aWV3PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+Um90aHNjaGk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+NDk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpzYXZhNjAiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TeXN0LiBab29sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RXZvbHV0aW9uIG9mIGEgUGVuaW5zdWxhciBIZXJwZXRvZmF1bmE8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U2F2YWdlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE4NDwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT45PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjIzMDcvMjQxMTk2NzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6c2F2YTY1Ij4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3R1ZGllcyBvbiBBbnRhcmN0aWMgb2NlYW5vbG9neS4gQmlvbG9naWNhbCBzdGF0aW9ucyBvY2N1cGllZCBieSB0aGUgVVNOUyBFbHRhbi08L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U2F2YWdlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY1PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnNhdmE2NiI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0dWRpZXMgaW4gQW50YXJjdGljIG9jZWFub2xvZ3kuIEJpb2xvZ2ljYWwgc3RhdGlvbnMgb2NjdXBpZWQgYnkgdGhlIFVTTlMgRWx0YW4tPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNhdmFnZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpzYXZhNjciPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdHVkaWVzIGluIEFudGFyY3RpYyBvY2Vhbm9sb2d5LiBCaW9sb2dpY2FsIHN0YXRpb25zIG9jY3VwaWVkIGJ5IHRoZSBVU05TIEVsdGFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNhdmFnZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpzY2hlNjgiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EdC4gSHlkcm9nci4gWi48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPk9uIHRoZSByZWxhdGlvbiBiZXR3ZWVuIHRoZSB3aW5kcyBvZmYgU291dGh3ZXN0IEFmcmljYSBhbmQgdGhlIEJlbmd1ZWxhIEN1cnJlbnQgYW5kIEFndWxoYXMgQ3VycmVudCBwZW5ldHJhdGlvbnMgaW4gdGhlIFNvdXRoIEF0bGFudGljPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNjaGVsbDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMDk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MjE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5Njg8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMTAwNy9CRjAyMjM1NzI1PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpzY3JpNjkiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5QaHlzaWNhbCBhbmQgY2hlbWljYWwgZGF0YSBmcm9tIHRoZSBTY29ycGlvIGV4cGVkaXRpb24gaW4gdGhlIFNvdXRoIFBhY2lmaWMgT2NlYW4sIFVTTlMgRWx0YW5pbiBjcnVpc2VzIDI4IGFuZCAyOTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TY3JpcHBzIEluc3RpdHV0aW9uIG9mIE9jZWFub2dyYXBoeSwgV29vZHMgSG9sZSBPY2Vhbm9ncmFwaGljIEluc3RpdHV0aW9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnNoYWM3NSI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlBhbGVvdGVtcGVyYXR1cmUgaGlzdG9yeSBvZiB0aGUgQ2Vub3pvaWMgYW5kIHRoZSBpbml0aWF0aW9uIG9mIEFudGFyY3RpYyBnbGFjaWF0aW9uOiBPeHlnZW4gYW5hbHlzZXMgaW4gRFNEUCBzaXRlcyAyNzcsIDI3OSwgYW5kIDI4MTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZV90aXRsZT5Jbml0aWFsIHJlcG9ydHMgb2YgdGhlIERlZXAgU2VhIERyaWxsaW5nIFByb2plY3Q8L3ZvbHVtZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5TaGFja2xldG9uPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjc0MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3NTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpzaGFuNjYiPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5IeWRyb2xvZ3kgb2YgdGhlIHNvdXRoIGFuZCB3ZXN0IGNvYXN0cyBvZiBBZnJpY2E8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U2hhbm5vbjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpzaGloNjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5EYW5hIFJlcC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBzeXN0ZW1hdGljcyBhbmQgYmlvbG9neSBvZiB0aGUgZmFtaWx5IFBocm9uaW1pZGFlPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlNoaWg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT43NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2OTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTpzbWl0MzMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5UcmFucy4gUi4gU29jLiBTLiBBZnIuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5OZXcgTXljdG9waGlkIGZpc2ggZnJvbSBTb3V0aCBBZnJpY2E8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+U21pdGg8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTI1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjIxPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTMzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwODAvMDAzNTkxOTMzMDk1MTkzMTc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnN2ZXI0MiI+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIG9jZWFuczwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlN2ZXJkcnVwPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTQyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnRhZnQ2MyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkouIE1hci4gUmVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RGlzdHJpYnV0aW9uIG9mIHNhbGluaXR5IGFuZCBkaXNzb2x2ZWQgb3h5Z2VuIG9uIHN1cmZhY2VzIG9mIHVuaWZvcm0gcG90ZW50aWFsIHNwZWNpZmljLXZvbHVtZSBpbiB0aGUgU291dGggQXRsYW50aWMsIFNvdXRoIFBhY2lmaWMsIGFuZCBJbmRpYW4gb2NlYW5zPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlRhZnQ8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTI5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjJsPC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnRhbmkyOCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlZpZGVuc2suIE1lZGRyLiBEYW5zayBOYXR1cmguIEZvcmVuLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3lub3BzaXMgb2Ygc2NvcGVsaWRzIGluIHRoZSBOb3J0aCBBdGxhbnRpYzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Uw6RuaW5nPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjQ5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjg2PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTI4PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnR1bmkzMiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlZpZGVuc2suIE1lZGRyLiBEYW5zayBOYXR1cmguIEZvcmVuLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+Tm90ZXMgb24gc2NvcGVsaWRzIGZyb20gdGhlIERhbmEgZXhwZWRpdGlvbi4gMTwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5UdW5pbmc8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTI1PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjk0PC92b2x1bWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTMyPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OnRlYmI2MCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkRpc2NvdmVyeSBSZXAuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZGlzdHJpYnV0aW9uIG9mIHBlbGFnaWMgcG9seWNoYWV0ZXMgaW4gdGhlIFNvdXRoIEF0bGFudGljIE9jZWFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlRlYmJsZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjE8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MzA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjA8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6dHJ1bjY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+Vm9wci4gSWNodGlvbDwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+TmV3IG9ic2VydmF0aW9ucyBvbiB0aGUgZGlzdHJpYnV0aW9uIG9mIEVsZWN0cm9uYSByaXNzb2kgKENvY2NvKSBhbmQgRGlhcGh1cyBvc3RlbmZlbGRpIFR1bmluZyAoTXljdG9waGlkYWUpPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlRydW5vdjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT41OTU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp2aWdsNjYiPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lX3RpdGxlPk9jZWFuczogTGltaXRzLCBkZWZpbml0aW9ucywgYW5kIGRpbWVuc2lvbnMsIEVuY3ljbG9wYWVkaWEgb2YgT2NlYW5vZ3JhcGh5PC92b2x1bWVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+VmlnbGllcmk8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjY8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6dm9ybzY4Ij4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+U2Fyc2lhPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgZGlzdHJpYnV0aW9uIG9mIHpvb3BsYW5rdG9uIGluIHRoZSBTb3V0aGVybiBPY2VhbiBhbmQgaXRzIGRlcGVuZGVuY2Ugb24gdGhlIGNpcmN1bGF0aW9uIG9mIHdhdGVyPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlZvcm9uaW5hPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI3NzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4zNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2ODwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMDgwLzAwMzY0ODI3LjE5NjguMTA0MTMzOTE8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OndhaXQwNCI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlJlYy4gQXVzdC4gTXVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QWRkaXRpb24gdG8gdGhlIGZpc2ggZmF1bmEgb2YgTG9yZCBIb3dlIElzbGFuZCwgNDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XYWl0ZTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMzU8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+NTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTA0PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjM4NTMvai4wMDY3LTE5NzUuNS4xOTA0LjEwNTM8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OndhaXQxMSI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlJlYy4gQ2FudGVyYnVyeSBNdXMuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5GaXNoZXMuIDI8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2FpdGU8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MTU3PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjM8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3YWl0MTYiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BdXN0cmFsYXMuIEFudGFyY3QuIEV4cGVkLiwgU2VyLiBDLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+RmlzaGVzPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldhaXRlPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjU5PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjM8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkxNjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3YWxzNjkiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5MaW1tb2wuIE9jZWFub2dyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VmVydGljYWwgZGlzdHJpYnV0aW9uIG9mIGFudGFyY3RpYyBwaHl0by1wbGFua3Rvbi4gMi4gQSBjb21wYXJpc29uIG9mIHBoeXRvLXBsYW5rdG9uIHN0YW5kaW5nIGNyb3BzIGluIHRoZSBTb3V0aGVybiBPY2VhbiB3aXRoIHRoYXQgb2YgdGhlIEZsb3JpZGEgU3RyYWl0czwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XYWxzaDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT44NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xNDwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MTwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTY5PC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjQzMTkvbG8uMTk2OS4xNC4xLjAwODY8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OndhcnI3MCI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkdlbmVyYWwgY2lyY3VsYXRpb24gb2YgdGhlIFNvdXRoIFBhY2lmaWM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2FycmVuPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3YXRrNzEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5TY2llbmNlPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5BbnRhcmN0aWMgYm90dG9tIHdhdGVyOiBNYWpvciBjaGFuZ2UgaW4gdmVsb2NpdHkgZHVyaW5nIHRoZSBsYXRlIENlbm96b2ljIGJldHdlZW4gQXVzdHJhbGlhIGFuZCBBbnRhcmN0aWNhPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldhdGtpbnM8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+ODEzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE3Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4xMTI2L3NjaWVuY2UuMTczLjM5OTkuODEzPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3aGl0MzEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5SZWMuIEF1c3QuIE11cy48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN0dWRpZXMgaW4gSWNodGh5b2xvZ3kuIDQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2hpdGxleTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT45NjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTMxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjM4NTMvai4wMDY3LTE5NzUuMTguMTkzMS43MjA8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1OndoaXQzMiI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPlJlYy4gQXVzdC4gTXVzLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U3R1ZGllcyBpbiBJY2h0aHlvbG9neS4gNjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XaGl0bGV5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjMyMTwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkzMjwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4zODUzL2ouMDA2Ny0xOTc1LjE4LjE5MzIuNzM3PC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3aGl0NDEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BdXN0LiBab29sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBsYW50ZXJuZmlzaCBmcm9tIE1hY3F1YXJpZSBJc2xhbmQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2hpdGxleTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMjQ8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGlzc3VlPjE8L2lzc3VlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk0MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3aGl0NDMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5BdXN0LiBab29sLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+SWNodGh5b2xvZ2ljYWwgbm90ZXMgYW5kIGlsbHVzdHJhdGlvbnMuIDI8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2hpdGxleTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xNjc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+MTA8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NDM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6d2hpdDUzIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+UmVjLiBBdXN0LiBNdXMuPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5TdHVkaWVzIGluIEljaHRoeW9sb2d5LiAxNjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XaGl0bGV5PC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjEzMzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4yMzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTUzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjM4NTMvai4wMDY3LTE5NzUuMjMuMTk1My42Mjc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Ondpc242MyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkNvcGVpYTwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+QSBuZXcgZ2VudXMgYW5kIHNwZWNpZXMgb2YgbXljdG9waGlkIGZpc2ggZnJvbSB0aGUgc291dGgtY2VudHJhbCBQYWNpZmljIE9jZWFuLCB3aXRoIG5vdGVzIG9uIHJlbGF0ZWQgZ2VuZXJhIGFuZCB0aGUgZGVzaWduYXRpb24gb2YgYSBuZXcgdHJpYmUsIEVsZWN0cm9uaWM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V2lzbmVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjI0PC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPkk8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgICA8ZG9pIHByb3ZpZGVyPSJjcm9zc3JlZiI+MTAuMjMwNy8xNDQxMjcwPC9kb2k+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3aXNuNzEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5Db3BlaWE8L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkRlc2NyaXB0aW9ucyBvZiBlaWdodCBuZXcgc3BlY2llcyBvZiBteWN0b3BoaWQgZmlzaGVzIGZyb20gdGhlIGVhc3Rlcm4gUGFjaWZpYyBPY2VhbjwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5XaXNuZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+Mzk8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+STwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MTwvY1llYXI+DQogICAgICAgICAgICAgICAgICAgIDxkb2kgcHJvdmlkZXI9ImNyb3NzcmVmIj4xMC4yMzA3LzE0NDE1OTc8L2RvaT4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Ondvb3M3MCI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVhc3Rlcm4gYm91bmRhcnkgY3VycmVudHMgaW4gU291dGggUGFjaWZpYzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Xb29zdGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjYwPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk3MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3b29zNjEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5KLiBNYXIuIFJlcy48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlRoZSBQZXJ1LUNoaWxlIHVuZGVyY3VycmVudDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Xb29zdGVyPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjIxMjwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xOTwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+MzwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYxPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Ondvb3M2MyI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkVhc3Rlcm4gYm91bmRhcnkgY3VycmVudHM8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWVfdGl0bGU+VGhlIHNlYTwvdm9sdW1lX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPldvb3N0ZXI8L2F1dGhvcj4NCiAgICAgICAgICAgICAgICAgICAgPGZpcnN0X3BhZ2U+MjUzPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjI8L3ZvbHVtZT4NCiAgICAgICAgICAgICAgICAgICAgPGNZZWFyPjE5NjM8L2NZZWFyPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6d3VzdDM2Ij4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+U2NoaWNodHVuZyBhbmQgWmlrdWxhdGlvbiBkZXMgQXRsYW50aXNjaGVuIE96ZWFucy4gRHQuIEF0bGFudC4gRXhwZWQuIE1ldGVvciAxOTI14oCTMTkyNzwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5Xw7xzdDwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkzNjwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3eXJ0NjBhIj4NCiAgICAgICAgICAgICAgICAgICAgPGpvdXJuYWxfdGl0bGU+RHQuIEh5ZHJvZ3IuIFouPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5UaGUgYW50YXJjdGljIGNpcmN1bXBvbGFyIGN1cnJlbnQgYW5kIHRoZSBhbnRhcmN0aWMgcG9sYXIgZnJvbnQ8L2FydGljbGVfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhdXRob3I+V3lydGtpPC9hdXRob3I+DQogICAgICAgICAgICAgICAgICAgIDxmaXJzdF9wYWdlPjE1MzwvZmlyc3RfcGFnZT4NCiAgICAgICAgICAgICAgICAgICAgPHZvbHVtZT4xMzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYwPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgICAgPGRvaSBwcm92aWRlcj0iY3Jvc3NyZWYiPjEwLjEwMDcvQkYwMjIyNjE5NzwvZG9pPg0KICAgICAgICAgICAgICAgICAgPC9jaXRhdGlvbj4NCiAgICAgICAgICAgICAgICAgIDxjaXRhdGlvbiBrZXk9IjEwLjEwMjkvQVIwMzU6d3lydDYwYiI+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPlN1cmZhY2UgY2lyY3VsYXRpb24gaW4gdGhlIENvcmFsIGFuZCBUYXNtYW4gc2VhPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPld5cnRraTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2MDwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp3eXJ0NjMiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBTY3JpcHBzIEluc3QuIE9jZWFub2dyLjwvam91cm5hbF90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGVfdGl0bGU+VGhlIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIGZpZWxkIG9mIG1vdGlvbiBpbiB0aGUgUGVydSBDdXJyZW50PC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPld5cnRraTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4zMTM8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+ODwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8aXNzdWU+NDwvaXNzdWU+DQogICAgICAgICAgICAgICAgICAgIDxjWWVhcj4xOTYzPC9jWWVhcj4NCiAgICAgICAgICAgICAgICAgIDwvY2l0YXRpb24+DQogICAgICAgICAgICAgICAgICA8Y2l0YXRpb24ga2V5PSIxMC4xMDI5L0FSMDM1Ond5cnQ2NyI+DQogICAgICAgICAgICAgICAgICAgIDxqb3VybmFsX3RpdGxlPkludC4gSi4gT2NlYW5vZ3IuIExpbW5vbC48L2pvdXJuYWxfdGl0bGU+DQogICAgICAgICAgICAgICAgICAgIDxhcnRpY2xlX3RpdGxlPkNpcmN1bGF0aW9uIGFuZCB3YXRlciBtYXNzZXMgaW4gdGhlIGVhc3Rlcm4gZXF1YXRvcmlhbCBQYWNpZmljIE9jZWFuPC9hcnRpY2xlX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPld5cnRraTwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xMTc8L2ZpcnN0X3BhZ2U+DQogICAgICAgICAgICAgICAgICAgIDx2b2x1bWU+Mjwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTk2NzwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgICAgPGNpdGF0aW9uIGtleT0iMTAuMTAyOS9BUjAzNTp6dWdtMTEiPg0KICAgICAgICAgICAgICAgICAgICA8am91cm5hbF90aXRsZT5CdWxsLiBJbnN0LiBPY2Vhbm9nci4gTW9uYWNvPC9qb3VybmFsX3RpdGxlPg0KICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZV90aXRsZT5EaWFnbm9zZXMgZGVzIHBvaXNzb25zIG5vdXZlYXV4IHByb3ZlbmFudCBkZXMgY2FtcGdhbmVzIGR1IHlhY2h0IFByaW5jZXNzIEFsaWNlIDE5MDEtMTkxMDwvYXJ0aWNsZV90aXRsZT4NCiAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5adWdtYXllcjwvYXV0aG9yPg0KICAgICAgICAgICAgICAgICAgICA8Zmlyc3RfcGFnZT4xPC9maXJzdF9wYWdlPg0KICAgICAgICAgICAgICAgICAgICA8dm9sdW1lPjE5Mzwvdm9sdW1lPg0KICAgICAgICAgICAgICAgICAgICA8Y1llYXI+MTkxMTwvY1llYXI+DQogICAgICAgICAgICAgICAgICA8L2NpdGF0aW9uPg0KICAgICAgICAgICAgICAgIDwvY2l0YXRpb25fbGlzdD4NCiAgICAgICAgICAgICAgPC9ib29rX3Nlcmllc19tZXRhZGF0YT4NCiAgICAgICAgICAgIDwvYm9vaz4NCiAgICAgICAgICA8L2Nyb3NzcmVmPg0KICAgICAgICA8L2RvaV9yZWNvcmQ+DQogICAgICA8L3F1ZXJ5Pg0KICAgIDwvYm9keT4NCiAgPC9xdWVyeV9yZXN1bHQ+DQo8L2Nyb3NzcmVmX3Jlc3VsdD4=
85
- http_version:
86
- recorded_at: Sun, 07 Jul 2019 11:11:08 GMT
87
- recorded_with: VCR 3.0.3