@peculiar/certificates-viewer 4.5.0 → 4.6.1

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 (549) hide show
  1. package/components/actions.js.map +1 -1
  2. package/components/arrow_top.js.map +1 -1
  3. package/components/attribute-certificate-viewer.js +4 -6
  4. package/components/attribute-certificate-viewer.js.map +1 -1
  5. package/components/attribute.js.map +1 -1
  6. package/components/button-menu.js +2 -4
  7. package/components/button-menu.js.map +1 -1
  8. package/components/button.js +5 -3
  9. package/components/button.js.map +1 -1
  10. package/components/certificate-chain-viewer.js +2 -3
  11. package/components/certificate-chain-viewer.js.map +1 -1
  12. package/components/certificate-viewer.js +5 -10
  13. package/components/certificate-viewer.js.map +1 -1
  14. package/components/circular-progress.js +3 -7
  15. package/components/circular-progress.js.map +1 -1
  16. package/components/crl-viewer.js +2 -4
  17. package/components/crl-viewer.js.map +1 -1
  18. package/components/cross.js.map +1 -1
  19. package/components/csr-viewer.js +2 -6
  20. package/components/csr-viewer.js.map +1 -1
  21. package/components/download.js +3317 -3097
  22. package/components/download.js.map +1 -1
  23. package/components/highlight-words.js +2 -2
  24. package/components/highlight-words.js.map +1 -1
  25. package/components/index.js +1 -1
  26. package/components/index2.js +2 -1
  27. package/components/index2.js.map +1 -1
  28. package/components/issuer_name.js +3 -1
  29. package/components/issuer_name.js.map +1 -1
  30. package/components/miscellaneous.js +15 -16
  31. package/components/miscellaneous.js.map +1 -1
  32. package/components/peculiar-certificate-decoder.js +9 -10
  33. package/components/peculiar-certificate-decoder.js.map +1 -1
  34. package/components/peculiar-certificates-viewer.js +45 -44
  35. package/components/peculiar-certificates-viewer.js.map +1 -1
  36. package/components/peculiar-text-hider.js +2 -2
  37. package/components/peculiar-text-hider.js.map +1 -1
  38. package/components/pkcs10_certificate_request.js.map +1 -1
  39. package/components/read_file.js.map +1 -1
  40. package/components/subject_name.js.map +1 -1
  41. package/dist/cjs/{actions-Dl4HXXlI.js → actions-ByC9jQU-.js} +3 -3
  42. package/dist/cjs/actions-ByC9jQU-.js.map +1 -0
  43. package/dist/cjs/{arrow_top-DBMPHVlB.js → arrow_top-Cw9KN115.js} +3 -3
  44. package/dist/cjs/arrow_top-Cw9KN115.js.map +1 -0
  45. package/dist/cjs/{button-C5jDF-CZ.js → button-C8EWG_-r.js} +8 -6
  46. package/dist/cjs/button-C8EWG_-r.js.map +1 -0
  47. package/dist/cjs/{certification_request-DS5FED4F.js → certification_request-CxHe71zR.js} +3318 -3098
  48. package/dist/cjs/certification_request-CxHe71zR.js.map +1 -0
  49. package/dist/cjs/{cross-pi7K0cHC.js → cross-3DqhA0G_.js} +3 -3
  50. package/dist/cjs/cross-3DqhA0G_.js.map +1 -0
  51. package/dist/cjs/{download-D9skkVoT.js → download-DQP0KR4o.js} +3 -3
  52. package/dist/cjs/download-DQP0KR4o.js.map +1 -0
  53. package/dist/cjs/{index-BO3rFndV.js → index-uHmGhObe.js} +430 -157
  54. package/dist/cjs/index-uHmGhObe.js.map +1 -0
  55. package/dist/cjs/index.cjs.js +9 -9
  56. package/dist/cjs/{link-CwLq-Nge.js → link-Cgh8wnbs.js} +5 -5
  57. package/dist/cjs/link-Cgh8wnbs.js.map +1 -0
  58. package/dist/cjs/loader.cjs.js +3 -4
  59. package/dist/cjs/loader.cjs.js.map +1 -1
  60. package/dist/cjs/{miscellaneous-UxtK1SWb.js → miscellaneous-DeBEwLDy.js} +25 -24
  61. package/dist/cjs/miscellaneous-DeBEwLDy.js.map +1 -0
  62. package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js.map +1 -1
  63. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js +14 -22
  64. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -1
  65. package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -1
  66. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +7 -13
  67. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +1 -1
  68. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +13 -14
  69. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  70. package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -1
  71. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +8 -10
  72. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
  73. package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -1
  74. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +51 -50
  75. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  76. package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -1
  77. package/dist/cjs/peculiar-text-hider.cjs.entry.js +4 -4
  78. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +1 -1
  79. package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -1
  80. package/dist/cjs/peculiar.cjs.js +4 -5
  81. package/dist/cjs/peculiar.cjs.js.map +1 -1
  82. package/dist/cjs/{pkcs10_certificate_request-DaWYvR0i.js → pkcs10_certificate_request-CHMDxe2Z.js} +3 -3
  83. package/dist/cjs/pkcs10_certificate_request-CHMDxe2Z.js.map +1 -0
  84. package/dist/cjs/read_file-DWtcn3zU.js.map +1 -1
  85. package/dist/cjs/{x509_certificate-DBpSGIUT.js → x509_certificate-CzplJQ0X.js} +6 -9
  86. package/dist/cjs/x509_certificate-CzplJQ0X.js.map +1 -0
  87. package/dist/cjs/{x509_crl-BBnJqOIF.js → x509_crl-B7kFbLDV.js} +6 -6
  88. package/dist/cjs/x509_crl-B7kFbLDV.js.map +1 -0
  89. package/dist/collection/collection-manifest.json +1 -1
  90. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +11 -13
  91. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
  92. package/dist/collection/components/button/button.js +3 -3
  93. package/dist/collection/components/button/button.js.map +1 -1
  94. package/dist/collection/components/button/index.js.map +1 -1
  95. package/dist/collection/components/button-menu/button-menu.js +6 -7
  96. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  97. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +3 -0
  98. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +3 -3
  99. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -1
  100. package/dist/collection/components/certificate-decoder/certificate-decoder.js +6 -2
  101. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  102. package/dist/collection/components/certificate-details-parts/attributes/activity_description_attribute.js.map +1 -1
  103. package/dist/collection/components/certificate-details-parts/attributes/as_string_attribute.js.map +1 -1
  104. package/dist/collection/components/certificate-details-parts/attributes/basic_attribute.js.map +1 -1
  105. package/dist/collection/components/certificate-details-parts/attributes/challenge_password_attribute.js.map +1 -1
  106. package/dist/collection/components/certificate-details-parts/attributes/index.js +1 -1
  107. package/dist/collection/components/certificate-details-parts/attributes/index.js.map +1 -1
  108. package/dist/collection/components/certificate-details-parts/attributes/insurance_value_attribute.js.map +1 -1
  109. package/dist/collection/components/certificate-details-parts/attributes/name_attribute.js.map +1 -1
  110. package/dist/collection/components/certificate-details-parts/attributes/name_part.js +1 -0
  111. package/dist/collection/components/certificate-details-parts/attributes/name_part.js.map +1 -1
  112. package/dist/collection/components/certificate-details-parts/attributes/type_relationship_attribute.js.map +1 -1
  113. package/dist/collection/components/certificate-details-parts/attributes/unstructured_name_attribute.js.map +1 -1
  114. package/dist/collection/components/certificate-details-parts/attributes/valuation_ranking_attribute.js.map +1 -1
  115. package/dist/collection/components/certificate-details-parts/attributes/web_gdpr_attribute.js.map +1 -1
  116. package/dist/collection/components/certificate-details-parts/basic_information.js.map +1 -1
  117. package/dist/collection/components/certificate-details-parts/extensions/archive_rev_info_extension.js.map +1 -1
  118. package/dist/collection/components/certificate-details-parts/extensions/as_string_extension.js.map +1 -1
  119. package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js +1 -1
  120. package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js.map +1 -1
  121. package/dist/collection/components/certificate-details-parts/extensions/basic_constraints_extension.js.map +1 -1
  122. package/dist/collection/components/certificate-details-parts/extensions/basic_extension.js.map +1 -1
  123. package/dist/collection/components/certificate-details-parts/extensions/biometric_syntax_extension.js.map +1 -1
  124. package/dist/collection/components/certificate-details-parts/extensions/ca_version_extension.js.map +1 -1
  125. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js +1 -1
  126. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js.map +1 -1
  127. package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js +1 -1
  128. package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js.map +1 -1
  129. package/dist/collection/components/certificate-details-parts/extensions/certificate_template_extension.js.map +1 -1
  130. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js.map +1 -1
  131. package/dist/collection/components/certificate-details-parts/extensions/crl_distribution_points_extension.js.map +1 -1
  132. package/dist/collection/components/certificate-details-parts/extensions/crl_number_extension.js.map +1 -1
  133. package/dist/collection/components/certificate-details-parts/extensions/crl_reason_extension.js.map +1 -1
  134. package/dist/collection/components/certificate-details-parts/extensions/enroll_cert_type_extension.js.map +1 -1
  135. package/dist/collection/components/certificate-details-parts/extensions/entrust_version_info_extension.js.map +1 -1
  136. package/dist/collection/components/certificate-details-parts/extensions/extended_key_usage_extension.js.map +1 -1
  137. package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js +3 -3
  138. package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js.map +1 -1
  139. package/dist/collection/components/certificate-details-parts/extensions/index.js +2 -2
  140. package/dist/collection/components/certificate-details-parts/extensions/index.js.map +1 -1
  141. package/dist/collection/components/certificate-details-parts/extensions/info_access_syntax_extension.js.map +1 -1
  142. package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js +0 -1
  143. package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js.map +1 -1
  144. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js +2 -2
  145. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js.map +1 -1
  146. package/dist/collection/components/certificate-details-parts/extensions/key_usage_extension.js.map +1 -1
  147. package/dist/collection/components/certificate-details-parts/extensions/lei_extension.js.map +1 -1
  148. package/dist/collection/components/certificate-details-parts/extensions/lei_role_extennsion.js.map +1 -1
  149. package/dist/collection/components/certificate-details-parts/extensions/logotype_extension.js.map +1 -1
  150. package/dist/collection/components/certificate-details-parts/extensions/name_constraints_extension.js.map +1 -1
  151. package/dist/collection/components/certificate-details-parts/extensions/netscape_cert_type_extension.js.map +1 -1
  152. package/dist/collection/components/certificate-details-parts/extensions/netscape_comment_extension.js.map +1 -1
  153. package/dist/collection/components/certificate-details-parts/extensions/policy_constraints_extension.js.map +1 -1
  154. package/dist/collection/components/certificate-details-parts/extensions/policy_mappings_extension.js.map +1 -1
  155. package/dist/collection/components/certificate-details-parts/extensions/private_key_usage_period_extension.js.map +1 -1
  156. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js.map +1 -1
  157. package/dist/collection/components/certificate-details-parts/extensions/subject_alternative_name_extension.js.map +1 -1
  158. package/dist/collection/components/certificate-details-parts/extensions/subject_directory_attributes_extension.js.map +1 -1
  159. package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js +1 -1
  160. package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js.map +1 -1
  161. package/dist/collection/components/certificate-details-parts/extensions/timestamp_extension.js.map +1 -1
  162. package/dist/collection/components/certificate-details-parts/extensions/tn_auth_list_extension.js.map +1 -1
  163. package/dist/collection/components/certificate-details-parts/holder.js +1 -1
  164. package/dist/collection/components/certificate-details-parts/holder.js.map +1 -1
  165. package/dist/collection/components/certificate-details-parts/issuer.js.map +1 -1
  166. package/dist/collection/components/certificate-details-parts/issuer_name.js +3 -1
  167. package/dist/collection/components/certificate-details-parts/issuer_name.js.map +1 -1
  168. package/dist/collection/components/certificate-details-parts/miscellaneous.js +2 -2
  169. package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
  170. package/dist/collection/components/certificate-details-parts/public_key.js +1 -1
  171. package/dist/collection/components/certificate-details-parts/public_key.js.map +1 -1
  172. package/dist/collection/components/certificate-details-parts/revoked_certificates.js +3 -3
  173. package/dist/collection/components/certificate-details-parts/revoked_certificates.js.map +1 -1
  174. package/dist/collection/components/certificate-details-parts/row.js +3 -3
  175. package/dist/collection/components/certificate-details-parts/row.js.map +1 -1
  176. package/dist/collection/components/certificate-details-parts/signature.js +1 -1
  177. package/dist/collection/components/certificate-details-parts/signature.js.map +1 -1
  178. package/dist/collection/components/certificate-details-parts/subject_name.js.map +1 -1
  179. package/dist/collection/components/certificate-details-parts/thumbprints.js.map +1 -1
  180. package/dist/collection/components/certificate-summary/certificate-summary.js.map +1 -1
  181. package/dist/collection/components/certificate-viewer/certificate-viewer.css +3 -0
  182. package/dist/collection/components/certificate-viewer/certificate-viewer.js +13 -15
  183. package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
  184. package/dist/collection/components/certificates-viewer/certificates-viewer.js +48 -46
  185. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  186. package/dist/collection/components/circular-progress/circular-progress.js +4 -8
  187. package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
  188. package/dist/collection/components/crl-viewer/crl-viewer.js +10 -12
  189. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  190. package/dist/collection/components/csr-viewer/csr-viewer.js +9 -13
  191. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  192. package/dist/collection/components/highlight-words/highlight-words.js +2 -2
  193. package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
  194. package/dist/collection/components/icons/actions.js.map +1 -1
  195. package/dist/collection/components/icons/arrow_bottom.js.map +1 -1
  196. package/dist/collection/components/icons/arrow_top.js.map +1 -1
  197. package/dist/collection/components/icons/cross.js.map +1 -1
  198. package/dist/collection/components/icons/details.js.map +1 -1
  199. package/dist/collection/components/icons/download.js.map +1 -1
  200. package/dist/collection/components/icons/link.js.map +1 -1
  201. package/dist/collection/components/link/link.js +1 -1
  202. package/dist/collection/components/link/link.js.map +1 -1
  203. package/dist/collection/components/text-hider/text-hider.js +1 -1
  204. package/dist/collection/components/text-hider/text-hider.js.map +1 -1
  205. package/dist/collection/components/typography/typography.js +1 -1
  206. package/dist/collection/components/typography/typography.js.map +1 -1
  207. package/dist/collection/constants/oids.js +5 -0
  208. package/dist/collection/constants/oids.js.map +1 -1
  209. package/dist/collection/crypto/asn_data.js +1 -1
  210. package/dist/collection/crypto/asn_data.js.map +1 -1
  211. package/dist/collection/crypto/attribute.js.map +1 -1
  212. package/dist/collection/crypto/extension.js.map +1 -1
  213. package/dist/collection/crypto/name.js.map +1 -1
  214. package/dist/collection/crypto/pem_converter.js +13 -8
  215. package/dist/collection/crypto/pem_converter.js.map +1 -1
  216. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
  217. package/dist/collection/crypto/provider.js +7 -3
  218. package/dist/collection/crypto/provider.js.map +1 -1
  219. package/dist/collection/crypto/utils.js.map +1 -1
  220. package/dist/collection/crypto/x509_attribute_certificate.js +2 -2
  221. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  222. package/dist/collection/crypto/x509_certificate.js +3 -6
  223. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  224. package/dist/collection/crypto/x509_certificates.js +3 -7
  225. package/dist/collection/crypto/x509_certificates.js.map +1 -1
  226. package/dist/collection/crypto/x509_crl.js.map +1 -1
  227. package/dist/collection/utils/download.js +1 -0
  228. package/dist/collection/utils/download.js.map +1 -1
  229. package/dist/collection/utils/download_from_buffer.js +3 -3
  230. package/dist/collection/utils/download_from_buffer.js.map +1 -1
  231. package/dist/collection/utils/l10n.js +1 -3
  232. package/dist/collection/utils/l10n.js.map +1 -1
  233. package/dist/collection/utils/read_file.js.map +1 -1
  234. package/dist/esm/{actions-DzoPRObK.js → actions-BOY2Tl0T.js} +3 -3
  235. package/dist/esm/actions-BOY2Tl0T.js.map +1 -0
  236. package/dist/esm/{arrow_top-CF9pv-tQ.js → arrow_top-DL0RWe4n.js} +3 -3
  237. package/dist/esm/arrow_top-DL0RWe4n.js.map +1 -0
  238. package/dist/esm/{button-Djn8UI82.js → button-Bbh7MwG6.js} +8 -6
  239. package/dist/esm/button-Bbh7MwG6.js.map +1 -0
  240. package/dist/esm/{certification_request-Wtz6WM17.js → certification_request-PeMaLTUD.js} +3318 -3098
  241. package/dist/esm/certification_request-PeMaLTUD.js.map +1 -0
  242. package/dist/esm/{cross-DdCuR1F2.js → cross-G84H_-QL.js} +3 -3
  243. package/dist/esm/cross-G84H_-QL.js.map +1 -0
  244. package/dist/esm/{download-Cqfc-Sxf.js → download-ykcxSgxU.js} +3 -3
  245. package/dist/esm/download-ykcxSgxU.js.map +1 -0
  246. package/dist/esm/{index-DDDrq3In.js → index-CwgZaF40.js} +430 -158
  247. package/dist/esm/index-CwgZaF40.js.map +1 -0
  248. package/dist/esm/index.js +9 -9
  249. package/dist/esm/{link-BfDk078v.js → link-CGURvKy1.js} +5 -5
  250. package/dist/esm/link-CGURvKy1.js.map +1 -0
  251. package/dist/esm/loader.js +3 -4
  252. package/dist/esm/loader.js.map +1 -1
  253. package/dist/esm/{miscellaneous-CsGuJ6zr.js → miscellaneous-bVeJt-6m.js} +25 -24
  254. package/dist/esm/miscellaneous-bVeJt-6m.js.map +1 -0
  255. package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -1
  256. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js +14 -22
  257. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
  258. package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  259. package/dist/esm/peculiar-button-menu_3.entry.js +7 -13
  260. package/dist/esm/peculiar-button-menu_3.entry.js.map +1 -1
  261. package/dist/esm/peculiar-certificate-decoder.entry.js +13 -14
  262. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  263. package/dist/esm/peculiar-certificate-viewer.entry.js +8 -10
  264. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  265. package/dist/esm/peculiar-certificates-viewer.entry.js +51 -50
  266. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  267. package/dist/esm/peculiar-text-hider.entry.js +4 -4
  268. package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
  269. package/dist/esm/peculiar.js +4 -5
  270. package/dist/esm/peculiar.js.map +1 -1
  271. package/dist/esm/{pkcs10_certificate_request-Cn7_Z7a1.js → pkcs10_certificate_request-CK8FH47X.js} +3 -3
  272. package/dist/esm/pkcs10_certificate_request-CK8FH47X.js.map +1 -0
  273. package/dist/esm/read_file-F2F0McJX.js.map +1 -1
  274. package/dist/esm/{x509_certificate-ObET7_Te.js → x509_certificate-CEEWtU_T.js} +6 -9
  275. package/dist/esm/x509_certificate-CEEWtU_T.js.map +1 -0
  276. package/dist/esm/{x509_crl-CeW7yzP9.js → x509_crl-BcZd9KVn.js} +6 -6
  277. package/dist/esm/x509_crl-BcZd9KVn.js.map +1 -0
  278. package/dist/esm-es5/{actions-DzoPRObK.js → actions-BOY2Tl0T.js} +2 -2
  279. package/dist/esm-es5/actions-BOY2Tl0T.js.map +1 -0
  280. package/dist/esm-es5/{arrow_top-CF9pv-tQ.js → arrow_top-DL0RWe4n.js} +2 -2
  281. package/dist/esm-es5/arrow_top-DL0RWe4n.js.map +1 -0
  282. package/dist/esm-es5/button-Bbh7MwG6.js +19 -0
  283. package/dist/esm-es5/button-Bbh7MwG6.js.map +1 -0
  284. package/dist/esm-es5/{certification_request-Wtz6WM17.js → certification_request-PeMaLTUD.js} +5 -5
  285. package/dist/esm-es5/certification_request-PeMaLTUD.js.map +1 -0
  286. package/dist/esm-es5/{cross-DdCuR1F2.js → cross-G84H_-QL.js} +2 -2
  287. package/dist/esm-es5/cross-G84H_-QL.js.map +1 -0
  288. package/dist/esm-es5/{download-Cqfc-Sxf.js → download-ykcxSgxU.js} +2 -2
  289. package/dist/esm-es5/download-ykcxSgxU.js.map +1 -0
  290. package/dist/esm-es5/index-CwgZaF40.js +6 -0
  291. package/dist/esm-es5/index-CwgZaF40.js.map +1 -0
  292. package/dist/esm-es5/index.js +1 -1
  293. package/dist/esm-es5/link-CGURvKy1.js +12 -0
  294. package/dist/esm-es5/link-CGURvKy1.js.map +1 -0
  295. package/dist/esm-es5/loader.js +2 -2
  296. package/dist/esm-es5/loader.js.map +1 -1
  297. package/dist/esm-es5/{miscellaneous-CsGuJ6zr.js → miscellaneous-bVeJt-6m.js} +3 -3
  298. package/dist/esm-es5/miscellaneous-bVeJt-6m.js.map +1 -0
  299. package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -1
  300. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +2 -2
  301. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
  302. package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
  303. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  304. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  305. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +1 -1
  306. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  307. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +1 -1
  308. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  309. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  310. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  311. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  312. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  313. package/dist/esm-es5/peculiar.js +2 -2
  314. package/dist/esm-es5/peculiar.js.map +1 -1
  315. package/dist/esm-es5/{pkcs10_certificate_request-Cn7_Z7a1.js → pkcs10_certificate_request-CK8FH47X.js} +2 -2
  316. package/dist/esm-es5/pkcs10_certificate_request-CK8FH47X.js.map +1 -0
  317. package/dist/esm-es5/read_file-F2F0McJX.js.map +1 -1
  318. package/dist/esm-es5/{x509_certificate-ObET7_Te.js → x509_certificate-CEEWtU_T.js} +3 -3
  319. package/dist/esm-es5/x509_certificate-CEEWtU_T.js.map +1 -0
  320. package/dist/esm-es5/{x509_crl-CeW7yzP9.js → x509_crl-BcZd9KVn.js} +2 -2
  321. package/dist/esm-es5/x509_crl-BcZd9KVn.js.map +1 -0
  322. package/dist/peculiar/index.esm.js +1 -1
  323. package/dist/peculiar/loader.esm.js.map +1 -1
  324. package/dist/peculiar/p-00d6f11f.system.entry.js +111 -0
  325. package/dist/peculiar/p-00d6f11f.system.entry.js.map +1 -0
  326. package/dist/peculiar/{p-7a3bf94e.entry.js → p-0de4837d.entry.js} +2 -2
  327. package/dist/peculiar/p-0de4837d.entry.js.map +1 -0
  328. package/dist/peculiar/{p-5b829829.system.entry.js → p-14fcbc5c.system.entry.js} +2 -2
  329. package/dist/peculiar/p-14fcbc5c.system.entry.js.map +1 -0
  330. package/dist/peculiar/{p-12d2e080.entry.js → p-27ae6a3a.entry.js} +2 -2
  331. package/dist/peculiar/p-27ae6a3a.entry.js.map +1 -0
  332. package/dist/peculiar/{p-0e8ab957.entry.js → p-315805ce.entry.js} +2 -2
  333. package/dist/peculiar/p-315805ce.entry.js.map +1 -0
  334. package/dist/peculiar/{p-69b461b4.entry.js → p-5479a530.entry.js} +3 -3
  335. package/dist/peculiar/p-5479a530.entry.js.map +1 -0
  336. package/dist/peculiar/{p-5608ba3e.system.entry.js → p-591a9019.system.entry.js} +2 -2
  337. package/dist/peculiar/p-591a9019.system.entry.js.map +1 -0
  338. package/dist/peculiar/p-607d08e8.system.entry.js +5 -0
  339. package/dist/peculiar/{p-cae95996.system.entry.js.map → p-607d08e8.system.entry.js.map} +1 -1
  340. package/dist/peculiar/{p-63aa01ad.system.entry.js → p-84f69023.system.entry.js} +3 -3
  341. package/dist/peculiar/p-84f69023.system.entry.js.map +1 -0
  342. package/dist/peculiar/p-9d9f24bd.entry.js +5 -0
  343. package/dist/peculiar/{p-f4490197.entry.js.map → p-9d9f24bd.entry.js.map} +1 -1
  344. package/dist/peculiar/{p-BRhx1gbw.system.js → p-B4PdAFCr.system.js} +4 -4
  345. package/dist/peculiar/p-B4PdAFCr.system.js.map +1 -0
  346. package/dist/peculiar/p-BGASC3UX.system.js +5 -0
  347. package/dist/peculiar/p-BGASC3UX.system.js.map +1 -0
  348. package/dist/peculiar/p-BaebEpW0.system.js.map +1 -0
  349. package/dist/peculiar/{p-B2YrZuK2.system.js → p-Bi5mjeeg.system.js} +2 -2
  350. package/dist/peculiar/p-Bi5mjeeg.system.js.map +1 -0
  351. package/dist/peculiar/p-BipKYW6e.system.js +142 -0
  352. package/dist/peculiar/p-BipKYW6e.system.js.map +1 -0
  353. package/dist/peculiar/{p-B859JpGw.system.js → p-Bknpl7EO.system.js} +3 -3
  354. package/dist/peculiar/p-Bknpl7EO.system.js.map +1 -0
  355. package/dist/peculiar/p-BloT0Xj9.system.js.map +1 -0
  356. package/dist/peculiar/p-BypepohK.system.js.map +1 -0
  357. package/dist/peculiar/{p-L1KL0R34.system.js → p-C9sY8yng.system.js} +3 -3
  358. package/dist/peculiar/p-C9sY8yng.system.js.map +1 -0
  359. package/dist/peculiar/{p-CttQwkXH.js → p-CGRNSrHk.js} +42 -42
  360. package/dist/peculiar/p-CGRNSrHk.js.map +1 -0
  361. package/dist/peculiar/{p-DhdG07f8.js → p-CHnDlTqM.js} +2 -2
  362. package/dist/peculiar/p-CHnDlTqM.js.map +1 -0
  363. package/dist/peculiar/{p-CcANm2qm.system.js → p-CZwhKPgb.system.js} +2 -2
  364. package/dist/peculiar/p-CZwhKPgb.system.js.map +1 -0
  365. package/dist/peculiar/p-CbJQZ9Hh.system.js.map +1 -0
  366. package/dist/peculiar/{p-BBgwMHRZ.system.js → p-CdS84qJs.system.js} +5 -5
  367. package/dist/peculiar/p-CdS84qJs.system.js.map +1 -0
  368. package/dist/peculiar/{p-uFLk5hDd.system.js → p-CezfC5i1.system.js} +42 -42
  369. package/dist/peculiar/p-CezfC5i1.system.js.map +1 -0
  370. package/dist/peculiar/{p-t-yLLnfF.js → p-CjWRKsN-.js} +3 -3
  371. package/dist/peculiar/p-CjWRKsN-.js.map +1 -0
  372. package/dist/peculiar/{p-BCATfe_H.js → p-CutTi-2B.js} +4 -4
  373. package/dist/peculiar/p-CutTi-2B.js.map +1 -0
  374. package/dist/peculiar/p-CwgZaF40.js +6 -0
  375. package/dist/peculiar/p-CwgZaF40.js.map +1 -0
  376. package/dist/peculiar/{p-lNFxlG5A.js → p-D1eNnGDF.js} +4 -4
  377. package/dist/peculiar/p-D1eNnGDF.js.map +1 -0
  378. package/dist/peculiar/p-D2QB-8Q6.system.js.map +1 -1
  379. package/dist/peculiar/{p-BP2bmYR2.system.js → p-D8xU284r.system.js} +3 -3
  380. package/dist/peculiar/p-D8xU284r.system.js.map +1 -0
  381. package/dist/peculiar/p-DKl0YViA.system.js +6 -0
  382. package/dist/peculiar/p-DKl0YViA.system.js.map +1 -0
  383. package/dist/peculiar/{p-BisXzAqN.js → p-DMZr5ztF.js} +2 -2
  384. package/dist/peculiar/p-DMZr5ztF.js.map +1 -0
  385. package/dist/peculiar/{p-CKoxwzVA.system.js → p-DRvp86xt.system.js} +2 -2
  386. package/dist/peculiar/p-DRvp86xt.system.js.map +1 -0
  387. package/dist/peculiar/{p-DkAhB3Vy.js → p-DanjeXNk.js} +2 -2
  388. package/dist/peculiar/p-DanjeXNk.js.map +1 -0
  389. package/dist/peculiar/{p-B3myni_G.js → p-DrmgUhyv.js} +2 -2
  390. package/dist/peculiar/p-DrmgUhyv.js.map +1 -0
  391. package/dist/peculiar/p-F2F0McJX.js.map +1 -1
  392. package/dist/peculiar/p-ITVWR0oT.system.js.map +1 -0
  393. package/dist/peculiar/{p-DPre0WhP.system.js → p-J1t5v5N3.system.js} +4 -4
  394. package/dist/peculiar/p-J1t5v5N3.system.js.map +1 -0
  395. package/dist/peculiar/{p-BHBizfwo.js → p-JyD6URnB.js} +3 -3
  396. package/dist/peculiar/p-JyD6URnB.js.map +1 -0
  397. package/dist/peculiar/{p-D13P_msn.system.js.map → p-N3w4Sc5c.system.js.map} +1 -1
  398. package/dist/peculiar/{p-BOSH9vjy.system.js → p-NnCM1ETy.system.js} +3 -3
  399. package/dist/peculiar/p-NnCM1ETy.system.js.map +1 -0
  400. package/dist/peculiar/p-PeMaLTUD.js +142 -0
  401. package/dist/peculiar/p-PeMaLTUD.js.map +1 -0
  402. package/dist/peculiar/{p-CeKqQ13Z.js → p-ZT6tVIen.js} +4 -4
  403. package/dist/peculiar/p-ZT6tVIen.js.map +1 -0
  404. package/dist/peculiar/p-c8b3766a.entry.js +110 -0
  405. package/dist/peculiar/p-c8b3766a.entry.js.map +1 -0
  406. package/dist/peculiar/{p-1af57833.system.entry.js → p-de857304.system.entry.js} +2 -2
  407. package/dist/peculiar/p-de857304.system.entry.js.map +1 -0
  408. package/dist/peculiar/p-eziSY5IJ.system.js.map +1 -0
  409. package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.esm.js.map +1 -1
  410. package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -1
  411. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -1
  412. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -1
  413. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -1
  414. package/dist/peculiar/peculiar-text-hider.entry.esm.js.map +1 -1
  415. package/dist/peculiar/peculiar.esm.js +1 -1
  416. package/dist/peculiar/peculiar.esm.js.map +1 -1
  417. package/dist/peculiar/peculiar.js +1 -1
  418. package/dist/types/components/attribute-certificate-viewer/attribute-certificate-viewer.d.ts +3 -3
  419. package/dist/types/components/button/button.d.ts +2 -2
  420. package/dist/types/components/button/index.d.ts +1 -1
  421. package/dist/types/components/button-menu/button-menu.d.ts +5 -5
  422. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  423. package/dist/types/components/certificate-summary/certificate-summary.d.ts +2 -2
  424. package/dist/types/components/certificate-viewer/certificate-viewer.d.ts +3 -3
  425. package/dist/types/components/certificates-viewer/certificates-viewer.d.ts +3 -2
  426. package/dist/types/components/crl-viewer/crl-viewer.d.ts +3 -3
  427. package/dist/types/components/csr-viewer/csr-viewer.d.ts +3 -3
  428. package/dist/types/components/icons/actions.d.ts +2 -2
  429. package/dist/types/components/icons/arrow_bottom.d.ts +2 -2
  430. package/dist/types/components/icons/arrow_top.d.ts +2 -2
  431. package/dist/types/components/icons/cross.d.ts +2 -2
  432. package/dist/types/components/icons/details.d.ts +2 -2
  433. package/dist/types/components/icons/download.d.ts +2 -2
  434. package/dist/types/components/icons/link.d.ts +2 -2
  435. package/dist/types/components/link/link.d.ts +4 -4
  436. package/dist/types/components/typography/typography.d.ts +7 -6
  437. package/dist/types/components.d.ts +46 -20
  438. package/dist/types/constants/oids.d.ts +5 -0
  439. package/dist/types/crypto/asn_data.d.ts +1 -3
  440. package/dist/types/crypto/pem_converter.d.ts +7 -19
  441. package/dist/types/crypto/provider.d.ts +1 -6
  442. package/dist/types/interface.d.ts +3 -3
  443. package/dist/types/stencil-public-runtime.d.ts +34 -6
  444. package/dist/types/utils/l10n.d.ts +6 -6
  445. package/dist/types/utils/read_file.d.ts +7 -7
  446. package/hydrate/index.d.ts +38 -24
  447. package/hydrate/index.js +4386 -3421
  448. package/hydrate/index.mjs +4385 -3422
  449. package/package.json +32 -33
  450. package/dist/cjs/actions-Dl4HXXlI.js.map +0 -1
  451. package/dist/cjs/app-globals-BOZYdIuK.js +0 -11
  452. package/dist/cjs/app-globals-BOZYdIuK.js.map +0 -1
  453. package/dist/cjs/arrow_top-DBMPHVlB.js.map +0 -1
  454. package/dist/cjs/button-C5jDF-CZ.js.map +0 -1
  455. package/dist/cjs/certification_request-DS5FED4F.js.map +0 -1
  456. package/dist/cjs/cross-pi7K0cHC.js.map +0 -1
  457. package/dist/cjs/download-D9skkVoT.js.map +0 -1
  458. package/dist/cjs/index-BO3rFndV.js.map +0 -1
  459. package/dist/cjs/link-CwLq-Nge.js.map +0 -1
  460. package/dist/cjs/miscellaneous-UxtK1SWb.js.map +0 -1
  461. package/dist/cjs/pkcs10_certificate_request-DaWYvR0i.js.map +0 -1
  462. package/dist/cjs/x509_certificate-DBpSGIUT.js.map +0 -1
  463. package/dist/cjs/x509_crl-BBnJqOIF.js.map +0 -1
  464. package/dist/esm/actions-DzoPRObK.js.map +0 -1
  465. package/dist/esm/app-globals-zVR349KA.js +0 -9
  466. package/dist/esm/app-globals-zVR349KA.js.map +0 -1
  467. package/dist/esm/arrow_top-CF9pv-tQ.js.map +0 -1
  468. package/dist/esm/button-Djn8UI82.js.map +0 -1
  469. package/dist/esm/certification_request-Wtz6WM17.js.map +0 -1
  470. package/dist/esm/cross-DdCuR1F2.js.map +0 -1
  471. package/dist/esm/download-Cqfc-Sxf.js.map +0 -1
  472. package/dist/esm/index-DDDrq3In.js.map +0 -1
  473. package/dist/esm/link-BfDk078v.js.map +0 -1
  474. package/dist/esm/miscellaneous-CsGuJ6zr.js.map +0 -1
  475. package/dist/esm/pkcs10_certificate_request-Cn7_Z7a1.js.map +0 -1
  476. package/dist/esm/x509_certificate-ObET7_Te.js.map +0 -1
  477. package/dist/esm/x509_crl-CeW7yzP9.js.map +0 -1
  478. package/dist/esm-es5/actions-DzoPRObK.js.map +0 -1
  479. package/dist/esm-es5/app-globals-zVR349KA.js +0 -5
  480. package/dist/esm-es5/app-globals-zVR349KA.js.map +0 -1
  481. package/dist/esm-es5/arrow_top-CF9pv-tQ.js.map +0 -1
  482. package/dist/esm-es5/button-Djn8UI82.js +0 -19
  483. package/dist/esm-es5/button-Djn8UI82.js.map +0 -1
  484. package/dist/esm-es5/certification_request-Wtz6WM17.js.map +0 -1
  485. package/dist/esm-es5/cross-DdCuR1F2.js.map +0 -1
  486. package/dist/esm-es5/download-Cqfc-Sxf.js.map +0 -1
  487. package/dist/esm-es5/index-DDDrq3In.js +0 -6
  488. package/dist/esm-es5/index-DDDrq3In.js.map +0 -1
  489. package/dist/esm-es5/link-BfDk078v.js +0 -12
  490. package/dist/esm-es5/link-BfDk078v.js.map +0 -1
  491. package/dist/esm-es5/miscellaneous-CsGuJ6zr.js.map +0 -1
  492. package/dist/esm-es5/pkcs10_certificate_request-Cn7_Z7a1.js.map +0 -1
  493. package/dist/esm-es5/x509_certificate-ObET7_Te.js.map +0 -1
  494. package/dist/esm-es5/x509_crl-CeW7yzP9.js.map +0 -1
  495. package/dist/peculiar/p-0e8ab957.entry.js.map +0 -1
  496. package/dist/peculiar/p-12d2e080.entry.js.map +0 -1
  497. package/dist/peculiar/p-1af57833.system.entry.js.map +0 -1
  498. package/dist/peculiar/p-3e4062f6.entry.js +0 -110
  499. package/dist/peculiar/p-3e4062f6.entry.js.map +0 -1
  500. package/dist/peculiar/p-5608ba3e.system.entry.js.map +0 -1
  501. package/dist/peculiar/p-5b829829.system.entry.js.map +0 -1
  502. package/dist/peculiar/p-63aa01ad.system.entry.js.map +0 -1
  503. package/dist/peculiar/p-69b461b4.entry.js.map +0 -1
  504. package/dist/peculiar/p-7Nmqck4T.system.js.map +0 -1
  505. package/dist/peculiar/p-7a3bf94e.entry.js.map +0 -1
  506. package/dist/peculiar/p-B2YrZuK2.system.js.map +0 -1
  507. package/dist/peculiar/p-B3myni_G.js.map +0 -1
  508. package/dist/peculiar/p-B859JpGw.system.js.map +0 -1
  509. package/dist/peculiar/p-BBgwMHRZ.system.js.map +0 -1
  510. package/dist/peculiar/p-BCATfe_H.js.map +0 -1
  511. package/dist/peculiar/p-BFenL1ap.system.js +0 -6
  512. package/dist/peculiar/p-BFenL1ap.system.js.map +0 -1
  513. package/dist/peculiar/p-BHBizfwo.js.map +0 -1
  514. package/dist/peculiar/p-BOSH9vjy.system.js.map +0 -1
  515. package/dist/peculiar/p-BP2bmYR2.system.js.map +0 -1
  516. package/dist/peculiar/p-BRhx1gbw.system.js.map +0 -1
  517. package/dist/peculiar/p-BX9qW3ww.system.js.map +0 -1
  518. package/dist/peculiar/p-BisXzAqN.js.map +0 -1
  519. package/dist/peculiar/p-CFhlbr47.system.js.map +0 -1
  520. package/dist/peculiar/p-CKoxwzVA.system.js.map +0 -1
  521. package/dist/peculiar/p-C_vT-OYk.system.js.map +0 -1
  522. package/dist/peculiar/p-CcANm2qm.system.js.map +0 -1
  523. package/dist/peculiar/p-CeKqQ13Z.js.map +0 -1
  524. package/dist/peculiar/p-CttQwkXH.js.map +0 -1
  525. package/dist/peculiar/p-CwlxH4oM.system.js +0 -5
  526. package/dist/peculiar/p-CwlxH4oM.system.js.map +0 -1
  527. package/dist/peculiar/p-D5BWI7FK.system.js +0 -5
  528. package/dist/peculiar/p-D5BWI7FK.system.js.map +0 -1
  529. package/dist/peculiar/p-DDDrq3In.js +0 -6
  530. package/dist/peculiar/p-DDDrq3In.js.map +0 -1
  531. package/dist/peculiar/p-DPre0WhP.system.js.map +0 -1
  532. package/dist/peculiar/p-DX5B2Msh.system.js.map +0 -1
  533. package/dist/peculiar/p-DgcB4Nqx.system.js +0 -142
  534. package/dist/peculiar/p-DgcB4Nqx.system.js.map +0 -1
  535. package/dist/peculiar/p-DhdG07f8.js.map +0 -1
  536. package/dist/peculiar/p-Dk86_qlM.system.js.map +0 -1
  537. package/dist/peculiar/p-DkAhB3Vy.js.map +0 -1
  538. package/dist/peculiar/p-L1KL0R34.system.js.map +0 -1
  539. package/dist/peculiar/p-Wtz6WM17.js +0 -142
  540. package/dist/peculiar/p-Wtz6WM17.js.map +0 -1
  541. package/dist/peculiar/p-bafc3336.system.entry.js +0 -111
  542. package/dist/peculiar/p-bafc3336.system.entry.js.map +0 -1
  543. package/dist/peculiar/p-cae95996.system.entry.js +0 -5
  544. package/dist/peculiar/p-f4490197.entry.js +0 -5
  545. package/dist/peculiar/p-lNFxlG5A.js.map +0 -1
  546. package/dist/peculiar/p-t-yLLnfF.js.map +0 -1
  547. package/dist/peculiar/p-uFLk5hDd.system.js.map +0 -1
  548. package/dist/peculiar/p-zVR349KA.js +0 -5
  549. package/dist/peculiar/p-zVR349KA.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["buttonMenuCss","ButtonMenu","exports","class_1","hostRef","_this","this","groups","open","handleClick","prototype","render","h","Host","key","class","is_shown","Button","onClick","startIcon","ActionsIcon","role","tabIndex","String","map","group","Typography","variant","color","title","options","option","href","event","stopPropagation","text","circularProgressCss","CircularProgress","class_2","size","width","box","style","concat","height","viewBox","cx","cy","r","fill","strokeWidth","highlightWordsCss","HighlightWords","class_3","tag","componentDidLoad","handleHighlightSearch","componentDidUpdate","basicString","resetHighlightSearch","host","innerHTML","result","search","substring","RegExp","replace","source"],"sources":["src/components/button-menu/button-menu.scss?tag=peculiar-button-menu&encapsulation=scoped","src/components/button-menu/button-menu.tsx","src/components/circular-progress/circular-progress.scss?tag=peculiar-circular-progress&encapsulation=shadow","src/components/circular-progress/circular-progress.tsx","src/components/highlight-words/highlight-words.scss?tag=peculiar-highlight-words&encapsulation=shadow","src/components/highlight-words/highlight-words.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n position: relative;\n\n &.is_shown {\n .button_popover {\n &:before {\n position: fixed;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n content: '';\n }\n }\n\n .popover {\n display: block;\n }\n }\n}\n\n.popover {\n min-width: 200px;\n position: absolute;\n top: 100%;\n right: 0;\n border-radius: 4px;\n z-index: 1;\n box-shadow: var(--pv-shadow-light-medium);\n background: var(--pv-color-white);\n padding: var(--pv-size-base-2) 0;\n margin: var(--pv-size-base) 0;\n display: none;\n}\n\n.button_option {\n width: 100%;\n justify-content: flex-start;\n border-radius: 0;\n}\n\n.group {\n &:not(:last-child) {\n border-bottom: 1px solid var(--pv-color-gray-5);\n padding-bottom: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base);\n }\n}\n\n.group_title {\n line-height: var(--pv-size-base-6);\n padding: 0 var(--pv-size-base-2);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n State,\n Prop,\n Host,\n} from '@stencil/core';\nimport { Button, ButtonProps } from '../button';\nimport { Typography } from '../typography';\nimport { ActionsIcon } from '../icons';\n\nexport interface ButtonMenuGroupOptions extends ButtonProps {\n text: string | string[];\n}\n\nexport interface ButtonMenuGroup {\n title: string | string[];\n options: ButtonMenuGroupOptions[];\n}\n\n@Component({\n tag: 'peculiar-button-menu',\n styleUrl: 'button-menu.scss',\n scoped: true,\n})\nexport class ButtonMenu {\n @Prop() groups: ButtonMenuGroup[] = [];\n\n @State() open: boolean = false;\n\n handleClick = () => {\n this.open = !this.open;\n };\n\n render() {\n return (\n <Host\n class={{\n is_shown: this.open,\n }}\n >\n <Button\n class=\"button_popover\"\n onClick={this.handleClick}\n startIcon={<ActionsIcon />}\n />\n <div\n role=\"dialog\"\n tabIndex={-1}\n class=\"popover\"\n aria-hidden={String(this.open)}\n >\n {this.groups.map((group) => (\n <div class=\"group\">\n <Typography\n variant=\"c2\"\n color=\"gray-9\"\n class=\"group_title\"\n >\n {group.title}\n </Typography>\n {group.options.map((option) => (\n <Button\n class=\"button_option\"\n startIcon={option.startIcon}\n href={option.href}\n onClick={(event) => {\n event.stopPropagation();\n\n this.handleClick();\n\n if (option.onClick) {\n option.onClick(event);\n }\n }}\n >\n {option.text}\n </Button>\n ))}\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n@keyframes circular-rotate {\n to {\n transform: rotate(1turn);\n }\n}\n\n@keyframes circular-dash {\n 0% {\n stroke-dasharray: 1,200;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -15;\n }\n\n to {\n stroke-dasharray: 100,200;\n stroke-dashoffset: -120;\n }\n}\n\n.circle_progress {\n margin: 0 auto;\n}\n\n.circle_progress_svg {\n animation: circular-rotate 1.4s linear infinite;\n}\n\n.circle_progress_circle {\n stroke-linecap: round;\n animation: circular-dash 1.4s ease-in-out infinite;\n stroke-dasharray: 80,200;\n stroke-dashoffset: 0;\n stroke: var(--pv-color-secondary);\n}\n\n.circle_progress_backdrop {\n stroke: var(--pv-color-gray-3);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-circular-progress',\n styleUrl: 'circular-progress.scss',\n shadow: true,\n})\nexport class CircularProgress {\n /**\n * Width/height of progress circle.\n */\n @Prop() size: number = 24;\n\n /**\n * Stroke width of progress bar circle.\n */\n @Prop() width: number = 4;\n\n private box: number = 50;\n\n render() {\n return (\n <Host>\n <div\n class=\"circle_progress\"\n style={{\n width: `${this.size}px`,\n height: `${this.size}px`,\n }}\n >\n <svg\n class=\"circle_progress_svg\"\n viewBox={`0 0 ${this.box} ${this.box}`}\n >\n <circle\n class=\"circle_progress_backdrop\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{\n strokeWidth: `${this.width}px`,\n }}\n />\n <circle\n class=\"circle_progress_circle\"\n cx={this.box / 2}\n cy={this.box / 2}\n r={(this.box / 2) - 5}\n fill=\"none\"\n style={{\n strokeWidth: `${this.width}px`,\n }}\n />\n </svg>\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: inline;\n}\n\n::slotted(mark) {\n background-color: var(--pv-color-attention-tint-4);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component, Host, h, Element, Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'peculiar-highlight-words',\n styleUrl: 'highlight-words.scss',\n shadow: true,\n})\nexport class HighlightWords {\n @Element() host: HTMLElement;\n\n @Prop() search: string;\n\n private tag: string = 'mark';\n\n componentDidLoad() {\n this.handleHighlightSearch();\n }\n\n componentDidUpdate() {\n this.handleHighlightSearch();\n }\n\n handleHighlightSearch() {\n const basicString = this.resetHighlightSearch(this.host.innerHTML);\n let result = basicString;\n\n if (this.search) {\n const substring = new RegExp(`(${this.search})`, 'gi');\n\n result = basicString.replace(substring, `<${this.tag}>$1</${this.tag}>`);\n }\n\n this.host.innerHTML = result;\n }\n\n resetHighlightSearch(source: string) {\n // eslint-disable-next-line no-useless-escape\n const substring = new RegExp(`<\\/?${this.tag}>`, 'g');\n\n return source.replace(substring, '');\n }\n\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,110 +0,0 @@
1
- /*!
2
- * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
- */
4
- import{h as t,r as e,H as r}from"./p-DDDrq3In.js";import{_ as a,Y as o,a5 as s,u as i,W as c,I as n,T as v,V as p,U as l,t as h,b as d,Z as g,a6 as b,a7 as u,a8 as y}from"./p-Wtz6WM17.js";import{X as x,a as w}from"./p-B3myni_G.js";import{d as m,R as f,e as z,f as k,G as L,h as j,B as I,a as S,T as A,g as N,b as _,c as D,E as K,M as C,I as P,S as E,P as T}from"./p-CttQwkXH.js";import{T as H}from"./p-BCATfe_H.js";import{P as $}from"./p-lNFxlG5A.js";import"./p-BisXzAqN.js";import"./p-BHBizfwo.js";
5
- /**
6
- * @license
7
- * Copyright (c) Peculiar Ventures, LLC.
8
- *
9
- * This source code is licensed under the MIT license found in the
10
- * LICENSE file in the root directory of this source tree.
11
- */const B=(e,r)=>{const{attribute:a}=e;return[t(f,{name:"Name",value:m(a.asn.type)}),r,t("tr",null,t("td",{colSpan:2,class:"divider"},t("span",null)))]};
12
- /**
13
- * @license
14
- * Copyright (c) Peculiar Ventures, LLC.
15
- *
16
- * This source code is licensed under the MIT license found in the
17
- * LICENSE file in the root directory of this source tree.
18
- */const V=e=>{const{name:r}=e;if(!r){return null}return r.map((e=>e.map((e=>t(f,{name:a[e.type]||e.type,value:e.value.toString()})))))};
19
- /**
20
- * @license
21
- * Copyright (c) Peculiar Ventures, LLC.
22
- *
23
- * This source code is licensed under the MIT license found in the
24
- * LICENSE file in the root directory of this source tree.
25
- */const W=e=>{const{attribute:r}=e;return t(B,{attribute:r},t(V,{name:r.value}))};
26
- /**
27
- * @license
28
- * Copyright (c) Peculiar Ventures, LLC.
29
- *
30
- * This source code is licensed under the MIT license found in the
31
- * LICENSE file in the root directory of this source tree.
32
- */const q=e=>{const{attribute:r}=e;return t(B,{attribute:r},t(f,{name:z("codeAuthority"),value:""}),t(k,null,t(L,{generalName:r.value.codeAuthority,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(f,{name:z("codeId"),value:""}),t(k,null,t(L,{generalName:r.value.codeId,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(f,{name:z("shortName"),value:r.value.shortName}),t(f,{name:z("shortDescription"),value:r.value.shortDescription}))};
33
- /**
34
- * @license
35
- * Copyright (c) Peculiar Ventures, LLC.
36
- *
37
- * This source code is licensed under the MIT license found in the
38
- * LICENSE file in the root directory of this source tree.
39
- */const M=e=>{const{attribute:r}=e;return t(B,{attribute:r},t(f,{name:z("assessmentAuthority"),value:""}),t(k,null,t(L,{generalName:r.value.assessmentAuthority,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(f,{name:z("assessmentLocation"),value:""}),t(k,null,t(L,{generalName:r.value.assessmentLocation,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(f,{name:z("assessmentRef"),value:""}),t(k,null,t(L,{generalName:r.value.assessmentRef,getDNSNameLink:()=>"",getIPAddressLink:()=>""})),t(f,{name:z("dataStorageTerritory"),value:r.value.dataStorageTerritory}),t(f,{name:z("description"),value:r.value.description}))};
40
- /**
41
- * @license
42
- * Copyright (c) Peculiar Ventures, LLC.
43
- *
44
- * This source code is licensed under the MIT license found in the
45
- * LICENSE file in the root directory of this source tree.
46
- */const O=e=>{const{attribute:r}=e;const a=`${r.value.base} * 10^${r.value.degree} ${r.value.location}`;return t(B,{attribute:r},t(f,{name:"Value",value:a}))};
47
- /**
48
- * @license
49
- * Copyright (c) Peculiar Ventures, LLC.
50
- *
51
- * This source code is licensed under the MIT license found in the
52
- * LICENSE file in the root directory of this source tree.
53
- */const Q=e=>{const{attribute:r}=e;return t(B,{attribute:r},Object.keys(r.value).map((e=>t(f,{name:e,value:r.value[e].toNumber()?o.getString("yes"):o.getString("no")}))))};
54
- /**
55
- * @license
56
- * Copyright (c) Peculiar Ventures, LLC.
57
- *
58
- * This source code is licensed under the MIT license found in the
59
- * LICENSE file in the root directory of this source tree.
60
- */const G=t=>{let e=1;if(t/100>1){e=100}else if(t/10>1){e=10}return`${t}/${5*e}`};const R=e=>{const{attribute:r}=e;const a=Object.keys(r.value).map((e=>[G(r.value[e]),t("br",null)]));return t(B,{attribute:r},t(f,{name:"Value",value:a}))};
61
- /**
62
- * @license
63
- * Copyright (c) Peculiar Ventures, LLC.
64
- *
65
- * This source code is licensed under the MIT license found in the
66
- * LICENSE file in the root directory of this source tree.
67
- */const X=e=>{const{attribute:r}=e;return t(B,{attribute:r},t(f,{name:"Value",value:r.value,monospace:true}))};
68
- /**
69
- * @license
70
- * Copyright (c) Peculiar Ventures, LLC.
71
- *
72
- * This source code is licensed under the MIT license found in the
73
- * LICENSE file in the root directory of this source tree.
74
- */const F=e=>{const{attribute:r}=e;return t(B,{attribute:r},t(f,{name:"Value",value:r.value.utf8String}))};
75
- /**
76
- * @license
77
- * Copyright (c) Peculiar Ventures, LLC.
78
- *
79
- * This source code is licensed under the MIT license found in the
80
- * LICENSE file in the root directory of this source tree.
81
- */const U=e=>{const{attribute:r}=e;return t(B,{attribute:r},t(f,{name:"Value",value:r.value.toString()}))};
82
- /**
83
- * @license
84
- * Copyright (c) Peculiar Ventures, LLC.
85
- *
86
- * This source code is licensed under the MIT license found in the
87
- * LICENSE file in the root directory of this source tree.
88
- */const Y=e=>{const{attributes:r}=e;if(!r||!r.length){return null}return[t(j,{value:"Attributes"}),r.map((e=>{try{if(e.value instanceof s){return t(W,{attribute:e})}if(e.value instanceof i){return t(q,{attribute:e})}if(e.value instanceof c){return t(M,{attribute:e})}if(e.value instanceof n){return t(O,{attribute:e})}if(e.value instanceof v){return t(Q,{attribute:e})}if(e.value instanceof p){return t(R,{attribute:e})}if(e.value instanceof l){return t(F,{attribute:e})}if(e.value instanceof h){return t(U,{attribute:e})}if(typeof e.value==="string"){return t(X,{attribute:e})}return t(B,{attribute:e})}catch(t){console.error("Error render attribute:",e.asn.type);return null}}))]};
89
- /**
90
- * @license
91
- * Copyright (c) Peculiar Ventures, LLC.
92
- *
93
- * This source code is licensed under the MIT license found in the
94
- * LICENSE file in the root directory of this source tree.
95
- */const Z=e=>{const{revokedCertificates:r,getDNSNameLink:a,getIPAddressLink:s}=e;if(!r||!r.length){return null}return[t(j,{value:o.getString("revokedCertificates")}),r.map((e=>[t(f,{name:o.getString("serialNumber"),value:d.Convert.ToHex(e.userCertificate),monospace:true}),t(f,{name:o.getString("revocationDate"),value:g(e.revocationDate.getTime())}),e.crlEntryExtensions&&e.crlEntryExtensions.length&&[t(f,{name:`${o.getString("crlEntryExtensions")}:`,value:""}),t(k,null,e.crlEntryExtensions.map((e=>{if(e.value instanceof b){return t(f,{name:m(e.asn.extnID),value:e.value.toJSON()||e.value.reason})}if(e.value instanceof u){return t(f,{name:m(e.asn.extnID),value:e.value.value.getTime()})}if(e.value instanceof y&&e.value.length){return[t(f,{name:`${m(e.asn.extnID)}:`,value:""}),e.value.map((e=>t(k,null,t(L,{generalName:e,getDNSNameLink:a,getIPAddressLink:s}))))]}return t(f,{name:m(e.asn.extnID),value:d.Convert.ToHex(e.asn.extnValue),monospace:true})})))],t("tr",null,t("td",{colSpan:2,class:"divider"},t("span",null)))]))]};
96
- /**
97
- * @license
98
- * Copyright (c) Peculiar Ventures, LLC.
99
- *
100
- * This source code is licensed under the MIT license found in the
101
- * LICENSE file in the root directory of this source tree.
102
- */const J=e=>{const{holder:r}=e;if(!r){return null}const{baseCertificateID:a,objectDigestInfo:s}=r;return[t(j,{value:o.getString("holder")}),a&&[a.issuer.map((e=>t(L,{generalName:e,getDNSNameLink:()=>"",getIPAddressLink:()=>""}))),t("tr",null,t("td",null),t("td",null)),t(f,{name:o.getString("serialNumber"),value:d.Convert.ToHex(a.serial),monospace:true}),t("tr",null,t("td",null),t("td",null))],s&&[t(f,{name:o.getString("digestInfo"),value:""}),t(k,null,t(f,{name:o.getString("algorithm"),value:m(s.digestAlgorithm.algorithm)}),t(f,{name:o.getString("value"),value:d.Convert.ToHex(s.objectDigest),monospace:true}),t(f,{name:o.getString("type"),value:s.digestedObjectType}))]]};
103
- /**
104
- * @license
105
- * Copyright (c) Peculiar Ventures, LLC.
106
- *
107
- * This source code is licensed under the MIT license found in the
108
- * LICENSE file in the root directory of this source tree.
109
- */const tt=e=>{const{issuer:r}=e;if(!r){return null}return[t(j,{value:o.getString("issuer")}),r.map((e=>t(L,{generalName:e,getDNSNameLink:()=>"",getIPAddressLink:()=>""})))]};const et="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";const rt=class{constructor(t){e(this,t);this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true;this.getAuthKeyIdParentLink=t=>{var e;return(e=this.authKeyIdParentLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getAuthKeyIdSiblingsLink=t=>{var e;return(e=this.authKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getSubjectKeyIdChildrenLink=t=>{var e;return(e=this.subjectKeyIdChildrenLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)};this.getSubjectKeyIdSiblingsLink=t=>{var e;return(e=this.subjectKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)}}handleMediaQueryChange(t){this.mobileScreenView=t.matches}componentWillLoad(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}}disconnectedCallback(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))}async decodeCertificate(t){this.isDecodeInProcess=true;try{if(t instanceof x){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new x(t)}else{return}this.certificateDecoded.parseExtensions();this.certificateDecoded.parseAttributes();await this.certificateDecoded.getThumbprint("SHA-1");await this.certificateDecoded.getThumbprint("SHA-256")}catch(t){this.certificateDecodeError=t;console.error("Error certificate parse:",t)}this.isDecodeInProcess=false}watchCertificateAndDecode(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof x&&e instanceof x){if(t.serialNumber!==e.serialNumber){this.decodeCertificate(t)}}}renderErrorState(){return t("div",{class:"status_wrapper"},t(H,null,"There was an error decoding this attribute certificate."))}renderEmptyState(){return t("div",{class:"status_wrapper"},t(H,null,"There is no attribute certificate available."))}render(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return t(r,{"data-mobile-screen-view":String(this.mobileScreenView)},t("table",null,t(I,Object.assign({},this.certificateDecoded)),t(tt,{issuer:this.certificateDecoded.issuer}),t(J,{holder:this.certificateDecoded.holder}),t(S,{signature:this.certificateDecoded.signature}),t(A,{thumbprints:this.certificateDecoded.thumbprints}),t(Y,{attributes:this.certificateDecoded.attributes,getLEILink:D,getDNSNameLink:_,getIPAddressLink:N,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),t(K,{extensions:this.certificateDecoded.extensions,getLEILink:D,getDNSNameLink:_,getIPAddressLink:N,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),this.download&&t(C,{certificate:this.certificateDecoded})))}static get watchers(){return{certificate:["watchCertificateAndDecode"]}}};rt.style=et;const at="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}:host{display:block;width:100%}.tabs{white-space:nowrap;overflow-x:auto;border-bottom:1px solid var(--pv-color-gray-4);padding:0 var(--pv-size-base-4);margin-bottom:var(--pv-size-base-6)}.tab{font-family:inherit;outline:none;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;border-bottom:3px solid transparent;min-height:var(--pv-size-base-12);height:100%;padding:0 var(--pv-size-base-3);background-color:transparent;-webkit-transition:background-color 200ms, color 200ms, border-color 200ms;transition:background-color 200ms, color 200ms, border-color 200ms;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-decoration:none;font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing);color:var(--pv-color-gray-10)}.tab:hover{background-color:var(--pv-color-secondary-tint-5)}.tab[aria-selected=true]{color:var(--pv-color-black);border-color:var(--pv-color-secondary)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}";const ot=class{constructor(t){e(this,t);this.selectedCertificateIndex=0}renderEmptyState(){return t("div",{class:"status_wrapper"},t(H,null,"There is no certificates available."))}render(){if(!this.certificates){return this.renderEmptyState()}return t(r,null,t("div",{role:"tablist",class:"tabs"},Array.from(this.certificates).map(((e,r)=>t("button",{type:"button",role:"tab",class:"tab","aria-selected":r===this.selectedCertificateIndex?"true":"false",onClick:()=>{this.selectedCertificateIndex=r}},e.commonName)))),Array.from(this.certificates).map(((e,r)=>{if(r===this.selectedCertificateIndex){return t("peculiar-certificate-viewer",{certificate:e,download:false})}return null})),t("table",null,this.download&&t(C,{certificate:this.certificates})))}};ot.style=at;const st="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";const it=class{constructor(t){e(this,t);this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true;this.getAuthKeyIdParentLink=t=>{var e;return(e=this.authKeyIdParentLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getAuthKeyIdSiblingsLink=t=>{var e;return(e=this.authKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)}}handleMediaQueryChange(t){this.mobileScreenView=t.matches}componentWillLoad(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}}disconnectedCallback(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))}async decodeCertificate(t){this.isDecodeInProcess=true;try{if(t instanceof w){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new w(t)}else{return}this.certificateDecoded.parseExtensions();await this.certificateDecoded.getThumbprint("SHA-1");await this.certificateDecoded.getThumbprint("SHA-256")}catch(t){this.certificateDecodeError=t;console.error("Error certificate parse:",t)}this.isDecodeInProcess=false}getIssuerDnLink(){return this.issuerDnLink}watchCertificateAndDecode(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof w&&e instanceof w){if(t.commonName!==e.commonName){this.decodeCertificate(t)}}}renderErrorState(){return t("div",{class:"status_wrapper"},t(H,null,"There was an error decoding this certificate revocation list."))}renderEmptyState(){return t("div",{class:"status_wrapper"},t(H,null,"There is no certificate revocation list available."))}render(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return t(r,{"data-mobile-screen-view":String(this.mobileScreenView)},t("table",null,t(I,Object.assign({},this.certificateDecoded)),t(P,{name:this.certificateDecoded.issuer,issuerDnLink:this.getIssuerDnLink()}),t(S,{signature:this.certificateDecoded.signature}),t(A,{thumbprints:this.certificateDecoded.thumbprints}),t(K,{extensions:this.certificateDecoded.extensions,getLEILink:D,getDNSNameLink:_,getIPAddressLink:N,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink}),t(Z,{revokedCertificates:this.certificateDecoded.revokedCertificates,getDNSNameLink:_,getIPAddressLink:N}),this.download&&t(C,{certificate:this.certificateDecoded})))}static get watchers(){return{certificate:["watchCertificateAndDecode"]}}};it.style=st;const ct="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";const nt=class{constructor(t){e(this,t);this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true;this.getAuthKeyIdParentLink=t=>t;this.getAuthKeyIdSiblingsLink=t=>t;this.getSubjectKeyIdChildrenLink=t=>{var e;return(e=this.subjectKeyIdChildrenLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)};this.getSubjectKeyIdSiblingsLink=t=>{var e;return(e=this.subjectKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)}}handleMediaQueryChange(t){this.mobileScreenView=t.matches}componentWillLoad(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}}disconnectedCallback(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))}async decodeCertificate(t){this.isDecodeInProcess=true;try{if(t instanceof $){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new $(t)}else{return}this.certificateDecoded.parseAttributes();await this.certificateDecoded.getThumbprint("SHA-1");await this.certificateDecoded.getThumbprint("SHA-256")}catch(t){this.certificateDecodeError=t;console.error("Error certificate parse:",t)}this.isDecodeInProcess=false}watchCertificateAndDecode(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof $&&e instanceof $){if(t.commonName!==e.commonName){this.decodeCertificate(t)}}}renderErrorState(){return t("div",{class:"status_wrapper"},t(H,null,"There was an error decoding this certificate request."))}renderEmptyState(){return t("div",{class:"status_wrapper"},t(H,null,"There is no certificate request available."))}render(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return t(r,{"data-mobile-screen-view":String(this.mobileScreenView)},t("table",null,t(I,Object.assign({},this.certificateDecoded)),t(E,{name:this.certificateDecoded.subject}),t(T,{publicKey:this.certificateDecoded.publicKey}),t(S,{signature:this.certificateDecoded.signature}),t(A,{thumbprints:this.certificateDecoded.thumbprints}),t(Y,{attributes:this.certificateDecoded.attributes,getLEILink:D,getDNSNameLink:_,getIPAddressLink:N,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),t(K,{extensions:this.certificateDecoded.extensions,title:"Extension Request",getLEILink:D,getDNSNameLink:_,getIPAddressLink:N,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),this.download&&t(C,{certificate:this.certificateDecoded})))}static get watchers(){return{certificate:["watchCertificateAndDecode"]}}};nt.style=ct;export{rt as peculiar_attribute_certificate_viewer,ot as peculiar_certificate_chain_viewer,it as peculiar_crl_viewer,nt as peculiar_csr_viewer};
110
- //# sourceMappingURL=p-3e4062f6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["BasicAttribute","props","children","attribute","h","RowValue","name","value","getStringByOID","asn","type","colSpan","class","NamePart","map","relativeDistinguishedName","attributeTypeAndValue","OIDs","toString","NameAttribute","ActivityDescriptionAttribute","camelCaseToWords","TableRowTable","GeneralNamePart","generalName","codeAuthority","getDNSNameLink","getIPAddressLink","codeId","shortName","shortDescription","WebGdprAttribute","assessmentAuthority","assessmentLocation","assessmentRef","dataStorageTerritory","description","InsuranceValueAttribute","base","degree","location","TypeRelationshipAttribute","Object","keys","keyName","toNumber","l10n","getString","getValueRank","ratio","ValuationRankingAttribute","values","AsStringAttribute","monospace","UnstructuredNameAttribute","utf8String","ChallengePasswordAttribute","Attributes","attributes","length","RowTitle","Name","ActivityDescription","WebGDPR","InsuranceValue","TypeRelationship","ValuationRanking","UnstructuredName","ChallengePassword","error","console","RevokedCertificates","revokedCertificates","certificate","Convert","ToHex","userCertificate","dateShort","revocationDate","getTime","crlEntryExtensions","extension","CRLReason","extnID","toJSON","reason","InvalidityDate","CertificateIssuer","gn","extnValue","Holder","holder","baseCertificateID","objectDigestInfo","issuer","item","serial","digestAlgorithm","algorithm","objectDigest","digestedObjectType","Issuer","certificateViewerCss","AttributeCertificateViewer","constructor","hostRef","this","mobileMediaQueryString","mobileScreenView","isDecodeInProcess","getAuthKeyIdParentLink","_a","authKeyIdParentLink","replace","getAuthKeyIdSiblingsLink","authKeyIdSiblingsLink","getSubjectKeyIdChildrenLink","subjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","subjectKeyIdSiblingsLink","handleMediaQueryChange","event","matches","componentWillLoad","decodeCertificate","mobileMediaQuery","window","matchMedia","addEventListener","bind","disconnectedCallback","removeEventListener","X509AttributeCertificate","certificateDecoded","parseExtensions","parseAttributes","getThumbprint","certificateDecodeError","watchCertificateAndDecode","newValue","oldValue","serialNumber","renderErrorState","Typography","renderEmptyState","render","Host","String","BasicInformation","assign","Signature","signature","Thumbprints","thumbprints","getLEILink","Extensions","extensions","download","Miscellaneous","certificateChainViewerCss","CertificateChainViewer","selectedCertificateIndex","certificates","role","Array","from","index","onClick","commonName","CrlViewer","X509Crl","getIssuerDnLink","issuerDnLink","IssuerName","CsrViewer","Pkcs10CertificateRequest","SubjectName","subject","PublicKey","publicKey","title"],"sources":["src/components/certificate-details-parts/attributes/basic_attribute.tsx","src/components/certificate-details-parts/attributes/name_part.tsx","src/components/certificate-details-parts/attributes/name_attribute.tsx","src/components/certificate-details-parts/attributes/activity_description_attribute.tsx","src/components/certificate-details-parts/attributes/web_gdpr_attribute.tsx","src/components/certificate-details-parts/attributes/insurance_value_attribute.tsx","src/components/certificate-details-parts/attributes/type_relationship_attribute.tsx","src/components/certificate-details-parts/attributes/valuation_ranking_attribute.tsx","src/components/certificate-details-parts/attributes/as_string_attribute.tsx","src/components/certificate-details-parts/attributes/unstructured_name_attribute.tsx","src/components/certificate-details-parts/attributes/challenge_password_attribute.tsx","src/components/certificate-details-parts/attributes/index.tsx","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-details-parts/holder.tsx","src/components/certificate-details-parts/issuer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-attribute-certificate-viewer&encapsulation=shadow","src/components/attribute-certificate-viewer/attribute-certificate-viewer.tsx","src/components/certificate-chain-viewer/certificate-chain-viewer.scss?tag=peculiar-certificate-chain-viewer&encapsulation=shadow","src/components/certificate-chain-viewer/certificate-chain-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-csr-viewer&encapsulation=shadow","src/components/csr-viewer/csr-viewer.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicAttributeProps {\n attribute: Attribute<TAttributeValue>;\n}\n\nexport const BasicAttribute: FunctionalComponent<IBasicAttributeProps> = (props, children) => {\n const { attribute } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(attribute.asn.type)}\n />,\n children,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\n\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue } from '../row';\n\ninterface INamePartProps {\n name: Name;\n}\n\nexport const NamePart: FunctionalComponent<INamePartProps> = (props): any[] => {\n const { name } = props;\n\n if (!name) {\n return null;\n }\n\n return name.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\n />\n ))\n ));\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { Name } from '@peculiar/asn1-x509';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface INameAttributeProps {\n attribute: Attribute<Name>;\n}\n\nexport const NameAttribute:\nFunctionalComponent<INameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <NamePart\n name={attribute.value}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ActivityDescription } from '@peculiar/asn1-ntqwac';\n\nimport { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IActivityDescriptionAttributeProps {\n attribute: Attribute<ActivityDescription>;\n}\n\nexport const ActivityDescriptionAttribute:\nFunctionalComponent<IActivityDescriptionAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('codeAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('codeId')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeId}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('shortName')}\n value={attribute.value.shortName}\n />\n <RowValue\n name={camelCaseToWords('shortDescription')}\n value={attribute.value.shortDescription}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { WebGDPR } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IWebGdprAttributeProps {\n attribute: Attribute<WebGDPR>;\n}\n\nexport const WebGdprAttribute:\nFunctionalComponent<IWebGdprAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('assessmentAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentLocation')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentLocation}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentRef')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentRef}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('dataStorageTerritory')}\n value={attribute.value.dataStorageTerritory}\n />\n <RowValue\n name={camelCaseToWords('description')}\n value={attribute.value.description}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { InsuranceValue } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IInsuranceValueAttributeProps {\n attribute: Attribute<InsuranceValue>;\n}\n\nexport const InsuranceValueAttribute:\nFunctionalComponent<IInsuranceValueAttributeProps> = (props) => {\n const { attribute } = props;\n const value = `${attribute.value.base} * 10^${attribute.value.degree} ${attribute.value.location}`;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={value}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { TypeRelationship } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { l10n } from '../../../utils';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface ITypeRelationshipAttributeProps {\n attribute: Attribute<TypeRelationship>;\n}\n\nexport const TypeRelationshipAttribute:\nFunctionalComponent<ITypeRelationshipAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n {Object.keys(attribute.value).map((keyName) => (\n <RowValue\n name={keyName}\n value={attribute.value[keyName].toNumber() ? l10n.getString('yes') : l10n.getString('no')}\n />\n ))}\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ValuationRanking } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IValuationRankingAttributeProps {\n attribute: Attribute<ValuationRanking>;\n}\n\nconst getValueRank = (value: number): string => {\n let ratio = 1;\n\n if (value / 100 > 1) {\n ratio = 100;\n } else if (value / 10 > 1) {\n ratio = 10;\n }\n\n return `${value}/${5 * ratio}`;\n};\n\nexport const ValuationRankingAttribute:\nFunctionalComponent<IValuationRankingAttributeProps> = (props) => {\n const { attribute } = props;\n const values = Object.keys(attribute.value).map((keyName) => ([\n getValueRank(attribute.value[keyName]),\n <br />,\n ]));\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={values as any}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IAsStringAttributeProps {\n attribute: Attribute<string>;\n}\n\nexport const AsStringAttribute:\nFunctionalComponent<IAsStringAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value}\n monospace\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { UnstructuredName } from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IUnstructuredNameAttributeProps {\n attribute: Attribute<UnstructuredName>;\n}\n\nexport const UnstructuredNameAttribute:\nFunctionalComponent<IUnstructuredNameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.utf8String}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { ChallengePassword } from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IChallengePasswordAttributeProps {\n attribute: Attribute<ChallengePassword>;\n}\n\nexport const ChallengePasswordAttribute:\nFunctionalComponent<IChallengePasswordAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.toString()}\n />\n </BasicAttribute>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Name } from '@peculiar/asn1-x509';\nimport {\n TypeRelationship,\n ActivityDescription,\n WebGDPR,\n InsuranceValue,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n UnstructuredName,\n ChallengePassword,\n} from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { RowTitle } from '../row';\nimport { NameAttribute } from './name_attribute';\nimport { ActivityDescriptionAttribute } from './activity_description_attribute';\nimport { WebGdprAttribute } from './web_gdpr_attribute';\nimport { InsuranceValueAttribute } from './insurance_value_attribute';\nimport { TypeRelationshipAttribute } from './type_relationship_attribute';\nimport { ValuationRankingAttribute } from './valuation_ranking_attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { AsStringAttribute } from './as_string_attribute';\nimport { UnstructuredNameAttribute } from './unstructured_name_attribute';\nimport { ChallengePasswordAttribute } from './challenge_password_attribute';\n\ninterface IAttributesPtops extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n attributes: Attribute<TAttributeValue>[];\n}\n\nexport const Attributes: FunctionalComponent<IAttributesPtops> = (props) => {\n const { attributes } = props;\n\n if (!attributes || !attributes.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value=\"Attributes\"\n />,\n attributes.map((attribute) => {\n try {\n if (attribute.value instanceof Name) {\n return (\n <NameAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ActivityDescription) {\n return (\n <ActivityDescriptionAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof WebGDPR) {\n return (\n <WebGdprAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof InsuranceValue) {\n return (\n <InsuranceValueAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof TypeRelationship) {\n return (\n <TypeRelationshipAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ValuationRanking) {\n return (\n <ValuationRankingAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof UnstructuredName) {\n return (\n <UnstructuredNameAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ChallengePassword) {\n return (\n <ChallengePasswordAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (typeof attribute.value === 'string') {\n return (\n <AsStringAttribute\n attribute={attribute as any}\n />\n );\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n />\n );\n } catch (error) {\n console.error('Error render attribute:', attribute.asn.type);\n\n return null;\n }\n }),\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CRLReason, InvalidityDate, CertificateIssuer } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateShort, l10n, getStringByOID } from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ])),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\n\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport { RowTitle, RowValue, TableRowTable } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IHolderProps {\n holder: X509AttributeCertificate['holder'];\n}\n\nexport const Holder: FunctionalComponent<IHolderProps> = (props) => {\n const { holder } = props;\n\n if (!holder) {\n return null;\n }\n\n const { baseCertificateID, objectDigestInfo } = holder;\n\n return [\n <RowTitle\n value={l10n.getString('holder')}\n />,\n baseCertificateID && ([\n baseCertificateID.issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n <tr>\n <td />\n <td />\n </tr>,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(baseCertificateID.serial)}\n monospace\n />,\n <tr>\n <td />\n <td />\n </tr>,\n ]),\n objectDigestInfo && ([\n <RowValue\n name={l10n.getString('digestInfo')}\n value=\"\"\n />,\n <TableRowTable>\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(objectDigestInfo.digestAlgorithm.algorithm)}\n />\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(objectDigestInfo.objectDigest)}\n monospace\n />\n <RowValue\n name={l10n.getString('type')}\n value={objectDigestInfo.digestedObjectType}\n />\n </TableRowTable>,\n ]),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { X509AttributeCertificate } from '../../crypto';\nimport { l10n } from '../../utils';\nimport { RowTitle } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IIssuerProps {\n issuer: X509AttributeCertificate['issuer'];\n}\n\nexport const Issuer: FunctionalComponent<IIssuerProps> = (props) => {\n const { issuer } = props;\n\n if (!issuer) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('issuer')}\n />,\n issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n ];\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { X509AttributeCertificate } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n Attributes,\n Holder,\n Issuer,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type AttributeCertificateProp = string | X509AttributeCertificate;\n\n@Component({\n tag: 'peculiar-attribute-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class AttributeCertificateViewer {\n private certificateDecoded: X509AttributeCertificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificate: AttributeCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: AttributeCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509AttributeCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509AttributeCertificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n this.certificateDecoded.parseAttributes();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: AttributeCertificateProp,\n oldValue: AttributeCertificateProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509AttributeCertificate\n && oldValue instanceof X509AttributeCertificate\n ) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this attribute certificate.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no attribute certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <Issuer\n issuer={this.certificateDecoded.issuer}\n />\n\n <Holder\n holder={this.certificateDecoded.holder}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n@import '../certificate-viewer/certificate-viewer.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.tabs {\n white-space: nowrap;\n overflow-x: auto;\n border-bottom: 1px solid var(--pv-color-gray-4);\n padding: 0 var(--pv-size-base-4);\n margin-bottom: var(--pv-size-base-6);\n}\n\n.tab {\n font-family: inherit;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n border: none;\n border-bottom: 3px solid transparent;\n min-height: var(--pv-size-base-12);\n height: 100%;\n padding: 0 var(--pv-size-base-3);\n background-color: transparent;\n transition: background-color 200ms, color 200ms, border-color 200ms;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n font-weight: var(--pv-text-s2-weight);\n font-size: var(--pv-text-s2-size);\n line-height: var(--pv-text-s2-height);\n letter-spacing: var(--pv-text-s2-spacing);\n color: var(--pv-color-gray-10);\n\n &:hover {\n background-color: var(--pv-color-secondary-tint-5);\n }\n\n &[aria-selected=\"true\"] {\n color: var(--pv-color-black);\n border-color: var(--pv-color-secondary);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Host,\n} from '@stencil/core';\n\nimport {\n X509Certificates,\n} from '../../crypto';\nimport { Typography } from '../typography';\nimport {\n Miscellaneous,\n} from '../certificate-details-parts';\n\n@Component({\n tag: 'peculiar-certificate-chain-viewer',\n styleUrl: 'certificate-chain-viewer.scss',\n shadow: true,\n})\nexport class CertificateChainViewer {\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificates: X509Certificates;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n @State() selectedCertificateIndex: number = 0;\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificates available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (!this.certificates) {\n return this.renderEmptyState();\n }\n\n return (\n <Host>\n <div\n role=\"tablist\"\n class=\"tabs\"\n >\n {Array.from(this.certificates).map((certificate, index) => (\n <button\n type=\"button\"\n role=\"tab\"\n class=\"tab\"\n aria-selected={index === this.selectedCertificateIndex ? 'true' : 'false'}\n onClick={() => {\n this.selectedCertificateIndex = index;\n }}\n >\n {certificate.commonName}\n </button>\n ))}\n </div>\n {Array.from(this.certificates).map((certificate, index) => {\n if (index === this.selectedCertificateIndex) {\n return (\n <peculiar-certificate-viewer\n certificate={certificate}\n download={false}\n />\n );\n }\n\n return null;\n })}\n\n <table>\n {this.download && (\n <Miscellaneous\n certificate={this.certificates}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { X509Crl } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CrlProp = string | X509Crl;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: X509Crl;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Crl) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Crl(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: CrlProp,\n oldValue: CrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509Crl\n && oldValue instanceof X509Crl\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate revocation list.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate revocation list available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { Pkcs10CertificateRequest } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n PublicKey,\n Attributes,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CsrProp = string | Pkcs10CertificateRequest;\n\n@Component({\n tag: 'peculiar-csr-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CsrViewer {\n private certificateDecoded: Pkcs10CertificateRequest;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CsrProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CsrProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof Pkcs10CertificateRequest) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new Pkcs10CertificateRequest(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseAttributes();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: CsrProp,\n oldValue: CsrProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof Pkcs10CertificateRequest\n && oldValue instanceof Pkcs10CertificateRequest\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private getAuthKeyIdParentLink = (value: string) => value;\n\n // eslint-disable-next-line class-methods-use-this\n private getAuthKeyIdSiblingsLink = (value: string) => value;\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate request.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate request available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n title=\"Extension Request\"\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"mappings":";;;;;;;;;;GAkBO,MAAMA,EAA4D,CAACC,EAAOC,KAC/E,MAAMC,UAAEA,GAAcF,EAEtB,OACEG,EAACC,EACC,CAAAC,KAAK,OACLC,MAAOC,EAAeL,EAAUM,IAAIC,QAEtCR,EACAE,EAAA,UACEA,EAAA,MAAIO,QAAS,EAAGC,MAAM,WACpBR,EAAA,eAGL;;;;;;;GCdI,MAAMS,EAAiDZ,IAC5D,MAAMK,KAAEA,GAASL,EAEjB,IAAKK,EAAM,CACT,OAAO,I,CAGT,OAAOA,EAAKQ,KAAKC,GACfA,EAA0BD,KAAKE,GAC7BZ,EAACC,EACC,CAAAC,KAAMW,EAAKD,EAAsBN,OAASM,EAAsBN,KAChEH,MAAOS,EAAsBT,MAAMW,gBAGvC;;;;;;;GCbG,MAAMC,EAC+BlB,IAC1C,MAAME,UAAEA,GAAcF,EAEtB,OACEG,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACS,EACC,CAAAP,KAAMH,EAAUI,QAEH;;;;;;;GCTd,MAAMa,EAC8CnB,IACzD,MAAME,UAAEA,GAAcF,EAEtB,OACEG,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACC,EAAQ,CACPC,KAAMe,EAAiB,iBACvBd,MAAM,KAERH,EAACkB,EAAa,KACZlB,EAACmB,EACC,CAAAC,YAAarB,EAAUI,MAAMkB,cAC7BC,eAAgB,IAAM,GACtBC,iBAAkB,IAAM,MAI5BvB,EAACC,EAAQ,CACPC,KAAMe,EAAiB,UACvBd,MAAM,KAERH,EAACkB,EAAa,KACZlB,EAACmB,EACC,CAAAC,YAAarB,EAAUI,MAAMqB,OAC7BF,eAAgB,IAAM,GACtBC,iBAAkB,IAAM,MAI5BvB,EAACC,EACC,CAAAC,KAAMe,EAAiB,aACvBd,MAAOJ,EAAUI,MAAMsB,YAEzBzB,EAACC,EACC,CAAAC,KAAMe,EAAiB,oBACvBd,MAAOJ,EAAUI,MAAMuB,mBAEV;;;;;;;GCxCd,MAAMC,EACkC9B,IAC7C,MAAME,UAAEA,GAAcF,EAEtB,OACEG,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACC,EAAQ,CACPC,KAAMe,EAAiB,uBACvBd,MAAM,KAERH,EAACkB,EAAa,KACZlB,EAACmB,EACC,CAAAC,YAAarB,EAAUI,MAAMyB,oBAC7BN,eAAgB,IAAM,GACtBC,iBAAkB,IAAM,MAI5BvB,EAACC,EAAQ,CACPC,KAAMe,EAAiB,sBACvBd,MAAM,KAERH,EAACkB,EAAa,KACZlB,EAACmB,EACC,CAAAC,YAAarB,EAAUI,MAAM0B,mBAC7BP,eAAgB,IAAM,GACtBC,iBAAkB,IAAM,MAI5BvB,EAACC,EAAQ,CACPC,KAAMe,EAAiB,iBACvBd,MAAM,KAERH,EAACkB,EAAa,KACZlB,EAACmB,EACC,CAAAC,YAAarB,EAAUI,MAAM2B,cAC7BR,eAAgB,IAAM,GACtBC,iBAAkB,IAAM,MAI5BvB,EAACC,EACC,CAAAC,KAAMe,EAAiB,wBACvBd,MAAOJ,EAAUI,MAAM4B,uBAEzB/B,EAACC,EACC,CAAAC,KAAMe,EAAiB,eACvBd,MAAOJ,EAAUI,MAAM6B,cAEV;;;;;;;GCtDd,MAAMC,EACyCpC,IACpD,MAAME,UAAEA,GAAcF,EACtB,MAAMM,EAAQ,GAAGJ,EAAUI,MAAM+B,aAAanC,EAAUI,MAAMgC,UAAUpC,EAAUI,MAAMiC,WAExF,OACEpC,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACC,EAAQ,CACPC,KAAK,QACLC,MAAOA,IAEM;;;;;;;GCZd,MAAMkC,EAC2CxC,IACtD,MAAME,UAAEA,GAAcF,EAEtB,OACEG,EAACJ,EAAc,CACbG,UAAWA,GAEVuC,OAAOC,KAAKxC,EAAUI,OAAOO,KAAK8B,GACjCxC,EAACC,EAAQ,CACPC,KAAMsC,EACNrC,MAAOJ,EAAUI,MAAMqC,GAASC,WAAaC,EAAKC,UAAU,OAASD,EAAKC,UAAU,UAGzE;;;;;;;GCfrB,MAAMC,EAAgBzC,IACpB,IAAI0C,EAAQ,EAEZ,GAAI1C,EAAQ,IAAM,EAAG,CACnB0C,EAAQ,G,MACH,GAAI1C,EAAQ,GAAK,EAAG,CACzB0C,EAAQ,E,CAGV,MAAO,GAAG1C,KAAS,EAAI0C,GAAO,EAGzB,MAAMC,EAC2CjD,IACtD,MAAME,UAAEA,GAAcF,EACtB,MAAMkD,EAAST,OAAOC,KAAKxC,EAAUI,OAAOO,KAAK8B,GAAO,CACtDI,EAAa7C,EAAUI,MAAMqC,IAC7BxC,EAAM,cAGR,OACEA,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACC,EAAQ,CACPC,KAAK,QACLC,MAAO4C,IAEM;;;;;;;GC7Bd,MAAMC,EACmCnD,IAC9C,MAAME,UAAEA,GAAcF,EAEtB,OACEG,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACC,EACC,CAAAC,KAAK,QACLC,MAAOJ,EAAUI,MACjB8C,UACA,OACa;;;;;;;GCZd,MAAMC,EAC2CrD,IACtD,MAAME,UAAEA,GAAcF,EAEtB,OACEG,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACC,EACC,CAAAC,KAAK,QACLC,MAAOJ,EAAUI,MAAMgD,aAEV;;;;;;;GCZd,MAAMC,EAC4CvD,IACvD,MAAME,UAAEA,GAAcF,EAEtB,OACEG,EAACJ,EACC,CAAAG,UAAWA,GAEXC,EAACC,EACC,CAAAC,KAAK,QACLC,MAAOJ,EAAUI,MAAMW,aAEV;;;;;;;GCYd,MAAMuC,EAAqDxD,IAChE,MAAMyD,WAAEA,GAAezD,EAEvB,IAAKyD,IAAeA,EAAWC,OAAQ,CACrC,OAAO,I,CAGT,OACEvD,EAACwD,EAAQ,CACPrD,MAAM,eAERmD,EAAW5C,KAAKX,IACd,IACE,GAAIA,EAAUI,iBAAiBsD,EAAM,CACnC,OACEzD,EAACe,EAAa,CACZhB,UAAWA,G,CAKjB,GAAIA,EAAUI,iBAAiBuD,EAAqB,CAClD,OACE1D,EAACgB,EAA4B,CAC3BjB,UAAWA,G,CAKjB,GAAIA,EAAUI,iBAAiBwD,EAAS,CACtC,OACE3D,EAAC2B,EAAgB,CACf5B,UAAWA,G,CAKjB,GAAIA,EAAUI,iBAAiByD,EAAgB,CAC7C,OACE5D,EAACiC,EAAuB,CACtBlC,UAAWA,G,CAKjB,GAAIA,EAAUI,iBAAiB0D,EAAkB,CAC/C,OACE7D,EAACqC,EAAyB,CACxBtC,UAAWA,G,CAKjB,GAAIA,EAAUI,iBAAiB2D,EAAkB,CAC/C,OACE9D,EAAC8C,EAAyB,CACxB/C,UAAWA,G,CAKjB,GAAIA,EAAUI,iBAAiB4D,EAAkB,CAC/C,OACE/D,EAACkD,EAAyB,CACxBnD,UAAWA,G,CAKjB,GAAIA,EAAUI,iBAAiB6D,EAAmB,CAChD,OACEhE,EAACoD,EAA0B,CACzBrD,UAAWA,G,CAKjB,UAAWA,EAAUI,QAAU,SAAU,CACvC,OACEH,EAACgD,EAAiB,CAChBjD,UAAWA,G,CAKjB,OACEC,EAACJ,EAAc,CACbG,UAAWA,G,CAGf,MAAOkE,GACPC,QAAQD,MAAM,0BAA2BlE,EAAUM,IAAIC,MAEvD,OAAO,I,KAGZ;;;;;;;GCtHI,MAAM6D,EAAuEtE,IAClF,MAAMuE,oBACJA,EAAmB9C,eACnBA,EAAcC,iBACdA,GACE1B,EAEJ,IAAKuE,IAAwBA,EAAoBb,OAAQ,CACvD,OAAO,I,CAGT,MAAO,CACLvD,EAACwD,EACC,CAAArD,MAAOuC,EAAKC,UAAU,yBAExByB,EAAoB1D,KAAK2D,GAAW,CAClCrE,EAACC,EAAQ,CACPC,KAAMwC,EAAKC,UAAU,gBACrBxC,MAAOmE,UAAQC,MAAMF,EAAYG,iBACjCvB,UACA,OACFjD,EAACC,EAAQ,CACPC,KAAMwC,EAAKC,UAAU,kBACrBxC,MAAOsE,EAAUJ,EAAYK,eAAeC,aAE7CN,EAAYO,oBAAsBP,EAAYO,mBAAmBrB,QAAM,CACtEvD,EAACC,EACC,CAAAC,KAAM,GAAGwC,EAAKC,UAAU,yBACxBxC,MAAM,KAERH,EAACkB,EAEG,KAAAmD,EAAYO,mBAAmBlE,KAAKmE,IAClC,GAAIA,EAAU1E,iBAAiB2E,EAAW,CACxC,OACE9E,EAACC,EAAQ,CACPC,KAAME,EAAeyE,EAAUxE,IAAI0E,QACnC5E,MAAO0E,EAAU1E,MAAM6E,UAAYH,EAAU1E,MAAM8E,Q,CAKzD,GAAIJ,EAAU1E,iBAAiB+E,EAAgB,CAC7C,OACElF,EAACC,EACC,CAAAC,KAAME,EAAeyE,EAAUxE,IAAI0E,QACnC5E,MAAO0E,EAAU1E,MAAMA,MAAMwE,W,CAKnC,GAAIE,EAAU1E,iBAAiBgF,GAAqBN,EAAU1E,MAAMoD,OAAQ,CAC1E,OACEvD,EAACC,EACC,CAAAC,KAAM,GAAGE,EAAeyE,EAAUxE,IAAI0E,WACtC5E,MAAM,KAER0E,EAAU1E,MAAMO,KAAK0E,GACnBpF,EAACkB,EAAa,KACZlB,EAACmB,EACC,CAAAC,YAAagE,EACb9D,eAAgBA,EAChBC,iBAAkBA,O,CAO5B,OACEvB,EAACC,EAAQ,CACPC,KAAME,EAAeyE,EAAUxE,IAAI0E,QACnC5E,MAAOmE,UAAQC,MAAMM,EAAUxE,IAAIgF,WACnCpC,UAAS,MACT,MAMZjD,EAAA,UACEA,EAAA,MAAIO,QAAS,EAAGC,MAAM,WACpBR,EAAA,kBAIP;;;;;;;GCvFI,MAAMsF,EAA6CzF,IACxD,MAAM0F,OAAEA,GAAW1F,EAEnB,IAAK0F,EAAQ,CACX,OAAO,I,CAGT,MAAMC,kBAAEA,EAAiBC,iBAAEA,GAAqBF,EAEhD,MAAO,CACLvF,EAACwD,EACC,CAAArD,MAAOuC,EAAKC,UAAU,YAExB6C,GAAiB,CACfA,EAAkBE,OAAOhF,KAAKiF,GAC5B3F,EAACmB,EAAe,CACdC,YAAauE,EACbrE,eAAgB,IAAM,GACtBC,iBAAkB,IAAM,OAG5BvB,EAAA,UACEA,EAAM,WACNA,EAAA,YAEFA,EAACC,EAAQ,CACPC,KAAMwC,EAAKC,UAAU,gBACrBxC,MAAOmE,UAAQC,MAAMiB,EAAkBI,QACvC3C,UACA,OACFjD,EAAA,UACEA,EAAM,WACNA,EAAA,aAGJyF,GAAgB,CACdzF,EAACC,EAAQ,CACPC,KAAMwC,EAAKC,UAAU,cACrBxC,MAAM,KAERH,EAACkB,EAAa,KACZlB,EAACC,EAAQ,CACPC,KAAMwC,EAAKC,UAAU,aACrBxC,MAAOC,EAAeqF,EAAiBI,gBAAgBC,aAEzD9F,EAACC,EAAQ,CACPC,KAAMwC,EAAKC,UAAU,SACrBxC,MAAOmE,UAAQC,MAAMkB,EAAiBM,cACtC9C,UACA,OACFjD,EAACC,EACC,CAAAC,KAAMwC,EAAKC,UAAU,QACrBxC,MAAOsF,EAAiBO,uBAI/B;;;;;;;GCzDI,MAAMC,GAA6CpG,IACxD,MAAM6F,OAAEA,GAAW7F,EAEnB,IAAK6F,EAAQ,CACX,OAAO,I,CAGT,MAAO,CACL1F,EAACwD,EACC,CAAArD,MAAOuC,EAAKC,UAAU,YAExB+C,EAAOhF,KAAKiF,GACV3F,EAACmB,EAAe,CACdC,YAAauE,EACbrE,eAAgB,IAAM,GACtBC,iBAAkB,IAAM,OAG7B,ECrCH,MAAM2E,GAAuB,mhS,MCuChBC,GAA0B,MALvC,WAAAC,CAAAC,G,UAiE4BC,KAAsBC,uBAAY,qBAEnDD,KAAgBE,iBAAY,MAE5BF,KAAiBG,kBAAY,KAuE9BH,KAAAI,uBAA0BvG,I,MAAkB,OAAAwG,EAAAL,KAAKM,uBAAmB,MAAAD,SAAA,SAAAA,EACxEE,QAAQ,gBAAiB1G,EAAM,EAE3BmG,KAAAQ,yBAA4B3G,I,MAAkB,OAAAwG,EAAAL,KAAKS,yBAAqB,MAAAJ,SAAA,SAAAA,EAC5EE,QAAQ,gBAAiB1G,EAAM,EAE3BmG,KAAAU,4BAA+B7G,I,MAAkB,OAAAwG,EAAAL,KAAKW,4BAAwB,MAAAN,SAAA,SAAAA,EAClFE,QAAQ,mBAAoB1G,EAAM,EAE9BmG,KAAAY,4BAA+B/G,I,MAAkB,OAAAwG,EAAAL,KAAKa,4BAAwB,MAAAR,SAAA,SAAAA,EAClFE,QAAQ,mBAAoB1G,EAAM,CAyFvC,CAxKS,sBAAAiH,CAAuBC,GAC7Bf,KAAKE,iBAAmBa,EAAMC,O,CAGhC,iBAAAC,GACEjB,KAAKkB,kBAAkBlB,KAAKjC,aAEP,CACnBiC,KAAKmB,iBAAmBC,OAAOC,WAAWrB,KAAKC,wBAC/CD,KAAKmB,iBAAiBG,iBAAiB,SAAUtB,KAAKc,uBAAuBS,KAAKvB,OAClFA,KAAKE,iBAAmBF,KAAKmB,iBAAiBH,O,EAIlD,oBAAAQ,GACExB,KAAKmB,iBAAiBM,oBAAoB,SAAUzB,KAAKc,uBAAuBS,KAAKvB,M,CAG/E,uBAAMkB,CAAkBnD,GAC9BiC,KAAKG,kBAAoB,KAEzB,IACE,GAAIpC,aAAuB2D,EAA0B,CACnD1B,KAAK2B,mBAAqB5D,C,MACrB,UAAWA,IAAgB,SAAU,CAC1CiC,KAAK2B,mBAAqB,IAAID,EAAyB3D,E,KAClD,CACL,M,CAGFiC,KAAK2B,mBAAmBC,kBACxB5B,KAAK2B,mBAAmBE,wBAClB7B,KAAK2B,mBAAmBG,cAAc,eACtC9B,KAAK2B,mBAAmBG,cAAc,U,CAC5C,MAAOnE,GACPqC,KAAK+B,uBAAyBpE,EAE9BC,QAAQD,MAAM,2BAA4BA,E,CAG5CqC,KAAKG,kBAAoB,K,CAO3B,yBAAA6B,CACEC,EACAC,GAEA,UAAWD,IAAa,iBAAmBC,IAAa,SAAU,CAChE,GAAID,IAAaC,EAAU,CACzBlC,KAAKkB,kBAAkBe,E,CAGzB,M,CAGF,GACEA,aAAoBP,GACjBQ,aAAoBR,EACvB,CACA,GAAIO,EAASE,eAAiBD,EAASC,aAAc,CACnDnC,KAAKkB,kBAAkBe,E,GAkBrB,gBAAAG,GACN,OACE1I,EAAA,OAAKQ,MAAM,kBACTR,EAAC2I,EAAU,gE,CAQT,gBAAAC,GACN,OACE5I,EAAA,OAAKQ,MAAM,kBACTR,EAAC2I,EAAU,qD,CAOjB,MAAAE,GACE,GAAIvC,KAAK+B,uBAAwB,CAC/B,OAAO/B,KAAKoC,kB,CAGd,IAAKpC,KAAK2B,mBAAoB,CAC5B,OAAO3B,KAAKsC,kB,CAGd,OACE5I,EAAC8I,EAAI,2BACsBC,OAAOzC,KAAKE,mBAErCxG,EAAA,aACEA,EAACgJ,EAAgB1G,OAAA2G,OAAA,GACX3C,KAAK2B,qBAGXjI,EAACiG,GAAM,CACLP,OAAQY,KAAK2B,mBAAmBvC,SAGlC1F,EAACsF,EAAM,CACLC,OAAQe,KAAK2B,mBAAmB1C,SAGlCvF,EAACkJ,EAAS,CACRC,UAAW7C,KAAK2B,mBAAmBkB,YAGrCnJ,EAACoJ,EAAW,CACVC,YAAa/C,KAAK2B,mBAAmBoB,cAGvCrJ,EAACqD,EAAU,CACTC,WAAYgD,KAAK2B,mBAAmB3E,WACpCgG,WAAYA,EACZhI,eAAgBA,EAChBC,iBAAkBA,EAClBmF,uBAAwBJ,KAAKI,uBAC7BI,yBAA0BR,KAAKQ,yBAC/BE,4BAA6BV,KAAKU,4BAClCE,4BAA6BZ,KAAKY,8BAGpClH,EAACuJ,EAAU,CACTC,WAAYlD,KAAK2B,mBAAmBuB,WACpCF,WAAYA,EACZhI,eAAgBA,EAChBC,iBAAkBA,EAClBmF,uBAAwBJ,KAAKI,uBAC7BI,yBAA0BR,KAAKQ,yBAC/BE,4BAA6BV,KAAKU,4BAClCE,4BAA6BZ,KAAKY,8BAGnCZ,KAAKmD,UACJzJ,EAAC0J,EACC,CAAArF,YAAaiC,KAAK2B,sB,uFC1QhC,MAAM0B,GAA4B,22jB,MC6BrBC,GAAsB,MALnC,WAAAxD,CAAAC,G,UAgBWC,KAAwBuD,yBAAW,CA6D7C,CA1DS,gBAAAjB,GACN,OACE5I,EAAA,OAAKQ,MAAM,kBACTR,EAAC2I,EAAU,4C,CAOjB,MAAAE,GACE,IAAKvC,KAAKwD,aAAc,CACtB,OAAOxD,KAAKsC,kB,CAGd,OACE5I,EAAC8I,EAAI,KACH9I,EACE,OAAA+J,KAAK,UACLvJ,MAAM,QAELwJ,MAAMC,KAAK3D,KAAKwD,cAAcpJ,KAAI,CAAC2D,EAAa6F,IAC/ClK,EAAA,UACEM,KAAK,SACLyJ,KAAK,MACLvJ,MAAM,MACS,gBAAA0J,IAAU5D,KAAKuD,yBAA2B,OAAS,QAClEM,QAAS,KACP7D,KAAKuD,yBAA2BK,CAAK,GAGtC7F,EAAY+F,eAIlBJ,MAAMC,KAAK3D,KAAKwD,cAAcpJ,KAAI,CAAC2D,EAAa6F,KAC/C,GAAIA,IAAU5D,KAAKuD,yBAA0B,CAC3C,OACE7J,EACE,+BAAAqE,YAAaA,EACboF,SAAU,O,CAKhB,OAAO,IAAI,IAGbzJ,EAAA,aACGsG,KAAKmD,UACJzJ,EAAC0J,EACC,CAAArF,YAAaiC,KAAKwD,gB,eC9FhC,MAAM5D,GAAuB,mhS,MCsChBmE,GAAS,MALtB,WAAAjE,CAAAC,G,UAqD4BC,KAAsBC,uBAAY,qBAEnDD,KAAgBE,iBAAY,MAE5BF,KAAiBG,kBAAY,KA4C9BH,KAAAI,uBAA0BvG,I,MAAkB,OAAAwG,EAAAL,KAAKM,uBAAmB,MAAAD,SAAA,SAAAA,EACxEE,QAAQ,gBAAiB1G,EAAM,EAE3BmG,KAAAQ,yBAA4B3G,I,MAAkB,OAAAwG,EAAAL,KAAKS,yBAAqB,MAAAJ,SAAA,SAAAA,EAC5EE,QAAQ,gBAAiB1G,EAAM,CA6GpC,CA3JS,sBAAAiH,CAAuBC,GAC7Bf,KAAKE,iBAAmBa,EAAMC,O,CAGhC,iBAAAC,GACEjB,KAAKkB,kBAAkBlB,KAAKjC,aAEP,CACnBiC,KAAKmB,iBAAmBC,OAAOC,WAAWrB,KAAKC,wBAC/CD,KAAKmB,iBAAiBG,iBAAiB,SAAUtB,KAAKc,uBAAuBS,KAAKvB,OAClFA,KAAKE,iBAAmBF,KAAKmB,iBAAiBH,O,EAIlD,oBAAAQ,GACExB,KAAKmB,iBAAiBM,oBAAoB,SAAUzB,KAAKc,uBAAuBS,KAAKvB,M,CAG/E,uBAAMkB,CAAkBnD,GAC9BiC,KAAKG,kBAAoB,KAEzB,IACE,GAAIpC,aAAuBiG,EAAS,CAClChE,KAAK2B,mBAAqB5D,C,MACrB,UAAWA,IAAgB,SAAU,CAC1CiC,KAAK2B,mBAAqB,IAAIqC,EAAQjG,E,KACjC,CACL,M,CAGFiC,KAAK2B,mBAAmBC,wBAClB5B,KAAK2B,mBAAmBG,cAAc,eACtC9B,KAAK2B,mBAAmBG,cAAc,U,CAC5C,MAAOnE,GACPqC,KAAK+B,uBAAyBpE,EAE9BC,QAAQD,MAAM,2BAA4BA,E,CAG5CqC,KAAKG,kBAAoB,K,CASnB,eAAA8D,GACN,OAAOjE,KAAKkE,Y,CAOd,yBAAAlC,CACEC,EACAC,GAEA,UAAWD,IAAa,iBAAmBC,IAAa,SAAU,CAChE,GAAID,IAAaC,EAAU,CACzBlC,KAAKkB,kBAAkBe,E,CAGzB,M,CAGF,GACEA,aAAoB+B,GACjB9B,aAAoB8B,EACvB,CACA,GAAI/B,EAAS6B,aAAe5B,EAAS4B,WAAY,CAC/C9D,KAAKkB,kBAAkBe,E,GAMrB,gBAAAG,GACN,OACE1I,EAAA,OAAKQ,MAAM,kBACTR,EAAC2I,EAAU,sE,CAQT,gBAAAC,GACN,OACE5I,EAAA,OAAKQ,MAAM,kBACTR,EAAC2I,EAAU,2D,CAOjB,MAAAE,GACE,GAAIvC,KAAK+B,uBAAwB,CAC/B,OAAO/B,KAAKoC,kB,CAGd,IAAKpC,KAAK2B,mBAAoB,CAC5B,OAAO3B,KAAKsC,kB,CAGd,OACE5I,EAAC8I,EAAI,2BACsBC,OAAOzC,KAAKE,mBAErCxG,EAAA,aACEA,EAACgJ,EAAgB1G,OAAA2G,OAAA,GACX3C,KAAK2B,qBAGXjI,EAACyK,EACC,CAAAvK,KAAMoG,KAAK2B,mBAAmBvC,OAC9B8E,aAAclE,KAAKiE,oBAGrBvK,EAACkJ,EAAS,CACRC,UAAW7C,KAAK2B,mBAAmBkB,YAGrCnJ,EAACoJ,EAAW,CACVC,YAAa/C,KAAK2B,mBAAmBoB,cAGvCrJ,EAACuJ,EAAU,CACTC,WAAYlD,KAAK2B,mBAAmBuB,WACpCF,WAAYA,EACZhI,eAAgBA,EAChBC,iBAAkBA,EAClBmF,uBAAwBJ,KAAKI,uBAC7BI,yBAA0BR,KAAKQ,2BAGjC9G,EAACmE,EACC,CAAAC,oBAAqBkC,KAAK2B,mBAAmB7D,oBAC7C9C,eAAgBA,EAChBC,iBAAkBA,IAGnB+E,KAAKmD,UACJzJ,EAAC0J,EACC,CAAArF,YAAaiC,KAAK2B,sB,uFChPhC,MAAM/B,GAAuB,mhS,MCuChBwE,GAAS,MALtB,WAAAtE,CAAAC,G,UA+C4BC,KAAsBC,uBAAY,qBAEnDD,KAAgBE,iBAAY,MAE5BF,KAAiBG,kBAAY,KAuE9BH,KAAAI,uBAA0BvG,GAAkBA,EAG5CmG,KAAAQ,yBAA4B3G,GAAkBA,EAE9CmG,KAAAU,4BAA+B7G,I,MAAkB,OAAAwG,EAAAL,KAAKW,4BAAwB,MAAAN,SAAA,SAAAA,EAClFE,QAAQ,mBAAoB1G,EAAM,EAE9BmG,KAAAY,4BAA+B/G,I,MAAkB,OAAAwG,EAAAL,KAAKa,4BAAwB,MAAAR,SAAA,SAAAA,EAClFE,QAAQ,mBAAoB1G,EAAM,CA0FvC,CAxKS,sBAAAiH,CAAuBC,GAC7Bf,KAAKE,iBAAmBa,EAAMC,O,CAGhC,iBAAAC,GACEjB,KAAKkB,kBAAkBlB,KAAKjC,aAEP,CACnBiC,KAAKmB,iBAAmBC,OAAOC,WAAWrB,KAAKC,wBAC/CD,KAAKmB,iBAAiBG,iBAAiB,SAAUtB,KAAKc,uBAAuBS,KAAKvB,OAClFA,KAAKE,iBAAmBF,KAAKmB,iBAAiBH,O,EAIlD,oBAAAQ,GACExB,KAAKmB,iBAAiBM,oBAAoB,SAAUzB,KAAKc,uBAAuBS,KAAKvB,M,CAG/E,uBAAMkB,CAAkBnD,GAC9BiC,KAAKG,kBAAoB,KAEzB,IACE,GAAIpC,aAAuBsG,EAA0B,CACnDrE,KAAK2B,mBAAqB5D,C,MACrB,UAAWA,IAAgB,SAAU,CAC1CiC,KAAK2B,mBAAqB,IAAI0C,EAAyBtG,E,KAClD,CACL,M,CAGFiC,KAAK2B,mBAAmBE,wBAClB7B,KAAK2B,mBAAmBG,cAAc,eACtC9B,KAAK2B,mBAAmBG,cAAc,U,CAC5C,MAAOnE,GACPqC,KAAK+B,uBAAyBpE,EAE9BC,QAAQD,MAAM,2BAA4BA,E,CAG5CqC,KAAKG,kBAAoB,K,CAO3B,yBAAA6B,CACEC,EACAC,GAEA,UAAWD,IAAa,iBAAmBC,IAAa,SAAU,CAChE,GAAID,IAAaC,EAAU,CACzBlC,KAAKkB,kBAAkBe,E,CAGzB,M,CAGF,GACEA,aAAoBoC,GACjBnC,aAAoBmC,EACvB,CACA,GAAIpC,EAAS6B,aAAe5B,EAAS4B,WAAY,CAC/C9D,KAAKkB,kBAAkBe,E,GAkBrB,gBAAAG,GACN,OACE1I,EAAA,OAAKQ,MAAM,kBACTR,EAAC2I,EAAU,8D,CAQT,gBAAAC,GACN,OACE5I,EAAA,OAAKQ,MAAM,kBACTR,EAAC2I,EAAU,mD,CAOjB,MAAAE,GACE,GAAIvC,KAAK+B,uBAAwB,CAC/B,OAAO/B,KAAKoC,kB,CAGd,IAAKpC,KAAK2B,mBAAoB,CAC5B,OAAO3B,KAAKsC,kB,CAGd,OACE5I,EAAC8I,EAAI,2BACsBC,OAAOzC,KAAKE,mBAErCxG,EAAA,aACEA,EAACgJ,EAAgB1G,OAAA2G,OAAA,GACX3C,KAAK2B,qBAGXjI,EAAC4K,EAAW,CACV1K,KAAMoG,KAAK2B,mBAAmB4C,UAGhC7K,EAAC8K,EAAS,CACRC,UAAWzE,KAAK2B,mBAAmB8C,YAGrC/K,EAACkJ,EAAS,CACRC,UAAW7C,KAAK2B,mBAAmBkB,YAGrCnJ,EAACoJ,EAAW,CACVC,YAAa/C,KAAK2B,mBAAmBoB,cAGvCrJ,EAACqD,EAAU,CACTC,WAAYgD,KAAK2B,mBAAmB3E,WACpCgG,WAAYA,EACZhI,eAAgBA,EAChBC,iBAAkBA,EAClBmF,uBAAwBJ,KAAKI,uBAC7BI,yBAA0BR,KAAKQ,yBAC/BE,4BAA6BV,KAAKU,4BAClCE,4BAA6BZ,KAAKY,8BAGpClH,EAACuJ,EAAU,CACTC,WAAYlD,KAAK2B,mBAAmBuB,WACpCwB,MAAM,oBACN1B,WAAYA,EACZhI,eAAgBA,EAChBC,iBAAkBA,EAClBmF,uBAAwBJ,KAAKI,uBAC7BI,yBAA0BR,KAAKQ,yBAC/BE,4BAA6BV,KAAKU,4BAClCE,4BAA6BZ,KAAKY,8BAGnCZ,KAAKmD,UACJzJ,EAAC0J,EACC,CAAArF,YAAaiC,KAAK2B,sB","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["id_data","id_signedData","X509Certificates","_super","__extends","raw","_this","call","this","rawItems","PemConverter","isPem","decode","map","value","Convert","ToBase64Url","split","length","Error","_i","rawItems_1","item","push","X509Certificate","Object","defineProperty","prototype","Array","from","o","commonName","join","signedData","SignedData","version","encapContentInfo","eContentType","eContent","EncapsulatedContent","single","OctetString","certificates","CertificateSet","CertificateChoices","certificate","AsnConvert","parse","Certificate","cms","ContentInfo","contentType","content","serialize","toString","format","downloadAsPEM","name","Download","cert","asPEM","downloadAsDER","asDER","certificateDecoderCss","CertificateDecoder","exports","class_1","hostRef","handleClickDecode","inputPaste","handleClickClear","clearValue","handleChangeInputFile","event","__awaiter","element","target","files","readAsBinaryString","file","_b","sent","handleChangeExample","handleDropFile","stopPropagation","preventDefault","dataTransfer","componentDidLoad","certificateToDecode","setTimeout","certificateDecoded","clearCertificate","emit","setValue","successParse","Promise","resolve","catch","X509AttributeCertificate","Pkcs10CertificateRequest","X509Crl","then","res","error","console","log","alert","concat","renderCertificate","h","download","render","Host","key","placeholder","class","ref","el","onDrop","Typography","variant","color","type","accept","onChange","_a","certificateExamples","example","title","Button","onClick"],"sources":["../../node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js","src/crypto/x509_certificates.ts","src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["export const id_ct_contentInfo = \"1.2.840.113549.1.9.16.1.6\";\nexport const id_data = \"1.2.840.113549.1.7.1\";\nexport const id_signedData = \"1.2.840.113549.1.7.2\";\nexport const id_envelopedData = \"1.2.840.113549.1.7.3\";\nexport const id_digestedData = \"1.2.840.113549.1.7.5\";\nexport const id_encryptedData = \"1.2.840.113549.1.7.6\";\nexport const id_authData = \"1.2.840.113549.1.9.16.1.2\";\n","import { Convert } from 'pvtsutils';\nimport {\n SignedData,\n id_data,\n EncapsulatedContent,\n CertificateSet,\n CertificateChoices,\n ContentInfo,\n id_signedData,\n} from '@peculiar/asn1-cms';\nimport { Certificate } from '@peculiar/asn1-x509';\nimport { AsnConvert, OctetString } from '@peculiar/asn1-schema';\n\nimport { Download } from '../utils';\n\nimport { PemConverter } from './pem_converter';\nimport { X509Certificate } from './x509_certificate';\n\nexport class X509Certificates extends Array<X509Certificate> {\n constructor(raw: string) {\n super();\n\n const rawItems = PemConverter.isPem(raw)\n ? PemConverter.decode(raw).map((value) => Convert.ToBase64Url(value))\n : raw.split(',');\n\n if (rawItems.length < 2) {\n throw new Error('Unable to parse string. The array of elements is less than 2');\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const item of rawItems) {\n this.push(new X509Certificate(item));\n }\n }\n\n public get commonName(): string {\n return Array.from(this)\n .map((o) => o.commonName)\n .join('_');\n }\n\n public get raw(): ArrayBuffer {\n const signedData = new SignedData();\n\n signedData.version = 1;\n signedData.encapContentInfo.eContentType = id_data;\n signedData.encapContentInfo.eContent = new EncapsulatedContent({\n single: new OctetString(),\n });\n signedData.certificates = new CertificateSet(\n Array.from(this).map((o) => new CertificateChoices({\n certificate: AsnConvert.parse(o.raw, Certificate),\n })),\n );\n\n const cms = new ContentInfo({\n contentType: id_signedData,\n content: AsnConvert.serialize(signedData),\n });\n\n return AsnConvert.serialize(cms);\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return Array.from(this)\n .map((o) => o.toString('pem'))\n .join('\\n');\n case 'base64url':\n return Array.from(this)\n .map((o) => o.toString('base64url'))\n .join(',');\n default:\n return Array.from(this)\n .map((o) => o.toString('base64'))\n .join(',');\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base-12);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n X509Certificates,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateToDecode?: string;\n\n @State() certificateDecoded: X509Certificates\n | X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.certificateToDecode) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.certificateToDecode), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.toString('pem');\n this.successParse.emit(value.toString('base64url'));\n }\n\n decode(value: string) {\n new Promise<X509Certificates>((resolve) => {\n resolve(new X509Certificates(value));\n })\n .catch(() => new X509Certificate(value))\n .catch(() => new X509AttributeCertificate(value))\n .catch(() => new Pkcs10CertificateRequest(value))\n .catch(() => new X509Crl(value))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((error) => {\n console.log(error);\n\n alert(`Error decoding certificate:\\n\"${value}\"\\n\\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.`);\n });\n }\n\n renderCertificate() {\n if (this.certificateDecoded instanceof X509Certificates) {\n return (\n <peculiar-certificate-chain-viewer\n certificates={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Certificate) {\n return (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509AttributeCertificate) {\n return (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof Pkcs10CertificateRequest) {\n return (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Crl) {\n return (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n return null;\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.renderCertificate()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["certificateViewerCss","CertificateViewer","exports","class_1","hostRef","_this","this","mobileMediaQueryString","mobileScreenView","isDecodeInProcess","getAuthKeyIdParentLink","value","_a","authKeyIdParentLink","replace","getAuthKeyIdSiblingsLink","authKeyIdSiblingsLink","getSubjectKeyIdChildrenLink","subjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","subjectKeyIdSiblingsLink","prototype","handleMediaQueryChange","event","matches","componentWillLoad","decodeCertificate","certificate","mobileMediaQuery","window","matchMedia","addEventListener","bind","disconnectedCallback","removeEventListener","X509Certificate","certificateDecoded","parseExtensions","getThumbprint","_b","sent","certificateDecodeError","error_1","console","error","watchCertificateAndDecode","newValue","oldValue","serialNumber","getIssuerDnLink","issuerDnLink","renderErrorState","h","class","Typography","renderEmptyState","render","Host","String","BasicInformation","Object","assign","SubjectName","name","subject","IssuerName","issuer","PublicKey","publicKey","Signature","signature","Thumbprints","thumbprints","Extensions","extensions","getLEILink","getDNSNameLink","getIPAddressLink","download","Miscellaneous"],"sources":["src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-certificate-viewer&encapsulation=shadow","src/components/certificate-viewer/certificate-viewer.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\n\nimport {\n X509Certificate,\n} from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n IssuerName,\n PublicKey,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CertificateProp = string | X509Certificate;\n\n@Component({\n tag: 'peculiar-certificate-viewer',\n styleUrl: 'certificate-viewer.scss',\n shadow: true,\n})\nexport class CertificateViewer {\n private certificateDecoded: X509Certificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Certificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Certificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: CertificateProp, oldValue: CertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof X509Certificate && oldValue instanceof X509Certificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}