swh.web 0.16.2__py3-none-any.whl → 0.16.4__py3-none-any.whl

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 (144) hide show
  1. swh/web/add_forge_now/templates/add-forge-request-dashboard.html +5 -2
  2. swh/web/api/views/origin.py +2 -2
  3. swh/web/archive_coverage/views.py +4 -7
  4. swh/web/badges/__init__.py +1 -1
  5. swh/web/badges/assets/index.js +40 -14
  6. swh/web/browse/assets/browse/browse.css +5 -0
  7. swh/web/browse/assets/browse/sidetabs.js +3 -16
  8. swh/web/browse/templates/browse-iframe.html +10 -7
  9. swh/web/browse/templates/browse-origin-visits.html +2 -2
  10. swh/web/browse/templates/browse-revision.html +5 -3
  11. swh/web/browse/templates/includes/content-display.html +10 -5
  12. swh/web/browse/templates/includes/readme-display.html +3 -2
  13. swh/web/browse/templates/includes/show-metadata.html +3 -2
  14. swh/web/browse/templates/includes/sidetabs.html +9 -7
  15. swh/web/browse/templates/includes/top-navigation.html +2 -1
  16. swh/web/browse/tests/views/test_origin.py +3 -1
  17. swh/web/deposit/templates/deposit-admin.html +6 -1
  18. swh/web/inbound_email/handle_message.py +1 -1
  19. swh/web/inbound_email/tests/test_utils.py +2 -2
  20. swh/web/save_code_now/assets/origin-save-admin.js +5 -2
  21. swh/web/save_code_now/assets/origin-save.js +9 -4
  22. swh/web/static/css/{archive_coverage.70eba3d32ed75472d638.css → archive_coverage.df54ae8fe40453ecd972.css} +2 -2
  23. swh/web/static/css/archive_coverage.df54ae8fe40453ecd972.css.map +1 -0
  24. swh/web/static/css/browse.633076034514e6a3977d.css +2 -0
  25. swh/web/static/css/browse.633076034514e6a3977d.css.map +1 -0
  26. swh/web/static/css/guided_tour.d496a0c252e1bb193496.css +2 -0
  27. swh/web/static/css/{guided_tour.62c03630e944b8b8d9ad.css.map → guided_tour.d496a0c252e1bb193496.css.map} +1 -1
  28. swh/web/static/css/{highlightjs.0c1b181eb006699a4c3e.css → highlightjs.37238c93749cb449800d.css} +2 -2
  29. swh/web/static/css/highlightjs.37238c93749cb449800d.css.map +1 -0
  30. swh/web/static/css/origin_visits.9a796c4df6606bd9905f.css +2 -0
  31. swh/web/static/css/origin_visits.9a796c4df6606bd9905f.css.map +1 -0
  32. swh/web/static/css/vendors.a4844da6ce54cbc04960.css +24 -0
  33. swh/web/static/css/vendors.a4844da6ce54cbc04960.css.map +1 -0
  34. swh/web/static/css/{webapp.4655323082740f1a4862.css → webapp.e995faa24f8c84db0d06.css} +2 -2
  35. swh/web/static/css/webapp.e995faa24f8c84db0d06.css.map +1 -0
  36. swh/web/static/js/add_forge_now.e85d09463e38c1e19632.js +3 -0
  37. swh/web/static/js/add_forge_now.e85d09463e38c1e19632.js.map +1 -0
  38. swh/web/static/js/auth.06c697ab58b81d08ebce.js +3 -0
  39. swh/web/static/js/auth.06c697ab58b81d08ebce.js.map +1 -0
  40. swh/web/static/js/badges.50941e27bf5e4453b0e0.js +3 -0
  41. swh/web/static/js/badges.50941e27bf5e4453b0e0.js.LICENSE.txt +6 -0
  42. swh/web/static/js/badges.50941e27bf5e4453b0e0.js.map +1 -0
  43. swh/web/static/js/browse.3f22819b69002c8b6407.js +3 -0
  44. swh/web/static/js/browse.3f22819b69002c8b6407.js.map +1 -0
  45. swh/web/static/js/deposit.d47e18177b16ccdbdb84.js.map +1 -1
  46. swh/web/static/js/{highlightjs.dc9b8354c69d942fad33.js → highlightjs.516e784a1e62011c7605.js} +3 -3
  47. swh/web/static/js/highlightjs.516e784a1e62011c7605.js.map +1 -0
  48. swh/web/static/js/mailmap.de04f685e56eff5b627f.js +3 -0
  49. swh/web/static/js/mailmap.de04f685e56eff5b627f.js.map +1 -0
  50. swh/web/static/js/mathjax.98ef576f318f1a0b0c4a.js.map +1 -1
  51. swh/web/static/js/pdf.worker.min.js +1 -1
  52. swh/web/static/js/pdfjs.018d9890c044b3612ece.js +3 -0
  53. swh/web/static/js/pdfjs.018d9890c044b3612ece.js.map +1 -0
  54. swh/web/static/js/{revision.ac9293e1b984b4d4d909.js → revision.122a31614a5f9abffc3c.js} +3 -3
  55. swh/web/static/js/revision.122a31614a5f9abffc3c.js.map +1 -0
  56. swh/web/static/js/save_code_now.d4d8fc47420a4badb683.js +3 -0
  57. swh/web/static/js/save_code_now.d4d8fc47420a4badb683.js.map +1 -0
  58. swh/web/static/js/vault.d2ec3dd1d84a8d038a6c.js +3 -0
  59. swh/web/static/js/vault.d2ec3dd1d84a8d038a6c.js.map +1 -0
  60. swh/web/static/js/vendors.f62cb86cf3b92ae280ee.js +3 -0
  61. swh/web/static/js/{vendors.2eeadf2e0831a7a82b6d.js.LICENSE.txt → vendors.f62cb86cf3b92ae280ee.js.LICENSE.txt} +5 -1
  62. swh/web/static/js/vendors.f62cb86cf3b92ae280ee.js.map +1 -0
  63. swh/web/static/js/webapp.e93873983e400db67bf8.js +3 -0
  64. swh/web/static/js/{webapp.26efc059a8f5fe204240.js.LICENSE.txt → webapp.e93873983e400db67bf8.js.LICENSE.txt} +1 -1
  65. swh/web/static/js/webapp.e93873983e400db67bf8.js.map +1 -0
  66. swh/web/static/jssources/@myriaddreamin/highlighter-typst/dist/esm/contrib/hljs/typst-lite.bundle.js +180 -111
  67. swh/web/static/jssources/assets/src/utils/functions.js +5 -5
  68. swh/web/static/jssources/core-js/LICENSE.txt +1 -1
  69. swh/web/static/jssources/core-js/internals/shared-store.js +3 -3
  70. swh/web/static/jssources/core-js/modules/es.object.group-by.js +2 -1
  71. swh/web/static/jssources/datatables.net/js/dataTables.mjs +108 -44
  72. swh/web/static/jssources/datatables.net-fixedheader/js/dataTables.fixedHeader.mjs +10 -4
  73. swh/web/static/jssources/datatables.net-fixedheader/node_modules/datatables.net/js/dataTables.mjs +14027 -0
  74. swh/web/static/jssources/datatables.net-fixedheader-bs5/node_modules/datatables.net/js/dataTables.mjs +14027 -0
  75. swh/web/static/jssources/datatables.net-fixedheader-bs5/node_modules/datatables.net-bs5/js/dataTables.bootstrap5.mjs +81 -0
  76. swh/web/static/jssources/dompurify/dist/purify.es.mjs +35 -12
  77. swh/web/static/jssources/highlightjs-line-numbers.js/src/highlightjs-line-numbers.js +1 -1
  78. swh/web/static/jssources/highlightjs-macaulay2/dist/macaulay2.min.js +3 -3
  79. swh/web/static/jssources/jslicenses.json +1 -1
  80. swh/web/static/jssources/pdfjs-dist/build/pdf.worker.mjs +885 -596
  81. swh/web/static/jssources/pdfjs-dist/legacy/build/pdf.mjs +4982 -4566
  82. swh/web/static/jssources/swh/web/badges/assets/index.js +40 -14
  83. swh/web/static/jssources/swh/web/browse/assets/browse/sidetabs.js +3 -16
  84. swh/web/static/jssources/swh/web/save_code_now/assets/origin-save-admin.js +5 -2
  85. swh/web/static/jssources/swh/web/save_code_now/assets/origin-save.js +9 -4
  86. swh/web/static/jssources/swh/web/vault/assets/vault-ui.js +6 -4
  87. swh/web/static/jssources/swh/web/webapp/assets/webapp/webapp-utils.js +18 -1
  88. swh/web/static/security.txt +3 -0
  89. swh/web/static/webpack-stats.json +240 -235
  90. swh/web/tests/views.py +9 -8
  91. swh/web/utils/archive.py +1 -1
  92. swh/web/utils/swh_templatetags.py +8 -13
  93. swh/web/vault/assets/vault-ui.js +6 -4
  94. swh/web/webapp/assets/webapp/webapp-utils.js +18 -1
  95. swh/web/webapp/assets/webapp/webapp.css +8 -0
  96. swh/web/webapp/templates/layout.html +13 -10
  97. swh/web/webapp/tests/test_views.py +16 -1
  98. {swh_web-0.16.2.dist-info → swh_web-0.16.4.dist-info}/METADATA +2 -3
  99. {swh_web-0.16.2.dist-info → swh_web-0.16.4.dist-info}/RECORD +112 -107
  100. swh/web/static/css/archive_coverage.70eba3d32ed75472d638.css.map +0 -1
  101. swh/web/static/css/browse.0a250d3b07ce628588a5.css +0 -2
  102. swh/web/static/css/browse.0a250d3b07ce628588a5.css.map +0 -1
  103. swh/web/static/css/guided_tour.62c03630e944b8b8d9ad.css +0 -2
  104. swh/web/static/css/highlightjs.0c1b181eb006699a4c3e.css.map +0 -1
  105. swh/web/static/css/origin_visits.88099d68a63f86af2f8e.css +0 -2
  106. swh/web/static/css/origin_visits.88099d68a63f86af2f8e.css.map +0 -1
  107. swh/web/static/css/vendors.1cfc8080eed63af482cf.css +0 -24
  108. swh/web/static/css/vendors.1cfc8080eed63af482cf.css.map +0 -1
  109. swh/web/static/css/webapp.4655323082740f1a4862.css.map +0 -1
  110. swh/web/static/js/add_forge_now.e25d1ad2ab6c45e60b67.js +0 -3
  111. swh/web/static/js/add_forge_now.e25d1ad2ab6c45e60b67.js.map +0 -1
  112. swh/web/static/js/auth.bd2f475f49caa9f84e99.js +0 -3
  113. swh/web/static/js/auth.bd2f475f49caa9f84e99.js.map +0 -1
  114. swh/web/static/js/badges.f02607179ad0264e7522.js +0 -2
  115. swh/web/static/js/badges.f02607179ad0264e7522.js.map +0 -1
  116. swh/web/static/js/browse.fc5d5fafca71e03d2add.js +0 -3
  117. swh/web/static/js/browse.fc5d5fafca71e03d2add.js.map +0 -1
  118. swh/web/static/js/highlightjs.dc9b8354c69d942fad33.js.map +0 -1
  119. swh/web/static/js/mailmap.631c53127ba5511ebda7.js +0 -3
  120. swh/web/static/js/mailmap.631c53127ba5511ebda7.js.map +0 -1
  121. swh/web/static/js/pdfjs.40675676ebcbdde8baab.js +0 -3
  122. swh/web/static/js/pdfjs.40675676ebcbdde8baab.js.map +0 -1
  123. swh/web/static/js/revision.ac9293e1b984b4d4d909.js.map +0 -1
  124. swh/web/static/js/save_code_now.369ff7f28aaf74e7728e.js +0 -3
  125. swh/web/static/js/save_code_now.369ff7f28aaf74e7728e.js.map +0 -1
  126. swh/web/static/js/vault.1229427aed95c78d4ee2.js +0 -3
  127. swh/web/static/js/vault.1229427aed95c78d4ee2.js.map +0 -1
  128. swh/web/static/js/vendors.2eeadf2e0831a7a82b6d.js +0 -3
  129. swh/web/static/js/vendors.2eeadf2e0831a7a82b6d.js.map +0 -1
  130. swh/web/static/js/webapp.26efc059a8f5fe204240.js +0 -3
  131. swh/web/static/js/webapp.26efc059a8f5fe204240.js.map +0 -1
  132. /swh/web/static/js/{add_forge_now.e25d1ad2ab6c45e60b67.js.LICENSE.txt → add_forge_now.e85d09463e38c1e19632.js.LICENSE.txt} +0 -0
  133. /swh/web/static/js/{auth.bd2f475f49caa9f84e99.js.LICENSE.txt → auth.06c697ab58b81d08ebce.js.LICENSE.txt} +0 -0
  134. /swh/web/static/js/{browse.fc5d5fafca71e03d2add.js.LICENSE.txt → browse.3f22819b69002c8b6407.js.LICENSE.txt} +0 -0
  135. /swh/web/static/js/{highlightjs.dc9b8354c69d942fad33.js.LICENSE.txt → highlightjs.516e784a1e62011c7605.js.LICENSE.txt} +0 -0
  136. /swh/web/static/js/{mailmap.631c53127ba5511ebda7.js.LICENSE.txt → mailmap.de04f685e56eff5b627f.js.LICENSE.txt} +0 -0
  137. /swh/web/static/js/{pdfjs.40675676ebcbdde8baab.js.LICENSE.txt → pdfjs.018d9890c044b3612ece.js.LICENSE.txt} +0 -0
  138. /swh/web/static/js/{revision.ac9293e1b984b4d4d909.js.LICENSE.txt → revision.122a31614a5f9abffc3c.js.LICENSE.txt} +0 -0
  139. /swh/web/static/js/{save_code_now.369ff7f28aaf74e7728e.js.LICENSE.txt → save_code_now.d4d8fc47420a4badb683.js.LICENSE.txt} +0 -0
  140. /swh/web/static/js/{vault.1229427aed95c78d4ee2.js.LICENSE.txt → vault.d2ec3dd1d84a8d038a6c.js.LICENSE.txt} +0 -0
  141. {swh_web-0.16.2.dist-info → swh_web-0.16.4.dist-info}/WHEEL +0 -0
  142. {swh_web-0.16.2.dist-info → swh_web-0.16.4.dist-info}/licenses/AUTHORS +0 -0
  143. {swh_web-0.16.2.dist-info → swh_web-0.16.4.dist-info}/licenses/LICENSE +0 -0
  144. {swh_web-0.16.2.dist-info → swh_web-0.16.4.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/auth.bd2f475f49caa9f84e99.js","mappings":"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","sources":["webpack://swh/webpack/universalModuleDefinition","webpack://swh/./node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js","webpack://swh/./node_modules/@babel/runtime/helpers/regeneratorKeys.js","webpack://swh/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://swh/./assets/src/utils/functions.js","webpack://swh/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://swh/./node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js","webpack://swh/./node_modules/@babel/runtime/helpers/regenerator.js","webpack://swh/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://swh/./assets/src/utils/constants.js","webpack://swh/./node_modules/@babel/runtime/helpers/OverloadYield.js","webpack://swh/./node_modules/@babel/runtime/helpers/regeneratorValues.js","webpack://swh/./node_modules/@babel/runtime/regenerator/index.js","webpack://swh/./node_modules/@babel/runtime/helpers/regeneratorAsync.js","webpack://swh/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://swh/./node_modules/@babel/runtime/helpers/typeof.js","webpack://swh/./node_modules/@babel/runtime/helpers/regeneratorDefine.js","webpack://swh/webpack/bootstrap","webpack://swh/webpack/runtime/compat get default export","webpack://swh/webpack/runtime/define property getters","webpack://swh/webpack/runtime/hasOwnProperty shorthand","webpack://swh/webpack/runtime/make namespace object","webpack://swh/./swh/web/auth/assets/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"swh\"] = factory();\n\telse\n\t\troot[\"swh\"] = root[\"swh\"] || {}, root[\"swh\"][\"auth\"] = factory();\n})(self, function() {\nreturn ","var regenerator = require(\"./regenerator.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);\n}\nmodule.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorKeys(e) {\n var n = Object(e),\n r = [];\n for (var t in n) r.unshift(t);\n return function e() {\n for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;\n return e.done = !0, e;\n };\n}\nmodule.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regenerator = require(\"./regenerator.js\");\nvar regeneratorAsync = require(\"./regeneratorAsync.js\");\nvar regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nvar regeneratorKeys = require(\"./regeneratorKeys.js\");\nvar regeneratorValues = require(\"./regeneratorValues.js\");\nfunction _regeneratorRuntime() {\n \"use strict\";\n\n var r = regenerator(),\n e = r.m(_regeneratorRuntime),\n t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n function n(r) {\n var e = \"function\" == typeof r && r.constructor;\n return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n }\n var o = {\n \"throw\": 1,\n \"return\": 2,\n \"break\": 3,\n \"continue\": 3\n };\n function a(r) {\n var e, t;\n return function (n) {\n e || (e = {\n stop: function stop() {\n return t(n.a, 2);\n },\n \"catch\": function _catch() {\n return n.v;\n },\n abrupt: function abrupt(r, e) {\n return t(n.a, o[r], e);\n },\n delegateYield: function delegateYield(r, o, a) {\n return e.resultName = o, t(n.d, regeneratorValues(r), a);\n },\n finish: function finish(r) {\n return t(n.f, r);\n }\n }, t = function t(r, _t, o) {\n n.p = e.prev, n.n = e.next;\n try {\n return r(_t, o);\n } finally {\n e.next = n.n;\n }\n }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n try {\n return r.call(this, e);\n } finally {\n n.p = e.prev, n.n = e.next;\n }\n };\n }\n return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return {\n wrap: function wrap(e, t, n, o) {\n return r.w(a(e), t, n, o && o.reverse());\n },\n isGeneratorFunction: n,\n mark: r.m,\n awrap: function awrap(r, e) {\n return new OverloadYield(r, e);\n },\n AsyncIterator: regeneratorAsyncIterator,\n async: function async(r, e, t, o, u) {\n return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);\n },\n keys: regeneratorKeys,\n values: regeneratorValues\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (C) 2018-2025 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\n// utility functions\n\nimport Cookies from 'js-cookie';\n\nexport function handleFetchError(response) {\n if (!response.ok) {\n throw response;\n }\n return response;\n}\n\nexport function handleFetchErrors(responses) {\n for (let i = 0; i < responses.length; ++i) {\n if (!responses[i].ok) {\n throw responses[i];\n }\n }\n return responses;\n}\n\nexport function errorMessageFromResponse(errorData, defaultMessage) {\n let errorMessage = '';\n try {\n const reason = JSON.parse(errorData['reason']);\n Object.entries(reason).forEach((keys, _) => {\n const key = keys[0];\n const message = keys[1][0]; // take only the first issue\n errorMessage += `\\n${key}: ${message}`;\n });\n } catch (_) {\n errorMessage = errorData['reason']; // can't parse it, leave it raw\n }\n return errorMessage ? `Error: ${errorMessage}` : defaultMessage;\n}\n\nexport function staticAsset(asset, origin) {\n let url = `${__STATIC__}${asset}`;\n if (url.startsWith('/') && origin) {\n url = origin + url;\n }\n return url;\n}\n\nexport function csrfPost(url, headers = {}, body = null) {\n headers['X-CSRFToken'] = Cookies.get('csrftoken');\n return fetch(url, {\n credentials: 'include',\n headers: headers,\n method: 'POST',\n body: body\n });\n}\n\nexport function isGitRepoUrl(url, pathPrefix = '/') {\n const allowedProtocols = ['http:', 'https:', 'git:'];\n if (allowedProtocols.find(protocol => protocol === url.protocol) === undefined) {\n return false;\n }\n if (!url.pathname.startsWith(pathPrefix)) {\n return false;\n }\n const re = new RegExp('[\\\\w\\\\.-]+\\\\/?(?!=.git)(?:\\\\.git\\\\/?)?$');\n return re.test(url.pathname.slice(pathPrefix.length));\n};\n\nexport function removeUrlFragment() {\n history.replaceState('', document.title, window.location.pathname + window.location.search);\n}\n\nexport function selectText(startNode, endNode) {\n const selection = window.getSelection();\n selection.removeAllRanges();\n const range = document.createRange();\n range.setStart(startNode, 0);\n if (endNode.nodeName !== '#text') {\n range.setEnd(endNode, endNode.childNodes.length);\n } else {\n range.setEnd(endNode, endNode.textContent.length);\n }\n selection.addRange(range);\n}\n\nexport function textToHTML(text) {\n const textArea = document.createElement('textarea');\n textArea.innerText = text;\n return textArea.innerHTML;\n}\n\nexport function htmlAlert(type, message, closable = false) {\n let closeButton = '';\n let extraClasses = '';\n if (closable) {\n closeButton =\n `<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>`;\n extraClasses = 'alert-dismissible';\n }\n return `<div class=\"alert alert-${type} ${extraClasses}\" role=\"alert\">${message}${closeButton}</div>`;\n}\n\nexport function validateUrl(url, allowedProtocols = []) {\n let originUrl = null;\n let validUrl = true;\n\n try {\n originUrl = new URL(url);\n } catch (TypeError) {\n validUrl = false;\n }\n\n if (validUrl && allowedProtocols.length) {\n validUrl = (\n allowedProtocols.find(protocol => protocol === originUrl.protocol) !== undefined\n );\n }\n\n return validUrl ? originUrl : null;\n}\n\nexport async function isArchivedOrigin(originPath, visitType) {\n if (!validateUrl(originPath)) {\n // Not a valid URL, return immediately\n return false;\n } else {\n let url = `${Urls.api_1_origin_visit_latest(originPath)}?require_snapshot=true`;\n if (visitType && visitType !== 'any') {\n url += `&visit_type=${visitType}`;\n }\n const response = await fetch(url);\n return response.ok;\n }\n}\n\nasync function getCanonicalGithubOriginURL(ownerRepo) {\n const ghApiResponse = await fetch(`https://api.github.com/repos/${ownerRepo}`);\n if (ghApiResponse.ok && ghApiResponse.status === 200) {\n const ghApiResponseData = await ghApiResponse.json();\n return ghApiResponseData.html_url;\n }\n}\n\nexport async function getCanonicalOriginURL(originUrl) {\n let originUrlLower = originUrl.toLowerCase();\n // github.com URL processing\n const ghUrlRegex = /^http[s]*:\\/\\/github.com\\//;\n if (originUrlLower.match(ghUrlRegex)) {\n // remove trailing .git\n if (originUrlLower.endsWith('.git')) {\n originUrlLower = originUrlLower.slice(0, -4);\n }\n // remove trailing slash\n if (originUrlLower.endsWith('/')) {\n originUrlLower = originUrlLower.slice(0, -1);\n }\n // extract {owner}/{repo}\n const ownerRepo = originUrlLower.replace(ghUrlRegex, '');\n // fetch canonical URL from github Web API\n const url = await getCanonicalGithubOriginURL(ownerRepo);\n if (url) {\n return url;\n }\n }\n\n const ghpagesUrlRegex = /^http[s]*:\\/\\/(?<owner>[^/]+).github.io\\/(?<repo>[^/]+)\\/?.*/;\n const parsedUrl = originUrlLower.match(ghpagesUrlRegex);\n if (parsedUrl) {\n const ownerRepo = `${parsedUrl.groups.owner}/${parsedUrl.groups.repo}`;\n // fetch canonical URL from github Web API\n const url = await getCanonicalGithubOriginURL(ownerRepo);\n if (url) {\n return url;\n }\n }\n\n return originUrl;\n}\n\nexport function getHumanReadableDate(data) {\n // Display iso format date string into a human readable date\n // This is expected to be used by date field in datatable listing views\n // Example: 3/24/2022, 10:31:08 AM\n const date = new Date(data);\n return date.toLocaleString();\n}\n\nexport function genLink(sanitizedUrl, type, openInNewTab = false, linkText = '') {\n // Display link. It's up to the caller to sanitize sanitizedUrl first.\n if (type === 'display' && sanitizedUrl) {\n const encodedSanitizedUrl = encodeURI(sanitizedUrl);\n if (!linkText) {\n linkText = encodedSanitizedUrl;\n }\n let attrs = '';\n if (openInNewTab) {\n attrs = 'target=\"_blank\" rel=\"noopener noreferrer\"';\n }\n return `<a href=\"${encodedSanitizedUrl}\" ${attrs}>${linkText}</a>`;\n }\n return sanitizedUrl;\n}\n","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","var OverloadYield = require(\"./OverloadYield.js\");\nvar regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction AsyncIterator(t, e) {\n function n(r, o, i, f) {\n try {\n var c = t[r](o),\n u = c.value;\n return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {\n n(\"next\", t, i, f);\n }, function (t) {\n n(\"throw\", t, i, f);\n }) : e.resolve(u).then(function (t) {\n c.value = t, i(c);\n }, function (t) {\n return n(\"throw\", t, i, f);\n });\n } catch (t) {\n f(t);\n }\n }\n var r;\n this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n return this;\n })), regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n function f() {\n return new e(function (e, r) {\n n(t, i, e, r);\n });\n }\n return r = r ? r.then(f, f) : f();\n }, !0);\n}\nmodule.exports = AsyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction _regenerator() {\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n var e,\n t,\n r = \"function\" == typeof Symbol ? Symbol : {},\n n = r.iterator || \"@@iterator\",\n o = r.toStringTag || \"@@toStringTag\";\n function i(r, n, o, i) {\n var c = n && n.prototype instanceof Generator ? n : Generator,\n u = Object.create(c.prototype);\n return regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n var i,\n c,\n u,\n f = 0,\n p = o || [],\n y = !1,\n G = {\n p: 0,\n n: 0,\n v: e,\n a: d,\n f: d.bind(e, 4),\n d: function d(t, r) {\n return i = t, c = 0, u = e, G.n = r, a;\n }\n };\n function d(r, n) {\n for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n var o,\n i = p[t],\n d = G.p,\n l = i[2];\n r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n }\n if (o || r > 1) return a;\n throw y = !0, n;\n }\n return function (o, p, l) {\n if (f > 1) throw TypeError(\"Generator is already running\");\n for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n try {\n if (f = 2, i) {\n if (c || (o = \"next\"), t = i[o]) {\n if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n if (!t.done) return t;\n u = t.value, c < 2 && (c = 0);\n } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n i = e;\n } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n } catch (t) {\n i = e, c = 1, u = t;\n } finally {\n f = 1;\n }\n }\n return {\n value: t,\n done: y\n };\n };\n }(r, o, i), !0), u;\n }\n var a = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n t = Object.getPrototypeOf;\n var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {\n return this;\n }), t),\n u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n function f(e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), regeneratorDefine(u), regeneratorDefine(u, o, \"Generator\"), regeneratorDefine(u, n, function () {\n return this;\n }), regeneratorDefine(u, \"toString\", function () {\n return \"[object Generator]\";\n }), (module.exports = _regenerator = function _regenerator() {\n return {\n w: i,\n m: f\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * Copyright (C) 2019 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {staticAsset} from 'utils/functions';\n\n// Constants defining Bootstrap Breakpoints\nexport const BREAKPOINT_SM = 768;\nexport const BREAKPOINT_MD = 992;\nexport const BREAKPOINT_LG = 1200;\n\nexport const swhSpinnerSrc = staticAsset('img/swh-spinner.gif');\n\nexport const dataTableCommonConfig = {\n serverSide: true,\n processing: true,\n language: {\n processing: `<img src=\"${swhSpinnerSrc}\"></img>`\n },\n fixedHeader: true,\n lengthMenu: [10, 25, 50, 100, 1000],\n scrollCollapse: true,\n searchDelay: 1000\n};\n","function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorValues(e) {\n if (null != e) {\n var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n r = 0;\n if (t) return t.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) return {\n next: function next() {\n return e && r >= e.length && (e = void 0), {\n value: e && e[r++],\n done: !e\n };\n }\n };\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n}\nmodule.exports = _regeneratorValues, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","var regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nfunction _regeneratorAsync(n, e, r, t, o) {\n var a = regeneratorAsyncGen(n, e, r, t, o);\n return a.next().then(function (n) {\n return n.done ? n.value : a.next();\n });\n}\nmodule.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorDefine(e, r, n, t) {\n var i = Object.defineProperty;\n try {\n i({}, \"\", {});\n } catch (e) {\n i = 0;\n }\n module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {\n function o(r, n) {\n _regeneratorDefine(e, r, function (e) {\n return this._invoke(r, n, e);\n });\n }\n r ? i ? i(e, r, {\n value: n,\n enumerable: !t,\n configurable: !t,\n writable: !t\n }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _regeneratorDefine(e, r, n, t);\n}\nmodule.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Copyright (C) 2020-2024 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport {handleFetchError, csrfPost, removeUrlFragment} from 'utils/functions';\nimport {dataTableCommonConfig} from 'utils/constants';\nimport './auth.css';\n\nlet apiTokensTable;\n\nfunction tokenForm(infoText, buttonText) {\n const form =\n `<form id=\"swh-token-form\" class=\"text-center\">\n <p id=\"swh-token-form-text\">${infoText}</p>\n <input id=\"swh-token-form-submit\" type=\"submit\" value=\"${buttonText}\">\n <div id=\"swh-token-form-message\"></div>\n </form>`;\n return form;\n}\n\nfunction errorMessage(message) {\n return `<p id=\"swh-token-error-message\" class=\"mt-3 swh-token-form-message\">${message}</p>`;\n}\n\nfunction successMessage(message) {\n return `<p id=\"swh-token-success-message\" class=\"mt-3 swh-token-form-message\">${message}</p>`;\n}\n\nfunction disableSubmitButton() {\n $('#swh-token-form-submit').prop('disabled', true);\n}\n\nfunction generateToken() {\n window.location = Urls.oidc_generate_bearer_token();\n}\n\nasync function displayToken(tokenId) {\n const postData = {\n token_id: tokenId\n };\n try {\n const response = await csrfPost(Urls.oidc_get_bearer_token(), {}, JSON.stringify(postData));\n handleFetchError(response);\n const token = await response.text();\n const tokenHtml =\n `<p>Below is your token.</p>\n <pre id=\"swh-bearer-token\" class=\"mt-3\">${token}</pre>`;\n swh.webapp.showModalHtml('Display bearer token', tokenHtml);\n } catch (response) {\n const responseText = await response.text();\n let errorMsg = 'Internal server error.';\n if (response.status === 400) {\n errorMsg = responseText;\n }\n swh.webapp.showModalHtml('Display bearer token', errorMessage(errorMsg));\n }\n}\n\nasync function revokeTokens(tokenIds) {\n const postData = {\n token_ids: tokenIds\n };\n try {\n const response = await csrfPost(Urls.oidc_revoke_bearer_tokens(), {}, JSON.stringify(postData));\n handleFetchError(response);\n disableSubmitButton();\n $('#swh-token-form-message').html(\n successMessage(`Bearer token${tokenIds.length > 1 ? 's' : ''} successfully revoked.`));\n apiTokensTable.draw();\n } catch (_) {\n $('#swh-token-form-message').html(errorMessage('Internal server error.'));\n }\n}\n\nfunction revokeToken(tokenId) {\n revokeTokens([tokenId]);\n}\n\nfunction revokeAllTokens() {\n const tokenIds = [];\n const rowsData = apiTokensTable.rows().data();\n for (let i = 0; i < rowsData.length; ++i) {\n tokenIds.push(rowsData[i].id);\n }\n revokeTokens(tokenIds);\n}\n\nexport function applyTokenAction(action, tokenId) {\n const actionData = {\n display: {\n submitCallback: displayToken\n },\n generate: {\n modalTitle: 'Bearer token generation',\n infoText: 'Click on the button to generate the token. You will be redirected to ' +\n 'Software Heritage Authentication Service and might be asked to enter ' +\n 'your password again.',\n buttonText: 'Generate token',\n submitCallback: generateToken\n },\n revoke: {\n modalTitle: 'Revoke bearer token',\n infoText: 'Click on the button to revoke the token.',\n buttonText: 'Revoke token',\n submitCallback: revokeToken\n },\n revokeAll: {\n modalTitle: 'Revoke all bearer tokens',\n infoText: 'Click on the button to revoke all tokens.',\n buttonText: 'Revoke tokens',\n submitCallback: revokeAllTokens\n }\n };\n\n if (!actionData[action]) {\n return;\n }\n\n if (action !== 'display') {\n const tokenFormHtml = tokenForm(\n actionData[action].infoText, actionData[action].buttonText);\n\n swh.webapp.showModalHtml(actionData[action].modalTitle, tokenFormHtml);\n $(`#swh-token-form`).submit(event => {\n event.preventDefault();\n event.stopPropagation();\n actionData[action].submitCallback(tokenId);\n });\n } else {\n actionData[action].submitCallback(tokenId);\n }\n}\n\nexport function initProfilePage() {\n $(document).ready(() => {\n apiTokensTable = $('#swh-bearer-tokens-table')\n .on('error.dt', (e, settings, techNote, message) => {\n $('#swh-origin-save-request-list-error').text(\n 'An error occurred while retrieving the tokens list');\n console.log(message);\n })\n .DataTable({\n ...dataTableCommonConfig,\n ajax: Urls.oidc_list_bearer_tokens(),\n columns: [\n {\n data: 'creation_date',\n name: 'creation_date',\n render: (data, type, row) => {\n if (type === 'display') {\n const date = new Date(data);\n return date.toLocaleString();\n }\n return data;\n }\n },\n {\n render: (data, type, row) => {\n const html =\n `<button class=\"btn btn-secondary btn-sm\"\n onclick=\"swh.auth.applyTokenAction('display', ${row.id})\">\n Display token\n </button>\n <button class=\"btn btn-secondary btn-sm\"\n onclick=\"swh.auth.applyTokenAction('revoke', ${row.id})\">\n Revoke token\n </button>`;\n return html;\n }\n }\n ],\n ordering: false,\n searching: false\n });\n $('#swh-oidc-profile-tokens-tab').on('shown.bs.tab', () => {\n apiTokensTable.draw();\n window.location.hash = '#tokens';\n });\n $('#swh-oidc-profile-account-tab').on('shown.bs.tab', () => {\n removeUrlFragment();\n });\n if (window.location.hash === '#tokens') {\n $('.nav-tabs a[href=\"#swh-oidc-profile-tokens\"]').tab('show');\n }\n });\n}\n"],"names":["root","factory","exports","module","define","amd","self","regenerator","regeneratorAsyncIterator","r","e","t","o","n","w","Promise","__esModule","Object","unshift","length","pop","value","done","OverloadYield","regeneratorAsync","regeneratorAsyncGen","regeneratorKeys","regeneratorValues","_regeneratorRuntime","m","getPrototypeOf","__proto__","constructor","displayName","name","a","stop","v","abrupt","delegateYield","resultName","d","finish","f","_t","p","prev","next","sent","call","this","wrap","reverse","isGeneratorFunction","mark","awrap","AsyncIterator","async","u","keys","values","handleFetchError","response","ok","staticAsset","asset","origin","url","__STATIC__","startsWith","csrfPost","headers","body","Cookies","get","fetch","credentials","method","removeUrlFragment","history","replaceState","document","title","window","location","pathname","search","asyncGeneratorStep","c","i","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","regeneratorDefine","prototype","Symbol","asyncIterator","_regenerator","iterator","toStringTag","Generator","create","y","G","bind","l","TypeError","GeneratorFunction","GeneratorFunctionPrototype","setPrototypeOf","assign","target","source","key","api","init","converter","defaultAttributes","set","attributes","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","cookies","jar","parts","slice","join","found","read","remove","withAttributes","withConverter","freeze","path","dataTableCommonConfig","serverSide","processing","language","fixedHeader","lengthMenu","scrollCollapse","searchDelay","k","_typeof","isNaN","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","_extends","hasOwnProperty","_regeneratorDefine","defineProperty","_invoke","enumerable","configurable","writable","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","obj","prop","apiTokensTable","errorMessage","message","successMessage","disableSubmitButton","$","generateToken","Urls","oidc_generate_bearer_token","displayToken","_x","_displayToken","_callee","tokenId","postData","token","tokenHtml","responseText","errorMsg","_context","token_id","oidc_get_bearer_token","JSON","stringify","text","swh","webapp","showModalHtml","status","revokeTokens","_x2","_revokeTokens","_callee2","tokenIds","_context2","token_ids","oidc_revoke_bearer_tokens","html","draw","revokeToken","revokeAllTokens","rowsData","rows","data","push","id","applyTokenAction","action","infoText","buttonText","actionData","display","submitCallback","generate","modalTitle","revoke","revokeAll","tokenFormHtml","submit","event","preventDefault","stopPropagation","initProfilePage","ready","on","settings","techNote","console","log","DataTable","ajax","oidc_list_bearer_tokens","columns","render","type","row","toLocaleString","ordering","searching","hash","tab"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.swh=n():(e.swh=e.swh||{},e.swh.badges=n())}(self,function(){return function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};function t(e,n){var t,o,r=n;if("origin"===e)t=Urls.swh_badge(e,n),o=Urls.browse_origin()+"?origin_url="+n;else{var i=n.indexOf(";");-1!==i?(r=n.slice(0,i),t=Urls.swh_badge_swhid(r),$(".swhid").each(function(e,n){n.id===r&&(o=n.pathname)})):(t=Urls.swh_badge_swhid(n),o=Urls.browse_swhid(n))}var a=""+window.location.origin+t,d=""+window.location.origin+o,l='\n <a href="'+d+'">\n <img class="swh-badge" src="'+a+'" alt="Archived | '+n+'"/>\n </a>\n <div>\n <label>HTML</label>\n <pre><code class="swh-badge-html html">&lt;a href="'+d+'"&gt;\n &lt;img src="'+a+'" alt="Archived | '+r+'"/&gt;\n&lt;/a&gt;</code></pre>\n </div>\n <div>\n <label>Markdown</label>\n <pre><code class="swh-badge-md markdown">[![SWH]('+a+")]("+d+')</code></pre>\n </div>\n <div>\n <label>reStructuredText</label>\n <pre class="swh-badge-rst">.. image:: '+a+"\n :target: "+d+"</pre>\n </div>";swh.webapp.showModalHtml("Software Heritage badge integration",l),swh.webapp.highlightCode(!1,".swh-badge-html"),swh.webapp.highlightCode(!1,".swh-badge-md")}return e.r(n),e.d(n,{showBadgeInfoModal:function(){return t}}),n}()});
2
- //# sourceMappingURL=badges.f02607179ad0264e7522.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/badges.f02607179ad0264e7522.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAa,IAAID,KAEjBD,EAAU,IAAIA,EAAU,KAAK,CAAC,EAAGA,EAAU,IAAU,OAAIC,IAC1D,CATD,CASGK,KAAM,WACT,O,wBCTA,IAAIC,EAAsB,CCA1BA,EAAwB,SAASL,EAASM,GACzC,IAAI,IAAIC,KAAOD,EACXD,EAAoBG,EAAEF,EAAYC,KAASF,EAAoBG,EAAER,EAASO,IAC5EE,OAAOC,eAAeV,EAASO,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAG3E,ECPAF,EAAwB,SAASQ,EAAKC,GAAQ,OAAOL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,EAAO,ECCtGT,EAAwB,SAASL,GACX,oBAAXkB,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeV,EAASkB,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeV,EAAS,aAAc,CAAEoB,OAAO,GACvD,G,KCGO,SAASC,EAAmBC,EAAYC,GAC7C,IAAIC,EACAC,EACAC,EAAkBH,EACtB,GAAmB,WAAfD,EACFE,EAAgBG,KAAKC,UAAUN,EAAYC,GAC3CE,EAAkBE,KAAKE,gBAAe,eAAeN,MAChD,CACL,IAAMO,EAAMP,EAAYQ,QAAQ,MACnB,IAATD,GACFJ,EAAkBH,EAAYS,MAAM,EAAGF,GACvCN,EAAgBG,KAAKM,gBAAgBP,GACrCQ,EAAE,UAAUC,KAAK,SAACC,EAAGC,GACfA,EAAMC,KAAOZ,IACfD,EAAeY,EAAME,SAEzB,KAEAf,EAAgBG,KAAKM,gBAAgBV,GACrCE,EAAeE,KAAKa,aAAajB,GAErC,CACA,IAAMkB,EAAwB,GAAGC,OAAOC,SAASC,OAASpB,EACpDqB,EAAuB,GAAGH,OAAOC,SAASC,OAASnB,EACnDqB,EAAO,gBACFD,EAAoB,uCACCJ,EAAqB,qBAAqBlB,EAAW,yGAI9BsB,EAAoB,2BAC1DJ,EAAqB,qBAAqBf,EAAe,yIAKrBe,EAAqB,MAAMI,EAAoB,qHAI1DJ,EAAqB,kBAClDI,EAAoB,mBAEjCE,IAAIC,OAAOC,cAAc,sCAAuCH,GAChEC,IAAIC,OAAOE,eAAc,EAAO,mBAChCH,IAAIC,OAAOE,eAAc,EAAO,gBAClC,C","sources":["webpack://swh/webpack/universalModuleDefinition","webpack://swh/webpack/bootstrap","webpack://swh/webpack/runtime/define property getters","webpack://swh/webpack/runtime/hasOwnProperty shorthand","webpack://swh/webpack/runtime/make namespace object","webpack://swh/./swh/web/badges/assets/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"swh\"] = factory();\n\telse\n\t\troot[\"swh\"] = root[\"swh\"] || {}, root[\"swh\"][\"badges\"] = factory();\n})(self, function() {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Copyright (C) 2019-2023 The Software Heritage developers\n * See the AUTHORS file at the top-level directory of this distribution\n * License: GNU Affero General Public License version 3, or any later version\n * See top-level LICENSE file for more information\n */\n\nimport './badges.css';\n\nexport function showBadgeInfoModal(objectType, objectSWHID) {\n let badgeImageUrl;\n let badgeLinkUrl;\n let objectCoreSWHID = objectSWHID;\n if (objectType === 'origin') {\n badgeImageUrl = Urls.swh_badge(objectType, objectSWHID);\n badgeLinkUrl = `${Urls.browse_origin()}?origin_url=${objectSWHID}`;\n } else {\n const pos = objectSWHID.indexOf(';');\n if (pos !== -1) {\n objectCoreSWHID = objectSWHID.slice(0, pos);\n badgeImageUrl = Urls.swh_badge_swhid(objectCoreSWHID);\n $('.swhid').each((i, swhid) => {\n if (swhid.id === objectCoreSWHID) {\n badgeLinkUrl = swhid.pathname;\n }\n });\n } else {\n badgeImageUrl = Urls.swh_badge_swhid(objectSWHID);\n badgeLinkUrl = Urls.browse_swhid(objectSWHID);\n }\n }\n const absoluteBadgeImageUrl = `${window.location.origin}${badgeImageUrl}`;\n const absoluteBadgeLinkUrl = `${window.location.origin}${badgeLinkUrl}`;\n const html = `\n <a href=\"${absoluteBadgeLinkUrl}\">\n <img class=\"swh-badge\" src=\"${absoluteBadgeImageUrl}\" alt=\"Archived | ${objectSWHID}\"/>\n </a>\n <div>\n <label>HTML</label>\n <pre><code class=\"swh-badge-html html\">&lt;a href=\"${absoluteBadgeLinkUrl}\"&gt;\n &lt;img src=\"${absoluteBadgeImageUrl}\" alt=\"Archived | ${objectCoreSWHID}\"/&gt;\n&lt;/a&gt;</code></pre>\n </div>\n <div>\n <label>Markdown</label>\n <pre><code class=\"swh-badge-md markdown\">[![SWH](${absoluteBadgeImageUrl})](${absoluteBadgeLinkUrl})</code></pre>\n </div>\n <div>\n <label>reStructuredText</label>\n <pre class=\"swh-badge-rst\">.. image:: ${absoluteBadgeImageUrl}\n :target: ${absoluteBadgeLinkUrl}</pre>\n </div>`;\n swh.webapp.showModalHtml('Software Heritage badge integration', html);\n swh.webapp.highlightCode(false, '.swh-badge-html');\n swh.webapp.highlightCode(false, '.swh-badge-md');\n}\n"],"names":["root","factory","exports","module","define","amd","self","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","showBadgeInfoModal","objectType","objectSWHID","badgeImageUrl","badgeLinkUrl","objectCoreSWHID","Urls","swh_badge","browse_origin","pos","indexOf","slice","swh_badge_swhid","$","each","i","swhid","id","pathname","browse_swhid","absoluteBadgeImageUrl","window","location","origin","absoluteBadgeLinkUrl","html","swh","webapp","showModalHtml","highlightCode"],"sourceRoot":""}
@@ -1,3 +0,0 @@
1
- /*! For license information please see browse.fc5d5fafca71e03d2add.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.swh=t():(e.swh=e.swh||{},e.swh.browse=t())}(self,function(){return function(){var e={887:function(e,t,n){var r=n(16993),i=n(11791);e.exports=function(e,t,n,o,a){return new i(r().w(e,t,n,o),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},3530:function(){!function(e){var t={pattern:/\\(?:\ |[^a-z@\s]|[a-z@]+\*?)/i},n={equation:{pattern:/(\$\$?)[^\$]+\1/m,alias:"function",inside:t},keyword:t};e.languages.bib={comment:/%.*/,special:{pattern:/(^\s*)@(?:preamble|string|comment(?=\s*[({]))/im,lookbehind:!0,alias:"important"},"class-name":{pattern:/(^\s*)@[a-z]+(?=\s*{)/im,lookbehind:!0},key:{pattern:/([,{]\s*)[^,={}'"\s]+(?=\s*[,}])/im,lookbehind:!0,alias:"regex"},property:{pattern:/([,{(]\s*)[^,={}'"\s]+(?=\s*=)/im,lookbehind:!0},string:{pattern:/([=#{}]\s*)(?:\d+|("|')(?:(?!\2)[^\\]|\\.)*\2|{(?:(?:{(?:(?:{(?:(?:{(?:[^{}])*})|(?:[^{}]))*})|(?:[^{}]))*})|(?:[^{}]))*})/im,lookbehind:!0,greedy:!0,inside:n},constant:{pattern:/([=#]\s*)[^,={}'"\s]+(?=\s*[#,}])/im,lookbehind:!0},symbol:/#/,punctuation:/[=,{}()]/},e.languages.bibtex=e.languages.bib}(Prism)},4373:function(e){e.exports=function(e){var t=Object(e),n=[];for(var r in t)n.unshift(r);return function e(){for(;n.length;)if((r=n.pop())in t)return e.value=r,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports},4633:function(e,t,n){var r=n(25172),i=n(16993),o=n(55869),a=n(887),s=n(11791),c=n(4373),u=n(30579);function l(){"use strict";var t=i(),n=t.m(l),d=(Object.getPrototypeOf?Object.getPrototypeOf(n):n.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))}var f={throw:1,return:2,break:3,continue:3};function h(e){var t,n;return function(r){t||(t={stop:function(){return n(r.a,2)},catch:function(){return r.v},abrupt:function(e,t){return n(r.a,f[e],t)},delegateYield:function(e,i,o){return t.resultName=i,n(r.d,u(e),o)},finish:function(e){return n(r.f,e)}},n=function(e,n,i){r.p=t.prev,r.n=t.next;try{return e(n,i)}finally{t.next=r.n}}),t.resultName&&(t[t.resultName]=r.v,t.resultName=void 0),t.sent=r.v,t.next=r.n;try{return e.call(this,t)}finally{r.p=t.prev,r.n=t.next}}}return(e.exports=l=function(){return{wrap:function(e,n,r,i){return t.w(h(e),n,r,i&&i.reverse())},isGeneratorFunction:p,mark:t.m,awrap:function(e,t){return new r(e,t)},AsyncIterator:s,async:function(e,t,n,r,i){return(p(t)?a:o)(h(e),t,n,r,i)},keys:c,values:u}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=l,e.exports.__esModule=!0,e.exports.default=e.exports},8545:function(e,t,n){"use strict";n.d(t,{Th:function(){return l},Tv:function(){return a},XE:function(){return s},lY:function(){return c}});var r=n(10467),i=n(54756),o=n.n(i);n(18987);function a(e){if(!e.ok)throw e;return e}function s(e,t){var n="";try{var r=JSON.parse(e.reason);Object.entries(r).forEach(function(e,t){var r=e[0],i=e[1][0];n+="\n"+r+": "+i})}catch(t){n=e.reason}return n?"Error: "+n:t}function c(e,t){var n="/static/"+e;return n.startsWith("/")&&t&&(n=t+n),n}function u(e,t){void 0===t&&(t=[]);var n=null,r=!0;try{n=new URL(e)}catch(e){r=!1}return r&&t.length&&(r=void 0!==t.find(function(e){return e===n.protocol})),r?n:null}function l(e,t){return d.apply(this,arguments)}function d(){return(d=(0,r.A)(o().mark(function e(t,n){var r,i;return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(u(t)){e.next=1;break}return e.abrupt("return",!1);case 1:return r=Urls.api_1_origin_visit_latest(t)+"?require_snapshot=true",n&&"any"!==n&&(r+="&visit_type="+n),e.next=2,fetch(r);case 2:return i=e.sent,e.abrupt("return",i.ok);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}},10467:function(e,t,n){"use strict";function r(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function i(e){return function(){var t=this,n=arguments;return new Promise(function(i,o){var a=e.apply(t,n);function s(e){r(a,i,o,s,c,"next",e)}function c(e){r(a,i,o,s,c,"throw",e)}s(void 0)})}}n.d(t,{A:function(){return i}})},11791:function(e,t,n){var r=n(25172),i=n(75546);e.exports=function e(t,n){function o(e,i,a,s){try{var c=t[e](i),u=c.value;return u instanceof r?n.resolve(u.v).then(function(e){o("next",e,a,s)},function(e){o("throw",e,a,s)}):n.resolve(u).then(function(e){c.value=e,a(c)},function(e){return o("throw",e,a,s)})}catch(e){s(e)}}var a;this.next||(i(e.prototype),i(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),i(this,"_invoke",function(e,t,r){function i(){return new n(function(t,n){o(e,r,t,n)})}return a=a?a.then(i,i):i()},!0)},e.exports.__esModule=!0,e.exports.default=e.exports},16993:function(e,t,n){var r=n(75546);function i(){var t,n,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.toStringTag||"@@toStringTag";function c(e,i,o,a){var s=i&&i.prototype instanceof l?i:l,c=Object.create(s.prototype);return r(c,"_invoke",function(e,r,i){var o,a,s,c=0,l=i||[],d=!1,p={p:0,n:0,v:t,a:f,f:f.bind(t,4),d:function(e,n){return o=e,a=0,s=t,p.n=n,u}};function f(e,r){for(a=e,s=r,n=0;!d&&c&&!i&&n<l.length;n++){var i,o=l[n],f=p.p,h=o[2];e>3?(i=h===r)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=t):o[0]<=f&&((i=e<2&&f<o[1])?(a=0,p.v=r,p.n=o[1]):f<h&&(i=e<3||o[0]>r||r>h)&&(o[4]=e,o[5]=r,p.n=h,a=0))}if(i||e>1)return u;throw d=!0,r}return function(i,l,h){if(c>1)throw TypeError("Generator is already running");for(d&&1===l&&f(l,h),a=l,s=h;(n=a<2?t:s)||!d;){o||(a?a<3?(a>1&&(p.n=-1),f(a,s)):p.n=s:p.v=s);try{if(c=2,o){if(a||(i="next"),n=o[i]){if(!(n=n.call(o,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=o.return)&&n.call(o),a<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=t}else if((n=(d=p.n<0)?s:e.call(r,p))!==u)break}catch(e){o=t,a=1,s=e}finally{c=1}}return{value:n,done:d}}}(e,o,a),!0),c}var u={};function l(){}function d(){}function p(){}n=Object.getPrototypeOf;var f=[][a]?n(n([][a]())):(r(n={},a,function(){return this}),n),h=p.prototype=l.prototype=Object.create(f);function g(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,r(e,s,"GeneratorFunction")),e.prototype=Object.create(h),e}return d.prototype=p,r(h,"constructor",p),r(p,"constructor",d),d.displayName="GeneratorFunction",r(p,s,"GeneratorFunction"),r(h),r(h,s,"Generator"),r(h,a,function(){return this}),r(h,"toString",function(){return"[object Generator]"}),(e.exports=i=function(){return{w:c,m:g}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},18987:function(e,t,n){"use strict";function r(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}(function e(t,n){function i(e,i,o){if("undefined"!=typeof document){"number"==typeof(o=r({},n,o)).expires&&(o.expires=new Date(Date.now()+864e5*o.expires)),o.expires&&(o.expires=o.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in o)o[s]&&(a+="; "+s,!0!==o[s]&&(a+="="+o[s].split(";")[0]));return document.cookie=e+"="+t.write(i,e)+a}}return Object.create({set:i,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},i=0;i<n.length;i++){var o=n[i].split("="),a=o.slice(1).join("=");try{var s=decodeURIComponent(o[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){i(e,"",r({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,r({},this.attributes,t))},withConverter:function(t){return e(r({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})})({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})},23717:function(e,t,n){"use strict";n.d(t,{DK:function(){return i}});var r=n(8545),i=768;(0,r.lY)("img/swh-spinner.gif")},25172:function(e){e.exports=function(e,t){this.v=e,this.k=t},e.exports.__esModule=!0,e.exports.default=e.exports},28848:function(e,t,n){var r=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,r={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++n}),e.__id},clone:function e(t,n){var r,o;switch(n=n||{},i.util.type(t)){case"Object":if(o=i.util.objId(t),n[o])return n[o];for(var a in r={},n[o]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case"Array":return o=i.util.objId(t),n[o]?n[o]:(r=[],n[o]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}},getLanguage:function(e){for(;e;){var n=t.exec(e.className);if(n)return n[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,n){e.className=e.className.replace(RegExp(t,"gi"),""),e.classList.add("language-"+n)},currentScript:function(){if("undefined"==typeof document)return null;if(document.currentScript&&"SCRIPT"===document.currentScript.tagName)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var n in t)if(t[n].src==e)return t[n]}return null}},isActive:function(e,t,n){for(var r="no-"+t;e;){var i=e.classList;if(i.contains(t))return!0;if(i.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var n=i.util.clone(i.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){var o=(r=r||i.languages)[e],a={};for(var s in o)if(o.hasOwnProperty(s)){if(s==t)for(var c in n)n.hasOwnProperty(c)&&(a[c]=n[c]);n.hasOwnProperty(s)||(a[s]=o[s])}var u=r[e];return r[e]=a,i.languages.DFS(i.languages,function(t,n){n===u&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,o){o=o||{};var a=i.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],r||s);var c=t[s],u=i.util.type(c);"Object"!==u||o[a(c)]?"Array"!==u||o[a(c)]||(o[a(c)]=!0,e(c,n,s,o)):(o[a(c)]=!0,e(c,n,null,o))}}},plugins:{},highlightAll:function(e,t){i.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,n){var r={callback:n,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};i.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),i.hooks.run("before-all-elements-highlight",r);for(var o,a=0;o=r.elements[a++];)i.highlightElement(o,!0===t,r.callback)},highlightElement:function(t,n,r){var o=i.util.getLanguage(t),a=i.languages[o];i.util.setLanguage(t,o);var s=t.parentElement;s&&"pre"===s.nodeName.toLowerCase()&&i.util.setLanguage(s,o);var c={element:t,language:o,grammar:a,code:t.textContent};function u(e){c.highlightedCode=e,i.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i.hooks.run("after-highlight",c),i.hooks.run("complete",c),r&&r.call(c.element)}if(i.hooks.run("before-sanity-check",c),(s=c.element.parentElement)&&"pre"===s.nodeName.toLowerCase()&&!s.hasAttribute("tabindex")&&s.setAttribute("tabindex","0"),!c.code)return i.hooks.run("complete",c),void(r&&r.call(c.element));if(i.hooks.run("before-highlight",c),c.grammar)if(n&&e.Worker){var l=new Worker(i.filename);l.onmessage=function(e){u(e.data)},l.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else u(i.highlight(c.code,c.grammar,c.language));else u(i.util.encode(c.code))},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(i.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=i.tokenize(r.code,r.grammar),i.hooks.run("after-tokenize",r),o.stringify(i.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new c;return u(i,i.head,e),s(e,i,t,i.head,0),function(e){var t=[],n=e.head.next;for(;n!==e.tail;)t.push(n.value),n=n.next;return t}(i)},hooks:{all:{},add:function(e,t){var n=i.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=i.hooks.all[e];if(n&&n.length)for(var r,o=0;r=n[o++];)r(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var o=i[1].length;i.index+=o,i[0]=i[0].slice(o)}return i}function s(e,t,n,r,c,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var h=0;h<f.length;++h){if(d&&d.cause==p+","+h)return;var g=f[h],w=g.inside,v=!!g.lookbehind,m=!!g.greedy,b=g.alias;if(m&&!g.pattern.global){var y=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,y+"g")}for(var x=g.pattern||g,$=r.next,k=c;$!==t.tail&&!(d&&k>=d.reach);k+=$.value.length,$=$.next){var _=$.value;if(t.length>e.length)return;if(!(_ instanceof o)){var S,F=1;if(m){if(!(S=a(x,k,e,v))||S.index>=e.length)break;var A=S.index,C=S.index+S[0].length,O=k;for(O+=$.value.length;A>=O;)O+=($=$.next).value.length;if(k=O-=$.value.length,$.value instanceof o)continue;for(var T=$;T!==t.tail&&(O<C||"string"==typeof T.value);T=T.next)F++,O+=T.value.length;F--,_=e.slice(k,O),S.index-=k}else if(!(S=a(x,0,_,v)))continue;A=S.index;var E=S[0],j=_.slice(0,A),P=_.slice(A+E.length),L=k+_.length;d&&L>d.reach&&(d.reach=L);var I=$.prev;if(j&&(I=u(t,I,j),k+=j.length),l(t,I,F),$=u(t,I,new o(p,w?i.tokenize(E,w):E,b,E)),P&&u(t,$,P),F>1){var M={cause:p+","+h,reach:L};s(e,t,n,$.prev,k,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function l(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}if(e.Prism=i,o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var r="";return t.forEach(function(t){r+=e(t,n)}),r}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},a=t.alias;a&&(Array.isArray(a)?Array.prototype.push.apply(o.classes,a):o.classes.push(a)),i.hooks.run("wrap",o);var s="";for(var c in o.attributes)s+=" "+c+'="'+(o.attributes[c]||"").replace(/"/g,"&quot;")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+s+">"+o.content+"</"+o.tag+">"},!e.document)return e.addEventListener?(i.disableWorkerMessageHandler||e.addEventListener("message",function(t){var n=JSON.parse(t.data),r=n.language,o=n.code,a=n.immediateClose;e.postMessage(i.highlight(o,i.languages[r],r)),a&&e.close()},!1),i):i;var d=i.util.currentScript();function p(){i.manual||i.highlightAll()}if(d&&(i.filename=d.src,d.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var f=document.readyState;"loading"===f||"interactive"===f&&d&&d.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),void 0!==n.g&&(n.g.Prism=r),r.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};i["language-"+t]={pattern:/[\s\S]+/,inside:r.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:i},r.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(e,t){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:r.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(r),r.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,function(){if(void 0!==r&&"undefined"!=typeof document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},t="data-src-status",n="loading",i="loaded",o="pre[data-src]:not(["+t+'="'+i+'"]):not(['+t+'="'+n+'"])';r.hooks.add("before-highlightall",function(e){e.selector+=", "+o}),r.hooks.add("before-sanity-check",function(a){var s=a.element;if(s.matches(o)){a.code="",s.setAttribute(t,n);var c=s.appendChild(document.createElement("CODE"));c.textContent="Loading…";var u=s.getAttribute("data-src"),l=a.language;if("none"===l){var d=(/\.(\w+)$/.exec(u)||[,"none"])[1];l=e[d]||d}r.util.setLanguage(c,l),r.util.setLanguage(s,l);var p=r.plugins.autoloader;p&&p.loadLanguages(l),function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.onreadystatechange=function(){4==r.readyState&&(r.status<400&&r.responseText?t(r.responseText):r.status>=400?n("✖ Error "+r.status+" while fetching file: "+r.statusText):n("✖ Error: File does not exist or is empty"))},r.send(null)}(u,function(e){s.setAttribute(t,i);var n=function(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||"");if(t){var n=Number(t[1]),r=t[2],i=t[3];return r?i?[n,Number(i)]:[n,void 0]:[n,n]}}(s.getAttribute("data-range"));if(n){var o=e.split(/\r\n?|\n/g),a=n[0],u=null==n[1]?o.length:n[1];a<0&&(a+=o.length),a=Math.max(0,Math.min(a-1,o.length)),u<0&&(u+=o.length),u=Math.max(0,Math.min(u,o.length)),e=o.slice(a,u).join("\n"),s.hasAttribute("data-start")||s.setAttribute("data-start",String(a+1))}c.textContent=e,r.highlightElement(c)},function(e){s.setAttribute(t,"failed"),c.textContent=e})}}),r.plugins.fileHighlight={highlight:function(e){for(var t,n=(e||document).querySelectorAll(o),i=0;t=n[i++];)r.highlightElement(t)}};var a=!1;r.fileHighlight=function(){a||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),a=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}}}()},30579:function(e,t,n){var r=n(73738).default;e.exports=function(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(r(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},31887:function(e,t,n){"use strict";function r(e,t){var n="\n <p>\n You can embed that "+e+' view in an external website\n through the use of an iframe. Use the following HTML code\n to do so.\n </p>\n <pre><code class="swh-iframe-html html">&lt;iframe style="width: 100%; height: 500px; border: 1px solid rgba(0, 0, 0, 0.125);"\n src="'+window.location.origin+Urls.browse_swhid_iframe(t.replaceAll("\n",""))+'"&gt;\n&lt;/iframe&gt;</code></pre>\n <iframe style="width: 100%; height: 500px; border: 1px solid rgba(0, 0, 0, 0.125);"\n src="'+window.location.origin+Urls.browse_swhid_iframe(t.replaceAll("\n",""))+'">\n </iframe>';swh.webapp.showModalHtml("Software Heritage "+e+" iframe",n,"1000px"),swh.webapp.highlightCode(!1,".swh-iframe-html")}n.d(t,{T:function(){return r}})},35769:function(e,t,n){"use strict";n.d(t,{X:function(){return i},i:function(){return o}});var r=n(23717);function i(){window.location.pathname===Urls.browse_origin_visits()?$("#swh-browse-origin-visits-nav-link").addClass("active"):window.location.pathname===Urls.browse_origin_branches()||window.location.pathname===Urls.browse_snapshot_branches()||window.location.pathname.endsWith("branches/")?$("#swh-browse-snapshot-branches-nav-link").addClass("active"):window.location.pathname===Urls.browse_origin_releases()||window.location.pathname===Urls.browse_snapshot_releases()||window.location.pathname.endsWith("releases/")?$("#swh-browse-snapshot-releases-nav-link").addClass("active"):$("#swh-browse-code-nav-link").addClass("active")}function o(e){var t=$(e).val(),n=new URLSearchParams(window.location.search);n.set("visit_type",t),window.location.search=n.toString()}$(document).ready(function(){$(".dropdown-submenu a.dropdown-item").on("click",function(e){$(e.target).next("div").toggle(),"none"!==$(e.target).next("div").css("display")?$(e.target).focus():$(e.target).blur(),e.stopPropagation(),e.preventDefault()}),$(".swh-popover-toggler").popover({boundary:"viewport",container:"body",html:!0,placement:function(){return $(window).width()<r.DK?"top":"right"},template:'<div class="popover" role="tooltip">\n <div class="arrow"></div>\n <h3 class="popover-header"></h3>\n <div class="popover-body swh-popover"></div>\n </div>',content:function(){var e=$(this).attr("data-popover-content");return $(e).children(".popover-body").remove().html()},title:function(){var e=$(this).attr("data-popover-content");return $(e).children(".popover-heading").html()},offset:"50vh",sanitize:!1}),$(".swh-vault-menu a.dropdown-item").on("click",function(e){$(".swh-popover-toggler").popover("hide")}),$(".swh-popover-toggler").on("show.bs.popover",function(e){$(".swh-popover-toggler:not(#"+e.currentTarget.id+")").popover("hide"),$(".swh-vault-menu .dropdown-menu").hide()}),$(".swh-actions-dropdown").on("hide.bs.dropdown",function(){$(".swh-vault-menu .dropdown-menu").hide(),$(".swh-popover-toggler").popover("hide")}),$("#swh-branch-search-form").submit(function(e){var t=new URLSearchParams(window.location.search);t.set("name_include",$("#swh-branch-search-string").val().trim()),window.location.search=t.toString(),e.preventDefault()}),$("body").on("click",function(e){$(e.target).parents(".swh-popover").length&&e.stopPropagation()})})},54756:function(e,t,n){var r=n(4633)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},55869:function(e,t,n){var r=n(887);e.exports=function(e,t,n,i,o){var a=r(e,t,n,i,o);return a.next().then(function(e){return e.done?e.value:a.next()})},e.exports.__esModule=!0,e.exports.default=e.exports},57576:function(e){var t;t=function(){return function(){var e={686:function(e,t,n){"use strict";n.d(t,{default:function(){return $}});var r=n(279),i=n.n(r),o=n(370),a=n.n(o),s=n(817),c=n.n(s);function u(e){try{return document.execCommand(e)}catch(e){return!1}}var l=function(e){var t=c()(e);return u("cut"),t},d=function(e,t){var n=function(e){var t="rtl"===document.documentElement.getAttribute("dir"),n=document.createElement("textarea");n.style.fontSize="12pt",n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";var r=window.pageYOffset||document.documentElement.scrollTop;return n.style.top="".concat(r,"px"),n.setAttribute("readonly",""),n.value=e,n}(e);t.container.appendChild(n);var r=c()(n);return u("copy"),n.remove(),r},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof e?n=d(e,t):e instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==e?void 0:e.type)?n=d(e.value,t):(n=c()(e),u("copy")),n};function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}var h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.action,n=void 0===t?"copy":t,r=e.container,i=e.target,o=e.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==i){if(!i||"object"!==f(i)||1!==i.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&i.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(i.hasAttribute("readonly")||i.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return o?p(o,{container:r}):i?"cut"===n?l(i):p(i,{container:r}):void 0};function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function v(e,t){return v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},v(e,t)}function m(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=b(e);if(t){var i=b(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(e,t){return!t||"object"!==g(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,n)}}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}function y(e,t){var n="data-clipboard-".concat(e);if(t.hasAttribute(n))return t.getAttribute(n)}var x=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}(o,e);var t,n,r,i=m(o);function o(e,t){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),(n=i.call(this)).resolveOptions(t),n.listenClick(e),n}return t=o,n=[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===g(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=a()(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget,n=this.action(t)||"copy",r=h({action:n,container:this.container,target:this.target(t),text:this.text(t)});this.emit(r?"success":"error",{action:n,text:r,trigger:t,clearSelection:function(){t&&t.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(e){return y("action",e)}},{key:"defaultTarget",value:function(e){var t=y("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return y("text",e)}},{key:"destroy",value:function(){this.listener.destroy()}}],r=[{key:"copy",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{container:document.body};return p(e,t)}},{key:"cut",value:function(e){return l(e)}},{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach(function(e){n=n&&!!document.queryCommandSupported(e)}),n}}],n&&w(t.prototype,n),r&&w(t,r),o}(i()),$=x},828:function(e){if("undefined"!=typeof Element&&!Element.prototype.matches){var t=Element.prototype;t.matches=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}e.exports=function(e,t){for(;e&&9!==e.nodeType;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}},438:function(e,t,n){var r=n(828);function i(e,t,n,r,i){var a=o.apply(this,arguments);return e.addEventListener(n,a,i),{destroy:function(){e.removeEventListener(n,a,i)}}}function o(e,t,n,i){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&i.call(e,n)}}e.exports=function(e,t,n,r,o){return"function"==typeof e.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,function(e){return i(e,t,n,r,o)}))}},879:function(e,t){t.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},t.nodeList=function(e){var n=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in e&&(0===e.length||t.node(e[0]))},t.string=function(e){return"string"==typeof e||e instanceof String},t.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},370:function(e,t,n){var r=n(879),i=n(438);e.exports=function(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!r.string(t))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(e))return function(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}(e,t,n);if(r.nodeList(e))return function(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}(e,t,n);if(r.string(e))return function(e,t,n){return i(document.body,e,t,n)}(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(e){e.exports=function(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(e),r.removeAllRanges(),r.addRange(i),t=r.toString()}return t}},279:function(e){function t(){}t.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){var r=this;function i(){r.off(e,i),t.apply(n,arguments)}return i._=t,this.on(e,i,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;r<i;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],i=[];if(r&&t)for(var o=0,a=r.length;o<a;o++)r[o].fn!==t&&r[o].fn._!==t&&i.push(r[o]);return i.length?n[e]=i:delete n[e],this}},e.exports=t,e.exports.TinyEmitter=t}},t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}return n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n(686)}().default},e.exports=t()},64830:function(e,t,n){"use strict";function r(e,t){function n(){$(".swh-releases-switch").removeClass("active"),$(".swh-branches-switch").addClass("active"),$("#swh-tab-releases").removeClass("active"),$("#swh-tab-branches").addClass("active")}function r(){$(".swh-branches-switch").removeClass("active"),$(".swh-releases-switch").addClass("active"),$("#swh-tab-branches").removeClass("active"),$("#swh-tab-releases").addClass("active")}$(document).ready(function(){$(".dropdown-menu a.swh-branches-switch").click(function(e){n(),e.stopPropagation()}),$(".dropdown-menu a.swh-releases-switch").click(function(e){r(),e.stopPropagation()});var i=!1;$("#swh-branches-releases-dd").on("show.bs.dropdown",function(){if(!i){var e=$(".swh-branches-releases").width();$(".swh-branches-releases").width(e+25),i=!0}}),e&&(t?n():r())})}n.d(t,{N:function(){return r}})},73738:function(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},74264:function(e,t,n){"use strict";n.d(t,{Lz:function(){return b},_q:function(){return x},fV:function(){return d},iF:function(){return f},u$:function(){return v}});var r=n(10467),i=n(54756),o=n.n(i),a=n(57576),s=n.n(a),c=n(8545),u=(n(93885),n(28848)),l=n.n(u);n(3530);function d(e){e.preventDefault(),$(e.target).tab("show")}function p(e){var t=$(e).closest(".swhid-ui").find(".swhid"),n=$(e).data("swhid-with-context"),r=$(e).data("swhid-with-context-url"),i=t.text();if($(e).prop("checked"))t.attr("href",r),i=n.replace(/;/g,";\n");else{var o=i.indexOf(";");-1!==o&&(i=i.slice(0,o)),t.attr("href","/"+i)}t.text(i),g()}function f(e){e.stopPropagation(),p(e.target)}function h(){for(var e=[],t=";lines=",n=new RegExp(/L(\d+)/g),r=n.exec(window.location.hash);r;)e.push(parseInt(r[1])),r=n.exec(window.location.hash);return e.length>0&&(t+=e[0]),e.length>1&&(t+="-"+e[1]),e.length>0?t:null}function g(){var e=$("#swhid-tab-content").find(".swhid"),t=e.text().replace(/;\n/g,";"),n=h(),r=$("#swhid-context-option-content");if(r.prop("checked")){var i=r.data("swhid-with-context-url");t=t.replace(/;lines=\d+-*\d*/g,""),n&&(t+=n,i+=n),e.text(t.replace(/;/g,";\n")),e.attr("href",i)}}function w(){$(".swh-side-tab").css("width",Math.min(window.innerWidth-45,1e3)+"px");var e=window.innerHeight>=700?250:35;$(".swh-side-tab").css("top",e+"px"),$("#swh-citations .handle").css("top","128px");var t=$("#swh-identifiers-content").css("display"),n=$("#swh-citations-content").css("display");function r(t){e+$(t).height()>window.innerHeight&&$(t).css("height",window.innerHeight-e-5+"px")}$(".swh-side-tab").css("height","auto"),$(".swh-tab-side-content").css("display","block"),r("#swh-identifiers"),r("#swh-citations"),$("#swh-identifiers .swh-badges-iframe").css("display",window.innerHeight>=700?"flex":"none"),$("#swh-identifiers .swh-badges-iframe").css("display",window.innerWidth>=700?"flex":"none"),$("#swh-identifiers-content").css("display",t),$("#swh-citations-content").css("display",n)}function v(e){return m.apply(this,arguments)}function m(){return(m=(0,r.A)(o().mark(function e(t){var n,r,i,a,s,u,d,p,f,g;return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=swh.webapp.getSwhIdsContext(),t&&n.hasOwnProperty(t)){e.next=1;break}return e.abrupt("return");case 1:return r=n[t].swhid,n[t].swhid_with_context_url&&(r=n[t].swhid_with_context_url.slice(1)),"content"===t&&(i=h())&&(r+=i),a=$("#citation-format-option-"+t).val().toLowerCase(),s=Urls.api_1_raw_intrinsic_citation_swhid_get()+"?citation_format="+a+"&target_swhid="+r,e.prev=2,e.next=3,fetch(s);case 3:return u=e.sent,(0,c.Tv)(u),$("#swh-citations").removeClass("d-none"),e.next=4,u.json();case 4:d=e.sent,p=l().highlight(d.content,l().languages.bibtex,"bibtex"),$("#citation-tab-"+t+" .swh-citation").html(p),$("#citation-tab-"+t+" .btn-citation-copy").attr("disabled",!1),$("#citation-source-"+t).html('<a target="_blank" rel="noopener noreferrer" href="'+Urls.browse_swhid(d.source_swhid)+'">Browse citation metadata</a>'),e.next=7;break;case 5:return e.prev=5,g=e.catch(2),e.next=6,g.json();case 6:f=e.sent,$("#citation-tab-"+t+" .swh-citation").text("Software citation could not be generated due to the following reason:\n\n"+f.reason),$("#citation-tab-"+t+" .btn-citation-copy").attr("disabled",!0),400===g.status?($("#citation-source-"+t).html('<a target="_blank" rel="noopener noreferrer" href="'+Urls.browse_swhid(f.source_swhid)+'">Browse citation metadata</a>'),$("#swh-citations").removeClass("d-none")):$("#citation-source-"+t).html("");case 7:case"end":return e.stop()}},e,null,[[2,5]])}))).apply(this,arguments)}function b(e){return y.apply(this,arguments)}function y(){return(y=(0,r.A)(o().mark(function e(t){return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,v($(t.target).text().trim());case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function x(){return k.apply(this,arguments)}function k(){return k=(0,r.A)(o().mark(function e(){return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:$(document).ready(function(){var e=function(e,t){var n=e.innerHTML;n!==t&&(e.innerHTML=t,setTimeout(function(){e.innerHTML=n},1e3))};function t(){return $(".introjs-overlay").length>0}function n(e,t){$(e+"-content").css("display",t?"block":"none"),$(e).css("z-index",t?"40000":"30000"),$(e+" .handle").css("padding-bottom",t?"0.4em":"0.1em")}new(s())(".btn-swhid-copy",{text:function(e){return $(e).closest(".swhid-ui").find(".swhid").text().replace(/;\n/g,";")}}).on("success",function(t){e(t.trigger,"Copied!"),t.clearSelection()}),new(s())(".btn-swhid-url-copy",{text:function(e){var t=$(e).closest(".swhid-ui").find(".swhid").attr("href");return window.location.origin+t}}).on("success",function(t){e(t.trigger,"Copied!"),t.clearSelection()});var i,a={tabLocation:"right",action:null,clickScreenToCloseFilters:[t,".ui-slideouttab-panel",".modal"],onBeforeOpen:function(){return $("#swh-identifiers").data("opening",!0),$("#swh-citations").data("opening")||$("#swh-citations").trigger("open"),n("#swh-identifiers",!0),n("#swh-citations",!1),!0},onOpen:function(){$("#swh-identifiers").data("opening",!1),$("#swhids-handle").attr("aria-expanded","true"),$("#swhids-handle").attr("aria-label","Collapse permalinks tab"),$("#swhids-handle").attr("title","Collapse permalinks tab"),$("#citations-handle").attr("aria-label","Display citations tab"),$("#citations-handle").attr("title","Display citations tab"),$(".tab-handle-arrow").removeClass("mdi-chevron-up"),$(".tab-handle-arrow").addClass("mdi-chevron-down")},onBeforeClose:function(){return $("#swh-identifiers").data("closing",!0),$("#swh-citations").data("closing")||$("#swh-citations").trigger("close"),!0},onClose:function(){$("#swh-identifiers").data("closing",!1),$("#swhids-handle").attr("aria-expanded","false"),$("#swhids-handle").attr("aria-label","Expand permalinks tab"),$("#swhids-handle").attr("title","Expand permalinks tab"),$(".tab-handle-arrow").removeClass("mdi-chevron-down"),$(".tab-handle-arrow").addClass("mdi-chevron-up"),$("#swhids-handle").css("padding-bottom","0.1em"),setTimeout(function(){$("#swh-identifiers-content").css("display","none")},500)}};if($("#swh-identifiers").tabSlideOut(a),$("#swh-identifiers .handle").on("click",function(e){e.preventDefault(),$("#swh-identifiers").tabSlideOut("isOpen")?"none"===$("#swh-identifiers-content").css("display")?(n("#swh-identifiers",!0),n("#swh-citations",!1),$("#citations-handle").attr("aria-label","Display citations tab"),$("#citations-handle").attr("title","Display citations tab"),$("#swhids-handle").attr("aria-label","Collapse permalinks tab"),$("#swhids-handle").attr("title","Collapse permalinks tab")):$("#swh-identifiers").trigger("close"):$("#swh-identifiers").trigger("open")}),$(".swhid-context-option").each(function(e,t){p(t)}),JSON.parse($("#activate_citations_ui").text())||swh.webapp.isStaffUser()||swh.webapp.isAmbassadorUser()){new(s())(".btn-citation-copy",{text:function(e){return $(e).closest(".citation-ui").find(".swh-citation").text()}}).on("success",function(t){e(t.trigger,"Copied!")});var c={tabLocation:"right",action:null,clickScreenToCloseFilters:[t,".ui-slideouttab-panel",".modal"],onBeforeOpen:(i=(0,r.A)(o().mark(function e(){var t;return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return $("#swh-citations").data("opening",!0),$("#swh-identifiers").data("opening")||$("#swh-identifiers").trigger("open"),t=$("#swh-citations-content .nav-link.active").text().trim(),""===$("citation-tab-"+t+" pre").text().trim()&&v(t),n("#swh-citations",!0),n("#swh-identifiers",!1),e.abrupt("return",!0);case 1:case"end":return e.stop()}},e)})),function(){return i.apply(this,arguments)}),onOpen:function(){$("#swh-citations").data("opening",!1),$("#citations-handle").attr("aria-expanded","true"),$("#citations-handle").attr("aria-label","Collapse citations tab"),$("#citations-handle").attr("title","Collapse citations tab"),$("#swhids-handle").attr("aria-label","Display permalinks tab"),$("#swhids-handle").attr("title","Display permalinks tab")},onBeforeClose:function(){return $("#swh-citations").data("closing",!0),$("#swh-identifiers").data("closing")||$("#swh-identifiers").trigger("close"),!0},onClose:function(){$("#swh-citations").data("closing",!1),$("#citations-handle").attr("aria-expanded","false"),$("#citations-handle").attr("aria-label","Expand citations tab"),$("#citations-handle").attr("title","Expand citations tab"),$("#citations-handle").css("padding-bottom","0.1em"),setTimeout(function(){$("#swh-citations-content").css("display","none")},500)}};$("#swh-citations").tabSlideOut(c),$("#swh-citations .handle").on("click",function(e){e.preventDefault(),$("#swh-citations").tabSlideOut("isOpen")?"none"===$("#swh-citations-content").css("display")?(n("#swh-identifiers",!1),n("#swh-citations",!0),$("#swhids-handle").attr("aria-label","Display permalinks tab"),$("#swhids-handle").attr("title","Display permalinks tab"),$("#citations-handle").attr("aria-label","Collapse citations tab"),$("#citations-handle").attr("title","Collapse citations tab")):$("#swh-citations").trigger("close"):$("#swh-citations").trigger("open")}),v(swh.webapp.getBrowsedSwhObjectMetadata().object_type)}w(),$(window).on("hashchange",function(){g()}),$("body").click(function(){g()}),$(window).on("resize",function(){w()})});case 1:case"end":return e.stop()}},e)})),k.apply(this,arguments)}},75546:function(e){function t(n,r,i,o){var a=Object.defineProperty;try{a({},"",{})}catch(n){a=0}e.exports=t=function(e,n,r,i){function o(n,r){t(e,n,function(e){return this._invoke(n,r,e)})}n?a?a(e,n,{value:r,enumerable:!i,configurable:!i,writable:!i}):e[n]=r:(o("next",0),o("throw",1),o("return",2))},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r,i,o)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},93885:function(){!function(e){e.fn.tabSlideOut=function(t){function n(e){return parseInt(e.outerHeight()+1,10)+"px"}function r(){var t=e(window).height();return"top"!==s&&"bottom"!==s||(t=e(window).width()),t-parseInt(a.otherOffset)-parseInt(a.offset)}var i=this;function o(){return i.hasClass("ui-slideouttab-open")}if("string"==typeof t)switch(t){case"open":return this.trigger("open"),this;case"close":return this.trigger("close"),this;case"isOpen":return o();case"toggle":return this.trigger("toggle"),this;case"bounce":return this.trigger("bounce"),this;default:throw"Invalid tabSlideOut command"}else{var a=e.extend({tabLocation:"left",tabHandle:".handle",action:"click",hoverTimeout:5e3,offset:"200px",offsetReverse:!1,otherOffset:null,handleOffset:null,handleOffsetReverse:!1,bounceDistance:"50px",bounceTimes:4,bounceSpeed:300,tabImage:null,tabImageHeight:null,tabImageWidth:null,onLoadSlideOut:!1,clickScreenToClose:!0,clickScreenToCloseFilters:[".ui-slideouttab-panel"],onOpen:function(){},onClose:function(){},onSlide:function(){},onBeforeOpen:function(){return!0},onBeforeClose:function(){return!0},onBeforeSlide:function(){return!0}},t||{}),s=a.tabLocation,c=a.tabHandle=e(a.tabHandle,i);if(i.addClass("ui-slideouttab-panel").addClass("ui-slideouttab-"+s),a.offsetReverse&&i.addClass("ui-slideouttab-panel-reverse"),c.addClass("ui-slideouttab-handle"),a.handleOffsetReverse&&c.addClass("ui-slideouttab-handle-reverse"),a.toggleButton=e(a.toggleButton),null!==a.tabImage){var u=0,l=0;if(null!==a.tabImageHeight&&null!==a.tabImageWidth)u=a.tabImageHeight,l=a.tabImageWidth;else{var d=new Image;d.src=a.tabImage,u=d.naturalHeight,l=d.naturalWidth}c.addClass("ui-slideouttab-handle-image"),c.css({background:"url("+a.tabImage+") no-repeat",width:l,height:u})}"top"===s||"bottom"===s?(a.panelOffsetFrom=a.offsetReverse?"right":"left",a.handleOffsetFrom=a.handleOffsetReverse?"right":"left"):(a.panelOffsetFrom=a.offsetReverse?"bottom":"top",a.handleOffsetFrom=a.handleOffsetReverse?"bottom":"top"),null===a.handleOffset&&(a.handleOffset="-"+function(e,t){return parseInt(e.css("border-"+t+"-width"),10)}(i,a.handleOffsetFrom)+"px"),"top"===s||"bottom"===s?(i.css(a.panelOffsetFrom,a.offset),c.css(a.handleOffsetFrom,a.handleOffset),null!==a.otherOffset&&(i.css("width",r()+"px"),e(window).resize(function(){i.css("width",r()+"px")})),"top"===s?c.css({bottom:"-"+n(c)}):c.css({top:"-"+n(c)})):(i.css(a.panelOffsetFrom,a.offset),c.css(a.handleOffsetFrom,a.handleOffset),null!==a.otherOffset&&(i.css("height",r()+"px"),e(window).resize(function(){i.css("height",r()+"px")})),"left"===s?c.css({right:"0"}):c.css({left:"0"})),c.click(function(e){e.preventDefault()}),a.toggleButton.click(function(e){e.preventDefault()}),i.addClass("ui-slideouttab-ready");var p=function(){a.onBeforeSlide()&&a.onBeforeClose()&&(i.removeClass("ui-slideouttab-open").trigger("slideouttabclose"),a.onSlide(),a.onClose())},f=function(){a.onBeforeSlide()&&a.onBeforeOpen()&&(i.addClass("ui-slideouttab-open").trigger("slideouttabopen"),a.onSlide(),a.onOpen())},h=function(){o()?p():f()},g=[];g[s]="-="+a.bounceDistance;var w=[];w[s]="+="+a.bounceDistance;if(a.clickScreenToClose&&e(document).click(function(t){if(o()&&!i[0].contains(t.target)){for(var n=e(t.target),r=0;r<a.clickScreenToCloseFilters.length;r++){var s=a.clickScreenToCloseFilters[r];if("string"==typeof s){if(n.is(s)||n.parents().is(s))return}else if("function"==typeof s&&s.call(i,t))return}p()}}),"click"===a.action)c.click(function(e){h()});else if("hover"===a.action){var v=null;i.hover(function(){o()||f(),v=null},function(){o()&&null===v&&(v=setTimeout(function(){v&&p(),v=null},a.hoverTimeout))}),c.click(function(e){o()&&p()})}a.onLoadSlideOut&&(f(),setTimeout(f,500)),i.on("open",function(e){o()||f()}),i.on("close",function(e){o()&&p()}),i.on("toggle",function(e){h()}),i.on("bounce",function(e){o()?function(){for(var e=i,t=0;t<a.bounceTimes;t++)e=e.animate(g,a.bounceSpeed).animate(w,a.bounceSpeed);i.trigger("slideouttabbounce")}():function(){for(var e=i,t=0;t<a.bounceTimes;t++)e=e.animate(w,a.bounceSpeed).animate(g,a.bounceSpeed);i.trigger("slideouttabbounce")}()})}return this}}(jQuery)},97746:function(e,t,n){"use strict";n.d(t,{J:function(){return k}});var r=n(10467),i=n(54756),o=n.n(i),a=n(8545);function s(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return c(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var u=[],l=null,d=null,p=!1;function f(e){return e.match(/<(.+)>; rel="next"/)[1]}function h(){setTimeout(function(){$("#origin-search-results tbody tr").removeAttr("style")})}function g(){$("#origin-search-results tbody tr").remove()}function w(e){return v.apply(this,arguments)}function v(){return(v=(0,r.A)(o().mark(function e(t){var n,r,i,a,c,d,f,w,v,m,b,y,x,k,_,S,F,A,C;return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=$("#swh-search-visit-type").val(),!(t.length>0)){e.next=3;break}for($("#swh-origin-search-results").show(),$("#swh-no-result").hide(),g(),r=$("#origin-search-results tbody"),i=[],a=0,c=s(t);!(d=c()).done;)for(f=d.value,(w=f.visit_types).includes(n)&&(w=[n]),v=s(w);!(m=v()).done;)b=m.value,y=Urls.browse_origin()+"?origin_url="+encodeURIComponent(f.url),(w.length>1||"any"!==n)&&(y+="&visit_type="+b),x='<tr id="origin-'+a+'" class="swh-search-result-entry swh-tr-hover-highlight">',x+='<td id="visit-type-origin-'+a+'" class="swh-origin-visit-type" style="width: 120px;"><i title="Checking software origin type" class="mdi mdi-sync mdi-spin mdi-fw"></i>Checking</td>',x+='<td style="white-space: nowrap;"><a href="'+y+'">'+f.url+"</a></td>",x+='<td class="swh-visit-status" id="visit-status-origin-'+a+'"><i title="Checking archiving status" class="mdi mdi-sync mdi-spin mdi-fw"></i>Checking</td>',x+="</tr>",r.append(x),k=Urls.api_1_origin_visit_latest(f.url.replace("?","%3F")),k+="?require_snapshot=true",(w.length>1||"any"!==n)&&(k+="&visit_type="+b),i.push(fetch(k)),a+=1;return e.next=1,Promise.all(i);case 1:return _=e.sent,e.next=2,Promise.all(_.map(function(e){return e.json()}));case 2:for(S=e.sent,F=0;F<_.length;++F)A=_[F],C=S[F],404!==A.status&&C.type?($("#visit-type-origin-"+F).html(C.type),$("#visit-status-origin-"+F).html('<i title="Software origin has been archived by Software Heritage" class="mdi mdi-check-bold mdi-fw"></i>Archived')):($("#visit-type-origin-"+F).html("unknown"),$("#visit-status-origin-"+F).html('<i title="Software origin archival by Software Heritage is pending" class="mdi mdi-close-thick mdi-fw"></i>Pending archival'),$("#swh-filter-empty-visits").prop("checked")&&$("#origin-"+F).remove());h(),e.next=4;break;case 3:$("#swh-origin-search-results").hide(),$("#swh-no-result").text("No origins matching the search criteria were found."),$("#swh-no-result").show();case 4:null===l?($("#origins-next-results-button").addClass("disabled"),$("#origins-next-results-button").attr("tabindex","-1")):($("#origins-next-results-button").removeClass("disabled"),$("#origins-next-results-button").attr("tabindex","0")),0===u.length?($("#origins-prev-results-button").addClass("disabled"),$("#origins-prev-results-button").attr("tabindex","-1")):($("#origins-prev-results-button").removeClass("disabled"),$("#origins-prev-results-button").attr("tabindex","0")),p=!1,setTimeout(function(){window.scrollTo(0,0)});case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function m(e,t){var n;if($("#swh-search-origin-metadata").prop("checked"))(n=new URL(Urls.api_1_origin_metadata_search(),window.location)).searchParams.append("fulltext",e);else{var r=$("#swh-search-use-ql").prop("checked");(n=new URL(Urls.api_1_origin_search(e),window.location)).searchParams.append("use_ql",null!=r&&r)}n.searchParams.append("fields","url,visit_types");var i=$("#swh-search-origins-with-visit").prop("checked");n.searchParams.append("limit",t),n.searchParams.append("with_visit",i);var o=$("#swh-search-visit-type").val();"any"!==o&&n.searchParams.append("visit_type",o),b(n.toString())}function b(e){return y.apply(this,arguments)}function y(){return(y=(0,r.A)(o().mark(function e(t){var n,r,i,s,c,u,h;return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return g(),$(".swh-loading").addClass("show"),e.prev=1,e.next=2,fetch(t);case 2:return n=e.sent,(0,a.Tv)(n),e.next=3,n.json();case 3:r=e.sent,d=t,l=null,n.headers.has("Link")&&void 0!==(i=f(n.headers.get("Link")))&&(l=i),n.headers.has("X-Total-Count")&&(s=n.headers.get("X-Total-Count"),s=new Intl.NumberFormat("en-US").format(s),c="",s&&(c=s+" origins found"),$("#swh-origin-search-total-results").text(c)),$(".swh-loading").removeClass("show"),w(r),e.next=6;break;case 4:return e.prev=4,h=e.catch(1),e.next=5,h.json();case 5:u=e.sent,$(".swh-loading").removeClass("show"),p=!1,$("#swh-origin-search-results").hide(),$("#swh-no-result").text((0,a.XE)(u,"An unknown error occurred while searching origins")),$("#swh-no-result").show();case 6:case"end":return e.stop()}},e,null,[[1,4]])}))).apply(this,arguments)}function x(){return(x=(0,r.A)(o().mark(function e(){var t,n,r,i,s,c,u,l;return o().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if($("#swh-no-result").hide(),t=$("#swh-origins-url-patterns").val(),n=$("#swh-search-visit-type").val(),p=!0,!t.startsWith("swh:")){e.next=7;break}return e.prev=1,r=Urls.api_1_resolve_swhid(t),e.next=2,fetch(r);case 2:return i=e.sent,(0,a.Tv)(i),e.next=3,i.json();case 3:s=e.sent,window.location=s.browse_url,e.next=6;break;case 4:return e.prev=4,l=e.catch(1),e.next=5,l.json();case 5:c=e.sent,$("#swh-origin-search-results").hide(),$(".swh-search-pagination").hide(),$("#swh-no-result").text(c.reason),$("#swh-no-result").show();case 6:e.next=10;break;case 7:return e.next=8,(0,a.Th)(t,n);case 8:if(!e.sent){e.next=9;break}u=Urls.browse_origin()+"?origin_url="+encodeURIComponent(t),n&&"any"!==n&&(u+="&visit_type="+n),window.location.href=u,e.next=10;break;case 9:$("#swh-origin-search-results").show(),$(".swh-search-pagination").show(),m(t,100);case 10:case"end":return e.stop()}},e,null,[[1,4]])}))).apply(this,arguments)}function k(){$(document).ready(function(){if($("#swh-search-origins").submit(function(e){if(e.preventDefault(),e.target.checkValidity()){$(e.target).removeClass("was-validated");var t=$("#swh-origins-url-patterns").val().trim(),n=$("#swh-search-origins-with-visit").prop("checked"),r=$("#swh-filter-empty-visits").prop("checked"),i=$("#swh-search-use-ql").prop("checked"),o=$("#swh-search-origin-metadata").prop("checked"),a=$("#swh-search-visit-type").val(),s=new URLSearchParams;s.append("q",t),n&&s.append("with_visit",n),r&&s.append("with_content",r),i&&s.append("use_ql",null!=i&&i),o&&s.append("search_metadata",o),"any"!==a&&s.append("visit_type",a),window.location=Urls.browse_search()+"?"+s.toString()}else $(e.target).addClass("was-validated")}),$("#origins-next-results-button").click(function(e){$("#origins-next-results-button").hasClass("disabled")||p||(p=!0,u.push(d),b(l),e.preventDefault())}),$("#origins-prev-results-button").click(function(e){$("#origins-prev-results-button").hasClass("disabled")||p||(p=!0,b(u.pop()),e.preventDefault())}),$(".page-item").on("keypress",function(e){"Enter"===e.key&&$(e.target).trigger("click")}),window.location.search){var e=new URLSearchParams(window.location.search),t=e.get("q"),n=e.has("with_visit"),r=e.has("use_ql"),i=e.has("with_content"),o=e.has("search_metadata"),a=e.get("visit_type");$("#swh-origins-url-patterns").val(t),$("#swh-search-origins-with-visit").prop("checked",n),$("#swh-search-use-ql").prop("checked",null!=r&&r),$("#swh-filter-empty-visits").prop("checked",i),$("#swh-search-origin-metadata").prop("checked",o),a&&$("#swh-search-visit-type").val(a),function(){x.apply(this,arguments)}()}})}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return function(){"use strict";n.r(r),n.d(r,{generateCitationForObjectType:function(){return a.Lz},generateCitationFromSWHID:function(){return a.u$},initBrowseNavbar:function(){return e.X},initOriginSearch:function(){return i.J},initSideTabs:function(){return a._q},initSnapshotNavigation:function(){return o.N},showIframeInfoModal:function(){return t.T},swhIdContextOptionToggled:function(){return a.iF},swhIdObjectTypeToggled:function(){return a.fV},visitTypeChanged:function(){return e.i}});var e=n(35769),t=n(31887),i=n(97746),o=n(64830),a=n(74264)}(),r}()});
3
- //# sourceMappingURL=browse.fc5d5fafca71e03d2add.js.map