@techdocs/cli 0.8.12 → 0.8.13-next.0

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 (889) hide show
  1. package/CHANGELOG.md +15 -6
  2. package/README.md +6 -6
  3. package/dist/cjs/serve-be4ef843.cjs.js +144 -0
  4. package/dist/cjs/serve-be4ef843.cjs.js.map +1 -0
  5. package/dist/{techdocs-preview-bundle → embedded-app}/.config-schema.json +0 -0
  6. package/dist/{techdocs-preview-bundle → embedded-app}/android-chrome-192x192.png +0 -0
  7. package/dist/{techdocs-preview-bundle → embedded-app}/apple-touch-icon.png +0 -0
  8. package/dist/{techdocs-preview-bundle → embedded-app}/favicon-16x16.png +0 -0
  9. package/dist/{techdocs-preview-bundle → embedded-app}/favicon-32x32.png +0 -0
  10. package/dist/{techdocs-preview-bundle → embedded-app}/favicon.ico +0 -0
  11. package/dist/embedded-app/index.html +1 -0
  12. package/dist/{techdocs-preview-bundle → embedded-app}/manifest.json +0 -0
  13. package/dist/{techdocs-preview-bundle → embedded-app}/robots.txt +0 -0
  14. package/dist/{techdocs-preview-bundle → embedded-app}/safari-pinned-tab.svg +0 -0
  15. package/dist/embedded-app/static/1553.a3ba3bc9.chunk.js +3 -0
  16. package/dist/embedded-app/static/1553.a3ba3bc9.chunk.js.map +1 -0
  17. package/dist/embedded-app/static/1959.f2a5fbe8.chunk.js +8 -0
  18. package/dist/embedded-app/static/1959.f2a5fbe8.chunk.js.map +1 -0
  19. package/dist/embedded-app/static/2426.c303a0db.chunk.js +3 -0
  20. package/dist/embedded-app/static/2426.c303a0db.chunk.js.map +1 -0
  21. package/dist/embedded-app/static/3825.2314f84b.chunk.js +3 -0
  22. package/dist/embedded-app/static/3825.2314f84b.chunk.js.map +1 -0
  23. package/dist/embedded-app/static/390.088f14b3.chunk.js +3 -0
  24. package/dist/embedded-app/static/390.088f14b3.chunk.js.map +1 -0
  25. package/dist/embedded-app/static/4022.9a059830.chunk.js +3 -0
  26. package/dist/embedded-app/static/4022.9a059830.chunk.js.map +1 -0
  27. package/dist/embedded-app/static/4960.ef8f22a6.chunk.js +3 -0
  28. package/dist/embedded-app/static/4960.ef8f22a6.chunk.js.map +1 -0
  29. package/dist/embedded-app/static/6105.1f3a3239.chunk.js +3 -0
  30. package/dist/embedded-app/static/6105.1f3a3239.chunk.js.map +1 -0
  31. package/dist/embedded-app/static/6235.71cad128.chunk.js +3 -0
  32. package/dist/embedded-app/static/6235.71cad128.chunk.js.map +1 -0
  33. package/dist/embedded-app/static/6650.43f69504.chunk.js +3 -0
  34. package/dist/embedded-app/static/6650.43f69504.chunk.js.map +1 -0
  35. package/dist/embedded-app/static/804.c2c0104e.chunk.js +3 -0
  36. package/dist/embedded-app/static/804.c2c0104e.chunk.js.map +1 -0
  37. package/dist/embedded-app/static/8061.d52df3ec.chunk.js +3 -0
  38. package/dist/embedded-app/static/8061.d52df3ec.chunk.js.map +1 -0
  39. package/dist/embedded-app/static/8718.d8f22f92.chunk.js +4 -0
  40. package/dist/embedded-app/static/8718.d8f22f92.chunk.js.map +1 -0
  41. package/dist/embedded-app/static/8792.ffba5fe7.chunk.js +3 -0
  42. package/dist/embedded-app/static/8792.ffba5fe7.chunk.js.map +1 -0
  43. package/dist/embedded-app/static/9028.310b76ec.chunk.js +3 -0
  44. package/dist/embedded-app/static/9028.310b76ec.chunk.js.map +1 -0
  45. package/dist/{techdocs-preview-bundle → embedded-app}/static/createComponent.975d1e1e..svg +0 -0
  46. package/dist/{techdocs-preview-bundle → embedded-app}/static/illo.7884c54f..svg +0 -0
  47. package/dist/embedded-app/static/main.367d4ef1.js +152 -0
  48. package/dist/embedded-app/static/main.367d4ef1.js.map +1 -0
  49. package/dist/{techdocs-preview-bundle → embedded-app}/static/mic-drop.fe3ef4d0..svg +0 -0
  50. package/dist/{techdocs-preview-bundle → embedded-app}/static/missingAnnotation.67f79e98..svg +0 -0
  51. package/dist/embedded-app/static/module-ajv.ed51f4b8.js +10 -0
  52. package/dist/embedded-app/static/module-ajv.ed51f4b8.js.map +1 -0
  53. package/dist/embedded-app/static/module-date-fns.a08d117e.js +3 -0
  54. package/dist/embedded-app/static/module-date-fns.a08d117e.js.map +1 -0
  55. package/dist/embedded-app/static/module-lodash.d85d8a0e.js +29 -0
  56. package/dist/embedded-app/static/module-lodash.d85d8a0e.js.map +1 -0
  57. package/dist/embedded-app/static/module-material-table.f1dfcc79.js +3 -0
  58. package/dist/embedded-app/static/module-material-table.f1dfcc79.js.map +1 -0
  59. package/dist/embedded-app/static/module-material-ui.c0214b97.js +51 -0
  60. package/dist/embedded-app/static/module-material-ui.c0214b97.js.map +1 -0
  61. package/dist/embedded-app/static/module-react-beautiful-dnd.bcb66a0c.js +67 -0
  62. package/dist/embedded-app/static/module-react-beautiful-dnd.bcb66a0c.js.map +1 -0
  63. package/dist/embedded-app/static/module-react-dom.a4f98d7b.js +25 -0
  64. package/dist/embedded-app/static/module-react-dom.a4f98d7b.js.map +1 -0
  65. package/dist/{techdocs-preview-bundle → embedded-app}/static/noBuild.1715fa71..svg +0 -0
  66. package/dist/{techdocs-preview-bundle → embedded-app}/static/noInformation.4b426325..svg +0 -0
  67. package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.051a03b1.chunk.js +6 -0
  68. package/dist/embedded-app/static/react-syntax-highlighter/lowlight-import.051a03b1.chunk.js.map +1 -0
  69. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js +3 -0
  70. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_abnf.e6a0eba8.chunk.js.map +1 -0
  71. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js +3 -0
  72. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_accesslog.4beaa91a.chunk.js.map +1 -0
  73. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js +3 -0
  74. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_actionscript.292b574b.chunk.js.map +1 -0
  75. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js +3 -0
  76. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ada.17b0c1e9.chunk.js.map +1 -0
  77. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js +3 -0
  78. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_angelscript.2fa22084.chunk.js.map +1 -0
  79. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js +3 -0
  80. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_apache.a966b924.chunk.js.map +1 -0
  81. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js +3 -0
  82. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_applescript.398efb2d.chunk.js.map +1 -0
  83. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js +3 -0
  84. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arcade.efd9310b.chunk.js.map +1 -0
  85. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js +3 -0
  86. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_arduino.f5b09530.chunk.js.map +1 -0
  87. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js +3 -0
  88. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_armasm.07c7365e.chunk.js.map +1 -0
  89. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js +3 -0
  90. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_asciidoc.e71b2b97.chunk.js.map +1 -0
  91. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js +3 -0
  92. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_aspectj.d4578a11.chunk.js.map +1 -0
  93. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js +3 -0
  94. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autohotkey.fbaa0237.chunk.js.map +1 -0
  95. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js +3 -0
  96. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_autoit.6d4c5214.chunk.js.map +1 -0
  97. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js +3 -0
  98. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_avrasm.18f58e18.chunk.js.map +1 -0
  99. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js +3 -0
  100. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_awk.c27dd539.chunk.js.map +1 -0
  101. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js +3 -0
  102. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_axapta.590ecb33.chunk.js.map +1 -0
  103. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js +3 -0
  104. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bash.6dadcb4e.chunk.js.map +1 -0
  105. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js +3 -0
  106. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_basic.6316c507.chunk.js.map +1 -0
  107. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js +3 -0
  108. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_bnf.3c2aef44.chunk.js.map +1 -0
  109. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js +5 -0
  110. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_brainfuck.5c72cafc.chunk.js.map +1 -0
  111. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js +3 -0
  112. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_c.e9772f0f.chunk.js.map +1 -0
  113. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js +3 -0
  114. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cLike.df1dc03b.chunk.js.map +1 -0
  115. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js +3 -0
  116. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cal.ab9f187a.chunk.js.map +1 -0
  117. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js +3 -0
  118. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_capnproto.a5523056.chunk.js.map +1 -0
  119. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js +3 -0
  120. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ceylon.3365c59e.chunk.js.map +1 -0
  121. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js +3 -0
  122. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clean.41d80232.chunk.js.map +1 -0
  123. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js +3 -0
  124. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojure.1f816fc6.chunk.js.map +1 -0
  125. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js +3 -0
  126. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_clojureRepl.df5f7b77.chunk.js.map +1 -0
  127. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js +3 -0
  128. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cmake.1d3ebd62.chunk.js.map +1 -0
  129. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js +3 -0
  130. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coffeescript.7d35d62c.chunk.js.map +1 -0
  131. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js +3 -0
  132. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_coq.18dba36b.chunk.js.map +1 -0
  133. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js +3 -0
  134. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cos.2a2085d6.chunk.js.map +1 -0
  135. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js +3 -0
  136. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_cpp.bd92fb21.chunk.js.map +1 -0
  137. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js +3 -0
  138. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crmsh.f9f13b4d.chunk.js.map +1 -0
  139. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js +3 -0
  140. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_crystal.92c08c0a.chunk.js.map +1 -0
  141. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js +3 -0
  142. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csharp.8b48e8b8.chunk.js.map +1 -0
  143. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js +3 -0
  144. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_csp.a08eda06.chunk.js.map +1 -0
  145. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js +3 -0
  146. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_css.04989873.chunk.js.map +1 -0
  147. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js +3 -0
  148. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_d.daf9e0eb.chunk.js.map +1 -0
  149. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js +3 -0
  150. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dart.2047310e.chunk.js.map +1 -0
  151. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js +3 -0
  152. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_delphi.2e20b712.chunk.js.map +1 -0
  153. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js +3 -0
  154. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_diff.b50d2d6c.chunk.js.map +1 -0
  155. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js +3 -0
  156. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_django.d53e0f58.chunk.js.map +1 -0
  157. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js +3 -0
  158. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dns.8313f2da.chunk.js.map +1 -0
  159. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js +3 -0
  160. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dockerfile.4059e474.chunk.js.map +1 -0
  161. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js +3 -0
  162. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dos.6e4bdd05.chunk.js.map +1 -0
  163. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js +3 -0
  164. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dsconfig.cbf005ae.chunk.js.map +1 -0
  165. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js +3 -0
  166. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dts.25d6bc4a.chunk.js.map +1 -0
  167. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js +3 -0
  168. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_dust.9a1225a3.chunk.js.map +1 -0
  169. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js +3 -0
  170. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ebnf.14f00049.chunk.js.map +1 -0
  171. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js +3 -0
  172. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elixir.f723f0f4.chunk.js.map +1 -0
  173. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js +3 -0
  174. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_elm.b6871fdc.chunk.js.map +1 -0
  175. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js +3 -0
  176. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erb.f0b33cfd.chunk.js.map +1 -0
  177. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js +3 -0
  178. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlang.269e6936.chunk.js.map +1 -0
  179. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js +3 -0
  180. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_erlangRepl.5b8fbb4b.chunk.js.map +1 -0
  181. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js +3 -0
  182. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_excel.76415c4c.chunk.js.map +1 -0
  183. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js +3 -0
  184. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fix.f3d3d961.chunk.js.map +1 -0
  185. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js +3 -0
  186. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_flix.4bab53eb.chunk.js.map +1 -0
  187. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js +3 -0
  188. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fortran.4d94061b.chunk.js.map +1 -0
  189. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js +3 -0
  190. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_fsharp.38ba8914.chunk.js.map +1 -0
  191. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js +3 -0
  192. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gams.e8178c8d.chunk.js.map +1 -0
  193. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js +3 -0
  194. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gauss.d8121ec2.chunk.js.map +1 -0
  195. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js +3 -0
  196. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gcode.683bb963.chunk.js.map +1 -0
  197. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js +3 -0
  198. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gherkin.a89ed74e.chunk.js.map +1 -0
  199. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js +3 -0
  200. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_glsl.ad325f79.chunk.js.map +1 -0
  201. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js +3 -0
  202. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gml.8b729794.chunk.js.map +1 -0
  203. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js +3 -0
  204. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_go.86cc8880.chunk.js.map +1 -0
  205. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js +3 -0
  206. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_golo.df21ae57.chunk.js.map +1 -0
  207. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js +3 -0
  208. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_gradle.ccdf8a11.chunk.js.map +1 -0
  209. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js +3 -0
  210. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_groovy.2f3d05a7.chunk.js.map +1 -0
  211. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js +3 -0
  212. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haml.3282d98e.chunk.js.map +1 -0
  213. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js +3 -0
  214. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_handlebars.d75a2b1d.chunk.js.map +1 -0
  215. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js +3 -0
  216. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haskell.fe9946b0.chunk.js.map +1 -0
  217. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js +3 -0
  218. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_haxe.de3c0102.chunk.js.map +1 -0
  219. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js +3 -0
  220. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hsp.79b4f6a1.chunk.js.map +1 -0
  221. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js +3 -0
  222. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_htmlbars.f3762ac8.chunk.js.map +1 -0
  223. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js +3 -0
  224. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_http.3471f585.chunk.js.map +1 -0
  225. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js +3 -0
  226. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_hy.90970bfa.chunk.js.map +1 -0
  227. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js +3 -0
  228. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_inform7.3a00f6f3.chunk.js.map +1 -0
  229. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js +3 -0
  230. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ini.41e881fe.chunk.js.map +1 -0
  231. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js +3 -0
  232. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_irpf90.f7dcd64c.chunk.js.map +1 -0
  233. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js +3 -0
  234. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_isbl.0ef17f5f.chunk.js.map +1 -0
  235. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js +3 -0
  236. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_java.28b8c66f.chunk.js.map +1 -0
  237. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js +3 -0
  238. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_javascript.6b1cd365.chunk.js.map +1 -0
  239. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js +3 -0
  240. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_jbossCli.3e9aa8ff.chunk.js.map +1 -0
  241. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js +3 -0
  242. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_json.64a72c69.chunk.js.map +1 -0
  243. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js +3 -0
  244. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_julia.7beb73b2.chunk.js.map +1 -0
  245. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js +3 -0
  246. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_juliaRepl.3b16b540.chunk.js.map +1 -0
  247. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js +4 -0
  248. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_kotlin.72e6c744.chunk.js.map +1 -0
  249. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js +3 -0
  250. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lasso.206ae0f8.chunk.js.map +1 -0
  251. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js +3 -0
  252. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_latex.c8014dd5.chunk.js.map +1 -0
  253. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js +3 -0
  254. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ldif.a987362a.chunk.js.map +1 -0
  255. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js +3 -0
  256. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_leaf.24aff4d8.chunk.js.map +1 -0
  257. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js +3 -0
  258. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_less.fde51777.chunk.js.map +1 -0
  259. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js +3 -0
  260. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lisp.3b0bfd87.chunk.js.map +1 -0
  261. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js +3 -0
  262. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livecodeserver.28bd16e8.chunk.js.map +1 -0
  263. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js +3 -0
  264. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_livescript.dfedba67.chunk.js.map +1 -0
  265. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js +3 -0
  266. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_llvm.359b16e6.chunk.js.map +1 -0
  267. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js +3 -0
  268. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lsl.f12ea89d.chunk.js.map +1 -0
  269. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js +3 -0
  270. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_lua.d5869324.chunk.js.map +1 -0
  271. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js +3 -0
  272. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_makefile.6b78bb75.chunk.js.map +1 -0
  273. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js +3 -0
  274. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_markdown.4f56f83c.chunk.js.map +1 -0
  275. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js +3 -0
  276. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mathematica.d2775785.chunk.js.map +1 -0
  277. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js +3 -0
  278. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_matlab.14a1484d.chunk.js.map +1 -0
  279. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js +3 -0
  280. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_maxima.d0446e84.chunk.js.map +1 -0
  281. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js +3 -0
  282. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mel.02270ff9.chunk.js.map +1 -0
  283. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js +3 -0
  284. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mercury.6f3d5a69.chunk.js.map +1 -0
  285. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js +3 -0
  286. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mipsasm.aab1a206.chunk.js.map +1 -0
  287. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js +3 -0
  288. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mizar.568906a3.chunk.js.map +1 -0
  289. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js +3 -0
  290. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_mojolicious.c84fcc34.chunk.js.map +1 -0
  291. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js +3 -0
  292. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_monkey.feab688a.chunk.js.map +1 -0
  293. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js +3 -0
  294. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_moonscript.19af75b8.chunk.js.map +1 -0
  295. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js +3 -0
  296. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_n1ql.b2ee87fb.chunk.js.map +1 -0
  297. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js +3 -0
  298. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nginx.4a16400b.chunk.js.map +1 -0
  299. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js +3 -0
  300. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nim.9fcf8db5.chunk.js.map +1 -0
  301. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js +3 -0
  302. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nix.1f574423.chunk.js.map +1 -0
  303. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js +3 -0
  304. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nodeRepl.f2587359.chunk.js.map +1 -0
  305. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js +3 -0
  306. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_nsis.3077a1bf.chunk.js.map +1 -0
  307. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js +3 -0
  308. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_objectivec.9d926142.chunk.js.map +1 -0
  309. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js +3 -0
  310. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ocaml.04b343a0.chunk.js.map +1 -0
  311. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js +3 -0
  312. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oneC.37768899.chunk.js.map +1 -0
  313. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js +3 -0
  314. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_openscad.8491cf45.chunk.js.map +1 -0
  315. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js +3 -0
  316. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_oxygene.643eb07c.chunk.js.map +1 -0
  317. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js +3 -0
  318. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_parser3.75ed358d.chunk.js.map +1 -0
  319. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js +3 -0
  320. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_perl.2efba989.chunk.js.map +1 -0
  321. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js +3 -0
  322. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pf.2186e4a7.chunk.js.map +1 -0
  323. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js +3 -0
  324. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pgsql.843ed847.chunk.js.map +1 -0
  325. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js +3 -0
  326. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_php.7ea88954.chunk.js.map +1 -0
  327. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js +3 -0
  328. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_phpTemplate.fd6719b2.chunk.js.map +1 -0
  329. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js +3 -0
  330. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_plaintext.f1d2959a.chunk.js.map +1 -0
  331. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js +3 -0
  332. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pony.f0b88195.chunk.js.map +1 -0
  333. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js +3 -0
  334. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_powershell.dce833ca.chunk.js.map +1 -0
  335. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js +3 -0
  336. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_processing.36916075.chunk.js.map +1 -0
  337. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js +3 -0
  338. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_profile.db33af61.chunk.js.map +1 -0
  339. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js +3 -0
  340. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_prolog.2a05e187.chunk.js.map +1 -0
  341. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js +3 -0
  342. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_properties.0df57f0a.chunk.js.map +1 -0
  343. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js +3 -0
  344. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_protobuf.3e3b4e57.chunk.js.map +1 -0
  345. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js +3 -0
  346. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_puppet.2fb0bb40.chunk.js.map +1 -0
  347. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js +3 -0
  348. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_purebasic.a63201c1.chunk.js.map +1 -0
  349. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js +3 -0
  350. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_python.770df37e.chunk.js.map +1 -0
  351. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js +3 -0
  352. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_pythonRepl.3ca17ff5.chunk.js.map +1 -0
  353. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js +3 -0
  354. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_q.d9b193e3.chunk.js.map +1 -0
  355. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js +3 -0
  356. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_qml.616441e2.chunk.js.map +1 -0
  357. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js +3 -0
  358. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_r.07dc3712.chunk.js.map +1 -0
  359. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js +3 -0
  360. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_reasonml.85183415.chunk.js.map +1 -0
  361. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js +3 -0
  362. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rib.2ea1e5aa.chunk.js.map +1 -0
  363. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js +3 -0
  364. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_roboconf.5075ae03.chunk.js.map +1 -0
  365. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js +3 -0
  366. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_routeros.d33242ea.chunk.js.map +1 -0
  367. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js +3 -0
  368. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rsl.9c1785fc.chunk.js.map +1 -0
  369. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js +3 -0
  370. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruby.b7a2f7ab.chunk.js.map +1 -0
  371. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js +3 -0
  372. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_ruleslanguage.011d4ccd.chunk.js.map +1 -0
  373. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js +3 -0
  374. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_rust.a6f6a618.chunk.js.map +1 -0
  375. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js +3 -0
  376. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sas.110925b5.chunk.js.map +1 -0
  377. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js +3 -0
  378. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scala.0dddfa51.chunk.js.map +1 -0
  379. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js +3 -0
  380. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scheme.38da3457.chunk.js.map +1 -0
  381. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js +3 -0
  382. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scilab.4554b692.chunk.js.map +1 -0
  383. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js +3 -0
  384. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_scss.a291bfd5.chunk.js.map +1 -0
  385. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js +3 -0
  386. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_shell.c8637fd3.chunk.js.map +1 -0
  387. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js +4 -0
  388. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smali.095fbc33.chunk.js.map +1 -0
  389. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js +3 -0
  390. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_smalltalk.82bb2ca1.chunk.js.map +1 -0
  391. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js +3 -0
  392. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sml.db637ab9.chunk.js.map +1 -0
  393. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js +3 -0
  394. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sqf.c168c06c.chunk.js.map +1 -0
  395. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js +3 -0
  396. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_sql.ace85109.chunk.js.map +1 -0
  397. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js +3 -0
  398. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stan.a5cae90b.chunk.js.map +1 -0
  399. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js +5 -0
  400. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stata.ded20240.chunk.js.map +1 -0
  401. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js +3 -0
  402. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_step21.42386ad1.chunk.js.map +1 -0
  403. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js +3 -0
  404. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_stylus.28930f5e.chunk.js.map +1 -0
  405. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js +5 -0
  406. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_subunit.09d14bb0.chunk.js.map +1 -0
  407. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js +3 -0
  408. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_swift.0bfd8f65.chunk.js.map +1 -0
  409. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js +3 -0
  410. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_taggerscript.08018f04.chunk.js.map +1 -0
  411. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js +3 -0
  412. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tap.38941f9b.chunk.js.map +1 -0
  413. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js +3 -0
  414. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tcl.5c4648da.chunk.js.map +1 -0
  415. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js +3 -0
  416. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_thrift.65eb278d.chunk.js.map +1 -0
  417. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js +3 -0
  418. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_tp.ebc107f2.chunk.js.map +1 -0
  419. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js +3 -0
  420. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_twig.f2a0927f.chunk.js.map +1 -0
  421. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js +3 -0
  422. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_typescript.6c5bb667.chunk.js.map +1 -0
  423. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js +3 -0
  424. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vala.1d0d5f49.chunk.js.map +1 -0
  425. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js +3 -0
  426. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbnet.26dbf652.chunk.js.map +1 -0
  427. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js +3 -0
  428. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscript.918c902a.chunk.js.map +1 -0
  429. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js +3 -0
  430. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.0448aba7.chunk.js.map +1 -0
  431. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js +3 -0
  432. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_verilog.90bb7652.chunk.js.map +1 -0
  433. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js +3 -0
  434. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vhdl.1cfbc65e.chunk.js.map +1 -0
  435. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js +3 -0
  436. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_vim.044bbd92.chunk.js.map +1 -0
  437. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js +3 -0
  438. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_x86asm.e453b717.chunk.js.map +1 -0
  439. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js +3 -0
  440. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xl.be21301d.chunk.js.map +1 -0
  441. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js +3 -0
  442. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xml.1ff2db9d.chunk.js.map +1 -0
  443. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js +3 -0
  444. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_xquery.6691a2a9.chunk.js.map +1 -0
  445. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js +3 -0
  446. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_yaml.ecaddbf6.chunk.js.map +1 -0
  447. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js +3 -0
  448. package/dist/embedded-app/static/react-syntax-highlighter_languages_highlight_zephir.6f6db474.chunk.js.map +1 -0
  449. package/dist/embedded-app/static/runtime.367d4ef1.js +4 -0
  450. package/dist/embedded-app/static/runtime.367d4ef1.js.map +1 -0
  451. package/dist/embedded-app/static/vendor.367d4ef1.js +142 -0
  452. package/dist/embedded-app/static/vendor.367d4ef1.js.map +1 -0
  453. package/dist/index.cjs.js +2 -2
  454. package/package.json +10 -8
  455. package/dist/cjs/serve-639872a5.cjs.js +0 -131
  456. package/dist/cjs/serve-639872a5.cjs.js.map +0 -1
  457. package/dist/techdocs-preview-bundle/index.html +0 -1
  458. package/dist/techdocs-preview-bundle/static/1110.b234ba69.chunk.js +0 -3
  459. package/dist/techdocs-preview-bundle/static/1110.b234ba69.chunk.js.map +0 -1
  460. package/dist/techdocs-preview-bundle/static/1553.0fa45296.chunk.js +0 -3
  461. package/dist/techdocs-preview-bundle/static/1553.0fa45296.chunk.js.map +0 -1
  462. package/dist/techdocs-preview-bundle/static/1959.b2315080.chunk.js +0 -8
  463. package/dist/techdocs-preview-bundle/static/1959.b2315080.chunk.js.map +0 -1
  464. package/dist/techdocs-preview-bundle/static/2426.e436d3cc.chunk.js +0 -3
  465. package/dist/techdocs-preview-bundle/static/2426.e436d3cc.chunk.js.map +0 -1
  466. package/dist/techdocs-preview-bundle/static/3825.0c6049c9.chunk.js +0 -3
  467. package/dist/techdocs-preview-bundle/static/3825.0c6049c9.chunk.js.map +0 -1
  468. package/dist/techdocs-preview-bundle/static/390.477387a1.chunk.js +0 -3
  469. package/dist/techdocs-preview-bundle/static/390.477387a1.chunk.js.map +0 -1
  470. package/dist/techdocs-preview-bundle/static/4022.5ff535ec.chunk.js +0 -3
  471. package/dist/techdocs-preview-bundle/static/4022.5ff535ec.chunk.js.map +0 -1
  472. package/dist/techdocs-preview-bundle/static/4960.eeac5978.chunk.js +0 -3
  473. package/dist/techdocs-preview-bundle/static/4960.eeac5978.chunk.js.map +0 -1
  474. package/dist/techdocs-preview-bundle/static/6105.469318a2.chunk.js +0 -3
  475. package/dist/techdocs-preview-bundle/static/6105.469318a2.chunk.js.map +0 -1
  476. package/dist/techdocs-preview-bundle/static/6235.4e2fe119.chunk.js +0 -3
  477. package/dist/techdocs-preview-bundle/static/6235.4e2fe119.chunk.js.map +0 -1
  478. package/dist/techdocs-preview-bundle/static/6650.db09fdb2.chunk.js +0 -3
  479. package/dist/techdocs-preview-bundle/static/6650.db09fdb2.chunk.js.map +0 -1
  480. package/dist/techdocs-preview-bundle/static/8061.7ae8759a.chunk.js +0 -3
  481. package/dist/techdocs-preview-bundle/static/8061.7ae8759a.chunk.js.map +0 -1
  482. package/dist/techdocs-preview-bundle/static/8718.c2b73d89.chunk.js +0 -4
  483. package/dist/techdocs-preview-bundle/static/8718.c2b73d89.chunk.js.map +0 -1
  484. package/dist/techdocs-preview-bundle/static/8792.e8f9d108.chunk.js +0 -3
  485. package/dist/techdocs-preview-bundle/static/8792.e8f9d108.chunk.js.map +0 -1
  486. package/dist/techdocs-preview-bundle/static/9028.f7aeead0.chunk.js +0 -3
  487. package/dist/techdocs-preview-bundle/static/9028.f7aeead0.chunk.js.map +0 -1
  488. package/dist/techdocs-preview-bundle/static/main.9488c24e.js +0 -152
  489. package/dist/techdocs-preview-bundle/static/main.9488c24e.js.map +0 -1
  490. package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js +0 -10
  491. package/dist/techdocs-preview-bundle/static/module-ajv.b4b6f74e.js.map +0 -1
  492. package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js +0 -3
  493. package/dist/techdocs-preview-bundle/static/module-date-fns.5ead8da9.js.map +0 -1
  494. package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js +0 -29
  495. package/dist/techdocs-preview-bundle/static/module-lodash.a7aa0a73.js.map +0 -1
  496. package/dist/techdocs-preview-bundle/static/module-material-table.6251c462.js +0 -3
  497. package/dist/techdocs-preview-bundle/static/module-material-table.6251c462.js.map +0 -1
  498. package/dist/techdocs-preview-bundle/static/module-material-ui.1332c429.js +0 -51
  499. package/dist/techdocs-preview-bundle/static/module-material-ui.1332c429.js.map +0 -1
  500. package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.c96d1412.js +0 -67
  501. package/dist/techdocs-preview-bundle/static/module-react-beautiful-dnd.c96d1412.js.map +0 -1
  502. package/dist/techdocs-preview-bundle/static/module-react-dom.9dda0392.js +0 -25
  503. package/dist/techdocs-preview-bundle/static/module-react-dom.9dda0392.js.map +0 -1
  504. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js +0 -6
  505. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter/lowlight-import.f36a62b1.chunk.js.map +0 -1
  506. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js +0 -3
  507. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_abnf.44180bf6.chunk.js.map +0 -1
  508. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js +0 -3
  509. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_accesslog.16f76635.chunk.js.map +0 -1
  510. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js +0 -3
  511. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_actionscript.d1324e25.chunk.js.map +0 -1
  512. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js +0 -3
  513. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ada.f3716916.chunk.js.map +0 -1
  514. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js +0 -3
  515. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_angelscript.dad71b89.chunk.js.map +0 -1
  516. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js +0 -3
  517. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_apache.f5ff04ee.chunk.js.map +0 -1
  518. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js +0 -3
  519. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_applescript.4e91aea1.chunk.js.map +0 -1
  520. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js +0 -3
  521. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arcade.7895c4e9.chunk.js.map +0 -1
  522. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js +0 -3
  523. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_arduino.a19a43af.chunk.js.map +0 -1
  524. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js +0 -3
  525. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_armasm.8c7ecdf5.chunk.js.map +0 -1
  526. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js +0 -3
  527. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_asciidoc.65fb9806.chunk.js.map +0 -1
  528. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js +0 -3
  529. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_aspectj.904afe4e.chunk.js.map +0 -1
  530. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js +0 -3
  531. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autohotkey.6c58b49d.chunk.js.map +0 -1
  532. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js +0 -3
  533. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_autoit.38d1e81b.chunk.js.map +0 -1
  534. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js +0 -3
  535. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_avrasm.c15fbc7f.chunk.js.map +0 -1
  536. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js +0 -3
  537. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_awk.f98852e2.chunk.js.map +0 -1
  538. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js +0 -3
  539. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_axapta.a87c16c7.chunk.js.map +0 -1
  540. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js +0 -3
  541. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bash.97a6732d.chunk.js.map +0 -1
  542. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js +0 -3
  543. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_basic.5a8a2b0e.chunk.js.map +0 -1
  544. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js +0 -3
  545. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_bnf.fd1cf84c.chunk.js.map +0 -1
  546. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js +0 -5
  547. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_brainfuck.6a972fec.chunk.js.map +0 -1
  548. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js +0 -3
  549. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_c.90e5b758.chunk.js.map +0 -1
  550. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js +0 -3
  551. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cLike.e0b22dc1.chunk.js.map +0 -1
  552. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js +0 -3
  553. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cal.5371a489.chunk.js.map +0 -1
  554. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js +0 -3
  555. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_capnproto.22c82c14.chunk.js.map +0 -1
  556. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js +0 -3
  557. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ceylon.0e24759a.chunk.js.map +0 -1
  558. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js +0 -3
  559. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clean.9d7c4d80.chunk.js.map +0 -1
  560. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js +0 -3
  561. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojure.7fe686e1.chunk.js.map +0 -1
  562. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js +0 -3
  563. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_clojureRepl.780991a1.chunk.js.map +0 -1
  564. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js +0 -3
  565. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cmake.47ab507c.chunk.js.map +0 -1
  566. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js +0 -3
  567. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coffeescript.f5f72654.chunk.js.map +0 -1
  568. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js +0 -3
  569. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_coq.13e3fdf1.chunk.js.map +0 -1
  570. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js +0 -3
  571. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cos.fde0a56d.chunk.js.map +0 -1
  572. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js +0 -3
  573. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_cpp.c265ceb9.chunk.js.map +0 -1
  574. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js +0 -3
  575. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crmsh.6ea91d25.chunk.js.map +0 -1
  576. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js +0 -3
  577. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_crystal.958e7cd8.chunk.js.map +0 -1
  578. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js +0 -3
  579. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csharp.024a5882.chunk.js.map +0 -1
  580. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js +0 -3
  581. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_csp.a1f40901.chunk.js.map +0 -1
  582. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js +0 -3
  583. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_css.a6be3ec1.chunk.js.map +0 -1
  584. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js +0 -3
  585. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_d.b5fbcc3b.chunk.js.map +0 -1
  586. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js +0 -3
  587. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dart.237b4a4d.chunk.js.map +0 -1
  588. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js +0 -3
  589. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_delphi.c6543d99.chunk.js.map +0 -1
  590. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js +0 -3
  591. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_diff.b44d0d39.chunk.js.map +0 -1
  592. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js +0 -3
  593. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_django.17fe3508.chunk.js.map +0 -1
  594. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js +0 -3
  595. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dns.121f99a8.chunk.js.map +0 -1
  596. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js +0 -3
  597. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dockerfile.4bc76caa.chunk.js.map +0 -1
  598. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js +0 -3
  599. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dos.8fe7ec9c.chunk.js.map +0 -1
  600. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js +0 -3
  601. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dsconfig.2b3149cf.chunk.js.map +0 -1
  602. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js +0 -3
  603. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dts.f7624110.chunk.js.map +0 -1
  604. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js +0 -3
  605. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_dust.82c7c10a.chunk.js.map +0 -1
  606. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js +0 -3
  607. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ebnf.a17ea6c9.chunk.js.map +0 -1
  608. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js +0 -3
  609. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elixir.b80bc1a9.chunk.js.map +0 -1
  610. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js +0 -3
  611. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_elm.72e1cc75.chunk.js.map +0 -1
  612. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js +0 -3
  613. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erb.14a2c715.chunk.js.map +0 -1
  614. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js +0 -3
  615. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlang.c8065304.chunk.js.map +0 -1
  616. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js +0 -3
  617. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_erlangRepl.fe68db2d.chunk.js.map +0 -1
  618. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js +0 -3
  619. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_excel.958f6c8c.chunk.js.map +0 -1
  620. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js +0 -3
  621. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fix.6dd35d09.chunk.js.map +0 -1
  622. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js +0 -3
  623. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_flix.36a9cb77.chunk.js.map +0 -1
  624. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js +0 -3
  625. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fortran.8c0ab1fe.chunk.js.map +0 -1
  626. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js +0 -3
  627. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_fsharp.ed1f65da.chunk.js.map +0 -1
  628. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js +0 -3
  629. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gams.68b972c5.chunk.js.map +0 -1
  630. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js +0 -3
  631. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gauss.ebf37b1b.chunk.js.map +0 -1
  632. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js +0 -3
  633. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gcode.2b01345a.chunk.js.map +0 -1
  634. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js +0 -3
  635. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gherkin.7bf1539a.chunk.js.map +0 -1
  636. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js +0 -3
  637. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_glsl.4799d894.chunk.js.map +0 -1
  638. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js +0 -3
  639. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gml.4e60f232.chunk.js.map +0 -1
  640. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js +0 -3
  641. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_go.37fadd1d.chunk.js.map +0 -1
  642. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js +0 -3
  643. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_golo.7bb3cf46.chunk.js.map +0 -1
  644. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js +0 -3
  645. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_gradle.3cbdd1bd.chunk.js.map +0 -1
  646. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js +0 -3
  647. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_groovy.2e62c130.chunk.js.map +0 -1
  648. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js +0 -3
  649. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haml.edb37c53.chunk.js.map +0 -1
  650. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js +0 -3
  651. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_handlebars.b664c46b.chunk.js.map +0 -1
  652. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js +0 -3
  653. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haskell.1cef1b61.chunk.js.map +0 -1
  654. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js +0 -3
  655. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_haxe.26cdb0ea.chunk.js.map +0 -1
  656. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js +0 -3
  657. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hsp.ba20053a.chunk.js.map +0 -1
  658. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js +0 -3
  659. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_htmlbars.95d73e0d.chunk.js.map +0 -1
  660. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js +0 -3
  661. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_http.a0d144bd.chunk.js.map +0 -1
  662. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js +0 -3
  663. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_hy.3ac5599e.chunk.js.map +0 -1
  664. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js +0 -3
  665. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_inform7.ead5c5d1.chunk.js.map +0 -1
  666. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js +0 -3
  667. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ini.fdff89f2.chunk.js.map +0 -1
  668. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js +0 -3
  669. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_irpf90.c0eca5dd.chunk.js.map +0 -1
  670. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js +0 -3
  671. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_isbl.563560b4.chunk.js.map +0 -1
  672. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js +0 -3
  673. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_java.2d847185.chunk.js.map +0 -1
  674. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js +0 -3
  675. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_javascript.32f28256.chunk.js.map +0 -1
  676. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js +0 -3
  677. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_jbossCli.b5dee132.chunk.js.map +0 -1
  678. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js +0 -3
  679. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_json.56f67ac3.chunk.js.map +0 -1
  680. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js +0 -3
  681. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_julia.8da0d423.chunk.js.map +0 -1
  682. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js +0 -3
  683. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_juliaRepl.a9e4de93.chunk.js.map +0 -1
  684. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js +0 -4
  685. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_kotlin.73f7b652.chunk.js.map +0 -1
  686. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js +0 -3
  687. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lasso.a1ac2129.chunk.js.map +0 -1
  688. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js +0 -3
  689. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_latex.c2641e0b.chunk.js.map +0 -1
  690. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js +0 -3
  691. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ldif.64aa82a0.chunk.js.map +0 -1
  692. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js +0 -3
  693. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_leaf.546938bd.chunk.js.map +0 -1
  694. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js +0 -3
  695. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_less.7e6677bd.chunk.js.map +0 -1
  696. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js +0 -3
  697. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lisp.9074eb13.chunk.js.map +0 -1
  698. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js +0 -3
  699. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livecodeserver.7fdedcc3.chunk.js.map +0 -1
  700. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js +0 -3
  701. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_livescript.da3828b0.chunk.js.map +0 -1
  702. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js +0 -3
  703. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_llvm.4c383ff9.chunk.js.map +0 -1
  704. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js +0 -3
  705. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lsl.b1aa17e6.chunk.js.map +0 -1
  706. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js +0 -3
  707. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_lua.c4e557bf.chunk.js.map +0 -1
  708. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js +0 -3
  709. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_makefile.c494622b.chunk.js.map +0 -1
  710. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js +0 -3
  711. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_markdown.0a3d0f33.chunk.js.map +0 -1
  712. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js +0 -3
  713. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mathematica.df8b4680.chunk.js.map +0 -1
  714. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js +0 -3
  715. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_matlab.bd34736e.chunk.js.map +0 -1
  716. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js +0 -3
  717. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_maxima.f315d0f9.chunk.js.map +0 -1
  718. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js +0 -3
  719. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mel.2bf58530.chunk.js.map +0 -1
  720. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js +0 -3
  721. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mercury.737e7fad.chunk.js.map +0 -1
  722. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js +0 -3
  723. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mipsasm.aff7b417.chunk.js.map +0 -1
  724. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js +0 -3
  725. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mizar.55abb80f.chunk.js.map +0 -1
  726. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js +0 -3
  727. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_mojolicious.2fef7889.chunk.js.map +0 -1
  728. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js +0 -3
  729. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_monkey.7cf01528.chunk.js.map +0 -1
  730. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js +0 -3
  731. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_moonscript.fec6d855.chunk.js.map +0 -1
  732. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js +0 -3
  733. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_n1ql.ba9f23b6.chunk.js.map +0 -1
  734. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js +0 -3
  735. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nginx.f28e68e0.chunk.js.map +0 -1
  736. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js +0 -3
  737. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nim.1da03ea0.chunk.js.map +0 -1
  738. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js +0 -3
  739. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nix.0e558e4f.chunk.js.map +0 -1
  740. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js +0 -3
  741. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nodeRepl.57d8e51c.chunk.js.map +0 -1
  742. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js +0 -3
  743. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_nsis.9a904d67.chunk.js.map +0 -1
  744. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js +0 -3
  745. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_objectivec.db4c69d6.chunk.js.map +0 -1
  746. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js +0 -3
  747. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ocaml.9c661b3f.chunk.js.map +0 -1
  748. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js +0 -3
  749. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oneC.acdc66c6.chunk.js.map +0 -1
  750. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js +0 -3
  751. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_openscad.d20d1d04.chunk.js.map +0 -1
  752. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js +0 -3
  753. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_oxygene.e8434002.chunk.js.map +0 -1
  754. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js +0 -3
  755. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_parser3.2c98c3aa.chunk.js.map +0 -1
  756. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js +0 -3
  757. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_perl.10b0e035.chunk.js.map +0 -1
  758. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js +0 -3
  759. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pf.ac3abab7.chunk.js.map +0 -1
  760. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js +0 -3
  761. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pgsql.ceac2a60.chunk.js.map +0 -1
  762. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js +0 -3
  763. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_php.50b1ab1d.chunk.js.map +0 -1
  764. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js +0 -3
  765. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_phpTemplate.9ec9887a.chunk.js.map +0 -1
  766. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js +0 -3
  767. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_plaintext.77e11cdb.chunk.js.map +0 -1
  768. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js +0 -3
  769. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pony.d0338388.chunk.js.map +0 -1
  770. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js +0 -3
  771. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_powershell.418902dc.chunk.js.map +0 -1
  772. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js +0 -3
  773. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_processing.6c2d3369.chunk.js.map +0 -1
  774. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js +0 -3
  775. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_profile.69449bf7.chunk.js.map +0 -1
  776. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js +0 -3
  777. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_prolog.e34648ea.chunk.js.map +0 -1
  778. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js +0 -3
  779. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_properties.47f3f865.chunk.js.map +0 -1
  780. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js +0 -3
  781. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_protobuf.763cdb4e.chunk.js.map +0 -1
  782. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js +0 -3
  783. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_puppet.88196135.chunk.js.map +0 -1
  784. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js +0 -3
  785. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_purebasic.419824e0.chunk.js.map +0 -1
  786. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js +0 -3
  787. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_python.9744b6f8.chunk.js.map +0 -1
  788. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js +0 -3
  789. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_pythonRepl.1b9472f3.chunk.js.map +0 -1
  790. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js +0 -3
  791. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_q.bfc365de.chunk.js.map +0 -1
  792. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js +0 -3
  793. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_qml.c7e950a0.chunk.js.map +0 -1
  794. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js +0 -3
  795. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_r.7651d544.chunk.js.map +0 -1
  796. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js +0 -3
  797. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_reasonml.3584fcd1.chunk.js.map +0 -1
  798. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js +0 -3
  799. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rib.233d9368.chunk.js.map +0 -1
  800. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js +0 -3
  801. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_roboconf.438626a9.chunk.js.map +0 -1
  802. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js +0 -3
  803. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_routeros.d3f48421.chunk.js.map +0 -1
  804. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js +0 -3
  805. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rsl.f17424f7.chunk.js.map +0 -1
  806. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js +0 -3
  807. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruby.27af1817.chunk.js.map +0 -1
  808. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js +0 -3
  809. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_ruleslanguage.bcf19c08.chunk.js.map +0 -1
  810. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js +0 -3
  811. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_rust.94f69df4.chunk.js.map +0 -1
  812. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js +0 -3
  813. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sas.20007f93.chunk.js.map +0 -1
  814. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js +0 -3
  815. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scala.761ea769.chunk.js.map +0 -1
  816. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js +0 -3
  817. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scheme.ef3654e0.chunk.js.map +0 -1
  818. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js +0 -3
  819. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scilab.0248cff3.chunk.js.map +0 -1
  820. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js +0 -3
  821. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_scss.0c85d2e9.chunk.js.map +0 -1
  822. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js +0 -3
  823. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_shell.4d8d4789.chunk.js.map +0 -1
  824. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js +0 -4
  825. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smali.87d2b24f.chunk.js.map +0 -1
  826. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js +0 -3
  827. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_smalltalk.33a24317.chunk.js.map +0 -1
  828. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js +0 -3
  829. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sml.8c092018.chunk.js.map +0 -1
  830. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js +0 -3
  831. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sqf.9f31463b.chunk.js.map +0 -1
  832. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js +0 -3
  833. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_sql.70ed7c81.chunk.js.map +0 -1
  834. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js +0 -3
  835. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stan.bfa01ef6.chunk.js.map +0 -1
  836. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js +0 -5
  837. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stata.f4643ff4.chunk.js.map +0 -1
  838. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js +0 -3
  839. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_step21.645e7061.chunk.js.map +0 -1
  840. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js +0 -3
  841. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_stylus.9a7b42db.chunk.js.map +0 -1
  842. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js +0 -5
  843. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_subunit.a0d8dd23.chunk.js.map +0 -1
  844. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js +0 -3
  845. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_swift.48cf46ec.chunk.js.map +0 -1
  846. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js +0 -3
  847. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_taggerscript.58eb604f.chunk.js.map +0 -1
  848. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js +0 -3
  849. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tap.22b00786.chunk.js.map +0 -1
  850. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js +0 -3
  851. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tcl.7b87582b.chunk.js.map +0 -1
  852. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js +0 -3
  853. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_thrift.0e91a8da.chunk.js.map +0 -1
  854. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js +0 -3
  855. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_tp.5209a7db.chunk.js.map +0 -1
  856. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js +0 -3
  857. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_twig.3960e9fb.chunk.js.map +0 -1
  858. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js +0 -3
  859. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_typescript.754aaa00.chunk.js.map +0 -1
  860. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js +0 -3
  861. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vala.6810e476.chunk.js.map +0 -1
  862. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js +0 -3
  863. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbnet.f3f57718.chunk.js.map +0 -1
  864. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js +0 -3
  865. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscript.6f5a7e18.chunk.js.map +0 -1
  866. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js +0 -3
  867. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vbscriptHtml.ae890787.chunk.js.map +0 -1
  868. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js +0 -3
  869. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_verilog.40403139.chunk.js.map +0 -1
  870. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js +0 -3
  871. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vhdl.c856f6f8.chunk.js.map +0 -1
  872. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js +0 -3
  873. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_vim.dea95e13.chunk.js.map +0 -1
  874. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js +0 -3
  875. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_x86asm.6d17e6b7.chunk.js.map +0 -1
  876. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js +0 -3
  877. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xl.7e0544e6.chunk.js.map +0 -1
  878. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js +0 -3
  879. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xml.defcd651.chunk.js.map +0 -1
  880. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js +0 -3
  881. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_xquery.40659368.chunk.js.map +0 -1
  882. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js +0 -3
  883. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_yaml.9a196f21.chunk.js.map +0 -1
  884. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js +0 -3
  885. package/dist/techdocs-preview-bundle/static/react-syntax-highlighter_languages_highlight_zephir.409e0095.chunk.js.map +0 -1
  886. package/dist/techdocs-preview-bundle/static/runtime.9488c24e.js +0 -4
  887. package/dist/techdocs-preview-bundle/static/runtime.9488c24e.js.map +0 -1
  888. package/dist/techdocs-preview-bundle/static/vendor.9488c24e.js +0 -142
  889. package/dist/techdocs-preview-bundle/static/vendor.9488c24e.js.map +0 -1
@@ -0,0 +1,152 @@
1
+ (()=>{var Ki=Object.defineProperty;var Yi=(J,o,e)=>o in J?Ki(J,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):J[o]=e;var _=(J,o,e)=>(Yi(J,typeof o!="symbol"?o+"":o,e),e),yo=(J,o,e)=>{if(!o.has(J))throw TypeError("Cannot "+e)};var Xe=(J,o,e)=>(yo(J,o,"read from private field"),e?e.call(J):o.get(J)),yn=(J,o,e)=>{if(o.has(J))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(J):o.set(J,e)},Cn=(J,o,e,r)=>(yo(J,o,"write to private field"),r?r.call(J,e):o.set(J,e),e);(self.webpackChunktechdocs_cli_embedded_app=self.webpackChunktechdocs_cli_embedded_app||[]).push([[179],{30001:function(J,o,e){"use strict";e.d(o,{n3:function(){return E},MS:function(){return s}});var r=e(52890),t=e(10179),l=e(96279),d=e.n(l);const E=Symbol("CATALOG_FILTER_EXISTS");class s{constructor(h){_(this,"discoveryApi");_(this,"fetchApi");this.discoveryApi=h.discoveryApi,this.fetchApi=h.fetchApi||{fetch:d()}}async getEntityAncestors(h,m){const{kind:c,namespace:y,name:i}=(0,r.of)(h.entityRef);return await this.requestRequired("GET",`/entities/by-name/${encodeURIComponent(c)}/${encodeURIComponent(y)}/${encodeURIComponent(i)}/ancestry`,m)}async getLocationById(h,m){return await this.requestOptional("GET",`/locations/${encodeURIComponent(h)}`,m)}async getEntities(h,m){const{filter:c=[],fields:y=[],offset:i,limit:S,after:D}=h!=null?h:{},L=[c].flat(),V=[];for(const x of L){const z=[];for(const[q,se]of Object.entries(x))for(const pe of[se].flat())pe===E?z.push(encodeURIComponent(q)):typeof pe=="string"&&z.push(`${encodeURIComponent(q)}=${encodeURIComponent(pe)}`);z.length&&V.push(`filter=${z.join(",")}`)}y.length&&V.push(`fields=${y.map(encodeURIComponent).join(",")}`),i!==void 0&&V.push(`offset=${i}`),S!==void 0&&V.push(`limit=${S}`),D!==void 0&&V.push(`after=${encodeURIComponent(D)}`);const M=V.length?`?${V.join("&")}`:"",P=await this.requestRequired("GET",`/entities${M}`,m),O=(x,z)=>{var pe,Le;if(((pe=x.metadata)==null?void 0:pe.name)===void 0||x.kind===void 0||((Le=z.metadata)==null?void 0:Le.name)===void 0||z.kind===void 0)return 0;const q=(0,r.eE)(x),se=(0,r.eE)(z);return q<se?-1:q>se?1:0};return{items:P.sort(O)}}async getEntityByName(h,m){const{kind:c,namespace:y="default",name:i}=h;return this.requestOptional("GET",`/entities/by-name/${encodeURIComponent(c)}/${encodeURIComponent(y)}/${encodeURIComponent(i)}`,m)}async refreshEntity(h,m){const c=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/refresh`,{headers:{"Content-Type":"application/json",...(m==null?void 0:m.token)&&{Authorization:`Bearer ${m==null?void 0:m.token}`}},method:"POST",body:JSON.stringify({entityRef:h})});if(c.status!==200)throw new Error(await c.text())}async addLocation({type:h="url",target:m,dryRun:c,presence:y},i){const S=await this.fetchApi.fetch(`${await this.discoveryApi.getBaseUrl("catalog")}/locations${c?"?dryRun=true":""}`,{headers:{"Content-Type":"application/json",...(i==null?void 0:i.token)&&{Authorization:`Bearer ${i==null?void 0:i.token}`}},method:"POST",body:JSON.stringify({type:h,target:m,presence:y})});if(S.status!==201)throw new Error(await S.text());const{location:D,entities:L,exists:V}=await S.json();if(!D)throw new Error(`Location wasn't added: ${m}`);return{location:D,entities:L,exists:V}}async getOriginLocationByEntity(h,m){var i;const c=(i=h.metadata.annotations)==null?void 0:i[r.lb];return c?(await this.requestRequired("GET","/locations",m)).map(S=>S.data).find(S=>c===(0,r.Bt)(S)):void 0}async getLocationByEntity(h,m){var i;const c=(i=h.metadata.annotations)==null?void 0:i[r.Jl];return c?(await this.requestRequired("GET","/locations",m)).map(S=>S.data).find(S=>c===(0,r.Bt)(S)):void 0}async removeLocationById(h,m){await this.requestIgnored("DELETE",`/locations/${encodeURIComponent(h)}`,m)}async removeEntityByUid(h,m){await this.requestIgnored("DELETE",`/entities/by-uid/${encodeURIComponent(h)}`,m)}async requestIgnored(h,m,c){const y=`${await this.discoveryApi.getBaseUrl("catalog")}${m}`,i=(c==null?void 0:c.token)?{Authorization:`Bearer ${c.token}`}:{},S=await this.fetchApi.fetch(y,{method:h,headers:i});if(!S.ok)throw await t.VL.fromResponse(S)}async requestRequired(h,m,c){const y=`${await this.discoveryApi.getBaseUrl("catalog")}${m}`,i=(c==null?void 0:c.token)?{Authorization:`Bearer ${c.token}`}:{},S=await this.fetchApi.fetch(y,{method:h,headers:i});if(!S.ok)throw await t.VL.fromResponse(S);return await S.json()}async requestOptional(h,m,c){const y=`${await this.discoveryApi.getBaseUrl("catalog")}${m}`,i=(c==null?void 0:c.token)?{Authorization:`Bearer ${c.token}`}:{},S=await this.fetchApi.fetch(y,{method:h,headers:i});if(!S.ok){if(S.status===404)return;throw await t.VL.fromResponse(S)}return await S.json()}}},52890:function(J,o,e){"use strict";e.d(o,{J1:function(){return d},sk:function(){return r},Jl:function(){return v},lb:function(){return b},w$:function(){return Be},nP:function(){return ye},aS:function(){return ut},hr:function(){return Ee},S4:function(){return T},cz:function(){return Rt},M_:function(){return ce},wX:function(){return W},wh:function(){return l},C_:function(){return Qe},of:function(){return _e},Me:function(){return ee},TH:function(){return gt},eE:function(){return nt},Bt:function(){return Oe}});const r="default",t=null,l="backstage.io/view-url",d="backstage.io/edit-url";var E=e(76635),s=e.n(E);class p{constructor(Z=ENTITY_DEFAULT_NAMESPACE){_(this,"namespace");this.namespace=Z}async enforce(Z){return Z.metadata.namespace?Z:lodash.merge({metadata:{namespace:this.namespace}},Z)}}class h{static isValidPrefixAndOrSuffix(Z,k,he,He){if(typeof Z!="string")return!1;const Ke=Z.split(k);return Ke.length===1?He(Ke[0]):Ke.length===2?he(Ke[0])&&He(Ke[1]):!1}static isJsonSafe(Z){try{return s().isEqual(Z,JSON.parse(JSON.stringify(Z)))}catch{return!1}}static isValidDnsSubdomain(Z){return typeof Z=="string"&&Z.length>=1&&Z.length<=253&&Z.split(".").every(h.isValidDnsLabel)}static isValidDnsLabel(Z){return typeof Z=="string"&&Z.length>=1&&Z.length<=63&&/^[a-z0-9]+(\-[a-z0-9]+)*$/.test(Z)}static isValidTag(Z){return typeof Z=="string"&&Z.length>=1&&Z.length<=63&&/^[a-z0-9+#]+(\-[a-z0-9+#]+)*$/.test(Z)}static isValidUrl(Z){if(typeof Z!="string")return!1;try{return new URL(Z),!0}catch{return!1}}static isValidString(Z){var k;return typeof Z=="string"&&((k=Z==null?void 0:Z.trim())==null?void 0:k.length)>=1}}var m=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityEnvelope","description":"The envelope skeleton parts of an entity - whatever is necessary to be able to give it a ref and pass to further validation / policy checking.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":true,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"type":"object","required":["name"],"additionalProperties":true,"properties":{"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1}}}}}'),c=e(48231),y=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"Entity","description":"The parts of the format that's common to all versions/kinds of entity.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"type":"object","required":["apiVersion","kind","metadata"],"additionalProperties":false,"properties":{"apiVersion":{"type":"string","description":"The version of specification format for this particular entity that this is written against.","minLength":1,"examples":["backstage.io/v1alpha1","my-company.net/v1","1.0"]},"kind":{"type":"string","description":"The high level entity type being described.","minLength":1,"examples":["API","Component","Domain","Group","Location","Resource","System","Template","User"]},"metadata":{"$ref":"EntityMeta"},"spec":{"type":"object","description":"The specification data describing the entity itself."},"relations":{"type":"array","description":"The relations that this entity has with other entities.","items":{"$ref":"common#relation"}},"status":{"$ref":"common#status"}}}`),i=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"EntityMeta","description":"Metadata fields common to all versions/kinds of entity.","examples":[{"uid":"e01199ab-08cc-44c2-8e19-5c29ded82521","etag":"lsndfkjsndfkjnsdfkjnsd==","generation":13,"name":"my-component-yay","namespace":"the-namespace","labels":{"backstage.io/custom":"ValueStuff"},"annotations":{"example.com/bindings":"are-secret"},"tags":["java","data"]}],"type":"object","required":["name"],"additionalProperties":true,"properties":{"uid":{"type":"string","description":"A globally unique ID for the entity. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, but the server is free to reject requests that do so in such a way that it breaks semantics.","examples":["e01199ab-08cc-44c2-8e19-5c29ded82521"],"minLength":1},"etag":{"type":"string","description":"An opaque string that changes for each update operation to any part of the entity, including metadata. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations. The field can (optionally) be specified when performing update or delete operations, and the server will then reject the operation if it does not match the current stored value.","examples":["lsndfkjsndfkjnsdfkjnsd=="],"minLength":1},"generation":{"type":"integer","description":"A positive nonzero number that indicates the current generation of data for this entity; the value is incremented each time the spec changes. This field can not be set by the user at creation time, and the server will reject an attempt to do so. The field will be populated in read operations.","examples":[1],"minimum":1},"name":{"type":"string","description":"The name of the entity. Must be unique within the catalog at any given point in time, for any given namespace + kind pair.","examples":["metadata-proxy"],"minLength":1},"namespace":{"type":"string","description":"The namespace that the entity belongs to.","default":"default","examples":["default","admin"],"minLength":1},"title":{"type":"string","description":"A display name of the entity, to be presented in user interfaces instead of the name property, when available.","examples":["React SSR Template"],"minLength":1},"description":{"type":"string","description":"A short (typically relatively few words, on one line) description of the entity."},"labels":{"type":"object","description":"Key/value pairs of identifying information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"annotations":{"type":"object","description":"Key/value pairs of non-identifying auxiliary information attached to the entity.","additionalProperties":true,"patternProperties":{"^.+$":{"type":"string"}}},"tags":{"type":"array","description":"A list of single-valued strings, to for example classify catalog entities in various ways.","items":{"type":"string","minLength":1}},"links":{"type":"array","description":"A list of external hyperlinks related to the entity. Links can provide additional contextual information that may be located outside of Backstage itself. For example, an admin dashboard or external CMS page.","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://admin.example-org.com"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["Admin Dashboard"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}}}'),S=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"common","type":"object","description":"Common definitions to import from other schemas","definitions":{"reference":{"$id":"#reference","type":"object","description":"A reference by name to another entity.","required":["kind","namespace","name"],"additionalProperties":false,"properties":{"kind":{"type":"string","description":"The kind field of the entity.","minLength":1},"namespace":{"type":"string","description":"The metadata.namespace field of the entity.","minLength":1},"name":{"type":"string","description":"The metadata.name field of the entity.","minLength":1}}},"relation":{"$id":"#relation","type":"object","description":"A directed relation from one entity to another.","required":["type","target"],"additionalProperties":false,"properties":{"type":{"type":"string","minLength":1,"pattern":"^\\\\w+$","description":"The type of relation."},"target":{"$ref":"#reference"}}},"status":{"$id":"#status","type":"object","description":"The current status of the entity, as claimed by various sources.","required":[],"additionalProperties":true,"properties":{"items":{"type":"array","items":{"$ref":"#statusItem"}}}},"statusItem":{"$id":"#statusItem","type":"object","description":"A specific status item on a well known format.","required":["type","level","message"],"additionalProperties":true,"properties":{"type":{"type":"string","minLength":1},"level":{"$ref":"#statusLevel","description":"The status level / severity of the status item."},"message":{"type":"string","description":"A brief message describing the status, intended for human consumption."},"error":{"$ref":"#error","description":"An optional serialized error object related to the status."}}},"statusLevel":{"$id":"#statusLevel","type":"string","description":"A status level / severity.","enum":["info","warning","error"]},"error":{"$id":"#error","type":"object","description":"A serialized error object.","required":["name","message"],"additionalProperties":true,"properties":{"name":{"type":"string","examples":["Error","InputError"],"description":"The type name of the error","minLength":1},"message":{"type":"string","description":"The message of the error"},"code":{"type":"string","description":"An error code associated with the error"},"stack":{"type":"string","description":"An error stack trace"}}}}}');const D=new Map,L=[m,y,i,S];function V(ae){if(!(ae==null?void 0:ae.length))throw new TypeError("Unknown error");const Z=ae[0];throw new TypeError(`${Z.dataPath||"<root>"} ${Z.message}${Z.params?` - ${Object.entries(Z.params).map(([k,he])=>`${k}: ${he}`).join(", ")}`:""}`)}function M(ae,Z={}){var bt;const k=(bt=Z==null?void 0:Z.disableCache)!=null?bt:!1,he=k?"":JSON.stringify(ae);if(!k){const en=D.get(he);if(en)return en}const He=P(ae),Ke=new c.ZP({allowUnionTypes:!0,allErrors:!0,validateSchema:!0});He.length&&Ke.addSchema(He,void 0,void 0,!0);const tt=Ke.compile(ae);return k||D.set(he,tt),tt}function P(ae){if(typeof ae!="object")return[];const Z=new Set;ae.$id&&Z.add(ae.$id);const k=new Array,he=[ae];for(;he.length;){const He=he.pop();for(const Ke of O(He))if(!Z.has(Ke)){Z.add(Ke);const tt=L.find(bt=>bt.$id===Ke);tt&&(k.push(tt),he.push(tt))}}return k}function*O(ae){const Z=[ae];for(;Z.length;){const k=Z.pop();if(typeof k=="object"&&k)for(const[he,He]of Object.entries(k))he==="$ref"&&typeof He=="string"?yield He.split("#")[0]:Z.push(He)}}function x(ae){const Z=compileAjvSchema(ae||entityEnvelopeSchema);return k=>{if(Z(k)===!0)return k;throw throwAjvError(Z.errors)}}function z(ae){const Z=M(ae);return k=>{var Ke;if(Z(k)===!0)return k;const He=(Ke=Z.errors)==null?void 0:Ke.filter(tt=>["/kind","/apiVersion"].includes(tt.dataPath));if((He==null?void 0:He.length)&&He.every(tt=>tt.keyword==="enum"))return!1;throw V(Z.errors)}}function q(ae){const Z=compileAjvSchema(ae||entitySchema);return k=>{if(Z(k)===!0)return k;throw throwAjvError(Z.errors)}}class se{static isValidApiVersion(Z){return h.isValidPrefixAndOrSuffix(Z,"/",h.isValidDnsSubdomain,k=>k.length>=1&&k.length<=63&&/^[a-z0-9A-Z]+$/.test(k))}static isValidKind(Z){return typeof Z=="string"&&Z.length>=1&&Z.length<=63&&/^[a-zA-Z][a-z0-9A-Z]*$/.test(Z)}static isValidObjectName(Z){return typeof Z=="string"&&Z.length>=1&&Z.length<=63&&/^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$/.test(Z)}static isValidNamespace(Z){return h.isValidDnsLabel(Z)}static isValidLabelKey(Z){return h.isValidPrefixAndOrSuffix(Z,"/",h.isValidDnsSubdomain,se.isValidObjectName)}static isValidLabelValue(Z){return Z===""||se.isValidObjectName(Z)}static isValidAnnotationKey(Z){return h.isValidPrefixAndOrSuffix(Z,"/",h.isValidDnsSubdomain,se.isValidObjectName)}static isValidAnnotationValue(Z){return typeof Z=="string"}}const pe={isValidApiVersion:se.isValidApiVersion,isValidKind:se.isValidKind,isValidEntityName:se.isValidObjectName,isValidNamespace:se.isValidNamespace,isValidLabelKey:se.isValidLabelKey,isValidLabelValue:se.isValidLabelValue,isValidAnnotationKey:se.isValidAnnotationKey,isValidAnnotationValue:se.isValidAnnotationValue,isValidTag:h.isValidTag};function Le(ae={}){return{...pe,...ae}}class me{constructor(Z=makeValidator()){_(this,"validators");this.validators=Z}async enforce(Z){var tt,bt,en,ln,wn,Tn,En;function k(yt,Yt,dn){if(Yt==null)throw new Error(`${yt} must have a value`);let On;try{On=dn(Yt)}catch(jt){throw new Error(`${yt} could not be validated, ${jt}`)}if(!On){let jt;switch(dn.name){case"isValidLabelValue":case"isValidObjectName":jt="a string that is sequences of [a-zA-Z0-9] separated by any of [-_.], at most 63 characters in total";break;case"isValidLabelKey":case"isValidApiVersion":case"isValidAnnotationKey":jt="a valid prefix and/or suffix";break;case"isValidNamespace":case"isValidDnsLabel":jt="a string that is sequences of [a-z0-9] separated by [-], at most 63 characters in total";break;case"isValidTag":jt="a string that is sequences of [a-z0-9+#] separated by [-], at most 63 characters in total";break;case"isValidAnnotationValue":jt="a string";break;case"isValidKind":jt="a string that is a sequence of [a-zA-Z][a-z0-9A-Z], at most 63 characters in total";break;case"isValidUrl":jt="a string that is a valid url";break;case"isValidString":jt="a non empty string";break;default:jt=void 0;break}const Wn=jt?` expected ${jt} but found "${Yt}".`:"";throw new Error(`"${yt}" is not valid;${Wn} To learn more about catalog file format, visit: https://github.com/backstage/backstage/blob/master/docs/architecture-decisions/adr002-default-catalog-file-format.md`)}}function he(yt,Yt,dn){return Yt===void 0||k(yt,Yt,dn)}k("apiVersion",Z.apiVersion,this.validators.isValidApiVersion),k("kind",Z.kind,this.validators.isValidKind),k("metadata.name",Z.metadata.name,this.validators.isValidEntityName),he("metadata.namespace",Z.metadata.namespace,this.validators.isValidNamespace);for(const[yt,Yt]of Object.entries((tt=Z.metadata.labels)!=null?tt:[]))k(`labels.${yt}`,yt,this.validators.isValidLabelKey),k(`labels.${yt}`,Yt,this.validators.isValidLabelValue);for(const[yt,Yt]of Object.entries((bt=Z.metadata.annotations)!=null?bt:[]))k(`annotations.${yt}`,yt,this.validators.isValidAnnotationKey),k(`annotations.${yt}`,Yt,this.validators.isValidAnnotationValue);const He=(en=Z.metadata.tags)!=null?en:[];for(let yt=0;yt<He.length;++yt)k(`tags.${yt}`,He[yt],this.validators.isValidTag);const Ke=(ln=Z.metadata.links)!=null?ln:[];for(let yt=0;yt<Ke.length;++yt)k(`links.${yt}.url`,(wn=Ke[yt])==null?void 0:wn.url,CommonValidatorFunctions.isValidUrl),he(`links.${yt}.title`,(Tn=Ke[yt])==null?void 0:Tn.title,CommonValidatorFunctions.isValidString),he(`links.${yt}.icon`,(En=Ke[yt])==null?void 0:En.icon,KubernetesValidatorFunctions.isValidObjectName);return Z}}class Ve{constructor(){_(this,"validate")}async enforce(Z){if(!this.validate){const He=new Ajv({allowUnionTypes:!0});this.validate=He.addSchema([commonSchema,entityMetaSchema],void 0,void 0,!0).compile(entitySchema)}if(this.validate(Z)===!0)return Z;const[he]=this.validate.errors||[];throw he?new Error(`Malformed envelope, ${he.dataPath||"<root>"} ${he.message}`):new Error("Malformed envelope, Unknown error")}}function Pe(ae){var k,he;const Z=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(ae.trim());if(!Z)throw new TypeError(`Entity reference "${ae}" was not on the form [<kind>:][<namespace>/]<name>`);return{kind:(k=Z[1])==null?void 0:k.slice(0,-1),namespace:(he=Z[2])==null?void 0:he.slice(0,-1),name:Z[3]}}function Qe(ae){return{kind:ae.kind,namespace:ae.metadata.namespace||r,name:ae.metadata.name}}function it(ae,Z={}){const{kind:k,namespace:he,name:He}=_e(ae,{defaultNamespace:ENTITY_DEFAULT_NAMESPACE,...Z});if(!k)throw new Error(`Entity reference ${he}/${He} did not contain a kind`);return{kind:k,namespace:he,name:He}}function _e(ae,Z={}){var Ke,tt;if(!ae)throw new Error("Entity reference must not be empty");if(typeof ae=="string"){const bt=Pe(ae);return{kind:(Ke=bt.kind)!=null?Ke:Z.defaultKind,namespace:(tt=bt.namespace)!=null?tt:Z.defaultNamespace,name:bt.name}}const{kind:k,namespace:he,name:He}=ae;if(k==="")throw new Error("Entity reference kinds must not be empty");if(he==="")throw new Error("Entity reference namespaces must not be empty");if(!He)throw new Error("Entity references must contain a name");return{kind:k!=null?k:Z.defaultKind,namespace:he!=null?he:Z.defaultNamespace,name:He}}function gt(ae){let Z,k,he;return"metadata"in ae?(Z=ae.kind,k=ae.metadata.namespace,he=ae.metadata.name):(Z=ae.kind,k=ae.namespace,he=ae.name),(Z==null?void 0:Z.includes(":"))||(Z==null?void 0:Z.includes("/"))||(k==null?void 0:k.includes(":"))||(k==null?void 0:k.includes("/"))||he.includes(":")||he.includes("/")?{kind:Z,namespace:k,name:he}:`${Z?`${Z}:`:""}${k?`${k}/`:""}${he}`}function nt(ae){var He,Ke;let Z,k,he;return"metadata"in ae?(Z=ae.kind,k=(He=ae.metadata.namespace)!=null?He:r,he=ae.metadata.name):(Z=ae.kind,k=(Ke=ae.namespace)!=null?Ke:r,he=ae.name),`${Z.toLocaleLowerCase("en-US")}:${k.toLocaleLowerCase("en-US")}/${he.toLocaleLowerCase("en-US")}`}function ot(ae,Z,k){const he=ae.kind,He=ae.metadata.namespace||ENTITY_DEFAULT_NAMESPACE,Ke=ae.metadata.name;let tt,bt,en;if(typeof Z=="string"){const ln=Pe(Z);tt=ln.kind||(k==null?void 0:k.defaultKind),bt=ln.namespace||(k==null?void 0:k.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,en=ln.name}else tt=Z.kind||(k==null?void 0:k.defaultKind),bt=Z.namespace||(k==null?void 0:k.defaultNamespace)||ENTITY_DEFAULT_NAMESPACE,en=Z.name;if(!tt||!bt)throw new Error("Entity reference or context did not contain kind and namespace");return he.toLocaleLowerCase("en-US")===tt.toLocaleLowerCase("en-US")&&He.toLocaleLowerCase("en-US")===bt.toLocaleLowerCase("en-US")&&Ke.toLocaleLowerCase("en-US")===en.toLocaleLowerCase("en-US")}var vt=e(48834).Buffer;function Vt(){return uuidv4()}function xt(){return vt.from(uuidv4(),"utf8").toString("base64").replace(/[^\w]/g,"")}function pt(ae,Z){const k=lodash.cloneDeep(ae),he=lodash.cloneDeep(Z);return k.metadata.labels||(k.metadata.labels={}),he.metadata.labels||(he.metadata.labels={}),k.metadata.annotations||(k.metadata.annotations={}),he.metadata.annotations||(he.metadata.annotations={}),k.metadata.tags||(k.metadata.tags=[]),he.metadata.tags||(he.metadata.tags=[]),delete k.metadata.uid,delete k.metadata.etag,delete k.metadata.generation,delete he.metadata.uid,delete he.metadata.etag,delete he.metadata.generation,delete k.relations,delete k.status,delete he.relations,delete he.status,!lodash.isEqual(k,he)}function rt(ae,Z){const{uid:k,etag:he,generation:He}=ae.metadata;if(!k||!he||!He)throw new Error("Previous entity must have uid, etag and generation");const Ke=lodash.cloneDeep(Z),tt=pt(ae,Ke),bt=!lodash.isEqual(ae.spec,Ke.spec);return Ke.metadata.uid=k,Ke.metadata.etag=tt?xt():he,Ke.metadata.generation=bt?He+1:He,Ke}class Tt{constructor(Z){this.policies=Z}async enforce(Z){let k=Z;for(const he of this.policies){const He=await he.enforce(k);if(!He)throw new Error(`Policy ${he.constructor.name} did not return a result`);k=He}return k}}class Pt{constructor(Z){this.policies=Z}async enforce(Z){for(const k of this.policies){const he=await k.enforce(Z);if(he)return he}throw new Error("The entity did not match any known policy")}}const Dt={allOf(ae){return new Tt(ae)},oneOf(ae){return new Pt(ae)}};var $t=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ApiV1alpha1","description":"An API describes an interface that can be exposed by a component. The API can be defined in different formats, like OpenAPI, AsyncAPI, GraphQL, gRPC, or other formats.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"API","metadata":{"name":"artist-api","description":"Retrieve artist details","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"openapi","lifecycle":"production","owner":"artist-relations-team","system":"artist-engagement-portal","definition":"openapi: \\"3.0.0\\"\\ninfo:..."}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["API"]},"spec":{"type":"object","required":["type","lifecycle","owner","definition"],"properties":{"type":{"type":"string","description":"The type of the API definition.","examples":["openapi","asyncapi","graphql","grpc"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the API.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the API.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the API belongs to.","minLength":1},"definition":{"type":"string","description":"The definition of the API, based on the format defined by the type.","minLength":1}}}}}]}');function ht(ae){const Z=z(ae);return{async check(k){return Z(k)===k}}}const Lt=ht($t);var wt=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ComponentV1alpha1","description":"A Component describes a software component. It is typically intimately linked to the source code that constitutes the component, and should be what a developer may regard a \\"unit of software\\", usually with a distinct deployable or linkable artifact.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Component","metadata":{"name":"LoremService","description":"Creates Lorems like a pro.","labels":{"product_name":"Random value Generator"},"annotations":{"docs":"https://github.com/..../tree/develop/doc"}},"spec":{"type":"service","lifecycle":"production","owner":"tools"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Component"]},"spec":{"type":"object","required":["type","lifecycle","owner"],"properties":{"type":{"type":"string","description":"The type of component.","examples":["service","website","library"],"minLength":1},"lifecycle":{"type":"string","description":"The lifecycle state of the component.","examples":["experimental","production","deprecated"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"system":{"type":"string","description":"An entity reference to the system that the component belongs to.","minLength":1},"subcomponentOf":{"type":"string","description":"An entity reference to another component of which the component is a part.","minLength":1},"providesApis":{"type":"array","description":"An array of entity references to the APIs that are provided by the component.","items":{"type":"string","minLength":1}},"consumesApis":{"type":"array","description":"An array of entity references to the APIs that are consumed by the component.","items":{"type":"string","minLength":1}},"dependsOn":{"type":"array","description":"An array of references to other entities that the component depends on to function.","items":{"type":"string","minLength":1}}}}}}]}');const be=ht(wt);var st=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"DomainV1alpha1","description":"A Domain groups a collection of systems that share terminology, domain models, business purpose, or documentation, i.e. form a bounded context.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Domain","metadata":{"name":"artists","description":"Everything about artists"},"spec":{"owner":"artist-relations-team"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Domain"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1}}}}}]}');const lt=ht(st);var Ct=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"GroupV1alpha1","description":"A group describes an organizational entity, such as for example a team, a business unit, or a loose collection of people in an interest group. Members of these groups are modeled in the catalog as kind User.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Group","metadata":{"name":"infrastructure","description":"The infra business unit"},"spec":{"type":"business-unit","profile":{"displayName":"Infrastructure","email":"infrastructure@example.com","picture":"https://example.com/groups/bu-infrastructure.jpeg"},"parent":"ops","children":["backstage","other"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Group"]},"spec":{"type":"object","required":["type","children"],"properties":{"type":{"type":"string","description":"The type of group. There is currently no enforced set of values for this field, so it is left up to the adopting organization to choose a nomenclature that matches their org hierarchy.","examples":["team","business-unit","product-area","root"],"minLength":1},"profile":{"type":"object","description":"Optional profile information about the group, mainly for display purposes. All fields of this structure are also optional. The email would be a group email of some form, that the group may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the group, and that a browser could fetch and render on a group page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Infrastructure"],"minLength":1},"email":{"type":"string","description":"An email where this entity can be reached.","examples":["infrastructure@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this entity.","examples":["https://example.com/groups/bu-infrastructure.jpeg"],"minLength":1}}},"parent":{"type":"string","description":"The immediate parent group in the hierarchy, if any. Not all groups must have a parent; the catalog supports multi-root hierarchies. Groups may however not have more than one parent. This field is an entity reference.","examples":["ops"],"minLength":1},"children":{"type":"array","description":"The immediate child groups of this group in the hierarchy (whose parent field points to this group). The list must be present, but may be empty if there are no child groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["backstage","other"],"minLength":1}},"members":{"type":"array","description":"The users that are members of this group. The entries of this array are entity references.","items":{"type":"string","examples":["jdoe"],"minLength":1}}}}}}]}`);const oe=ht(Ct);var ne=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"LocationV1alpha1","description":"A location is a marker that references other places to look for catalog data.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Location","metadata":{"name":"org-data"},"spec":{"type":"url","targets":["http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-consultants.yaml"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Location"]},"spec":{"type":"object","required":[],"properties":{"type":{"type":"string","description":"The single location type, that's common to the targets specified in the spec. If it is left out, it is inherited from the location type that originally read the entity data.","examples":["url"],"minLength":1},"target":{"type":"string","description":"A single target as a string. Can be either an absolute path/URL (depending on the type), or a relative path such as ./details/catalog-info.yaml which is resolved relative to the location of this Location entity itself.","examples":["./details/catalog-info.yaml"],"minLength":1},"targets":{"type":"array","description":"A list of targets as strings. They can all be either absolute paths/URLs (depending on the type), or relative paths such as ./details/catalog-info.yaml which are resolved relative to the location of this Location entity itself.","items":{"type":"string","examples":["./details/catalog-info.yaml","http://github.com/myorg/myproject/org-data-dump/catalog-info-staff.yaml"],"minLength":1}},"presence":{"type":"string","description":"Whether the presence of the location target is required and it should be considered an error if it can not be found","default":"required","examples":["required"],"enum":["required","optional"]}}}}}]}`);const C=ht(ne),T="ownedBy",N="ownerOf",G="consumesApi",Y="apiConsumedBy",ce="providesApi",ve="apiProvidedBy",ye="dependsOn",Be="dependencyOf",Ie="parentOf",Re="childOf",Ee="memberOf",Fe="hasMember",Rt="partOf",ut="hasPart";var Ge=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"ResourceV1alpha1","description":"A resource describes the infrastructure a system needs to operate, like BigTable databases, Pub/Sub topics, S3 buckets or CDNs. Modelling them together with components and systems allows to visualize resource footprint, and create tooling around them.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"Resource","metadata":{"name":"artists-db","description":"Stores artist details"},"spec":{"type":"database","owner":"artist-relations-team","system":"artist-engagement-portal"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["Resource"]},"spec":{"type":"object","required":["type","owner"],"properties":{"type":{"type":"string","description":"The type of resource.","examples":["database","s3-bucket","cluster"],"minLength":1},"owner":{"type":"string","description":"An entity reference to the owner of the resource.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"dependsOn":{"type":"array","description":"An array of references to other entities that the resource depends on to function.","items":{"type":"string","minLength":1}},"system":{"type":"string","description":"An entity reference to the system that the resource belongs to.","minLength":1}}}}}]}');const ie=ht(Ge);var Me=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"SystemV1alpha1","description":"A system is a collection of resources and components. The system may expose or consume one or several APIs. It is viewed as abstraction level that provides potential consumers insights into exposed features without needing a too detailed view into the details of all components. This also gives the owning team the possibility to decide about published artifacts and APIs.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"System","metadata":{"name":"artist-engagement-portal","description":"Handy tools to keep artists in the loop"},"spec":{"owner":"artist-relations-team","domain":"artists"}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["System"]},"spec":{"type":"object","required":["owner"],"properties":{"owner":{"type":"string","description":"An entity reference to the owner of the component.","examples":["artist-relations-team","user:john.johnson"],"minLength":1},"domain":{"type":"string","description":"An entity reference to the domain that the system belongs to.","examples":["artists"],"minLength":1}}}}}]}');const et=ht(Me);var Ue=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema","$id":"TemplateV1beta2","description":"A Template describes a scaffolding task for use with the Scaffolder. It describes the required parameters as well as a series of steps that will be taken to execute the scaffolding task.","examples":[{"apiVersion":"backstage.io/v1beta2","kind":"Template","metadata":{"name":"react-ssr-template","title":"React SSR Template","description":"Next.js application skeleton for creating isomorphic web applications.","tags":["recommended","react"]},"spec":{"owner":"artist-relations-team","type":"website","parameters":{"required":["name","description"],"properties":{"name":{"title":"Name","type":"string","description":"Unique name of the component"},"description":{"title":"Description","type":"string","description":"Description of the component"}}},"steps":[{"id":"fetch","name":"Fetch","action":"fetch:plain","parameters":{"url":"./template"}},{"id":"publish","name":"Publish to GitHub","action":"publish:github","parameters":{"repoUrl":"{{ parameters.repoUrl }}"},"if":"{{ parameters.repoUrl }}"}],"output":{"catalogInfoUrl":"{{ steps.publish.output.catalogInfoUrl }}"}}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1beta2"]},"kind":{"enum":["Template"]},"spec":{"type":"object","required":["type","steps"],"properties":{"type":{"type":"string","description":"The type of component created by the template. The software catalog accepts any type value, but an organization should take great care to establish a proper taxonomy for these. Tools including Backstage itself may read this field and behave differently depending on its value. For example, a website type component may present tooling in the Backstage interface that is specific to just websites.","examples":["service","website","library"],"minLength":1},"parameters":{"oneOf":[{"type":"object","description":"The JSONSchema describing the inputs for the template."},{"type":"array","description":"A list of separate forms to collect parameters.","items":{"type":"object","description":"The JSONSchema describing the inputs for the template."}}]},"steps":{"type":"array","description":"A list of steps to execute.","items":{"type":"object","description":"A description of the step to execute.","required":["action"],"properties":{"id":{"type":"string","description":"The ID of the step, which can be used to refer to its outputs."},"name":{"type":"string","description":"The name of the step, which will be displayed in the UI during the scaffolding process."},"action":{"type":"string","description":"The name of the action to execute."},"input":{"type":"object","description":"A templated object describing the inputs to the action."},"if":{"type":["string","boolean"],"description":"A templated condition that skips the step when evaluated to false. If the condition is true or not defined, the step is executed. The condition is true, if the input is not `false`, `undefined`, `null`, `\\"\\"`, `0`, or `[]`."}}}},"output":{"type":"object","description":"A templated object describing the outputs of the scaffolding task.","properties":{"links":{"type":"array","description":"A list of external hyperlinks, typically pointing to resources created or updated by the template","items":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"A url in a standard uri format.","examples":["https://github.com/my-org/my-new-repo"],"minLength":1},"entityRef":{"type":"string","description":"An entity reference to an entity in the catalog.","examples":["Component:default/my-app"],"minLength":1},"title":{"type":"string","description":"A user friendly display name for the link.","examples":["View new repo"],"minLength":1},"icon":{"type":"string","description":"A key representing a visual icon to be displayed in the UI.","examples":["dashboard"],"minLength":1}}}}},"additionalProperties":{"type":"string"}},"owner":{"type":"string","description":"The user (or group) owner of the template","minLength":1}}}}}]}');const Ze=ht(Ue);var Ye=JSON.parse(`{"$schema":"http://json-schema.org/draft-07/schema","$id":"UserV1alpha1","description":"A user describes a person, such as an employee, a contractor, or similar. Users belong to Group entities in the catalog. These catalog user entries are connected to the way that authentication within the Backstage ecosystem works. See the auth section of the docs for a discussion of these concepts.","examples":[{"apiVersion":"backstage.io/v1alpha1","kind":"User","metadata":{"name":"jdoe"},"spec":{"profile":{"displayName":"Jenny Doe","email":"jenny-doe@example.com","picture":"https://example.com/staff/jenny-with-party-hat.jpeg"},"memberOf":["team-b","employees"]}}],"allOf":[{"$ref":"Entity"},{"type":"object","required":["spec"],"properties":{"apiVersion":{"enum":["backstage.io/v1alpha1","backstage.io/v1beta1"]},"kind":{"enum":["User"]},"spec":{"type":"object","required":["memberOf"],"properties":{"profile":{"type":"object","description":"Optional profile information about the user, mainly for display purposes. All fields of this structure are also optional. The email would be a primary email of some form, that the user may wish to be used for contacting them. The picture is expected to be a URL pointing to an image that's representative of the user, and that a browser could fetch and render on a profile page or similar.","properties":{"displayName":{"type":"string","description":"A simple display name to present to users.","examples":["Jenny Doe"],"minLength":1},"email":{"type":"string","description":"An email where this user can be reached.","examples":["jenny-doe@example.com"],"minLength":1},"picture":{"type":"string","description":"The URL of an image that represents this user.","examples":["https://example.com/staff/jenny-with-party-hat.jpeg"],"minLength":1}}},"memberOf":{"type":"array","description":"The list of groups that the user is a direct member of (i.e., no transitive memberships are listed here). The list must be present, but may be empty if the user is not member of any groups. The items are not guaranteed to be ordered in any particular way. The entries of this array are entity references.","items":{"type":"string","examples":["team-b","employees"],"minLength":1}}}}}}]}`);const j=ht(Ye),v="backstage.io/managed-by-location",b="backstage.io/managed-by-origin-location",W="backstage.io/source-location";function ee(ae){if(typeof ae!="string")throw new TypeError(`Unable to parse location reference '${ae}', unexpected argument ${typeof ae}`);const Z=ae.indexOf(":");if(Z<0)throw new TypeError(`Unable to parse location reference '${ae}', expected '<type>:<target>', e.g. 'url:https://host/path'`);const k=ae.substr(0,Z).trim(),he=ae.substr(Z+1).trim();if(!k||!he)throw new TypeError(`Unable to parse location reference '${ae}', expected '<type>:<target>', e.g. 'url:https://host/path'`);if(k==="http"||k==="https")throw new TypeError(`Invalid location reference '${ae}', please prefix it with 'url:', e.g. 'url:${ae}'`);return{type:k,target:he}}function Oe(ae){const{type:Z,target:k}=ae;if(Z){if(!k)throw new TypeError("Unable to stringify location reference, empty target")}else throw new TypeError("Unable to stringify location reference, empty type");return`${Z}:${k}`}function ge(ae){var k,he,He,Ke,tt;const Z=(tt=(he=(k=ae.metadata)==null?void 0:k.annotations)==null?void 0:he[SOURCE_LOCATION_ANNOTATION])!=null?tt:(Ke=(He=ae.metadata)==null?void 0:He.annotations)==null?void 0:Ke[LOCATION_ANNOTATION];if(!Z)throw new Error(`Entity '${stringifyEntityRef(ae)}' is missing location`);return ee(Z)}var Ce=e(9699);const De=Ce.Ry({type:Ce.Z_().required(),target:Ce.Z_().required(),presence:Ce.nK().oneOf(["required","optional"])}).noUnknown().required(),we=Ce.Ry({id:Ce.Z_().required(),type:Ce.Z_().required(),target:Ce.Z_().required(),presence:Ce.nK().oneOf(["required","optional"])}).noUnknown().required(),At=Ce.Ry({location:De}).noUnknown().required()},23235:function(J,o,e){"use strict";e.d(o,{C:function(){return t}});var r=e(98005);class t{constructor(){_(this,"subject",new r.J)}post(d){this.subject.next(d)}alert$(){return this.subject}}},47150:function(J,o,e){"use strict";e.d(o,{g:function(){return r}});class r{captureEvent(l){}}},58652:function(J,o,e){"use strict";e.d(o,{C:function(){return l}});var r=e(98005);const t="theme";class l{constructor(E){_(this,"activeThemeId");_(this,"subject",new r.X(void 0));this.themes=E}static createWithStorage(E){var h;const s=new l(E);if(!window.localStorage)return s;const p=(h=window.localStorage.getItem(t))!=null?h:void 0;return s.setActiveThemeId(p),s.activeThemeId$().subscribe(m=>{m?window.localStorage.setItem(t,m):window.localStorage.removeItem(t)}),window.addEventListener("storage",m=>{var c;if(m.key===t){const y=(c=localStorage.getItem(t))!=null?c:void 0;s.setActiveThemeId(y)}}),s}getInstalledThemes(){return this.themes.slice()}activeThemeId$(){return this.subject}getActiveThemeId(){return this.activeThemeId}setActiveThemeId(E){this.activeThemeId=E,this.subject.next(E)}}},14721:function(J,o,e){"use strict";e.d(o,{m:function(){return m}});var r=e(9850),t=e.n(r),l=e(12782),d=e.n(l);const E=/^[a-z][a-z0-9]*(?:[-_][a-z][a-z0-9]*)*$/i;function s(c){return typeof c=="object"&&c!==null&&!Array.isArray(c)}function p(c){if(c===null)return"null";if(Array.isArray(c))return"array";const y=typeof c;return y==="number"&&isNaN(c)?"nan":y==="string"&&c===""?"empty-string":y}const h={type(c,y,i,S){return`Invalid type in config for key '${c}' in '${y}', got ${i}, wanted ${S}`},missing(c){return`Missing required config value at '${c}'`},convert(c,y,i){return`Unable to convert config value for key '${c}' in '${y}' to a ${i}`}};class m{constructor(y,i="mock-config",S,D=""){_(this,"filteredKeys");_(this,"notifiedFilteredKeys",new Set);this.data=y,this.context=i,this.fallback=S,this.prefix=D}static fromConfigs(y){return y.length===0?new m(void 0):y.reduce((i,{data:S,context:D,filteredKeys:L,deprecatedKeys:V})=>{const M=new m(S,D,i);if(M.filteredKeys=L,V)for(const{key:P,description:O}of V)console.warn(`The configuration key '${P}' of ${D} is deprecated and may be removed soon. ${O||""}`);return M},void 0)}has(y){var S,D;return this.readValue(y)!==void 0?!0:(D=(S=this.fallback)==null?void 0:S.has(y))!=null?D:!1}keys(){var S,D;const y=this.data?Object.keys(this.data):[],i=(D=(S=this.fallback)==null?void 0:S.keys())!=null?D:[];return[...new Set([...y,...i])]}get(y){const i=this.getOptional(y);if(i===void 0)throw new Error(h.missing(this.fullKey(y!=null?y:"")));return i}getOptional(y){var D;const i=t()(this.readValue(y)),S=(D=this.fallback)==null?void 0:D.getOptional(y);return i===void 0?S:S===void 0?i:d()({},{value:S},{value:i},(L,V)=>!s(V)||!s(L)?V:void 0).value}getConfig(y){const i=this.getOptionalConfig(y);if(i===void 0)throw new Error(h.missing(this.fullKey(y)));return i}getOptionalConfig(y){var D;const i=this.readValue(y),S=(D=this.fallback)==null?void 0:D.getOptionalConfig(y);if(s(i))return this.copy(i,y,S);if(i!==void 0)throw new TypeError(h.type(this.fullKey(y),this.context,p(i),"object"));return S}getConfigArray(y){const i=this.getOptionalConfigArray(y);if(i===void 0)throw new Error(h.missing(this.fullKey(y)));return i}getOptionalConfigArray(y){const i=this.readConfigValue(y,S=>{if(!Array.isArray(S))return{expected:"object-array"};for(const[D,L]of S.entries())if(!s(L))return{expected:"object-array",value:L,key:`${y}[${D}]`};return!0});if(!!i)return i.map((S,D)=>this.copy(S,`${y}[${D}]`))}getNumber(y){const i=this.getOptionalNumber(y);if(i===void 0)throw new Error(h.missing(this.fullKey(y)));return i}getOptionalNumber(y){const i=this.readConfigValue(y,D=>typeof D=="number"||typeof D=="string"||{expected:"number"});if(typeof i=="number"||i===void 0)return i;const S=Number(i);if(!Number.isFinite(S))throw new Error(h.convert(this.fullKey(y),this.context,"number"));return S}getBoolean(y){const i=this.getOptionalBoolean(y);if(i===void 0)throw new Error(h.missing(this.fullKey(y)));return i}getOptionalBoolean(y){return this.readConfigValue(y,i=>typeof i=="boolean"||{expected:"boolean"})}getString(y){const i=this.getOptionalString(y);if(i===void 0)throw new Error(h.missing(this.fullKey(y)));return i}getOptionalString(y){return this.readConfigValue(y,i=>typeof i=="string"&&i!==""||{expected:"string"})}getStringArray(y){const i=this.getOptionalStringArray(y);if(i===void 0)throw new Error(h.missing(this.fullKey(y)));return i}getOptionalStringArray(y){return this.readConfigValue(y,i=>{if(!Array.isArray(i))return{expected:"string-array"};for(const[S,D]of i.entries())if(typeof D!="string"||D==="")return{expected:"string-array",value:D,key:`${y}[${S}]`};return!0})}fullKey(y){return`${this.prefix}${this.prefix?".":""}${y}`}copy(y,i,S){const D=new m(y,this.context,S,this.fullKey(i));return D.filteredKeys=this.filteredKeys,D}readConfigValue(y,i){var L;const S=this.readValue(y);if(S===void 0)return(L=this.fallback)==null?void 0:L.readConfigValue(y,i);const D=i(S);if(D!==!0){const{key:V=y,value:M=S,expected:P}=D;throw new TypeError(h.type(this.fullKey(V),this.context,p(M),P))}return S}readValue(y){const i=y?y.split("."):[];for(const D of i)if(!E.test(D))throw new TypeError(`Invalid config key '${y}'`);if(this.data===void 0)return;let S=this.data;for(const[D,L]of i.entries())if(s(S))S=S[L];else if(S!==void 0){const V=this.fullKey(i.slice(0,D).join("."));throw new TypeError(h.type(V,this.context,p(S),"object"))}return S}}},4333:function(J,o,e){"use strict";e.d(o,{p:function(){return t}});const r="Invalid discovery URL pattern,";class t{static compile(d){const E=d.split(/\{\{\s*pluginId\s*\}\}/),s=E.join("pluginId");let p;try{p=new URL(s)}catch{throw new Error(`${r} URL '${s}' is invalid`)}if(p.hash)throw new Error(`${r} URL must not have a hash`);if(p.search)throw new Error(`${r} URL must not have a query`);if(s.endsWith("/"))throw new Error(`${r} URL must not end with a slash`);return new t(E)}constructor(d){this.parts=d}async getBaseUrl(d){return this.parts.join(d)}}},89536:function(J,o,e){"use strict";e.d(o,{KN:function(){return r},gr:function(){return l},Jv:function(){return d}});class r{constructor(s,p){this.alertApi=s,this.errorApi=p}post(s,p){return(p==null?void 0:p.hidden)||this.alertApi.post({message:s.message,severity:"error"}),this.errorApi.post(s,p)}error$(){return this.errorApi.error$()}}var t=e(98005);class l{constructor(){_(this,"subject",new t.J)}post(s,p){this.subject.next({error:s,context:p})}error$(){return this.subject}}class d{static forward(s,p){window.addEventListener("unhandledrejection",h=>{s.post(h.reason,p)})}}},14884:function(J,o,e){"use strict";e.d(o,{b:function(){return l}});var r=e(36964);function t(d){if(d.length<3)throw new Error(`The '${d}' feature flag must have a minimum length of three characters.`);if(d.length>150)throw new Error(`The '${d}' feature flag must not exceed 150 characters.`);if(!d.match(/^[a-z]+[a-z0-9-]+$/))throw new Error(`The '${d}' feature flag must start with a lowercase letter and only contain lowercase letters, numbers and hyphens. Examples: feature-flag-one, alpha, release-2020`)}class l{constructor(){_(this,"registeredFeatureFlags",[]);_(this,"flags")}registerFlag(E){t(E.name),this.registeredFeatureFlags.push(E)}getRegisteredFlags(){return this.registeredFeatureFlags.slice()}isActive(E){return this.flags||(this.flags=this.load()),this.flags.get(E)===r.FeatureFlagState.Active}save(E){this.flags||(this.flags=this.load()),E.merge||this.flags.clear();for(const[p,h]of Object.entries(E.states))this.flags.set(p,h);const s=Array.from(this.flags.entries()).filter(([,p])=>p===r.FeatureFlagState.Active);window.localStorage.setItem("featureFlags",JSON.stringify(Object.fromEntries(s)))}load(){try{const E=window.localStorage.getItem("featureFlags");if(!E)return new Map;const s=JSON.parse(E);if(typeof s!="object"||s===null||Array.isArray(s))return new Map;const p=Object.entries(s).filter(([h,m])=>(t(h),m===r.FeatureFlagState.Active));return new Map(p)}catch{return new Map}}}},50160:function(J,o,e){"use strict";e.d(o,{I:function(){return p},j:function(){return r}});function r(h){var y;let m=h.baseImplementation||e.g.fetch;const c=[(y=h.middleware)!=null?y:[]].flat().reverse();for(const i of c)m=i.apply(m);return{fetch:m}}class t{static create(m){var S,D;const c=l(m),y=((S=m.header)==null?void 0:S.name)||"authorization",i=((D=m.header)==null?void 0:D.value)||(L=>`Bearer ${L}`);return new t(m.identityApi,c,y,i)}constructor(m,c,y,i){this.identityApi=m,this.allowUrl=c,this.headerName=y,this.headerValue=i}apply(m){return async(c,y)=>{const i=new Request(c,y),{token:S}=await this.identityApi.getCredentials();return i.headers.get(this.headerName)||typeof S!="string"||!S||!this.allowUrl(i.url)?m(c,y):(i.headers.set(this.headerName,this.headerValue(S)),m(i))}}}function l(h){return h.allowUrl?h.allowUrl:h.urlPrefixAllowlist?d(h.urlPrefixAllowlist):h.config?d([h.config.getString("backend.baseUrl")]):()=>!1}function d(h){const m=h.map(c=>c.replace(/\/$/,""));return c=>m.some(y=>c===y||c.startsWith(`${y}/`))}function E(h,m){return!m||m==="/"?h:`${h.replace(/\/$/,"")}/${m.replace(/^\//,"")}`}class s{constructor(m){this.discoveryApi=m}apply(m){return async(c,y)=>{const i=new Request(c,y),S="plugin://";if(!i.url.startsWith(S))return m(c,y);const{hostname:D,pathname:L,search:V,hash:M,username:P,password:O}=new URL(`http://${i.url.substring(S.length)}`);let x=await this.discoveryApi.getBaseUrl(D);if(P||O){const q=new URL(x),se=`${P}${O?`:${O}`:""}@`;x=`${q.protocol}//${se}${q.host}${q.pathname}`}const z=`${E(x,L)}${V}${M}`;return m(z,i)}}}class p{static resolvePluginProtocol(m){return new s(m.discoveryApi)}static injectIdentityAuth(m){return t.create(m)}constructor(){}}},11358:function(J,o,e){"use strict";e.d(o,{Y:function(){return E}});var r=e(98005);function t(s,p){for(const h of p)if(!s.has(h))return!1;return!0}function l(s,...p){const h=new Set(s);for(const m of p)for(const c of m)h.add(c);return h}class d{constructor(){_(this,"requests",[]);_(this,"subject",new r.X(this.getCurrentPending()))}request(p){return new Promise((h,m)=>{this.requests.push({scopes:p,resolve:h,reject:m}),this.subject.next(this.getCurrentPending())})}resolve(p,h){this.requests=this.requests.filter(m=>t(p,m.scopes)?(m.resolve(h),!1):!0),this.subject.next(this.getCurrentPending())}reject(p){this.requests.forEach(h=>h.reject(p)),this.requests=[],this.subject.next(this.getCurrentPending())}pending(){return this.subject}getCurrentPending(){const p=this.requests.length===0?void 0:this.requests.slice(1).reduce((h,m)=>l(h,m.scopes),this.requests[0].scopes);return{scopes:p,resolve:h=>{p&&this.resolve(p,h)},reject:h=>{p&&this.reject(h)}}}}class E{constructor(){_(this,"subject",new r.X([]));_(this,"currentRequests",[]);_(this,"handlerCount",0)}createAuthRequester(p){p.provider.id||console.warn("DEPRECATION WARNING: Not passing a provider id to createAuthRequester is deprecated, it will be required in the future");const h=new d,m=this.handlerCount;return this.handlerCount++,h.pending().subscribe({next:c=>{const y=this.currentRequests.slice(),i=this.makeAuthRequest(c,p);i?y[m]=i:delete y[m],this.currentRequests=y,this.subject.next(y.filter(Boolean))}}),c=>h.request(c)}makeAuthRequest(p,h){const{scopes:m}=p;if(!!m)return{provider:h.provider,trigger:async()=>{const c=await h.onAuthRequest(m);p.resolve(c)},reject:()=>{const c=new Error("Login failed, rejected by user");c.name="RejectedError",p.reject(c)}}}authRequest$(){return this.subject}}},56054:function(J,o,e){"use strict";e.d(o,{C:function(){return d}});var r=e(82394),t=e.n(r);const l=new Map;class d{constructor(s,p){_(this,"subscribers",new Set);_(this,"observable",new(t())(s=>(this.subscribers.add(s),()=>{this.subscribers.delete(s)})));this.namespace=s,this.errorApi=p}static create(s){var p;return new d((p=s.namespace)!=null?p:"",s.errorApi)}get(s){return this.snapshot(s).value}snapshot(s){let p,h="absent";try{const m=localStorage.getItem(this.getKeyName(s));m&&(p=JSON.parse(m,(c,y)=>(typeof y=="object"&&y!==null&&Object.freeze(y),y)),h="present")}catch{this.errorApi.post(new Error(`Error when parsing JSON config from storage for: ${s}`))}return{key:s,value:p,newValue:p,presence:h}}forBucket(s){const p=`${this.namespace}/${s}`;return l.has(p)||l.set(p,new d(p,this.errorApi)),l.get(p)}async set(s,p){localStorage.setItem(this.getKeyName(s),JSON.stringify(p)),this.notifyChanges(s)}async remove(s){localStorage.removeItem(this.getKeyName(s)),this.notifyChanges(s)}observe$(s){return this.observable.filter(({key:p})=>p===s)}getKeyName(s){return`${this.namespace}/${encodeURIComponent(s)}`}notifyChanges(s){const p=this.snapshot(s);for(const h of this.subscribers)h.next(p)}}},59589:function(J,o,e){"use strict";e.d(o,{u:function(){return l}});var r=e(91205);const t={id:"atlassian",title:"Atlassian",icon:()=>null};class l{static create(E){const{discoveryApi:s,environment:p="development",provider:h=t,oauthRequestApi:m}=E;return r.L.create({discoveryApi:s,oauthRequestApi:m,provider:h,environment:p})}}},92293:function(J,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"auth0",title:"Auth0",icon:()=>null};class l{static create(E){const{discoveryApi:s,environment:p="development",provider:h=t,oauthRequestApi:m,defaultScopes:c=["openid","email","profile"]}=E;return r.L.create({discoveryApi:s,oauthRequestApi:m,provider:h,environment:p,defaultScopes:c})}}},6098:function(J,o,e){"use strict";e.d(o,{Z:function(){return l}});var r=e(91205);const t={id:"bitbucket",title:"Bitbucket",icon:()=>null};class l{static create(E){const{discoveryApi:s,environment:p="development",provider:h=t,oauthRequestApi:m,defaultScopes:c=["team"]}=E;return r.L.create({discoveryApi:s,oauthRequestApi:m,provider:h,environment:p,defaultScopes:c})}}},44431:function(J,o,e){"use strict";e.d(o,{x:function(){return l.Z}});var r=e(19347),t=e.n(r);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var l=e(6098)},19347:function(){},44474:function(J,o,e){"use strict";e.d(o,{T:function(){return l}});var r=e(91205);const t={id:"github",title:"GitHub",icon:()=>null};class l{static create(E){const{discoveryApi:s,environment:p="development",provider:h=t,oauthRequestApi:m,defaultScopes:c=["read:user"]}=E;return r.L.create({discoveryApi:s,oauthRequestApi:m,provider:h,environment:p,defaultScopes:c})}static normalizeScope(E){if(!E)return new Set;const s=Array.isArray(E)?E:E.split(/[\s|,]/).filter(Boolean);return new Set(s)}}},2922:function(J,o,e){"use strict";e.d(o,{a:function(){return l}});var r=e(91205);const t={id:"gitlab",title:"GitLab",icon:()=>null};class l{static create(E){const{discoveryApi:s,environment:p="development",provider:h=t,oauthRequestApi:m,defaultScopes:c=["read_user"]}=E;return r.L.create({discoveryApi:s,oauthRequestApi:m,provider:h,environment:p,defaultScopes:c})}}},59938:function(J,o,e){"use strict";e.d(o,{e:function(){return d}});var r=e(91205);const t={id:"google",title:"Google",icon:()=>null},l="https://www.googleapis.com/auth/";class d{static create(s){const{discoveryApi:p,oauthRequestApi:h,environment:m="development",provider:c=t,defaultScopes:y=["openid",`${l}userinfo.email`,`${l}userinfo.profile`]}=s;return r.L.create({discoveryApi:p,oauthRequestApi:h,provider:c,environment:m,defaultScopes:y,scopeTransform(i){return i.map(S=>S==="openid"?S:S==="profile"||S==="email"?`${l}userinfo.${S}`:S.startsWith(l)?S:`${l}${S}`)}})}}},91668:function(J,o,e){"use strict";e.d(o,{Td:function(){return r.T},aq:function(){return t.a},eE:function(){return l.e},OAuth2:function(){return d.L},OktaAuth:function(){return E.s},SamlAuth:function(){return s.n},Auth0Auth:function(){return p.Z},MicrosoftAuth:function(){return h._},OneLoginAuth:function(){return m.$},BitbucketAuth:function(){return c.x},AtlassianAuth:function(){return y.u}});var r=e(44474),t=e(2922),l=e(59938),d=e(91205);e.o(d,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return d.AlertApiForwarder}}),e.o(d,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return d.AppThemeSelector}}),e.o(d,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return d.AtlassianAuth}}),e.o(d,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return d.Auth0Auth}}),e.o(d,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return d.BitbucketAuth}}),e.o(d,"ConfigReader")&&e.d(o,{ConfigReader:function(){return d.ConfigReader}}),e.o(d,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return d.ErrorAlerter}}),e.o(d,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return d.ErrorApiForwarder}}),e.o(d,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return d.FetchMiddlewares}}),e.o(d,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return d.FlatRoutes}}),e.o(d,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return d.LocalStorageFeatureFlags}}),e.o(d,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return d.MicrosoftAuth}}),e.o(d,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return d.NoOpAnalyticsApi}}),e.o(d,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return d.OAuthRequestManager}}),e.o(d,"OktaAuth")&&e.d(o,{OktaAuth:function(){return d.OktaAuth}}),e.o(d,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return d.OneLoginAuth}}),e.o(d,"SamlAuth")&&e.d(o,{SamlAuth:function(){return d.SamlAuth}}),e.o(d,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return d.UnhandledErrorForwarder}}),e.o(d,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return d.UrlPatternDiscovery}}),e.o(d,"WebStorage")&&e.d(o,{WebStorage:function(){return d.WebStorage}}),e.o(d,"createFetchApi")&&e.d(o,{createFetchApi:function(){return d.createFetchApi}}),e.o(d,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return d.createSpecializedApp}}),e.o(d,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return d.defaultConfigLoader}});var E=e(26079),s=e(67578),p=e(92293),h=e(38482),m=e(58381),c=e(44431);e.o(c,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return c.AlertApiForwarder}}),e.o(c,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return c.AppThemeSelector}}),e.o(c,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return c.AtlassianAuth}}),e.o(c,"ConfigReader")&&e.d(o,{ConfigReader:function(){return c.ConfigReader}}),e.o(c,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return c.ErrorAlerter}}),e.o(c,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return c.ErrorApiForwarder}}),e.o(c,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return c.FetchMiddlewares}}),e.o(c,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return c.FlatRoutes}}),e.o(c,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return c.LocalStorageFeatureFlags}}),e.o(c,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return c.NoOpAnalyticsApi}}),e.o(c,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return c.OAuthRequestManager}}),e.o(c,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return c.UnhandledErrorForwarder}}),e.o(c,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return c.UrlPatternDiscovery}}),e.o(c,"WebStorage")&&e.d(o,{WebStorage:function(){return c.WebStorage}}),e.o(c,"createFetchApi")&&e.d(o,{createFetchApi:function(){return c.createFetchApi}}),e.o(c,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return c.createSpecializedApp}}),e.o(c,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return c.defaultConfigLoader}});var y=e(59589)},38482:function(J,o,e){"use strict";e.d(o,{_:function(){return l}});var r=e(91205);const t={id:"microsoft",title:"Microsoft",icon:()=>null};class l{static create(E){const{environment:s="development",provider:p=t,oauthRequestApi:h,discoveryApi:m,defaultScopes:c=["openid","offline_access","profile","email","User.Read"]}=E;return r.L.create({discoveryApi:m,oauthRequestApi:h,provider:p,environment:s,defaultScopes:c})}}},15104:function(J,o,e){"use strict";e.d(o,{Z:function(){return s}});var r=e(17678);function t(p){return[...p].join(" ")}class l{constructor(h){_(this,"discoveryApi");_(this,"environment");_(this,"provider");_(this,"joinScopesFunc");_(this,"authRequester");_(this,"sessionTransform");const{discoveryApi:m,environment:c,provider:y,joinScopes:i=t,oauthRequestApi:S,sessionTransform:D=L=>L}=h;this.authRequester=S.createAuthRequester({provider:y,onAuthRequest:L=>this.showPopup(L)}),this.discoveryApi=m,this.environment=c,this.provider=y,this.joinScopesFunc=i,this.sessionTransform=D}async createSession(h){return h.instantPopup?this.showPopup(h.scopes):this.authRequester(h.scopes)}async refreshSession(){const h=await fetch(await this.buildUrl("/refresh",{optional:!0}),{headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(c=>{throw new Error(`Auth refresh request failed, ${c}`)});if(!h.ok){const c=new Error(`Auth refresh request failed, ${h.statusText}`);throw c.status=h.status,c}const m=await h.json();if(m.error){const c=new Error(m.error.message);throw m.error.name&&(c.name=m.error.name),c}return await this.sessionTransform(m)}async removeSession(){const h=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(m=>{throw new Error(`Logout request failed, ${m}`)});if(!h.ok){const m=new Error(`Logout request failed, ${h.statusText}`);throw m.status=h.status,m}}async showPopup(h){const m=this.joinScopesFunc(h),c=await this.buildUrl("/start",{scope:m,origin:location.origin}),y=await(0,r.d)({url:c,name:`${this.provider.title} Login`,origin:new URL(c).origin,width:450,height:730});return await this.sessionTransform(y)}async buildUrl(h,m){const c=await this.discoveryApi.getBaseUrl("auth"),y=this.buildQueryString({...m,env:this.environment});return`${c}/${this.provider.id}${h}${y}`}buildQueryString(h){if(!h)return"";const m=Object.entries(h).map(([c,y])=>{if(typeof y=="string")return`${encodeURIComponent(c)}=${encodeURIComponent(y)}`;if(y)return encodeURIComponent(c)}).filter(Boolean).join("&");return m?`?${m}`:""}}var d=e(55274);const E={id:"oauth2",title:"Your Identity Provider",icon:()=>null};class s{constructor(h){_(this,"sessionManager");_(this,"scopeTransform");this.sessionManager=h.sessionManager,this.scopeTransform=h.scopeTransform}static create(h){const{discoveryApi:m,environment:c="development",provider:y=E,oauthRequestApi:i,defaultScopes:S=[],scopeTransform:D=M=>M}=h,L=new l({discoveryApi:m,environment:c,provider:y,oauthRequestApi:i,sessionTransform(M){return{...M,providerInfo:{idToken:M.providerInfo.idToken,accessToken:M.providerInfo.accessToken,scopes:s.normalizeScopes(D,M.providerInfo.scope),expiresAt:new Date(Date.now()+M.providerInfo.expiresInSeconds*1e3)}}}}),V=new d.q2({connector:L,defaultScopes:new Set(S),sessionScopes:M=>M.providerInfo.scopes,sessionShouldRefresh:M=>(M.providerInfo.expiresAt.getTime()-Date.now())/1e3<60*5});return new s({sessionManager:V,scopeTransform:D})}async signIn(){await this.getAccessToken()}async signOut(){await this.sessionManager.removeSession()}sessionState$(){return this.sessionManager.sessionState$()}async getAccessToken(h,m){var i;const c=s.normalizeScopes(this.scopeTransform,h),y=await this.sessionManager.getSession({...m,scopes:c});return(i=y==null?void 0:y.providerInfo.accessToken)!=null?i:""}async getIdToken(h={}){var c;const m=await this.sessionManager.getSession(h);return(c=m==null?void 0:m.providerInfo.idToken)!=null?c:""}async getBackstageIdentity(h={}){const m=await this.sessionManager.getSession(h);return m==null?void 0:m.backstageIdentity}async getProfile(h={}){const m=await this.sessionManager.getSession(h);return m==null?void 0:m.profile}static normalizeScopes(h,m){if(!m)return new Set;const c=Array.isArray(m)?m:m.split(/[\s|,]/).filter(Boolean);return new Set(h(c))}}},91205:function(J,o,e){"use strict";e.d(o,{L:function(){return r.Z}});var r=e(15104),t=e(5973),l=e.n(t);e.o(t,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return t.AlertApiForwarder}}),e.o(t,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return t.AppThemeSelector}}),e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"ConfigReader")&&e.d(o,{ConfigReader:function(){return t.ConfigReader}}),e.o(t,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return t.ErrorAlerter}}),e.o(t,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return t.ErrorApiForwarder}}),e.o(t,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return t.FetchMiddlewares}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi}}),e.o(t,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return t.OAuthRequestManager}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder}}),e.o(t,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return t.UrlPatternDiscovery}}),e.o(t,"WebStorage")&&e.d(o,{WebStorage:function(){return t.WebStorage}}),e.o(t,"createFetchApi")&&e.d(o,{createFetchApi:function(){return t.createFetchApi}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},5973:function(){},26079:function(J,o,e){"use strict";e.d(o,{s:function(){return E}});var r=e(91205);const t={id:"okta",title:"Okta",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),d="okta.";class E{static create(p){const{discoveryApi:h,environment:m="development",provider:c=t,oauthRequestApi:y,defaultScopes:i=["openid","email","profile","offline_access"]}=p;return r.L.create({discoveryApi:h,oauthRequestApi:y,provider:c,environment:m,defaultScopes:i,scopeTransform(S){return S.map(D=>l.has(D)||D.startsWith(d)?D:`${d}${D}`)}})}}},58381:function(J,o,e){"use strict";e.d(o,{$:function(){return E}});var r=e(91205);const t={id:"onelogin",title:"onelogin",icon:()=>null},l=new Set(["openid","profile","email","phone","address","groups","offline_access"]),d="onelogin.";class E{static create(p){const{discoveryApi:h,environment:m="development",provider:c=t,oauthRequestApi:y}=p;return r.L.create({discoveryApi:h,oauthRequestApi:y,provider:c,environment:m,defaultScopes:["openid","email","profile","offline_access"],scopeTransform(i){return i.map(S=>l.has(S)||S.startsWith(d)?S:`${d}${S}`)}})}}},67578:function(J,o,e){"use strict";e.d(o,{n:function(){return p}});var r=e(17678);class t{constructor(m){_(this,"discoveryApi");_(this,"environment");_(this,"provider");const{discoveryApi:c,environment:y,provider:i}=m;this.discoveryApi=c,this.environment=y,this.provider=i}async createSession(){const m=await this.buildUrl("/start"),c=await(0,r.d)({url:m,name:`${this.provider.title} Login`,origin:new URL(m).origin,width:450,height:730});return{...c,id:c.profile.email}}async refreshSession(){}async removeSession(){const m=await fetch(await this.buildUrl("/logout"),{method:"POST",headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"}).catch(c=>{throw new Error(`Logout request failed, ${c}`)});if(!m.ok){const c=new Error(`Logout request failed, ${m.statusText}`);throw c.status=m.status,c}}async buildUrl(m){return`${await this.discoveryApi.getBaseUrl("auth")}/${this.provider.id}${m}?env=${this.environment}`}}var l=e(55274),d=e(30195);const E=d.z.object({profile:d.z.object({email:d.z.string().optional(),displayName:d.z.string().optional(),picture:d.z.string().optional()}),backstageIdentity:d.z.object({id:d.z.string(),token:d.z.string(),identity:d.z.object({type:d.z.literal("user"),userEntityRef:d.z.string(),ownershipEntityRefs:d.z.array(d.z.string())})})}),s={id:"saml",title:"SAML",icon:()=>null};class p{static create(m){const{discoveryApi:c,environment:y="development",provider:i=s}=m,S=new t({discoveryApi:c,environment:y,provider:i}),D=new l.k1({connector:S}),L=new l.Hc({manager:D,storageKey:`${i.id}Session`,schema:E});return new p(L)}sessionState$(){return this.sessionManager.sessionState$()}constructor(m){this.sessionManager=m}async signIn(){await this.getBackstageIdentity({})}async signOut(){await this.sessionManager.removeSession()}async getBackstageIdentity(m={}){const c=await this.sessionManager.getSession(m);return c==null?void 0:c.backstageIdentity}async getProfile(m={}){const c=await this.sessionManager.getSession(m);return c==null?void 0:c.profile}}},91631:function(J,o,e){"use strict";e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth},Auth0Auth:function(){return r.Auth0Auth},GithubAuth:function(){return r.Td},GitlabAuth:function(){return r.aq},GoogleAuth:function(){return r.eE},MicrosoftAuth:function(){return r.MicrosoftAuth},OktaAuth:function(){return r.OktaAuth},OneLoginAuth:function(){return r.OneLoginAuth},SamlAuth:function(){return r.SamlAuth},AlertApiForwarder:function(){return t.C},NoOpAnalyticsApi:function(){return l.g},AppThemeSelector:function(){return d.C},ConfigReader:function(){return E.m},UrlPatternDiscovery:function(){return s.p},ErrorAlerter:function(){return p.KN},ErrorApiForwarder:function(){return p.gr},UnhandledErrorForwarder:function(){return p.Jv},LocalStorageFeatureFlags:function(){return h.b},FetchMiddlewares:function(){return m.I},createFetchApi:function(){return m.j},OAuthRequestManager:function(){return c.Y},WebStorage:function(){return y.C}});var r=e(91668);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(23235),l=e(47150),d=e(58652),E=e(14721),s=e(4333),p=e(89536),h=e(14884),m=e(50160),c=e(11358),y=e(56054)},56494:function(J,o,e){"use strict";e.d(o,{ApiProvider:function(){return r.gs},AlertApiForwarder:function(){return t.AlertApiForwarder},AppThemeSelector:function(){return t.AppThemeSelector},ConfigReader:function(){return t.ConfigReader},ErrorAlerter:function(){return t.ErrorAlerter},ErrorApiForwarder:function(){return t.ErrorApiForwarder},FetchMiddlewares:function(){return t.FetchMiddlewares},LocalStorageFeatureFlags:function(){return t.LocalStorageFeatureFlags},NoOpAnalyticsApi:function(){return t.NoOpAnalyticsApi},OAuthRequestManager:function(){return t.OAuthRequestManager},UnhandledErrorForwarder:function(){return t.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return t.UrlPatternDiscovery},WebStorage:function(){return t.WebStorage},createFetchApi:function(){return t.createFetchApi}});var r=e(76105);e.o(r,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder}}),e.o(r,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return r.AppThemeSelector}}),e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"ConfigReader")&&e.d(o,{ConfigReader:function(){return r.ConfigReader}}),e.o(r,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return r.ErrorAlerter}}),e.o(r,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return r.ErrorApiForwarder}}),e.o(r,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return r.FetchMiddlewares}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return r.LocalStorageFeatureFlags}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return r.OAuthRequestManager}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder}}),e.o(r,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return r.UrlPatternDiscovery}}),e.o(r,"WebStorage")&&e.d(o,{WebStorage:function(){return r.WebStorage}}),e.o(r,"createFetchApi")&&e.d(o,{createFetchApi:function(){return r.createFetchApi}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(91631);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}}),e.o(t,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return t.createSpecializedApp}}),e.o(t,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return t.defaultConfigLoader}})},80396:function(J,o,e){"use strict";e.d(o,{p:function(){return t}});var r;(function(l){l[l.default=10]="default";const d=50;l[l.app=d]="app",l[l.static=100]="static"})(r||(r={}));class t{constructor(){_(this,"factories",new Map)}register(d,E){const s=r[d],p=this.factories.get(E.api.id);return p&&p.priority>=s?!1:(this.factories.set(E.api.id,{priority:s,factory:E}),!0)}get(d){const E=this.factories.get(d.id);if(!!E)return E.factory}getAllApis(){const d=new Set;for(const{factory:E}of this.factories.values())d.add(E.api);return d}}},14406:function(J,o,e){"use strict";e.d(o,{g:function(){return p}});var r=e(2784),t=e(13980),l=e.n(t);class d{constructor(...m){_(this,"holders");this.holders=m}get(m){for(const c of this.holders){const y=c.get(m);if(y)return y}}}var E=e(76241);const s=(0,E.CT)("api-context"),p=h=>{var S;const{apis:m,children:c}=h,y=(S=(0,r.useContext)(s))==null?void 0:S.atVersion(1),i=y?new d(m,y):m;return r.createElement(s.Provider,{value:(0,E.EI)({1:i}),children:c})};p.propTypes={apis:l().shape({get:l().func.isRequired}).isRequired,children:l().node}},12132:function(J,o,e){"use strict";e.d(o,{M:function(){return r}});class r{constructor(l){_(this,"apis",new Map);this.factories=l}static validateFactories(l,d){for(const E of d){const s=[E],p=new Set;for(;s.length;){const h=s.shift(),m=l.get(h);if(!!m)for(const c of Object.values(m.deps)){if(c.id===E.id)throw new Error(`Circular dependency of api factory for ${E}`);p.has(c)||(p.add(c),s.push(c))}}}}get(l){return this.load(l)}load(l,d=[]){const E=this.apis.get(l.id);if(E)return E;const s=this.factories.get(l);if(!s)return;if(d.includes(s.api))throw new Error(`Circular dependency of api factory for ${s.api}`);const p=this.loadDeps(l,s.deps,[...d,s.api]),h=s.factory(p);return this.apis.set(l.id,h),h}loadDeps(l,d,E){const s={};for(const p in d)if(d.hasOwnProperty(p)){const h=d[p],m=this.load(h,E);if(!m)throw new Error(`No API factory available for dependency ${h} of dependent ${l}`);s[p]=m}return s}}},76105:function(J,o,e){"use strict";e.d(o,{gs:function(){return r.g},MM:function(){return t.M},pv:function(){return l.p}});var r=e(14406),t=e(12132),l=e(80396),d=e(82488),E=e.n(d);e.o(d,"AlertApiForwarder")&&e.d(o,{AlertApiForwarder:function(){return d.AlertApiForwarder}}),e.o(d,"AppThemeSelector")&&e.d(o,{AppThemeSelector:function(){return d.AppThemeSelector}}),e.o(d,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return d.AtlassianAuth}}),e.o(d,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return d.Auth0Auth}}),e.o(d,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return d.BitbucketAuth}}),e.o(d,"ConfigReader")&&e.d(o,{ConfigReader:function(){return d.ConfigReader}}),e.o(d,"ErrorAlerter")&&e.d(o,{ErrorAlerter:function(){return d.ErrorAlerter}}),e.o(d,"ErrorApiForwarder")&&e.d(o,{ErrorApiForwarder:function(){return d.ErrorApiForwarder}}),e.o(d,"FetchMiddlewares")&&e.d(o,{FetchMiddlewares:function(){return d.FetchMiddlewares}}),e.o(d,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return d.FlatRoutes}}),e.o(d,"GithubAuth")&&e.d(o,{GithubAuth:function(){return d.GithubAuth}}),e.o(d,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return d.GitlabAuth}}),e.o(d,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return d.GoogleAuth}}),e.o(d,"LocalStorageFeatureFlags")&&e.d(o,{LocalStorageFeatureFlags:function(){return d.LocalStorageFeatureFlags}}),e.o(d,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return d.MicrosoftAuth}}),e.o(d,"NoOpAnalyticsApi")&&e.d(o,{NoOpAnalyticsApi:function(){return d.NoOpAnalyticsApi}}),e.o(d,"OAuth2")&&e.d(o,{OAuth2:function(){return d.OAuth2}}),e.o(d,"OAuthRequestManager")&&e.d(o,{OAuthRequestManager:function(){return d.OAuthRequestManager}}),e.o(d,"OktaAuth")&&e.d(o,{OktaAuth:function(){return d.OktaAuth}}),e.o(d,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return d.OneLoginAuth}}),e.o(d,"SamlAuth")&&e.d(o,{SamlAuth:function(){return d.SamlAuth}}),e.o(d,"UnhandledErrorForwarder")&&e.d(o,{UnhandledErrorForwarder:function(){return d.UnhandledErrorForwarder}}),e.o(d,"UrlPatternDiscovery")&&e.d(o,{UrlPatternDiscovery:function(){return d.UrlPatternDiscovery}}),e.o(d,"WebStorage")&&e.d(o,{WebStorage:function(){return d.WebStorage}}),e.o(d,"createFetchApi")&&e.d(o,{createFetchApi:function(){return d.createFetchApi}}),e.o(d,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return d.createSpecializedApp}}),e.o(d,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return d.defaultConfigLoader}})},82488:function(){},82370:function(J,o,e){"use strict";e.d(o,{b:function(){return ne}});var r=e(2784),t=e(10289),l=e(64279),d=e(56494),E=e(36964),s=e(76105);function p(C){const T={};for(const G in C.collectors)C.collectors.hasOwnProperty(G)&&(T[G]=C.collectors[G]());const N=[{node:r.Children.toArray(C.root),parent:void 0,contexts:{}}];for(;N.length!==0;){const{node:G,parent:Y,contexts:ce}=N.shift();r.Children.forEach(G,ve=>{if(!(0,r.isValidElement)(ve))return;const ye={};for(const Be in T)if(T.hasOwnProperty(Be)){const Ie=T[Be];ye[Be]=Ie.visit(Ie.accumulator,ve,Y,ce[Be])}for(const Be of C.discoverers){const Ie=Be(ve);Ie&&N.push({node:Ie,parent:ve,contexts:ye})}})}return Object.fromEntries(Object.entries(T).map(([G,Y])=>[G,Y.accumulator]))}function h(C,T){return()=>({accumulator:C(),visit:T})}function m(C){var T;return(T=C.props)==null?void 0:T.children}function c(C){var T,N,G;if(((T=C.props)==null?void 0:T.path)&&((N=C.props)==null?void 0:N.element))return(G=C.props)==null?void 0:G.element}const y=h(()=>new Set,(C,T)=>{const N=(0,E.getComponentData)(T,"core.plugin");N&&C.add(N)});var i=e(88934);function S(C){var G;const T=(G=C.props)==null?void 0:G.element;let N=(0,E.getComponentData)(C,"core.mountPoint");return!N&&(0,r.isValidElement)(T)&&(N=(0,E.getComponentData)(T,"core.mountPoint")),N}const D=h(()=>new Map,(C,T,N,G)=>{var ve,ye;let Y=G;if((N==null?void 0:N.props.element)===T)return Y;if((0,E.getComponentData)(T,"core.gatherMountPoints")){const Be=(ve=T.props)==null?void 0:ve.path;if(!Be)throw new Error("Mount point gatherer must have a path");Y=Be}const ce=S(T);if(ce){let Be=(ye=T.props)==null?void 0:ye.path;if(Y&&(Be?Y=void 0:Be=Y),!Be)throw new Error("Mounted routable extension must have a path");C.set(ce,Be)}return Y}),L=h(()=>new Map,(C,T,N,G)=>{var ve;if((N==null?void 0:N.props.element)===T)return G;let Y=G;const ce=S(T);return ce&&(G&&"sticky"in G?(C.set(ce,G.sticky),((ve=T.props)==null?void 0:ve.path)?Y=ce:Y=G):(C.set(ce,G),Y=ce)),(0,E.getComponentData)(T,"core.gatherMountPoints")?{sticky:Y}:Y}),V={caseSensitive:!1,path:"/*",element:"match-all",routeRefs:new Set},M=h(()=>Array(),(C,T,N,G)=>{var Ie,Re,Ee;const Y=(Ie=G==null?void 0:G.children)!=null?Ie:C;if((N==null?void 0:N.props.element)===T)return G;const ce=(Re=T.props)==null?void 0:Re.path,ve=Boolean((Ee=T.props)==null?void 0:Ee.caseSensitive),ye=S(T);if(ye){if(ce){const Fe={caseSensitive:ve,path:ce,element:"mounted",routeRefs:new Set([ye]),children:[V],plugin:(0,E.getComponentData)(T.props.element,"core.plugin")};return Y.push(Fe),Fe}G==null||G.routeRefs.add(ye)}if((0,E.getComponentData)(T,"core.gatherMountPoints")){if(!ce)throw new Error("Mount point gatherer must have a path");const Fe={caseSensitive:ve,path:ce,element:"gathered",routeRefs:new Set,children:[V],plugin:G==null?void 0:G.plugin};return Y.push(Fe),Fe}return G}),P=h(()=>new Set,(C,T)=>{if(T.type===i.L){const N=T.props;C.add("with"in N?N.with:N.without)}});var O=e(76241);const x=(0,O.uW)("route-ref-type",()=>Symbol("route-ref-type"));function z(C){return C[x]==="absolute"}function q(C){return C[x]==="sub"}function se(C){return C[x]==="external"}function pe(...C){const T=C.join("/").replace(/\/\/+/g,"/");return T!=="/"&&T.endsWith("/")?T.slice(0,-1):T}function Le(C,T,N){let G,Y="";if(z(C))G=C;else if(q(C))G=C.parent,Y=C.path;else if(se(C)){const ye=N.get(C);if(!ye)return[void 0,""];if(z(ye))G=ye;else if(q(ye))G=ye.parent,Y=ye.path;else throw new Error(`ExternalRouteRef was bound to invalid target, ${ye}`)}else throw C[x]?new Error(`Unknown or invalid route ref type, ${C[x]}`):new Error(`Unknown object passed to useRouteRef, got ${C}`);if(!G)return[void 0,""];const ce=T.get(G);if(!ce)return[void 0,""];const ve=pe(ce,Y);return[G,ve]}function me(C,T,N,G,Y){var Re;const ce=(Re=(0,t.fp)(Y,T))!=null?Re:[],ve=Array();let ye=-1;for(let Ee=C;Ee&&(ye=ce.findIndex(Fe=>Fe.route.routeRefs.has(Ee)),ye===-1);Ee=G.get(Ee))ve.unshift(Ee);ve.length===0&&(ye-=1);const Be=ye===-1?"":ce[ye].pathname,Ie=pe(...ve.slice(0,-1).map(Ee=>{const Fe=N.get(Ee);if(!Fe)throw new Error(`No path for ${Ee}`);if(Fe.includes(":"))throw new Error(`Cannot route to ${C} with parent ${Ee} as it has parameters`);return Fe}));return Be+Ie}class Ve{constructor(T,N,G,Y,ce){this.routePaths=T,this.routeParents=N,this.routeObjects=G,this.routeBindings=Y,this.appBasePath=ce}resolve(T,N){const[G,Y]=Le(T,this.routePaths,this.routeBindings);if(!G)return;let ce;typeof N=="string"?ce=this.trimPath(N):N.pathname?ce={...N,pathname:this.trimPath(N.pathname)}:ce=N;const ve=this.appBasePath+me(G,ce,this.routePaths,this.routeParents,this.routeObjects);return(...[Be])=>ve+(0,t.Gn)(Y,Be)}trimPath(T){return T&&(T.startsWith(this.appBasePath)?T.slice(this.appBasePath.length):T)}}const Pe=(0,O.CT)("routing-context"),Qe=({routePaths:C,routeParents:T,routeObjects:N,routeBindings:G,basePath:Y="",children:ce})=>{const ve=new Ve(C,T,N,G,Y),ye=(0,O.EI)({1:ve});return r.createElement(Pe.Provider,{value:ye},ce)},it=(C,T)=>{var N,G;try{const Y=(0,t.fp)(T,{pathname:C}),ce=(N=Y==null?void 0:Y.filter(ye=>{var Be;return((Be=ye==null?void 0:ye.route.routeRefs)==null?void 0:Be.size)>0}).pop())==null?void 0:N.route;if(!ce)return{};let ve;return ce.routeRefs.size===1&&(ve=ce.routeRefs.values().next().value),{extension:"App",pluginId:((G=ce.plugin)==null?void 0:G.getId())||"root",...ve?{routeRef:ve.id}:{}}}catch{return{}}},_e=({pathname:C,search:T,hash:N})=>{const G=(0,E.useAnalytics)();return(0,r.useEffect)(()=>{G.captureEvent("navigate",`${C}${T}${N}`)},[G,C,T,N]),null},gt=({tree:C})=>{const{pathname:T,search:N,hash:G}=(0,t.TH)(),{routeObjects:Y}=(0,r.useMemo)(()=>p({root:C,discoverers:[m,c],collectors:{routeObjects:M}}),[C]);return r.createElement(E.AnalyticsContext,{attributes:it(T,Y)},r.createElement(_e,{pathname:T,search:N,hash:G}))};function nt(C,T){const N=new Set(T.values());N.delete(void 0);for(const G of T.keys()){if(N.has(G))continue;let Y=G,ce="";for(;Y;){const ye=C.get(Y);if(!ye)throw new Error(`No path for ${Y}`);ce=`${ye}${ce}`,Y=T.get(Y)}const ve=ce.match(/:(\w+)/g);if(ve){for(let ye=0;ye<ve.length;ye++)for(let Be=ye+1;Be<ve.length;Be++)if(ve[Be]===ve[ye])throw new Error(`Parameter ${ve[Be]} is duplicated in path ${ce}`)}}}function ot(C,T){for(const N of T)if(!!N.externalRoutes){for(const[G,Y]of Object.entries(N.externalRoutes))if(!Y.optional&&!C.has(Y))throw new Error(`External route '${G}' of the '${N.getId()}' plugin must be bound to a target route. See https://backstage.io/link?bind-routes for details.`)}}const vt=(0,O.CT)("app-context"),Vt=({appContext:C,children:T})=>{const N=(0,O.EI)({1:C});return r.createElement(vt.Provider,{value:N,children:T})};function xt(C){return new Error(`Tried to access IdentityApi ${C} before app was loaded`)}function pt(C){console.warn(`WARNING: Call to ${C} is deprecated and will break in the future`)}class rt{constructor(){_(this,"target");_(this,"waitForTarget");_(this,"resolveTarget",()=>{});this.waitForTarget=new Promise(T=>{this.resolveTarget=T})}setTarget(T){this.target=T,this.resolveTarget(T)}getUserId(){if(!this.target)throw xt("getUserId");if(!this.target.getUserId)throw new Error("IdentityApi does not implement getUserId");return pt("getUserId"),this.target.getUserId()}getProfile(){if(!this.target)throw xt("getProfile");if(!this.target.getProfile)throw new Error("IdentityApi does not implement getProfile");return pt("getProfile"),this.target.getProfile()}async getProfileInfo(){return this.waitForTarget.then(T=>T.getProfileInfo())}async getBackstageIdentity(){const T=await this.waitForTarget.then(N=>N.getBackstageIdentity());return T.userEntityRef.match(/^.*:.*\/.*$/)||console.warn(`WARNING: The App IdentityApi provided an invalid userEntityRef, '${T.userEntityRef}'. It must be a full Entity Reference of the form '<kind>:<namespace>/<name>'.`),T}async getCredentials(){return this.waitForTarget.then(T=>T.getCredentials())}async getIdToken(){return this.waitForTarget.then(T=>{if(!T.getIdToken)throw new Error("IdentityApi does not implement getIdToken");return pt("getIdToken"),T.getIdToken()})}async signOut(){await this.waitForTarget.then(T=>T.signOut()),location.reload()}}var Tt=e(72164);function Pt(C,T,N){if(C!==void 0){const Y=N.find(ce=>ce.id===C);if(Y)return Y}if(T){const Y=N.find(ce=>ce.variant==="dark");if(Y)return Y}const G=N.find(Y=>Y.variant==="light");return G||N[0]}const Dt=()=>{const C=(0,r.useMemo)(()=>window.matchMedia("(prefers-color-scheme: dark)"),[]),[T,N]=(0,r.useState)(C.matches);return(0,r.useEffect)(()=>{const G=Y=>{N(Y.matches)};return C.addListener(G),()=>{C.removeListener(G)}},[C]),T};function $t({children:C}){const T=(0,E.useApi)(E.appThemeApiRef),N=(0,Tt.Z)(T.activeThemeId$(),T.getActiveThemeId()),G=Boolean(window.matchMedia)?Dt():!1,Y=Pt(N,G,T.getInstalledThemes());if(!Y)throw new Error("App has no themes");return r.createElement(Y.Provider,{children:C})}var ht=e(46611);class Lt{constructor(){_(this,"apis",[])}add(T,N){return this.apis.push([T.id,N]),N}build(){return new wt(new Map(this.apis))}}class wt{static builder(){return new Lt}static from(T){return new wt(new Map(T.map(([N,G])=>[N.id,G])))}static with(T,N){return new wt(new Map([[T.id,N]]))}constructor(T){this.apis=T}with(T,N){return new wt(new Map([...this.apis,[T.id,N]]))}get(T){return this.apis.get(T.id)}}function be(C){const T=new Map;return C&&C({bind:(G,Y)=>{for(const[ce,ve]of Object.entries(Y)){const ye=G[ce];if(!ye)throw new Error(`Key ${ce} is not an existing external route`);if(!ve&&!ye.optional)throw new Error(`External route ${ce} is required but was undefined`);ve&&T.set(ye,ve)}}}),T}function st(C){var N;let{pathname:T}=new URL((N=C.getOptionalString("app.baseUrl"))!=null?N:"/","http://dummy.dev");return T=T.replace(/\/*$/,""),T}function lt(C,T,N){var Be;const G=Boolean(C),Y=(0,l.default)(C||(()=>Promise.resolve([])));let ce;if(G&&Y.loading){const{Progress:Ie}=T;ce=r.createElement(Ie,null)}else if(Y.error){const{BootErrorPage:Ie}=T;ce=r.createElement(Ie,{step:"load-config",error:Y.error})}const{ThemeProvider:ve=$t}=T;return ce?{node:r.createElement(d.ApiProvider,{apis:wt.with(E.appThemeApiRef,N)},r.createElement(ve,null,ce))}:{api:d.ConfigReader.fromConfigs((Be=Y.value)!=null?Be:[])}}class Ct{constructor(T){this.app=T}getPlugins(){return this.app.getPlugins()}getSystemIcon(T){return this.app.getSystemIcon(T)}getComponents(){return this.app.getComponents()}}class oe{constructor(T){_(this,"apiHolder");_(this,"configApi");_(this,"apis");_(this,"icons");_(this,"plugins");_(this,"components");_(this,"themes");_(this,"configLoader");_(this,"defaultApis");_(this,"bindRoutes");_(this,"appIdentityProxy",new rt);_(this,"apiFactoryRegistry");var N,G,Y,ce;this.apis=(N=T.apis)!=null?N:[],this.icons=T.icons,this.plugins=new Set((G=T.plugins)!=null?G:[]),this.components=T.components,this.themes=T.themes,this.configLoader=(Y=T.configLoader)!=null?Y:ht.t,this.defaultApis=(ce=T.defaultApis)!=null?ce:[],this.bindRoutes=T.bindRoutes,this.apiFactoryRegistry=new s.pv}getPlugins(){return Array.from(this.plugins)}getSystemIcon(T){return this.icons[T]}getComponents(){return this.components}getProvider(){const T=new Ct(this);let N=!1;return({children:Y})=>{const ce=(0,r.useMemo)(()=>d.AppThemeSelector.createWithStorage(this.themes),[]),{routePaths:ve,routeParents:ye,routeObjects:Be,featureFlags:Ie,routeBindings:Re}=(0,r.useMemo)(()=>{const ut=p({root:Y,discoverers:[m,c],collectors:{routePaths:D,routeParents:L,routeObjects:M,collectedPlugins:y,featureFlags:P}});return ut.collectedPlugins.forEach(Ge=>this.plugins.add(Ge)),this.verifyPlugins(this.plugins),this.getApiHolder(),{...ut,routeBindings:be(this.bindRoutes)}},[Y]);N||(N=!0,nt(ve,ye),ot(Re,this.plugins));const Ee=lt(this.configLoader,this.components,ce),Fe="api"in Ee;if(Fe){const{api:ut}=Ee;this.configApi=ut}if((0,r.useEffect)(()=>{if(Fe){const ut=this.getApiHolder().get(E.featureFlagsApiRef);for(const Ge of this.plugins.values())if("getFeatureFlags"in Ge)for(const ie of Ge.getFeatureFlags())ut.registerFlag({name:ie.name,pluginId:Ge.getId()});else for(const ie of Ge.output())ie.type==="feature-flag"&&ut.registerFlag({name:ie.name,pluginId:Ge.getId()});for(const Ge of Ie)ut.registerFlag({name:Ge,pluginId:""})}},[Fe,Ee,Ie]),"node"in Ee)return Ee.node;const{ThemeProvider:Rt=$t}=this.components;return r.createElement(d.ApiProvider,{apis:this.getApiHolder()},r.createElement(Vt,{appContext:T},r.createElement(Rt,null,r.createElement(Qe,{routePaths:ve,routeParents:ye,routeObjects:Be,routeBindings:Re,basePath:st(Ee.api)},Y))))}}getRouter(){const{Router:T,SignInPage:N}=this.components,G=({component:ce,children:ve})=>{const[ye,Be]=(0,r.useState)();return ye?(this.appIdentityProxy.setTarget(ye),ve):r.createElement(ce,{onSignInSuccess:Be})};return({children:ce})=>{const ve=(0,E.useApi)(E.configApiRef),ye=`${st(ve)}/*`;return N?r.createElement(T,null,r.createElement(gt,{tree:ce}),r.createElement(G,{component:N},r.createElement(t.Z5,null,r.createElement(t.AW,{path:ye,element:r.createElement(r.Fragment,null,ce)})))):(this.appIdentityProxy.setTarget({getUserId:()=>"guest",getIdToken:async()=>{},getProfile:()=>({email:"guest@example.com",displayName:"Guest"}),getProfileInfo:async()=>({email:"guest@example.com",displayName:"Guest"}),getBackstageIdentity:async()=>({type:"user",userEntityRef:"user:default/guest",ownershipEntityRefs:["user:default/guest"]}),getCredentials:async()=>({}),signOut:async()=>{}}),r.createElement(T,null,r.createElement(gt,{tree:ce}),r.createElement(t.Z5,null,r.createElement(t.AW,{path:ye,element:r.createElement(r.Fragment,null,ce)}))))}}getApiHolder(){if(this.apiHolder){for(const T of this.plugins)for(const N of T.getApis())this.apiFactoryRegistry.get(N.api)||this.apiFactoryRegistry.register("default",N);return s.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder}this.apiFactoryRegistry.register("static",{api:E.appThemeApiRef,deps:{},factory:()=>d.AppThemeSelector.createWithStorage(this.themes)}),this.apiFactoryRegistry.register("static",{api:E.configApiRef,deps:{},factory:()=>{if(!this.configApi)throw new Error("Tried to access config API before config was loaded");return this.configApi}}),this.apiFactoryRegistry.register("static",{api:E.identityApiRef,deps:{},factory:()=>this.appIdentityProxy}),this.apiFactoryRegistry.register("default",{api:E.featureFlagsApiRef,deps:{},factory:()=>new d.LocalStorageFeatureFlags});for(const T of this.defaultApis)this.apiFactoryRegistry.register("default",T);for(const T of this.plugins)for(const N of T.getApis())if(!this.apiFactoryRegistry.register("default",N))throw new Error(`Plugin ${T.getId()} tried to register duplicate or forbidden API factory for ${N.api}`);for(const T of this.apis)if(!this.apiFactoryRegistry.register("app",T))throw new Error(`Duplicate or forbidden API factory for ${T.api} in app`);return s.MM.validateFactories(this.apiFactoryRegistry,this.apiFactoryRegistry.getAllApis()),this.apiHolder=new s.MM(this.apiFactoryRegistry),this.apiHolder}verifyPlugins(T){const N=new Set;for(const G of T){const Y=G.getId();if(N.has(Y))throw new Error(`Duplicate plugin found '${Y}'`);N.add(Y)}}}function ne(C){return new oe(C)}},46611:function(J,o,e){"use strict";e.d(o,{t:function(){return r}});const r=async(t="__APP_INJECTED_RUNTIME_CONFIG__")=>{const l=[{context:"app-config.yaml",data:{app:{title:"Techdocs Preview App",baseUrl:"http://localhost:3000"},backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external",requestUrl:"http://localhost:3000/api"}}}];if(!l)throw new Error("No static configuration provided");if(!Array.isArray(l))throw new Error("Static configuration has invalid format");const d=l.slice();if(t!=="__app_injected_runtime_config__".toLocaleUpperCase("en-US"))try{const s=JSON.parse(t);Array.isArray(s)?d.push(...s):d.push({data:s,context:"env"})}catch(s){throw new Error(`Failed to load runtime configuration, ${s}`)}const E=window.__APP_CONFIG__;return E&&d.push({context:"window",data:E}),d}},44056:function(J,o,e){"use strict";e.d(o,{b:function(){return r.b},t:function(){return t.t}});var r=e(82370),t=e(46611),l=e(73495),d=e.n(l);e.o(l,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return l.AtlassianAuth}}),e.o(l,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return l.Auth0Auth}}),e.o(l,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return l.BitbucketAuth}}),e.o(l,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return l.FlatRoutes}}),e.o(l,"GithubAuth")&&e.d(o,{GithubAuth:function(){return l.GithubAuth}}),e.o(l,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return l.GitlabAuth}}),e.o(l,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return l.GoogleAuth}}),e.o(l,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return l.MicrosoftAuth}}),e.o(l,"OAuth2")&&e.d(o,{OAuth2:function(){return l.OAuth2}}),e.o(l,"OktaAuth")&&e.d(o,{OktaAuth:function(){return l.OktaAuth}}),e.o(l,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return l.OneLoginAuth}}),e.o(l,"SamlAuth")&&e.d(o,{SamlAuth:function(){return l.SamlAuth}})},73495:function(){},49208:function(J,o,e){"use strict";e.d(o,{AlertApiForwarder:function(){return r.AlertApiForwarder},ErrorAlerter:function(){return r.ErrorAlerter},ErrorApiForwarder:function(){return r.ErrorApiForwarder},FetchMiddlewares:function(){return r.FetchMiddlewares},NoOpAnalyticsApi:function(){return r.NoOpAnalyticsApi},OAuthRequestManager:function(){return r.OAuthRequestManager},UnhandledErrorForwarder:function(){return r.UnhandledErrorForwarder},UrlPatternDiscovery:function(){return r.UrlPatternDiscovery},WebStorage:function(){return r.WebStorage},createFetchApi:function(){return r.createFetchApi},createSpecializedApp:function(){return t.b},defaultConfigLoader:function(){return t.t},FlatRoutes:function(){return l.w}});var r=e(56494);e.o(r,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return r.AtlassianAuth}}),e.o(r,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return r.Auth0Auth}}),e.o(r,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return r.BitbucketAuth}}),e.o(r,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return r.FlatRoutes}}),e.o(r,"GithubAuth")&&e.d(o,{GithubAuth:function(){return r.GithubAuth}}),e.o(r,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return r.GitlabAuth}}),e.o(r,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return r.GoogleAuth}}),e.o(r,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return r.MicrosoftAuth}}),e.o(r,"OAuth2")&&e.d(o,{OAuth2:function(){return r.OAuth2}}),e.o(r,"OktaAuth")&&e.d(o,{OktaAuth:function(){return r.OktaAuth}}),e.o(r,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return r.OneLoginAuth}}),e.o(r,"SamlAuth")&&e.d(o,{SamlAuth:function(){return r.SamlAuth}}),e.o(r,"createSpecializedApp")&&e.d(o,{createSpecializedApp:function(){return r.createSpecializedApp}}),e.o(r,"defaultConfigLoader")&&e.d(o,{defaultConfigLoader:function(){return r.defaultConfigLoader}});var t=e(44056);e.o(t,"AtlassianAuth")&&e.d(o,{AtlassianAuth:function(){return t.AtlassianAuth}}),e.o(t,"Auth0Auth")&&e.d(o,{Auth0Auth:function(){return t.Auth0Auth}}),e.o(t,"BitbucketAuth")&&e.d(o,{BitbucketAuth:function(){return t.BitbucketAuth}}),e.o(t,"FlatRoutes")&&e.d(o,{FlatRoutes:function(){return t.FlatRoutes}}),e.o(t,"GithubAuth")&&e.d(o,{GithubAuth:function(){return t.GithubAuth}}),e.o(t,"GitlabAuth")&&e.d(o,{GitlabAuth:function(){return t.GitlabAuth}}),e.o(t,"GoogleAuth")&&e.d(o,{GoogleAuth:function(){return t.GoogleAuth}}),e.o(t,"MicrosoftAuth")&&e.d(o,{MicrosoftAuth:function(){return t.MicrosoftAuth}}),e.o(t,"OAuth2")&&e.d(o,{OAuth2:function(){return t.OAuth2}}),e.o(t,"OktaAuth")&&e.d(o,{OktaAuth:function(){return t.OktaAuth}}),e.o(t,"OneLoginAuth")&&e.d(o,{OneLoginAuth:function(){return t.OneLoginAuth}}),e.o(t,"SamlAuth")&&e.d(o,{SamlAuth:function(){return t.SamlAuth}});var l=e(63938)},55274:function(J,o,e){"use strict";e.d(o,{Hc:function(){return h},q2:function(){return s},k1:function(){return p}});function r(m,c){for(const y of c)if(!m.has(y))return!1;return!0}class t{constructor(c){this.options=c}sessionExistsAndHasScope(c,y){if(!c)return!1;if(!y||this.options.sessionScopes===void 0)return!0;const i=this.options.sessionScopes(c);return r(i,y)}getExtendedScope(c,y){const i=new Set(this.options.defaultScopes);if(c&&this.options.sessionScopes!==void 0){const S=this.options.sessionScopes(c);for(const D of S)i.add(D)}if(y)for(const S of y)i.add(S);return i}}var l=e(98005),d=e(36964);class E{constructor(){_(this,"subject",new l.X(d.SessionState.SignedOut));_(this,"signedIn",!1)}setIsSignedIn(c){this.signedIn!==c&&(this.signedIn=c,this.subject.next(this.signedIn?d.SessionState.SignedIn:d.SessionState.SignedOut))}sessionState$(){return this.subject}}class s{constructor(c){_(this,"connector");_(this,"helper");_(this,"sessionScopesFunc");_(this,"sessionShouldRefreshFunc");_(this,"stateTracker",new E);_(this,"refreshPromise");_(this,"currentSession");const{connector:y,defaultScopes:i=new Set,sessionScopes:S,sessionShouldRefresh:D}=c;this.connector=y,this.sessionScopesFunc=S,this.sessionShouldRefreshFunc=D,this.helper=new t({sessionScopes:S,defaultScopes:i})}async getSession(c){if(this.helper.sessionExistsAndHasScope(this.currentSession,c.scopes)){if(!this.sessionShouldRefreshFunc(this.currentSession))return this.currentSession;try{const i=await this.collapsedSessionRefresh(),S=this.sessionScopesFunc(this.currentSession),D=this.sessionScopesFunc(i);return r(D,S)&&(this.currentSession=i),i}catch(i){if(c.optional)return;throw i}}if(!this.currentSession&&!c.instantPopup)try{const y=await this.collapsedSessionRefresh();return this.currentSession=y,this.getSession(c)}catch{}if(!c.optional)return this.currentSession=await this.connector.createSession({...c,scopes:this.helper.getExtendedScope(this.currentSession,c.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,await this.connector.removeSession(),this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}async collapsedSessionRefresh(){if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.connector.refreshSession();try{const c=await this.refreshPromise;return this.stateTracker.setIsSignedIn(!0),c}finally{delete this.refreshPromise}}}class p{constructor(c){_(this,"connector");_(this,"helper");_(this,"stateTracker",new E);_(this,"currentSession");const{connector:y,defaultScopes:i=new Set,sessionScopes:S}=c;this.connector=y,this.helper=new t({sessionScopes:S,defaultScopes:i})}setSession(c){this.currentSession=c,this.stateTracker.setIsSignedIn(Boolean(c))}async getSession(c){if(this.helper.sessionExistsAndHasScope(this.currentSession,c.scopes))return this.currentSession;if(!c.optional)return this.currentSession=await this.connector.createSession({...c,scopes:this.helper.getExtendedScope(this.currentSession,c.scopes)}),this.stateTracker.setIsSignedIn(!0),this.currentSession}async removeSession(){this.currentSession=void 0,this.stateTracker.setIsSignedIn(!1)}sessionState$(){return this.stateTracker.sessionState$()}}class h{constructor(c){_(this,"manager");_(this,"storageKey");_(this,"schema");_(this,"sessionShouldRefreshFunc");_(this,"helper");const{manager:y,storageKey:i,schema:S,sessionScopes:D,sessionShouldRefresh:L=()=>!1}=c;this.manager=y,this.storageKey=i,this.schema=S,this.sessionShouldRefreshFunc=L,this.helper=new t({sessionScopes:D,defaultScopes:new Set})}setSession(c){this.manager.setSession(c),this.saveSession(c)}async getSession(c){const{scopes:y}=c,i=this.loadSession();if(this.helper.sessionExistsAndHasScope(i,y)&&!this.sessionShouldRefreshFunc(i))return this.manager.setSession(i),i;const S=await this.manager.getSession(c);return this.saveSession(S),S}async removeSession(){localStorage.removeItem(this.storageKey),await this.manager.removeSession()}sessionState$(){return this.manager.sessionState$()}loadSession(){try{const c=localStorage.getItem(this.storageKey);if(c){const y=JSON.parse(c,(i,S)=>(S==null?void 0:S.__type)==="Set"?new Set(S.__value):S);try{return this.schema.parse(y)}catch(i){throw console.log(`Failed to load session from local storage because it did not conform to the expected schema, ${i}`),i}}return}catch{localStorage.removeItem(this.storageKey);return}}saveSession(c){if(c===void 0){localStorage.removeItem(this.storageKey);return}try{this.schema.parse(c)}catch(y){console.warn(`Failed to save session to local storage because it did not conform to the expected schema, ${y}`);return}localStorage.setItem(this.storageKey,JSON.stringify(c,(y,i)=>i instanceof Set?{__type:"Set",__value:Array.from(i)}:i))}}},17678:function(J,o,e){"use strict";e.d(o,{d:function(){return r}});function r(t){return new Promise((l,d)=>{const E=t.width||500,s=t.height||700,p=window.screen.width/2-E/2,h=window.screen.height/2-s/2,m=window.open(t.url,t.name,`menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=${E},height=${s},top=${h},left=${p}`);let c="";if(!m||typeof m.closed=="undefined"||m.closed){const D=new Error("Failed to open auth popup.");D.name="PopupRejectedError",d(D);return}const y=D=>{if(D.source!==m||D.origin!==t.origin)return;const{data:L}=D;if(L.type==="config_info"){c=L.targetOrigin;return}if(L.type!=="authorization_response")return;const V=L;if("error"in V){const M=new Error(V.error.message);M.name=V.error.name,d(M)}else l(V.response);S()},i=setInterval(()=>{if(m.closed){const D=`Login failed, ${c&&c!==window.location.origin?`Incorrect app origin, expected ${c}`:"popup was closed"}`,L=new Error(D);L.name="PopupClosedError",d(L),S()}},100);function S(){window.removeEventListener("message",y),clearInterval(i)}window.addEventListener("message",y)})}},98005:function(J,o,e){"use strict";e.d(o,{J:function(){return l},X:function(){return d}});var r=e(82394),t=e.n(r);class l{constructor(){_(this,"isClosed",!1);_(this,"terminatingError");_(this,"observable",new(t())(s=>this.isClosed?(this.terminatingError?s.error(this.terminatingError):s.complete(),()=>{}):(this.subscribers.add(s),()=>{this.subscribers.delete(s)})));_(this,"subscribers",new Set)}[Symbol.observable](){return this}get closed(){return this.isClosed}next(s){if(this.isClosed)throw new Error("PublishSubject is closed");this.subscribers.forEach(p=>p.next(s))}error(s){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.terminatingError=s,this.subscribers.forEach(p=>p.error(s))}complete(){if(this.isClosed)throw new Error("PublishSubject is closed");this.isClosed=!0,this.subscribers.forEach(s=>s.complete())}subscribe(s,p,h){const m=typeof s=="function"?{next:s,error:p,complete:h}:s;return this.observable.subscribe(m)}}class d{constructor(s){_(this,"isClosed");_(this,"currentValue");_(this,"terminatingError");_(this,"observable");_(this,"subscribers",new Set);this.isClosed=!1,this.currentValue=s,this.terminatingError=void 0,this.observable=new(t())(p=>this.isClosed?(this.terminatingError?p.error(this.terminatingError):p.complete(),()=>{}):(p.next(this.currentValue),this.subscribers.add(p),()=>{this.subscribers.delete(p)}))}[Symbol.observable](){return this}get closed(){return this.isClosed}next(s){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.currentValue=s,this.subscribers.forEach(p=>p.next(s))}error(s){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.terminatingError=s,this.subscribers.forEach(p=>p.error(s))}complete(){if(this.isClosed)throw new Error("BehaviorSubject is closed");this.isClosed=!0,this.subscribers.forEach(s=>s.complete())}subscribe(s,p,h){const m=typeof s=="function"?{next:s,error:p,complete:h}:s;return this.observable.subscribe(m)}}},88934:function(J,o,e){"use strict";e.d(o,{L:function(){return l}});var r=e(36964),t=e(2784);const l=d=>{const{children:E}=d,s=(0,r.useApi)(r.featureFlagsApiRef),p="with"in d?s.isActive(d.with):!s.isActive(d.without);return t.createElement(t.Fragment,null,p?E:null)};(0,r.attachComponentData)(l,"core.featureFlagged",!0)},63938:function(J,o,e){"use strict";e.d(o,{w:function(){return d}});var r=e(2784),t=e(10289),l=e(36964);const d=s=>{const p=(0,l.useApp)(),{NotFoundErrorPage:h}=p.getComponents(),m=(0,l.useElementFilter)(s.children,c=>c.getElements().flatMap(y=>{var S;let i=y.props.path;return i===""?[]:(i=(S=i==null?void 0:i.replace(/\/\*$/,""))!=null?S:"/",[{path:i,element:y,children:y.props.children?[{path:i==="/"?"/":"/*",element:y.props.children}]:void 0}])}).sort((y,i)=>i.path.localeCompare(y.path)).map(y=>(y.path=y.path==="/"?"/":`${y.path}/*`,y)));return m.push({element:r.createElement(h,null),path:"/*"}),(0,t.V$)(m)};var E=e(88934)},9118:function(J,o,e){"use strict";e.d(o,{Button:function(){return M},CodeSnippet:function(){return Ve},Content:function(){return ka},ContentHeader:function(){return ri},CreateButton:function(){return it},DependencyGraph:function(){return Re},DependencyGraphTypes:function(){return r},EmptyState:function(){return b},ErrorPage:function(){return li},ErrorPanel:function(){return Yt},Header:function(){return so},HeaderIconLinkRow:function(){return Pr},HeaderLabel:function(){return Ei},HeaderTabs:function(){return qa},InfoCard:function(){return Je},ItemCardGrid:function(){return Pi},ItemCardHeader:function(){return Si},Link:function(){return L},LogViewer:function(){return xr},MissingAnnotationEmptyState:function(){return Oe},OverflowTooltip:function(){return Ur},Page:function(){return lo},PageWithHeader:function(){return Oi},Progress:function(){return gr},ResponseErrorPanel:function(){return jt},RoutedTabs:function(){return _a},Select:function(){return wr},Sidebar:function(){return qo},SidebarContext:function(){return Er},SidebarDivider:function(){return ms},SidebarItem:function(){return Qa},SidebarPage:function(){return wo},SidebarPinStateContext:function(){return nr},SubvalueCell:function(){return Ls},SupportButton:function(){return Zo},Table:function(){return Ys},WarningPanel:function(){return Tn},sidebarConfig:function(){return Xt},useContent:function(){return ga},useQueryParamState:function(){return Do}});var r={};e.r(r),e.d(r,{Nm:function(){return _e},ht:function(){return ot},LJ:function(){return nt}});var t=e(2784),l=e(36964),d=e(19928);function E(n){const[a,u]=useState([]),f=useApi(alertApiRef);if(useEffect(()=>{const I=f.alert$().subscribe(U=>u(K=>K.concat(U)));return()=>{I.unsubscribe()}},[f]),a.length===0)return null;const[g]=a,R=()=>{u(I=>I.filter(U=>U!==g))};return React.createElement(Snackbar,{open:!0,anchorOrigin:{vertical:"top",horizontal:"center"}},React.createElement(Alert,{action:React.createElement(IconButton,{color:"inherit",size:"small",onClick:R,"data-testid":"error-button-close"},React.createElement(CloseIcon,null)),severity:g.severity},React.createElement("span",null,g.message.toString(),a.length>1&&React.createElement("em",null,` (${a.length-1} older ${pluralize("message",a.length-1)})`))))}var s=e(79692),p=e(12420);const h=(0,s.Z)(n=>(0,p.Z)({avatar:{width:"4rem",height:"4rem",color:"#fff",fontWeight:n.typography.fontWeightBold,letterSpacing:"1px",textTransform:"uppercase"}}),{name:"BackstageAvatar"});function m(n){const{displayName:a,picture:u,customStyles:f}=n,g=h();return React.createElement(MaterialAvatar,{alt:a,src:u,className:g.avatar,style:{backgroundColor:stringToColor(a||u||""),...f}},a&&extractInitials(a))}var c=e(77277),y=e(86689),i=e(62833);const S=n=>/^([a-z+.-]+):/.test(n),D=n=>{var a;return n instanceof Array?n.map(D).join(" ").trim():typeof n=="object"&&n?D((a=n==null?void 0:n.props)==null?void 0:a.children):["string","number"].includes(typeof n)?String(n):""},L=t.forwardRef(({onClick:n,noTrack:a,...u},f)=>{const g=(0,l.useAnalytics)(),R=String(u.to),I=D(u.children)||R,U=S(R),K=U&&!!/^https?:/.exec(R),w=re=>{n==null||n(re),a||g.captureEvent("click",I,{attributes:{to:R}})};return U?t.createElement(y.Z,{ref:f,href:R,onClick:w,...K?{target:"_blank",rel:"noopener"}:{},...u}):t.createElement(y.Z,{ref:f,component:i.rU,onClick:w,...u})}),V=t.forwardRef((n,a)=>t.createElement(L,{ref:a,...n,color:"initial"})),M=t.forwardRef((n,a)=>t.createElement(c.Z,{ref:a,component:V,...n}));var P=e(60364),O=e(61837),x=e(80030),z=e(19353),q=e(95074);function se(n){const{text:a,tooltipDelay:u=1e3,tooltipText:f="Text copied to clipboard"}=n,g=(0,l.useApi)(l.errorApiRef),[R,I]=(0,t.useState)(!1),[{error:U},K]=(0,q.Z)();(0,t.useEffect)(()=>{U&&g.post(U)},[U,g]);const w=re=>{re.stopPropagation(),I(!0),K(a)};return t.createElement(t.Fragment,null,t.createElement(x.ZP,{id:"copy-test-tooltip",title:f,placement:"top",leaveDelay:u,onClose:()=>I(!1),open:R},t.createElement(O.Z,{onClick:w},t.createElement(z.Z,null))))}var pe=e(70813),Le=e(26639),me=e(39595);function Ve(n){const{text:a,language:u,showLineNumbers:f=!1,highlightedNumbers:g,customStyle:R,showCopyCodeButton:I=!1}=n,U=(0,P.Z)(),K=U.palette.type==="dark"?Le.Z:me.Z,w=U.palette.type==="dark"?"#256bf3":"#e6ffed";return t.createElement("div",{style:{position:"relative"}},t.createElement(pe.Z,{customStyle:R,language:u,style:K,showLineNumbers:f,wrapLines:!0,lineNumberStyle:{color:U.palette.textVerySubtle},lineProps:re=>(g==null?void 0:g.includes(re))?{style:{backgroundColor:w}}:{}},a),I&&t.createElement("div",{style:{position:"absolute",top:0,right:0}},t.createElement(se,{text:a})))}var Pe=e(41156),Qe=e(88188);function it(n){const{title:a,to:u}=n,f=(0,Pe.Z)(g=>g.breakpoints.down("xs"));return u?f?t.createElement(O.Z,{component:i.rU,color:"primary",title:a,size:"small",to:u},t.createElement(Qe.Z,null)):t.createElement(c.Z,{component:i.rU,variant:"contained",color:"primary",to:u},a):null}var _e;(function(n){const a="TB";n.TOP_BOTTOM=a;const u="BT";n.BOTTOM_TOP=u;const f="LR";n.LEFT_RIGHT=f;const g="RL";n.RIGHT_LEFT=g})(_e||(_e={}));var gt;(function(n){const a="UL";n.UP_LEFT=a;const u="UR";n.UP_RIGHT=u;const f="DL";n.DOWN_LEFT=f;const g="DR";n.DOWN_RIGHT=g})(gt||(gt={}));var nt;(function(n){const a="network-simplex";n.NETWORK_SIMPLEX=a;const u="tight-tree";n.TIGHT_TREE=u;const f="longest-path";n.LONGEST_PATH=f})(nt||(nt={}));var ot;(function(n){const a="l";n.LEFT=a;const u="r";n.RIGHT=u;const f="c";n.CENTER=f})(ot||(ot={}));var vt=e(13387),Vt=e(11105),xt=e(97963),pt=e(46506),rt=e.n(pt),Tt=e(54073),Pt=e.n(Tt),Dt=e(10368);const $t=(0,s.Z)(n=>({node:{fill:n.palette.primary.light,stroke:n.palette.primary.light},text:{fill:n.palette.primary.contrastText}}),{name:"BackstageDependencyGraphDefaultNode"});function ht({node:{id:n}}){const a=$t(),[u,f]=t.useState(0),[g,R]=t.useState(0),I=t.useRef(null);t.useLayoutEffect(()=>{if(I.current){let{height:re,width:ue}=I.current.getBBox();re=Math.round(re),ue=Math.round(ue),(re!==g||ue!==u)&&(f(ue),R(re))}},[u,g]);const U=10,K=u+U*2,w=g+U*2;return t.createElement("g",null,t.createElement("rect",{className:a.node,width:K,height:w,rx:10}),t.createElement("text",{ref:I,className:a.text,y:w/2,x:K/2,textAnchor:"middle",alignmentBaseline:"middle"},n))}const Lt="arrow-marker",wt="node",be="edge",st="label",lt=(0,Dt.Z)(n=>({node:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphNode"}),Ct=n=>t.createElement(ht,{...n});function oe({render:n=Ct,setNode:a,node:u}){const{width:f,height:g,x:R=0,y:I=0}=u,U=u,K=lt(),w=t.useRef(null);return t.useLayoutEffect(()=>{if(w.current){let{height:re,width:ue}=w.current.getBBox();re=Math.round(re),ue=Math.round(ue),(re!==g||ue!==f)&&a(u.id,{...u,height:re,width:ue})}},[u,f,g,a]),t.createElement("g",{ref:w,"data-testid":wt,className:K.node,transform:`translate(${R-f/2},${I-g/2})`},n({node:U}))}var ne=e(55876),C=e(66481),T=e(19574),N=e.n(T);const G=(0,Dt.Z)(n=>({text:{fill:n.palette.textContrast}}),{name:"BackstageDependencyGraphDefaultLabel"});function Y({edge:{label:n}}){const a=G();return t.createElement("text",{className:a.text,textAnchor:"middle"},n)}const ce=(0,Dt.Z)(n=>({path:{strokeWidth:2,stroke:n.palette.textSubtle,fill:"none",transition:`${n.transitions.duration.shortest}ms`},label:{transition:`${n.transitions.duration.shortest}ms`}}),{name:"BackstageDependencyGraphEdge"}),ve=n=>t.createElement(Y,{...n}),ye=ne.Z().x(n=>n.x).y(n=>n.y).curve(C.Z);function Be({render:n=ve,setEdge:a,id:u,edge:f}){const{x:g=0,y:R=0,width:I,height:U,points:K}=f,w=f,re=ce(),ue=t.useRef(null);t.useLayoutEffect(()=>{if(ue.current){let{height:Se,width:Te}=ue.current.getBBox();Se=Math.round(Se),Te=Math.round(Te),(Se!==U||Te!==I)&&a(u,{...f,height:Se,width:Te})}},[f,U,I,a,u]);let Ae="";if(K){const Se=K.filter(Te=>N()(Te.x)&&N()(Te.y));Ae=ye(Se)||""}return t.createElement(t.Fragment,null,Ae&&t.createElement("path",{"data-testid":be,className:re.path,markerEnd:`url(#${Lt})`,d:Ae}),w.label?t.createElement("g",{ref:ue,"data-testid":st,className:re.label,transform:`translate(${g},${R})`},n({edge:w})):null)}const Ie="workspace";function Re(n){var ar,po;const{edges:a,nodes:u,renderNode:f,direction:g=_e.TOP_BOTTOM,align:R,nodeMargin:I=50,edgeMargin:U=10,rankMargin:K=50,paddingX:w=0,paddingY:re=0,acyclicer:ue,ranker:Ae=nt.NETWORK_SIMPLEX,labelPosition:Se=ot.RIGHT,labelOffset:Te=10,edgeRanks:dt=1,edgeWeight:Ut=1,renderLabel:tn,defs:kt,zoom:ct="enabled",...Mt}=n,Zt=(0,xt.Z)(),[nn,Zn]=t.useState(100),[Rn,vr]=t.useState(100),Ot=t.useRef(new(rt()).graphlib.Graph),[$n,Sa]=t.useState(((ar=Ot.current.graph())==null?void 0:ar.width)||0),[jn,Ca]=t.useState(((po=Ot.current.graph())==null?void 0:po.height)||0),[Jr,Qr]=t.useState([]),[Ta,on]=t.useState([]),pn=Math.max($n,nn),Sn=Math.max(jn,Rn),Gn=t.useMemo(()=>Pt()(Jt=>{if(!Jt)return;const sn=Vt.Z(Jt),Kt=Vt.Z(Jt.getElementById(Ie));function Ln(){sn.call(vt.sP().scaleExtent([1,10]).on("zoom",Fn=>{Fn.transform.x=Math.min(0,Math.max(Fn.transform.x,pn-pn*Fn.transform.k)),Fn.transform.y=Math.min(0,Math.max(Fn.transform.y,Sn-Sn*Fn.transform.k)),Kt.attr("transform",Fn.transform)}))}ct==="enabled"?Ln():ct==="enable-on-click"&&sn.on("click",()=>Ln());const{width:In,height:Xr}=Jt.getBoundingClientRect();nn!==In&&Zn(In),Rn!==Xr&&vr(Xr)},100),[Rn,nn,pn,Sn,ct]),qt=t.useCallback(()=>{const Jt=Ot.current.nodes(),sn=Ot.current.edges();Jt.forEach(Kt=>{u.some(In=>In.id===Kt)||Ot.current.removeNode(Kt)}),sn.forEach(Kt=>{a.some(In=>In.from===Kt.v&&In.to===Kt.w)||Ot.current.removeEdge(Kt.v,Kt.w)}),u.forEach(Kt=>{const Ln=Ot.current.nodes().find(In=>Kt.id===In);if(Ln&&Ot.current.node(Ln)){const{width:In,height:Xr,x:Fn,y:Gi}=Ot.current.node(Ln);Ot.current.setNode(Ln,{...Kt,width:In,height:Xr,x:Fn,y:Gi})}else Ot.current.setNode(Kt.id,{...Kt,width:0,height:0})}),a.forEach(Kt=>{Ot.current.setEdge(Kt.from,Kt.to,{...Kt,label:Kt.label,width:0,height:0,labelpos:Se,labeloffset:Te,weight:Ut,minlen:dt})})},[a,u,Se,Te,Ut,dt]),_t=t.useMemo(()=>Pt()(()=>{rt().layout(Ot.current);const{height:Jt,width:sn}=Ot.current.graph(),Kt=Math.max(0,Jt||0),Ln=Math.max(0,sn||0);Sa(Ln),Ca(Kt),Qr(Ot.current.nodes()),on(Ot.current.edges())},250,{leading:!0}),[]);t.useEffect(()=>(Ot.current.setGraph({rankdir:g,align:R,nodesep:I,edgesep:U,ranksep:K,marginx:w,marginy:re,acyclicer:ue,ranker:Ae}),qt(),_t(),_t.cancel),[ue,R,g,U,w,re,I,K,Ae,qt,_t]);function rr(Jt,sn){return Ot.current.setNode(Jt,sn),_t(),Ot.current}function Kn(Jt,sn){return Ot.current.setEdge(Jt,sn),_t(),Ot.current}return t.createElement("svg",{ref:Gn,...Mt,width:"100%",height:Sn,viewBox:`0 0 ${pn} ${Sn}`},t.createElement("defs",null,t.createElement("marker",{id:Lt,viewBox:"0 0 24 24",markerWidth:"14",markerHeight:"14",refX:"16",refY:"12",orient:"auto",markerUnits:"strokeWidth"},t.createElement("path",{fill:Zt.palette.textSubtle,d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"})),kt),t.createElement("g",{id:Ie},t.createElement("svg",{width:$n,height:jn,y:Sn/2-jn/2,x:pn/2-$n/2,viewBox:`0 0 ${$n} ${jn}`},Ta.map(Jt=>{const sn=Ot.current.edge(Jt);return sn?t.createElement(Be,{key:`${Jt.v}-${Jt.w}`,id:Jt,setEdge:Kn,render:tn,edge:sn}):null}),Jr.map(Jt=>{const sn=Ot.current.node(Jt);return sn?t.createElement(oe,{key:Jt,setNode:rr,render:f,node:sn}):null}))))}var Ee=e(72779),Fe=e.n(Ee);const Rt=(0,s.Z)(n=>{var a;return{root:{padding:n.spacing(0),marginBottom:n.spacing(0),marginTop:n.spacing(0),display:"flex",flexFlow:"row nowrap"},topPosition:{position:"relative",marginBottom:n.spacing(6),marginTop:-n.spacing(3),zIndex:"unset"},icon:{fontSize:20},content:{width:"100%",maxWidth:"inherit",flexWrap:"nowrap"},message:{display:"flex",alignItems:"center",color:n.palette.banner.text,"& a":{color:n.palette.banner.link}},info:{backgroundColor:n.palette.banner.info},error:{backgroundColor:n.palette.banner.error},warning:{backgroundColor:(a=n.palette.banner.warning)!=null?a:n.palette.banner.error}}},{name:"BackstageDismissableBanner"}),ut=n=>{var Se;const{variant:a,message:u,id:f,fixed:g=!1}=n,R=Rt(),U=useApi(storageApiRef).forBucket("notifications"),K=(Se=U.get("dismissedBanners"))!=null?Se:[],[w,re]=useState(new Set(K)),ue=useObservable(U.observe$("dismissedBanners"));useEffect(()=>{var Te;if(ue==null?void 0:ue.newValue){const dt=(Te=ue==null?void 0:ue.newValue)!=null?Te:[];re(new Set(dt))}},[ue==null?void 0:ue.newValue]);const Ae=()=>{U.set("dismissedBanners",[...w,f])};return React.createElement(Snackbar,{anchorOrigin:g?{vertical:"bottom",horizontal:"center"}:{vertical:"top",horizontal:"center"},open:!w.has(f),classes:{root:classNames(R.root,!g&&R.topPosition)}},React.createElement(SnackbarContent,{classes:{root:classNames(R.content,R[a]),message:R.message},message:u,action:[React.createElement(IconButton,{key:"dismiss",title:"Permanently dismiss this message",color:"inherit",onClick:Ae},React.createElement(Close,{className:R.icon}))]}))};var Ge=e(60905),ie=e(90436),Me=e(86284),et=e(96465),Ue=e(19133),Ze=e(3871);const Ye=(0,s.Z)({generalImg:{width:"95%",zIndex:2,position:"relative",left:"50%",top:"50%",transform:"translate(-50%, 15%)"}},{name:"BackstageEmptyStateImage"}),j=({missing:n})=>{const a=Ye();switch(n){case"field":return t.createElement("img",{src:Me,className:a.generalImg,alt:"annotation is missing"});case"info":return t.createElement("img",{src:et,alt:"no Information",className:a.generalImg});case"content":return t.createElement("img",{src:Ue,alt:"create Component",className:a.generalImg});case"data":return t.createElement("img",{src:Ze,alt:"no Build",className:a.generalImg});default:return null}},v=(0,s.Z)(n=>({root:{backgroundColor:n.palette.background.default,padding:n.spacing(2,0,0,0)},action:{marginTop:n.spacing(2)},imageContainer:{position:"relative"}}),{name:"BackstageEmptyState"});function b(n){const{title:a,description:u,missing:f,action:g}=n,R=v();return t.createElement(Ge.Z,{container:!0,direction:"row",justifyContent:"space-around",alignItems:"flex-start",className:R.root,spacing:2},t.createElement(Ge.Z,{item:!0,xs:12,md:6},t.createElement(Ge.Z,{container:!0,direction:"column"},t.createElement(Ge.Z,{item:!0,xs:!0},t.createElement(ie.Z,{variant:"h5"},a)),t.createElement(Ge.Z,{item:!0,xs:!0},t.createElement(ie.Z,{variant:"body1"},u)),t.createElement(Ge.Z,{item:!0,xs:!0,className:R.action},g))),t.createElement(Ge.Z,{item:!0,xs:12,md:6,className:R.imageContainer},t.createElement(j,{missing:f})))}const W=`apiVersion: backstage.io/v1alpha1
2
+ kind: Component
3
+ metadata:
4
+ name: example
5
+ description: example.com
6
+ annotations:
7
+ ANNOTATION: value
8
+ spec:
9
+ type: website
10
+ lifecycle: production
11
+ owner: user:guest`,ee=(0,s.Z)(n=>({code:{borderRadius:6,margin:`${n.spacing(2)}px 0px`,background:n.palette.type==="dark"?"#444":"#fff"}}),{name:"BackstageMissingAnnotationEmptyState"});function Oe(n){const{annotation:a}=n,u=ee(),f=t.createElement(t.Fragment,null,"The ",t.createElement("code",null,a)," annotation is missing. You need to add the annotation to your component if you want to enable this tool.");return t.createElement(b,{missing:"field",title:"Missing Annotation",description:f,action:t.createElement(t.Fragment,null,t.createElement(ie.Z,{variant:"body1"},"Add the annotation to your component YAML as shown in the highlighted example below:"),t.createElement("div",{className:u.code},t.createElement(Ve,{text:W.replace("ANNOTATION",a),language:"yaml",showLineNumbers:!0,highlightedNumbers:[6,7],customStyle:{background:"inherit",fontSize:"115%"}})),t.createElement(c.Z,{color:"primary",component:L,to:"https://backstage.io/docs/features/software-catalog/well-known-annotations"},"Read more"))})}var ge=e(11776),Ce=e(38402),De=e(49378),we=e(41128),At=e(27616),ae=e(8284),Z=e(70660),k=e(91750),he=e(38016);const He=(n,a)=>(a.palette.type==="light"?we._j:we.$n)(a.palette[n].light,.6),Ke=(n,a)=>(a.palette.type==="light"?we.$n:we._j)(a.palette[n].light,.9),tt=(0,s.Z)(n=>({root:{marginRight:n.spacing(1),fill:({severity:a})=>He(a,n)}})),bt=({severity:n})=>{const a=tt({severity:n});return t.createElement(k.Z,{classes:a})},en=({severity:n})=>{const a=tt({severity:n});return t.createElement(he.Z,{classes:a})},ln=(0,s.Z)(n=>({panel:{backgroundColor:({severity:a})=>Ke(a,n),color:({severity:a})=>He(a,n),verticalAlign:"middle"},summary:{display:"flex",flexDirection:"row"},summaryText:{color:({severity:a})=>He(a,n),fontWeight:"bold"},message:{width:"100%",display:"block",color:({severity:a})=>He(a,n),backgroundColor:({severity:a})=>Ke(a,n)},details:{width:"100%",display:"block",color:n.palette.textContrast,backgroundColor:n.palette.background.default,border:`1px solid ${n.palette.border}`,padding:n.spacing(2),fontFamily:"sans-serif"}}),{name:"BackstageWarningPanel"}),wn=n=>n.charAt(0).toLocaleUpperCase("en-US")+n.slice(1);function Tn(n){const{severity:a="warning",title:u,message:f,children:g,defaultExpanded:R}=n,I=ln({severity:a}),U=wn(a)+(u?`: ${u}`:"");return t.createElement(At.Z,{defaultExpanded:R!=null?R:!1,className:I.panel,role:"alert"},t.createElement(ae.Z,{expandIcon:t.createElement(en,{severity:a}),className:I.summary},t.createElement(bt,{severity:a}),t.createElement(ie.Z,{className:I.summaryText,variant:"subtitle1"},U)),(f||g)&&t.createElement(Z.Z,null,t.createElement(Ge.Z,{container:!0},f&&t.createElement(Ge.Z,{item:!0,xs:12},t.createElement(ie.Z,{className:I.message,variant:"body1"},f)),g&&t.createElement(Ge.Z,{item:!0,xs:12,className:I.details},g))))}const En=(0,s.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageErrorPanel"}),yt=({error:n,message:a,stack:u,children:f})=>{const g=En();return t.createElement(ge.Z,{dense:!0},t.createElement(Ce.Z,{alignItems:"flex-start"},t.createElement(De.Z,{classes:{secondary:g.text},primary:"Error",secondary:n}),t.createElement(se,{text:n})),t.createElement(Ce.Z,{alignItems:"flex-start"},t.createElement(De.Z,{classes:{secondary:g.text},primary:"Message",secondary:a}),t.createElement(se,{text:a})),u&&t.createElement(Ce.Z,{alignItems:"flex-start"},t.createElement(De.Z,{classes:{secondary:g.text},primary:"Stack Trace",secondary:u}),t.createElement(se,{text:u})),f)};function Yt(n){const{title:a,error:u,defaultExpanded:f,children:g}=n;return t.createElement(Tn,{severity:"error",title:a!=null?a:u.message,defaultExpanded:f},t.createElement(yt,{error:u.name,message:u.message,stack:u.stack,children:g}))}var dn=e(85256);const On=(0,s.Z)(n=>({text:{fontFamily:"monospace",whiteSpace:"pre",overflowX:"auto",marginRight:n.spacing(2)},divider:{margin:n.spacing(2)}}),{name:"BackstageResponseErrorPanel"});function jt(n){var Te;const{title:a,error:u,defaultExpanded:f}=n,g=On();if(u.name!=="ResponseError")return t.createElement(Yt,{title:a!=null?a:u.message,defaultExpanded:f,error:u});const{body:R,cause:I}=u,{request:U,response:K}=R,w=`${K.statusCode}: ${I.name}`,re=U&&`${U.method} ${U.url}`,ue=I.message.replace(/\\n/g,`
12
+ `),Ae=(Te=I.stack)==null?void 0:Te.replace(/\\n/g,`
13
+ `),Se=JSON.stringify(R,void 0,2);return t.createElement(Yt,{title:a!=null?a:u.message,defaultExpanded:f,error:{name:w,message:ue,stack:Ae}},re&&t.createElement(Ce.Z,{alignItems:"flex-start"},t.createElement(De.Z,{classes:{secondary:g.text},primary:"Request",secondary:U?`${re}`:void 0}),t.createElement(se,{text:re})),t.createElement(t.Fragment,null,t.createElement(dn.Z,{component:"li",className:g.divider}),t.createElement(Ce.Z,{alignItems:"flex-start"},t.createElement(De.Z,{classes:{secondary:g.text},primary:"Full Error as JSON"})),t.createElement(Ve,{language:"json",text:Se,showCopyCodeButton:!0})))}var Wn=e(28316);function or(n){const a=document.createElement("div");return a.setAttribute("id",n),a}function sr(n){document.body.insertBefore(n,document.body.lastElementChild.nextElementSibling)}function Rr(n){const a=useRef(null);useEffect(function(){const g=document.querySelector(`#${n}`),R=g||or(n);return g||sr(R),R.appendChild(a.current),function(){a.current.remove(),R.childNodes.length===-1&&R.remove()}},[n]);function u(){return a.current||(a.current=document.createElement("div")),a.current}return u()}var zn=null;const Bn="core.calloutSeen";function Yn(){const[n,a]=useState(()=>{const f=localStorage.getItem(Bn);return f?JSON.parse(f):{}}),u=useCallback((f,g)=>{const R=localStorage.getItem(Bn),U={...R?JSON.parse(R):{},[f]:g};a(U),localStorage.setItem(Bn,JSON.stringify(U))},[]);return{states:n,setState:u}}function ir(n){const{states:a,setState:u}=Yn(),f=useCallback(()=>{u(n,!0)},[u,n]);return{seen:a[n]===!0,markSeen:f}}function Sr(n){const{seen:a,markSeen:u}=ir(n);return{show:a===!1,hide:u}}const Hn=(0,s.Z)({"@keyframes pulsateSlightly":{"0%":{transform:"scale(1.0)"},"100%":{transform:"scale(1.1)"}},"@keyframes pulsateAndFade":{"0%":{transform:"scale(1.0)",opacity:.9},"100%":{transform:"scale(1.5)",opacity:0}},featureWrapper:{position:"relative"},backdrop:{zIndex:2e3,position:"fixed",overflow:"hidden",left:0,right:0,top:0,bottom:0},dot:{position:"absolute",backgroundColor:"transparent",borderRadius:"100%",border:"1px solid rgba(103, 146, 180, 0.98)",boxShadow:"0px 0px 0px 20000px rgba(0, 0, 0, 0.5)",zIndex:2001,transformOrigin:"center center",animation:"$pulsateSlightly 1744ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) alternate infinite"},pulseCircle:{width:"100%",height:"100%",backgroundColor:"transparent",borderRadius:"100%",border:"2px solid white",zIndex:2001,transformOrigin:"center center",animation:"$pulsateAndFade 872ms 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite"},text:{position:"absolute",color:"white",zIndex:2003}},{name:"BackstageFeatureCalloutCircular"});function kr(n){const{featureId:a,title:u,description:f,children:g}=n,{show:R,hide:I}=useShowCallout(a),U=usePortal("core.callout"),K=useRef(null),[w,re]=useState(),ue=Hn(),Ae=useCallback(()=>{if(K.current){const Se=K.current.getBoundingClientRect(),Te=Math.max(Se.width,Se.height),dt=800,Ut=Se.x-(Te-Se.width)/2-dt,tn=Se.y-(Te-Se.height)/2-dt,kt=Te+2*dt,ct=450,Mt=Se.x+Se.width/2-ct,Zt=Se.y-(Te-Se.height)/2+Te+20;re({dotLeft:Ut,dotTop:tn,dotSize:kt,borderWidth:dt,textTop:Zt,textLeft:Mt,textWidth:ct})}},[]);return useEffect(()=>(window.addEventListener("resize",Ae),window.addEventListener("scroll",Ae),()=>{window.removeEventListener("resize",Ae),window.removeEventListener("scroll",Ae)}),[Ae]),useLayoutEffect(Ae,[K.current,Ae]),R?React.createElement(React.Fragment,null,React.createElement("div",{className:ue.featureWrapper,ref:K},g),createPortal(React.createElement("div",{className:ue.backdrop},React.createElement(ClickAwayListener,{onClickAway:I},React.createElement(React.Fragment,null,React.createElement("div",{className:ue.dot,"data-testid":"dot",style:{left:w==null?void 0:w.dotLeft,top:w==null?void 0:w.dotTop,width:w==null?void 0:w.dotSize,height:w==null?void 0:w.dotSize,borderWidth:w==null?void 0:w.borderWidth},onClick:I,onKeyDown:I,role:"button",tabIndex:0},React.createElement("div",{className:ue.pulseCircle})),React.createElement("div",{className:ue.text,"data-testid":"text",style:{left:w==null?void 0:w.textLeft,top:w==null?void 0:w.textTop,width:w==null?void 0:w.textWidth}},React.createElement(Typography,{variant:"h2",paragraph:!0},u),React.createElement(Typography,null,f))))),U)):React.createElement(React.Fragment,null,g)}var Cr=e(35292);const lr=(0,s.Z)(n=>({link:{display:"grid",justifyItems:"center",gridGap:4,textAlign:"center"},disabled:{color:"gray",cursor:"default"},primary:{color:n.palette.primary.main},secondary:{color:n.palette.secondary.main},label:{fontSize:"0.7rem",textTransform:"uppercase",fontWeight:600,letterSpacing:1.2}}),{name:"BackstageIconLinkVertical"});function Tr({color:n="primary",disabled:a=!1,href:u="#",icon:f=t.createElement(Cr.Z,null),label:g,onClick:R,title:I}){const U=lr();return a?t.createElement(y.Z,{title:I,className:Fe()(U.link,U.disabled),underline:"none"},f,t.createElement("span",{className:U.label},g)):t.createElement(y.Z,{title:I,className:Fe()(U.link,U[n]),to:u,component:L,onClick:R},f,t.createElement("span",{className:U.label},g))}const Jn=(0,s.Z)(n=>({links:{margin:n.spacing(2,0),display:"grid",gridAutoFlow:"column",gridAutoColumns:"min-content",gridGap:n.spacing(3)}}),{name:"BackstageHeaderIconLinkRow"});function Pr(n){const{links:a}=n,u=Jn();return t.createElement("nav",{className:u.links},a.map((f,g)=>t.createElement(Tr,{key:g+1,...f})))}const Qn=n=>{const a=n==="dark"?"16%":"97%";return`
14
+ hsl(0, 0%, ${a}) 0%,
15
+ hsla(0, 0%, ${a}, 0.987) 8.1%,
16
+ hsla(0, 0%, ${a}, 0.951) 15.5%,
17
+ hsla(0, 0%, ${a}, 0.896) 22.5%,
18
+ hsla(0, 0%, ${a}, 0.825) 29%,
19
+ hsla(0, 0%, ${a}, 0.741) 35.3%,
20
+ hsla(0, 0%, ${a}, 0.648) 41.2%,
21
+ hsla(0, 0%, ${a}, 0.55) 47.1%,
22
+ hsla(0, 0%, ${a}, 0.45) 52.9%,
23
+ hsla(0, 0%, ${a}, 0.352) 58.8%,
24
+ hsla(0, 0%, ${a}, 0.259) 64.7%,
25
+ hsla(0, 0%, ${a}, 0.175) 71%,
26
+ hsla(0, 0%, ${a}, 0.104) 77.5%,
27
+ hsla(0, 0%, ${a}, 0.049) 84.5%,
28
+ hsla(0, 0%, ${a}, 0.013) 91.9%,
29
+ hsla(0, 0%, ${a}, 0) 100%
30
+ `},Xn=100,Mn=10,cr=(0,s.Z)(n=>({root:{position:"relative",display:"flex",flexFlow:"row nowrap",alignItems:"center"},container:{overflow:"auto",scrollbarWidth:0,"&::-webkit-scrollbar":{display:"none"}},fade:{position:"absolute",width:Xn,height:`calc(100% + ${Mn}px)`,transition:"opacity 300ms",pointerEvents:"none"},fadeLeft:{left:-Mn,background:`linear-gradient(90deg, ${Qn(n.palette.type)})`},fadeRight:{right:-Mn,background:`linear-gradient(270deg, ${Qn(n.palette.type)})`},fadeHidden:{opacity:0},button:{position:"absolute"},buttonLeft:{left:-n.spacing(2)},buttonRight:{right:-n.spacing(2)}}),{name:"BackstageHorizontalScrollGrid"});function xn(n){const[[a,u],f]=React.useState([0,0]);return React.useLayoutEffect(()=>{const g=n.current;if(!g){f([0,0]);return}const R=()=>{const I=g.scrollLeft,U=g.scrollWidth-g.offsetWidth-g.scrollLeft;f([I,U])};return R(),g.addEventListener("scroll",R),window.addEventListener("resize",R),()=>{g.removeEventListener("scroll",R),window.removeEventListener("resize",R)}},[n]),[a,u]}function fn(n,a,u){const[f,g]=React.useState(0);return React.useLayoutEffect(()=>{if(f===0)return;const R=performance.now(),I=requestAnimationFrame(U=>{if(!n.current)return;const K=U-R,w=Math.abs(f)*K/a,ue=Math.max(u,w)*Math.sign(f);n.current.scrollBy({left:ue});const Ae=f-ue;Math.sign(f)!==Math.sign(Ae)?g(0):g(Ae)});return()=>cancelAnimationFrame(I)},[n,f,a,u]),g}function rn(n){const{scrollStep:a=100,scrollSpeed:u=50,minScrollDistance:f=5,children:g,...R}=n,I=cr(n),U=React.useRef(),[K,w]=xn(U),re=fn(U,u,f),ue=Ae=>{!U.current||re(Ae?a:-a)};return React.createElement("div",{...R,className:I.root},React.createElement(Grid,{container:!0,direction:"row",wrap:"nowrap",className:I.container,ref:U},g),React.createElement("div",{className:classNames(I.fade,I.fadeLeft,{[I.fadeHidden]:K===0})}),React.createElement("div",{className:classNames(I.fade,I.fadeRight,{[I.fadeHidden]:w===0})}),K>0&&React.createElement(IconButton,{title:"Scroll Left",onClick:()=>ue(!1),className:classNames(I.button,I.buttonLeft,{})},React.createElement(ChevronLeftIcon,null)),w>0&&React.createElement(IconButton,{title:"Scroll Right",onClick:()=>ue(!0),className:classNames(I.button,I.buttonRight,{})},React.createElement(ChevronRightIcon,null)))}const Lr=(0,s.Z)({alpha:{color:"#ffffff",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"},beta:{color:"#4d65cc",fontFamily:"serif",fontWeight:"normal",fontStyle:"italic"}},{name:"BackstageLifecycle"});function Ir(n){const a=Lr(n),{shorthand:u,alpha:f}=n;return u?React.createElement("span",{className:a[f?"alpha":"beta"],style:{fontSize:"120%"}},f?React.createElement(React.Fragment,null,"\u03B1"):React.createElement(React.Fragment,null,"\u03B2")):React.createElement("span",{className:a[f?"alpha":"beta"]},f?"Alpha":"Beta")}const Or=(0,t.lazy)(()=>Promise.all([e.e(804),e.e(8718)]).then(e.bind(e,98718)).then(n=>({default:n.RealLogViewer})));function xr(n){const{Progress:a}=(0,l.useApp)().getComponents();return t.createElement(t.Suspense,{fallback:t.createElement(a,null)},t.createElement(Or,{...n}))}const ur=(0,s.Z)(n=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${n.palette.border}`},"& th, & td":{border:`1px solid ${n.palette.border}`,padding:n.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:n.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:n.palette.background.paper},"& tr":{backgroundColor:n.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:n.palette.background.default},"& a":{color:n.palette.link},"& img":{maxWidth:"100%"}}}),{name:"BackstageMarkdownContent"}),Dr={code:({inline:n,className:a,children:u,...f})=>{const g=String(u).replace(/\n+$/,""),R=/language-(\w+)/.exec(a||"");return!n&&R?t.createElement(Ve,{language:R[1],text:g}):t.createElement("code",{className:a,...f},u)}};function br(n){const{content:a,dialect:u="gfm",linkTarget:f}=n,g=ur();return React.createElement(ReactMarkdown,{remarkPlugins:u==="gfm"?[gfm]:[],className:g.markdown,children:a,components:Dr,linkTarget:f})}var Fr=e(10179);const Br=(0,s.Z)(n=>({root:{paddingLeft:n.spacing(3)}}),{name:"BackstageLoginRequestListItem"}),qr=({request:n,busy:a,setBusy:u})=>{const f=Br(),[g,R]=useState(),I=async()=>{u(!0);try{await n.trigger()}catch(K){R(isError(K)?K.message:"An unspecified error occurred")}finally{u(!1)}},U=n.provider.icon;return React.createElement(ListItem,{button:!0,disabled:a,classes:{root:f.root}},React.createElement(ListItemAvatar,null,React.createElement(U,{fontSize:"large"})),React.createElement(ListItemText,{primary:n.provider.title,secondary:g&&React.createElement(Typography,{color:"error"},g)}),React.createElement(Button,{color:"primary",variant:"contained",onClick:I},"Log in"))};var Mr=null;const Nr=(0,s.Z)(n=>({dialog:{paddingTop:n.spacing(1)},title:{minWidth:0},contentList:{padding:0},actionButtons:{padding:n.spacing(2,0)}}),{name:"OAuthRequestDialog"});function _r(n){const a=Nr(),[u,f]=useState(!1),g=useApi(oauthRequestApiRef),R=useObservable(useMemo(()=>g.authRequest$(),[g]),[]),I=()=>{R.forEach(U=>U.reject())};return React.createElement(Dialog,{open:Boolean(R.length),fullWidth:!0,maxWidth:"xs",classes:{paper:a.dialog}},React.createElement(DialogTitle,{classes:{root:a.title}},"Login Required"),React.createElement(DialogContent,{dividers:!0,classes:{root:a.contentList}},React.createElement(List,null,R.map(U=>React.createElement(LoginRequestListItem,{key:U.provider.title,request:U,busy:u,setBusy:f})))),React.createElement(DialogActions,{classes:{root:a.actionButtons}},React.createElement(Button,{onClick:I},"Reject All")))}var Nn=e(15277),dr=e.n(Nn),fr=e(90736);const mr=(0,s.Z)({container:{overflow:"visible !important"}},{name:"BackstageOverflowTooltip"});function Ur(n){var I;const[a,u]=(0,t.useState)(!1),f=(0,fr.default)(),g=mr(),R=U=>{f()&&u(U)};return t.createElement(x.ZP,{title:(I=n.title)!=null?I:n.text||"",placement:n.placement,disableHoverListener:!a},t.createElement(dr(),{text:n.text,line:n.line,onToggled:R,containerClassName:g.container}))}var hr=e(67358);function gr(n){const[a,u]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{const f=setTimeout(()=>u(!0),250);return()=>clearTimeout(f)},[]),a?t.createElement(hr.Z,{...n,"data-testid":"progress"}):t.createElement("div",{style:{display:"none"}})}var Zr=e(94339),Vn=e(14503),$=e(24579),F=e(32552),H=e(15459),X=e(95544),le=e(27597);const te=(0,s.Z)(n=>({root:{maxWidth:"fit-content",padding:n.spacing(2,2,2,2.5)},boxTitle:{margin:0,color:n.palette.textSubtle},arrow:{color:n.palette.textSubtle}}),{name:"BackstageBottomLink"});function de(n){const{link:a,title:u,onClick:f}=n,g=te();return t.createElement("div",null,t.createElement(dn.Z,null),t.createElement(L,{to:a,onClick:f,underline:"none"},t.createElement(X.Z,{display:"flex",alignItems:"center",className:g.root},t.createElement(X.Z,{className:g.boxTitle,fontWeight:"fontWeightBold",m:1},t.createElement(ie.Z,null,t.createElement("strong",null,u))),t.createElement(le.Z,{className:g.arrow}))))}const xe=n=>{const{slackChannel:a}=n;if(a){if(typeof a=="string")return t.createElement(t.Fragment,null,"Please contact ",a," for help.");if(!a.href)return t.createElement(t.Fragment,null,"Please contact ",a.name," for help.")}else return null;return t.createElement(M,{to:a.href,variant:"contained"},a.name)},We=class extends t.Component{constructor(a){super(a);this.state={error:void 0,errorInfo:void 0}}componentDidCatch(a,u){console.error(`ErrorBoundary, error: ${a}, info: ${u}`),this.setState({error:a,errorInfo:u})}render(){const{slackChannel:a,children:u}=this.props,{error:f}=this.state;return f?t.createElement(Yt,{title:"Something Went Wrong",error:f},t.createElement(xe,{slackChannel:a})):u}},ze=(0,s.Z)(n=>({noPadding:{padding:0,"&:last-child":{paddingBottom:0}},header:{padding:n.spacing(2,2,2,2.5)},headerTitle:{fontWeight:700},headerSubheader:{paddingTop:n.spacing(1)},headerAvatar:{},headerAction:{},headerContent:{},subheader:{display:"flex"}}),{name:"BackstageInfoCard"}),at=(0,H.Z)(n=>({root:{display:"inline-block",padding:n.spacing(8,8,0,0),float:"right"}}),{name:"BackstageInfoCardCardActionsTopRight"})(Vn.Z),je={card:{flex:{display:"flex",flexDirection:"column"},fullHeight:{display:"flex",flexDirection:"column",height:"100%"},gridItem:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"}},cardContent:{fullHeight:{flex:1},gridItem:{flex:1}}};function Je(n){const{title:a,subheader:u,divider:f=!0,deepLink:g,slackChannel:R,errorBoundaryProps:I,variant:U,children:K,headerStyle:w,headerProps:re,icon:ue,action:Ae,actionsClassName:Se,actions:Te,cardClassName:dt,actionsTopRight:Ut,className:tn,noPadding:kt,titleTypographyProps:ct}=n,Mt=ze();let Zt={},nn={};U&&U.split(/[\s]+/g).forEach(Ot=>{Zt={...Zt,...je.card[Ot]},nn={...nn,...je.cardContent[Ot]}});const Zn=()=>t.createElement("div",{className:Mt.headerSubheader},u&&t.createElement("div",{className:Mt.subheader},u),ue),Rn=I||(R?{slackChannel:R}:{});return t.createElement(Zr.Z,{style:Zt,className:tn},t.createElement(We,{...Rn},a&&t.createElement(F.Z,{classes:{root:Mt.header,title:Mt.headerTitle,subheader:Mt.headerSubheader,avatar:Mt.headerAvatar,action:Mt.headerAction,content:Mt.headerContent},title:a,subheader:Zn(),action:Ae,style:{...w},titleTypographyProps:ct,...re}),Ut&&t.createElement(at,null,Ut),f&&t.createElement(dn.Z,null),t.createElement($.Z,{className:Fe()(dt,{[Mt.noPadding]:kt}),style:nn},K),Te&&t.createElement(Vn.Z,{className:Se},Te),g&&t.createElement(de,{...g})))}var Nt=e(39307);const St=(0,s.Z)(n=>({root:{position:"relative",lineHeight:0},overlay:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -60%)",fontSize:45,fontWeight:"bold",color:n.palette.textContrast},description:{fontSize:"100%",top:"50%",left:"50%",transform:"translate(-50%, -50%)",position:"absolute",wordBreak:"break-all",display:"inline-block"},circle:{width:"80%",transform:"translate(10%, 0)"},colorUnknown:{}}),{name:"BackstageGauge"}),It={fractional:!0,inverse:!1,unit:"%",max:100},zt=({palette:n,value:a,inverse:u,max:f})=>{if(isNaN(a))return"#ddd";const g=f||It.max,R=u?g-a:a;return R<g/3?n.status.error:R<g*(2/3)?n.status.warning:n.status.ok};function Ht(n){const[a,u]=useState(null),{getColor:f=zt}=n,g=St(n),{palette:R}=useTheme(),{value:I,fractional:U,inverse:K,unit:w,max:re,description:ue}={...It,...n},Ae=U?Math.round(I*re):I,Se=re!==100?Math.round(I):Ae,[Te,dt]=useState(!1);return useEffect(()=>{const Ut=a,tn=()=>dt(!0),kt=()=>dt(!1);return Ut&&ue?(Ut.addEventListener("mouseenter",tn),Ut.addEventListener("mouseleave",kt),()=>{Ut.removeEventListener("mouseenter",tn),Ut.removeEventListener("mouseleave",kt)}):()=>{dt(!1)}},[ue,a]),React.createElement("div",{ref:u,className:g.root},React.createElement(Circle,{strokeLinecap:"butt",percent:Ae,strokeWidth:12,trailWidth:12,strokeColor:f({palette:R,value:Se,inverse:K,max:re}),className:g.circle}),ue&&Te?React.createElement("div",{className:g.description},ue):React.createElement("div",{className:g.overlay},isNaN(I)?"N/A":`${Se}${w}`))}const An=(0,s.Z)({root:{height:"100%",width:250}},{name:"BackstageGaugeCard"});function cn(n){const a=An(n),{title:u,subheader:f,progress:g,inverse:R,deepLink:I,description:U,icon:K,variant:w,getColor:re}=n,ue={inverse:R,description:U,getColor:re,value:g};return React.createElement("div",{className:a.root},React.createElement(InfoCard,{title:u,subheader:f,deepLink:I,variant:w,icon:K},React.createElement(Gauge,{...ue})))}function Ft(n){const{value:a,getColor:u=getProgressColor}=n,{palette:f}=useTheme();if(isNaN(a))return null;let g=Math.round(a*100*100)/100;g>100&&(g=100);const R=u({palette:f,value:g,inverse:!1,max:100});return React.createElement(Tooltip,{title:`${g}%`},React.createElement("span",null,React.createElement(Line,{percent:g,strokeWidth:4,trailWidth:4,strokeColor:R})))}var an=e(21324),Bt=e(7089),Qt=e(1292),Dn=e(42494),kn=e(74603),ea=e(12231),ta=e(73698),$r=e(72379);const Pa=(0,s.Z)(()=>(0,p.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageClosedDropdown"});var na=()=>{const n=Pa();return t.createElement($r.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M7.5 8L6 9.5L12.0703 15.5703L18.1406 9.5L16.6406 8L12.0703 12.5703L7.5 8Z",fill:"#616161"}))};const ra=(0,s.Z)(()=>(0,p.Z)({icon:{position:"absolute",right:"4px",pointerEvents:"none"}}),{name:"BackstageOpenedDropdown"});var aa=()=>{const n=ra();return t.createElement($r.Z,{className:n.icon,fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M16.5 16L18 14.5L11.9297 8.42969L5.85938 14.5L7.35938 16L11.9297 11.4297L16.5 16Z",fill:"#616161"}))};const oa=(0,H.Z)(n=>(0,p.Z)({root:{"label + &":{marginTop:n.spacing(3)}},input:{borderRadius:4,position:"relative",backgroundColor:n.palette.background.paper,border:"1px solid #ced4da",fontSize:16,padding:"10px 26px 10px 12px",transition:n.transitions.create(["border-color","box-shadow"]),fontFamily:"Helvetica Neue","&:focus":{background:n.palette.background.paper,borderRadius:4}}}),{name:"BackstageSelectInputBase"})(kn.Z),sa=(0,s.Z)(n=>(0,p.Z)({formControl:{margin:`${n.spacing(1)} 0px`,maxWidth:300},label:{transform:"initial",fontWeight:"bold",fontSize:14,fontFamily:n.typography.fontFamily,color:n.palette.text.primary,"&.Mui-focused":{color:n.palette.text.primary}},chips:{display:"flex",flexWrap:"wrap"},chip:{margin:2},checkbox:{},root:{display:"flex",flexDirection:"column"}}),{name:"BackstageSelect"});function wr(n){const{multiple:a,items:u,label:f,placeholder:g,selected:R,onChange:I,triggerReset:U,native:K=!1,disabled:w=!1}=n,re=sa(),[ue,Ae]=(0,t.useState)(R||(a?[]:"")),[Se,Te]=(0,t.useState)(!1);(0,t.useEffect)(()=>{Ae(a?[]:"")},[U,a]),(0,t.useEffect)(()=>{R!==void 0&&Ae(R)},[R]);const dt=ct=>{Ae(ct.target.value),I(ct.target.value)},Ut=ct=>{if(w){ct.preventDefault();return}Te(Mt=>a&&!(ct.target instanceof HTMLElement)?!0:!Mt)},tn=()=>{Te(!1)},kt=ct=>()=>{const Mt=ue.filter(Zt=>Zt!==ct);Ae(Mt),I(Mt)};return t.createElement("div",{className:re.root},t.createElement(ie.Z,{variant:"button"},f),t.createElement(Qt.Z,{onClickAway:tn},t.createElement(Dn.Z,{className:re.formControl},t.createElement(ta.Z,{value:ue,native:K,disabled:w,"data-testid":"select",displayEmpty:!0,multiple:a,onChange:dt,onClick:Ut,open:Se,input:t.createElement(oa,null),renderValue:ct=>{var Mt;return a&&ue.length!==0?t.createElement("div",{className:re.chips},ct.map(Zt=>{var nn,Zn;return t.createElement(Bt.Z,{key:(nn=u.find(Rn=>Rn.value===Zt))==null?void 0:nn.value,label:(Zn=u.find(Rn=>Rn.value===Zt))==null?void 0:Zn.label,clickable:!0,onDelete:kt(Zt),className:re.chip})})):t.createElement(ie.Z,null,ue.length===0?g||"":(Mt=u.find(Zt=>Zt.value===ct))==null?void 0:Mt.label)},IconComponent:()=>Se?t.createElement(aa,null):t.createElement(na,null),MenuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},getContentAnchorEl:null}},g&&!a&&t.createElement(ea.Z,{value:[]},g),K?u&&u.map(ct=>t.createElement("option",{value:ct.value,key:ct.value},ct.label)):u&&u.map(ct=>t.createElement(ea.Z,{key:ct.value,value:ct.value},a&&t.createElement(an.Z,{color:"primary",checked:ue.includes(ct.value)||!1,className:re.checkbox}),ct.label))))))}const pr=()=>{},ia=t.createContext({stepperLength:0,stepIndex:0,setStepIndex:pr,stepHistory:[],setStepHistory:pr,onStepChange:pr});function la(n){const{children:a,elevated:u,onStepChange:f,activeStep:g=0}=n,[R,I]=useState(g),[U,K]=useState([0]);useEffect(()=>{I(g)},[g]);const w=[];let re;return Children.forEach(a,ue=>{isValidElement(ue)&&(ue.props.end?re=ue:w.push(ue))}),React.createElement(React.Fragment,null,React.createElement(ia.Provider,{value:{stepIndex:R,setStepIndex:I,stepHistory:U,setStepHistory:K,onStepChange:f,stepperLength:Children.count(a)}},React.createElement(MuiStepper,{activeStep:R,orientation:"vertical",elevation:u?2:0},w)),R>=Children.count(a)-1&&re)}const ca=(0,s.Z)(n=>({root:{marginTop:n.spacing(3),"& button":{marginRight:n.spacing(1)}}}),{name:"BackstageSimpleStepperFooter"}),ua=({text:n,handleClick:a})=>React.createElement(Button,{onClick:a},n||"Reset"),da=({text:n,handleClick:a,disabled:u,last:f,stepIndex:g})=>React.createElement(Button,{variant:"contained",color:"primary",disabled:u,"data-testid":`nextButton-${g}`,onClick:a},n||(f?"Finish":"Next")),Oa=({text:n,handleClick:a,disabled:u,stepIndex:f})=>React.createElement(Button,{onClick:a,"data-testid":`backButton-${f}`,disabled:u},n||"Back"),xa=({actions:n={},children:a})=>{const u=ca(),{stepperLength:f,stepIndex:g,setStepIndex:R,stepHistory:I,setStepHistory:U,onStepChange:K}=useContext(VerticalStepperContext),w=(Se,Te)=>{Te&&Te(),K&&K(g,Se),R(Se)},re=()=>{const Se=n.nextStep?n.nextStep(g,f-1):g+1;w(Se,n.onNext),U([...I,Se])},ue=()=>{I.pop(),w(I[I.length-1],n.onBack),U([...I])},Ae=()=>{w(0,n.onRestart),U([0])};return React.createElement("div",{className:u.root},[void 0,!0].includes(n.showBack)&&g!==0&&React.createElement(Oa,{text:n.backText,handleClick:ue,disabled:g===0,stepIndex:g}),[void 0,!0].includes(n.showNext)&&React.createElement(da,{text:n.nextText,handleClick:re,disabled:!!f&&g>=f||!!n.canNext&&!n.canNext(),stepIndex:g}),n.showRestart&&g!==0&&React.createElement(ua,{text:n.restartText,handleClick:Ae,stepIndex:g}),a)},A=(0,s.Z)(n=>({end:{padding:n.spacing(3)}}),{name:"SimpleStepperStep"});function B(n){const{title:a,children:u,end:f,actions:g,...R}=n,I=A();return f?React.createElement("div",{className:I.end},React.createElement(Typography,{variant:"h6"},a),u,React.createElement(SimpleStepperFooter,{actions:{...g||{},showNext:!1}})):React.createElement(MuiStep,{...R},React.createElement(StepLabel,null,React.createElement(Typography,{variant:"h6"},a)),React.createElement(StepContent,null,u,React.createElement(SimpleStepperFooter,{actions:g})))}const Q=(0,s.Z)(n=>({status:{fontWeight:500,"&::before":{width:"0.7em",height:"0.7em",display:"inline-block",marginRight:8,borderRadius:"50%",content:'""'}},ok:{"&::before":{backgroundColor:n.palette.status.ok}},warning:{"&::before":{backgroundColor:n.palette.status.warning}},error:{"&::before":{backgroundColor:n.palette.status.error}},pending:{"&::before":{backgroundColor:n.palette.status.pending}},running:{"&::before":{backgroundColor:n.palette.status.running}},aborted:{"&::before":{backgroundColor:n.palette.status.aborted}}}),{name:"BackstageStatus"});function fe(n){const a=Q(n);return React.createElement("span",{className:classNames(a.status,a.ok),"aria-label":"Status ok","aria-hidden":"true",...n})}function Ne(n){const a=Q(n);return React.createElement("span",{className:classNames(a.status,a.warning),"aria-label":"Status warning","aria-hidden":"true",...n})}function qe(n){const a=Q(n);return React.createElement("span",{className:classNames(a.status,a.error),"aria-label":"Status error","aria-hidden":"true",...n})}function $e(n){const a=Q(n);return React.createElement("span",{className:classNames(a.status,a.pending),"aria-label":"Status pending","aria-hidden":"true",...n})}function ke(n){const a=Q(n);return React.createElement("span",{className:classNames(a.status,a.running),"aria-label":"Status running","aria-hidden":"true",...n})}function ft(n){const a=Q(n);return React.createElement("span",{className:classNames(a.status,a.aborted),"aria-label":"Status aborted","aria-hidden":"true",...n})}var mt=e(74600),Gt=e(15584);const Wt=n=>(0,p.Z)({root:{fontWeight:"bolder",whiteSpace:"nowrap",paddingRight:n.spacing(4),border:"0",verticalAlign:"top"}}),Et={root:{border:"0",verticalAlign:"top"}},mn=n=>(0,p.Z)({root:{listStyle:"none",margin:n.spacing(0,0,-1,0),padding:"0"}}),hn=n=>(0,p.Z)({root:{padding:n.spacing(0,0,1,0)},random:{}}),Un=(0,H.Z)(Wt,{name:"BackstageMetadataTableTitleCell"})(Gt.Z),qn=(0,H.Z)(Et,{name:"BackstageMetadataTableCell"})(Gt.Z),_n=({dense:n,children:a})=>React.createElement(Table,{size:n?"small":"medium"},React.createElement(TableBody,null,a)),er=({title:n,children:a,...u})=>React.createElement(TableRow,null,n&&React.createElement(Un,null,n),React.createElement(qn,{colSpan:n?1:2,...u},a)),yr=(0,H.Z)(mn,{name:"BackstageMetadataTableList"})(({classes:n,children:a})=>t.createElement("ul",{className:n.root},a)),Da=(0,H.Z)(hn,{name:"BackstageMetadataTableListItem"})(({classes:n,children:a})=>t.createElement("li",{className:n.root},a)),bn=(0,p.Z)({root:{margin:"0 0",listStyleType:"none"}}),Eo=n=>(0,p.Z)({root:{...bn.root,paddingLeft:n.spacing(1)}}),ba=(0,H.Z)(bn,{name:"BackstageStructuredMetadataTableList"})(({classes:n,children:a})=>t.createElement(yr,{classes:n},a)),Fa=(0,H.Z)(Eo,{name:"BackstageStructuredMetadataTableNestedList"})(({classes:n,children:a})=>t.createElement(yr,{classes:n},a));function Ao(n,a){const u=n.map((f,g)=>React.createElement(MetadataListItem,{key:g},fa(f)));return a?React.createElement(Fa,null,u):React.createElement(ba,null,u)}function vo(n,a,u){const f=Object.keys(n).map(g=>{const R=fa(n[g],!0),I=u&&u.titleFormat?u.titleFormat(g):startCase(g);return React.createElement(MetadataListItem,{key:g},`${I}: `,R)});return a?React.createElement(Fa,null,f):React.createElement(ba,null,f)}function fa(n,a,u){return React.isValidElement(n)?React.createElement(Fragment,null,n):typeof n=="object"&&!Array.isArray(n)?vo(n,a,u):Array.isArray(n)?Ao(n,u):typeof n=="boolean"?React.createElement(Fragment,null,n?"\u2705":"\u274C"):React.createElement(Fragment,null,n)}const Ro=({value:n,options:a})=>React.createElement(Fragment,null,fa(n,a)),So=({title:n,value:a,options:u})=>React.createElement(MetadataTableItem,{title:u&&u.titleFormat?u.titleFormat(n):startCase(n)},React.createElement(Ro,{value:a,options:u}));function Co(n,a){return Object.keys(n).map(u=>React.createElement(So,{key:u,title:u,value:n[u],options:a}))}function Ji(n){const{metadata:a,dense:u=!0,options:f}=n,g=Co(a,f||{});return React.createElement(MetadataTable,{dense:u},g)}var To=e(49429),Po=e(86136),Ba=e(79784),tr=e(76635),Lo=e(19126),Wr=e.n(Lo),Io=e(48760);function Oo(n){return Wr().stringify(n,{strictNullHandling:!0})}function Ma(n){return Wr().parse(n,{ignoreQueryPrefix:!0,strictNullHandling:!0})}function Na(n,a){return Ma(n)[a]}function xo(n,a,u){const f={...Ma(n),[a]:u};return Oo(f)}function Do(n,a=250){const[u,f]=(0,i.lr)(),g=u.toString(),[R,I]=(0,t.useState)(Na(g,n));return(0,t.useEffect)(()=>{const U=Na(g,n);I(K=>(0,tr.isEqual)(U,K)?K:U)},[g,I,n]),(0,Io.Z)(()=>{const U=xo(g,n,R);g!==U&&f(U,{replace:!0})},a,[f,R,g,n]),[R,I]}const bo={url:"https://github.com/backstage/backstage/issues",items:[{title:"Support Not Configured",icon:"warning",links:[{title:"Add `app.support` config key",url:"https://github.com/andrewthauer/backstage/blob/master/app-config.yaml"}]}]};function Ua(){const a=(0,l.useApiHolder)().get(l.configApiRef),u=a==null?void 0:a.getOptionalConfig("app.support");return u?{url:u.getString("url"),items:u.getConfigArray("items").flatMap(f=>{var g;return{title:f.getString("title"),icon:f.getOptionalString("icon"),links:((g=f.getOptionalConfigArray("links"))!=null?g:[]).flatMap(R=>({url:R.getString("url"),title:R.getString("title")}))}})}:bo}var Fo=e(80079);function Pn(n,a){const f=(0,l.useApp)().getSystemIcon(n);return f?t.createElement(f,{...a}):t.createElement(Fo.Z,{...a})}function Qi(n){return Pn("brokenImage",n)}function Xi(n){return Pn("catalog",n)}function ki(n){return Pn("chat",n)}function qi(n){return Pn("dashboard",n)}function _i(n){return Pn("docs",n)}function el(n){return Pn("email",n)}function tl(n){return Pn("github",n)}function nl(n){return Pn("group",n)}function zr(n){return Pn("help",n)}function rl(n){return Pn("user",n)}function al(n){return Pn("warning",n)}const Bo=(0,s.Z)({popoverList:{minWidth:260,maxWidth:400}},{name:"BackstageSupportButton"}),Mo=({icon:n})=>{var f;const a=(0,l.useApp)(),u=n&&(f=a.getSystemIcon(n))!=null?f:zr;return t.createElement(u,null)},No=({link:n})=>{var a;return t.createElement(L,{to:n.url},(a=n.title)!=null?a:n.url)},Uo=({item:n})=>{var a;return t.createElement(Ce.Z,null,t.createElement(Po.Z,null,t.createElement(Mo,{icon:n.icon})),t.createElement(De.Z,{primary:n.title,secondary:(a=n.links)==null?void 0:a.reduce((u,f,g)=>[...u,g>0&&t.createElement("br",{key:g}),t.createElement(No,{link:f,key:f.url})],[])}))};function Zo(n){const{title:a,children:u}=n,{items:f}=Ua(),[g,R]=(0,t.useState)(!1),[I,U]=(0,t.useState)(null),K=Bo(),w=(0,Pe.Z)(Ae=>Ae.breakpoints.down("sm")),re=Ae=>{U(Ae.currentTarget),R(!0)},ue=()=>{R(!1)};return t.createElement(t.Fragment,null,t.createElement(X.Z,{display:"flex",ml:1},w?t.createElement(O.Z,{color:"primary",size:"small",onClick:re,"data-testid":"support-button"},t.createElement(zr,null)):t.createElement(c.Z,{"data-testid":"support-button",color:"primary",onClick:re,startIcon:t.createElement(zr,null)},"Support")),t.createElement(Ba.ZP,{"data-testid":"support-button-popover",open:g,anchorEl:I,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},onClose:ue},t.createElement(ge.Z,{className:K.popoverList},a&&t.createElement(Ce.Z,{alignItems:"flex-start"},t.createElement(ie.Z,{variant:"subtitle1"},a)),t.Children.map(u,(Ae,Se)=>t.createElement(Ce.Z,{alignItems:"flex-start",key:`child-${Se}`},Ae)),f&&f.map((Ae,Se)=>t.createElement(Uo,{item:Ae,key:`item-${Se}`}))),t.createElement(To.Z,null,t.createElement(c.Z,{color:"primary",onClick:ue},"Close"))))}var ma=e(18671),vn=e(10289);const Hr=72,Za=24,$a=18,Xt={drawerWidthClosed:Hr,drawerWidthOpen:224,defaultOpenDelayMs:100,defaultCloseDelayMs:0,defaultFadeDuration:200,logoHeight:32,iconContainerWidth:Hr,iconSize:Hr-Za*2,iconPadding:Za,selectedIndicatorWidth:3,userBadgePadding:$a,userBadgeDiameter:Hr-$a*2,mobileSidebarHeight:56},ha={drawerWidthClosed:0,drawerWidthOpen:202,defaultOpenDelayMs:Xt.defaultOpenDelayMs+200},ol="@backstage/core/sidebar-intro-dismissed",Er=(0,t.createContext)({isOpen:!1,setOpen:()=>{}}),wa=(0,t.createContext)({isHoveredOn:!1,setIsHoveredOn:()=>{}});var Vr;(function(n){const a="sidebarPinState";n.SIDEBAR_PIN_STATE=a})(Vr||(Vr={}));const Wa={getSidebarPinState(){let n;try{n=JSON.parse(window.localStorage.getItem(Vr.SIDEBAR_PIN_STATE)||"true")}catch{return!0}return!!n},setSidebarPinState(n){return window.localStorage.setItem(Vr.SIDEBAR_PIN_STATE,JSON.stringify(n))}},$o=(0,s.Z)(n=>({root:{width:"100%",transition:"padding-left 0.1s ease-out",isolation:"isolate",[n.breakpoints.up("sm")]:{paddingLeft:({isPinned:a})=>a?Xt.drawerWidthOpen:Xt.drawerWidthClosed},[n.breakpoints.down("xs")]:{paddingBottom:Xt.mobileSidebarHeight}},content:{zIndex:0,isolation:"isolate","&:focus":{outline:0}}}),{name:"BackstageSidebarPage"}),nr=(0,t.createContext)({isPinned:!0,toggleSidebarPinState:()=>{},isMobile:!1}),za=(0,t.createContext)({content:{contentRef:void 0}});function wo(n){const[a,u]=(0,t.useState)(()=>Wa.getSidebarPinState()),f=(0,t.useRef)(null),g=(0,t.useMemo)(()=>({content:{contentRef:f}}),[f]);(0,t.useEffect)(()=>{Wa.setSidebarPinState(a)},[a]);const R=(0,Pe.Z)(K=>K.breakpoints.down("xs"),{noSsr:!0}),I=()=>u(!a),U=$o({isPinned:a});return t.createElement(nr.Provider,{value:{isPinned:a,toggleSidebarPinState:I,isMobile:R}},t.createElement(za.Provider,{value:g},t.createElement("div",{className:U.root},n.children)))}function ga(){const{content:n}=(0,t.useContext)(za);return{focusContent:(0,t.useCallback)(()=>{var u,f;(f=(u=n==null?void 0:n.contentRef)==null?void 0:u.current)==null||f.focus()},[n]),contentRef:n==null?void 0:n.contentRef}}var Wo=e(50023),zo=e(4190),Ho=e(87685),Vo=e(44882),jo=e(57998);const Go=(0,s.Z)(n=>({root:{flexGrow:0,margin:n.spacing(0,2),color:n.palette.navigation.color},selected:{color:`${n.palette.navigation.selectedColor}!important`,borderTop:`solid ${Xt.selectedIndicatorWidth}px ${n.palette.navigation.indicator}`,marginTop:"-1px"},label:{display:"none"}})),Ko=n=>{const{to:a,label:u,icon:f,value:g}=n,R=Go(),I=(0,vn.TH)(),{selectedMenuItemIndex:U,setSelectedMenuItemIndex:K}=(0,t.useContext)(ja),w=(ue,Ae)=>{K(Ae===U?-1:Ae)},re=g===U&&U>=0||g!==U&&!(U>=0)&&a===I.pathname;return t.createElement(jo.Z,{label:u,icon:f,component:L,to:a||I.pathname,onChange:w,value:g,selected:re,classes:R})},Ha=n=>{const{children:a,to:u,label:f,icon:g,value:R}=n,{isMobile:I}=(0,t.useContext)(nr);return I?t.createElement(Ko,{to:u,label:f,icon:g,value:R}):t.createElement(t.Fragment,null,a)},Va=(0,s.Z)(n=>({root:{position:"fixed",backgroundColor:n.palette.navigation.background,color:n.palette.navigation.color,bottom:0,left:0,right:0,zIndex:n.zIndex.snackbar,borderTop:"1px solid #383838"},overlay:{background:n.palette.navigation.background,width:"100%",bottom:`${Xt.mobileSidebarHeight}px`,height:`calc(100% - ${Xt.mobileSidebarHeight}px)`,flex:"0 1 auto",overflow:"auto"},overlayHeader:{display:"flex",color:n.palette.bursts.fontColor,alignItems:"center",justifyContent:"space-between",padding:n.spacing(2,3)},overlayHeaderClose:{color:n.palette.bursts.fontColor},marginMobileSidebar:{marginBottom:`${Xt.mobileSidebarHeight}px`}})),Yo=n=>(0,tr.orderBy)(n,({props:{priority:a}})=>Number.isInteger(a)?a:-1,"desc"),Jo=t.createElement(Ha).type,Qo=({children:n,label:a="Menu",open:u,onClose:f})=>{const g=Va();return t.createElement(zo.ZP,{anchor:"bottom",open:u,onClose:f,ModalProps:{BackdropProps:{classes:{root:g.marginMobileSidebar}}},classes:{root:g.marginMobileSidebar,paperAnchorBottom:g.overlay}},t.createElement(X.Z,{className:g.overlayHeader},t.createElement(ie.Z,{variant:"h3"},a),t.createElement(O.Z,{onClick:f,classes:{root:g.overlayHeaderClose}},t.createElement(Ho.Z,null))),t.createElement(X.Z,null,n))},ja=(0,t.createContext)({selectedMenuItemIndex:-1,setSelectedMenuItemIndex:()=>{}}),Xo=n=>{const{children:a}=n,u=Va(),f=(0,vn.TH)(),[g,R]=(0,t.useState)(-1);(0,t.useEffect)(()=>{R(-1)},[f.pathname]);let I=(0,l.useElementFilter)(a,K=>K.getElements().filter(w=>w.type===Jo));if(a)I.length?I=Yo(I):I.push(t.createElement(Ha,{key:"default_menu",icon:t.createElement(Vo.Z,null)},a));else return null;const U=g>=0&&!I[g].props.to;return t.createElement(Er.Provider,{value:{isOpen:!0,setOpen:()=>{}}},t.createElement(ja.Provider,{value:{selectedMenuItemIndex:g,setSelectedMenuItemIndex:R}},t.createElement(Qo,{label:I[g]&&I[g].props.label,open:U,onClose:()=>R(-1)},I[g]&&I[g].props.children),t.createElement(Wo.Z,{className:u.root,"data-testid":"mobile-sidebar-root"},I)))},Ga=(0,s.Z)(n=>({drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",left:0,top:0,bottom:0,zIndex:n.zIndex.appBar,background:n.palette.navigation.background,overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",width:Xt.drawerWidthClosed,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest}),"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:Xt.drawerWidthOpen,transition:n.transitions.create("width",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shorter})},visuallyHidden:{top:0,position:"absolute",zIndex:1e3,transform:"translateY(-200%)","&:focus":{transform:"translateY(5px)"}}}),{name:"BackstageSidebar"});var gn;(function(n){n[n.Closed=0]="Closed";const u=0+1;n[n.Idle=u]="Idle";const f=u+1;n[n.Open=f]="Open"})(gn||(gn={}));const ko=n=>{const{openDelayMs:a=Xt.defaultOpenDelayMs,closeDelayMs:u=Xt.defaultCloseDelayMs,disableExpandOnHover:f,children:g}=n,R=Ga(),I=(0,Pe.Z)(Ut=>Ut.breakpoints.down("md"),{noSsr:!0}),[U,K]=(0,t.useState)(gn.Closed),w=(0,t.useRef)(),{isPinned:re,toggleSidebarPinState:ue}=(0,t.useContext)(nr),Ae=()=>{re||f||(w.current&&(clearTimeout(w.current),w.current=void 0),U!==gn.Open&&!I&&(w.current=window.setTimeout(()=>{w.current=void 0,K(gn.Open)},a),K(gn.Idle)))},Se=()=>{re||f||(w.current&&(clearTimeout(w.current),w.current=void 0),U===gn.Idle?K(gn.Closed):U===gn.Open&&(w.current=window.setTimeout(()=>{w.current=void 0,K(gn.Closed)},u)))},Te=U===gn.Open&&!I||re,dt=Ut=>{Ut?(K(gn.Open),ue()):(K(gn.Closed),ue())};return t.createElement("div",{style:{}},t.createElement(_o,null),t.createElement(Er.Provider,{value:{isOpen:Te,setOpen:dt}},t.createElement("div",{className:R.root,"data-testid":"sidebar-root",onMouseEnter:f?()=>{}:Ae,onFocus:f?()=>{}:Ae,onMouseLeave:f?()=>{}:Se,onBlur:f?()=>{}:Se},t.createElement("div",{className:Fe()(R.drawer,{[R.drawerOpen]:Te})},g))))},qo=n=>{const{children:a,openDelayMs:u,closeDelayMs:f,disableExpandOnHover:g}=n,{isMobile:R}=(0,t.useContext)(nr);return R?t.createElement(Xo,null,a):t.createElement(ko,{openDelayMs:u,closeDelayMs:f,disableExpandOnHover:g},a)};function _o(){const{focusContent:n,contentRef:a}=ga(),u=Ga();return(a==null?void 0:a.current)?t.createElement(c.Z,{onClick:n,variant:"contained",className:Fe()(u.visuallyHidden)},"Skip to content"):null}function Ka(n,a){const u=new URLSearchParams(a.search).toString(),f=Wr().parse(u),g=new URLSearchParams(n.search).toString(),R=Wr().parse(g);return(0,tr.isEqual)(a.pathname,n.pathname)&&(0,tr.isMatch)(R,f)}const es=(0,s.Z)(n=>({item:{height:48,width:"100%","&:hover":{background:"#6f6f6f",color:n.palette.navigation.selectedColor},display:"flex",alignItems:"center",color:n.palette.navigation.color,padding:20,cursor:"pointer",position:"relative",background:"none",border:"none"},itemContainer:{width:"100%"},selected:{background:"#6f6f6f",color:"#FFF"},label:{margin:14,marginLeft:7,fontSize:14},dropdownArrow:{position:"absolute",right:21},dropdown:{display:"flex",flexDirection:"column",alignItems:"end"},dropdownItem:{width:"100%",padding:"10px 0 10px 0"},textContent:{color:n.palette.navigation.color,display:"flex",justifyContent:"center",[n.breakpoints.down("xs")]:{display:"block",paddingLeft:n.spacing(4)},fontSize:"14px"}})),sl=n=>{const{title:a,to:u,icon:f,dropdownItems:g}=n,R=es(),{setIsHoveredOn:I}=useContext(SidebarItemWithSubmenuContext),U=()=>{I(!1)},K=useResolvedPath(u),w=useLocation();let re=isLocationMatch(w,K);const[ue,Ae]=useState(!1),Se=()=>{Ae(!ue)};return g!==void 0?(g.some(Te=>{const dt=resolvePath(Te.to);return re=isLocationMatch(w,dt),re}),React.createElement("div",{className:R.itemContainer},React.createElement("button",{onClick:Se,onTouchStart:Te=>Te.stopPropagation(),className:classnames(R.item,re?R.selected:void 0)},React.createElement(f,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a),ue?React.createElement(ArrowDropUpIcon,{className:R.dropdownArrow}):React.createElement(ArrowDropDownIcon,{className:R.dropdownArrow})),g&&ue&&React.createElement("div",{className:R.dropdown},g.map((Te,dt)=>React.createElement(Link,{component:NavLink,to:Te.to,underline:"none",className:R.dropdownItem,onClick:U,onTouchStart:Ut=>Ut.stopPropagation(),key:dt},React.createElement(Typography,{className:R.textContent},Te.title)))))):React.createElement("div",{className:R.itemContainer},React.createElement(Link,{component:NavLink,to:u,underline:"none",className:classnames(R.item,re?R.selected:void 0),onClick:U,onTouchStart:Te=>Te.stopPropagation()},React.createElement(f,{fontSize:"small"}),React.createElement(Typography,{variant:"subtitle1",className:R.label},a)))},ts=n=>(0,s.Z)(a=>{var u,f;return{root:{zIndex:1e3,position:"relative",overflow:"visible",width:a.spacing(7)+1},drawer:{display:"flex",flexFlow:"column nowrap",alignItems:"flex-start",position:"fixed",[a.breakpoints.up("sm")]:{marginLeft:n.left,transition:a.transitions.create("margin-left",{easing:a.transitions.easing.sharp,duration:a.transitions.duration.shortest})},top:0,bottom:0,padding:0,background:(f=(u=a.palette.navigation.submenu)==null?void 0:u.background)!=null?f:"#404040",overflowX:"hidden",msOverflowStyle:"none",scrollbarWidth:"none",cursor:"default",width:ha.drawerWidthClosed,transitionDelay:`${ha.defaultOpenDelayMs}ms`,"& > *":{flexShrink:0},"&::-webkit-scrollbar":{display:"none"}},drawerOpen:{width:ha.drawerWidthOpen,[a.breakpoints.down("xs")]:{width:"100%",position:"relative",paddingLeft:a.spacing(3),left:0,top:0}},title:{fontSize:24,fontWeight:500,color:"#FFF",padding:20,[a.breakpoints.down("xs")]:{display:"none"}}}}),ns=n=>{const{isOpen:a}=(0,t.useContext)(Er),u=a?Xt.drawerWidthOpen:Xt.drawerWidthClosed,f=ts({left:u})(),{isHoveredOn:g}=(0,t.useContext)(wa),[R,I]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{I(g)},[g]),t.createElement("div",{className:Fe()(f.drawer,{[f.drawerOpen]:R})},t.createElement(ie.Z,{variant:"h5",className:f.title},n.title),n.children)};var jr=e(76600),rs=e(26739),as=e(98989),os=e(59797),ss=e(83543);const is=(0,s.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),il=()=>{const n=is();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowBackIosIcon,{style:{fontSize:"12px"}})))};var ll=null;const ls=(0,s.Z)({iconContainer:{display:"flex",position:"relative",width:"100%"},arrow1:{right:"6px",position:"absolute"}}),cl=()=>{const n=ls();return React.createElement("div",{className:n.iconContainer},React.createElement("div",{className:n.arrow1},React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})),React.createElement("div",null,React.createElement(ArrowForwardIosIcon,{style:{fontSize:"12px"}})))};var ul=null;const Gr=(0,s.Z)(n=>{var R,I,U,K;const{selectedIndicatorWidth:a,drawerWidthClosed:u,drawerWidthOpen:f,iconContainerWidth:g}=Xt;return{root:{color:n.palette.navigation.color,display:"flex",flexFlow:"row nowrap",alignItems:"center",height:48,cursor:"pointer"},buttonItem:{background:"none",border:"none",width:"100%",margin:0,padding:0,textAlign:"inherit",font:"inherit"},closed:{width:u,justifyContent:"center"},open:{[n.breakpoints.up("sm")]:{width:f}},highlightable:{"&:hover":{background:(I=(R=n.palette.navigation.navItem)==null?void 0:R.hoverBackground)!=null?I:"#404040"}},highlighted:{background:(K=(U=n.palette.navigation.navItem)==null?void 0:U.hoverBackground)!=null?K:"#404040"},label:{fontWeight:"bold",whiteSpace:"nowrap",lineHeight:"auto",flex:"3 1 auto",width:"110px",overflow:"hidden","text-overflow":"ellipsis"},iconContainer:{boxSizing:"border-box",height:"100%",width:g,marginRight:-n.spacing(2),display:"flex",alignItems:"center",justifyContent:"center"},searchRoot:{marginBottom:12},searchField:{color:"#b5b5b5",fontWeight:"bold",fontSize:n.typography.fontSize},searchFieldHTMLInput:{padding:n.spacing(2,0,2)},searchContainer:{width:f-g},secondaryAction:{width:n.spacing(6),textAlign:"center",marginRight:n.spacing(1)},closedItemIcon:{width:"100%",justifyContent:"center"},submenuArrow:{display:"flex"},expandButton:{background:"none",border:"none",color:n.palette.navigation.color,width:"100%",cursor:"pointer",position:"relative",height:48},arrows:{position:"absolute",right:10},selected:{"&$root":{borderLeft:`solid ${a}px ${n.palette.navigation.indicator}`,color:n.palette.navigation.selectedColor},"&$closed":{width:u},"& $closedItemIcon":{paddingRight:a},"& $iconContainer":{marginLeft:-a}}}},{name:"BackstageSidebarItem"}),cs=(n,a)=>(0,l.useElementFilter)(n.props.children,u=>{let f=!1;return u.getElements().forEach(({props:{to:g,dropdownItems:R}})=>{if(!f){if(R==null?void 0:R.length){R.forEach(({to:I})=>f=f||Ka(a,(0,vn.i3)(I)));return}g&&(f=Ka(a,(0,vn.i3)(g)))}}),f},[a.pathname]);function Ya(n){return n.to===void 0}const us=t.createElement(ns).type,ds=t.forwardRef(function({to:a,end:u,style:f,className:g,activeStyle:R,caseSensitive:I,activeClassName:U="active","aria-current":K="page",...w},re){let{pathname:ue}=(0,vn.TH)(),{pathname:Ae}=(0,vn.WU)(a);I||(ue=ue.toLocaleLowerCase("en-US"),Ae=Ae.toLocaleLowerCase("en-US"));let Se=ue===Ae;!Se&&!u&&(Se=ue.startsWith(`${Ae}/`));const Te=Se?K:void 0;return t.createElement(i.rU,{...w,to:a,ref:re,"aria-current":Te,style:{...f,...Se?R:void 0},className:Fe()([g,Se?U:void 0])})}),Ja=(0,t.forwardRef)((n,a)=>{const{icon:u,text:f,hasNotifications:g=!1,disableHighlight:R=!1,onClick:I,children:U,className:K,...w}=n,re=Gr(),{isOpen:ue}=(0,t.useContext)(Er),Ae=t.createElement(rs.Z,{color:"secondary",variant:"dot",overlap:"circular",invisible:!g,className:Fe()({[re.closedItemIcon]:!ue})},t.createElement(u,{fontSize:"small"})),Se=t.createElement(t.Fragment,null,t.createElement("div",{"data-testid":"login-button",className:re.iconContainer},Ae),f&&t.createElement(ie.Z,{variant:"subtitle2",className:re.label},f),t.createElement("div",{className:re.secondaryAction},U)),Te=ue?Se:Ae,dt={onClick:I,className:Fe()(K,re.root,ue?re.open:re.closed,Ya(n)&&re.buttonItem,{[re.highlightable]:!R})};return Ya(n)?t.createElement("button",{"aria-label":f,...dt,ref:a},Te):t.createElement(ds,{...dt,activeClassName:re.selected,to:n.to?n.to:"",ref:a,"aria-label":f||n.to,...w},Te)}),fs=({children:n,...a})=>{const u=Gr(),[f,g]=(0,t.useState)(!1),R=(0,vn.TH)(),I=cs(n,R),U=(0,Pe.Z)(ue=>ue.breakpoints.down("sm")),K=()=>{g(!0)},w=()=>{g(!1)},re=()=>U?f?t.createElement(os.Z,{fontSize:"small",className:u.submenuArrow}):t.createElement(ss.Z,{fontSize:"small",className:u.submenuArrow}):!f&&t.createElement(as.Z,{fontSize:"small",className:u.submenuArrow});return t.createElement(wa.Provider,{value:{isHoveredOn:f,setIsHoveredOn:g}},t.createElement("div",{"data-testid":"item-with-submenu",onMouseLeave:w,onTouchStart:f?w:K,onMouseEnter:K,className:Fe()(f&&u.highlighted)},t.createElement(Ja,{className:I?u.selected:"",...a},re()),f&&n))},Qa=(0,t.forwardRef)((n,a)=>{const[u]=(0,l.useElementFilter)(n.children,f=>f.getElements().filter(g=>g.type===us));return u?t.createElement(fs,{...n},u):t.createElement(Ja,{...n,ref:a})});function dl(n){const[a,u]=useState(""),f=Gr(),g=n.icon?n.icon:SearchIcon,R=()=>{n.onSearch(a),u("")},I=re=>{re.key==="Enter"&&(re.preventDefault(),R())},U=re=>{u(re.target.value)},K=re=>{re.preventDefault(),re.stopPropagation()},w=re=>{R(),re.preventDefault()};return React.createElement("div",{className:f.searchRoot},React.createElement(Qa,{icon:g,to:n.to,onClick:w,disableHighlight:!0},React.createElement(TextField,{placeholder:"Search",value:a,onClick:K,onChange:U,onKeyDown:I,className:f.searchContainer,InputProps:{disableUnderline:!0,className:f.searchField},inputProps:{className:f.searchFieldHTMLInput}})))}const fl=(0,jr.Z)("div")({flex:1},{name:"BackstageSidebarSpace"}),ml=(0,jr.Z)("div")({height:8},{name:"BackstageSidebarSpacer"}),ms=(0,jr.Z)("hr")({height:1,width:"100%",background:"#383838",border:"none",margin:"12px 0px"},{name:"BackstageSidebarDivider"}),hs=n=>({overflowY:"auto","&::-webkit-scrollbar":{backgroundColor:n.palette.background.default,width:"5px",borderRadius:"5px"},"&::-webkit-scrollbar-thumb":{backgroundColor:n.palette.text.hint,borderRadius:"5px"}}),hl=(0,jr.Z)("div")(({theme:n})=>{const a=hs(n);return{flex:"0 1 auto",overflowX:"hidden",width:"calc(100% - 5px)",minHeight:"48px",overflowY:"hidden","@media (hover: none)":a,"&:hover":a}}),gl=()=>{const n=Gr(),{isOpen:a,setOpen:u}=useContext(SidebarContext);if(useMediaQuery(R=>R.breakpoints.down("md"),{noSsr:!0}))return null;const g=()=>{u(!a)};return React.createElement("button",{onClick:g,className:n.expandButton,"aria-label":"Expand Sidebar","data-testid":"sidebar-expand-button"},React.createElement("div",{className:n.arrows},a?React.createElement(DoubleArrowLeft,null):React.createElement(DoubleArrowRight,null)))},gs=(0,s.Z)(n=>({introCard:{color:"#b5b5b5",fontSize:12,width:Xt.drawerWidthOpen,marginTop:18,marginBottom:12,paddingLeft:Xt.iconPadding,paddingRight:Xt.iconPadding},introDismiss:{display:"flex",justifyContent:"flex-end",alignItems:"center",marginTop:12},introDismissLink:{color:"#dddddd",display:"flex",alignItems:"center",marginBottom:4,"&:hover":{color:n.palette.linkHover,transition:n.transitions.create("color",{easing:n.transitions.easing.sharp,duration:n.transitions.duration.shortest})}},introDismissText:{fontSize:"0.7rem",fontWeight:"bold",textTransform:"uppercase",letterSpacing:1},introDismissIcon:{width:18,height:18,marginRight:12}}),{name:"BackstageSidebarIntro"});function ps(n){const a=gs(),{text:u,onClose:f}=n,g=()=>f();return React.createElement("div",{className:a.introCard},React.createElement(Typography,{variant:"subtitle2"},u),React.createElement("div",{className:a.introDismiss},React.createElement(Link,{component:"button",onClick:g,underline:"none",className:a.introDismissLink},React.createElement(CloseIcon,{className:a.introDismissIcon}),React.createElement(Typography,{component:"span",className:a.introDismissText},"Dismiss"))))}const Xa=n=>{const{text:a,onDismiss:u}=n,[f,g]=useState(!1),R=()=>{g(!0)};return React.createElement(Collapse,{in:!f,onExited:u},React.createElement(ps,{text:a,onClose:R}))},ys=null,Es="And your recently viewed plugins will pop up here!";function pl(n){const{isOpen:a}=useContext(SidebarContext),u={starredItemsDismissed:!1,recentlyViewedItemsDismissed:!1},[f,g]=useLocalStorage(SIDEBAR_INTRO_LOCAL_STORAGE),{starredItemsDismissed:R,recentlyViewedItemsDismissed:I}=f!=null?f:{},U=()=>{g(w=>({...u,...w,starredItemsDismissed:!0}))},K=()=>{g(w=>({...u,...w,recentlyViewedItemsDismissed:!0}))};return a?React.createElement(React.Fragment,null,!R&&React.createElement(React.Fragment,null,React.createElement(Xa,{text:ys,onDismiss:U}),React.createElement(SidebarDivider,null)),!I&&React.createElement(Xa,{text:Es,onDismiss:K})):null}const As=(0,s.Z)(n=>({root:{gridArea:"pageContent",minWidth:0,paddingTop:n.spacing(3),paddingBottom:n.spacing(3),paddingLeft:n.spacing(2),paddingRight:n.spacing(2),[n.breakpoints.up("sm")]:{paddingLeft:n.spacing(3),paddingRight:n.spacing(3)}},stretch:{display:"flex",flexDirection:"column",flexGrow:1},noPadding:{padding:0}}),{name:"BackstageContent"});function ka(n){const{className:a,stretch:u,noPadding:f,children:g,...R}=n,{contentRef:I}=ga(),U=As();return t.createElement("article",{ref:I,tabIndex:-1,...R,className:Fe()(U.root,a,{[U.stretch]:u,[U.noPadding]:f})},g)}var vs=e(6487),Rs=e(99152);const Ss=(0,s.Z)(n=>({tabsWrapper:{gridArea:"pageSubheader",backgroundColor:n.palette.background.paper,paddingLeft:n.spacing(3)},defaultTab:{padding:n.spacing(3,3),...n.typography.caption,textTransform:"uppercase",fontWeight:"bold",color:n.palette.text.secondary},selected:{color:n.palette.text.primary},tabRoot:{"&:hover":{backgroundColor:n.palette.background.default,color:n.palette.text.primary}}}),{name:"BackstageHeaderTabs"});function qa(n){const{tabs:a,onChange:u,selectedIndex:f}=n,[g,R]=(0,t.useState)(f!=null?f:0),I=Ss(),U=(K,w)=>{f===void 0&&R(w),u&&u(w)};return(0,t.useEffect)(()=>{f!==void 0&&R(f)},[f]),t.createElement("div",{className:I.tabsWrapper},t.createElement(Rs.Z,{selectionFollowsFocus:!0,indicatorColor:"primary",textColor:"inherit",variant:"scrollable",scrollButtons:"auto","aria-label":"scrollable auto tabs example",onChange:U,value:g},a.map((K,w)=>t.createElement(vs.Z,{...K.tabProps,"data-testid":`header-tab-${w}`,label:K.label,key:K.id,value:w,className:I.defaultTab,classes:{selected:I.selected,root:I.tabRoot}}))))}function Cs(n){var U,K,w;const a=(0,vn.UO)(),f=n.map(({path:re,children:ue})=>({caseSensitive:!1,path:`${re}/*`,element:ue})).sort((re,ue)=>ue.path.replace(/\/\*$/,"").localeCompare(re.path.replace(/\/\*$/,""))),g=(U=(0,vn.V$)(f))!=null?U:n[0].children,[R]=(K=(0,vn.fp)(f,`/${a["*"]}`))!=null?K:[],I=R?n.findIndex(re=>`${re.path}/*`===R.route.path):0;return{index:I===-1?0:I,element:g,route:(w=n[I])!=null?w:n[0]}}function _a(n){const{routes:a}=n,u=(0,vn.s0)(),{index:f,route:g,element:R}=Cs(a),I=(0,t.useMemo)(()=>a.map(K=>({id:K.path,label:K.title,tabProps:K.tabProps})),[a]),U=K=>u(a[K].path.replace(/\/\*$/,"").replace(/^\//,""));return t.createElement(t.Fragment,null,t.createElement(qa,{tabs:I,selectedIndex:f,onChange:U}),t.createElement(ka,null,t.createElement(ma.q,{title:g.title}),R))}const pa=()=>null;(0,l.attachComponentData)(pa,"core.gatherMountPoints",!0);function eo(n){const a=t.createElement(pa,{path:"",title:""},t.createElement("div",null)).type;return t.Children.toArray(n).flatMap(u=>{if(!(0,t.isValidElement)(u))return[];if(u.type===t.Fragment)return eo(u.props.children);if(u.type!==a)throw new Error("Child of TabbedLayout must be an TabbedLayout.Route");const{path:f,title:g,children:R,tabProps:I}=u.props;return[{path:f,title:g,children:R,tabProps:I}]})}function Ts(n){const a=eo(n.children);return t.createElement(_a,{routes:a})}Ts.Route=pa;const Ps=(0,s.Z)(n=>({value:{marginBottom:"6px"},subvalue:{color:n.palette.textSubtle,fontWeight:"normal"}}),{name:"BackstageSubvalueCell"});function Ls(n){const{value:a,subvalue:u}=n,f=Ps();return t.createElement(t.Fragment,null,t.createElement("div",{className:f.value},a),t.createElement("div",{className:f.subvalue},u))}var Is=e(21070),Os=e(90324),xs=e(98281),Ds=e(48049),to=e(51209),no=e(33375),bs=e(44233),Fs=e(27604),ya=e(36444),Bs=e(37971),Ms=e(59709),Ns=e(17373),Us=e(3702),Zs=e(93111),Kr=e(67222);const $s=(0,s.Z)(n=>({root:{height:"100%",width:"315px",display:"flex",flexDirection:"column",marginRight:n.spacing(3)},value:{fontWeight:"bold",fontSize:18},header:{display:"flex",alignItems:"center",height:"60px",justifyContent:"space-between",borderBottom:`1px solid ${n.palette.grey[500]}`},filters:{display:"flex",flexDirection:"column","& > *":{marginTop:n.spacing(2)}}}),{name:"BackstageTableFilters"}),ws=n=>{var K;const a=$s(),{onChangeFilters:u}=n,[f,g]=(0,t.useState)({...n.selectedFilters}),[R,I]=(0,t.useState)(!1),U=()=>{g({}),I(w=>!w)};return(0,t.useEffect)(()=>{u(f)},[f,u]),t.createElement("div",{className:a.root},t.createElement("div",{className:a.header},t.createElement("div",{className:a.value},"Filters"),t.createElement(c.Z,{color:"primary",onClick:U},"Clear all")),t.createElement("div",{className:a.filters},((K=n.filters)==null?void 0:K.length)&&n.filters.map(w=>t.createElement(wr,{triggerReset:R,key:w.element.label,...w.element,selected:f[w.element.label],onChange:re=>g({...f,[w.element.label]:re})}))))},Ws={Add:(0,t.forwardRef)((n,a)=>t.createElement(Is.Z,{...n,ref:a})),Check:(0,t.forwardRef)((n,a)=>t.createElement(xs.Z,{...n,ref:a})),Clear:(0,t.forwardRef)((n,a)=>t.createElement(no.Z,{...n,ref:a})),Delete:(0,t.forwardRef)((n,a)=>t.createElement(bs.Z,{...n,ref:a})),DetailPanel:(0,t.forwardRef)((n,a)=>t.createElement(to.Z,{...n,ref:a})),Edit:(0,t.forwardRef)((n,a)=>t.createElement(Fs.Z,{...n,ref:a})),Export:(0,t.forwardRef)((n,a)=>t.createElement(Us.Z,{...n,ref:a})),Filter:(0,t.forwardRef)((n,a)=>t.createElement(ya.Z,{...n,ref:a})),FirstPage:(0,t.forwardRef)((n,a)=>t.createElement(Bs.Z,{...n,ref:a})),LastPage:(0,t.forwardRef)((n,a)=>t.createElement(Ms.Z,{...n,ref:a})),NextPage:(0,t.forwardRef)((n,a)=>t.createElement(to.Z,{...n,ref:a})),PreviousPage:(0,t.forwardRef)((n,a)=>t.createElement(Ds.Z,{...n,ref:a})),ResetSearch:(0,t.forwardRef)((n,a)=>t.createElement(no.Z,{...n,ref:a})),Search:(0,t.forwardRef)((n,a)=>t.createElement(ya.Z,{...n,ref:a})),SortArrow:(0,t.forwardRef)((n,a)=>t.createElement(Os.Z,{...n,ref:a})),ThirdStateCheck:(0,t.forwardRef)((n,a)=>t.createElement(Ns.Z,{...n,ref:a})),ViewColumn:(0,t.forwardRef)((n,a)=>t.createElement(Zs.Z,{...n,ref:a}))};function ro(n,a){const u=a.split(".");let f=n[u[0]];for(let g=1;g<u.length;++g){if(f===void 0)return f;const R=u[g];f=f[R]}return f}const zs=(0,H.Z)(n=>({header:{padding:n.spacing(1,2,1,2.5),borderTop:`1px solid ${n.palette.grey.A100}`,borderBottom:`1px solid ${n.palette.grey.A100}`,color:n.palette.textSubtle,fontWeight:n.typography.fontWeightBold,position:"static",wordBreak:"normal"}}),{name:"BackstageTableHeader"})(Kr.W$),ao=(0,H.Z)(n=>({root:{padding:n.spacing(3,0,2.5,2.5)},title:{"& > h6":{fontWeight:"bold"}},searchField:{paddingRight:n.spacing(2)}}),{name:"BackstageTableToolbar"})(Kr.UW),Hs=(0,s.Z)(()=>({root:{display:"flex",alignItems:"center",justifyContent:"space-between"},title:{fontWeight:"bold",fontSize:18,whiteSpace:"nowrap"}}),{name:"BackstageTableFiltersContainer"}),Vs=(0,s.Z)(()=>({root:{display:"flex",alignItems:"start"}}),{name:"BackstageTable"});function js(n,a){return n.map(u=>{const f={};let g=u.cellStyle||{};if(u.highlight)if(f.color=a.palette.textContrast,typeof g=="object")g.fontWeight=a.typography.fontWeightBold;else{const R=g;g=(I,U,K)=>({...R(I,U,K),fontWeight:a.typography.fontWeightBold})}return{...u,headerStyle:f,cellStyle:g}})}function Gs(n,a){return(0,tr.transform)(n,(u,f,g)=>{(0,tr.isEqual)(f,a[g])||(u[g]=f)})}const oo={search:"",filtersOpen:!1,filters:{}};function Ks(n){const{toolbarRef:a,setSearch:u,hasFilters:f,selectedFiltersLength:g,toggleFilters:R}=n,I=Hs(),U=(0,t.useCallback)(K=>{n.onSearchChanged(K),u(K)},[n,u]);return f?t.createElement("div",{className:I.root},t.createElement("div",{className:I.root},t.createElement(O.Z,{onClick:R,"aria-label":"filter list"},t.createElement(ya.Z,null)),t.createElement(ie.Z,{className:I.title},"Filters (",g,")")),t.createElement(ao,{...n,ref:a,onSearchChanged:U})):t.createElement(ao,{...n,ref:a,onSearchChanged:U})}function Ys(n){const{data:a,columns:u,options:f,title:g,subtitle:R,filters:I,initialState:U,emptyContent:K,onStateChange:w,...re}=n,ue=Vs(),Ae=(0,P.Z)(),Se={...oo,...U},[Te,dt]=(0,t.useState)(Se.filtersOpen),Ut=(0,t.useCallback)(()=>dt(on=>!on),[dt]),[tn,kt]=(0,t.useState)(0),[ct,Mt]=(0,t.useState)(a),[Zt,nn]=(0,t.useState)(Se.filters),Zn=js(u,Ae),[Rn,vr]=(0,t.useState)(Se.search);(0,t.useEffect)(()=>{if(w){const on=Gs({search:Rn,filtersOpen:Te,filters:Zt},oo);w(on)}},[Rn,Te,Zt,w]);const Ot={headerStyle:{textTransform:"uppercase"}},$n=(0,t.useCallback)(on=>{var pn;return(pn=u.find(Sn=>Sn.title===on))==null?void 0:pn.field},[u]);(0,t.useEffect)(()=>{if(typeof a=="function")return;if(!Zt){Mt(a);return}const on=Object.values(Zt);if(a&&on.flat().length){const pn=a.filter(Sn=>!!Object.entries(Zt).filter(([,Gn])=>!!Gn.length).every(([Gn,qt])=>{const _t=ro(Sn,$n(Gn));return Array.isArray(_t)&&Array.isArray(qt)?_t.some(rr=>qt.includes(rr)):Array.isArray(_t)?_t.includes(qt):Array.isArray(qt)?qt.includes(_t):_t===qt}));Mt(pn)}else Mt(a);kt(on.flat().length)},[a,Zt,$n]);const Sa=(on,pn)=>{const Sn=qt=>{const _t=new Set,rr=Kn=>{Kn!=null&&_t.add(Kn)};return pn&&pn.forEach(Kn=>{const ar=ro(Kn,$n(qt));Array.isArray(ar)?ar.forEach(rr):rr(ar)}),_t},Gn=qt=>({placeholder:"All results",label:qt.column,multiple:qt.type==="multiple-select",items:[...Sn(qt.column)].sort().map(_t=>({label:_t,value:_t}))});return on.map(qt=>({type:qt.type,element:Gn(qt)}))},jn=!!(I==null?void 0:I.length),Ca=(0,t.useCallback)(on=>t.createElement(Ks,{setSearch:vr,hasFilters:jn,selectedFiltersLength:tn,toggleFilters:Ut,...on}),[Ut,jn,tn,vr]),Jr=typeof a!="function"&&a.length===0,Qr=u.length,Ta=(0,t.useCallback)(on=>K&&Jr?t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{colSpan:Qr},K))):t.createElement(Kr.os,{...on}),[Jr,K,Qr]);return t.createElement("div",{className:ue.root},Te&&a&&typeof a!="function"&&(I==null?void 0:I.length)&&t.createElement(ws,{filters:Sa(I,a),selectedFilters:Zt,onChangeFilters:nn}),t.createElement(Kr.ZP,{components:{Header:zs,Toolbar:Ca,Body:Ta},options:{...Ot,...f},columns:Zn,icons:Ws,title:t.createElement(t.Fragment,null,t.createElement(ie.Z,{variant:"h5",component:"h3"},g),R&&t.createElement(ie.Z,{color:"textSecondary",variant:"body1"},R)),data:typeof a=="function"?a:ct,style:{width:"100%"},localization:{toolbar:{searchPlaceholder:"Filter"}},...re}))}const yl=n=>{const{children:a,value:u,index:f,...g}=n;return React.createElement("div",{role:"tabpanel",hidden:u!==f,"aria-labelledby":`scrollable-auto-tab-${f}`,...g},u===f&&React.createElement(Box,{p:3},a))},Js=(0,s.Z)(()=>({root:{color:"#6E6E6E",overflow:"visible",fontSize:"1.5rem",textAlign:"center",borderRadius:"50%",backgroundColor:"#E6E6E6",marginLeft:n=>n.isNext?"auto":"0",marginRight:n=>n.isNext?"0":"10px","&:hover":{backgroundColor:"#E6E6E6",opacity:"1"}}}),{name:"BackstageTabIcon"}),El=n=>{const a=Js(n),{ariaLabel:u,onClick:f}=n;return React.createElement(IconButton,{onClick:f,className:a.root,size:"small",disableRipple:!0,disableFocusRipple:!0,"aria-label":u},n.children)},Qs=(n,a)=>a?n?"20px":"0":"40px",Xs=(0,s.Z)(n=>({root:{textTransform:"none",height:"64px",fontWeight:n.typography.fontWeightBold,fontSize:n.typography.pxToRem(13),color:n.palette.textSubtle,marginLeft:a=>Qs(a.isFirstNav,a.isFirstIndex),width:"130px",minWidth:"130px","&:hover":{outline:"none",backgroundColor:"transparent",color:n.palette.textSubtle}}})),Al=n=>{const a=Xs(n),{isFirstNav:u,isFirstIndex:f,...g}=n;return React.createElement(Tab,{className:a.root,disableRipple:!0,...g})},ks=(0,s.Z)(n=>({indicator:{display:"flex",justifyContent:"center",backgroundColor:n.palette.tabbar.indicator,height:"4px"},flexContainer:{alignItems:"center"},root:{"&:last-child":{marginLeft:"auto"}}}),{name:"BackstageTabBar"}),vl=n=>{const a=ks(n);return React.createElement(Tabs,{classes:a,...n,TabIndicatorProps:{children:React.createElement("span",null)}})},_s=(0,s.Z)(n=>({root:{flexGrow:1,width:"100%"},styledTabs:{backgroundColor:n.palette.background.paper},appbar:{boxShadow:"none",backgroundColor:n.palette.background.paper,paddingLeft:"10px",paddingRight:"10px"}}),{name:"BackstageTabs"});function Rl(n){const{tabs:a}=n,u=_s(),[f,g]=useState([0,0]),[R,I]=useState(0),[U,K]=useState(0),[w,re]=useState([[]]),ue=useRef(),{width:Ae}=useWindowSize(),Se=(kt,ct)=>{g([R,ct])},Te=()=>{I(R-1)},dt=()=>{I(R+1)},Ut=()=>R+1<w.length;useEffect(()=>{const ct=R===0?1:2,Mt=ue.current.offsetWidth-20-ct*30,Zt=f[0]*U+f[1],nn=Math.floor(Mt/170);K(nn),re(chunkArray(a,nn)),g([Math.floor(Zt/nn),Zt%nn])},[Ae,a]);const tn=R===f[0]?f[1]:!1;return React.createElement("div",{className:u.root},React.createElement(AppBar,{ref:ue,className:u.appbar,position:"static"},React.createElement("div",null,React.createElement(StyledTabs,{value:tn,onChange:Se,selectionFollowsFocus:!0},R!==0&&React.createElement(StyledIcon,{onClick:Te,ariaLabel:"navigate-before"},React.createElement(NavigateBeforeIcon,null)),w[R].map((kt,ct)=>React.createElement(StyledTab,{value:ct,isFirstIndex:ct===0,isFirstNav:R===0,key:ct,icon:kt.icon||void 0,label:kt.label||void 0})),Ut()&&React.createElement(StyledIcon,{isNext:!0,onClick:dt,ariaLabel:"navigate-next"},React.createElement(NavigateNextIcon,null))))),tn!==!1?w[R].map((kt,ct)=>React.createElement(TabPanel,{key:ct,value:ct,index:tn},kt.content)):React.createElement(TabPanel,{key:"panel_outside_chunked_array",value:f[1],index:f[1]},w[f[0]][f[1]].content))}var Sl=e(44311);function ei(n,a){const u=n[n.length-1];if(!!u)return u>=.9?a.palette.status.ok:u>=.5?a.palette.status.warning:a.palette.status.error}function Cl(n){var u;const a=useTheme();return n.data?React.createElement(Sparklines,{width:120,height:30,min:0,max:1,...n},n.title&&React.createElement("title",null,n.title),React.createElement(SparklinesLine,{color:(u=n.color)!=null?u:ei(n.data,a)})):null}const ti=n=>(0,s.Z)(a=>({container:{width:"100%",display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",alignItems:"center",marginBottom:a.spacing(2),textAlign:n.textAlign},leftItemsBox:{flex:"1 1 auto",minWidth:0,overflow:"visible"},rightItemsBox:{flex:"0 1 auto",display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"center",marginLeft:a.spacing(1),minWidth:0,overflow:"visible"},description:{},title:{display:"inline-flex",marginBottom:0}}),{name:"BackstageContentHeader"}),ni=({title:n="Unknown page",className:a})=>t.createElement(ie.Z,{variant:"h4",component:"h2",className:a,"data-testid":"header-title"},n);function ri(n){const{description:a,title:u,titleComponent:f=void 0,children:g,textAlign:R="left"}=n,I=ti({textAlign:R})(),U=f||t.createElement(ni,{title:u,className:I.title});return t.createElement(t.Fragment,null,t.createElement(ma.q,{title:u}),t.createElement("div",{className:I.container},t.createElement("div",{className:I.leftItemsBox},U,a&&t.createElement(ie.Z,{className:I.description,variant:"body2"},a)),t.createElement("div",{className:I.rightItemsBox},g)))}var ai=e(29788);const oi=(0,s.Z)(n=>({micDrop:{maxWidth:"60%",position:"absolute",bottom:n.spacing(2),right:n.spacing(2),[n.breakpoints.down("xs")]:{maxWidth:"96%",position:"relative",bottom:"unset",right:"unset",margin:`${n.spacing(10)}px auto ${n.spacing(4)}px`}}}),{name:"BackstageErrorPageMicDrop"}),si=()=>{const n=oi();return t.createElement("img",{src:ai,className:n.micDrop,alt:"Girl dropping mic from her hands"})},ii=(0,s.Z)(n=>({container:{padding:n.spacing(8),[n.breakpoints.down("xs")]:{padding:n.spacing(2)}},title:{paddingBottom:n.spacing(5),[n.breakpoints.down("xs")]:{paddingBottom:n.spacing(4),fontSize:32}},subtitle:{color:n.palette.textSubtle}}),{name:"BackstageErrorPage"});function li(n){const{status:a,statusMessage:u,additionalInfo:f,supportUrl:g}=n,R=ii(),I=(0,vn.s0)(),U=Ua();return t.createElement(Ge.Z,{container:!0,spacing:0,className:R.container},t.createElement(si,null),t.createElement(Ge.Z,{item:!0,xs:12,sm:8,md:4},t.createElement(ie.Z,{"data-testid":"error",variant:"body1",className:R.subtitle},"ERROR ",a,": ",u),t.createElement(ie.Z,{variant:"body1",className:R.subtitle},f),t.createElement(ie.Z,{variant:"h2",className:R.title},"Looks like someone dropped the mic!"),t.createElement(ie.Z,{variant:"h6"},t.createElement(L,{to:"#","data-testid":"go-back-link",onClick:()=>I(-1)},"Go back"),"... or please"," ",t.createElement(L,{to:g||U.url},"contact support")," if you think this is a bug.")))}var ci=e(16173);const ui=(0,H.Z)({root:{textDecoration:"underline",cursor:"pointer"}},{name:"BackstageBreadcrumbsClickableText"})(ie.Z),Ea=(0,H.Z)({root:{textDecoration:"underline",color:"inherit"}},{name:"BackstageBreadcrumbsStyledBox"})(X.Z);function di(n){const{children:a,...u}=n,[f,g]=t.useState(null),R=t.Children.toArray(a),[I,U,...K]=R,w=K.length?K.pop():R[R.length-1],re=R.length>3,ue=Te=>{g(Te.currentTarget)},Ae=()=>{g(null)},Se=Boolean(f);return t.createElement(t.Fragment,null,t.createElement(ci.Z,{"aria-label":"breadcrumb",...u},R.length>1&&t.createElement(Ea,{clone:!0},I),R.length>2&&t.createElement(Ea,{clone:!0},U),re&&t.createElement(ui,{onClick:ue},"..."),t.createElement(X.Z,{style:{fontStyle:"italic"}},w)),t.createElement(Ba.ZP,{open:Se,anchorEl:f,onClose:Ae,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},t.createElement(ge.Z,null,K.map((Te,dt)=>t.createElement(Ce.Z,{key:dt,button:!0},t.createElement(Ea,{clone:!0},Te))))))}const fi=(0,s.Z)(n=>({header:{gridArea:"pageHeader",padding:n.spacing(3),width:"100%",boxShadow:n.shadows[4],position:"relative",zIndex:100,display:"flex",flexDirection:"row",alignItems:"center",backgroundImage:n.page.backgroundImage,backgroundPosition:"center",backgroundSize:"cover",[n.breakpoints.down("sm")]:{flexWrap:"wrap"}},leftItemsBox:{maxWidth:"100%",flexGrow:1},rightItemsBox:{width:"auto"},title:{color:n.palette.bursts.fontColor,wordBreak:"break-all",fontSize:n.typography.h3.fontSize,marginBottom:0},subtitle:{color:n.palette.bursts.fontColor,opacity:.8,display:"inline-block",marginTop:n.spacing(1),maxWidth:"75ch"},type:{textTransform:"uppercase",fontSize:11,opacity:.8,marginBottom:n.spacing(1),color:n.palette.bursts.fontColor},breadcrumb:{color:n.palette.bursts.fontColor},breadcrumbType:{fontSize:"inherit",opacity:.7,marginRight:-n.spacing(.3),marginBottom:n.spacing(.3)},breadcrumbTitle:{fontSize:"inherit",marginLeft:-n.spacing(.3),marginBottom:n.spacing(.3)}}),{name:"BackstageHeader"}),mi=({type:n,typeLink:a,classes:u,pageTitle:f})=>n?a?t.createElement(di,{className:u.breadcrumb},t.createElement(L,{to:a},n),t.createElement(ie.Z,null,f)):t.createElement(ie.Z,{className:u.type},n):null,hi=({pageTitle:n,classes:a,tooltip:u})=>{const f=t.createElement(ie.Z,{className:a.title,variant:"h1"},n);return u?t.createElement(x.ZP,{title:u,placement:"top-start"},f):f},gi=({classes:n,subtitle:a})=>a?typeof a!="string"?t.createElement(t.Fragment,null,a):t.createElement(ie.Z,{className:n.subtitle,variant:"subtitle2",component:"span"},a):null;function so(n){const{children:a,pageTitleOverride:u,style:f,subtitle:g,title:R,tooltip:I,type:U,typeLink:K}=n,w=fi(),ue=(0,l.useApi)(l.configApiRef).getOptionalString("app.title")||"Backstage",Ae=u||R,Se=R||u,Te=`${Ae} | %s | ${ue}`,dt=`${Ae} | ${ue}`;return t.createElement(t.Fragment,null,t.createElement(ma.q,{titleTemplate:Te,defaultTitle:dt}),t.createElement("header",{style:f,className:w.header},t.createElement(X.Z,{className:w.leftItemsBox},t.createElement(mi,{classes:w,type:U,typeLink:K,pageTitle:Se}),t.createElement(hi,{classes:w,pageTitle:Se,tooltip:I}),t.createElement(gi,{classes:w,subtitle:g})),t.createElement(Ge.Z,{container:!0,className:w.rightItemsBox,spacing:4},a)))}const pi=(0,s.Z)(n=>({root:{textAlign:"left"},label:{color:n.palette.common.white,fontWeight:"bold",letterSpacing:0,fontSize:n.typography.fontSize,marginBottom:n.spacing(1)/2,lineHeight:1},value:{color:"rgba(255, 255, 255, 0.8)",fontSize:n.typography.fontSize,lineHeight:1}}),{name:"BackstageHeaderLabel"}),yi=({value:n,className:a})=>t.createElement(ie.Z,{className:a},n);function Ei(n){const{label:a,value:u,url:f}=n,g=pi(),R=t.createElement(yi,{className:g.value,value:u||"<Unknown>"});return t.createElement(Ge.Z,{item:!0},t.createElement("span",{className:g.root},t.createElement(ie.Z,{className:g.label},a),f?t.createElement(L,{to:f},R):R))}const Ai={hour:"2-digit",minute:"2-digit"};function io(n){const a=new Date,u=window.navigator.language,f=[];if(!n.has("homepage.clocks"))return f;const g=n.getConfigArray("homepage.clocks");for(const R of g)if(R.has("label")&&R.has("timezone")){let I=R.getString("label");const U={timeZone:R.getString("timezone"),...Ai};try{new Date().toLocaleString(u,U)}catch{console.warn(`The timezone ${U.timeZone} is invalid. Defaulting to GMT`),U.timeZone="GMT",I="GMT"}const K=a.toLocaleTimeString(u,U);f.push({time:K,label:I})}return f}function Tl(n){const a=useApi(configApiRef),u=[],[f,g]=React.useState(u);return React.useEffect(()=>{g(io(a));const R=setInterval(()=>{g(io(a))},1e3);return()=>{clearInterval(R)}},[a]),f.length!==0?React.createElement(React.Fragment,null,f.map(R=>React.createElement(HeaderLabel,{label:R.label,value:R.time,key:R.label}))):null}const vi=n=>(0,p.Z)({root:{color:n.palette.common.white,padding:n.spacing(2,2,3),backgroundImage:n.palette.bursts.gradient.linear,backgroundPosition:0,backgroundSize:"inherit"}}),Ri=(0,s.Z)(vi,{name:"BackstageItemCardHeader"});function Si(n){const{title:a,subtitle:u,children:f}=n,g=Ri(n);return t.createElement("div",{className:g.root},u&&t.createElement(ie.Z,{variant:"subtitle2",component:"h3"},u),a&&t.createElement(ie.Z,{variant:"h6",component:"h4"},a),f)}function Pl(n){const{description:a,tags:u,title:f,type:g,subtitle:R,label:I,onClick:U,href:K}=n;return React.createElement(Card,null,React.createElement(CardMedia,null,React.createElement(ItemCardHeader,{title:f,subtitle:R||g})),React.createElement(CardContent,null,(u==null?void 0:u.length)?React.createElement(Box,null,u.map((w,re)=>React.createElement(Chip,{size:"small",label:w,key:re}))):null,a),React.createElement(CardActions,null,!K&&React.createElement(Button,{to:"#",onClick:U,color:"primary"},I),K&&React.createElement(Button,{to:K,color:"primary"},I)))}const Ci=n=>(0,p.Z)({root:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(22em, 1fr))",gridAutoRows:"1fr",gridGap:n.spacing(2)}}),Ti=(0,s.Z)(Ci,{name:"BackstageItemCardGrid"});function Pi(n){const{children:a,...u}=n,f=Ti(u);return t.createElement("div",{className:f.root,...u},a)}var Li=e(41547);const Ii=(0,s.Z)(()=>({root:({isMobile:n})=>({display:"grid",gridTemplateAreas:"'pageHeader pageHeader pageHeader' 'pageSubheader pageSubheader pageSubheader' 'pageNav pageContent pageSidebar'",gridTemplateRows:"max-content auto 1fr",gridTemplateColumns:"auto 1fr auto",height:n?"100%":"100vh",overflowY:"auto"})}),{name:"BackstagePage"});function lo(n){const{themeId:a,children:u}=n,{isMobile:f}=(0,t.useContext)(nr),g=Ii({isMobile:f});return t.createElement(Li.Z,{theme:R=>({...R,page:R.getPageTheme({themeId:a})})},t.createElement("div",{className:g.root},u))}function Oi(n){const{themeId:a,children:u,...f}=n;return t.createElement(lo,{themeId:a},t.createElement(so,{...f}),u)}var un=e(30195);const Ll=un.z.object({providerInfo:un.z.object({}).catchall(un.z.unknown()).optional(),profile:un.z.object({email:un.z.string().optional(),displayName:un.z.string().optional(),picture:un.z.string().optional()}),backstageIdentity:un.z.object({token:un.z.string(),identity:un.z.object({type:un.z.literal("user"),userEntityRef:un.z.string(),ownershipEntityRefs:un.z.array(un.z.string())})})}),co={defaultTokenExpiryMillis:5*60*1e3,tokenExpiryMarginMillis:5*60*1e3};function xi(n){const a=new Date(Date.now()+co.defaultTokenExpiryMillis);if(!n)return a;const[u,f,g]=n.split("."),R=JSON.parse(atob(f));return typeof R.exp!="number"?a:new Date(R.exp*1e3-co.tokenExpiryMarginMillis)}class Il{constructor(a){_(this,"options");_(this,"abortController");_(this,"state");this.options=a,this.abortController=new AbortController,this.state={type:"empty"}}async start(){await this.getSessionAsync()}getUserId(){const{backstageIdentity:a}=this.getSessionSync(),u=a.identity.userEntityRef,f=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(u);if(!f)throw new TypeError(`Invalid user entity reference "${u}"`);return f[3]}async getIdToken(){return(await this.getSessionAsync()).backstageIdentity.token}getProfile(){return this.getSessionSync().profile}async getProfileInfo(){return(await this.getSessionAsync()).profile}async getBackstageIdentity(){return(await this.getSessionAsync()).backstageIdentity.identity}async getCredentials(){return{token:(await this.getSessionAsync()).backstageIdentity.token}}async signOut(){this.abortController.abort()}getSessionSync(){if(this.state.type==="active")return this.state.session;if(this.state.type==="fetching"&&this.state.previous)return this.state.previous;throw new Error("No session available. Try reloading your browser page.")}async getSessionAsync(){if(this.state.type==="fetching")return this.state.promise;if(this.state.type==="active"&&new Date<this.state.expiresAt)return this.state.session;const a=this.state.type==="active"?this.state.session:void 0,u=this.fetchSession().then(f=>(this.state={type:"active",session:f,expiresAt:xi(f.backstageIdentity.token)},f),f=>{throw this.state={type:"failed",error:f},f});return this.state={type:"fetching",promise:u,previous:a},u}async fetchSession(){const a=await this.options.discoveryApi.getBaseUrl("auth"),u=await fetch(`${a}/${this.options.provider}/refresh`,{signal:this.abortController.signal,headers:{"x-requested-with":"XMLHttpRequest"},credentials:"include"});if(!u.ok)throw await ResponseError.fromResponse(u);return proxiedSessionSchema.parse(await u.json())}}const Ol=n=>{const a=useApi(discoveryApiRef),{loading:u,error:f}=useAsync(async()=>{const g=new ProxiedSignInIdentity({provider:n.provider,discoveryApi:a});await g.start(),n.onSignInSuccess(g)},[]);return u?React.createElement(Progress,null):f?React.createElement(ErrorPanel,{title:"You do not appear to be signed in. Please try reloading the browser page.",error:f}):null},Di=(0,s.Z)({container:{padding:0,listStyle:"none"},item:{display:"flex",flexDirection:"column",width:"100%",maxWidth:"400px",margin:0,padding:0}},{name:"BackstageSignInPage"}),Aa=({children:n})=>{const a=Di();return t.createElement(Ge.Z,{component:"li",item:!0,classes:a},n)};class va{getUserId(){return"guest"}async getIdToken(){}getProfile(){return{email:"guest@example.com",displayName:"Guest"}}async getProfileInfo(){return{email:"guest@example.com",displayName:"Guest"}}async getBackstageIdentity(){const a="user:default/guest";return{type:"user",userEntityRef:a,ownershipEntityRefs:[a]}}async getCredentials(){return{}}async signOut(){}}function bi(n){const[a,u,f]=n.split(".");return JSON.parse(atob(u))}class Ra{constructor(a){this.result=a}getUserId(){return this.result.userId}static fromResult(a){return new Ra(a)}async getIdToken(){var a,u;return(u=(a=this.result).getIdToken)==null?void 0:u.call(a)}getProfile(){return this.result.profile}async getProfileInfo(){return this.result.profile}async getBackstageIdentity(){const a=await this.getIdToken();if(!a){const g=`user:default/${this.getUserId()}`;return{type:"user",userEntityRef:g,ownershipEntityRefs:[g]}}const{sub:u,ent:f}=bi(a);return{type:"user",userEntityRef:u,ownershipEntityRefs:f!=null?f:[]}}async getCredentials(){var u,f;return{token:await((f=(u=this.result).getIdToken)==null?void 0:f.call(u))}}async signOut(){var a,u;return(u=(a=this.result).signOut)==null?void 0:u.call(a)}}class Ar{constructor(a,u,f){_(this,"profilePromise");this.identity=a,this.authApi=u,this.profile=f}static createGuest(){return new va}static fromLegacy(a){return Ra.fromResult(a)}static create(a){return new Ar(a.identity,a.authApi,a.profile)}getUserId(){const a=this.identity.userEntityRef,u=/^([^:/]+:)?([^:/]+\/)?([^:/]+)$/.exec(a);if(!u)throw new TypeError(`Invalid user entity reference "${a}"`);return u[3]}async getIdToken(){return(await this.authApi.getBackstageIdentity()).token}getProfile(){if(!this.profile)throw new Error("The identity API does not implement synchronous profile fetching, use getProfileInfo() instead");return this.profile}async getProfileInfo(){if(this.profilePromise)return await this.profilePromise;try{return this.profilePromise=this.authApi.getProfile(),await this.profilePromise}catch(a){throw this.profilePromise=void 0,a}}async getBackstageIdentity(){return this.identity}async getCredentials(){return{token:(await this.authApi.getBackstageIdentity()).token}}async signOut(){return this.authApi.signOut()}}const Fi={Component:({config:n,onSignInSuccess:a})=>{const{apiRef:u,title:f,message:g}=n,R=(0,l.useApi)(u),I=(0,l.useApi)(l.errorApiRef),U=async()=>{try{const K=await R.getBackstageIdentity({instantPopup:!0});if(!K)throw new Error(`The ${f} provider is not configured to support sign-in`);const w=await R.getProfile();a(Ar.create({identity:K.identity,profile:w,authApi:R}))}catch(K){I.post(new Fr.SP("Login failed",K))}};return t.createElement(Aa,null,t.createElement(Je,{variant:"fullHeight",title:f,actions:t.createElement(c.Z,{color:"primary",variant:"outlined",onClick:U},"Sign In")},t.createElement(ie.Z,{variant:"body1"},g)))},loader:async(n,a)=>{const u=n.get(a),f=await u.getBackstageIdentity({optional:!0});if(!f)return;const g=await u.getProfile();return Ar.create({identity:f.identity,profile:g,authApi:u})}},Bi={Component:({onSignInSuccess:n})=>t.createElement(Aa,null,t.createElement(Je,{title:"Guest",variant:"fullHeight",actions:t.createElement(c.Z,{color:"primary",variant:"outlined",onClick:()=>n(new va)},"Enter")},t.createElement(ie.Z,{variant:"body1"},"Enter as a Guest User.",t.createElement("br",null),"You will not have a verified identity,",t.createElement("br",null),"meaning some features might be unavailable."))),loader:async()=>new va};var Mi=e(94106),uo=e(86619),fo=e(74828),Ni=e(45455),Ui=e.n(Ni);const Zi=/^[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+$/i,$i=(0,s.Z)(n=>({form:{display:"flex",flexFlow:"column nowrap"},button:{alignSelf:"center",marginTop:n.spacing(2)}}),{name:"BackstageCustomProvider"}),mo=n=>{const{ref:a,...u}=n;return{inputRef:a,...u}},wi={Component:({onSignInSuccess:n})=>{const a=$i(),{register:u,handleSubmit:f,formState:g}=(0,Mi.cI)({mode:"onChange"}),{errors:R}=g,I=({userId:U})=>{n(Ar.fromLegacy({userId:U,profile:{email:`${U}@example.com`}}))};return t.createElement(Aa,null,t.createElement(Je,{title:"Custom User",variant:"fullHeight"},t.createElement(ie.Z,{variant:"body1"},"Enter your own User ID and credentials.",t.createElement("br",null),"This selection will not be stored."),t.createElement("form",{className:a.form,onSubmit:f(I)},t.createElement(Dn.Z,null,t.createElement(uo.Z,{...mo(u("userId",{required:!0})),label:"User ID",margin:"normal",error:Boolean(R.userId)}),R.userId&&t.createElement(fo.Z,{error:!0},R.userId.message)),t.createElement(Dn.Z,null,t.createElement(uo.Z,{...mo(u("idToken",{required:!1,validate:U=>!U||Zi.test(U)||"Token is not a valid OpenID Connect JWT Token"})),label:"ID Token (optional)",margin:"normal",autoComplete:"off",error:Boolean(R.idToken)}),R.idToken&&t.createElement(fo.Z,{error:!0},R.idToken.message)),t.createElement(c.Z,{type:"submit",color:"primary",variant:"outlined",className:a.button,disabled:!(g==null?void 0:g.isDirty)||!Ui()(R)},"Continue"))))},loader:async()=>{}},Yr="@backstage/core:SignInPage:provider",ho={guest:Bi,custom:wi,common:Fi};function go(n,a){if(n in a)throw new Error(`"${n}" ID is duplicated. IDs of identity providers have to be unique.`)}function Nl(n){return n.reduce((u,f)=>{if(typeof f=="string")return go(f,u),u[f]={components:ho[f],id:f},u;const{id:g}=f;return go(g,u),u[g]={components:ho.common,id:g,config:f},u},{})}const Ul=(n,a)=>{const u=useApi(errorApiRef),f=useApiHolder(),[g,R]=useState(!0),I=useCallback(K=>{a(IdentityApiSignOutProxy.from({identityApi:K,signOut:async()=>{var w;localStorage.removeItem(Yr),await((w=K.signOut)==null?void 0:w.call(K))}}))},[a]);useLayoutEffect(()=>{var ue;if(!g)return;const K=localStorage.getItem(Yr);if(K===null){R(!1);return}const w=n[K];if(!w){R(!1);return}let re=!1;return w.components.loader(f,(ue=w.config)==null?void 0:ue.apiRef).then(Ae=>{re||(Ae?I(Ae):R(!1))}).catch(Ae=>{re||(localStorage.removeItem(Yr),u.post(Ae),R(!1))}),()=>{re=!0}},[g,u,a,f,n,I]);const U=useMemo(()=>Object.keys(n).map(K=>{const w=n[K],{Component:re}=w.components,ue=Ae=>{localStorage.setItem(Yr,w.id),I(Ae)};return React.createElement(re,{key:w.id,config:w.config,onSignInSuccess:ue})}),[n,I]);return[g,U]},Wi=({onSignInSuccess:n,providers:a=[],title:u,align:f="left"})=>{const g=useApi(configApiRef),R=useStyles(),I=getSignInProviders(a),[U,K]=useSignInProviders(I,n);return U?React.createElement(Progress,null):React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:g.getString("app.title")}),React.createElement(Content,null,u&&React.createElement(ContentHeader,{title:u,textAlign:f}),React.createElement(Grid,{container:!0,justifyContent:f==="center"?f:"flex-start",spacing:2,component:"ul",classes:R},K)))},zi=({provider:n,auto:a,onSignInSuccess:u})=>{const f=useStyles(),g=useApi(n.apiRef),R=useApi(configApiRef),[I,U]=useState(),[K,w]=useState(!1),re=async({checkExisting:ue,showPopup:Ae})=>{try{let Se;if(ue&&(Se=await g.getBackstageIdentity({optional:!0})),!Se&&(Ae||a)&&(w(!0),Se=await g.getBackstageIdentity({instantPopup:!0}),!Se))throw new Error(`The ${n.title} provider is not configured to support sign-in`);if(!Se){w(!0);return}const Te=await g.getProfile();u(UserIdentity.create({identity:Se.identity,authApi:g,profile:Te}))}catch(Se){U(Se),w(!0)}};return useMount(()=>re({checkExisting:!0})),K?React.createElement(Page,{themeId:"home"},React.createElement(Header,{title:R.getString("app.title")}),React.createElement(Content,null,React.createElement(Grid,{container:!0,justifyContent:"center",spacing:2,component:"ul",classes:f},React.createElement(GridItem,null,React.createElement(InfoCard,{variant:"fullHeight",title:n.title,actions:React.createElement(Button,{color:"primary",variant:"outlined",onClick:()=>{re({showPopup:!0})}},"Sign In")},React.createElement(Typography,{variant:"body1"},n.message),I&&I.name!=="PopupRejectedError"&&React.createElement(Typography,{variant:"body1",color:"error"},I.message)))))):React.createElement(Progress,null)};function Zl(n){return"provider"in n?React.createElement(zi,{...n}):React.createElement(Wi,{...n})}const Hi=(0,s.Z)(n=>({root:{padding:n.spacing(0,2,0,2.5),minHeight:n.spacing(3)},indicator:{backgroundColor:n.palette.info.main,height:n.spacing(.3)}}),{name:"BackstageTabbedCard"}),Vi=(0,H.Z)(n=>({root:{padding:n.spacing(2,2,2,2.5),display:"inline-block"},title:{fontWeight:700},subheader:{paddingTop:n.spacing(1)}}),{name:"BackstageTabbedCardBoldHeader"})(F.Z);function $l(n){const{slackChannel:a,errorBoundaryProps:u,children:f,title:g,deepLink:R,value:I,onChange:U}=n,K=Hi(),[w,re]=useState(0),ue=U||((Te,dt)=>re(dt));let Ae;I?React.Children.map(f,Te=>{(Te==null?void 0:Te.props.value)===I&&(Ae=Te==null?void 0:Te.props.children)}):React.Children.map(f,(Te,dt)=>{dt===w&&(Ae=Te==null?void 0:Te.props.children)});const Se=u||(a?{slackChannel:a}:{});return React.createElement(Card,null,React.createElement(ErrorBoundary,{...Se},g&&React.createElement(Vi,{title:g}),React.createElement(Tabs,{selectionFollowsFocus:!0,classes:K,value:I||w,onChange:ue},f),React.createElement(Divider,null),React.createElement(CardContent,null,Ae),R&&React.createElement(BottomLink,{...R})))}const ji=(0,s.Z)(n=>({root:{minWidth:n.spacing(6),minHeight:n.spacing(3),margin:n.spacing(0,2,0,0),padding:n.spacing(.5,0,.5,0),textTransform:"none","&:hover":{opacity:1,backgroundColor:"transparent",color:n.palette.text.primary}},selected:{fontWeight:"bold"}}),{name:"BackstageCardTab"});function wl(n){const{children:a,...u}=n,f=ji();return React.createElement(Tab,{disableRipple:!0,classes:f,...u})}},88609:function(J,o,e){"use strict";e.d(o,{Os:function(){return d},fC:function(){return E}});var r=e(76241),t=e(2784);const l=(0,r.CT)("analytics-context"),d=()=>{const p=(0,t.useContext)(l);if(p===void 0)return{routeRef:"unknown",pluginId:"root",extension:"App"};const h=p.atVersion(1);if(h===void 0)throw new Error("No context found for version 1.");return h},E=p=>{const{attributes:h,children:m}=p,y={...d(),...h},i=(0,r.EI)({1:y});return t.createElement(l.Provider,{value:i},m)};function s(p,h){const m=c=>React.createElement(E,{attributes:h},React.createElement(p,{...c}));return m.displayName=`WithAnalyticsContext(${p.displayName||p.name||"Component"})`,m}},28461:function(J,o,e){"use strict";e.d(o,{f:function(){return r.fC},z:function(){return s}});var r=e(88609),t=e(27399),l=e(2784);class d{constructor(h,m={routeRef:"unknown",pluginId:"root",extension:"App"}){this.analyticsApi=h,this.context=m}setContext(h){this.context=h}captureEvent(h,m,{value:c,attributes:y}={}){try{this.analyticsApi.captureEvent({action:h,subject:m,value:c,attributes:y,context:this.context})}catch(i){console.warn("Error during analytics event capture. %o",i)}}}function E(){try{return(0,t.useApi)(t.analyticsApiRef)}catch{return{captureEvent:()=>{}}}}function s(){const p=(0,l.useRef)(null),h=(0,r.Os)(),m=E();function c(){return p.current===null&&(p.current=new d(m)),p.current}const y=c();return y.setContext(h),y}},39135:function(J,o,e){"use strict";e.d(o,{CL:function(){return z},sM:function(){return t},$v:function(){return L},v_:function(){return V},hg:function(){return M},uB:function(){return D},iW:function(){return p},bq:function(){return S},Ds:function(){return P},NW:function(){return O},VE:function(){return x},W0:function(){return q},gP:function(){return se},F4:function(){return d},ux:function(){return s},Kp:function(){return l},$4:function(){return pe},p_:function(){return h},br:function(){return m},ZM:function(){return Le},eC:function(){return c},D:function(){return E},gW:function(){return i},Yp:function(){return y},E6:function(){return me}});var r=e(86833),t;(function(Ve){const Pe="SignedIn";Ve.SignedIn=Pe;const Qe="SignedOut";Ve.SignedOut=Qe})(t||(t={}));const l=(0,r.T0)({id:"core.auth.google"}),d=(0,r.T0)({id:"core.auth.github"}),E=(0,r.T0)({id:"core.auth.okta"}),s=(0,r.T0)({id:"core.auth.gitlab"}),p=(0,r.T0)({id:"core.auth.auth0"}),h=(0,r.T0)({id:"core.auth.microsoft"}),m=(0,r.T0)({id:"core.auth.oauth2"}),c=(0,r.T0)({id:"core.auth.oidc"}),y=(0,r.T0)({id:"core.auth.saml"}),i=(0,r.T0)({id:"core.auth.onelogin"}),S=(0,r.T0)({id:"core.auth.bitbucket"}),D=(0,r.T0)({id:"core.auth.atlassian"}),L=(0,r.T0)({id:"core.alert"}),V=(0,r.T0)({id:"core.analytics"}),M=(0,r.T0)({id:"core.apptheme"}),P=(0,r.T0)({id:"core.config"}),O=(0,r.T0)({id:"core.discovery"}),x=(0,r.T0)({id:"core.error"});var z;(function(Ve){Ve[Ve.None=0]="None";const Qe=1;Ve[Ve.Active=Qe]="Active"})(z||(z={}));const q=(0,r.T0)({id:"core.featureflags"}),se=(0,r.T0)({id:"core.fetch"}),pe=(0,r.T0)({id:"core.identity"}),Le=(0,r.T0)({id:"core.oauthrequest"}),me=(0,r.T0)({id:"core.storage"})},27399:function(J,o,e){"use strict";e.d(o,{createApiFactory:function(){return r.createApiFactory},createApiRef:function(){return r.T0},useApi:function(){return r.h_},useApiHolder:function(){return r.I_},FeatureFlagState:function(){return t.CL},SessionState:function(){return t.sM},alertApiRef:function(){return t.$v},analyticsApiRef:function(){return t.v_},appThemeApiRef:function(){return t.hg},atlassianAuthApiRef:function(){return t.uB},auth0AuthApiRef:function(){return t.iW},bitbucketAuthApiRef:function(){return t.bq},configApiRef:function(){return t.Ds},discoveryApiRef:function(){return t.NW},errorApiRef:function(){return t.VE},featureFlagsApiRef:function(){return t.W0},fetchApiRef:function(){return t.gP},githubAuthApiRef:function(){return t.F4},gitlabAuthApiRef:function(){return t.ux},googleAuthApiRef:function(){return t.Kp},identityApiRef:function(){return t.$4},microsoftAuthApiRef:function(){return t.p_},oauth2ApiRef:function(){return t.br},oauthRequestApiRef:function(){return t.ZM},oidcAuthApiRef:function(){return t.eC},oktaAuthApiRef:function(){return t.D},oneloginAuthApiRef:function(){return t.gW},samlAuthApiRef:function(){return t.Yp},storageApiRef:function(){return t.E6}});var r=e(86833);e.o(r,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return r.FeatureFlagState}}),e.o(r,"SessionState")&&e.d(o,{SessionState:function(){return r.SessionState}}),e.o(r,"alertApiRef")&&e.d(o,{alertApiRef:function(){return r.alertApiRef}}),e.o(r,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return r.analyticsApiRef}}),e.o(r,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return r.appThemeApiRef}}),e.o(r,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return r.atlassianAuthApiRef}}),e.o(r,"attachComponentData")&&e.d(o,{attachComponentData:function(){return r.attachComponentData}}),e.o(r,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return r.auth0AuthApiRef}}),e.o(r,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return r.bitbucketAuthApiRef}}),e.o(r,"configApiRef")&&e.d(o,{configApiRef:function(){return r.configApiRef}}),e.o(r,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return r.createComponentExtension}}),e.o(r,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return r.createExternalRouteRef}}),e.o(r,"createPlugin")&&e.d(o,{createPlugin:function(){return r.createPlugin}}),e.o(r,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return r.createRoutableExtension}}),e.o(r,"createRouteRef")&&e.d(o,{createRouteRef:function(){return r.createRouteRef}}),e.o(r,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return r.discoveryApiRef}}),e.o(r,"errorApiRef")&&e.d(o,{errorApiRef:function(){return r.errorApiRef}}),e.o(r,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return r.featureFlagsApiRef}}),e.o(r,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return r.fetchApiRef}}),e.o(r,"getComponentData")&&e.d(o,{getComponentData:function(){return r.getComponentData}}),e.o(r,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return r.githubAuthApiRef}}),e.o(r,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return r.gitlabAuthApiRef}}),e.o(r,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return r.googleAuthApiRef}}),e.o(r,"identityApiRef")&&e.d(o,{identityApiRef:function(){return r.identityApiRef}}),e.o(r,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return r.microsoftAuthApiRef}}),e.o(r,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return r.oauth2ApiRef}}),e.o(r,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return r.oauthRequestApiRef}}),e.o(r,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return r.oidcAuthApiRef}}),e.o(r,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return r.oktaAuthApiRef}}),e.o(r,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return r.oneloginAuthApiRef}}),e.o(r,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return r.samlAuthApiRef}}),e.o(r,"storageApiRef")&&e.d(o,{storageApiRef:function(){return r.storageApiRef}}),e.o(r,"useApp")&&e.d(o,{useApp:function(){return r.useApp}}),e.o(r,"useElementFilter")&&e.d(o,{useElementFilter:function(){return r.useElementFilter}}),e.o(r,"useRouteRef")&&e.d(o,{useRouteRef:function(){return r.useRouteRef}}),e.o(r,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return r.useRouteRefParams}});var t=e(39135)},90515:function(J,o,e){"use strict";e.d(o,{T:function(){return t}});class r{constructor(d){if(this.config=d,!d.id.split(".").flatMap(s=>s.split("-")).every(s=>s.match(/^[a-z][a-z0-9]*$/)))throw new Error(`API id must only contain period separated lowercase alphanum tokens with dashes, got '${d.id}'`)}get id(){return this.config.id}get T(){throw new Error(`tried to read ApiRef.T of ${this}`)}toString(){return`apiRef{${this.config.id}}`}}function t(l){return new r(l)}},25182:function(J,o,e){"use strict";e.d(o,{n:function(){return r}});function r(t,l){return"id"in t?{api:t,deps:{},factory:()=>l}:t}},86833:function(J,o,e){"use strict";e.d(o,{h_:function(){return r.h_},I_:function(){return r.I_},T0:function(){return t.T},createApiFactory:function(){return E.n}});var r=e(5761),t=e(90515),l=e(16362),d=e.n(l);e.o(l,"FeatureFlagState")&&e.d(o,{FeatureFlagState:function(){return l.FeatureFlagState}}),e.o(l,"SessionState")&&e.d(o,{SessionState:function(){return l.SessionState}}),e.o(l,"alertApiRef")&&e.d(o,{alertApiRef:function(){return l.alertApiRef}}),e.o(l,"analyticsApiRef")&&e.d(o,{analyticsApiRef:function(){return l.analyticsApiRef}}),e.o(l,"appThemeApiRef")&&e.d(o,{appThemeApiRef:function(){return l.appThemeApiRef}}),e.o(l,"atlassianAuthApiRef")&&e.d(o,{atlassianAuthApiRef:function(){return l.atlassianAuthApiRef}}),e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"auth0AuthApiRef")&&e.d(o,{auth0AuthApiRef:function(){return l.auth0AuthApiRef}}),e.o(l,"bitbucketAuthApiRef")&&e.d(o,{bitbucketAuthApiRef:function(){return l.bitbucketAuthApiRef}}),e.o(l,"configApiRef")&&e.d(o,{configApiRef:function(){return l.configApiRef}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"discoveryApiRef")&&e.d(o,{discoveryApiRef:function(){return l.discoveryApiRef}}),e.o(l,"errorApiRef")&&e.d(o,{errorApiRef:function(){return l.errorApiRef}}),e.o(l,"featureFlagsApiRef")&&e.d(o,{featureFlagsApiRef:function(){return l.featureFlagsApiRef}}),e.o(l,"fetchApiRef")&&e.d(o,{fetchApiRef:function(){return l.fetchApiRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"githubAuthApiRef")&&e.d(o,{githubAuthApiRef:function(){return l.githubAuthApiRef}}),e.o(l,"gitlabAuthApiRef")&&e.d(o,{gitlabAuthApiRef:function(){return l.gitlabAuthApiRef}}),e.o(l,"googleAuthApiRef")&&e.d(o,{googleAuthApiRef:function(){return l.googleAuthApiRef}}),e.o(l,"identityApiRef")&&e.d(o,{identityApiRef:function(){return l.identityApiRef}}),e.o(l,"microsoftAuthApiRef")&&e.d(o,{microsoftAuthApiRef:function(){return l.microsoftAuthApiRef}}),e.o(l,"oauth2ApiRef")&&e.d(o,{oauth2ApiRef:function(){return l.oauth2ApiRef}}),e.o(l,"oauthRequestApiRef")&&e.d(o,{oauthRequestApiRef:function(){return l.oauthRequestApiRef}}),e.o(l,"oidcAuthApiRef")&&e.d(o,{oidcAuthApiRef:function(){return l.oidcAuthApiRef}}),e.o(l,"oktaAuthApiRef")&&e.d(o,{oktaAuthApiRef:function(){return l.oktaAuthApiRef}}),e.o(l,"oneloginAuthApiRef")&&e.d(o,{oneloginAuthApiRef:function(){return l.oneloginAuthApiRef}}),e.o(l,"samlAuthApiRef")&&e.d(o,{samlAuthApiRef:function(){return l.samlAuthApiRef}}),e.o(l,"storageApiRef")&&e.d(o,{storageApiRef:function(){return l.storageApiRef}}),e.o(l,"useApp")&&e.d(o,{useApp:function(){return l.useApp}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var E=e(25182)},16362:function(){},5761:function(J,o,e){"use strict";e.d(o,{I_:function(){return l},h_:function(){return d}});var r=e(2784),t=e(76241);function l(){const s=(0,t.Vt)("api-context");if(!s)throw new Error("API context is not available");const p=s.atVersion(1);if(!p)throw new Error("ApiContext v1 not available");return p}function d(s){const h=l().get(s);if(!h)throw new Error(`No implementation available for ${s}`);return h}function E(s){return function(h){const m=y=>{const i=l(),S={};for(const D in s)if(s.hasOwnProperty(D)){const L=s[D],V=i.get(L);if(!V)throw new Error(`No implementation available for ${L}`);S[D]=V}return React.createElement(h,{...y,...S})},c=h.displayName||h.name||"Component";return m.displayName=`withApis(${c})`,m}}},31311:function(J,o,e){"use strict";e.d(o,{q:function(){return r.q}});var r=e(32483),t=e(67229),l=e.n(t);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}})},67229:function(){},32483:function(J,o,e){"use strict";e.d(o,{q:function(){return t}});var r=e(76241);const t=()=>{const l=(0,r.Vt)("app-context");if(!l)throw new Error("App context is not available");const d=l.atVersion(1);if(!d)throw new Error("AppContext v1 not available");return d}},74181:function(J,o,e){"use strict";e.d(o,{R5:function(){return d},CO:function(){return i},P4:function(){return y},IY:function(){return E},vJ:function(){return M}});var r=e(76241);const t=(0,r.uW)("component-data-store",()=>new WeakMap),l="__backstage_data";function d(P,O,x){var se;const z=P;let q=(se=z[l])!=null?se:t.get(P);if(q||(q={map:new Map},Object.defineProperty(z,l,{enumerable:!1,configurable:!0,writable:!1,value:q}),t.set(P,q)),q.map.has(O)){const pe=P.displayName||P.name;throw new Error(`Attempted to attach duplicate data "${O}" to component "${pe}"`)}q.map.set(O,x)}function E(P,O){var q;if(!P)return;const x=P.type;if(!x)return;const z=(q=x[l])!=null?q:t.get(x);if(!!z)return z.map.get(O)}var s=e(2784),p=e(88609),h=e(31311),m=e(82772);class c extends s.Component{constructor(){super(...arguments);_(this,"state",{error:void 0});_(this,"handleErrorReset",()=>{this.setState({error:void 0})})}static getDerivedStateFromError(O){return{error:O}}render(){const{error:O}=this.state,{app:x,plugin:z}=this.props,{ErrorBoundaryFallback:q}=x.getComponents();return O?s.createElement(q,{error:O,resetError:this.handleErrorReset,plugin:z}):this.props.children}}function y(P){const{component:O,mountPoint:x,name:z}=P;return S({component:{lazy:()=>O().then(q=>{const se=Le=>{try{(0,m.tg)(x)}catch(me){if(typeof me=="object"&&me!==null){const{message:Ve}=me;if(typeof Ve=="string"&&Ve.startsWith("No path for "))throw new Error(`Routable extension component with mount point ${x} was not discovered in the app element tree. Routable extension components may not be rendered by other components and must be directly available as an element within the App provider component.`)}throw me}return s.createElement(q,{...Le})},pe=z||q.displayName||q.name||"LazyComponent";return se.displayName=`RoutableExtension(${pe})`,se},q=>pe=>{const Le=(0,h.q)(),{BootErrorPage:me}=Le.getComponents();return s.createElement(me,{step:"load-chunk",error:q})})},data:{"core.mountPoint":x},name:z})}function i(P){const{component:O,name:x}=P;return S({component:O,name:x})}function S(P){const{data:O={},name:x}=P;x||console.warn("Declaring extensions without name is DEPRECATED. Make sure that all usages of createReactExtension, createComponentExtension and createRoutableExtension provide a name.");let z;if("lazy"in P.component){const se=P.component.lazy;z=(0,s.lazy)(()=>se().then(pe=>({default:pe})))}else z=P.component.sync;const q=x||z.displayName||z.name||"Component";return{expose(se){const pe=Le=>{const me=(0,h.q)(),{Progress:Ve}=me.getComponents(),Pe=O==null?void 0:O["core.mountPoint"];return s.createElement(s.Suspense,{fallback:s.createElement(Ve,null)},s.createElement(c,{app:me,plugin:se},s.createElement(p.fC,{attributes:{pluginId:se.getId(),...x&&{extension:x},...Pe&&{routeRef:Pe.id}}},s.createElement(z,{...Le}))))};d(pe,"core.plugin",se);for(const[Le,me]of Object.entries(O))d(pe,Le,me);return pe.displayName=`Extension(${q})`,pe}}}var D=e(27399);function L(P,O,x,z){return s.Children.toArray(P).flatMap(q=>{if(!(0,s.isValidElement)(q))return[];if(q.type===s.Fragment)return L(q.props.children,O,x,z);if(E(q,"core.featureFlagged")){const se=q.props;return("with"in se?O.isActive(se.with):!O.isActive(se.without))?L(q.props.children,O,x,z):[]}if(x===void 0||x(q))return[q];if(z)throw new Error(z);return L(q.props.children,O,x,z)})}class V{constructor(O,x){this.node=O,this.featureFlagsApi=x}selectByComponentData(O){const x=L(this.node,this.featureFlagsApi,z=>E(z,O.key)!==void 0,O.withStrictError);return new V(x,this.featureFlagsApi)}findComponentData(O){return L(this.node,this.featureFlagsApi,z=>E(z,O.key)!==void 0).map(z=>E(z,O.key)).filter(z=>z!==void 0)}getElements(){return L(this.node,this.featureFlagsApi)}}function M(P,O,x=[]){const z=(0,D.useApi)(D.featureFlagsApiRef),q=new V(P,z);return(0,s.useMemo)(()=>O(q),[P,...x])}},80274:function(){},36964:function(J,o,e){"use strict";e.d(o,{AnalyticsContext:function(){return r.f},useAnalytics:function(){return r.z},FeatureFlagState:function(){return t.FeatureFlagState},SessionState:function(){return t.SessionState},alertApiRef:function(){return t.alertApiRef},analyticsApiRef:function(){return t.analyticsApiRef},appThemeApiRef:function(){return t.appThemeApiRef},atlassianAuthApiRef:function(){return t.atlassianAuthApiRef},auth0AuthApiRef:function(){return t.auth0AuthApiRef},bitbucketAuthApiRef:function(){return t.bitbucketAuthApiRef},configApiRef:function(){return t.configApiRef},discoveryApiRef:function(){return t.discoveryApiRef},errorApiRef:function(){return t.errorApiRef},featureFlagsApiRef:function(){return t.featureFlagsApiRef},fetchApiRef:function(){return t.fetchApiRef},githubAuthApiRef:function(){return t.githubAuthApiRef},gitlabAuthApiRef:function(){return t.gitlabAuthApiRef},googleAuthApiRef:function(){return t.googleAuthApiRef},identityApiRef:function(){return t.identityApiRef},microsoftAuthApiRef:function(){return t.microsoftAuthApiRef},oauth2ApiRef:function(){return t.oauth2ApiRef},oauthRequestApiRef:function(){return t.oauthRequestApiRef},oidcAuthApiRef:function(){return t.oidcAuthApiRef},oktaAuthApiRef:function(){return t.oktaAuthApiRef},oneloginAuthApiRef:function(){return t.oneloginAuthApiRef},samlAuthApiRef:function(){return t.samlAuthApiRef},storageApiRef:function(){return t.storageApiRef},useApp:function(){return l.q},attachComponentData:function(){return d.R5},createComponentExtension:function(){return d.CO},createRoutableExtension:function(){return d.P4},getComponentData:function(){return d.IY},useElementFilter:function(){return d.vJ},createPlugin:function(){return p.r},createExternalRouteRef:function(){return h.x8},createRouteRef:function(){return h.NT},useRouteRef:function(){return h.tg},useRouteRefParams:function(){return h.Oi}});var r=e(28461),t=e(27399);e.o(t,"attachComponentData")&&e.d(o,{attachComponentData:function(){return t.attachComponentData}}),e.o(t,"createApiFactory")&&e.d(o,{createApiFactory:function(){return t.createApiFactory}}),e.o(t,"createApiRef")&&e.d(o,{createApiRef:function(){return t.createApiRef}}),e.o(t,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return t.createComponentExtension}}),e.o(t,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return t.createExternalRouteRef}}),e.o(t,"createPlugin")&&e.d(o,{createPlugin:function(){return t.createPlugin}}),e.o(t,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return t.createRoutableExtension}}),e.o(t,"createRouteRef")&&e.d(o,{createRouteRef:function(){return t.createRouteRef}}),e.o(t,"getComponentData")&&e.d(o,{getComponentData:function(){return t.getComponentData}}),e.o(t,"useApi")&&e.d(o,{useApi:function(){return t.useApi}}),e.o(t,"useApiHolder")&&e.d(o,{useApiHolder:function(){return t.useApiHolder}}),e.o(t,"useApp")&&e.d(o,{useApp:function(){return t.useApp}}),e.o(t,"useElementFilter")&&e.d(o,{useElementFilter:function(){return t.useElementFilter}}),e.o(t,"useRouteRef")&&e.d(o,{useRouteRef:function(){return t.useRouteRef}}),e.o(t,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return t.useRouteRefParams}});var l=e(31311);e.o(l,"attachComponentData")&&e.d(o,{attachComponentData:function(){return l.attachComponentData}}),e.o(l,"createApiFactory")&&e.d(o,{createApiFactory:function(){return l.createApiFactory}}),e.o(l,"createApiRef")&&e.d(o,{createApiRef:function(){return l.createApiRef}}),e.o(l,"createComponentExtension")&&e.d(o,{createComponentExtension:function(){return l.createComponentExtension}}),e.o(l,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return l.createExternalRouteRef}}),e.o(l,"createPlugin")&&e.d(o,{createPlugin:function(){return l.createPlugin}}),e.o(l,"createRoutableExtension")&&e.d(o,{createRoutableExtension:function(){return l.createRoutableExtension}}),e.o(l,"createRouteRef")&&e.d(o,{createRouteRef:function(){return l.createRouteRef}}),e.o(l,"getComponentData")&&e.d(o,{getComponentData:function(){return l.getComponentData}}),e.o(l,"useApi")&&e.d(o,{useApi:function(){return l.useApi}}),e.o(l,"useApiHolder")&&e.d(o,{useApiHolder:function(){return l.useApiHolder}}),e.o(l,"useElementFilter")&&e.d(o,{useElementFilter:function(){return l.useElementFilter}}),e.o(l,"useRouteRef")&&e.d(o,{useRouteRef:function(){return l.useRouteRef}}),e.o(l,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return l.useRouteRefParams}});var d=e(74181),E=e(80274),s=e.n(E);e.o(E,"createApiFactory")&&e.d(o,{createApiFactory:function(){return E.createApiFactory}}),e.o(E,"createApiRef")&&e.d(o,{createApiRef:function(){return E.createApiRef}}),e.o(E,"createExternalRouteRef")&&e.d(o,{createExternalRouteRef:function(){return E.createExternalRouteRef}}),e.o(E,"createPlugin")&&e.d(o,{createPlugin:function(){return E.createPlugin}}),e.o(E,"createRouteRef")&&e.d(o,{createRouteRef:function(){return E.createRouteRef}}),e.o(E,"useApi")&&e.d(o,{useApi:function(){return E.useApi}}),e.o(E,"useApiHolder")&&e.d(o,{useApiHolder:function(){return E.useApiHolder}}),e.o(E,"useRouteRef")&&e.d(o,{useRouteRef:function(){return E.useRouteRef}}),e.o(E,"useRouteRefParams")&&e.d(o,{useRouteRefParams:function(){return E.useRouteRefParams}});var p=e(96896),h=e(82772)},96896:function(J,o,e){"use strict";e.d(o,{r:function(){return t}});class r{constructor(d){this.config=d}getId(){return this.config.id}getApis(){var d;return(d=this.config.apis)!=null?d:[]}getFeatureFlags(){var d,E;return(E=(d=this.config.featureFlags)==null?void 0:d.slice())!=null?E:[]}get routes(){var d;return(d=this.config.routes)!=null?d:{}}get externalRoutes(){var d;return(d=this.config.externalRoutes)!=null?d:{}}provide(d){return d.expose(this)}toString(){return`plugin{${this.config.id}}`}}function t(l){return new r(l)}},82772:function(J,o,e){var D,L,V;"use strict";e.d(o,{x8:function(){return m},NT:function(){return d},tg:function(){return i},Oi:function(){return S}});var r=e(76241);const t=(0,r.uW)("route-ref-type",()=>Symbol("route-ref-type"));class l{constructor(P,O){_(this,D,"absolute");this.id=P,this.params=O}get title(){return this.id}toString(){return`routeRef{type=absolute,id=${this.id}}`}}D=t;function d(M){var P;return new l(M.id,(P=M.params)!=null?P:[])}const E=/^\w+$/;class s{constructor(P,O,x,z){_(this,L,"sub");this.id=P,this.path=O,this.parent=x,this.params=z}toString(){return`routeRef{type=sub,id=${this.id}}`}}L=t;function p(M){const{id:P,path:O,parent:x}=M,z=O.split("/").filter(pe=>pe.startsWith(":")).map(pe=>pe.substring(1)),q=[...x.params,...z];if(x.params.some(pe=>z.includes(pe)))throw new Error("SubRouteRef may not have params that overlap with its parent");if(!O.startsWith("/"))throw new Error(`SubRouteRef path must start with '/', got '${O}'`);if(O.endsWith("/"))throw new Error(`SubRouteRef path must not end with '/', got '${O}'`);for(const pe of z)if(!E.test(pe))throw new Error(`SubRouteRef path has invalid param, got '${pe}'`);return new s(P,O,x,q)}class h{constructor(P,O,x){_(this,V,"external");this.id=P,this.params=O,this.optional=x}toString(){return`routeRef{type=external,id=${this.id}}`}}V=t;function m(M){var P;return new h(M.id,(P=M.params)!=null?P:[],Boolean(M.optional))}var c=e(2784),y=e(10289);function i(M){const P=(0,y.TH)(),O=(0,r.Vt)("routing-context");if(!O)throw new Error("Routing context is not available");const x=O.atVersion(1),z=(0,c.useMemo)(()=>x&&x.resolve(M,P),[x,M,P]);if(!O)throw new Error("useRouteRef used outside of routing context");if(!x)throw new Error("RoutingContext v1 not available");const q="optional"in M&&M.optional;if(!z&&!q)throw new Error(`No path for ${M}`);return z}function S(M){return(0,y.UO)()}},10179:function(J,o,e){"use strict";e.d(o,{SP:function(){return D},dR:function(){return y},VL:function(){return V},BD:function(){return t}});function r(M){if(typeof M!="object"||M===null||Array.isArray(M))return!1;const P=M;return!(typeof P.name!="string"||P.name===""||typeof P.message!="string")}function t(M){if(typeof M!="object"||M===null||Array.isArray(M))throw new Error(`Encountered invalid error, not an object, got '${M}'`);const P=M;if(typeof P.name!="string"||P.name==="")throw new Error(`Encountered error object without a name, got '${M}'`);if(typeof P.message!="string")throw new Error(`Encountered error object without a message, got '${M}'`)}var l=e(24852);function d(M,P){const O=serializeErrorInternal(M),x={name:"Unknown",message:"<no reason given>",...O};return(P==null?void 0:P.includeStack)||delete x.stack,x}function E(M){const P=(0,l.deserializeError)(M);return M.stack||(P.stack=void 0),P}function s(M){if(r(M)){const P=String(M);return P!=="[object Object]"?P:`${M.name}: ${M.message}`}return`unknown error '${M}'`}class p extends Error{constructor(P,O){var z;let x=P;if(O!==void 0){const q=s(O);x?x+=`; caused by ${q}`:x=`caused by ${q}`}super(x);_(this,"cause");(z=Error.captureStackTrace)==null||z.call(Error,this,this.constructor),this.name=this.constructor.name,this.cause=r(O)?O:void 0}}class h extends null{}class m extends null{}class c extends null{}class y extends p{}class i extends null{}class S extends null{}class D extends p{constructor(P,O){super(P,O);this.name=r(O)?O.name:"Error"}}async function L(M){var P;try{const O=await M.text();if(O){if((P=M.headers.get("content-type"))==null?void 0:P.startsWith("application/json"))try{const x=JSON.parse(O);if(x.error&&x.response)return x}catch{}return{error:{name:"Error",message:`Request failed with status ${M.status} ${M.statusText}, ${O}`},response:{statusCode:M.status}}}}catch{}return{error:{name:"Error",message:`Request failed with status ${M.status} ${M.statusText}`},response:{statusCode:M.status}}}class V extends Error{constructor(P){super(P.message);_(this,"response");_(this,"body");_(this,"cause");this.name="ResponseError",this.response=P.response,this.body=P.data,this.cause=P.cause}static async fromResponse(P){const O=await L(P),x=O.response.statusCode||P.status,z=O.error.name||P.statusText,q=`Request failed with ${x} ${z}`,se=E(O.error);return new V({message:q,response:P,data:O,cause:se})}}},36356:function(J,o,e){var y,i,S,D,L;"use strict";e.d(o,{nW:function(){return c},ae:function(){return s},q3:function(){return p}});var r=e(36964);const t=(0,r.createApiRef)({id:"core.scmauth"});class l{constructor(P){yn(this,y,void 0);Cn(this,y,P)}async getCredentials(P){const O=new URL(P.url),x=Xe(this,y).find(z=>z.isUrlSupported(O));if(!x)throw new Error(`No authentication provider available for access to '${P.url}'`);return x.getCredentials(P)}}y=new WeakMap;const V=class{constructor(P,O,x,z){yn(this,i,void 0);yn(this,S,void 0);yn(this,D,void 0);yn(this,L,void 0);Cn(this,i,O),Cn(this,S,x),Cn(this,D,z),Cn(this,L,P)}static createDefaultApiFactory(){return createApiFactory({api:scmAuthApiRef,deps:{github:githubAuthApiRef,gitlab:gitlabAuthApiRef,azure:microsoftAuthApiRef,bitbucket:bitbucketAuthApiRef},factory:({github:P,gitlab:O,azure:x,bitbucket:z})=>V.merge(V.forGithub(P),V.forGitlab(O),V.forAzure(x),V.forBitbucket(z))})}static forAuthApi(P,O){return new V("generic",P,O.host,O.scopeMapping)}static forGithub(P,O){var z;const x=(z=O==null?void 0:O.host)!=null?z:"github.com";return new V("github",P,x,{default:["repo","read:org","read:user"],repoWrite:["gist"]})}static forGitlab(P,O){var z;const x=(z=O==null?void 0:O.host)!=null?z:"gitlab.com";return new V("gitlab",P,x,{default:["read_user","read_api","read_repository"],repoWrite:["write_repository","api"]})}static forAzure(P,O){var z;const x=(z=O==null?void 0:O.host)!=null?z:"dev.azure.com";return new V("azure",P,x,{default:["vso.build","vso.code","vso.graph","vso.project","vso.profile"],repoWrite:["vso.code_manage"]})}static forBitbucket(P,O){var z;const x=(z=O==null?void 0:O.host)!=null?z:"bitbucket.org";return new V("bitbucket",P,x,{default:["account","team","pullrequest","snippet","issue"],repoWrite:["pullrequest:write","snippet:write","issue:write"]})}static merge(...P){return new l(P)}isUrlSupported(P){return P.host===Xe(this,S)}getAdditionalScopesForProvider(P){var O,x;return!(P==null?void 0:P.customScopes)||Xe(this,L)==="generic"?[]:(x=(O=P.customScopes)==null?void 0:O[Xe(this,L)])!=null?x:[]}async getCredentials(P){const{url:O,additionalScope:x,...z}=P,q=Xe(this,D).default.slice();(x==null?void 0:x.repoWrite)&&q.push(...Xe(this,D).repoWrite);const se=this.getAdditionalScopesForProvider(x);se.length&&q.push(...se);const pe=[...new Set(q)],Le=await Xe(this,i).getAccessToken(pe,z);return{token:Le,headers:{Authorization:`Bearer ${Le}`}}}};let d=V;i=new WeakMap,S=new WeakMap,D=new WeakMap,L=new WeakMap;var E=e(63925);class s{static fromConfig(P){return E.Lx.fromConfig(P)}}const p=(0,r.createApiRef)({id:"integration.scmintegrations"});var h=e(73250),m=e(2784);const c=M=>{var q;const{type:P}=M,O=(0,r.useApp)(),x=h.Z,z=P&&(q=O.getSystemIcon(P))!=null?q:x;return m.createElement(z,null)}},63925:function(J,o,e){var Ie,Re,Ee,Fe,Rt,ut,Ge;"use strict";e.d(o,{Lx:function(){return Be},Pb:function(){return Lt}});var r=e(82717),t=e.n(r),l=e(76635);function d(j){const v=new URL("http://example.com");return v.host=j,v.host===j}function E(j){try{return new URL(j),!0}catch{return!1}}function s(j,v){return{list(){return j},byUrl(b){try{const W=typeof b=="string"?new URL(b):b;return j.find(ee=>v(ee)===W.host)}catch{return}},byHost(b){return j.find(W=>v(W)===b)}}}function p(j){const{url:v,base:b,lineNumber:W}=j;try{return new URL(v),v}catch{}let ee;if(v.startsWith("/")){const{filepath:Oe}=t()(b);ee=new URL(b);const ge=(0,l.trimEnd)(ee.pathname.substring(0,ee.pathname.length-Oe.length),"/");ee.pathname=`${ge}${v}`}else ee=new URL(v,b);return ee.search=new URL(b).search,W&&(ee.hash=`L${W}`),ee.toString()}const h="GB",ie=class{constructor(v,b,W,ee,Oe,ge){yn(this,Ie,void 0);yn(this,Re,void 0);yn(this,Ee,void 0);yn(this,Fe,void 0);yn(this,Rt,void 0);yn(this,ut,void 0);yn(this,Ge,(...v)=>{const b=new URL(Xe(this,Ie));return b.pathname=v.map(W=>encodeURIComponent(W)).join("/"),b});Cn(this,Ie,v),Cn(this,Re,b),Cn(this,Ee,W),Cn(this,Fe,ee),Cn(this,Rt,Oe),Cn(this,ut,ge)}static fromRepoUrl(v){var At;const b=new URL(v);let W,ee,Oe;const ge=b.pathname.split("/").map(ae=>decodeURIComponent(ae));if(ge[2]==="_git"?(W=ge[1],ee=Oe=ge[3]):ge[3]==="_git"&&(W=ge[1],ee=ge[2],Oe=ge[4]),!W||!ee||!Oe)throw new Error("Azure URL must point to a git repository");const Ce=(At=b.searchParams.get("path"))!=null?At:void 0;let De;const we=b.searchParams.get("version");if(we){if(we.slice(0,2)!=="GB")throw new Error("Azure URL version must point to a git branch");De=we.slice(2)}return new ie(b.origin,W,ee,Oe,Ce,De)}toRepoUrl(){let v;return Xe(this,Ee)===Xe(this,Fe)?v=Xe(this,Ge).call(this,Xe(this,Re),"_git",Xe(this,Fe)):v=Xe(this,Ge).call(this,Xe(this,Re),Xe(this,Ee),"_git",Xe(this,Fe)),Xe(this,Rt)&&v.searchParams.set("path",Xe(this,Rt)),Xe(this,ut)&&v.searchParams.set("version",h+Xe(this,ut)),v.toString()}toFileUrl(){if(!Xe(this,Rt))throw new Error("Azure URL must point to a specific path to be able to download a file");const v=Xe(this,Ge).call(this,Xe(this,Re),Xe(this,Ee),"_apis","git","repositories",Xe(this,Fe),"items");return v.searchParams.set("api-version","6.0"),v.searchParams.set("path",Xe(this,Rt)),Xe(this,ut)&&v.searchParams.set("version",Xe(this,ut)),v.toString()}toArchiveUrl(){const v=Xe(this,Ge).call(this,Xe(this,Re),Xe(this,Ee),"_apis","git","repositories",Xe(this,Fe),"items");return v.searchParams.set("recursionLevel","full"),v.searchParams.set("download","true"),v.searchParams.set("api-version","6.0"),Xe(this,Rt)&&v.searchParams.set("scopePath",Xe(this,Rt)),Xe(this,ut)&&v.searchParams.set("version",Xe(this,ut)),v.toString()}toCommitsUrl(){const v=Xe(this,Ge).call(this,Xe(this,Re),Xe(this,Ee),"_apis","git","repositories",Xe(this,Fe),"commits");return v.searchParams.set("api-version","6.0"),Xe(this,ut)&&v.searchParams.set("searchCriteria.itemVersion.version",Xe(this,ut)),v.toString()}getOwner(){return Xe(this,Re)}getProject(){return Xe(this,Ee)}getRepo(){return Xe(this,Fe)}getPath(){return Xe(this,Rt)}getRef(){return Xe(this,ut)}};let m=ie;Ie=new WeakMap,Re=new WeakMap,Ee=new WeakMap,Fe=new WeakMap,Rt=new WeakMap,ut=new WeakMap,Ge=new WeakMap;const c="dev.azure.com";function y(j){var W;const v=(W=j.getOptionalString("host"))!=null?W:c,b=j.getOptionalString("token");if(!d(v))throw new Error(`Invalid Azure integration config, '${v}' is not a valid host`);return{host:v,token:b}}function i(j){const v=j.map(y);return v.some(b=>b.host===c)||v.push({host:c}),v}const Me=class{constructor(v){this.integrationConfig=v}get type(){return"azure"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){var ee;const{url:b,base:W}=v;if(E(b))return b;try{const Oe=m.fromRepoUrl(W),ge=new URL(W),Ce=new URL(`https://a.com${(ee=Oe.getPath())!=null?ee:""}`),De=new URL(b,Ce).pathname;return ge.searchParams.set("path",De),v.lineNumber&&(ge.searchParams.set("line",String(v.lineNumber)),ge.searchParams.set("lineEnd",String(v.lineNumber+1)),ge.searchParams.set("lineStartColumn","1"),ge.searchParams.set("lineEndColumn","1")),ge.toString()}catch{return new URL(b,W).toString()}}resolveEditUrl(v){return v}};let S=Me;_(S,"factory",({config:v})=>{var W;const b=i((W=v.getOptionalConfigArray("integrations.azure"))!=null?W:[]);return s(b.map(ee=>new Me(ee)),ee=>ee.config.host)});var D=e(48834).Buffer;function L(j){return AzureUrl.fromRepoUrl(j).toFileUrl()}function V(j){return AzureUrl.fromRepoUrl(j).toArchiveUrl()}function M(j){return AzureUrl.fromRepoUrl(j).toCommitsUrl()}function P(j,v){const b=v?{...v}:{};if(j.token){const W=D.from(`:${j.token}`,"utf8");b.Authorization=`Basic ${W.toString("base64")}`}return{headers:b}}const O="bitbucket.org",x="https://api.bitbucket.org/2.0";function z(j){var ge;const v=(ge=j.getOptionalString("host"))!=null?ge:O;let b=j.getOptionalString("apiBaseUrl");const W=j.getOptionalString("token"),ee=j.getOptionalString("username"),Oe=j.getOptionalString("appPassword");if(!d(v))throw new Error(`Invalid Bitbucket integration config, '${v}' is not a valid host`);return b?b=(0,l.trimEnd)(b,"/"):v===O&&(b=x),{host:v,apiBaseUrl:b,token:W,username:ee,appPassword:Oe}}function q(j){const v=j.map(z);return v.some(b=>b.host===O)||v.push({host:O,apiBaseUrl:x}),v}const et=class{constructor(v){this.integrationConfig=v}get type(){return"bitbucket"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){const b=p(v);if(v.lineNumber){const W=new URL(b),ee=W.pathname.split("/").slice(-1)[0];return W.hash=`${ee}-${v.lineNumber}`,W.toString()}return b}resolveEditUrl(v){const b=t()(v),W=new URL(v);return W.searchParams.set("mode","edit"),W.searchParams.set("spa","0"),W.searchParams.set("at",b.ref),W.toString()}};let se=et;_(se,"factory",({config:v})=>{var W;const b=q((W=v.getOptionalConfigArray("integrations.bitbucket"))!=null?W:[]);return s(b.map(ee=>new et(ee)),ee=>ee.config.host)});var pe=e(96279),Le=e(48834).Buffer;async function me(j,v){const{name:b,owner:W,resource:ee}=parseGitUrl(j),Oe=ee==="bitbucket.org";let ge=Oe?`${v.apiBaseUrl}/repositories/${W}/${b}`:`${v.apiBaseUrl}/projects/${W}/repos/${b}/default-branch`,Ce=await fetch(ge,Qe(v));if(Ce.status===404&&!Oe&&(ge=`${v.apiBaseUrl}/projects/${W}/repos/${b}/branches/default`,Ce=await fetch(ge,Qe(v))),!Ce.ok){const we=`Failed to retrieve default branch from ${ge}, ${Ce.status} ${Ce.statusText}`;throw new Error(we)}let De;if(Oe)De=(await Ce.json()).mainbranch.name;else{const{displayId:we}=await Ce.json();De=we}if(!De)throw new Error(`Failed to read default branch from ${ge}. Response ${Ce.status} ${Ce.json()}`);return De}async function Ve(j,v){const{name:b,owner:W,ref:ee,protocol:Oe,resource:ge,filepath:Ce}=parseGitUrl(j),De=ge==="bitbucket.org";let we=ee;we||(we=await me(j,v));const At=Ce?`&path=${encodeURIComponent(Ce)}`:"";return De?`${Oe}://${ge}/${W}/${b}/get/${we}.tar.gz`:`${v.apiBaseUrl}/projects/${W}/repos/${b}/archive?format=tgz&at=${we}&prefix=${W}-${b}${At}`}function Pe(j,v){try{const{owner:b,name:W,ref:ee,filepathtype:Oe,filepath:ge}=parseGitUrl(j);if(!b||!W||Oe!=="browse"&&Oe!=="raw"&&Oe!=="src")throw new Error("Invalid Bitbucket URL or file path");const Ce=ge.replace(/^\//,"");if(v.host==="bitbucket.org"){if(!ee)throw new Error("Invalid Bitbucket URL or file path");return`${v.apiBaseUrl}/repositories/${b}/${W}/src/${ee}/${Ce}`}return`${v.apiBaseUrl}/projects/${b}/repos/${W}/raw/${Ce}?at=${ee}`}catch(b){throw new Error(`Incorrect URL: ${j}, ${b}`)}}function Qe(j){const v={};if(j.token)v.Authorization=`Bearer ${j.token}`;else if(j.username&&j.appPassword){const b=Le.from(`${j.username}:${j.appPassword}`,"utf8");v.Authorization=`Basic ${b.toString("base64")}`}return{headers:v}}const it="github.com",_e="https://api.github.com",gt="https://raw.githubusercontent.com";function nt(j){var ge,Ce;const v=(ge=j.getOptionalString("host"))!=null?ge:it;let b=j.getOptionalString("apiBaseUrl"),W=j.getOptionalString("rawBaseUrl");const ee=j.getOptionalString("token"),Oe=(Ce=j.getOptionalConfigArray("apps"))==null?void 0:Ce.map(De=>({appId:De.getNumber("appId"),clientId:De.getString("clientId"),clientSecret:De.getString("clientSecret"),webhookSecret:De.getString("webhookSecret"),privateKey:De.getString("privateKey"),allowedInstallationOwners:De.getOptionalStringArray("allowedInstallationOwners")}));if(!d(v))throw new Error(`Invalid GitHub integration config, '${v}' is not a valid host`);return b?b=(0,l.trimEnd)(b,"/"):v===it&&(b=_e),W?W=(0,l.trimEnd)(W,"/"):v===it&&(W=gt),{host:v,apiBaseUrl:b,rawBaseUrl:W,token:ee,apps:Oe}}function ot(j){const v=j.map(nt);return v.some(b=>b.host===it)||v.push({host:it,apiBaseUrl:_e,rawBaseUrl:gt}),v}function vt(j,v,b){try{const{owner:W,name:ee,ref:Oe,filepathtype:ge,filepath:Ce}=parseGitUrl(j);if(!W||!ee||!Oe||ge!=="blob"&&ge!=="raw"&&ge!=="tree")throw new Error("Invalid GitHub URL or file path");const De=Ce.replace(/^\//,"");return xt(v,b)==="api"?`${v.apiBaseUrl}/repos/${W}/${ee}/contents/${De}?ref=${Oe}`:`${v.rawBaseUrl}/${W}/${ee}/${Oe}/${De}`}catch(W){throw new Error(`Incorrect URL: ${j}, ${W}`)}}function Vt(j,v){const b={};return xt(j,v)==="api"&&(b.Accept="application/vnd.github.v3.raw"),v.token&&(b.Authorization=`token ${v.token}`),{headers:b}}function xt(j,v){return j.apiBaseUrl&&(v.token||!j.rawBaseUrl)?"api":"raw"}class pt{constructor(){_(this,"tokenCache",new Map);_(this,"isNotExpired",v=>v.diff(DateTime.local(),"minutes").minutes>50)}async getOrCreateToken(v,b){const W=this.tokenCache.get(v);if(W&&this.isNotExpired(W.expiresAt))return{accessToken:W.token};const ee=await b();return this.tokenCache.set(v,ee),{accessToken:ee.token}}}const rt={Accept:"application/vnd.github.machine-man-preview+json"};class Tt{constructor(v,b){_(this,"appClient");_(this,"baseUrl");_(this,"baseAuthConfig");_(this,"cache",new pt);_(this,"allowedInstallationOwners");this.allowedInstallationOwners=v.allowedInstallationOwners,this.baseUrl=b,this.baseAuthConfig={appId:v.appId,privateKey:v.privateKey.replace(/\\n/gm,`
31
+ `)},this.appClient=new Octokit({baseUrl:b,headers:rt,authStrategy:createAppAuth,auth:this.baseAuthConfig})}async getInstallationCredentials(v,b){var ge;const{installationId:W,suspended:ee}=await this.getInstallationData(v);if(this.allowedInstallationOwners&&!((ge=this.allowedInstallationOwners)==null?void 0:ge.includes(v)))return{accessToken:void 0};if(ee)throw new Error(`The GitHub application for ${v} is suspended`);const Oe=b?`${v}/${b}`:v;return this.cache.getOrCreateToken(Oe,async()=>{const Ce=await this.appClient.apps.createInstallationAccessToken({installation_id:W,headers:rt});if(b&&Ce.data.repository_selection==="selected"){const De=new Octokit({baseUrl:this.baseUrl,auth:Ce.data.token});if(!(await De.paginate(De.apps.listReposAccessibleToInstallation)).some(ae=>ae.name===b))throw new Error(`The Backstage GitHub application used in the ${v} organization does not have access to a repository with the name ${b}`)}return{token:Ce.data.token,expiresAt:DateTime.fromISO(Ce.data.expires_at)}})}getInstallations(){return this.appClient.paginate(this.appClient.apps.listInstallations)}async getInstallationData(v){const W=(await this.getInstallations()).find(Oe=>{var ge,Ce;return((Ce=(ge=Oe.account)==null?void 0:ge.login)==null?void 0:Ce.toLocaleLowerCase("en-US"))===v.toLocaleLowerCase("en-US")});if(W)return{installationId:W.id,suspended:Boolean(W.suspended_by)};const ee=new Error(`No app installation found for ${v} in ${this.baseAuthConfig.appId}`);throw ee.name="NotFoundError",ee}}class Pt{constructor(v){_(this,"apps");var b,W;this.apps=(W=(b=v.apps)==null?void 0:b.map(ee=>new Tt(ee,v.apiBaseUrl)))!=null?W:[]}async getAllInstallations(){return this.apps.length?(await Promise.all(this.apps.map(b=>b.getInstallations()))).flat():[]}async getAppToken(v,b){if(this.apps.length===0)return;const W=await Promise.all(this.apps.map(Ce=>Ce.getInstallationCredentials(v,b).then(De=>({credentials:De,error:void 0}),De=>({credentials:void 0,error:De})))),ee=W.find(Ce=>Ce.credentials);if(ee)return ee.credentials.accessToken;const ge=W.map(Ce=>Ce.error).find(Ce=>Ce.name!=="NotFoundError");if(ge)throw ge}}class Dt{constructor(v,b){this.githubAppCredentialsMux=v,this.token=b}async getCredentials(v){const b=parseGitUrl(v.url),W=b.owner||b.name,ee=b.owner?b.name:void 0;let Oe="app",ge=await this.githubAppCredentialsMux.getAppToken(W,ee);return ge||(Oe="token",ge=this.token),{headers:ge?{Authorization:`Bearer ${ge}`}:void 0,token:ge,type:Oe}}}_(Dt,"create",null);class $t{static fromIntegrations(v){const b=new Map;return v.github.list().forEach(W=>{const ee=SingleInstanceGithubCredentialsProvider.create(W.config);b.set(W.config.host,ee)}),new $t(b)}constructor(v){this.providers=v}async getCredentials(v){const b=new URL(v.url),W=this.providers.get(b.host);if(!W)throw new Error(`There is no GitHub integration that matches ${v.url}. Please add a configuration for an integration.`);return W.getCredentials(v)}}const Ue=class{constructor(v){this.integrationConfig=v}get type(){return"github"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){return Lt(p(v),"tree")}resolveEditUrl(v){return Lt(v,"edit")}};let ht=Ue;_(ht,"factory",({config:v})=>{var W;const b=ot((W=v.getOptionalConfigArray("integrations.github"))!=null?W:[]);return s(b.map(ee=>new Ue(ee)),ee=>ee.config.host)});function Lt(j,v){return j.replace(/\/\/([^/]+)\/([^/]+)\/([^/]+)\/(blob|tree|edit)\//,(b,W,ee,Oe)=>`//${W}/${ee}/${Oe}/${v}/`)}const wt="gitlab.com",be="https://gitlab.com/api/v4";function st(j){const v=j.getString("host");let b=j.getOptionalString("apiBaseUrl");const W=j.getOptionalString("token");let ee=j.getOptionalString("baseUrl");if(b?b=(0,l.trimEnd)(b,"/"):v===wt&&(b=be),ee?ee=(0,l.trimEnd)(ee,"/"):ee=`https://${v}`,v.includes(":"))throw new Error(`Invalid GitLab integration config, host '${v}' should just be the host name (e.g. "github.com"), not a URL`);if(d(v)){if(!b||!E(b))throw new Error(`Invalid GitLab integration config, '${b}' is not a valid apiBaseUrl`);if(!E(ee))throw new Error(`Invalid GitLab integration config, '${ee}' is not a valid baseUrl`)}else throw new Error(`Invalid GitLab integration config, '${v}' is not a valid host`);return{host:v,token:W,apiBaseUrl:b,baseUrl:ee}}function lt(j){const v=j.map(st);return v.some(b=>b.host===wt)||v.push({host:wt,apiBaseUrl:be,baseUrl:`https://${wt}`}),v}async function Ct(j,v){if(j.includes("/-/blob/")){const b=await T(j,v);return C(j,b).toString()}return ne(j).toString()}function oe(j){const{token:v=""}=j;return{headers:{"PRIVATE-TOKEN":v}}}function ne(j){try{const v=new URL(j),[b,W,ee,Oe,...ge]=v.pathname.split("/");if(b!==""||W===""||ee===""||Oe!=="blob"||!ge.join("/").match(/\.(yaml|yml)$/))throw new Error("Wrong GitLab URL");return v.pathname=[b,W,ee,"raw",...ge].join("/"),v}catch(v){throw new Error(`Incorrect url: ${j}, ${v}`)}}function C(j,v){try{const b=new URL(j),W=b.pathname.split("/-/blob/")[1],[ee,...Oe]=W.split("/");return b.pathname=["/api/v4/projects",v,"repository/files",encodeURIComponent(decodeURIComponent(Oe.join("/"))),"raw"].join("/"),b.search=`?ref=${ee}`,b}catch(b){throw new Error(`Incorrect url: ${j}, ${b}`)}}async function T(j,v){const b=new URL(j);if(!b.pathname.includes("/-/blob/"))throw new Error("Please provide full path to yaml file from GitLab");try{const W=b.pathname.split("/-/blob/")[0],ee=new URL(`${b.protocol+b.hostname}/api/v4/projects/${encodeURIComponent(W.replace(/^\//,""))}`),Oe=await fetch(ee.toString(),oe(v)),ge=await Oe.json();if(!Oe.ok)throw new Error(`GitLab Error '${ge.error}', ${ge.error_description}`);return Number(ge.id)}catch(W){throw new Error(`Could not get GitLab project ID for: ${j}, ${W}`)}}const Ze=class{constructor(v){this.integrationConfig=v}get type(){return"gitlab"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}resolveUrl(v){return p(v)}resolveEditUrl(v){return G(v,"edit")}};let N=Ze;_(N,"factory",({config:v})=>{var W;const b=lt((W=v.getOptionalConfigArray("integrations.gitlab"))!=null?W:[]);return s(b.map(ee=>new Ze(ee)),ee=>ee.config.host)});function G(j,v){return j.replace(/\/\-\/(blob|tree|edit)\//,`/-/${v}/`)}const Y="amazonaws.com";function ce(j){var De;const v=j.getOptionalString("endpoint"),b=(De=j.getOptionalBoolean("s3ForcePathStyle"))!=null?De:!1;let W,ee;if(v){try{const we=new URL(v);W=we.host,ee=we.pathname}catch{throw new Error(`invalid awsS3 integration config, endpoint '${v}' is not a valid URL`)}if(ee!=="/")throw new Error(`invalid awsS3 integration config, endpoints cannot contain path, got '${v}'`)}else W=Y;const Oe=j.getOptionalString("accessKeyId"),ge=j.getOptionalString("secretAccessKey"),Ce=j.getOptionalString("roleArn");return{host:W,endpoint:v,s3ForcePathStyle:b,accessKeyId:Oe,secretAccessKey:ge,roleArn:Ce}}function ve(j){const v=j.map(ce);return v.some(b=>b.host===Y)||v.push({host:Y}),v}const Ye=class{get type(){return"awsS3"}get title(){return this.integrationConfig.host}get config(){return this.integrationConfig}constructor(v){this.integrationConfig=v}resolveUrl(v){return p(v)}resolveEditUrl(v){return v}};let ye=Ye;_(ye,"factory",({config:v})=>{var W;const b=ve((W=v.getOptionalConfigArray("integrations.awsS3"))!=null?W:[]);return s(b.map(ee=>new Ye(ee)),ee=>ee.config.host)});class Be{constructor(v){_(this,"byType");this.byType=v}static fromConfig(v){return new Be({awsS3:ye.factory({config:v}),azure:S.factory({config:v}),bitbucket:se.factory({config:v}),github:ht.factory({config:v}),gitlab:N.factory({config:v})})}get awsS3(){return this.byType.awsS3}get azure(){return this.byType.azure}get bitbucket(){return this.byType.bitbucket}get github(){return this.byType.github}get gitlab(){return this.byType.gitlab}list(){return Object.values(this.byType).flatMap(v=>v.list())}byUrl(v){return Object.values(this.byType).map(b=>b.byUrl(v)).find(Boolean)}byHost(v){return Object.values(this.byType).map(b=>b.byHost(v)).find(Boolean)}resolveUrl(v){const b=this.byUrl(v.base);return b?b.resolveUrl(v):p(v)}resolveEditUrl(v){const b=this.byUrl(v);return b?b.resolveEditUrl(v):v}}},71380:function(J,o,e){"use strict";var r={};e.r(r),e.d(r,{TechDocsPlugin:function(){return ze}});var t=e(2784),l=e(28316),d=e(10289),E=e(49208),s=e(36964),p=e(20221);const h=[(0,s.createApiFactory)({api:s.discoveryApiRef,deps:{configApi:s.configApiRef},factory:({configApi:A})=>E.UrlPatternDiscovery.compile(`${A.getString("backend.baseUrl")}/api/{{ pluginId }}`)}),(0,s.createApiFactory)({api:s.alertApiRef,deps:{},factory:()=>new E.AlertApiForwarder}),(0,s.createApiFactory)({api:s.analyticsApiRef,deps:{},factory:()=>new E.NoOpAnalyticsApi}),(0,s.createApiFactory)({api:s.errorApiRef,deps:{alertApi:s.alertApiRef},factory:({alertApi:A})=>{const B=new E.ErrorAlerter(A,new E.ErrorApiForwarder);return E.UnhandledErrorForwarder.forward(B,{hidden:!1}),B}}),(0,s.createApiFactory)({api:s.storageApiRef,deps:{errorApi:s.errorApiRef},factory:({errorApi:A})=>E.WebStorage.create({errorApi:A})}),(0,s.createApiFactory)({api:s.fetchApiRef,deps:{configApi:s.configApiRef,identityApi:s.identityApiRef,discoveryApi:s.discoveryApiRef},factory:({configApi:A,identityApi:B,discoveryApi:Q})=>(0,E.createFetchApi)({middleware:[E.FetchMiddlewares.resolvePluginProtocol({discoveryApi:Q}),E.FetchMiddlewares.injectIdentityAuth({identityApi:B,config:A})]})}),(0,s.createApiFactory)({api:s.oauthRequestApiRef,deps:{},factory:()=>new E.OAuthRequestManager}),(0,s.createApiFactory)({api:s.googleAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.GoogleAuth.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.microsoftAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.MicrosoftAuth.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.githubAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.GithubAuth.create({discoveryApi:A,oauthRequestApi:B,defaultScopes:["read:user"],environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oktaAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.OktaAuth.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.gitlabAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.GitlabAuth.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.auth0AuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.Auth0Auth.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oauth2ApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.OAuth2.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.samlAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,configApi:B})=>E.SamlAuth.create({discoveryApi:A,environment:B.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oneloginAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.OneLoginAuth.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.oidcAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.OAuth2.create({discoveryApi:A,oauthRequestApi:B,provider:{id:"oidc",title:"Your Identity Provider",icon:()=>null},environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.bitbucketAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.BitbucketAuth.create({discoveryApi:A,oauthRequestApi:B,defaultScopes:["team"],environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:s.atlassianAuthApiRef,deps:{discoveryApi:s.discoveryApiRef,oauthRequestApi:s.oauthRequestApiRef,configApi:s.configApiRef},factory:({discoveryApi:A,oauthRequestApi:B,configApi:Q})=>E.AtlassianAuth.create({discoveryApi:A,oauthRequestApi:B,environment:Q.getOptionalString("auth.environment")})}),(0,s.createApiFactory)({api:p.RV,deps:{discovery:s.discoveryApiRef,identity:s.identityApiRef,config:s.configApiRef},factory:({config:A,discovery:B,identity:Q})=>p.iM.create({config:A,discovery:B,identity:Q})})];var m=e(77277),c=e(9118),y=e(62833);function i({children:A}){return(0,d.GV)()?t.createElement(t.Fragment,null,A):t.createElement(d.VA,null,A)}const S=()=>t.createElement(c.ErrorPage,{status:"404",statusMessage:"PAGE NOT FOUND"}),D=({step:A,error:B})=>{let Q="";return A==="load-config"?Q=`The configuration failed to load, someone should have a look at this error: ${B.message}`:A==="load-chunk"&&(Q=`Lazy loaded chunk failed to load, try to reload the page: ${B.message}`),t.createElement(i,null,t.createElement(c.ErrorPage,{status:"501",statusMessage:Q}))},L=({error:A,resetError:B,plugin:Q})=>t.createElement(c.ErrorPanel,{title:`Error in ${Q==null?void 0:Q.getId()}`,defaultExpanded:!0,error:A},t.createElement(m.Z,{variant:"outlined",onClick:B},"Retry")),V={Progress:c.Progress,Router:y.VK,NotFoundErrorPage:S,BootErrorPage:D,ErrorBoundaryFallback:L};var M=e(43642),P=e(80079),O=e(90941),x=e(32915),z=e(40562),q=e(21853),se=e(60744),pe=e(66569),Le=e(30254),me=e(13384),Ve=e(15933),Pe=e(58838),Qe=e(86737),it=e(4989),_e=e(44407),gt=e(18628),nt=e(84219),ot=e(98685),vt=e(39781);const Vt={brokenImage:P.Z,catalog:gt.Z,scaffolder:x.Z,techdocs:z.Z,search:q.Z,chat:se.Z,dashboard:pe.Z,docs:Le.Z,email:me.Z,github:Pe.Z,group:nt.Z,help:Qe.Z,"kind:api":Ve.Z,"kind:component":_e.Z,"kind:domain":M.Z,"kind:group":nt.Z,"kind:location":it.Z,"kind:system":O.Z,"kind:user":ot.Z,user:ot.Z,warning:vt.Z};var xt=e(73689),pt=e(48032);const rt={wave:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1368' height='401' x='0' y='0' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M437 116C223 116 112 0 112 0h1256v400c-82 0-225-21-282-109-112-175-436-175-649-175z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1368 400V282C891-29 788 40 711 161 608 324 121 372 0 361v39h1368z'/%3e%3cpath fill='url(%23paint2_linear)' d='M1368 244v156H0V94c92-24 198-46 375 0l135 41c176 51 195 109 858 109z'/%3e%3cpath fill='url(%23paint3_linear)' d='M1252 400h116c-14-7-35-14-116-16-663-14-837-128-1013-258l-85-61C98 28 46 8 0 0v400h1252z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M-172-98h1671v601H-172z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='602' x2='1093.5' y1='-960.5' y2='272' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='482' x2='480' y1='1058.5' y2='70.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='424' x2='446.1' y1='-587.5' y2='274.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='587' x2='349' y1='-1120.5' y2='341' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,wave2:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='1764' height='479' x='-229' y='-6' maskUnits='userSpaceOnUse'%3e%3cpath fill='url(%23paint0_linear)' d='M0 400h1350C1321 336 525 33 179-2c-345-34-395 236-408 402H0z'/%3e%3cpath fill='url(%23paint1_linear)' d='M1378 177v223H0V217s219 75 327 52C436 246 717-35 965 45s254 144 413 132z'/%3e%3cpath fill='url(%23paint2_linear)' d='M26 400l-78-16c-170 205-44-6-137-30l-4-1 4 1 137 30c37-45 89-110 159-201 399-514-45 238 1176-50 275-65 354-39 91 267H26z'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='431' x2='397.3' y1='-599' y2='372.8' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='236.5' x2='446.6' y1='-586' y2='381.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='851.8' x2='640.4' y1='-867.2' y2='363.7' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`,round:`url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='1368' height='400' fill='none'%3e%3cmask id='a' width='2269' height='1408' x='-610' y='-509' maskUnits='userSpaceOnUse'%3e%3ccircle cx='1212.8' cy='74.8' r='317.5' fill='url(%23paint0_linear)' transform='rotate(-52 1213 75)'/%3e%3ccircle cx='737.8' cy='445.8' r='317.5' fill='url(%23paint1_linear)' transform='rotate(-116 738 446)'/%3e%3ccircle cx='601.8' cy='52.8' r='418.6' fill='url(%23paint2_linear)' transform='rotate(-117 602 53)'/%3e%3ccircle cx='999.8' cy='364' r='389.1' fill='url(%23paint3_linear)' transform='rotate(31 1000 364)'/%3e%3cellipse cx='-109.2' cy='263.5' fill='url(%23paint4_linear)' rx='429.2' ry='465.8' transform='rotate(-85 -109 264)'/%3e%3c/mask%3e%3cg mask='url(%23a)'%3e%3cpath fill='white' d='M0 0h1368v400H0z'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient id='paint0_linear' x1='1301.2' x2='161.4' y1='-1879.7' y2='-969.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint1_linear' x1='826.2' x2='-313.6' y1='-1508.7' y2='-598.6' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint2_linear' x1='718.4' x2='-784.3' y1='-2524' y2='-1324.2' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint3_linear' x1='1108.2' x2='-288.6' y1='-2031.1' y2='-915.9' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient id='paint4_linear' x1='10.4' x2='-1626.5' y1='-2603.8' y2='-1399.5' gradientUnits='userSpaceOnUse'%3e%3cstop stop-color='white'/%3e%3cstop offset='1' stop-color='white' stop-opacity='0'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e")`},Tt={darkGrey:["#171717","#383838"],marineBlue:["#006D8F","#0049A1"],veryBlue:["#0027AF","#270094"],rubyRed:["#98002B","#8D1134"],toastyOrange:["#BE2200","#A41D00"],purpleSky:["#8912CA","#3E00EA"],eveningSea:["#00FFF2","#035355"],teal:["#005B4B"],pinkSea:["#C8077A","#C2297D"]};function Pt(A,B){const fe=`linear-gradient(90deg, ${(A.length===1?[A[0],A[0]]:A).join(", ")})`,Ne=`${B}, ${fe}`;return{colors:A,shape:B,backgroundImage:Ne}}const Dt={home:Pt(Tt.teal,rt.wave),documentation:Pt(Tt.pinkSea,rt.wave2),tool:Pt(Tt.purpleSky,rt.round),service:Pt(Tt.marineBlue,rt.wave),website:Pt(Tt.veryBlue,rt.wave),library:Pt(Tt.rubyRed,rt.wave),other:Pt(Tt.darkGrey,rt.wave),app:Pt(Tt.toastyOrange,rt.wave),apis:Pt(Tt.teal,rt.wave2)},$t='"Helvetica Neue", Helvetica, Roboto, Arial, sans-serif';function ht(A){const{palette:B,fontFamily:Q=$t,defaultPageTheme:fe,pageTheme:Ne=Dt}=A;if(!Ne[fe])throw new Error(`${fe} is not defined in pageTheme.`);return{palette:B,props:{MuiGrid:{spacing:2},MuiSwitch:{color:"primary"}},typography:{fontFamily:Q,h5:{fontWeight:700},h4:{fontWeight:700,fontSize:28,marginBottom:6},h3:{fontSize:32,fontWeight:700,marginBottom:6},h2:{fontSize:40,fontWeight:700,marginBottom:8},h1:{fontSize:54,fontWeight:700,marginBottom:10}},page:Ne[fe],getPageTheme:({themeId:qe})=>{var $e;return($e=Ne[qe])!=null?$e:Ne[fe]}}}function Lt(A){return{MuiCssBaseline:{"@global":{html:{height:"100%",fontFamily:A.typography.fontFamily},body:{height:"100%",fontFamily:A.typography.fontFamily,"overscroll-behavior-y":"none"},a:{color:"inherit",textDecoration:"none"}}},MuiTableRow:{root:{"&:nth-of-type(odd)":{backgroundColor:A.palette.background.default}},hover:{"&:hover":{cursor:"pointer"}},head:{"&:nth-of-type(odd)":{backgroundColor:A.palette.background.paper}}},MuiTableCell:{root:{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:A.spacing(3,2,3,2.5),borderBottom:0},sizeSmall:{padding:A.spacing(1.5,2,1.5,2.5)},head:{wordBreak:"break-word",overflow:"hidden",color:"rgb(179, 179, 179)",fontWeight:"normal",lineHeight:"1"}},MuiTabs:{root:{minHeight:24}},MuiTab:{root:{color:A.palette.link,minHeight:24,textTransform:"initial",letterSpacing:"0.07em","&:hover":{color:(0,pt.darken)(A.palette.link,.3),background:(0,pt.lighten)(A.palette.link,.95)},[A.breakpoints.up("md")]:{minWidth:120,fontSize:A.typography.pxToRem(14),fontWeight:500}},textColorPrimary:{color:A.palette.link}},MuiTableSortLabel:{root:{color:"inherit","&:hover":{color:"inherit"},"&:focus":{color:"inherit"}},active:{fontWeight:"bold",color:"inherit"}},MuiListItemText:{dense:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},MuiButton:{text:{padding:void 0}},MuiChip:{root:{backgroundColor:"#D9D9D9",marginRight:A.spacing(1),marginBottom:A.spacing(1),color:A.palette.grey[900]},outlined:{color:A.palette.text.primary},label:{lineHeight:`${A.spacing(2.5)}px`,fontWeight:A.typography.fontWeightMedium,fontSize:`${A.spacing(1.75)}px`},labelSmall:{fontSize:`${A.spacing(1.5)}px`},deleteIcon:{color:A.palette.grey[500],width:`${A.spacing(3)}px`,height:`${A.spacing(3)}px`,margin:`0 ${A.spacing(.75)}px 0 -${A.spacing(.75)}px`},deleteIconSmall:{width:`${A.spacing(2)}px`,height:`${A.spacing(2)}px`,margin:`0 ${A.spacing(.5)}px 0 -${A.spacing(.5)}px`}},MuiCard:{root:{display:"flex",flexDirection:"column"}},MuiCardHeader:{root:{paddingBottom:0}},MuiCardContent:{root:{flexGrow:1,"&:last-child":{paddingBottom:void 0}}},MuiCardActions:{root:{justifyContent:"flex-end"}}}}function wt(A){const B=ht(A),Q=(0,xt.Z)(B),fe=Lt(Q);return{...Q,overrides:fe}}var be=e(34505);const st=wt({palette:{type:"light",background:{default:"#F8F8F8"},status:{ok:"#1DB954",warning:"#FF9800",error:"#E22134",running:"#2E77D0",pending:"#FFED51",aborted:"#757575"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#2E77D0"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#000000",textVerySubtle:"#DDD",textSubtle:"#6E6E6E",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#2196F3",link:"#0A6EBE",gold:be.Z.A700,navigation:{background:"#171717",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#181818",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:Dt}),lt=wt({palette:{type:"dark",background:{default:"#333333"},status:{ok:"#71CF88",warning:"#FFB84D",error:"#F84C55",running:"#3488E3",pending:"#FEF071",aborted:"#9E9E9E"},bursts:{fontColor:"#FEFEFE",slackChannelText:"#ddd",backgroundColor:{default:"#7C3699"},gradient:{linear:"linear-gradient(-137deg, #4BB8A5 0%, #187656 100%)"}},primary:{main:"#9CC9FF",dark:"#82BAFD"},secondary:{main:"#FF88B2"},banner:{info:"#2E77D0",error:"#E22134",text:"#FFFFFF",link:"#000000",warning:"#FF9800"},border:"#E6E6E6",textContrast:"#FFFFFF",textVerySubtle:"#727272",textSubtle:"#CCCCCC",highlight:"#FFFBCC",errorBackground:"#FFEBEE",warningBackground:"#F59B23",infoBackground:"#ebf5ff",errorText:"#CA001B",infoText:"#004e8a",warningText:"#000000",linkHover:"#82BAFD",link:"#9CC9FF",gold:be.Z.A700,navigation:{background:"#424242",indicator:"#9BF0E1",color:"#b5b5b5",selectedColor:"#FFF",navItem:{hoverBackground:"#404040"},submenu:{background:"#404040"}},pinSidebarButton:{icon:"#404040",background:"#BDBDBD"},tabbar:{indicator:"#9BF0E1"}},defaultPageTheme:"home",pageTheme:Dt});var Ct=e(98192),oe=e(15222),ne=e(41547),C=e(87561);const T=[{id:"light",title:"Light Theme",variant:"light",icon:t.createElement(oe.Z,null),Provider:({children:A})=>t.createElement(ne.Z,{theme:st},t.createElement(C.ZP,null,A))},{id:"dark",title:"Dark Theme",variant:"dark",icon:t.createElement(Ct.Z,null),Provider:({children:A})=>t.createElement(ne.Z,{theme:lt},t.createElement(C.ZP,null,A))}];function N(A){var B,Q,fe;return(0,E.createSpecializedApp)({...A,apis:(B=A==null?void 0:A.apis)!=null?B:[],bindRoutes:A==null?void 0:A.bindRoutes,components:{...V,...A==null?void 0:A.components},configLoader:A==null?void 0:A.configLoader,defaultApis:h,icons:{...Vt,...A==null?void 0:A.icons},plugins:(Q=A==null?void 0:A.plugins)!=null?Q:[],themes:(fe=A==null?void 0:A.themes)!=null?fe:T})}var G=e(39398),Y=e(49782),ce=e(79692);const ve=(0,ce.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",wordBreak:"break-all",marginBottom:"1rem"}}),ye=({result:A})=>{const B=ve();return React.createElement(Link,{to:A.location},React.createElement(ListItem,{alignItems:"flex-start",className:B.flexContainer},React.createElement(ListItemText,{className:B.itemText,primaryTypographyProps:{variant:"h6"},primary:A.title,secondary:A.text}),React.createElement(Box,null,A.kind&&React.createElement(Chip,{label:`Kind: ${A.kind}`,size:"small"}),A.lifecycle&&React.createElement(Chip,{label:`Lifecycle: ${A.lifecycle}`,size:"small"}))),React.createElement(Divider,{component:"li"}))};var Be=e(91730),Ie=e(17499),Re=e(52890),Ee=e(19139),Fe=e(95544),Rt=e(99688),ut=e(12231),Ge=e(86136),ie=e(49378),Me=e(85256),et=e(61837),Ue=e(79784),Ze=e(50758),Ye=e(49166),j=e(43054);const v="catalog-entity",b={name:"catalog.entity.read",attributes:{action:"read"},resourceType:v},W={name:"catalog.entity.create",attributes:{action:"create"},resourceType:v},ee={name:"catalog.entity.delete",attributes:{action:"delete"},resourceType:v},Oe={name:"catalog.entity.refresh",attributes:{action:"update"},resourceType:v},ge={name:"catalog.location.read",attributes:{action:"read"}},Ce={name:"catalog.location.create",attributes:{action:"create"}},De={name:"catalog.location.delete",attributes:{action:"delete"}},we=(0,ce.Z)({button:{color:"white"}}),At=({UNSTABLE_extraContextMenuItems:A,UNSTABLE_contextMenuOptions:B,onUnregisterEntity:Q})=>{var Wt;const[fe,Ne]=(0,t.useState)(),qe=we(),$e=(0,Ee.useEntityPermission)(ee),ke=Et=>{Ne(Et.currentTarget)},ft=()=>{Ne(void 0)},mt=A&&[...A.map(Et=>t.createElement(ut.Z,{key:Et.title,onClick:()=>{ft(),Et.onClick()}},t.createElement(Ge.Z,null,t.createElement(Et.Icon,{fontSize:"small"})),t.createElement(ie.Z,{primary:Et.title}))),t.createElement(Me.Z,{key:"the divider is here!"})],Gt=(Wt=!$e.allowed||(B==null?void 0:B.disableUnregister))!=null?Wt:!1;return t.createElement(t.Fragment,null,t.createElement(et.Z,{"aria-label":"more","aria-controls":"long-menu","aria-haspopup":"true",onClick:ke,"data-testid":"menu-button",className:qe.button},t.createElement(j.Z,null)),t.createElement(Ue.ZP,{open:Boolean(fe),onClose:ft,anchorEl:fe,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},t.createElement(Ze.Z,null,mt,t.createElement(ut.Z,{onClick:()=>{ft(),Q()},disabled:Gt},t.createElement(Ge.Z,null,t.createElement(Ye.Z,{fontSize:"small"})),t.createElement(ie.Z,{primary:"Unregister entity"})))))},ae="plugin.catalog.entityLayoutRoute",Z=()=>null;(0,s.attachComponentData)(Z,ae,!0),(0,s.attachComponentData)(Z,"core.gatherMountPoints",!0);const k=({entity:A,title:B})=>t.createElement(Fe.Z,{display:"inline-flex",alignItems:"center",height:"1em",maxWidth:"100%"},t.createElement(Fe.Z,{component:"span",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},B),A&&t.createElement(Ee.FavoriteEntity,{entity:A})),he=(A,B,Q,fe)=>{var ke,ft,mt,Gt,Wt;const Ne=(ke=A!=null?A:fe==null?void 0:fe.kind)!=null?ke:"",qe=(ft=B!=null?B:fe==null?void 0:fe.metadata.namespace)!=null?ft:"";return{headerTitle:`${(Wt=(Gt=(mt=fe==null?void 0:fe.metadata.title)!=null?mt:Q)!=null?Gt:fe==null?void 0:fe.metadata.name)!=null?Wt:""}${qe&&qe!==Re.sk?` in ${qe}`:""}`,headerType:(()=>{let Et=Ne.toLocaleLowerCase("en-US");return fe&&fe.spec&&"type"in fe.spec&&(Et+=" \u2014 ",Et+=fe.spec.type.toLocaleLowerCase("en-US")),Et})()}},He=({entity:A})=>{var Q;const B=(0,Ee.getEntityRelations)(A,Re.S4);return t.createElement(t.Fragment,null,B.length>0&&t.createElement(c.HeaderLabel,{label:"Owner",value:t.createElement(Ee.EntityRefLinks,{entityRefs:B,defaultKind:"Group",color:"inherit"})}),((Q=A.spec)==null?void 0:Q.lifecycle)&&t.createElement(c.HeaderLabel,{label:"Lifecycle",value:A.spec.lifecycle}))},Ke=({UNSTABLE_extraContextMenuItems:A,UNSTABLE_contextMenuOptions:B,children:Q})=>{var _n,er,yr;const{kind:fe,namespace:Ne,name:qe}=(0,Ee.useEntityCompoundName)(),{entity:$e,loading:ke,error:ft}=(0,t.useContext)(Ee.EntityContext),mt=(0,s.useElementFilter)(Q,Da=>Da.selectByComponentData({key:ae,withStrictError:"Child of EntityLayout must be an EntityLayout.Route"}).getElements().flatMap(({props:bn})=>bn.if&&$e&&!bn.if($e)?[]:[{path:bn.path,title:bn.title,children:bn.children,tabProps:bn.tabProps}]),[$e]),{headerTitle:Gt,headerType:Wt}=he(fe,Ne,qe,$e),[Et,mn]=(0,t.useState)(!1),hn=(0,d.s0)(),Un=async()=>{mn(!1),hn("/")},qn=()=>mn(!0);return t.createElement(c.Page,{themeId:(yr=(er=(_n=$e==null?void 0:$e.spec)==null?void 0:_n.type)==null?void 0:er.toString())!=null?yr:"home"},t.createElement(c.Header,{title:t.createElement(k,{title:Gt,entity:$e}),pageTitleOverride:Gt,type:Wt},$e&&t.createElement(t.Fragment,null,t.createElement(He,{entity:$e}),t.createElement(At,{UNSTABLE_extraContextMenuItems:A,UNSTABLE_contextMenuOptions:B,onUnregisterEntity:qn}))),ke&&t.createElement(c.Progress,null),$e&&t.createElement(c.RoutedTabs,{routes:mt}),ft&&t.createElement(c.Content,null,t.createElement(Rt.Z,{severity:"error"},ft.toString())),!ke&&!ft&&!$e&&t.createElement(c.Content,null,t.createElement(c.WarningPanel,{title:"Entity not found"},"There is no ",fe," with the requested"," ",t.createElement(c.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(Ee.UnregisterEntityDialog,{open:Et,entity:$e,onConfirm:Un,onClose:()=>mn(!1)}))};Ke.Route=Z;var tt=e(10179);const bt=({open:A,onClose:B,onConfirm:Q,entity:fe})=>{const[Ne,qe]=useState(!1),$e=useApi(catalogApiRef),ke=useApi(alertApiRef),ft=async()=>{qe(!0);try{const mt=fe.metadata.uid;await $e.removeEntityByUid(mt),Q()}catch(mt){assertError(mt),ke.post({message:mt.message})}finally{qe(!1)}};return React.createElement(Dialog,{open:A,onClose:B},React.createElement(DialogTitle,{id:"responsive-dialog-title"},"Are you sure you want to delete this entity?"),React.createElement(DialogActions,null,React.createElement(Button,{variant:"contained",color:"secondary",disabled:Ne,onClick:ft},"Delete"),React.createElement(Button,{onClick:B,color:"primary"},"Cancel")))},en=A=>{var B,Q;return((Q=(B=A==null?void 0:A.metadata)==null?void 0:B.annotations)==null?void 0:Q["backstage.io/orphan"])==="true"},ln=()=>{const A=useNavigate(),B=useRouteRef(catalogRouteRef),[Q,fe]=useState(!1),{entity:Ne}=useEntity(),qe=async()=>{fe(!1),A(B())};return React.createElement(React.Fragment,null,React.createElement(Alert,{severity:"warning",onClick:()=>fe(!0)},"This entity is not referenced by any location and is therefore not receiving updates. Click here to delete."),React.createElement(DeleteEntityDialog,{open:Q,entity:Ne,onConfirm:qe,onClose:()=>fe(!1)}))};var wn=e(30001);const Tn=A=>A.error&&A.level==="error"&&A.type===ENTITY_STATUS_CATALOG_PROCESSING_TYPE;async function En(A,B){return{items:(await B.getEntityAncestors({entityRef:A})).items.map(Ne=>{var ke,ft;return{errors:((ft=(ke=Ne.entity.status)==null?void 0:ke.items)!=null?ft:[]).filter(Tn).map(mt=>mt.error).filter(mt=>Boolean(mt)),entity:Ne.entity}}).filter(Ne=>Ne.errors.length>0)}}const yt=async(A,B)=>{const Q=B.apis.get(catalogApiRef);if(!Q)throw new Error(`No implementation available for ${catalogApiRef}`);return(await En(stringifyEntityRef(A),Q)).items.length>0},Yt=()=>{const{entity:A}=useEntity(),B=stringifyEntityRef(A),Q=useApi(catalogApiRef),{loading:fe,error:Ne,value:qe}=useAsync(async()=>En(B,Q),[B,Q]);return Ne?React.createElement(Box,{mb:1},React.createElement(ResponseErrorPanel,{error:Ne})):fe||!qe?null:React.createElement(React.Fragment,null,qe.items.map(($e,ke)=>React.createElement(Box,{key:ke,mb:1},!compareEntityToRef(A,stringifyEntityRef($e.entity))&&React.createElement(Box,{p:1},"The error below originates from"," ",React.createElement(EntityRefLink,{entityRef:$e.entity})),$e.errors.map((ft,mt)=>React.createElement(ResponseErrorPanel,{key:mt,error:ft})))))};var dn=e(18671);const On=(A,B,Q=0)=>{if(!A)return Q;const fe=B.findIndex(Ne=>Ne.id===A.route.path);return~fe?fe:Q},jt={Layout:({children:A})=>{var Wt,Et,mn;const B=[],Q=[],fe=(0,d.UO)(),Ne=(0,d.s0)();t.Children.forEach(A,hn=>{if(!t.isValidElement(hn))return;if(hn.type!==jt.Content)throw new Error("This component only accepts Content elements as direct children. Check the code of the EntityPage.");const Un=hn.props.path;Q.push({id:Un,label:hn.props.title}),B.push({path:Un,element:hn.props.element})}),((Et=(Wt=B==null?void 0:B[0])==null?void 0:Wt.path)!=null?Et:"")!==""&&B.push({path:"/*",element:t.createElement(d.Fg,{to:B[0].path})});const[qe]=(mn=(0,d.fp)(B,`/${fe["*"]}`))!=null?mn:[],$e=On(qe,Q),ke=Q[$e],ft=ke==null?void 0:ke.label,mt=hn=>Ne(Q[hn].id.replace(/\/\*$/,"").replace(/^\//,"")),Gt=(0,d.V$)(B);return ke?t.createElement(t.Fragment,null,t.createElement(c.HeaderTabs,{tabs:Q,selectedIndex:$e,onChange:mt}),t.createElement(c.Content,null,t.createElement(dn.q,{title:ft}),Gt)):null},Content:A=>null},Wn=({entity:A,title:B})=>t.createElement(Fe.Z,{display:"inline-flex",alignItems:"center",height:"1em"},B,A&&t.createElement(Ee.FavoriteEntity,{entity:A})),or=({entity:A})=>{var Q;const B=(0,Ee.getEntityRelations)(A,Re.S4);return t.createElement(t.Fragment,null,B.length>0&&t.createElement(c.HeaderLabel,{label:"Owner",value:t.createElement(Ee.EntityRefLinks,{entityRefs:B,defaultKind:"Group",color:"inherit"})}),((Q=A.spec)==null?void 0:Q.lifecycle)&&t.createElement(c.HeaderLabel,{label:"Lifecycle",value:A.spec.lifecycle}))},sr=(A,B,Q,fe)=>({headerTitle:`${Q}${B&&B!==Re.sk?` in ${B}`:""}`,headerType:(()=>{let Ne=A.toLocaleLowerCase("en-US");return fe&&fe.spec&&"type"in fe.spec&&(Ne+=" \u2014 ",Ne+=fe.spec.type.toLocaleLowerCase("en-US")),Ne})()}),Rr=({children:A,UNSTABLE_extraContextMenuItems:B,UNSTABLE_contextMenuOptions:Q})=>{var qn,_n,er;const{kind:fe,namespace:Ne,name:qe}=(0,Ee.useEntityCompoundName)(),{entity:$e,loading:ke,error:ft}=(0,t.useContext)(Ee.EntityContext),{headerTitle:mt,headerType:Gt}=sr(fe,Ne,qe,$e),[Wt,Et]=(0,t.useState)(!1),mn=(0,d.s0)(),hn=async()=>{Et(!1),mn("/")},Un=()=>Et(!0);return t.createElement(c.Page,{themeId:(er=(_n=(qn=$e==null?void 0:$e.spec)==null?void 0:qn.type)==null?void 0:_n.toString())!=null?er:"home"},t.createElement(c.Header,{title:t.createElement(Wn,{title:mt,entity:$e}),pageTitleOverride:mt,type:Gt},$e&&t.createElement(t.Fragment,null,t.createElement(or,{entity:$e}),t.createElement(At,{UNSTABLE_extraContextMenuItems:B,UNSTABLE_contextMenuOptions:Q,onUnregisterEntity:Un}))),ke&&t.createElement(c.Content,null,t.createElement(c.Progress,null)),$e&&t.createElement(jt.Layout,null,A),ft&&t.createElement(c.Content,null,t.createElement(c.ResponseErrorPanel,{error:ft})),!ke&&!ft&&!$e&&t.createElement(c.Content,null,t.createElement(c.WarningPanel,{title:"Entity not found"},"There is no ",fe," with the requested"," ",t.createElement(c.Link,{to:"https://backstage.io/docs/features/software-catalog/references"},"kind, namespace, and name"),".")),t.createElement(Ee.UnregisterEntityDialog,{open:Wt,entity:$e,onConfirm:hn,onClose:()=>Et(!1)}))};Rr.Content=jt.Content;var zn=e(64279);const Bn="core.backstage.entitySwitch",Yn=A=>null;(0,s.attachComponentData)(Yn,Bn,!0);const ir=({children:A})=>{var qe,$e;const{entity:B}=(0,Ee.useEntity)(),Q=(0,s.useApiHolder)(),fe=(0,s.useElementFilter)(A,ke=>ke.selectByComponentData({key:Bn,withStrictError:"Child of EntitySwitch is not an EntitySwitch.Case"}).getElements().flatMap(ft=>{var Wt;const{if:mt,children:Gt}=ft.props;return[{if:(Wt=mt==null?void 0:mt(B,{apis:Q}))!=null?Wt:!0,children:Gt}]}),[Q,B]);return fe.some(ke=>typeof ke.if=="object"&&"then"in ke.if)?t.createElement(Sr,{results:fe}):($e=(qe=fe.find(ke=>ke.if))==null?void 0:qe.children)!=null?$e:null};function Sr({results:A}){const{loading:B,value:Q}=(0,zn.default)(async()=>{var Ne;const fe=A.map(async({if:qe,children:$e})=>{try{if(await qe)return $e}catch{}return null});return(Ne=(await Promise.all(fe)).find(Boolean))!=null?Ne:null},[A]);return B||!Q?null:Q}ir.Case=Yn;var Hn=e(26997),kr=e(7758),Cr=e(219);const lr=(0,ce.Z)(A=>({illo:{maxWidth:"60%",top:100,right:20,position:"absolute",[A.breakpoints.down("xs")]:{maxWidth:"96%",position:"relative",top:"unset",right:"unset",margin:`${A.spacing(10)}px auto ${A.spacing(4)}px`}}})),Tr=()=>{const A=lr();return React.createElement("img",{src:IlloSvgUrl,className:A.illo,alt:"Illustration on entity not found page"})},Jn=(0,ce.Z)(A=>({container:{paddingTop:A.spacing(24),paddingLeft:A.spacing(8),[A.breakpoints.down("xs")]:{padding:A.spacing(2)}},title:{paddingBottom:A.spacing(2),[A.breakpoints.down("xs")]:{fontSize:32}},body:{paddingBottom:A.spacing(6),[A.breakpoints.down("xs")]:{paddingBottom:A.spacing(5)}}})),Pr=()=>{const A=Jn();return React.createElement(Grid,{container:!0,spacing:0,className:A.container},React.createElement(Illo,null),React.createElement(Grid,{item:!0,xs:12,sm:6},React.createElement(Typography,{variant:"h2",className:A.title},"Entity was not found"),React.createElement(Typography,{variant:"body1",className:A.body},"Want to help us build this? Check out our Getting Started documentation."),React.createElement(Button,{variant:"contained",color:"primary",href:"https://backstage.io/docs"},"DOCS")))},Qn=()=>React.createElement(EntityPageLayout,null,React.createElement(EntityPageLayout.Content,{path:"/",title:"Overview",element:React.createElement(Content,null,React.createElement(Typography,{variant:"h2"},"This is the default entity page."),React.createElement(Typography,{variant:"body1"},"To override this component with your custom implementation, read docs on"," ",React.createElement(Link,{to:"https://backstage.io/docs"},"backstage.io/docs")))})),Xn=({EntityPage:A})=>{const{entity:B,loading:Q,error:fe}=useEntity();return Q?React.createElement(EntityPageLayout,null):fe||!B?React.createElement(EntityNotFound,null):React.createElement(A,null)},Mn=()=>{var $e;const{optionalNamespaceAndName:A,"*":B}=useParams(),[Q,fe]=A.split(":").reverse(),Ne=($e=fe==null?void 0:fe.toLocaleLowerCase("en-US"))!=null?$e:ENTITY_DEFAULT_NAMESPACE,qe=B?`/${B}`:"";return React.createElement(Navigate,{to:`../../${Ne}/component/${Q}${qe}`})},cr=A=>React.createElement(AsyncEntityProvider,{...useEntityFromUrl(),...A}),xn=({EntityPage:A=Qn})=>React.createElement(Routes,null,React.createElement(Route,{path:"/",element:React.createElement(CatalogPage,null)}),React.createElement(Route,{path:"/:namespace/:kind/:name",element:React.createElement(cr,null,React.createElement(Xn,{EntityPage:A}))}),React.createElement(Route,{path:"Component/:optionalNamespaceAndName/*",element:React.createElement(Mn,null)}));var fn=e(47851);const rn=(0,s.createPlugin)({id:"catalog",apis:[(0,s.createApiFactory)({api:Ee.Ah,deps:{discoveryApi:s.discoveryApiRef,fetchApi:s.fetchApiRef},factory:({discoveryApi:A,fetchApi:B})=>new wn.MS({discoveryApi:A,fetchApi:B})}),(0,s.createApiFactory)({api:Ee.starredEntitiesApiRef,deps:{storageApi:s.storageApiRef},factory:({storageApi:A})=>new Ee.DefaultStarredEntitiesApi({storageApi:A})})],routes:{catalogIndex:Ee.M4,catalogEntity:Ee.wi},externalRoutes:{createComponent:fn.y,viewTechDoc:fn.j}}),Lr=rn.provide((0,s.createRoutableExtension)({name:"CatalogIndexPage",component:()=>Promise.resolve().then(e.bind(e,7758)).then(A=>A.CatalogPage),mountPoint:Ee.M4})),Ir=rn.provide((0,s.createRoutableExtension)({name:"CatalogEntityPage",component:()=>e.e(6650).then(e.bind(e,76650)).then(A=>A.CatalogEntityPage),mountPoint:Ee.wi})),Or=rn.provide((0,s.createComponentExtension)({name:"EntityAboutCard",component:{lazy:()=>Promise.resolve().then(e.bind(e,39398)).then(A=>A.AboutCard)}})),xr=rn.provide((0,s.createComponentExtension)({name:"EntityLinksCard",component:{lazy:()=>e.e(1959).then(e.bind(e,81959)).then(A=>A.EntityLinksCard)}})),ur=rn.provide((0,s.createComponentExtension)({name:"EntityHasSystemsCard",component:{lazy:()=>e.e(390).then(e.bind(e,60390)).then(A=>A.HasSystemsCard)}})),Dr=rn.provide((0,s.createComponentExtension)({name:"EntityHasComponentsCard",component:{lazy:()=>e.e(4022).then(e.bind(e,4022)).then(A=>A.HasComponentsCard)}})),br=rn.provide((0,s.createComponentExtension)({name:"EntityHasSubcomponentsCard",component:{lazy:()=>e.e(8792).then(e.bind(e,38792)).then(A=>A.HasSubcomponentsCard)}})),Fr=rn.provide((0,s.createComponentExtension)({name:"EntityHasResourcesCard",component:{lazy:()=>e.e(1553).then(e.bind(e,11553)).then(A=>A.HasResourcesCard)}})),Br=rn.provide((0,s.createComponentExtension)({name:"EntityDependsOnComponentsCard",component:{lazy:()=>e.e(8061).then(e.bind(e,48061)).then(A=>A.DependsOnComponentsCard)}})),qr=rn.provide((0,s.createComponentExtension)({name:"EntityDependencyOfComponentsCard",component:{lazy:()=>e.e(6235).then(e.bind(e,56235)).then(A=>A.DependencyOfComponentsCard)}})),Mr=rn.provide((0,s.createComponentExtension)({name:"EntityDependsOnResourcesCard",component:{lazy:()=>e.e(9028).then(e.bind(e,59028)).then(A=>A.DependsOnResourcesCard)}})),Nr=rn.provide((0,s.createComponentExtension)({name:"EntitySystemDiagramCard",component:{lazy:()=>e.e(4960).then(e.bind(e,14960)).then(A=>A.SystemDiagramCard)}})),_r=rn.provide((0,s.createComponentExtension)({name:"RelatedEntitiesCard",component:{lazy:()=>e.e(2426).then(e.bind(e,62426)).then(A=>A.RelatedEntitiesCard)}}));var Nn=e(3337),dr=e(76372);class fr{constructor(B){_(this,"configApi");_(this,"discoveryApi");_(this,"fetchApi");this.configApi=B.configApi,this.discoveryApi=B.discoveryApi,this.fetchApi=B.fetchApi}async getApiOrigin(){var B;return(B=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?B:await this.discoveryApi.getBaseUrl("techdocs")}async getTechDocsMetadata(B){const{kind:Q,namespace:fe,name:Ne}=B,$e=`${await this.getApiOrigin()}/metadata/techdocs/${fe}/${Q}/${Ne}`,ke=await this.fetchApi.fetch(`${$e}`);if(!ke.ok)throw await tt.VL.fromResponse(ke);return await ke.json()}async getEntityMetadata(B){const{kind:Q,namespace:fe,name:Ne}=B,$e=`${await this.getApiOrigin()}/metadata/entity/${fe}/${Q}/${Ne}`,ke=await this.fetchApi.fetch(`${$e}`);if(!ke.ok)throw await tt.VL.fromResponse(ke);return await ke.json()}}class mr{constructor(B){_(this,"configApi");_(this,"discoveryApi");_(this,"identityApi");_(this,"fetchApi");this.configApi=B.configApi,this.discoveryApi=B.discoveryApi,this.identityApi=B.identityApi,this.fetchApi=B.fetchApi}async getApiOrigin(){var B;return(B=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?B:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var B;return(B=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?B:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(B,Q){const{kind:fe,namespace:Ne,name:qe}=B,ke=`${await this.getStorageUrl()}/${Ne}/${fe}/${qe}/${Q}`,ft=await this.fetchApi.fetch(`${ke.endsWith("/")?ke:`${ke}/`}index.html`);let mt="";switch(ft.status){case 404:throw mt="Page not found. ",Q||(mt+="This could be because there is no index.md file in the root of the docs directory of this repository."),new tt.dR(mt);case 500:throw mt="Could not generate documentation or an error in the TechDocs backend. ",new Error(mt);default:break}return ft.text()}async syncEntityDocs(B,Q=()=>{}){const{kind:fe,namespace:Ne,name:qe}=B,ke=`${await this.getApiOrigin()}/sync/${Ne}/${fe}/${qe}`,{token:ft}=await this.identityApi.getCredentials();return new Promise((mt,Gt)=>{const Wt=new dr.EventSourcePolyfill(ke,{withCredentials:!0,headers:ft?{Authorization:`Bearer ${ft}`}:{}});Wt.addEventListener("log",Et=>{Et.data&&Q(JSON.parse(Et.data))}),Wt.addEventListener("finish",Et=>{let mn=!1;Et.data&&({updated:mn}=JSON.parse(Et.data)),mt(mn?"updated":"cached")}),Wt.onerror=Et=>{switch(Wt.close(),Et.status){case 404:Gt(new tt.dR(Et.message));return;default:Gt(new Error(Et.data));return}}})}async getBaseUrl(B,Q,fe){const{kind:Ne,namespace:qe,name:$e}=Q,ft=`${await this.getApiOrigin()}/static/docs/${qe}/${Ne}/${$e}/${fe}`;return new URL(B,ft.endsWith("/")?ft:`${ft}/`).toString()}}var Ur=e(71226),hr=e(95074),gr=e(76635),Zr=e(83201),Vn=e(50294),$=e(67430);const F=({columns:A,actions:B})=>{var Wt,Et;const{loading:Q,error:fe,entities:Ne,filters:qe}=(0,Ee.useEntityListProvider)(),{isStarredEntity:$e,toggleStarredEntity:ke}=(0,Ee.useStarredEntities)(),[,ft]=(0,hr.Z)(),mt=(0,gr.capitalize)((Et=(Wt=qe.user)==null?void 0:Wt.value)!=null?Et:"all"),Gt=[Vn.createCopyDocsUrlAction(ft),Vn.createStarEntityAction($e,ke)];return fe?t.createElement(c.WarningPanel,{severity:"error",title:"Could not load available documentation."},t.createElement(c.CodeSnippet,{language:"text",text:fe.toString()})):t.createElement(Zr.DocsTable,{title:mt,entities:Ne,loading:Q,actions:B||Gt,columns:A})};F.columns=$,F.actions=Vn;var H=e(1114);class X{getCatalogFilters(){return{"metadata.annotations.backstage.io/techdocs-ref":Ee.n3}}}const le=()=>{const{updateFilters:A}=(0,Ee.useEntityListProvider)();return(0,t.useEffect)(()=>{A({techdocs:new X})},[A]),null},te=({initialFilter:A="all",columns:B,actions:Q})=>t.createElement(H.j,null,t.createElement(c.Content,null,t.createElement(c.ContentHeader,{title:""},t.createElement(c.SupportButton,null,"Discover documentation in your ecosystem.")),t.createElement(Ee.EntityListProvider,null,t.createElement(Hn.q7,null,t.createElement(Hn.Gh,null,t.createElement(le,null),t.createElement(Ee.UserListPicker,{initialFilter:A}),t.createElement(Ee.EntityOwnerPicker,null),t.createElement(Ee.EntityTagPicker,null)),t.createElement(Hn.Nz,null,t.createElement(F,{actions:Q,columns:B}))))));var de=e(10187);const xe=()=>{const{loading:A,error:B,entities:Q}=useEntityListProvider();return B?React.createElement(WarningPanel,{severity:"error",title:"Could not load available documentation."},React.createElement(CodeSnippet,{language:"text",text:B.toString()})):A||!Q?React.createElement(Progress,null):(Q.sort((fe,Ne)=>{var qe,$e;return((qe=fe.metadata.title)!=null?qe:fe.metadata.name).localeCompare(($e=Ne.metadata.title)!=null?$e:Ne.metadata.name)}),React.createElement(DocsCardGrid,{entities:Q}))};var We=e(68725);const ze=(0,s.createPlugin)({id:"techdocs",apis:[(0,s.createApiFactory)({api:Nn.D,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef,fetchApi:s.fetchApiRef},factory:({configApi:A,discoveryApi:B,identityApi:Q,fetchApi:fe})=>new mr({configApi:A,discoveryApi:B,identityApi:Q,fetchApi:fe})}),(0,s.createApiFactory)({api:Nn.g,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,fetchApi:s.fetchApiRef},factory:({configApi:A,discoveryApi:B,fetchApi:Q})=>new fr({configApi:A,discoveryApi:B,fetchApi:Q})})],routes:{root:We._Z,docRoot:We.Fw,entityContent:We.pd}}),at=ze.provide((0,s.createRoutableExtension)({name:"TechdocsPage",component:()=>Promise.resolve().then(e.bind(e,94067)).then(A=>A.Router),mountPoint:We._Z})),je=ze.provide((0,s.createRoutableExtension)({name:"EntityTechdocsContent",component:()=>Promise.resolve().then(e.bind(e,94067)).then(A=>A.EmbeddedDocsRouter),mountPoint:We.pd})),Je=ze.provide((0,s.createComponentExtension)({name:"DocsCardGrid",component:{lazy:()=>Promise.resolve().then(e.bind(e,10187)).then(A=>A.DocsCardGrid)}})),Nt=ze.provide((0,s.createComponentExtension)({name:"DocsTable",component:{lazy:()=>Promise.resolve().then(e.bind(e,83201)).then(A=>A.DocsTable)}})),St=ze.provide((0,s.createRoutableExtension)({name:"TechDocsCustomHome",component:()=>Promise.resolve().then(e.bind(e,57110)).then(A=>A.TechDocsCustomHome),mountPoint:We._Z})),It=ze.provide((0,s.createRoutableExtension)({name:"TechDocsIndexPage",component:()=>Promise.resolve().then(e.bind(e,41481)).then(A=>A.TechDocsIndexPage),mountPoint:We._Z})),zt=ze.provide((0,s.createRoutableExtension)({name:"TechDocsReaderPage",component:()=>Promise.resolve().then(e.bind(e,31752)).then(A=>A.TechDocsPage),mountPoint:We.Fw}));var Ht=e(73873),An=e(94067),cn=e(36356);class Ft{constructor({configApi:B,discoveryApi:Q,identityApi:fe}){_(this,"configApi");_(this,"discoveryApi");_(this,"identityApi");this.configApi=B,this.discoveryApi=Q,this.identityApi=fe}async getApiOrigin(){var B;return(B=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?B:await this.discoveryApi.getBaseUrl("techdocs")}async getStorageUrl(){var B;return(B=this.configApi.getOptionalString("techdocs.storageUrl"))!=null?B:`${await this.discoveryApi.getBaseUrl("techdocs")}/static/docs`}async getBuilder(){return this.configApi.getString("techdocs.builder")}async getEntityDocs(B,Q){const Ne=`${await this.getApiOrigin()}/${Q}`,qe=await fetch(`${Ne.endsWith("/")?Ne:`${Ne}/`}index.html`);if(qe.status===404)throw new Error("Page not found");return qe.text()}async syncEntityDocs(B){return"cached"}async getBaseUrl(B,Q,fe){const Ne=await this.getApiOrigin();return new URL(B,`${Ne}/${fe}`).toString()}}class an{constructor({configApi:B,discoveryApi:Q,identityApi:fe}){_(this,"configApi");_(this,"discoveryApi");_(this,"identityApi");this.configApi=B,this.discoveryApi=Q,this.identityApi=fe}async getApiOrigin(){var B;return(B=this.configApi.getOptionalString("techdocs.requestUrl"))!=null?B:await this.discoveryApi.getBaseUrl("techdocs")}async getEntityMetadata(B){return{apiVersion:"backstage.io/v1alpha1",kind:"Component",metadata:{name:"local"},spec:{owner:"test",lifecycle:"experimental"}}}async getTechDocsMetadata(B){return{site_name:"Live preview environment",site_description:""}}}const Bt=[(0,s.createApiFactory)({api:Nn.D,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:A,discoveryApi:B,identityApi:Q})=>new Ft({configApi:A,discoveryApi:B,identityApi:Q})}),(0,s.createApiFactory)({api:Nn.g,deps:{configApi:s.configApiRef,discoveryApi:s.discoveryApiRef,identityApi:s.identityApiRef},factory:({configApi:A,discoveryApi:B,identityApi:Q})=>new an({configApi:A,discoveryApi:B,identityApi:Q})}),(0,s.createApiFactory)({api:cn.q3,deps:{configApi:s.configApiRef},factory:({configApi:A})=>cn.ae.fromConfig(A)})];var Qt=e(86689),Dn=e(58845);const kn=(0,ce.Z)({svg:{width:"auto",height:30},path:{fill:"#7df3e1"}});var ta=()=>{const A=kn();return t.createElement("svg",{className:A.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2079.95 456.05"},t.createElement("path",{className:A.path,d:"M302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Zm241-88.84q7.94,0,17.09.17t18.12,1a139.3,139.3,0,0,1,16.74,2.57,42.78,42.78,0,0,1,13.3,5.14,64.27,64.27,0,0,1,20.54,19.89Q662,168,662,186.54q0,19.54-9.49,33.78t-27.1,21.09v.68q22.78,4.82,34.87,20.58t12.08,38.4a72.62,72.62,0,0,1-4.83,26.06,65.29,65.29,0,0,1-14.33,22.46,71.57,71.57,0,0,1-23.47,15.78q-14,6-32.28,6H478.38V126.54Zm9,105.27q28,0,40.21-9.78t12.26-29.31q0-13-4.14-20.58a29.47,29.47,0,0,0-11.4-11.66A45,45,0,0,0,597,155.17a161.2,161.2,0,0,0-20.19-1.2h-65.6v77.84Zm16.57,112.13q21.74,0,34-11.66T639.59,300q0-12-4.48-19.88a34.85,34.85,0,0,0-11.91-12.52,50.14,50.14,0,0,0-17.09-6.52,105,105,0,0,0-20-1.88H511.17v84.7Zm274.79,26.74q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58A41.19,41.19,0,0,1,705,348.56q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.08-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7T736.6,249.29H707.26q.69-16.46,6.9-27.77a52.21,52.21,0,0,1,16.57-18.35,70,70,0,0,1,23.65-10.11A125.51,125.51,0,0,1,782.86,190a168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7A41.23,41.23,0,0,1,844,213.59q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-18,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.5,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14ZM1002.07,225q-11.05-9.25-29.69-9.26-15.89,0-26.58,5.83A47.29,47.29,0,0,0,928.71,237a64.66,64.66,0,0,0-9.15,22.12A119.83,119.83,0,0,0,916.8,285a98.22,98.22,0,0,0,2.93,24,64.18,64.18,0,0,0,9.15,20.74,46.2,46.2,0,0,0,16.23,14.58q10,5.49,23.82,5.48,21.75,0,34-11.31t15-31.89h30q-4.83,32.91-24.68,50.75t-54,17.83q-20.37,0-36.07-6.52A69.86,69.86,0,0,1,907,350.11a79.92,79.92,0,0,1-15.88-28.63A118.64,118.64,0,0,1,885.73,285a129.41,129.41,0,0,1,5.18-37.21,85.63,85.63,0,0,1,15.71-30.17A73.46,73.46,0,0,1,933,197.35Q948.91,190,970,190a108.54,108.54,0,0,1,28.48,3.6,69.59,69.59,0,0,1,23.48,11.15,61,61,0,0,1,16.74,19q6.55,11.49,8.29,27.26h-30.38Q1013.11,234.21,1002.07,225Zm109.77-98.41v145l81.47-77.49h39.36l-70.77,64.46,75.95,112.82h-37.29l-61.1-92.59-27.62,25.38v67.21H1082.5V126.54Zm170.54,205.22a31.07,31.07,0,0,0,10.87,10.63,49,49,0,0,0,15.19,5.66,87.06,87.06,0,0,0,17.44,1.71,109.18,109.18,0,0,0,14.5-1,53.22,53.22,0,0,0,14-3.78,26.27,26.27,0,0,0,10.53-8q4.14-5.32,4.14-13.55,0-11.31-8.63-17.14a73.69,73.69,0,0,0-21.58-9.43q-12.94-3.6-28.13-6.52a146,146,0,0,1-28.14-8.23A58.16,58.16,0,0,1,1261,267.13q-8.64-9.6-8.63-26.75,0-13.38,6-23a49.26,49.26,0,0,1,15.53-15.61,71.76,71.76,0,0,1,21.4-8.91A99.41,99.41,0,0,1,1319,190a141.31,141.31,0,0,1,28,2.58,64.85,64.85,0,0,1,22.62,8.91,46.16,46.16,0,0,1,15.7,17.15q5.87,10.8,6.91,26.91h-29.35q-.69-8.57-4.48-14.23a29.36,29.36,0,0,0-9.67-9.08,44.16,44.16,0,0,0-12.94-5,67.68,67.68,0,0,0-14.33-1.54,87.29,87.29,0,0,0-13.29,1,45.28,45.28,0,0,0-12.26,3.6,24.49,24.49,0,0,0-9,6.86q-3.46,4.29-3.46,11.14a16.32,16.32,0,0,0,5.36,12.52,42.75,42.75,0,0,0,13.63,8.23,120,120,0,0,0,18.64,5.48q10.37,2.24,20.72,4.63,11,2.4,21.57,5.83A70.74,70.74,0,0,1,1382,284.1a44.55,44.55,0,0,1,13.12,14.23q5,8.58,5,21.26,0,16.13-6.73,26.75a52.5,52.5,0,0,1-17.61,17.14,73.89,73.89,0,0,1-24.51,9.09,146.3,146.3,0,0,1-27.1,2.57,126.24,126.24,0,0,1-28.31-3.09A69.56,69.56,0,0,1,1272,361.94a51.74,51.74,0,0,1-16.57-18.52q-6.21-11.49-6.9-27.95h29.34A32.65,32.65,0,0,0,1282.38,331.76Zm226.46-137.67v25.72h-35.56V329.88a31.37,31.37,0,0,0,.87,8.23,8.42,8.42,0,0,0,3.28,4.8,14.61,14.61,0,0,0,6.73,2.23,99.19,99.19,0,0,0,11.22.51h13.46v25.72H1486.4a105.8,105.8,0,0,1-19.5-1.55,28.65,28.65,0,0,1-13.12-5.65,24.09,24.09,0,0,1-7.42-11.66q-2.43-7.54-2.42-19.89V219.81h-30.38V194.09h30.38V140.94h29.34v53.15ZM1699.4,370.68q-7.61,4.45-21.06,4.46-11.4,0-18.12-6.34t-6.74-20.75a70.17,70.17,0,0,1-28.13,20.75,97.87,97.87,0,0,1-57.65,3.6,53.51,53.51,0,0,1-18.82-8.58,41.19,41.19,0,0,1-12.6-15.26q-4.65-9.42-4.66-22.8,0-15.09,5.18-24.69a44.92,44.92,0,0,1,13.64-15.6,62.63,62.63,0,0,1,19.33-9.09q10.88-3.08,22.27-5.14,12.07-2.4,23-3.6a128,128,0,0,0,19.16-3.43c5.53-1.48,9.89-3.65,13.12-6.51s4.83-7,4.83-12.52q0-9.6-3.62-15.43a24.94,24.94,0,0,0-9.32-8.92,38.38,38.38,0,0,0-12.78-4.11,96.54,96.54,0,0,0-14-1q-18.63,0-31.07,7t-13.46,26.57h-29.34q.67-16.46,6.9-27.77A52.21,52.21,0,0,1,1562,203.17a70,70,0,0,1,23.65-10.11,125.51,125.51,0,0,1,28.48-3.09,168.63,168.63,0,0,1,24,1.72,63.26,63.26,0,0,1,21.58,7,41.23,41.23,0,0,1,15.53,14.89q5.87,9.57,5.87,25v91q0,10.26,1.21,15.05t8.11,4.79a35.57,35.57,0,0,0,9-1.37Zm-47.64-90.87c-3.69,2.74-8.52,4.72-14.5,6s-12.26,2.27-18.82,3.07-13.17,1.71-19.85,2.73a73.7,73.7,0,0,0-17.95,4.94,32.62,32.62,0,0,0-12.94,9.73q-5,6.32-5,17.23a23.31,23.31,0,0,0,2.94,12.11,24.11,24.11,0,0,0,7.59,8,32,32,0,0,0,10.88,4.44,60.94,60.94,0,0,0,13.11,1.36q14.51,0,24.86-3.92a52.49,52.49,0,0,0,16.91-9.9,39.1,39.1,0,0,0,9.67-13,32.53,32.53,0,0,0,3.11-13.14Zm208.85,141.62q-20,21.6-62.83,21.6a122.11,122.11,0,0,1-25.37-2.74,78,78,0,0,1-23.48-8.92,54.41,54.41,0,0,1-17.43-16.11q-6.91-10-7.6-24.35h29.35a21.47,21.47,0,0,0,5,13.38,36.67,36.67,0,0,0,11.4,8.91,55.52,55.52,0,0,0,14.67,5,79.51,79.51,0,0,0,15.19,1.55q14.49,0,24.51-5A46,46,0,0,0,1840.59,401a56.53,56.53,0,0,0,9.49-21.09,117.46,117.46,0,0,0,2.94-27.09V341.19h-.7q-7.59,16.46-23,24.18a71.8,71.8,0,0,1-32.63,7.71q-20,0-34.86-7.2A72.88,72.88,0,0,1,1737,346.51a82.13,82.13,0,0,1-15-28.46,116.62,116.62,0,0,1-5-34.47,133.92,133.92,0,0,1,4.14-32.4A88.17,88.17,0,0,1,1735,221a75.49,75.49,0,0,1,25.55-22.29q15.87-8.75,39-8.75a66.21,66.21,0,0,1,31.07,7.38,52.13,52.13,0,0,1,22.09,22.11h.35V194.09h27.61V356.28Q1880.63,399.83,1860.61,421.43Zm-37.46-79.72a47.94,47.94,0,0,0,16.4-15.78,71.89,71.89,0,0,0,9.15-22.11,106.77,106.77,0,0,0,2.93-24.69,96.71,96.71,0,0,0-2.76-23,64,64,0,0,0-8.8-20.4,45.76,45.76,0,0,0-15.71-14.57q-9.66-5.49-23.47-5.49-14.16,0-24.17,5.32a46.77,46.77,0,0,0-16.4,14.23,60.14,60.14,0,0,0-9.32,20.57,99.69,99.69,0,0,0-2.93,24.35,120.63,120.63,0,0,0,2.42,24,67.5,67.5,0,0,0,8.28,21.77,46.37,46.37,0,0,0,15.54,15.78q9.66,6,24.16,6T1823.15,341.71Zm228,18.34q-20,15.09-50.41,15.09-21.4,0-37.11-6.86a73.16,73.16,0,0,1-26.41-19.2,81.52,81.52,0,0,1-16-29.49,141.12,141.12,0,0,1-6-37.38,106.1,106.1,0,0,1,6.21-37A88.56,88.56,0,0,1,1938.8,216a79.09,79.09,0,0,1,26.58-19.2A81.66,81.66,0,0,1,1999,190q23.82,0,39.53,9.78a78,78,0,0,1,25.2,24.86,98.18,98.18,0,0,1,13.12,32.91,140.6,140.6,0,0,1,2.93,34h-133.6a70,70,0,0,0,2.76,22.12,49.9,49.9,0,0,0,10,18.51A49.1,49.1,0,0,0,1976.6,345q10.7,4.82,25.2,4.8,18.65,0,30.55-8.57t15.71-26.06h29Q2071.18,345,2051.17,360.05Zm-7.08-113.84a50,50,0,0,0-10.7-16,53.1,53.1,0,0,0-56.62-10.63,47.48,47.48,0,0,0-15.71,10.81,51.69,51.69,0,0,0-10.35,15.94,60.18,60.18,0,0,0-4.49,19.37h102.53A59.47,59.47,0,0,0,2044.09,246.21ZM302.9,180a80.62,80.62,0,0,0,13.44-10.37c.8-.77,1.55-1.54,2.31-2.31a81.89,81.89,0,0,0,7.92-9.37,62.37,62.37,0,0,0,6.27-10.77,48.6,48.6,0,0,0,4.36-16.4c1.49-19.39-10-38.67-35.62-54.22L198.42,14,78.16,129.22l-78.29,75,108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.69,49.69,0,0,0-6.8-8.87,89.78,89.78,0,0,0,19.28,2.15H259a85.09,85.09,0,0,0,31-5.79A80.88,80.88,0,0,0,302.9,180Zm-100.59,59.8c-19.32,18.51-50.4,21.24-75.7,5.9l-75.13-45.6,67.44-64.65,76.42,46.39C222.88,198.57,221.36,221.6,202.31,239.84Zm8.94-82.21L140.6,114.74,205,53l69.37,42.11c25.94,15.73,29.31,37.05,10.55,55A60.71,60.71,0,0,1,211.25,157.63Zm29.86,190c-19.57,18.75-46.17,29.08-74.88,29.08a123.84,123.84,0,0,1-64.11-18.19L-.13,296.51v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.85,87.85,0,0,1,241.11,347.67Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,257.52V282.2l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.79A86.86,86.86,0,0,1,241.11,308.68Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.84,123.84,0,0,1-64.11-18.19L-.13,218.54v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.12,19.68-41.49v-1.82A87.14,87.14,0,0,1,241.11,269.7Zm83.69,25.74a94.16,94.16,0,0,1-60.19,25.86h0V348a81.6,81.6,0,0,0,51.73-22.37c14-13.38,21.15-28.11,21-42.64v-2.2A95.14,95.14,0,0,1,324.8,295.44Zm-83.69,91.21c-19.57,18.75-46.17,29.09-74.88,29.09a123.76,123.76,0,0,1-64.11-18.2L-.13,335.49v24.67l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.35,87.35,0,0,1,241.11,386.65Zm85.75-210.21c-.68.69-1.35,1.38-2.06,2.05a99.19,99.19,0,0,1-22.23,15.69,94.53,94.53,0,0,1-26.24,8.71,97.84,97.84,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a52.7,52.7,0,0,1,1.13,12V231h.05A84.48,84.48,0,0,0,290,225.47a80.83,80.83,0,0,0,26.38-16.82c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,62.85,62.85,0,0,0,6.29-10.78,48.5,48.5,0,0,0,4.32-16.44c.09-1.23.2-2.47.19-3.7v-2c-.72,1-1.48,2.06-2.26,3.09A98,98,0,0,1,326.86,176.44Zm0,77.92c-.68.7-1.3,1.41-2,2.1a94.09,94.09,0,0,1-60.19,25.85h0V309h0a81.65,81.65,0,0,0,51.73-22.37,73.51,73.51,0,0,0,16.48-22.49,48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A95.81,95.81,0,0,1,326.82,254.36Zm0-39c-.68.7-1.3,1.41-2,2.1a92.22,92.22,0,0,1-10.62,8.65,93.53,93.53,0,0,1-11.63,7,95.63,95.63,0,0,1-37.94,10.18h-.05l0,26.67h0a81.63,81.63,0,0,0,51.73-22.37c.81-.77,1.51-1.56,2.27-2.34a82,82,0,0,0,7.92-9.38,63.16,63.16,0,0,0,6.29-10.77,48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7v-2.2c-.74,1.08-1.47,2.16-2.27,3.22A98.19,98.19,0,0,1,326.82,215.38Z"}))};const $r=(0,ce.Z)({svg:{width:"auto",height:28},path:{fill:"#7df3e1"}});var La=()=>{const A=$r();return t.createElement("svg",{className:A.svg,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 337.46 428.5"},t.createElement("path",{className:A.path,d:"M303,166.05a80.69,80.69,0,0,0,13.45-10.37c.79-.77,1.55-1.53,2.3-2.3a83.12,83.12,0,0,0,7.93-9.38A63.69,63.69,0,0,0,333,133.23a48.58,48.58,0,0,0,4.35-16.4c1.49-19.39-10-38.67-35.62-54.22L198.56,0,78.3,115.23,0,190.25l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.69,19.16-18.36,25.52-42.12,13.7-61.87a49.22,49.22,0,0,0-6.8-8.87A89.17,89.17,0,0,0,259,178.29h.15a85.08,85.08,0,0,0,31-5.79A80.88,80.88,0,0,0,303,166.05ZM202.45,225.86c-19.32,18.51-50.4,21.23-75.7,5.9L51.61,186.15l67.45-64.64,76.41,46.38C223,184.58,221.49,207.61,202.45,225.86Zm8.93-82.22-70.65-42.89L205.14,39,274.51,81.1c25.94,15.72,29.31,37,10.55,55A60.69,60.69,0,0,1,211.38,143.64Zm29.86,190c-19.57,18.75-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,282.52v24.67L108.6,373.1a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A87.27,87.27,0,0,1,241.24,333.68Zm0-39c-19.57,18.75-46.17,29.08-74.88,29.08a123.81,123.81,0,0,1-64.1-18.19L0,243.53v24.68l108.6,65.91a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.81,66.42-25.69,12.88-12.34,20-27.13,19.68-41.5v-1.78A87.27,87.27,0,0,1,241.24,294.7Zm0-39c-19.57,18.76-46.17,29.09-74.88,29.09a123.81,123.81,0,0,1-64.1-18.19L0,204.55v24.68l108.6,65.91a111.59,111.59,0,0,0,57.76,16.41c24.92,0,48.8-8.8,66.42-25.68,12.88-12.35,20-27.13,19.68-41.5v-1.82A86.09,86.09,0,0,1,241.24,255.71Zm83.7,25.74a94.15,94.15,0,0,1-60.2,25.86h0V334a81.6,81.6,0,0,0,51.74-22.37c14-13.38,21.14-28.11,21-42.64v-2.19A94.92,94.92,0,0,1,324.94,281.45Zm-83.7,91.21c-19.57,18.76-46.17,29.09-74.88,29.09a123.73,123.73,0,0,1-64.1-18.2L0,321.5v24.68l108.6,65.9a111.6,111.6,0,0,0,57.76,16.42c24.92,0,48.8-8.8,66.42-25.69,12.88-12.34,20-27.13,19.68-41.49v-1.79A86.29,86.29,0,0,1,241.24,372.66ZM327,162.45c-.68.69-1.35,1.38-2.05,2.06a94.37,94.37,0,0,1-10.64,8.65,91.35,91.35,0,0,1-11.6,7,94.53,94.53,0,0,1-26.24,8.71,97.69,97.69,0,0,1-14.16,1.57c.5,1.61.9,3.25,1.25,4.9a53.27,53.27,0,0,1,1.14,12V217h.05a84.41,84.41,0,0,0,25.35-5.55,81,81,0,0,0,26.39-16.82c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,172.17a48.55,48.55,0,0,0,4.32-16.45c.09-1.23.2-2.47.19-3.7V150q-1.08,1.54-2.25,3.09A96.73,96.73,0,0,1,327,162.45Zm0,77.92c-.69.7-1.31,1.41-2,2.1a94.2,94.2,0,0,1-60.2,25.86h0l0,26.67h0a81.6,81.6,0,0,0,51.74-22.37A73.51,73.51,0,0,0,333,250.13a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.47.19-3.71v-2.19c-.74,1.07-1.46,2.15-2.27,3.21A95.68,95.68,0,0,1,327,240.37Zm0-39c-.69.7-1.31,1.41-2,2.1a93.18,93.18,0,0,1-10.63,8.65,91.63,91.63,0,0,1-11.63,7,95.47,95.47,0,0,1-37.94,10.18h0V256h0a81.65,81.65,0,0,0,51.74-22.37c.8-.77,1.5-1.56,2.26-2.34a82.08,82.08,0,0,0,7.93-9.38A63.76,63.76,0,0,0,333,211.15a48.56,48.56,0,0,0,4.32-16.44c.09-1.24.2-2.48.19-3.71v-2.2c-.74,1.08-1.46,2.16-2.27,3.22A95.68,95.68,0,0,1,327,201.39Z"}))};const na=(0,ce.Z)({root:{width:c.sidebarConfig.drawerWidthClosed,height:3*c.sidebarConfig.logoHeight,display:"flex",flexFlow:"row nowrap",alignItems:"center",marginBottom:-14},link:{width:c.sidebarConfig.drawerWidthClosed,marginLeft:24}}),ra=()=>{const A=na(),{isOpen:B}=(0,t.useContext)(c.SidebarContext);return t.createElement("div",{className:A.root},t.createElement(Qt.Z,{component:y.OL,to:"/docs/default/component/local/",underline:"none",className:A.link},B?t.createElement(ta,null):t.createElement(La,null)))},Ia=({children:A})=>t.createElement(c.SidebarPage,null,t.createElement(c.Sidebar,null,t.createElement(ra,null),t.createElement(c.SidebarDivider,null),t.createElement(c.SidebarItem,{icon:Dn.Z,to:"docs/default/component/local/",text:"Docs Preview"})),A),aa=()=>{const A={site_name:"Live preview environment",site_description:""};return t.createElement(Ht.EV,null,({entityRef:B,onReady:Q})=>t.createElement(t.Fragment,null,t.createElement(Ht.nN,{techDocsMetadata:A,entityRef:B}),t.createElement(c.Content,{"data-testid":"techdocs-content"},t.createElement(Ht.Ej,{onReady:Q,entityRef:B,withSearch:!1}))))},oa=t.createElement(aa,null),sa={backend:{baseUrl:"http://localhost:3000"},techdocs:{builder:"external",requestUrl:"http://localhost:3000/api"}},wr={backend:{baseUrl:"http://localhost:7007"},techdocs:{builder:"external",requestUrl:"http://localhost:7007/api"}};async function pr(){const A=await fetch("/.detect");return A.ok?(await A.text()).trim()==="techdocs-cli-server":!1}async function ia(){const A=await(0,E.defaultConfigLoader)(),B=await pr();return[...A,{context:"detected",data:B?sa:wr}]}const la=N({apis:Bt,configLoader:ia,plugins:Object.values(r)}),ca=la.getProvider(),ua=la.getRouter(),da=t.createElement(E.FlatRoutes,null,t.createElement(d.Fg,{key:"/",to:"/docs/default/component/local/"}),t.createElement(d.AW,{path:"/catalog/:namespace/:kind/:name",element:t.createElement(Ir,null)}),t.createElement(d.AW,{path:"/docs",element:t.createElement(It,null)},t.createElement(te,null)),t.createElement(d.AW,{path:"/docs/:namespace/:kind/:name/*",element:t.createElement(zt,null)},oa));var xa=()=>t.createElement(ca,null,t.createElement(ua,null,t.createElement(Ia,null,da)));l.render(t.createElement(xa,null),document.getElementById("root"))},76241:function(J,o,e){"use strict";e.d(o,{CT:function(){return s},EI:function(){return m},uW:function(){return d},Vt:function(){return p}});function r(){return typeof window!="undefined"&&window.Math===Math?window:typeof self!="undefined"&&self.Math===Math?self:Function("return this")()}const t=r(),l=c=>`__@backstage/${c}__`;function d(c,y){const i=l(c);let S=t[i];return S||(S=y(),t[i]=S,S)}var E=e(2784);function s(c){return d(c,()=>(0,E.createContext)(void 0))}function p(c){return(0,E.useContext)(s(c))}function h(c){return{set(y){globalThis[`__@backstage/${c}__`]=createContext(createVersionedValueMap(y))},reset(){delete globalThis[`__@backstage/${c}__`]}}}function m(c){return Object.freeze(c),{atVersion(y){return c[y]}}}},19139:function(J,o,e){"use strict";e.d(o,{AsyncEntityProvider:function(){return Le},n3:function(){return t.n3},DefaultStarredEntitiesApi:function(){return c},EntityContext:function(){return q},EntityKindFilter:function(){return C},EntityLifecyclePicker:function(){return He},EntityListProvider:function(){return $t},EntityOwnerPicker:function(){return en},EntityRefLink:function(){return oe},EntityRefLinks:function(){return ne},EntityTable:function(){return zn},EntityTagPicker:function(){return Sr},EntityTypePicker:function(){return Cr},FavoriteEntity:function(){return cr},UnregisterEntityDialog:function(){return qr},UserListPicker:function(){return gr},Ah:function(){return d},M4:function(){return M},wi:function(){return P},favoriteEntityIcon:function(){return Mn},favoriteEntityTooltip:function(){return Xn},formatEntityRefTitle:function(){return st},getEntityMetadataEditUrl:function(){return pt},getEntityMetadataViewUrl:function(){return xt},getEntityRelations:function(){return rt},getEntitySourceLocation:function(){return Tt},isOwnerOf:function(){return Pt},starredEntitiesApiRef:function(){return y},useEntity:function(){return Qe},useEntityCompoundName:function(){return z},useEntityFromUrl:function(){return Pe},useEntityKinds:function(){return Be},useEntityListProvider:function(){return ht},useEntityPermission:function(){return j},useOwnUser:function(){return Ie},useRelatedEntities:function(){return Ee},useStarredEntities:function(){return ut}});var r={};e.r(r),e.d(r,{createDomainColumn:function(){return Yt},createEntityRefColumn:function(){return Tn},createEntityRelationColumn:function(){return En},createMetadataDescriptionColumn:function(){return On},createOwnerColumn:function(){return yt},createSpecLifecycleColumn:function(){return jt},createSpecTypeColumn:function(){return Wn},createSystemColumn:function(){return dn}});var t=e(30001),l=e(36964);const d=(0,l.createApiRef)({id:"plugin.catalog.service"});var E=e(82394),s=e.n(E),p=e(52890),h=e(76635);async function m({storageApi:$}){var te;const F=$.forBucket("settings"),H=$.forBucket("starredEntities"),X=F.get("starredEntities");if(!(0,h.isArray)(X))return;const le=new Set((te=H.get("entityRefs"))!=null?te:[]);X.filter(h.isString).map(de=>de.split(":")).filter(de=>de.length===4&&de[0]==="entity").map(([de,xe,We,ze])=>(0,p.eE)({kind:xe,namespace:We,name:ze})).forEach(de=>le.add(de)),await H.set("entityRefs",Array.from(le)),await F.remove("starredEntities")}class c{constructor(F){_(this,"settingsStore");_(this,"starredEntities");_(this,"subscribers",new Set);_(this,"observable",new(s())(F=>(F.next(this.starredEntities),this.subscribers.add(F),()=>{this.subscribers.delete(F)})));var H;m(F).then(),this.settingsStore=F.storageApi.forBucket("starredEntities"),this.starredEntities=new Set((H=this.settingsStore.get("entityRefs"))!=null?H:[]),this.settingsStore.observe$("entityRefs").subscribe({next:X=>{var le;this.starredEntities=new Set((le=X.newValue)!=null?le:[]),this.notifyChanges()}})}async toggleStarred(F){this.starredEntities.has(F)?this.starredEntities.delete(F):this.starredEntities.add(F),await this.settingsStore.set("entityRefs",Array.from(this.starredEntities))}starredEntitie$(){return this.observable}isStarred(F){return this.starredEntities.has(F)}notifyChanges(){for(const F of this.subscribers)F.next(this.starredEntities)}}const y=(0,l.createApiRef)({id:"catalog-react.starred-entities"});var i=e(2784),S=e(76241),D=e(10289),L=e(77446);const M=(0,l.createRouteRef)({id:"catalog"}),P=(0,S.uW)("catalog:entity-route-ref",()=>(0,l.createRouteRef)({id:"catalog:entity",params:["namespace","kind","name"]})),O=null;function x($){var F,H;return{kind:$.kind.toLocaleLowerCase("en-US"),namespace:(H=(F=$.metadata.namespace)==null?void 0:F.toLocaleLowerCase("en-US"))!=null?H:ENTITY_DEFAULT_NAMESPACE,name:$.metadata.name}}const z=()=>{const{kind:$,namespace:F,name:H}=(0,l.useRouteRefParams)(P);return{kind:$,namespace:F,name:H}},q=(0,i.createContext)({entity:void 0,loading:!0,error:void 0,refresh:()=>{}}),se=q.Provider,pe=(0,S.CT)("entity-context"),Le=({children:$,entity:F,loading:H,error:X,refresh:le})=>{const te={entity:F,loading:H,error:X,refresh:le};return i.createElement(se,{value:te},i.createElement(pe.Provider,{value:(0,S.EI)({1:te})},$))},me=({entity:$,children:F})=>React.createElement(Le,{entity:$,loading:!Boolean($),error:void 0,refresh:void 0,children:F}),Ve=({value:$,children:F})=>i.createElement(Le,{...$,children:F});q.Provider=Ve;const Pe=()=>{const{kind:$,namespace:F,name:H}=z(),X=(0,D.s0)(),le=(0,l.useApi)(l.errorApiRef),te=(0,l.useApi)(d),{value:de,error:xe,loading:We,retry:ze}=(0,L.Z)(()=>te.getEntityByName({kind:$,namespace:F,name:H}),[te,$,F,H]);return(0,i.useEffect)(()=>{H||(le.post(new Error("No name provided!")),X("/"))},[le,X,xe,We,de,H]),{entity:de,loading:We,error:xe,refresh:ze}};function Qe(){const $=(0,S.Vt)("entity-context");if(!$)return{entity:void 0,loading:!0,error:void 0,refresh:()=>{}};const F=$.atVersion(1);if(!F)throw new Error("EntityContext v1 not available");const{entity:H,loading:X,error:le,refresh:te}=F;return{entity:H,loading:X,error:le,refresh:te}}var it=e(19126),_e=e.n(it),gt=e(69294),nt=e(48760),ot=e(90736);function vt($){return $.reduce((F,H)=>({...F,...H.getCatalogFilters?H.getCatalogFilters():{}}),{})}function Vt($){return F=>$.every(H=>!H.filterEntity||H.filterEntity(F))}function xt($){var F;return(F=$.metadata.annotations)==null?void 0:F[p.wh]}function pt($){var F;return(F=$.metadata.annotations)==null?void 0:F[p.J1]}function rt($,F,H){var le,te;let X=((te=(le=$==null?void 0:$.relations)==null?void 0:le.filter(de=>de.type===F))==null?void 0:te.map(de=>de.target))||[];return(H==null?void 0:H.kind)&&(X=X==null?void 0:X.filter(de=>de.kind.toLocaleLowerCase("en-US")===H.kind.toLocaleLowerCase("en-US"))),X}function Tt($,F){var X;const H=(X=$.metadata.annotations)==null?void 0:X[p.wX];if(!!H)try{const le=(0,p.Me)(H),te=F.byUrl(le.target);return{locationTargetUrl:le.target,integrationType:te==null?void 0:te.type}}catch{return}}function Pt($,F){const H=new Set([...rt($,p.hr,{kind:"group"}),...$?[(0,p.C_)($)]:[]].map(p.eE)),X=rt(F,p.S4).map(p.eE);for(const le of X)if(H.has(le))return!0;return!1}const Dt=(0,i.createContext)(void 0),$t=({children:$})=>{const F=(0,ot.default)(),H=(0,l.useApi)(d),[X,le]=(0,i.useState)({}),te=(0,D.TH)(),de=(0,i.useMemo)(()=>{var St;return(St=_e().parse(te.search,{ignoreQueryPrefix:!0}).filters)!=null?St:{}},[te]),[xe,We]=(0,i.useState)(()=>({appliedFilters:{},entities:[],backendEntities:[]})),[{loading:ze,error:at},je]=(0,gt.default)(async()=>{var cn;const St=(0,h.compact)(Object.values(X)),It=Vt(St),zt=vt(St),Ht=vt((0,h.compact)(Object.values(xe.appliedFilters))),An=Object.keys(X).reduce((Ft,an)=>{const Bt=X[an];return(Bt==null?void 0:Bt.toQueryValue)&&(Ft[an]=Bt.toQueryValue()),Ft},{});if((0,h.isEqual)(Ht,zt))We({appliedFilters:X,backendEntities:xe.backendEntities,entities:xe.backendEntities.filter(It)});else{const Ft=await H.getEntities({filter:zt});We({appliedFilters:X,backendEntities:Ft.items,entities:Ft.items.filter(It)})}if(F()){const Ft=_e().parse(te.search,{ignoreQueryPrefix:!0}),an=_e().stringify({...Ft,filters:An},{addQueryPrefix:!0}),Bt=`${window.location.pathname}${an}`;(cn=window.history)==null||cn.replaceState(null,document.title,Bt)}},[H,de,X,xe],{loading:!0});(0,nt.Z)(je,10,[X]);const Je=(0,i.useCallback)(St=>{le(It=>{const zt=typeof St=="function"?St(It):St;return{...It,...zt}})},[]),Nt=(0,i.useMemo)(()=>({filters:xe.appliedFilters,entities:xe.entities,backendEntities:xe.backendEntities,updateFilters:Je,queryParameters:de,loading:ze,error:at}),[xe,Je,de,ze,at]);return i.createElement(Dt.Provider,{value:Nt},$)};function ht(){const $=(0,i.useContext)(Dt);if(!$)throw new Error("useEntityListProvider must be used within EntityListProvider");return $}var Lt=e(64279),wt=e(18149),be=e.n(wt);function st($,F){const H=F==null?void 0:F.defaultKind;let X,le,te;return"metadata"in $?(X=$.kind,le=$.metadata.namespace,te=$.metadata.name):(X=$.kind,le=$.namespace,te=$.name),le===p.sk&&(le=void 0),X=X.toLocaleLowerCase("en-US"),`${(0,p.TH)({kind:H&&H.toLocaleLowerCase("en-US")===X?void 0:X,name:te,namespace:le})}`}var lt=e(9118),Ct=e(80030);const oe=(0,i.forwardRef)(($,F)=>{var St;const{entityRef:H,defaultKind:X,title:le,children:te,...de}=$,xe=(0,l.useRouteRef)(P);let We,ze,at;"metadata"in H?(We=H.kind,ze=H.metadata.namespace,at=H.metadata.name):(We=H.kind,ze=H.namespace,at=H.name),We=We.toLocaleLowerCase("en-US");const je={kind:We,namespace:(St=ze==null?void 0:ze.toLocaleLowerCase("en-US"))!=null?St:p.sk,name:at},Je=st(H,{defaultKind:X}),Nt=i.createElement(lt.Link,{...de,ref:F,to:xe(je)},te,!te&&(le!=null?le:Je));return le?i.createElement(Ct.ZP,{title:Je},Nt):Nt}),ne=({entityRefs:$,defaultKind:F,...H})=>i.createElement(i.Fragment,null,$.map((X,le)=>i.createElement(i.Fragment,{key:le},le>0&&", ",i.createElement(oe,{...H,entityRef:X,defaultKind:F}))));class C{constructor(F){this.value=F}getCatalogFilters(){return{kind:this.value}}toQueryValue(){return this.value}}class T{constructor(F){this.value=F}getTypes(){return Array.isArray(this.value)?this.value:[this.value]}getCatalogFilters(){return{"spec.type":this.getTypes()}}toQueryValue(){return this.getTypes()}}class N{constructor(F){this.values=F}filterEntity(F){return this.values.every(H=>{var X;return((X=F.metadata.tags)!=null?X:[]).includes(H)})}toQueryValue(){return this.values}}class G{constructor(F){this.value=F}filterEntity(F){var X;const H=this.value.toLocaleUpperCase("en-US");return F.metadata.name.toLocaleUpperCase("en-US").includes(H)||`${F.metadata.title}`.toLocaleUpperCase("en-US").includes(H)||((X=F.metadata.tags)==null?void 0:X.join("").toLocaleUpperCase("en-US").indexOf(H))!==-1}}class Y{constructor(F){this.values=F}filterEntity(F){return this.values.some(H=>rt(F,p.S4).some(X=>st(X,{defaultKind:"group"})===H))}toQueryValue(){return this.values}}class ce{constructor(F){this.values=F}filterEntity(F){return this.values.some(H=>{var X;return((X=F.spec)==null?void 0:X.lifecycle)===H})}toQueryValue(){return this.values}}class ve{constructor(F,H,X){this.value=F,this.isOwnedEntity=H,this.isStarredEntity=X}filterEntity(F){switch(this.value){case"owned":return this.isOwnedEntity(F);case"starred":return this.isStarredEntity(F);default:return!0}}toQueryValue(){return this.value}}function ye(){var It;const $=(0,l.useApi)(d),{filters:{kind:F,type:H},queryParameters:X,updateFilters:le}=ht(),te=(0,i.useMemo)(()=>[X.type].flat().filter(Boolean),[X]),[de,xe]=(0,i.useState)(te.length?te:(It=H==null?void 0:H.getTypes())!=null?It:[]);(0,i.useEffect)(()=>{te.length&&xe(te)},[te]);const[We,ze]=(0,i.useState)([]),at=(0,i.useMemo)(()=>F==null?void 0:F.value,[F]),{error:je,loading:Je,value:Nt}=(0,Lt.default)(async()=>at?await $.getEntities({filter:{kind:at},fields:["spec.type"]}).then(Ht=>Ht.items):[],[at,$]),St=(0,i.useRef)(Nt);return(0,i.useEffect)(()=>{const zt=St.current;if(St.current=Nt,Je||!at||zt===Nt||!Nt)return;const Ht=Nt.reduce((Ft,an)=>{var Qt;if(typeof((Qt=an.spec)==null?void 0:Qt.type)!="string")return Ft;const Bt=an.spec.type.toLocaleLowerCase("en-US");return Ft[Bt]||(Ft[Bt]=0),Ft[Bt]+=1,Ft},{}),An=Object.entries(Ht).sort(([,Ft],[,an])=>an-Ft).map(([Ft])=>Ft);ze(An);const cn=de.filter(Ft=>An.includes(Ft));be()(de,cn)||xe(cn)},[Je,at,de,xe,Nt]),(0,i.useEffect)(()=>{le({type:de.length?new T(de):void 0})},[de,le]),{loading:Je,error:je,availableTypes:We,selectedTypes:de,setSelectedTypes:xe}}function Be(){const $=(0,l.useApi)(d),{error:F,loading:H,value:X}=(0,Lt.default)(async()=>{const le=await $.getEntities({fields:["kind"]}).then(te=>te.items);return[...new Set(le.map(te=>te.kind))].sort()});return{error:F,loading:H,kinds:X}}function Ie(){const $=(0,l.useApi)(d),F=(0,l.useApi)(l.identityApiRef);return(0,Lt.default)(async()=>{const H=await F.getBackstageIdentity();return $.getEntityByName((0,p.of)(H.userEntityRef,{defaultKind:"User",defaultNamespace:p.sk}))},[$,F])}const Re=20;function Ee($,{type:F,kind:H}){const X=(0,l.useApi)(d),{loading:le,value:te,error:de}=(0,Lt.default)(async()=>{const xe=$.relations&&$.relations.filter(je=>(!F||je.type.toLocaleLowerCase("en-US")===F.toLocaleLowerCase("en-US"))&&(!H||je.target.kind.toLocaleLowerCase("en-US")===H.toLocaleLowerCase("en-US")));if(!xe)return[];const We=Object.values((0,h.groupBy)(xe,({target:je})=>`${je.kind}:${je.namespace}`.toLocaleLowerCase("en-US"))),ze=[];for(const je of We)ze.push({kind:je[0].target.kind,namespace:je[0].target.namespace,nameBatches:(0,h.chunk)(je.map(Je=>Je.target.name),Re)});return(await Promise.all(ze.flatMap(je=>je.nameBatches.map(Je=>X.getEntities({filter:{kind:je.kind,"metadata.namespace":je.namespace,"metadata.name":Je}}))))).flatMap(je=>je.items)},[$,F]);return{entities:te,loading:le,error:de}}var Fe=e(72164);function Rt($){return typeof $=="string"?$:(0,p.eE)($)}function ut(){const $=(0,l.useApi)(y),F=(0,Fe.Z)($.starredEntitie$(),new Set),H=(0,i.useCallback)(le=>F.has(Rt(le)),[F]),X=(0,i.useCallback)(le=>$.toggleStarred(Rt(le)).then(),[$]);return{starredEntities:F,toggleStarredEntity:X,isStarredEntity:H}}function Ge($){return typeof $=="string"?$:(0,p.eE)($)}function ie($){const F=(0,l.useApi)(y),[H,X]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{const te=F.starredEntitie$().subscribe({next(de){X(de.has(Ge($)))}});return()=>{te.unsubscribe()}},[$,F]),{toggleStarredEntity:(0,i.useCallback)(()=>F.toggleStarred(Ge($)).then(),[$,F]),isStarredEntity:H}}async function Me($){return(await $.getBackstageIdentity()).ownershipEntityRefs}async function et($,F){const H=new Array,X=F.find(le=>le.startsWith("user:"));if(X){const le=await $.getEntityByName((0,p.of)(X));if(le){const te=rt(le,p.hr,{kind:"Group"});for(const de of te)H.push((0,p.eE)(de))}}return H}function Ue(){const $=(0,l.useApi)(l.identityApiRef),F=(0,l.useApi)(d),{loading:H,value:X}=(0,Lt.default)(async()=>{const{ownershipEntityRefs:te}=await $.getBackstageIdentity(),de=await et(F,te);return new Set([...te,...de])},[]),le=(0,i.useMemo)(()=>{const te=new Set(X!=null?X:[]);return de=>{const xe=("metadata"in de?rt(de,p.S4):[de]).map(p.eE);for(const We of xe)if(te.has(We))return!0;return!1}},[X]);return(0,i.useMemo)(()=>({loading:H,isOwnedEntity:le}),[H,le])}function Ze($){const F=useApi(identityApiRef),H=useApi(catalogApiRef),{loading:X,value:le}=useAsync(async()=>{const de=await loadIdentityOwnerRefs(F),xe=await loadCatalogOwnerRefs(H,de);return await H.getEntities($?{filter:{kind:$,[`relations.${RELATION_OWNED_BY}`]:[...de,...xe]}}:{filter:{[`relations.${RELATION_OWNED_BY}`]:[...de,...xe]}})},[]),te=useMemo(()=>le,[le]);return useMemo(()=>({loading:X,ownedEntities:te}),[X,te])}var Ye=e(20221);function j($){const{entity:F,loading:H,error:X}=Qe(),{allowed:le,loading:te,error:de}=(0,Ye.gI)($,F?(0,p.eE)(F):void 0);return H||te?{loading:!0,allowed:!1}:X?{loading:!1,allowed:!1,error:X}:{loading:!1,allowed:le,error:de}}const v=$=>{var de;const{initialFilter:F,hidden:H}=$,{updateFilters:X,queryParameters:le}=useEntityListProvider(),[te]=useState((de=[le.kind].flat()[0])!=null?de:F);return useEffect(()=>{X({kind:te?new EntityKindFilter(te):void 0})},[te,X]),H?null:React.createElement(Alert,{severity:"warning"},"Kind filter not yet available")};var b=e(79692),W=e(95544),ee=e(90436),Oe=e(5806),ge=e(21324),Ce=e(86619),De=e(19996),we=e(25505),At=e(38016),ae=e(88013);const Z=(0,b.Z)({input:{}},{name:"CatalogReactEntityLifecyclePicker"}),k=i.createElement(we.Z,{fontSize:"small"}),he=i.createElement(De.Z,{fontSize:"small"}),He=()=>{var ze,at;const $=Z(),{updateFilters:F,backendEntities:H,filters:X,queryParameters:le}=ht(),te=(0,i.useMemo)(()=>[le.lifecycles].flat().filter(Boolean),[le]),[de,xe]=(0,i.useState)(te.length?te:(at=(ze=X.lifecycles)==null?void 0:ze.values)!=null?at:[]);(0,i.useEffect)(()=>{te.length&&xe(te)},[te]),(0,i.useEffect)(()=>{F({lifecycles:de.length?new ce(de):void 0})},[de,F]);const We=(0,i.useMemo)(()=>[...new Set(H.map(je=>{var Je;return(Je=je.spec)==null?void 0:Je.lifecycle}).filter(Boolean))].sort(),[H]);return We.length?i.createElement(W.Z,{pb:1,pt:1},i.createElement(ee.Z,{variant:"button"},"Lifecycle"),i.createElement(ae.ZP,{"aria-label":"Lifecycle",multiple:!0,options:We,value:de,onChange:(je,Je)=>xe(Je),renderOption:(je,{selected:Je})=>i.createElement(Oe.Z,{control:i.createElement(ge.Z,{icon:k,checkedIcon:he,checked:Je}),label:je}),size:"small",popupIcon:i.createElement(At.Z,{"data-testid":"lifecycle-picker-expand"}),renderInput:je=>i.createElement(Ce.Z,{...je,className:$.input,variant:"outlined"})})):null},Ke=(0,b.Z)({input:{}},{name:"CatalogReactEntityOwnerPicker"}),tt=i.createElement(we.Z,{fontSize:"small"}),bt=i.createElement(De.Z,{fontSize:"small"}),en=()=>{var ze,at;const $=Ke(),{updateFilters:F,backendEntities:H,filters:X,queryParameters:le}=ht(),te=(0,i.useMemo)(()=>[le.owners].flat().filter(Boolean),[le]),[de,xe]=(0,i.useState)(te.length?te:(at=(ze=X.owners)==null?void 0:ze.values)!=null?at:[]);(0,i.useEffect)(()=>{te.length&&xe(te)},[te]),(0,i.useEffect)(()=>{F({owners:de.length?new Y(de):void 0})},[de,F]);const We=(0,i.useMemo)(()=>[...new Set(H.flatMap(je=>rt(je,p.S4).map(Je=>st(Je,{defaultKind:"group"}))).filter(Boolean))].sort(),[H]);return We.length?i.createElement(W.Z,{pb:1,pt:1},i.createElement(ee.Z,{variant:"button"},"Owner"),i.createElement(ae.ZP,{multiple:!0,"aria-label":"Owner",options:We,value:de,onChange:(je,Je)=>xe(Je),renderOption:(je,{selected:Je})=>i.createElement(Oe.Z,{control:i.createElement(ge.Z,{icon:tt,checkedIcon:bt,checked:Je}),label:je}),size:"small",popupIcon:i.createElement(At.Z,{"data-testid":"owner-picker-expand"}),renderInput:je=>i.createElement(Ce.Z,{...je,className:$.input,variant:"outlined"})})):null},ln=(0,b.Z)($=>({searchToolbar:{paddingLeft:0,paddingRight:0},input:{}}),{name:"CatalogReactEntitySearchBar"}),wn=()=>{var te,de;const $=ln(),{filters:F,updateFilters:H}=useEntityListProvider(),[X,le]=useState((de=(te=F.text)==null?void 0:te.value)!=null?de:"");return useDebounce(()=>{H({text:X.length?new EntityTextFilter(X):void 0})},250,[X,H]),React.createElement(Toolbar,{className:$.searchToolbar},React.createElement(FormControl,null,React.createElement(Input,{id:"input-with-icon-adornment",className:$.input,placeholder:"Search",autoComplete:"off",onChange:xe=>le(xe.target.value),value:X,startAdornment:React.createElement(InputAdornment,{position:"start"},React.createElement(Search,null)),endAdornment:React.createElement(InputAdornment,{position:"end"},React.createElement(IconButton,{"aria-label":"clear search",onClick:()=>le(""),edge:"end",disabled:X.length===0},React.createElement(Clear,null)))})))};function Tn($){const{defaultKind:F}=$;function H(X){var le;return((le=X.metadata)==null?void 0:le.title)||st(X,{defaultKind:F})}return{title:"Name",highlight:!0,customFilterAndSearch(X,le){return H(le).includes(X)},customSort(X,le){return H(X).localeCompare(H(le))},render:X=>{var le;return i.createElement(oe,{entityRef:X,defaultKind:F,title:(le=X.metadata)==null?void 0:le.title})}}}function En({title:$,relation:F,defaultKind:H,filter:X}){function le(de){return rt(de,F,X)}function te(de){return le(de).map(xe=>st(xe,{defaultKind:H})).join(", ")}return{title:$,customFilterAndSearch(de,xe){return te(xe).includes(de)},customSort(de,xe){return te(de).localeCompare(te(xe))},render:de=>i.createElement(ne,{entityRefs:le(de),defaultKind:H})}}function yt(){return En({title:"Owner",relation:p.S4,defaultKind:"group"})}function Yt(){return En({title:"Domain",relation:p.cz,defaultKind:"domain",filter:{kind:"domain"}})}function dn(){return En({title:"System",relation:p.cz,defaultKind:"system",filter:{kind:"system"}})}function On(){return{title:"Description",field:"metadata.description",render:$=>i.createElement(lt.OverflowTooltip,{text:$.metadata.description,placement:"bottom-start",line:2}),width:"auto"}}function jt(){return{title:"Lifecycle",field:"spec.lifecycle"}}function Wn(){return{title:"Type",field:"spec.type"}}const or=[Tn({defaultKind:"system"}),Yt(),yt(),On()],sr=[Tn({defaultKind:"component"}),dn(),yt(),Wn(),jt(),On()],Rr=(0,b.Z)($=>({empty:{padding:$.spacing(2),display:"flex",justifyContent:"center"}}));function zn($){const{entities:F,title:H,emptyContent:X,variant:le="gridItem",columns:te}=$,de=Rr(),xe={minWidth:"0",width:"100%"};return le==="gridItem"&&(xe.height="calc(100% - 10px)"),i.createElement(lt.Table,{columns:te,title:H,style:xe,emptyContent:X&&i.createElement("div",{className:de.empty},X),options:{search:!1,paging:!1,actionsColumnIndex:-1,padding:"dense"},data:F})}zn.columns=r,zn.systemEntityColumns=or,zn.componentEntityColumns=sr;const Bn=(0,b.Z)({input:{}},{name:"CatalogReactEntityTagPicker"}),Yn=i.createElement(we.Z,{fontSize:"small"}),ir=i.createElement(De.Z,{fontSize:"small"}),Sr=()=>{var ze,at;const $=Bn(),{updateFilters:F,backendEntities:H,filters:X,queryParameters:le}=ht(),te=(0,i.useMemo)(()=>[le.tags].flat().filter(Boolean),[le]),[de,xe]=(0,i.useState)(te.length?te:(at=(ze=X.tags)==null?void 0:ze.values)!=null?at:[]);(0,i.useEffect)(()=>{te.length&&xe(te)},[te]),(0,i.useEffect)(()=>{F({tags:de.length?new N(de):void 0})},[de,F]);const We=(0,i.useMemo)(()=>[...new Set(H.flatMap(je=>je.metadata.tags).filter(Boolean))].sort(),[H]);return We.length?i.createElement(W.Z,{pb:1,pt:1},i.createElement(ee.Z,{variant:"button"},"Tags"),i.createElement(ae.ZP,{multiple:!0,"aria-label":"Tags",options:We,value:de,onChange:(je,Je)=>xe(Je),renderOption:(je,{selected:Je})=>i.createElement(Oe.Z,{control:i.createElement(ge.Z,{icon:Yn,checkedIcon:ir,checked:Je}),label:je}),size:"small",popupIcon:i.createElement(At.Z,{"data-testid":"tag-picker-expand"}),renderInput:je=>i.createElement(Ce.Z,{...je,className:$.input,variant:"outlined"})})):null};var Hn=e(82108),kr=e.n(Hn);const Cr=$=>{var ze;const{hidden:F,initialFilter:H}=$,X=(0,l.useApi)(l.alertApiRef),{error:le,availableTypes:te,selectedTypes:de,setSelectedTypes:xe}=ye();if((0,i.useEffect)(()=>{le&&X.post({message:"Failed to load entity types",severity:"error"}),H&&xe([H])},[le,X,H,xe]),te.length===0||le)return null;const We=[{value:"all",label:"All"},...te.map(at=>({value:at,label:kr()(at)}))];return F?null:i.createElement(W.Z,{pb:1,pt:1},i.createElement(lt.Select,{label:"Type",items:We,selected:(ze=We.length>1?de[0]:void 0)!=null?ze:"all",onChange:at=>xe(at==="all"?[]:[String(at)])}))};var lr=e(15459),Tr=e(61837),Jn=e(11640),Pr=e(28347);const Qn=(0,lr.Z)({root:{color:"#f3ba37"}})(Jn.Z),Xn=$=>$?"Remove from favorites":"Add to favorites",Mn=$=>$?i.createElement(Qn,null):i.createElement(Pr.Z,null),cr=$=>{const{toggleStarredEntity:F,isStarredEntity:H}=ie($.entity);return i.createElement(Tr.Z,{color:"inherit",...$,onClick:()=>F()},i.createElement(Ct.ZP,{title:Xn(H)},Mn(H)))};var xn=e(77277),fn=e(55999),rn=e(85256),Lr=e(8629),Ir=e(79249),Or=e(38724),xr=e(49429),ur=e(99688);function Dr($){var Nt;const F=(0,l.useApi)(d),H=(Nt=$.metadata.annotations)==null?void 0:Nt[p.lb],X=$.metadata.uid,le=H==="bootstrap:bootstrap",te=(0,Lt.default)(async()=>{const St=F.getOriginLocationByEntity($);let It;if(!H)It=Promise.resolve([]);else{const zt=`metadata.annotations.${p.lb}`;It=F.getEntities({filter:{[zt]:H},fields:["kind","metadata.uid","metadata.name","metadata.namespace"]}).then(Ht=>Ht.items)}return Promise.all([St,It]).then(([zt,Ht])=>({location:zt,colocatedEntities:Ht}))},[F,$]),de=(0,i.useCallback)(async function(){const{location:It,colocatedEntities:zt}=te.value;await F.removeLocationById(It.id),await Promise.allSettled(zt.map(Ht=>F.removeEntityByUid(Ht.metadata.uid)))},[F,te]),xe=(0,i.useCallback)(async function(){await F.removeEntityByUid(X)},[F,X]);if(le)return{type:"bootstrap",location:H,deleteEntity:xe};const{loading:We,error:ze,value:at}=te;if(We)return{type:"loading"};if(ze)return{type:"error",error:ze};const{location:je,colocatedEntities:Je}=at;return je?{type:"unregister",location:H,colocatedEntities:Je.map(p.C_),unregisterLocation:de,deleteEntity:xe}:{type:"only-delete",deleteEntity:xe}}var br=e(10179);const Fr=(0,b.Z)({advancedButton:{fontSize:"0.7em"}}),Br=({entity:$,onConfirm:F})=>{var Nt;const H=(0,l.useApi)(l.alertApiRef),X=(0,l.useApi)(l.configApiRef),le=Fr(),te=Dr($),[de,xe]=(0,i.useState)(!1),[We,ze]=(0,i.useState)(!1),at=(Nt=X.getOptionalString("app.title"))!=null?Nt:"Backstage",je=(0,i.useCallback)(async function(){if("unregisterLocation"in te){ze(!0);try{await te.unregisterLocation(),F()}catch(It){(0,br.BD)(It),H.post({message:It.message})}finally{ze(!1)}}},[H,F,te]),Je=(0,i.useCallback)(async function(){if("deleteEntity"in te){ze(!0);try{await te.deleteEntity(),F()}catch(It){(0,br.BD)(It),H.post({message:It.message})}finally{ze(!1)}}},[H,F,te]);return te.type==="loading"?i.createElement(lt.Progress,null):te.type==="error"?i.createElement(lt.ResponseErrorPanel,{error:te.error}):te.type==="bootstrap"?i.createElement(i.Fragment,null,i.createElement(ur.Z,{severity:"info"},'You cannot unregister this entity, since it originates from a protected Backstage configuration (location "',te.location,'"). If you believe this is in error, please contact the ',at," ","integrator."),i.createElement(W.Z,{marginTop:2},!de&&i.createElement(xn.Z,{variant:"text",size:"small",color:"primary",className:le.advancedButton,onClick:()=>xe(!0)},"Advanced Options"),de&&i.createElement(i.Fragment,null,i.createElement(fn.Z,null,"You have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),i.createElement(xn.Z,{variant:"contained",color:"secondary",disabled:We,onClick:Je},"Delete Entity")))):te.type==="only-delete"?i.createElement(i.Fragment,null,i.createElement(fn.Z,null,"This entity does not seem to originate from a registered location. You therefore only have the option to delete it outright from the catalog."),i.createElement(xn.Z,{variant:"contained",color:"secondary",disabled:We,onClick:Je},"Delete Entity")):te.type==="unregister"?i.createElement(i.Fragment,null,i.createElement(fn.Z,null,"This action will unregister the following entities:"),i.createElement(fn.Z,{component:"ul"},te.colocatedEntities.map(St=>i.createElement("li",{key:`${St.kind}:${St.namespace}/${St.name}`},i.createElement(oe,{entityRef:St})))),i.createElement(fn.Z,null,"Located at the following location:"),i.createElement(fn.Z,{component:"ul"},i.createElement("li",null,te.location)),i.createElement(fn.Z,null,"To undo, just re-register the entity in ",at,"."),i.createElement(W.Z,{marginTop:2},i.createElement(xn.Z,{variant:"contained",color:"secondary",disabled:We,onClick:je},"Unregister Location"),!de&&i.createElement(W.Z,{component:"span",marginLeft:2},i.createElement(xn.Z,{variant:"text",size:"small",color:"primary",className:le.advancedButton,onClick:()=>xe(!0)},"Advanced Options"))),de&&i.createElement(i.Fragment,null,i.createElement(W.Z,{paddingTop:4,paddingBottom:4},i.createElement(rn.Z,null)),i.createElement(fn.Z,null,"You also have the option to delete the entity itself from the catalog. Note that this should only be done if you know that the catalog file has been deleted at, or moved from, its origin location. If that is not the case, the entity will reappear shortly as the next refresh round is performed by the catalog."),i.createElement(xn.Z,{variant:"contained",color:"secondary",disabled:We,onClick:Je},"Delete Entity"))):i.createElement(ur.Z,{severity:"error"},"Internal error: Unknown state")},qr=({open:$,onConfirm:F,onClose:H,entity:X})=>i.createElement(Lr.Z,{open:$,onClose:H},i.createElement(Ir.Z,{id:"responsive-dialog-title"},"Are you sure you want to unregister this entity?"),i.createElement(Or.Z,null,i.createElement(Br,{entity:X,onConfirm:F})),i.createElement(xr.Z,null,i.createElement(xn.Z,{onClick:H,color:"primary"},"Cancel")));var Mr=e(94339),Nr=e(11776),_r=e(12231),Nn=e(86136),dr=e(49378),fr=e(9520),mr=e(47603);const Ur=(0,b.Z)($=>({root:{backgroundColor:"rgba(0, 0, 0, .11)",boxShadow:"none",margin:$.spacing(1,0,1,0)},title:{margin:$.spacing(1,0,0,1),textTransform:"uppercase",fontSize:12,fontWeight:"bold"},listIcon:{minWidth:30,color:$.palette.text.primary},menuItem:{minHeight:$.spacing(6)},groupWrapper:{margin:$.spacing(1,1,2,1)}}),{name:"CatalogReactUserListPicker"});function hr($){return[{name:"Personal",items:[{id:"owned",label:"Owned",icon:mr.Z},{id:"starred",label:"Starred",icon:Jn.Z}]},{name:$!=null?$:"Company",items:[{id:"all",label:"All"}]}]}const gr=({initialFilter:$,availableFilters:F})=>{var an;const H=Ur(),le=(an=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?an:"Company",{filters:te,updateFilters:de,backendEntities:xe,queryParameters:We,loading:ze}=ht(),at=["starred","all"],je=hr(le).map(Bt=>({...Bt,items:Bt.items.filter(({id:Qt})=>["group","user"].some(Dn=>Dn===We.kind)?at.includes(Qt):!F||F.includes(Qt))})).filter(({items:Bt})=>!!Bt.length),{isStarredEntity:Je}=ut(),{isOwnedEntity:Nt}=Ue(),St=(0,i.useMemo)(()=>new ve("owned",Nt,Je),[Nt,Je]),It=(0,i.useMemo)(()=>new ve("starred",Nt,Je),[Nt,Je]),zt=(0,i.useMemo)(()=>[We.user].flat()[0],[We]),[Ht,An]=(0,i.useState)(zt!=null?zt:$),cn=(0,i.useMemo)(()=>xe.filter(Vt((0,h.compact)(Object.values({...te,user:void 0})))),[te,xe]),Ft=(0,i.useMemo)(()=>({all:cn.length,starred:cn.filter(Bt=>It.filterEntity(Bt)).length,owned:cn.filter(Bt=>St.filterEntity(Bt)).length}),[cn,It,St]);return(0,i.useEffect)(()=>{zt&&An(zt)},[zt]),(0,i.useEffect)(()=>{!ze&&!!Ht&&Ht!=="all"&&Ft[Ht]===0&&An("all")},[ze,Ft,Ht,An]),(0,i.useEffect)(()=>{de({user:Ht?new ve(Ht,Nt,Je):void 0})},[Ht,Nt,Je,de]),i.createElement(Mr.Z,{className:H.root},je.map(Bt=>i.createElement(i.Fragment,{key:Bt.name},i.createElement(ee.Z,{variant:"subtitle2",className:H.title},Bt.name),i.createElement(Mr.Z,{className:H.groupWrapper},i.createElement(Nr.Z,{disablePadding:!0,dense:!0},Bt.items.map(Qt=>{var Dn,kn;return i.createElement(_r.Z,{key:Qt.id,button:!0,divider:!0,onClick:()=>An(Qt.id),selected:Qt.id===((Dn=te.user)==null?void 0:Dn.value),className:H.menuItem,disabled:Ft[Qt.id]===0,"data-testid":`user-picker-${Qt.id}`},Qt.icon&&i.createElement(Nn.Z,{className:H.listIcon},i.createElement(Qt.icon,{fontSize:"small"})),i.createElement(dr.Z,null,i.createElement(ee.Z,{variant:"body1"},Qt.label)),i.createElement(fr.Z,null,(kn=Ft[Qt.id])!=null?kn:"-"))}))))))},Zr=({children:$,value:F})=>{var xe;const[H,X]=useState((xe=F==null?void 0:F.filters)!=null?xe:{}),le=useCallback(We=>{X(ze=>{const at=typeof We=="function"?We(ze):We;return{...ze,...at}})},[]),te=useMemo(()=>({entities:[],backendEntities:[],queryParameters:{}}),[]),de=useMemo(()=>{var We,ze,at,je,Je;return{entities:(We=F==null?void 0:F.entities)!=null?We:te.entities,backendEntities:(ze=F==null?void 0:F.backendEntities)!=null?ze:te.backendEntities,updateFilters:(at=F==null?void 0:F.updateFilters)!=null?at:le,filters:H,loading:(je=F==null?void 0:F.loading)!=null?je:!1,queryParameters:(Je=F==null?void 0:F.queryParameters)!=null?Je:te.queryParameters,error:F==null?void 0:F.error}},[F,te,H,le]);return React.createElement(EntityListContext.Provider,{value:de},$)};var Vn=e(92787)},92787:function(){},39398:function(J,o,e){"use strict";e.r(o),e.d(o,{AboutCard:function(){return Le},AboutContent:function(){return se},AboutField:function(){return z}});var r=e(52890),t=e(9118),l=e(36964),d=e(36356),E=e(19139),s=e(79692),p=e(94339),h=e(32552),m=e(61837),c=e(85256),y=e(24579),i=e(52866),S=e(30254),D=e(27604),L=e(2784),V=e(47851),M=e(60905),P=e(90436),O=e(7089);const x=(0,s.Z)(me=>({value:{fontWeight:"bold",overflow:"hidden",lineHeight:"24px",wordBreak:"break-word"},label:{color:me.palette.text.secondary,textTransform:"uppercase",fontSize:"10px",fontWeight:"bold",letterSpacing:.5,overflow:"hidden",whiteSpace:"nowrap"}})),z=({label:me,value:Ve,gridSizes:Pe,children:Qe})=>{const it=x(),_e=(0,l.useElementFilter)(Qe,nt=>nt.getElements()),gt=_e.length>0?_e:L.createElement(P.Z,{variant:"body2",className:it.value},Ve||"unknown");return L.createElement(M.Z,{item:!0,...Pe},L.createElement(P.Z,{variant:"subtitle2",className:it.label},me),gt)},q=(0,s.Z)({description:{wordBreak:"break-word"}}),se=({entity:me})=>{var rt,Tt,Pt,Dt,$t,ht;const Ve=q(),Pe=me.kind.toLocaleLowerCase("en-US")==="system",Qe=me.kind.toLocaleLowerCase("en-US")==="resource",it=me.kind.toLocaleLowerCase("en-US")==="component",_e=me.kind.toLocaleLowerCase("en-US")==="api",gt=me.kind.toLocaleLowerCase("en-US")==="template",nt=me.kind.toLocaleLowerCase("en-US")==="location",ot=me.kind.toLocaleLowerCase("en-US")==="group",vt=(0,E.getEntityRelations)(me,r.cz,{kind:"system"}),Vt=(0,E.getEntityRelations)(me,r.cz,{kind:"component"}),xt=(0,E.getEntityRelations)(me,r.cz,{kind:"domain"}),pt=(0,E.getEntityRelations)(me,r.S4);return L.createElement(M.Z,{container:!0},L.createElement(z,{label:"Description",gridSizes:{xs:12}},L.createElement(P.Z,{variant:"body2",paragraph:!0,className:Ve.description},((rt=me==null?void 0:me.metadata)==null?void 0:rt.description)||"No description")),L.createElement(z,{label:"Owner",value:"No Owner",gridSizes:{xs:12,sm:6,lg:4}},pt.length>0&&L.createElement(E.EntityRefLinks,{entityRefs:pt,defaultKind:"group"})),(Pe||xt.length>0)&&L.createElement(z,{label:"Domain",value:"No Domain",gridSizes:{xs:12,sm:6,lg:4}},xt.length>0&&L.createElement(E.EntityRefLinks,{entityRefs:xt,defaultKind:"domain"})),(_e||it||Qe||vt.length>0)&&L.createElement(z,{label:"System",value:"No System",gridSizes:{xs:12,sm:6,lg:4}},vt.length>0&&L.createElement(E.EntityRefLinks,{entityRefs:vt,defaultKind:"system"})),it&&Vt.length>0&&L.createElement(z,{label:"Parent Component",value:"No Parent Component",gridSizes:{xs:12,sm:6,lg:4}},L.createElement(E.EntityRefLinks,{entityRefs:Vt,defaultKind:"component"})),(_e||it||Qe||gt||ot||nt||typeof((Tt=me==null?void 0:me.spec)==null?void 0:Tt.type)=="string")&&L.createElement(z,{label:"Type",value:(Pt=me==null?void 0:me.spec)==null?void 0:Pt.type,gridSizes:{xs:12,sm:6,lg:4}}),(_e||it||typeof((Dt=me==null?void 0:me.spec)==null?void 0:Dt.lifecycle)=="string")&&L.createElement(z,{label:"Lifecycle",value:($t=me==null?void 0:me.spec)==null?void 0:$t.lifecycle,gridSizes:{xs:12,sm:6,lg:4}}),L.createElement(z,{label:"Tags",value:"No Tags",gridSizes:{xs:12,sm:6,lg:4}},(((ht=me==null?void 0:me.metadata)==null?void 0:ht.tags)||[]).map(Lt=>L.createElement(O.Z,{key:Lt,size:"small",label:Lt}))))},pe=(0,s.Z)({gridItemCard:{display:"flex",flexDirection:"column",height:"calc(100% - 10px)",marginBottom:"10px"},fullHeightCard:{display:"flex",flexDirection:"column",height:"100%"},gridItemCardContent:{flex:1},fullHeightCardContent:{flex:1}});function Le({variant:me}){var Dt,$t;const Ve=pe(),{entity:Pe}=(0,E.useEntity)(),Qe=(0,l.useApi)(d.q3),it=(0,l.useApi)(E.Ah),_e=(0,l.useApi)(l.alertApiRef),gt=(0,l.useRouteRef)(V.j),nt=(0,E.getEntitySourceLocation)(Pe,Qe),ot=(0,E.getEntityMetadataEditUrl)(Pe),vt={label:"View Source",disabled:!nt,icon:L.createElement(d.nW,{type:nt==null?void 0:nt.integrationType}),href:nt==null?void 0:nt.locationTargetUrl},Vt={label:"View TechDocs",disabled:!((Dt=Pe.metadata.annotations)==null?void 0:Dt["backstage.io/techdocs-ref"])||!gt,icon:L.createElement(S.Z,null),href:gt&&gt({namespace:Pe.metadata.namespace||r.sk,kind:Pe.kind,name:Pe.metadata.name})};let xt="";me==="gridItem"?xt=Ve.gridItemCard:me==="fullHeight"&&(xt=Ve.fullHeightCard);let pt="";me==="gridItem"?pt=Ve.gridItemCardContent:me==="fullHeight"&&(pt=Ve.fullHeightCardContent);const rt=($t=Pe.metadata.annotations)==null?void 0:$t[r.Jl],Tt=(rt==null?void 0:rt.startsWith("url:"))||(rt==null?void 0:rt.startsWith("file:")),Pt=(0,L.useCallback)(async()=>{await it.refreshEntity((0,r.eE)(Pe)),_e.post({message:"Refresh scheduled",severity:"info"})},[it,_e,Pe]);return L.createElement(p.Z,{className:xt},L.createElement(h.Z,{title:"About",action:L.createElement(L.Fragment,null,Tt&&L.createElement(m.Z,{"aria-label":"Refresh",title:"Schedule entity refresh",onClick:Pt},L.createElement(i.Z,null)),L.createElement(m.Z,{component:t.Link,"aria-label":"Edit",disabled:!ot,title:"Edit Metadata",to:ot!=null?ot:"#"},L.createElement(D.Z,null))),subheader:L.createElement(t.HeaderIconLinkRow,{links:[vt,Vt]})}),L.createElement(c.Z,null),L.createElement(y.Z,{className:pt},L.createElement(se,{entity:Pe})))}},49782:function(J,o,e){"use strict";e.d(o,{K:function(){return c}});var r=e(2784),t=e(79692),l=e(12420),d=e(97580),E=e(73698),s=e(74603),p=e(12231),h=e(19139);const m=(0,t.Z)(y=>(0,l.Z)({root:{...y.typography.h4}})),c=({initialFilter:y="component"})=>{var O;const i=m(),{kinds:S=[]}=(0,h.useEntityKinds)(),{updateFilters:D,queryParameters:L}=(0,h.useEntityListProvider)(),[V,M]=(0,r.useState)(((O=[L.kind].flat()[0])!=null?O:y).toLocaleLowerCase("en-US"));(0,r.useEffect)(()=>{D({kind:V?new h.EntityKindFilter(V):void 0})},[V,D]);const P=[(0,d.Z)(V)].concat(S).sort().reduce((x,z)=>(x[z.toLocaleLowerCase("en-US")]=z,x),{});return r.createElement(E.Z,{input:r.createElement(s.Z,{value:V}),value:V,onChange:x=>M(x.target.value),classes:i},Object.keys(P).map(x=>r.createElement(p.Z,{value:x,key:x},`${P[x]}s`)))}},7758:function(J,o,e){"use strict";e.r(o),e.d(o,{CatalogPage:function(){return y},DefaultCatalogPage:function(){return c}});var r=e(2784),t=e(10289),l=e(9118),d=e(36964),E=e(19139),s=e(47851),p=e(91730),h=e(26997),m=e(49782);const c=({columns:i,actions:S,initiallySelectedFilter:D="owned"})=>{var M;const L=(M=(0,d.useApi)(d.configApiRef).getOptionalString("organization.name"))!=null?M:"Backstage",V=(0,d.useRouteRef)(s.y);return r.createElement(l.PageWithHeader,{title:`${L} Catalog`,themeId:"home"},r.createElement(E.EntityListProvider,null,r.createElement(l.Content,null,r.createElement(l.ContentHeader,{titleComponent:r.createElement(m.K,null)},r.createElement(l.CreateButton,{title:"Create Component",to:V&&V()}),r.createElement(l.SupportButton,null,"All your software catalog entities")),r.createElement(h.q7,null,r.createElement(h.Gh,null,r.createElement(E.EntityTypePicker,null),r.createElement(E.UserListPicker,{initialFilter:D}),r.createElement(E.EntityOwnerPicker,null),r.createElement(E.EntityLifecyclePicker,null),r.createElement(E.EntityTagPicker,null)),r.createElement(h.Nz,null,r.createElement(p.E,{columns:i,actions:S}))))))},y=i=>(0,t.pC)()||r.createElement(c,{...i})},17499:function(J,o,e){"use strict";e.r(o),e.d(o,{createNameColumn:function(){return E},createSystemColumn:function(){return s},createOwnerColumn:function(){return p},createSpecTypeColumn:function(){return h},createSpecLifecycleColumn:function(){return m},createMetadataDescriptionColumn:function(){return c},createTagsColumn:function(){return y}});var r=e(2784),t=e(19139),l=e(7089),d=e(9118);function E(i){function S(D){var L;return((L=D.metadata)==null?void 0:L.title)||(0,t.formatEntityRefTitle)(D,{defaultKind:i==null?void 0:i.defaultKind})}return{title:"Name",field:"resolved.name",highlight:!0,customSort({entity:D},{entity:L}){return S(D).localeCompare(S(L))},render:({entity:D})=>{var L;return r.createElement(t.EntityRefLink,{entityRef:D,defaultKind:(i==null?void 0:i.defaultKind)||"Component",title:(L=D.metadata)==null?void 0:L.title})}}}function s(){return{title:"System",field:"resolved.partOfSystemRelationTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.partOfSystemRelations,defaultKind:"system"})}}function p(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:i})=>r.createElement(t.EntityRefLinks,{entityRefs:i.ownedByRelations,defaultKind:"group"})}}function h(){return{title:"Type",field:"entity.spec.type",hidden:!0}}function m(){return{title:"Lifecycle",field:"entity.spec.lifecycle"}}function c(){return{title:"Description",field:"entity.metadata.description",render:({entity:i})=>r.createElement(d.OverflowTooltip,{text:i.metadata.description,placement:"bottom-start"}),width:"auto"}}function y(){return{title:"Tags",field:"entity.metadata.tags",cellStyle:{padding:"0px 16px 0px 20px"},render:({entity:i})=>r.createElement(r.Fragment,null,i.metadata.tags&&i.metadata.tags.map(S=>r.createElement(l.Z,{key:S,label:S,size:"small",variant:"outlined",style:{marginBottom:"0px"}})))}}},91730:function(J,o,e){"use strict";e.d(o,{E:function(){return m}});var r=e(52890),t=e(19139),l=e(27604),d=e(2997),E=e(76635),s=e(2784),p=e(17499),h=e(9118);const m=({columns:c,actions:y})=>{var Le,me,Ve;const{isStarredEntity:i,toggleStarredEntity:S}=(0,t.useStarredEntities)(),{loading:D,error:L,entities:V,filters:M}=(0,t.useEntityListProvider)(),P=(0,s.useMemo)(()=>{var Pe;return[p.createNameColumn({defaultKind:(Pe=M.kind)==null?void 0:Pe.value}),p.createSystemColumn(),p.createOwnerColumn(),p.createSpecTypeColumn(),p.createSpecLifecycleColumn(),p.createMetadataDescriptionColumn(),p.createTagsColumn()]},[(Le=M.kind)==null?void 0:Le.value]),O=M.type===void 0,x=(0,E.capitalize)((Ve=(me=M.user)==null?void 0:me.value)!=null?Ve:"all");if(L)return s.createElement("div",null,s.createElement(h.WarningPanel,{severity:"error",title:"Could not fetch catalog entities."},s.createElement(h.CodeSnippet,{language:"text",text:L.toString()})));const z=[({entity:Pe})=>{const Qe=(0,t.getEntityMetadataViewUrl)(Pe);return{icon:()=>s.createElement(d.Z,{"aria-label":"View",fontSize:"small"}),tooltip:"View",disabled:!Qe,onClick:()=>{!Qe||window.open(Qe,"_blank")}}},({entity:Pe})=>{const Qe=(0,t.getEntityMetadataEditUrl)(Pe);return{icon:()=>s.createElement(l.Z,{"aria-label":"Edit",fontSize:"small"}),tooltip:"Edit",disabled:!Qe,onClick:()=>{!Qe||window.open(Qe,"_blank")}}},({entity:Pe})=>{const Qe=i(Pe);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,t.favoriteEntityIcon)(Qe),tooltip:(0,t.favoriteEntityTooltip)(Qe),onClick:()=>S(Pe)}}],q=V.map(Pe=>{const Qe=(0,t.getEntityRelations)(Pe,r.cz,{kind:"system"}),it=(0,t.getEntityRelations)(Pe,r.S4);return{entity:Pe,resolved:{name:(0,t.formatEntityRefTitle)(Pe,{defaultKind:"Component"}),ownedByRelationsTitle:it.map(_e=>(0,t.formatEntityRefTitle)(_e,{defaultKind:"group"})).join(", "),ownedByRelations:it,partOfSystemRelationTitle:Qe.map(_e=>(0,t.formatEntityRefTitle)(_e,{defaultKind:"system"})).join(", "),partOfSystemRelations:Qe}}}),se=(c||P).find(Pe=>Pe.title==="Type");se&&(se.hidden=!O);const pe=q.length>20;return s.createElement(h.Table,{isLoading:D,columns:c||P,options:{paging:pe,pageSize:20,actionsColumnIndex:-1,loadingType:"linear",showEmptyDataSourceMessage:!D,padding:"dense",pageSizeOptions:[20,50,100]},title:`${x} (${V.length})`,data:q,actions:y||z})};m.columns=p},26997:function(J,o,e){"use strict";e.d(o,{Nz:function(){return i},Gh:function(){return y},q7:function(){return l}});var r=e(60905),t=e(2784);const l=({children:S})=>t.createElement(r.Z,{container:!0,style:{position:"relative"}},S);var d=e(41156),E=e(60364),s=e(77277),p=e(4190),h=e(95544),m=e(90436),c=e(36444);const y=({children:S})=>{const D=(0,d.Z)(P=>P.breakpoints.down("md")),L=(0,E.Z)(),[V,M]=(0,t.useState)(!1);return D?t.createElement(t.Fragment,null,t.createElement(s.Z,{style:{marginTop:L.spacing(1),marginLeft:L.spacing(1)},onClick:()=>M(!0),startIcon:t.createElement(c.Z,null)},"Filters"),t.createElement(p.ZP,{open:V,onClose:()=>M(!1),anchor:"left",disableAutoFocus:!0,keepMounted:!0,variant:"temporary"},t.createElement(h.Z,{m:2},t.createElement(m.Z,{variant:"h6",component:"h2",style:{marginBottom:L.spacing(1)}},"Filters"),S))):t.createElement(r.Z,{item:!0,lg:2},S)},i=({children:S})=>t.createElement(r.Z,{item:!0,xs:12,lg:10},S)},47851:function(J,o,e){"use strict";e.d(o,{y:function(){return t},j:function(){return l}});var r=e(36964);const t=(0,r.createExternalRouteRef)({id:"create-component",optional:!0}),l=(0,r.createExternalRouteRef)({id:"view-techdoc",optional:!0,params:["namespace","kind","name"]})},20221:function(J,o,e){"use strict";e.d(o,{iM:function(){return S},RV:function(){return l},gI:function(){return L}});var r=e(2784),t=e(36964);const l=(0,t.createApiRef)({id:"plugin.permission.api"});var d;(function(M){const P="DENY";M.DENY=P;const O="ALLOW";M.ALLOW=O;const x="CONDITIONAL";M.CONDITIONAL=x})(d||(d={}));var E=e(10179),s=e(96279),p=e.n(s),h=e(9571),m=e(30195);const c=m.z.lazy(()=>m.z.object({rule:m.z.string(),params:m.z.array(m.z.unknown())}).or(m.z.object({anyOf:m.z.array(c)})).or(m.z.object({allOf:m.z.array(c)})).or(m.z.object({not:c}))),y=m.z.object({items:m.z.array(m.z.object({id:m.z.string(),result:m.z.literal(d.ALLOW).or(m.z.literal(d.DENY))}).or(m.z.object({id:m.z.string(),result:m.z.literal(d.CONDITIONAL),conditions:c})))});class i{constructor(P){_(this,"enabled");_(this,"discovery");var O;this.discovery=P.discovery,this.enabled=(O=P.config.getOptionalBoolean("permission.enabled"))!=null?O:!1}async authorize(P,O){if(!this.enabled)return P.map(Le=>({result:d.ALLOW}));const x={items:P.map(Le=>({id:h.Z(),...Le}))},z=await this.discovery.getBaseUrl("permission"),q=await p()(`${z}/authorize`,{method:"POST",body:JSON.stringify(x),headers:{...this.getAuthorizationHeader(O==null?void 0:O.token),"content-type":"application/json"}});if(!q.ok)throw await E.VL.fromResponse(q);const se=await q.json();this.assertValidResponse(x,se);const pe=se.items.reduce((Le,me)=>(Le[me.id]=me,Le),{});return x.items.map(Le=>pe[Le.id])}getAuthorizationHeader(P){return P?{Authorization:`Bearer ${P}`}:{}}assertValidResponse(P,O){const z=y.parse(O).items.map(se=>se.id);if(!P.items.every(se=>z.includes(se.id)))throw new Error("Unexpected authorization response from permission-backend")}}class S{constructor(P,O){this.permissionClient=P,this.identityApi=O}static create(P){const{config:O,discovery:x,identity:z}=P,q=new i({discovery:x,config:O});return new S(q,z)}async authorize(P){return(await this.permissionClient.authorize([P],await this.identityApi.getCredentials()))[0]}}var D=e(85482);const L=(M,P)=>{const O=(0,t.useApi)(l),{data:x,error:z}=(0,D.ZP)({permission:M,resourceRef:P},async q=>{const{result:se}=await O.authorize(q);return se});return z?{error:z,loading:!1,allowed:!1}:x===void 0?{loading:!0,allowed:!1}:{loading:!1,allowed:x===d.ALLOW}},V=M=>{const{permission:P,resourceRef:O,errorComponent:x,...z}=M,q=usePermission(P,O),se=useApp(),{NotFoundErrorPage:pe}=se.getComponents();let Le=x===void 0?React.createElement(pe,null):x;return q.loading?Le=null:q.allowed&&(Le=M.element),React.createElement(Route,{...z,element:Le})}},91512:function(J,o,e){"use strict";e.d(o,{g:function(){return E},w:function(){return s}});var r=e(36964),t=e(10179),l=e(19126),d=e.n(l);const E=(0,r.createApiRef)({id:"plugin.search.queryservice"});class s{constructor(h){_(this,"discoveryApi");_(this,"identityApi");this.discoveryApi=h.discoveryApi,this.identityApi=h.identityApi}async query(h){const{token:m}=await this.identityApi.getCredentials(),c=d().stringify(h),y=`${await this.discoveryApi.getBaseUrl("search/query")}?${c}`,i=await fetch(y,{headers:m?{Authorization:`Bearer ${m}`}:{}});if(!i.ok)throw await t.VL.fromResponse(i);return i.json()}}},19941:function(J,o,e){"use strict";e.r(o),e.d(o,{DefaultResultListItem:function(){return c}});var r=e(2784),t=e(38402),l=e(86136),d=e(49378),E=e(95544),s=e(85256),p=e(9118),h=e(15277),m=e.n(h);const c=({result:y,icon:i,secondaryAction:S,lineClamp:D=5})=>r.createElement(p.Link,{to:y.location},r.createElement(t.Z,{alignItems:"center"},i&&r.createElement(l.Z,null,i),r.createElement(d.Z,{primaryTypographyProps:{variant:"h6"},primary:y.title,secondary:r.createElement(m(),{line:D,truncateText:"\u2026",text:y.text,element:"span"})}),S&&r.createElement(E.Z,{alignItems:"flex-end"},S)),r.createElement(s.Z,null))},1795:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchBar:function(){return S},SearchBarBase:function(){return i}});var r=e(2784),t=e(48760),l=e(36964),d=e(50581),E=e(61837),s=e(74603),p=e(21853),h=e(33375),m=e(22313);const c=({children:D})=>{const L=(0,l.useAnalytics)(),{term:V}=(0,m.Rx)();return(0,r.useEffect)(()=>{V&&L.captureEvent("search",V)},[L,V]),r.createElement(r.Fragment,null,D)},y=()=>(0,r.useContext)(m.ci)!==void 0,i=({onChange:D,onKeyDown:L,onSubmit:V,debounceTime:M=200,clearButton:P=!0,fullWidth:O=!0,value:x,inputProps:z={},endAdornment:q,...se})=>{const pe=(0,l.useApi)(l.configApiRef),[Le,me]=(0,r.useState)(x),Ve=y();(0,r.useEffect)(()=>{me(vt=>vt!==x?x:vt)},[x]),(0,t.Z)(()=>D(Le),M,[Le]);const Pe=(0,r.useCallback)(vt=>{me(vt.target.value)},[me]),Qe=(0,r.useCallback)(vt=>{L&&L(vt),V&&vt.key==="Enter"&&V()},[L,V]),it=(0,r.useCallback)(()=>{D("")},[D]),_e=`Search in ${pe.getOptionalString("app.title")||"Backstage"}`,gt=r.createElement(d.Z,{position:"start"},r.createElement(E.Z,{"aria-label":"Query",disabled:!0},r.createElement(p.Z,null))),nt=r.createElement(d.Z,{position:"end"},r.createElement(E.Z,{"aria-label":"Clear",onClick:it},r.createElement(h.Z,null))),ot=r.createElement(c,null,r.createElement(s.Z,{"data-testid":"search-bar-next",value:Le,placeholder:_e,startAdornment:gt,endAdornment:P?nt:q,inputProps:{"aria-label":"Search",...z},fullWidth:O,onChange:Pe,onKeyDown:Qe,...se}));return Ve?ot:r.createElement(m.Nd,null,ot)},S=({onChange:D,...L})=>{const{term:V,setTerm:M}=(0,m.Rx)(),P=O=>{D?D(O):M(O)};return r.createElement(i,{value:V,onChange:P,...L})}},22313:function(J,o,e){"use strict";e.d(o,{ci:function(){return s},Nd:function(){return p},Rx:function(){return h}});var r=e(36964),t=e(2784),l=e(64279),d=e(1849),E=e(91512);const s=(0,t.createContext)(void 0),p=({initialState:m={term:"",pageCursor:void 0,filters:{},types:[]},children:c})=>{var it,_e,gt,nt;const y=(0,r.useApi)(E.g),[i,S]=(0,t.useState)(m.pageCursor),[D,L]=(0,t.useState)(m.filters),[V,M]=(0,t.useState)(m.term),[P,O]=(0,t.useState)(m.types),[x,z]=(0,t.useState)(!1),q=(0,t.useCallback)(()=>z(ot=>!ot),[]),se=(0,d.Z)(V),pe=(0,l.default)(()=>y.query({term:V,filters:D,pageCursor:i,types:P}),[V,D,P,i]),Le=!pe.loading&&!pe.error&&((it=pe.value)==null?void 0:it.nextPageCursor),me=!pe.loading&&!pe.error&&((_e=pe.value)==null?void 0:_e.previousPageCursor),Ve=(0,t.useCallback)(()=>{var ot;S((ot=pe.value)==null?void 0:ot.nextPageCursor)},[(gt=pe.value)==null?void 0:gt.nextPageCursor]),Pe=(0,t.useCallback)(()=>{var ot;S((ot=pe.value)==null?void 0:ot.previousPageCursor)},[(nt=pe.value)==null?void 0:nt.previousPageCursor]);(0,t.useEffect)(()=>{V&&se&&V!==se&&S(void 0)},[V,se,m.pageCursor]);const Qe={result:pe,filters:D,setFilters:L,open:x,toggleModal:q,term:V,setTerm:M,types:P,setTypes:O,pageCursor:i,setPageCursor:S,fetchNextPage:Le?Ve:void 0,fetchPreviousPage:me?Pe:void 0};return t.createElement(r.AnalyticsContext,{attributes:{searchTypes:P.sort().join(",")}},t.createElement(s.Provider,{value:Qe,children:c}))},h=()=>{const m=(0,t.useContext)(s);if(m===void 0)throw new Error("useSearch must be used within a SearchContextProvider");return m}},65678:function(J,o,e){"use strict";e.d(o,{s:function(){return se}});var r=e(2784),t=e(60364),l=e(8629),d=e(79249),E=e(27556),s=e(38724),p=e(60905),h=e(85256),m=e(11776),c=e(49429),y=e(69001),i=e(79692),S=e(1795),D=e(19941),L=e(39332),V=e(22313),M=e(8542),P=e(36964),O=e(9118),x=e(20863);const z=(0,i.Z)(pe=>({container:{borderRadius:30,display:"flex",height:"2.4em"},input:{flex:1},paperFullWidth:{height:"calc(100% - 128px)"},dialogActionsContainer:{padding:pe.spacing(1,3)},viewResultsLink:{verticalAlign:"0.5em"}})),q=({open:pe=!0,toggleModal:Le})=>{const me=(0,P.useRouteRef)(x._Z),Ve=z(),{term:Pe}=(0,V.Rx)(),{focusContent:Qe}=(0,O.useContent)(),{transitions:it}=(0,t.Z)(),_e=()=>{Le(),setTimeout(Qe,it.duration.leavingScreen)},gt=()=>{_e()};return r.createElement(l.Z,{classes:{paperFullWidth:Ve.paperFullWidth},onClose:Le,"aria-labelledby":"search-modal-title",open:pe,fullWidth:!0,maxWidth:"lg"},r.createElement(d.Z,null,r.createElement(E.Z,{className:Ve.container},r.createElement(S.SearchBar,{className:Ve.input}))),r.createElement(s.Z,null,r.createElement(p.Z,{container:!0,direction:"row-reverse",justifyContent:"flex-start",alignItems:"center"},r.createElement(p.Z,{item:!0},r.createElement(O.Link,{onClick:()=>{Le(),setTimeout(Qe,it.duration.leavingScreen)},to:`${me()}?query=${Pe}`},r.createElement("span",{className:Ve.viewResultsLink},"View Full Results"),r.createElement(y.Z,{color:"primary"})))),r.createElement(h.Z,null),r.createElement(L.SearchResult,null,({results:nt})=>r.createElement(m.Z,null,nt.map(({document:ot})=>r.createElement("div",{role:"button",tabIndex:0,key:`${ot.location}-btn`,onClick:_e,onKeyPress:gt},r.createElement(D.DefaultResultListItem,{key:ot.location,result:ot})))))),r.createElement(c.Z,{className:Ve.dialogActionsContainer},r.createElement(p.Z,{container:!0,direction:"row"},r.createElement(p.Z,{item:!0,xs:12},r.createElement(M.G,null)))))},se=({open:pe=!0,toggleModal:Le})=>r.createElement(V.Nd,null,r.createElement(q,{open:pe,toggleModal:Le}))},3992:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchPage:function(){return wt}});var r=e(2784),t=e(1849),l=e(19126),d=e.n(l),E=e(10289),s=e(22313),p=e(60905),h=e(48760),m=e(79692),c=e(27556),y=e(74603),i=e(61837),S=e(21853),D=e(33375);const L=(0,m.Z)(()=>({root:{display:"flex",alignItems:"center"},input:{flex:1}})),V=({searchQuery:be,handleSearch:st,handleClearSearchBar:lt})=>{const Ct=L();return r.createElement(c.Z,{component:"form",onSubmit:oe=>st(oe),className:Ct.root},r.createElement(i.Z,{disabled:!0,type:"submit","aria-label":"search"},r.createElement(S.Z,null)),r.createElement(y.Z,{className:Ct.input,placeholder:"Search in Backstage",value:be,onChange:oe=>st(oe),inputProps:{"aria-label":"search backstage"}}),r.createElement(i.Z,{"aria-label":"search",onClick:()=>lt()},r.createElement(D.Z,null)))};var M=e(85256),P=e(90436),O=e(99688),x=e(64279),z=e(19139),q=e(36444);const se=(0,m.Z)(be=>({filters:{width:"250px",display:"flex"},icon:{margin:be.spacing(-1,0,0,0)}})),pe=({numberOfSelectedFilters:be,handleToggleFilters:st})=>{const lt=se();return r.createElement("div",{className:lt.filters},r.createElement(i.Z,{className:lt.icon,"aria-label":"settings",onClick:st},r.createElement(q.Z,null)),r.createElement(P.Z,{variant:"h6"},"Filters (",be||0,")"))};var Le=e(94339),me=e(32552),Ve=e(77277),Pe=e(24579),Qe=e(73698),it=e(12231),_e=e(11776),gt=e(38402),nt=e(21324),ot=e(49378);const vt=(0,m.Z)(be=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:be.spacing(0,1,0,1)},dropdown:{width:"100%"}})),Vt=({filters:be,filterOptions:st,resetFilters:lt,updateSelected:Ct,updateChecked:oe})=>{const ne=vt();return r.createElement(Le.Z,{className:ne.filters},r.createElement(me.Z,{title:r.createElement(P.Z,{variant:"h6"},"Filters"),action:r.createElement(Ve.Z,{color:"primary",onClick:()=>lt()},"CLEAR ALL")}),r.createElement(M.Z,null),st.kind.length===0&&st.lifecycle.length===0&&r.createElement(Pe.Z,null,r.createElement(P.Z,{variant:"subtitle2"},"Filters cannot be applied to available results")),st.kind.length>0&&r.createElement(Pe.Z,null,r.createElement(P.Z,{variant:"subtitle2"},"Kind"),r.createElement(Qe.Z,{id:"outlined-select",onChange:C=>{var T;return Ct((T=C==null?void 0:C.target)==null?void 0:T.value)},variant:"outlined",className:ne.dropdown,value:be.selected},st.kind.map(C=>r.createElement(it.Z,{selected:C==="",dense:!0,key:C,value:C},C)))),st.lifecycle.length>0&&r.createElement(Pe.Z,null,r.createElement(P.Z,{variant:"subtitle2"},"Lifecycle"),r.createElement(_e.Z,{disablePadding:!0,dense:!0},st.lifecycle.map(C=>r.createElement(gt.Z,{key:C,dense:!0,button:!0,onClick:()=>oe(C)},r.createElement(nt.Z,{edge:"start",disableRipple:!0,className:ne.checkbox,color:"primary",checked:be.checked.includes(C),tabIndex:-1,value:C,name:C}),r.createElement(ot.Z,{id:C,primary:C}))))))};var xt=e(52890),pt=e(9118),rt=e(36964);const Tt=(0,m.Z)(be=>({searchQuery:{color:be.palette.text.primary,background:be.palette.background.default,borderRadius:"10%"},tableHeader:{margin:be.spacing(1,0,0,0),display:"flex"},divider:{width:"1px",margin:be.spacing(0,2),padding:be.spacing(2,0)}})),Pt=[{title:"Name",field:"name",highlight:!0,render:be=>r.createElement(pt.Link,{to:be.url||""},be.name)},{title:"Description",field:"description"},{title:"Owner",field:"owner"},{title:"Kind",field:"kind"},{title:"LifeCycle",field:"lifecycle"}],Dt=({searchQuery:be,numberOfSelectedFilters:st,numberOfResults:lt,handleToggleFilters:Ct})=>{const oe=Tt();return r.createElement("div",{className:oe.tableHeader},r.createElement(pe,{numberOfSelectedFilters:st,handleToggleFilters:Ct}),r.createElement(M.Z,{className:oe.divider,orientation:"vertical"}),r.createElement(p.Z,{item:!0,xs:12},be?r.createElement(P.Z,{variant:"h6"},`${lt} `,lt>1?"results for ":"result for ",r.createElement("span",{className:oe.searchQuery},'"',be,'"')," "):r.createElement(P.Z,{variant:"h6"},`${lt} results`)))},$t=({searchQuery:be})=>{const st=(0,rt.useApi)(z.Ah),[lt,Ct]=(0,r.useState)(!1),[oe,ne]=(0,r.useState)({selected:"",checked:[]}),[C,T]=(0,r.useState)([]),{loading:N,error:G,value:Y}=(0,x.default)(async()=>(await st.getEntities()).items.map(Re=>{var Ee,Fe,Rt,ut,Ge;return{name:Re.metadata.name,description:Re.metadata.description,owner:typeof((Ee=Re.spec)==null?void 0:Ee.owner)=="string"?(Fe=Re.spec)==null?void 0:Fe.owner:void 0,kind:Re.kind,lifecycle:typeof((Rt=Re.spec)==null?void 0:Rt.lifecycle)=="string"?(ut=Re.spec)==null?void 0:ut.lifecycle:void 0,url:`/catalog/${((Ge=Re.metadata.namespace)==null?void 0:Ge.toLocaleLowerCase("en-US"))||xt.sk}/${Re.kind.toLocaleLowerCase("en-US")}/${Re.metadata.name}`}}),[]);if((0,r.useEffect)(()=>{if(Y){let Ie=Y;oe.selected!==""&&(Ie=Y.filter(Re=>oe.selected.includes(Re.kind))),oe.checked.length>0&&(Ie=Ie.filter(Re=>Re.lifecycle&&oe.checked.includes(Re.lifecycle))),be&&(Ie=Ie.filter(Re=>{var Ee,Fe,Rt;return((Ee=Re.name)==null?void 0:Ee.toLocaleLowerCase("en-US").includes(be))||((Fe=Re.name)==null?void 0:Fe.toLocaleLowerCase("en-US").includes(be.split(" ").join("-")))||((Rt=Re.description)==null?void 0:Rt.toLocaleLowerCase("en-US").includes(be))})),T(Ie)}},[oe,be,Y]),N)return r.createElement(pt.Progress,null);if(G)return r.createElement(O.Z,{severity:"error"},"Error encountered while fetching search results. ",G.toString());if(!Y||Y.length===0)return r.createElement(pt.EmptyState,{missing:"data",title:"Sorry, no results were found"});const ce=()=>{ne({selected:"",checked:[]})},ve=Ie=>{ne(Re=>({...Re,selected:Ie}))},ye=Ie=>{if(oe.checked.includes(Ie)){ne(Re=>({...Re,checked:Re.checked.filter(Ee=>Ee!==Ie)}));return}ne(Re=>({...Re,checked:[...Re.checked,Ie]}))},Be=Y.reduce((Ie,Re)=>(Re.kind&&Ie.kind.indexOf(Re.kind)<0&&Ie.kind.push(Re.kind),Re.lifecycle&&Ie.lifecycle.indexOf(Re.lifecycle)<0&&Ie.lifecycle.push(Re.lifecycle),Ie),{kind:[],lifecycle:[]});return r.createElement(r.Fragment,null,r.createElement(p.Z,{container:!0},lt&&r.createElement(p.Z,{item:!0,xs:3},r.createElement(Vt,{filters:oe,filterOptions:Be,resetFilters:ce,updateSelected:ve,updateChecked:ye})),r.createElement(p.Z,{item:!0,xs:lt?9:12},r.createElement(pt.Table,{options:{paging:!0,pageSize:20,search:!1},data:C,columns:Pt,title:r.createElement(Dt,{searchQuery:be,numberOfResults:C.length,numberOfSelectedFilters:(oe.selected!==""?1:0)+oe.checked.length,handleToggleFilters:()=>Ct(!lt)})}))))},ht=()=>{const[be,st]=(0,pt.useQueryParamState)("query"),[lt,Ct]=(0,r.useState)(be!=null?be:""),oe=C=>{C.preventDefault(),Ct(C.target.value)};(0,r.useEffect)(()=>Ct(be!=null?be:""),[be]),(0,h.Z)(()=>{st(lt)},200,[lt]);const ne=()=>{Ct("")};return r.createElement(pt.Page,{themeId:"home"},r.createElement(pt.Header,{title:"Search"}),r.createElement(pt.Content,null,r.createElement(p.Z,{container:!0,direction:"row"},r.createElement(p.Z,{item:!0,xs:12},r.createElement(V,{handleSearch:oe,handleClearSearchBar:ne,searchQuery:lt})),r.createElement(p.Z,{item:!0,xs:12},r.createElement($t,{searchQuery:(be!=null?be:"").toLocaleLowerCase("en-US")})))))},Lt=()=>{const be=(0,E.TH)(),{term:st,setTerm:lt,types:Ct,setTypes:oe,pageCursor:ne,setPageCursor:C,filters:T,setFilters:N}=(0,s.Rx)(),G=(0,t.Z)(be.search);return(0,r.useEffect)(()=>{if(be.search===G)return;const Y=d().parse(be.search.substring(1),{arrayLimit:0})||{};Y.filters&&N(Y.filters),Y.query&&lt(Y.query),Y.pageCursor&&C(Y.pageCursor),Y.types&&oe(Y.types)},[G,be,lt,oe,C,N]),(0,r.useEffect)(()=>{const Y=d().stringify({query:st,types:Ct,pageCursor:ne,filters:T},{arrayFormat:"brackets"}),ce=`${window.location.pathname}?${Y}`;window.history.replaceState(null,document.title,ce)},[st,Ct,ne,T]),null},wt=()=>{const be=(0,E.pC)();return r.createElement(s.Nd,null,r.createElement(Lt,null),be||r.createElement(ht,null))}},39332:function(J,o,e){"use strict";e.r(o),e.d(o,{SearchResult:function(){return d}});var r=e(9118),t=e(2784),l=e(22313);const d=({children:E})=>{const{result:{loading:s,error:p,value:h}}=(0,l.Rx)();return s?t.createElement(r.Progress,null):p?t.createElement(r.ResponseErrorPanel,{title:"Error encountered while fetching search results",error:p}):(h==null?void 0:h.results.length)?t.createElement(t.Fragment,null,E({results:h.results})):t.createElement(r.EmptyState,{missing:"data",title:"Sorry, no results were found"})}},8542:function(J,o,e){"use strict";e.d(o,{G:function(){return h}});var r=e(79692),t=e(77277),l=e(35352),d=e(27742),E=e(2784),s=e(22313);const p=(0,r.Z)(m=>({root:{display:"flex",justifyContent:"space-between",gap:m.spacing(2),margin:m.spacing(2,0)}})),h=()=>{const{fetchNextPage:m,fetchPreviousPage:c}=(0,s.Rx)(),y=p();return!m&&!c?E.createElement(E.Fragment,null):E.createElement("nav",{"arial-label":"pagination navigation",className:y.root},E.createElement(t.Z,{"aria-label":"previous page",disabled:!c,onClick:c,startIcon:E.createElement(l.Z,null)},"Previous"),E.createElement(t.Z,{"aria-label":"next page",disabled:!m,onClick:m,endIcon:E.createElement(d.Z,null)},"Next"))}},20863:function(J,o,e){"use strict";e.d(o,{_Z:function(){return l}});var r=e(91512),t=e(36964);const l=(0,t.createRouteRef)({id:"search"}),d=(0,t.createRouteRef)({id:"search:next"}),E=(0,t.createPlugin)({id:"search",apis:[(0,t.createApiFactory)({api:r.g,deps:{discoveryApi:t.discoveryApiRef,identityApi:t.identityApiRef},factory:({discoveryApi:L,identityApi:V})=>new r.w({discoveryApi:L,identityApi:V})})],routes:{root:l,nextRoot:d}}),s=E.provide((0,t.createRoutableExtension)({name:"SearchPage",component:()=>Promise.resolve().then(e.bind(e,3992)).then(L=>L.SearchPage),mountPoint:l})),p=E.provide((0,t.createRoutableExtension)({name:"SearchPageNext",component:()=>Promise.resolve().then(e.bind(e,3992)).then(L=>L.SearchPage),mountPoint:d})),h=E.provide((0,t.createComponentExtension)({name:"SearchBar",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(L=>L.SearchBar)}})),m=E.provide((0,t.createComponentExtension)({name:"SearchBarNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,1795)).then(L=>L.SearchBar)}})),c=E.provide((0,t.createComponentExtension)({name:"SearchResult",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(L=>L.SearchResult)}})),y=E.provide((0,t.createComponentExtension)({name:"SearchResultNext",component:{lazy:()=>Promise.resolve().then(e.bind(e,39332)).then(L=>L.SearchResult)}})),i=E.provide((0,t.createComponentExtension)({name:"SidebarSearchModal",component:{lazy:()=>e.e(3825).then(e.bind(e,43825)).then(L=>L.SidebarSearchModal)}})),S=E.provide((0,t.createComponentExtension)({name:"DefaultResultListItem",component:{lazy:()=>Promise.resolve().then(e.bind(e,19941)).then(L=>L.DefaultResultListItem)}})),D=E.provide((0,t.createComponentExtension)({name:"HomePageSearchBar",component:{lazy:()=>e.e(6105).then(e.bind(e,46105)).then(L=>L.HomePageSearchBar)}}))},94067:function(J,o,e){"use strict";e.r(o),e.d(o,{EmbeddedDocsRouter:function(){return D},Router:function(){return S},isTechDocsAvailable:function(){return i}});var r=e(2784),t=e(19139),l=e(10289),d=e(41481),E=e(31752),s=e(73873),p=e(97589),h=e(36964);const m=({entity:L})=>{var M;const V=(0,h.useApi)(h.configApiRef);return r.createElement(s.Ej,{withSearch:!1,entityRef:{namespace:(0,p.D)((M=L.metadata.namespace)!=null?M:"default",V),kind:(0,p.D)(L.kind,V),name:(0,p.D)(L.metadata.name,V)}})};var c=e(9118);const y="backstage.io/techdocs-ref",i=L=>{var V,M;return Boolean((M=(V=L==null?void 0:L.metadata)==null?void 0:V.annotations)==null?void 0:M[y])},S=()=>r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/",element:r.createElement(d.TechDocsIndexPage,null)}),r.createElement(l.AW,{path:"/:namespace/:kind/:name/*",element:r.createElement(E.TechDocsPage,null)})),D=L=>{var P;const{entity:V}=(0,t.useEntity)();return((P=V.metadata.annotations)==null?void 0:P[y])?r.createElement(l.Z5,null,r.createElement(l.AW,{path:"/*",element:r.createElement(m,{entity:V})})):r.createElement(c.MissingAnnotationEmptyState,{annotation:y})}},3337:function(J,o,e){"use strict";e.d(o,{D:function(){return t},g:function(){return l}});var r=e(36964);const t=(0,r.createApiRef)({id:"plugin.techdocs.storageservice"}),l=(0,r.createApiRef)({id:"plugin.techdocs.service"})},71226:function(J,o,e){"use strict";e.d(o,{O:function(){return c}});var r=e(2784),t=e(79692),l=e(49378),d=e(38402),E=e(85256),s=e(9118),p=e(15277),h=e.n(p);const m=(0,t.Z)({flexContainer:{flexWrap:"wrap"},itemText:{width:"100%",marginBottom:"1rem"}}),c=({result:y,lineClamp:i=5,asListItem:S=!0,asLink:D=!0,title:L})=>{const V=m(),M=()=>{var x;return r.createElement(l.Z,{className:V.itemText,primaryTypographyProps:{variant:"h6"},primary:L||`${y.title} | ${(x=y.entityTitle)!=null?x:y.name} docs`,secondary:r.createElement(h(),{line:i,truncateText:"\u2026",text:y.text,element:"span"})})},P=({children:x})=>D?r.createElement(s.Link,{to:y.location},x):r.createElement(r.Fragment,null,x),O=({children:x})=>S?r.createElement(r.Fragment,null,r.createElement(d.Z,{alignItems:"flex-start",className:V.flexContainer},x),r.createElement(E.Z,{component:"li"})):r.createElement(r.Fragment,null,x);return r.createElement(P,null,r.createElement(O,null,r.createElement(M,null)))}},97589:function(J,o,e){"use strict";e.d(o,{D:function(){return r}});function r(t,l){return l.getOptionalBoolean("techdocs.legacyUseCaseSensitiveTripletPaths")?t:t.toLocaleLowerCase("en-US")}},10187:function(J,o,e){"use strict";e.r(o),e.d(o,{DocsCardGrid:function(){return c}});var r=e(2784),t=e(36964),l=e(94339),d=e(16111),E=e(24579),s=e(14503),p=e(68725),h=e(9118),m=e(97589);const c=({entities:y})=>{const i=(0,t.useRouteRef)(p.Fw),S=(0,t.useApi)(t.configApiRef);return y?r.createElement(h.ItemCardGrid,{"data-testid":"docs-explore"},(y==null?void 0:y.length)?y.map((D,L)=>{var V,M;return r.createElement(l.Z,{key:L},r.createElement(d.Z,null,r.createElement(h.ItemCardHeader,{title:(V=D.metadata.title)!=null?V:D.metadata.name})),r.createElement(E.Z,null,D.metadata.description),r.createElement(s.Z,null,r.createElement(h.Button,{to:i({namespace:(0,m.D)((M=D.metadata.namespace)!=null?M:"default",S),kind:(0,m.D)(D.kind,S),name:(0,m.D)(D.metadata.name,S)}),color:"primary","data-testid":"read_docs"},"Read Docs")))}):null):null}},83201:function(J,o,e){"use strict";e.r(o),e.d(o,{DocsTable:function(){return y}});var r=e(2784),t=e(95074),l=e(36964),d=e(52890),E=e(19139),s=e(68725),p=e(9118),h=e(50294),m=e(67430),c=e(97589);const y=({entities:i,title:S,loading:D,columns:L,actions:V})=>{const[,M]=(0,t.Z)(),P=(0,l.useRouteRef)(s.Fw),O=(0,l.useApi)(l.configApiRef);if(!i)return null;const x=i.map(se=>{var Le;const pe=(0,E.getEntityRelations)(se,d.S4);return{entity:se,resolved:{docsUrl:P({namespace:(0,c.D)((Le=se.metadata.namespace)!=null?Le:"default",O),kind:(0,c.D)(se.kind,O),name:(0,c.D)(se.metadata.name,O)}),ownedByRelations:pe,ownedByRelationsTitle:pe.map(me=>(0,E.formatEntityRefTitle)(me,{defaultKind:"group"})).join(", ")}}}),z=[m.createNameColumn(),m.createOwnerColumn(),m.createTypeColumn()],q=[h.createCopyDocsUrlAction(M)];return r.createElement(r.Fragment,null,D||x&&x.length>0?r.createElement(p.Table,{isLoading:D,options:{paging:!0,pageSize:20,search:!0,actionsColumnIndex:-1},data:x,columns:L||z,actions:V||q,title:S?`${S} (${x.length})`:`All (${x.length})`}):r.createElement(p.EmptyState,{missing:"data",title:"No documents to show",description:"Create your own document. Check out our Getting Started Information",action:r.createElement(p.Button,{color:"primary",to:"https://backstage.io/docs/features/techdocs/getting-started",variant:"contained"},"DOCS")}))}},57110:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsCustomHome:function(){return i}});var r=e(2784),t=e(64279),l=e(79692),d=e(19139),E=e(83201),s=e(10187),p=e(1114),h=e(9118),m=e(36964);const c={DocsTable:E.DocsTable,DocsCardGrid:s.DocsCardGrid},y=({config:S,entities:D,index:L})=>{const M=(0,l.Z)({panelContainer:{marginBottom:"2rem",...S.panelCSS?S.panelCSS:{}}})(),{value:P}=(0,d.useOwnUser)(),O=c[S.panelType],x=D.filter(z=>S.filterPredicate==="ownedByUser"?P?(0,d.isOwnerOf)(P,z):!1:typeof S.filterPredicate=="function"&&S.filterPredicate(z));return r.createElement(r.Fragment,null,r.createElement(h.ContentHeader,{title:S.title,description:S.description},L===0?r.createElement(h.SupportButton,null,"Discover documentation in your ecosystem."):null),r.createElement("div",{className:M.panelContainer},r.createElement(O,{"data-testid":"techdocs-custom-panel",entities:x})))},i=({tabsConfig:S})=>{const[D,L]=(0,r.useState)(0),V=(0,m.useApi)(d.Ah),{value:M,loading:P,error:O}=(0,t.default)(async()=>(await V.getEntities({filter:{"metadata.annotations.backstage.io/techdocs-ref":d.n3},fields:["apiVersion","kind","metadata","relations","spec.owner","spec.type"]})).items.filter(q=>{var se;return!!((se=q.metadata.annotations)==null?void 0:se["backstage.io/techdocs-ref"])})),x=S[D];return P?r.createElement(p.j,null,r.createElement(h.Content,null,r.createElement(h.Progress,null))):O?r.createElement(p.j,null,r.createElement(h.Content,null,r.createElement(h.WarningPanel,{severity:"error",title:"Could not load available documentation."},r.createElement(h.CodeSnippet,{language:"text",text:O.toString()})))):r.createElement(p.j,null,r.createElement(h.HeaderTabs,{selectedIndex:D,onChange:z=>L(z),tabs:S.map(({label:z},q)=>({id:q.toString(),label:z}))}),r.createElement(h.Content,{"data-testid":"techdocs-content"},x.panels.map((z,q)=>r.createElement(y,{key:q,config:z,entities:M||[],index:q}))))}},41481:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsIndexPage:function(){return E}});var r=e(2784),t=e(10289),l=e(57110);const d=()=>{const s=[{label:"Overview",panels:[{title:"Overview",description:"Explore your internal technical ecosystem through documentation.",panelType:"DocsCardGrid",filterPredicate:()=>!0}]},{label:"Owned Documents",panels:[{title:"Owned documents",description:"Access your documentation.",panelType:"DocsTable",filterPredicate:"ownedByUser"}]}];return r.createElement(l.TechDocsCustomHome,{tabsConfig:s})},E=()=>(0,t.pC)()||r.createElement(d,null)},1114:function(J,o,e){"use strict";e.d(o,{j:function(){return d}});var r=e(2784),t=e(9118),l=e(36964);const d=({children:E})=>{var h;const p=`Documentation available in ${(h=(0,l.useApi)(l.configApiRef).getOptionalString("organization.name"))!=null?h:"Backstage"}`;return r.createElement(t.PageWithHeader,{title:"Documentation",subtitle:p,themeId:"documentation"},E)}},50294:function(J,o,e){"use strict";e.r(o),e.d(o,{createCopyDocsUrlAction:function(){return d},createStarEntityAction:function(){return E}});var r=e(2784),t=e(39981),l=e(19139);function d(s){return p=>({icon:()=>r.createElement(t.Z,{fontSize:"small"}),tooltip:"Click to copy documentation link to clipboard",onClick:()=>s(`${window.location.origin}${p.resolved.docsUrl}`)})}function E(s,p){return({entity:h})=>{const m=s(h);return{cellStyle:{paddingLeft:"1em"},icon:()=>(0,l.favoriteEntityIcon)(m),tooltip:(0,l.favoriteEntityTooltip)(m),onClick:()=>p(h)}}}},67430:function(J,o,e){"use strict";e.r(o),e.d(o,{createNameColumn:function(){return E},createOwnerColumn:function(){return s},createTypeColumn:function(){return p}});var r=e(2784),t=e(9118),l=e(19139);function d(h){return h.metadata.title||h.metadata.name}function E(){return{title:"Document",field:"entity.metadata.name",highlight:!0,render:h=>r.createElement(t.SubvalueCell,{value:r.createElement(t.Link,{to:h.resolved.docsUrl},d(h.entity)),subvalue:h.entity.metadata.description})}}function s(){return{title:"Owner",field:"resolved.ownedByRelationsTitle",render:({resolved:h})=>r.createElement(l.EntityRefLinks,{entityRefs:h.ownedByRelations,defaultKind:"group"})}}function p(){return{title:"Type",field:"entity.spec.type"}}},80547:function(J,o,e){"use strict";e.d(o,{Ej:function(){return Ct},DK:function(){return be}});var r=e(2784),t=e(10289),l=e(79692),d=e(60364),E=e(60905),s=e(36964),p=e(36356),h=e(9118),m=e(3337);const c=(oe,ne,C)=>{const T=oe==="src"&&ne.endsWith(".svg"),N=!ne.match(/^([a-z]*:)?\/\//i),G=ne.startsWith(C);return T&&(N||G)},y=({techdocsStorageApi:oe,entityId:ne,path:C})=>async T=>{const N=await oe.getApiOrigin(),G=async(Y,ce)=>{for(const ve of Y)if(ve.hasAttribute(ce)){const ye=ve.getAttribute(ce);if(!ye)return;const Be=await oe.getBaseUrl(ye,ne,C);if(c(ce,ye,N))try{const Re=await(await fetch(Be,{credentials:"include"})).text();ve.setAttribute(ce,`data:image/svg+xml;base64,${btoa(Re)}`)}catch{ve.setAttribute("alt",`Error: ${ye}`)}else ve.setAttribute(ce,Be)}};return await Promise.all([G(T.querySelectorAll("img"),"src"),G(T.querySelectorAll("script"),"src"),G(T.querySelectorAll("source"),"src"),G(T.querySelectorAll("link"),"href"),G(T.querySelectorAll("a[download]"),"href")]),T};var i=e(63925),S=e(67097),D=e(28316),L=e(82717),V=e.n(L);const M=oe=>ne=>{const C=ne.querySelector('[title="Edit this page"]');if(!C||!C.href)return ne;const T=new URL(C.href),N=oe.byUrl(T);if((N==null?void 0:N.type)!=="github"&&(N==null?void 0:N.type)!=="gitlab")return ne;const G=ne.querySelector("article>h1").childNodes[0].textContent,Y=encodeURIComponent(`Documentation Feedback: ${G}`),ce=encodeURIComponent(`Page source:
32
+ ${C.href}
33
+
34
+ Feedback:`),ve=(N==null?void 0:N.type)==="github"?(0,i.Pb)(T.href,"blob"):T.href,ye=V()(ve),Be=`/${ye.organization}/${ye.name}`,Ie=C.cloneNode();switch(N==null?void 0:N.type){case"gitlab":Ie.href=`${T.origin}${Be}/issues/new?issue[title]=${Y}&issue[description]=${ce}`;break;case"github":Ie.href=`${T.origin}${Be}/issues/new?title=${Y}&body=${ce}`;break;default:return ne}return D.render(r.createElement(S.Z),Ie),Ie.style.paddingLeft="5px",Ie.title="Leave feedback for this page",Ie.id="git-feedback-link",C==null||C.insertAdjacentElement("beforebegin",Ie),ne},P=()=>oe=>(((C,T)=>{Array.from(C).filter(N=>N.hasAttribute(T)).forEach(N=>{const G=N.getAttribute(T);if(G){G.match(/^https?:\/\//i)&&N.setAttribute("target","_blank");try{const Y=O(window.location.href);N.setAttribute(T,new URL(G,Y).toString())}catch{N.replaceWith(N.textContent||G)}}})})(Array.from(oe.getElementsByTagName("a")),"href"),oe);function O(oe){const ne=new URL(oe);return!ne.pathname.endsWith("/")&&!ne.pathname.endsWith(".html")&&(ne.pathname+="/"),ne.toString()}const x=({baseUrl:oe,onClick:ne})=>C=>(Array.from(C.getElementsByTagName("a")).forEach(T=>{T.addEventListener("click",N=>{const Y=T.getAttribute("href");!Y||Y.startsWith(oe)&&!T.hasAttribute("download")&&(N.preventDefault(),ne(N,Y))})}),C),z=()=>oe=>(Array.from(oe.querySelectorAll("pre > code")).forEach(ne=>{var N;const C=document.createElement("button"),T=ne.textContent||"";C.className="md-clipboard md-icon",C.title="Copy to clipboard",C.innerHTML='<svg viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg>',C.addEventListener("click",()=>navigator.clipboard.writeText(T)),(N=ne==null?void 0:ne.parentElement)==null||N.prepend(C)}),oe),q=()=>oe=>{var ne;return(ne=oe.querySelector(".md-header"))==null||ne.remove(),oe},se=()=>oe=>{var ne;return(ne=oe.querySelector(".md-footer-copyright"))==null||ne.remove(),oe},pe=({docStorageUrl:oe,onLoading:ne,onLoaded:C})=>T=>{const N=Array.from(T.querySelectorAll('head > link[rel="stylesheet"]')).filter(Y=>{var ce;return(ce=Y.getAttribute("href"))==null?void 0:ce.startsWith(oe)});let G=N.length;return G>0&&ne(T),N.forEach(Y=>Y.addEventListener("load",()=>{G-=1,G===0&&C(T)})),T};var Le=e(35368),me=e.n(Le);const Ve=/main\.[A-Fa-f0-9]{8}\.min\.css$/,Pe=/^https:\/\/fonts\.googleapis\.com/,Qe=/^https:\/\/fonts\.gstatic\.com/,it=oe=>{if(oe.nodeName&&oe.nodeName==="LINK"){const ne=oe.getAttribute("href")||"";ne.match(Ve)&&oe.setAttribute("rel","stylesheet"),ne.match(Pe)&&oe.setAttribute("rel","stylesheet"),ne.match(Qe)&&oe.setAttribute("rel","preconnect")}return oe},_e=oe=>ne=>{if(ne.nodeName==="IFRAME"){const C=ne.getAttribute("src");if(!C)return ne.remove(),ne;try{const T=new URL(C);oe.some(G=>T.host===G)||ne.remove()}catch(T){console.warn(`Invalid iframe src, ${T}`),ne.remove()}}return ne},gt=oe=>{const ne=(oe==null?void 0:oe.getOptionalStringArray("allowedIframeHosts"))||[];return C=>{me().addHook("afterSanitizeAttributes",it);const T=["link"];return ne.length>0&&(me().addHook("beforeSanitizeElements",_e(ne)),T.push("iframe")),me().sanitize(C.innerHTML,{ADD_TAGS:T,FORBID_TAGS:["style"],WHOLE_DOCUMENT:!0,RETURN_DOM:!0})}},nt=({css:oe})=>ne=>(ne.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend",`<style>${oe}</style>`),ne),ot=()=>oe=>(setTimeout(()=>{var ne;if(window.location.hash){const C=window.location.hash.slice(1);(ne=oe==null?void 0:oe.querySelector(`#${C}`))==null||ne.scrollIntoView()}},200),oe),vt=async(oe,ne)=>{let C;if(typeof oe=="string")C=new DOMParser().parseFromString(oe,"text/html").documentElement;else if(oe instanceof Element)C=oe;else throw new Error("dom is not a recognized type");for(const T of ne)C=await T(C);return C};var Vt=e(82957),xt=e(25921),pt=e(64279),rt=e(77446);function Tt({contentLoading:oe,content:ne,activeSyncState:C}){return oe||C==="BUILD_READY_RELOAD"||!ne&&C==="CHECKING"?"CHECKING":!ne&&C==="BUILDING"?"INITIAL_BUILD":ne?C==="BUILDING"?"CONTENT_STALE_REFRESHING":C==="BUILD_READY"?"CONTENT_STALE_READY":C==="ERROR"?"CONTENT_STALE_ERROR":"CONTENT_FRESH":"CONTENT_NOT_FOUND"}function Pt(oe,ne){const C={...oe};switch(ne.type){case"sync":ne.state==="CHECKING"&&(C.buildLog=[]),C.activeSyncState=ne.state,C.syncError=ne.syncError;break;case"contentLoading":C.contentLoading=!0,C.contentError=void 0;break;case"content":typeof ne.path=="string"&&(C.path=ne.path),C.contentLoading=!1,C.content=ne.content,C.contentError=ne.contentError;break;case"buildLog":C.buildLog=C.buildLog.concat(ne.log);break;default:throw new Error}return["BUILD_READY","BUILD_READY_RELOAD"].includes(C.activeSyncState)&&["contentLoading","content"].includes(ne.type)&&(C.activeSyncState="UP_TO_DATE",C.buildLog=[]),C}function Dt(oe,ne,C,T){var Be,Ie;const[N,G]=(0,r.useReducer)(Pt,{activeSyncState:"CHECKING",path:T,contentLoading:!0,buildLog:[]}),Y=(0,s.useApi)(m.D),{retry:ce}=(0,rt.Z)(async()=>{G({type:"contentLoading"});try{const Re=await Y.getEntityDocs({kind:oe,namespace:ne,name:C},T);return G({type:"content",content:Re,path:T}),Re}catch(Re){G({type:"content",contentError:Re,path:T})}},[Y,oe,ne,C,T]),ve=(0,r.useRef)({content:void 0,reload:()=>{}});return ve.current={content:N.content,reload:ce},(0,pt.default)(async()=>{G({type:"sync",state:"CHECKING"});const Re=setTimeout(()=>{G({type:"sync",state:"BUILDING"})},1e3);try{switch(await Y.syncEntityDocs({kind:oe,namespace:ne,name:C},Fe=>{G({type:"buildLog",log:Fe})})){case"updated":ve.current.content?G({type:"sync",state:"BUILD_READY"}):(ve.current.reload(),G({type:"sync",state:"BUILD_READY_RELOAD"}));break;case"cached":G({type:"sync",state:"UP_TO_DATE"});break;default:G({type:"sync",state:"ERROR",syncError:new Error("Unexpected return state")});break}}catch(Ee){G({type:"sync",state:"ERROR",syncError:Ee})}finally{clearTimeout(Re)}},[oe,C,ne,Y,G,ve]),{state:(0,r.useMemo)(()=>Tt({activeSyncState:N.activeSyncState,contentLoading:N.contentLoading,content:N.content}),[N.activeSyncState,N.content,N.contentLoading]),contentReload:ce,path:N.path,content:N.content,contentErrorMessage:(Be=N.contentError)==null?void 0:Be.toString(),syncErrorMessage:(Ie=N.syncError)==null?void 0:Ie.toString(),buildLog:N.buildLog}}const $t=(0,l.Z)(oe=>({searchBar:{marginLeft:"20rem",maxWidth:"calc(100% - 20rem * 2 - 3rem)",marginTop:oe.spacing(1),"@media screen and (max-width: 76.1875em)":{marginLeft:"10rem",maxWidth:"calc(100% - 10rem)"}}})),ht=(0,r.createContext)({}),Lt=({children:oe,entityRef:ne})=>{const{"*":C}=(0,t.UO)(),{kind:T,namespace:N,name:G}=ne,Y=Dt(T,N,G,C);return r.createElement(ht.Provider,{value:Y},oe)},wt=(oe,ne)=>C=>React.createElement(Lt,{entityRef:ne},React.createElement(oe,{...C})),be=()=>(0,r.useContext)(ht),st=oe=>{const ne=(0,t.s0)(),C=(0,d.Z)(),T=(0,s.useApi)(m.D),N=(0,s.useApi)(p.q3),G=(0,s.useApi)(s.configApiRef),{namespace:Y="",kind:ce="",name:ve=""}=oe,{state:ye,path:Be,content:Ie}=be(),[Re,Ee]=(0,r.useState)(),[Fe,Rt]=(0,r.useState)(null),{isPinned:ut}=(0,r.useContext)(h.SidebarPinStateContext),Ge=(0,r.useCallback)(()=>{if(!Fe||!Re)return;const Ue=Fe.querySelector(".md-container > .md-tabs");Re.forEach(Ze=>{const Ye=Math.max(Fe.getBoundingClientRect().top,0);Ze.style.top=Ue?`${Ye+Ue.getBoundingClientRect().height}px`:`${Ye}px`})},[Fe,Re]);(0,r.useEffect)(()=>(Ge(),window.addEventListener("scroll",Ge,!0),window.addEventListener("resize",Ge),()=>{window.removeEventListener("scroll",Ge,!0),window.removeEventListener("resize",Ge)}),[Ge,ye]);const ie=(0,r.useCallback)(()=>{if(!Fe)return;const Ue=Fe.querySelector(".md-footer");Ue&&(Ue.style.width=`${Fe.getBoundingClientRect().width}px`)},[Fe]);(0,r.useEffect)(()=>(ie(),window.addEventListener("resize",ie),()=>{window.removeEventListener("resize",ie)}));const Me=(0,r.useCallback)((Ue,Ze)=>vt(Ue,[gt(G.getOptionalConfig("techdocs.sanitizer")),y({techdocsStorageApi:T,entityId:{kind:ce,name:ve,namespace:Y},path:Ze}),P(),q(),se(),M(N),nt({css:`
35
+ body {
36
+ font-family: ${C.typography.fontFamily};
37
+ --md-text-color: ${C.palette.text.primary};
38
+ --md-text-link-color: ${C.palette.primary.main};
39
+
40
+ --md-code-fg-color: ${C.palette.text.primary};
41
+ --md-code-bg-color: ${C.palette.background.paper};
42
+ --md-accent-fg-color: ${C.palette.primary.main};
43
+ --md-default-fg-color--lightest: ${C.palette.textVerySubtle};
44
+ }
45
+ .md-main__inner { margin-top: 0; }
46
+ .md-sidebar { position: fixed; bottom: 100px; width: 20rem; }
47
+ .md-sidebar--secondary { right: 2rem; }
48
+ .md-content { margin-bottom: 50px }
49
+ .md-footer { position: fixed; bottom: 0px; }
50
+ .md-footer-nav__link { width: 20rem;}
51
+ .md-content { margin-left: 20rem; max-width: calc(100% - 20rem * 2 - 3rem); }
52
+ .md-typeset { font-size: 1rem; }
53
+ .md-typeset h1, .md-typeset h2, .md-typeset h3 { font-weight: bold; }
54
+ .md-nav { font-size: 1rem; }
55
+ .md-grid { max-width: 90vw; margin: 0 }
56
+ .md-typeset blockquote {
57
+ color: ${C.palette.textSubtle};
58
+ border-left: 0.2rem solid ${C.palette.textVerySubtle};
59
+ }
60
+ .md-typeset hr {
61
+ border-bottom: 0.05rem dotted ${C.palette.textVerySubtle};
62
+ }
63
+ .md-typeset table:not([class]) {
64
+ font-size: 1rem;
65
+ border: 1px solid ${C.palette.text.primary};
66
+ border-bottom: none;
67
+ border-collapse: collapse;
68
+ }
69
+ .md-typeset table:not([class]) td, .md-typeset table:not([class]) th {
70
+ border-bottom: 1px solid ${C.palette.text.primary};
71
+ }
72
+ .md-typeset table:not([class]) th { font-weight: bold; }
73
+ .md-typeset .admonition, .md-typeset details {
74
+ font-size: 1rem;
75
+ }
76
+
77
+ /* style the checkmarks of the task list */
78
+ .md-typeset .task-list-control .task-list-indicator::before {
79
+ background-color: ${C.palette.action.disabledBackground};
80
+ }
81
+ .md-typeset .task-list-control [type="checkbox"]:checked + .task-list-indicator:before {
82
+ background-color: ${C.palette.success.main};
83
+ }
84
+ /**/
85
+
86
+ @media screen and (max-width: 76.1875em) {
87
+ .md-nav {
88
+ background-color: ${C.palette.background.default};
89
+ transition: none !important
90
+ }
91
+ .md-sidebar--secondary { display: none; }
92
+ .md-sidebar--primary { left: ${ut?"242px":"72px"}; width: 10rem }
93
+ .md-content { margin-left: 10rem; max-width: calc(100% - 10rem); }
94
+ .md-content__inner { font-size: 0.9rem }
95
+ .md-footer {
96
+ position: static;
97
+ padding-left: 10rem;
98
+ }
99
+ .md-footer-nav__link {
100
+ /* footer links begin to overlap at small sizes without setting width */
101
+ width: 50%;
102
+ }
103
+ .md-nav--primary .md-nav__title {
104
+ white-space: normal;
105
+ height: auto;
106
+ line-height: 1rem;
107
+ cursor: auto;
108
+ }
109
+ .md-nav--primary > .md-nav__title [for="none"] {
110
+ padding-top: 0;
111
+ }
112
+ }
113
+ `}),nt({css:`
114
+ .md-nav__link, .md-typeset a, .md-typeset a::before, .md-typeset .headerlink {
115
+ transition: none;
116
+ }
117
+ `}),nt({css:`
118
+ .md-typeset pre > code::-webkit-scrollbar-thumb {
119
+ background-color: hsla(0, 0%, 0%, 0.32);
120
+ }
121
+ .md-typeset pre > code::-webkit-scrollbar-thumb:hover {
122
+ background-color: hsla(0, 0%, 0%, 0.87);
123
+ }
124
+ `}),nt({css:`
125
+ :host {
126
+ --md-admonition-icon--note: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');
127
+ --md-admonition-icon--abstract: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');
128
+ --md-admonition-icon--info: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10A10 10 0 0012 2z"/></svg>');
129
+ --md-admonition-icon--tip: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 01-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');
130
+ --md-admonition-icon--success: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2m-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
131
+ --md-admonition-icon--question: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.07 11.25l-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 00-2-2 2 2 0 00-2 2H8a4 4 0 014-4 4 4 0 014 4 3.2 3.2 0 01-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 002 12a10 10 0 0010 10 10 10 0 0010-10c0-5.53-4.5-10-10-10z"/></svg>');
132
+ --md-admonition-icon--warning: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');
133
+ --md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');
134
+ --md-admonition-icon--danger: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.5 20l4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');
135
+ --md-admonition-icon--bug: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 00-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 00-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z"/></svg>');
136
+ --md-admonition-icon--example: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 01.75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z"/></svg>');
137
+ --md-admonition-icon--quote: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z"/></svg>');
138
+ }
139
+ :host {
140
+ --md-footnotes-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2z"/></svg>');
141
+ }
142
+ :host {
143
+ --md-details-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z"/></svg>');
144
+ }
145
+ :host {
146
+ --md-tasklist-icon: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg>');
147
+ --md-tasklist-icon--checked: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>');
148
+ }
149
+ `})]),[ce,ve,Y,N,T,G,C.palette.action.disabledBackground,C.palette.background.default,C.palette.background.paper,C.palette.primary.main,C.palette.success.main,C.palette.text.primary,C.palette.textSubtle,C.palette.textVerySubtle,C.typography.fontFamily,ut]),et=(0,r.useCallback)(async Ue=>vt(Ue,[ot(),z(),x({baseUrl:window.location.origin,onClick:(Ze,Ye)=>{var b,W;const j=Ze.ctrlKey||Ze.metaKey,v=new URL(Ye);v.hash?j?window.open(`${v.pathname}${v.hash}`,"_blank"):(ne(`${v.pathname}${v.hash}`),(b=Ue==null?void 0:Ue.querySelector(`#${v.hash.slice(1)}`))==null||b.scrollIntoView()):j?window.open(v.pathname,"_blank"):(ne(v.pathname),(W=Ue==null?void 0:Ue.querySelector(".md-content__inner"))==null||W.scrollIntoView())}}),pe({docStorageUrl:await T.getApiOrigin(),onLoading:Ze=>{Ze.style.setProperty("opacity","0")},onLoaded:Ze=>{var Ye;Ze.style.removeProperty("opacity"),(Ye=Ze.querySelector(".md-nav__title"))==null||Ye.removeAttribute("for"),Ee(Array.from(Ze.querySelectorAll(".md-sidebar")))}})]),[ne,T]);return(0,r.useEffect)(()=>{if(!Ie)return()=>{};let Ue=!0;return Me(Ie,Be).then(async Ze=>{if(!(Ze==null?void 0:Ze.innerHTML)||!Ue)return;window.scroll({top:0});const Ye=await et(Ze);Rt(Ye)}),()=>{Ue=!1}},[Ie,Be,Me,et]),Fe},lt=({entityRef:oe,onReady:ne=()=>{},withSearch:C=!0})=>{var ce,ve;const T=$t(),N=st(oe),G=(0,r.useRef)(null),Y=(0,r.useRef)(ne);return(0,r.useEffect)(()=>{Y.current=ne},[ne]),(0,r.useEffect)(()=>{if(!N||!G.current)return;const ye=G.current,Be=ye.shadowRoot||ye.attachShadow({mode:"open"});Array.from(Be.children).forEach(Ie=>Be.removeChild(Ie)),Be.appendChild(N),Y.current()},[N]),r.createElement(r.Fragment,null,r.createElement(xt.N,null),C&&((ve=(ce=G==null?void 0:G.current)==null?void 0:ce.shadowRoot)==null?void 0:ve.innerHTML)&&r.createElement(E.Z,{container:!0,className:T.searchBar},r.createElement(Vt.S,{entityId:oe})),r.createElement("div",{"data-testid":"techdocs-content-shadowroot",ref:G}))},Ct=({entityRef:oe,onReady:ne=()=>{},withSearch:C=!0})=>r.createElement(Lt,{entityRef:oe},r.createElement(lt,{entityRef:oe,onReady:ne,withSearch:C}))},94252:function(J,o,e){"use strict";e.d(o,{T:function(){return d}});var r=e(2784),t=e(36964),l=e(9118);const d=({errorMessage:E})=>{const s=(0,t.useApi)(t.configApiRef).getOptionalString("techdocs.builder");let p="";return s!=="local"&&(p="Note that techdocs.builder is not set to 'local' in your config, which means this Backstage app will not generate docs if they are not found. Make sure the project's docs are generated and published by some external process (e.g. CI/CD pipeline). Or change techdocs.builder to 'local' to generate docs from this Backstage instance."),r.createElement(l.ErrorPage,{status:"404",statusMessage:E||"Documentation not found",additionalInfo:p})}},31752:function(J,o,e){"use strict";e.r(o),e.d(o,{TechDocsPage:function(){return y}});var r=e(2784),t=e(10289),l=e(64279),d=e(3337),E=e(94252),s=e(36964),p=e(9118),h=e(80547),m=e(46025);const c=()=>{const[i,S]=(0,r.useState)(!1),{namespace:D,kind:L,name:V}=(0,t.UO)(),M=(0,s.useApi)(d.g),{value:P}=(0,l.default)(()=>i?M.getTechDocsMetadata({kind:L,namespace:D,name:V}):Promise.resolve(void 0),[L,D,V,M,i]),{value:O,error:x}=(0,l.default)(()=>M.getEntityMetadata({kind:L,namespace:D,name:V}),[L,D,V,M]),z=(0,r.useCallback)(()=>{S(!0)},[S]);return x?r.createElement(E.T,{errorMessage:x.message}):r.createElement(p.Page,{themeId:"documentation"},r.createElement(m.n,{techDocsMetadata:P,entityMetadata:O,entityRef:{kind:L,namespace:D,name:V}}),r.createElement(p.Content,{"data-testid":"techdocs-content"},r.createElement(h.Ej,{onReady:z,entityRef:{kind:L,namespace:D,name:V}})))},y=({children:i})=>{const S=(0,t.pC)(),[D,L]=(0,r.useState)(!1),{namespace:V,kind:M,name:P}=(0,t.UO)(),O=(0,s.useApi)(d.g),{value:x}=(0,l.default)(()=>D?O.getTechDocsMetadata({kind:M,namespace:V,name:P}):Promise.resolve(void 0),[M,V,P,O,D]),{value:z,error:q}=(0,l.default)(()=>O.getEntityMetadata({kind:M,namespace:V,name:P}),[M,V,P,O]),se=(0,r.useCallback)(()=>{L(!0)},[L]);return q?r.createElement(E.T,{errorMessage:q.message}):i?r.createElement(p.Page,{themeId:"documentation"},i instanceof Function?i({techdocsMetadataValue:x,entityMetadataValue:z,entityRef:{kind:M,namespace:V,name:P},onReady:se}):i):S||r.createElement(c,null)}},46025:function(J,o,e){"use strict";e.d(o,{n:function(){return h}});var r=e(52890),t=e(9118),l=e(36964),d=e(19139),E=e(73250),s=e(2784),p=e(68725);const h=({entityRef:m,entityMetadata:c,techDocsMetadata:y})=>{const{name:i}=m,{site_name:S,site_description:D}=y||{},{locationMetadata:L,spec:V}=c||{},M=V==null?void 0:V.lifecycle,P=c?(0,d.getEntityRelations)(c,r.S4):[],O=(0,l.useRouteRef)(p._Z)(),x=s.createElement(s.Fragment,null,s.createElement(t.HeaderLabel,{label:"Component",value:s.createElement(d.EntityRefLink,{color:"inherit",entityRef:m,defaultKind:"Component"})}),P.length>0&&s.createElement(t.HeaderLabel,{label:"Owner",value:s.createElement(d.EntityRefLinks,{color:"inherit",entityRefs:P,defaultKind:"group"})}),M?s.createElement(t.HeaderLabel,{label:"Lifecycle",value:M}):null,L&&L.type!=="dir"&&L.type!=="file"?s.createElement(t.HeaderLabel,{label:"",value:s.createElement("a",{href:L.target,target:"_blank",rel:"noopener noreferrer"},s.createElement(E.Z,{style:{marginTop:"-25px",fill:"#fff"}}))}):null);return s.createElement(t.Header,{title:S||".",pageTitleOverride:S||i,subtitle:D&&D!=="None"?D:"",type:"Docs",typeLink:O},x)}},82957:function(J,o,e){"use strict";e.d(o,{S:function(){return Ge}});var r=e(91512),t=e(2784),l=e(79692);const d=(0,l.Z)(ie=>({filters:{width:"250px",display:"flex"},icon:{margin:ie.spacing(-1,0,0,0)}})),E=({numberOfSelectedFilters:ie,handleToggleFilters:Me})=>{const et=d();return React.createElement("div",{className:et.filters},React.createElement(IconButton,{className:et.icon,"aria-label":"settings",onClick:Me},React.createElement(FilterListIcon,null)),React.createElement(Typography,{variant:"h6"},"Filters (",ie||0,")"))},s=(0,l.Z)(ie=>({filters:{background:"transparent",boxShadow:"0px 0px 0px 0px"},checkbox:{padding:ie.spacing(0,1,0,1)},dropdown:{width:"100%"}})),p=({filters:ie,filterOptions:Me,resetFilters:et,updateSelected:Ue,updateChecked:Ze})=>{const Ye=s();return React.createElement(Card,{className:Ye.filters},React.createElement(CardHeader,{title:React.createElement(Typography,{variant:"h6"},"Filters"),action:React.createElement(Button,{color:"primary",onClick:()=>et()},"CLEAR ALL")}),React.createElement(Divider,null),Me.kind.length===0&&Me.lifecycle.length===0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Filters cannot be applied to available results")),Me.kind.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Kind"),React.createElement(Select,{id:"outlined-select",onChange:j=>{var v;return Ue((v=j==null?void 0:j.target)==null?void 0:v.value)},variant:"outlined",className:Ye.dropdown,value:ie.selected},Me.kind.map(j=>React.createElement(MenuItem,{selected:j==="",dense:!0,key:j,value:j},j)))),Me.lifecycle.length>0&&React.createElement(CardContent,null,React.createElement(Typography,{variant:"subtitle2"},"Lifecycle"),React.createElement(List,{disablePadding:!0,dense:!0},Me.lifecycle.map(j=>React.createElement(ListItem,{key:j,dense:!0,button:!0,onClick:()=>Ze(j)},React.createElement(Checkbox,{edge:"start",disableRipple:!0,className:Ye.checkbox,color:"primary",checked:ie.checked.includes(j),tabIndex:-1,value:j,name:j}),React.createElement(ListItemText,{id:j,primary:j}))))))};var h=e(1795),m=e(22313),c=e(42494),y=e(84899),i=e(5806),S=e(21324),D=e(56939),L=e(73698),V=e(12231),M=e(86619),P=e(7089),O=e(88013),x=e(69294),z=e(48760);const q=(ie,Me,et=[],Ue=250)=>{const Ze=(0,t.useRef)({}),Ye=ie||(()=>Promise.resolve([])),[j,v]=(0,x.default)(Ye,[Me],{loading:!0});if((0,z.Z)(()=>{Ze.current[Me]===void 0&&(Ze.current[Me]=v(Me).then(W=>(Ze.current[Me]=W,W)))},Ue,[v,Me]),et.length)return{loading:!1,value:et};const b=Ze.current[Me];return Array.isArray(b)?{loading:!1,value:b}:j},se=(ie,Me)=>{const{setFilters:et}=(0,m.Rx)();(0,t.useEffect)(()=>{Me&&[Me].flat().length>0&&et(Ue=>({...Ue,[ie]:Me}))},[])},pe=ie=>{const{className:Me,defaultValue:et,name:Ue,values:Ze,valuesDebounceMs:Ye,label:j,filterSelectedOptions:v,limitTags:b,multiple:W}=ie,[ee,Oe]=(0,t.useState)("");se(Ue,et);const ge=typeof Ze=="function"?Ze:void 0,Ce=typeof Ze=="function"?void 0:Ze,{value:De,loading:we}=q(ge,ee,Ce,Ye),{filters:At,setFilters:ae}=(0,m.Rx)(),Z=At[Ue]||(W?[]:null),k=(Ke,tt)=>{ae(bt=>{const{[Ue]:en,...ln}=bt;return tt?{...ln,[Ue]:tt}:{...ln}})},he=Ke=>t.createElement(M.Z,{...Ke,name:"search",variant:"outlined",label:j,fullWidth:!0}),He=(Ke,tt)=>Ke.map((bt,en)=>t.createElement(P.Z,{label:bt,color:"primary",...tt({index:en})}));return t.createElement(O.ZP,{filterSelectedOptions:v,limitTags:b,multiple:W,className:Me,id:`${W?"multi-":""}select-filter-${Ue}--select`,options:De||[],loading:we,value:Z,onChange:k,onInputChange:(Ke,tt)=>Oe(tt),renderInput:he,renderTags:He})},Le=(0,l.Z)({label:{textTransform:"capitalize"}}),me=ie=>{const{className:Me,defaultValue:et,label:Ue,name:Ze,values:Ye=[],valuesDebounceMs:j}=ie,v=Le(),{filters:b,setFilters:W}=(0,m.Rx)();se(Ze,et);const ee=typeof Ye=="function"?Ye:void 0,Oe=typeof Ye=="function"?void 0:Ye,{value:ge=[],loading:Ce}=q(ee,"",Oe,j),De=we=>{const{target:{value:At,checked:ae}}=we;W(Z=>{const{[Ze]:k,...he}=Z,He=(k||[]).filter(tt=>tt!==At),Ke=ae?[...He,At]:He;return Ke.length?{...he,[Ze]:Ke}:he})};return t.createElement(c.Z,{className:Me,disabled:Ce,fullWidth:!0,"data-testid":"search-checkboxfilter-next"},Ue?t.createElement(y.Z,{className:v.label},Ue):null,ge.map(we=>{var At;return t.createElement(i.Z,{key:we,control:t.createElement(S.Z,{color:"primary",tabIndex:-1,inputProps:{"aria-labelledby":we},value:we,name:we,onChange:De,checked:((At=b[Ze])!=null?At:[]).includes(we)}),label:we})}))},Ve=ie=>{const{className:Me,defaultValue:et,label:Ue,name:Ze,values:Ye,valuesDebounceMs:j}=ie,v=Le();se(Ze,et);const b=typeof Ye=="function"?Ye:void 0,W=typeof Ye=="function"?void 0:Ye,{value:ee=[],loading:Oe}=q(b,"",W,j),{filters:ge,setFilters:Ce}=(0,m.Rx)(),De=we=>{const{target:{value:At}}=we;Ce(ae=>{const{[Ze]:Z,...k}=ae;return At?{...k,[Ze]:At}:k})};return t.createElement(c.Z,{disabled:Oe,className:Me,variant:"filled",fullWidth:!0,"data-testid":"search-selectfilter-next"},Ue?t.createElement(D.Z,{className:v.label,margin:"dense"},Ue):null,t.createElement(L.Z,{variant:"outlined",value:ge[Ze]||"",onChange:De},t.createElement(V.Z,{value:""},t.createElement("em",null,"All")),ee.map(we=>t.createElement(V.Z,{key:we,value:we},we))))},Pe=({component:ie,...Me})=>t.createElement(ie,{...Me});Pe.Checkbox=ie=>t.createElement(Pe,{...ie,component:me}),Pe.Select=ie=>t.createElement(Pe,{...ie,component:Ve}),Pe.Autocomplete=ie=>t.createElement(Pe,{...ie,component:pe});const Qe=null;var it=e(65678),_e=e(3992),gt=e(8542),nt=e(49378),ot=e(62155),vt=e(94339),Vt=e(32552),xt=e(24579),pt=e(27616),rt=e(8284),Tt=e(70660),Pt=e(11776),Dt=e(85256),$t=e(38402),ht=e(86136),Lt=e(38016),wt=e(56881);const be=(0,l.Z)(ie=>({card:{backgroundColor:"rgba(0, 0, 0, .11)"},cardContent:{paddingTop:ie.spacing(1)},icon:{color:ie.palette.common.black},list:{width:"100%"},listItemIcon:{width:"24px",height:"24px"},accordion:{backgroundColor:ie.palette.background.paper},accordionSummary:{minHeight:"auto","&.Mui-expanded":{minHeight:"auto"}},accordionSummaryContent:{margin:ie.spacing(2,0),"&.Mui-expanded":{margin:ie.spacing(2,0)}},accordionDetails:{padding:ie.spacing(0,0,1)}})),st=ie=>{const Me=be(),{setPageCursor:et,setTypes:Ue,types:Ze}=(0,m.Rx)(),[Ye,j]=(0,t.useState)(!0),{defaultValue:v,name:b,types:W}=ie,ee=()=>j(De=>!De),Oe=De=>()=>{Ue(De!==""?[De]:[]),et(void 0),j(!1)};(0,t.useEffect)(()=>{v&&Ue([v])},[]);const ge=[{value:"",name:"All",icon:t.createElement(wt.Z,null)},...W],Ce=Ze[0]||"";return t.createElement(vt.Z,{className:Me.card},t.createElement(Vt.Z,{title:b,titleTypographyProps:{variant:"overline"}}),t.createElement(xt.Z,{className:Me.cardContent},t.createElement(pt.Z,{className:Me.accordion,expanded:Ye,onChange:ee},t.createElement(rt.Z,{classes:{root:Me.accordionSummary,content:Me.accordionSummaryContent},expandIcon:t.createElement(Lt.Z,{className:Me.icon}),IconButtonProps:{size:"small"}},Ye?"Collapse":ge.filter(De=>De.value===Ce)[0].name),t.createElement(Tt.Z,{classes:{root:Me.accordionDetails}},t.createElement(Pt.Z,{className:Me.list,component:"nav","aria-label":"filter by type",disablePadding:!0,dense:!0},ge.map(De=>t.createElement(t.Fragment,{key:De.value},t.createElement(Dt.Z,null),t.createElement($t.Z,{selected:Ze[0]===De.value||Ze.length===0&&De.value==="",onClick:Oe(De.value),button:!0},t.createElement(ht.Z,null,(0,t.cloneElement)(De.icon,{className:Me.listItemIcon})),t.createElement(nt.Z,{primary:De.name})))))))))};var lt=e(99152),Ct=e(6487);const oe=(0,l.Z)(ie=>({tabs:{borderBottom:`1px solid ${ie.palette.textVerySubtle}`,padding:ie.spacing(0,4)},tab:{height:"50px",fontWeight:ie.typography.fontWeightBold,fontSize:ie.typography.pxToRem(13),color:ie.palette.textSubtle,minWidth:"130px"}})),ne=ie=>{const Me=oe(),{setPageCursor:et,setTypes:Ue,types:Ze}=(0,m.Rx)(),{defaultValue:Ye,types:j}=ie,v=(W,ee)=>{Ue(ee!==""?[ee]:[]),et(void 0)};(0,t.useEffect)(()=>{Ye&&Ue([Ye])},[]);const b=[{value:"",name:"All"},...j];return t.createElement(lt.Z,{className:Me.tabs,indicatorColor:"primary",value:Ze.length===0?"":Ze[0],onChange:v},b.map(W=>t.createElement(Ct.Z,{className:Me.tab,disableRipple:!0,label:W.name,value:W.value})))},C=(0,l.Z)(ie=>({label:{textTransform:"capitalize"},chips:{display:"flex",flexWrap:"wrap",marginTop:ie.spacing(1)},chip:{margin:2}})),T=ie=>{const{className:Me,defaultValue:et,name:Ue,values:Ze=[]}=ie,Ye=C(),{types:j,setTypes:v}=(0,m.Rx)();(0,ot.Z)(()=>{j.length||(et&&Array.isArray(et)?v(et):et&&v([et]))});const b=W=>{const ee=W.target.value;v(ee)};return t.createElement(c.Z,{className:Me,variant:"filled",fullWidth:!0,"data-testid":"search-typefilter-next"},t.createElement(D.Z,{className:Ye.label,margin:"dense"},Ue),t.createElement(L.Z,{multiple:!0,variant:"outlined",value:j,onChange:b,placeholder:"All Results",renderValue:W=>t.createElement("div",{className:Ye.chips},W.map(ee=>t.createElement(P.Z,{key:ee,label:ee,className:Ye.chip,size:"small"})))},Ze.map(W=>t.createElement(V.Z,{key:W,value:W},t.createElement(S.Z,{checked:j.indexOf(W)>-1}),t.createElement(nt.Z,{primary:W})))))};T.Accordion=ie=>t.createElement(st,{...ie}),T.Tabs=ie=>t.createElement(ne,{...ie});var N=e(19126),G=e(20863),Y=e(36964),ce=e(9118);const ve=ie=>{const Me=useRouteRef(rootRouteRef),{focusContent:et}=useContent(),Ue=useNavigate(),Ze=useCallback(Ye=>{const j=qs.stringify({query:Ye},{addQueryPrefix:!0});et(),Ue(`${Me()}${j}`)},[et,Ue,Me]);return React.createElement(SidebarSearchField,{icon:ie.icon,onSearch:Ze,to:"/search"})};var ye=e(60905),Be=e(50581),Ie=e(61837),Re=e(4614),Ee=e(21853),Fe=e(10289),Rt=e(71226);const ut=({entityId:ie,debounceTime:Me=150})=>{const[et,Ue]=(0,t.useState)(!1),Ze=(0,Fe.s0)(),{term:Ye,setTerm:j,result:{loading:v,value:b}}=(0,m.Rx)(),[W,ee]=(0,t.useState)([]);(0,t.useEffect)(()=>{let we=!0;if(we&&b){const At=b.results.slice(0,10);ee(At)}return()=>{we=!1}},[v,b]);const[Oe,ge]=(0,t.useState)(Ye);(0,z.Z)(()=>j(Oe),Me,[Oe]);const Ce=we=>{et||Ue(!0),ge(we.target.value)},De=(we,At)=>{if(At==null?void 0:At.document){const{location:ae}=At.document;Ze(ae)}};return t.createElement(ye.Z,{item:!0,xs:12},t.createElement(O.ZP,{"data-testid":"techdocs-search-bar",size:"small",open:et,getOptionLabel:()=>"",filterOptions:we=>we,onClose:()=>{Ue(!1)},onFocus:()=>{Ue(!0)},onChange:De,blurOnSelect:!0,noOptionsText:"No results found",value:null,options:W,renderOption:({document:we})=>t.createElement(Rt.O,{result:we,lineClamp:3,asListItem:!1,asLink:!1,title:we.title}),loading:v,renderInput:we=>t.createElement(M.Z,{...we,"data-testid":"techdocs-search-bar-input",variant:"outlined",fullWidth:!0,placeholder:`Search ${ie.name} docs`,value:Oe,onChange:Ce,InputProps:{...we.InputProps,startAdornment:t.createElement(Be.Z,{position:"start"},t.createElement(Ie.Z,{"aria-label":"Query",disabled:!0},t.createElement(Ee.Z,null))),endAdornment:t.createElement(t.Fragment,null,v?t.createElement(Re.Z,{color:"inherit",size:20}):null,we.InputProps.endAdornment)}})}))},Ge=ie=>{const Me={term:"",types:["techdocs"],pageCursor:"",filters:ie.entityId};return t.createElement(m.Nd,{initialState:Me},t.createElement(ut,{...ie}))}},25921:function(J,o,e){"use strict";e.d(o,{N:function(){return O}});var r=e(2784),t=e(9118),l=e(79692),d=e(4614),E=e(77277),s=e(99688),p=e(12420),h=e(60905),m=e(90436),c=e(61837),y=e(4190),i=e(87685);const S=(0,l.Z)(x=>(0,p.Z)({paper:{width:"100%",[x.breakpoints.up("sm")]:{width:"75%"},[x.breakpoints.up("md")]:{width:"50%"},padding:x.spacing(2.5)},root:{height:"100%",overflow:"hidden"},logs:{background:x.palette.background.default}})),D=({buildLog:x,onClose:z})=>{const q=S(),se=x.length===0?"Waiting for logs...":x.join(`
150
+ `);return r.createElement(h.Z,{container:!0,direction:"column",className:q.root,spacing:0,wrap:"nowrap"},r.createElement(h.Z,{item:!0,container:!0,justifyContent:"space-between",alignItems:"center",spacing:0,wrap:"nowrap"},r.createElement(m.Z,{variant:"h5"},"Build Details"),r.createElement(c.Z,{key:"dismiss",title:"Close the drawer",onClick:z,color:"inherit"},r.createElement(i.Z,null))),r.createElement(t.LogViewer,{text:se,classes:{root:q.logs}}))},L=({buildLog:x})=>{const z=S(),[q,se]=(0,r.useState)(!1);return r.createElement(r.Fragment,null,r.createElement(E.Z,{color:"inherit",onClick:()=>se(!0)},"Show Build Logs"),r.createElement(y.ZP,{classes:{paper:z.paper},anchor:"right",open:q,onClose:()=>se(!1)},r.createElement(D,{buildLog:x,onClose:()=>se(!1)})))};var V=e(94252),M=e(80547);const P=(0,l.Z)(()=>({message:{wordBreak:"break-word",overflowWrap:"anywhere"}})),O=()=>{let x=null;const z=P(),{state:q,contentReload:se,contentErrorMessage:pe,syncErrorMessage:Le,buildLog:me}=(0,M.DK)(),Ve=q==="CHECKING"?r.createElement(t.Progress,null):null;return q==="INITIAL_BUILD"&&(x=r.createElement(s.Z,{variant:"outlined",severity:"info",icon:r.createElement(d.Z,{size:"24px"}),action:r.createElement(L,{buildLog:me})},"Documentation is accessed for the first time and is being prepared. The subsequent loads are much faster.")),q==="CONTENT_STALE_REFRESHING"&&(x=r.createElement(s.Z,{variant:"outlined",severity:"info",icon:r.createElement(d.Z,{size:"24px"}),action:r.createElement(L,{buildLog:me})},"A newer version of this documentation is being prepared and will be available shortly.")),q==="CONTENT_STALE_READY"&&(x=r.createElement(s.Z,{variant:"outlined",severity:"success",action:r.createElement(E.Z,{color:"inherit",onClick:()=>se()},"Refresh")},"A newer version of this documentation is now available, please refresh to view.")),q==="CONTENT_STALE_ERROR"&&(x=r.createElement(s.Z,{variant:"outlined",severity:"error",action:r.createElement(L,{buildLog:me}),classes:{message:z.message}},"Building a newer version of this documentation failed."," ",Le)),q==="CONTENT_NOT_FOUND"&&(x=r.createElement(r.Fragment,null,Le&&r.createElement(s.Z,{variant:"outlined",severity:"error",action:r.createElement(L,{buildLog:me}),classes:{message:z.message}},"Building a newer version of this documentation failed."," ",Le),r.createElement(V.T,{errorMessage:pe}))),r.createElement(r.Fragment,null,Ve,x)}},73873:function(J,o,e){"use strict";e.d(o,{Ej:function(){return r.Ej},EV:function(){return t.TechDocsPage},nN:function(){return l.n}});var r=e(80547),t=e(31752),l=e(46025),d=e(25921),E=e(82957)},68725:function(J,o,e){"use strict";e.d(o,{_Z:function(){return t},Fw:function(){return l},pd:function(){return d}});var r=e(36964);const t=(0,r.createRouteRef)({id:"techdocs:index-page"}),l=(0,r.createRouteRef)({id:"techdocs:reader-page",params:["namespace","kind","name"]}),d=(0,r.createRouteRef)({id:"techdocs:catalog-reader-view"})},19133:function(J,o,e){"use strict";J.exports=e.p+"static/createComponent.975d1e1e..svg"},86284:function(J,o,e){"use strict";J.exports=e.p+"static/missingAnnotation.67f79e98..svg"},3871:function(J,o,e){"use strict";J.exports=e.p+"static/noBuild.1715fa71..svg"},96465:function(J,o,e){"use strict";J.exports=e.p+"static/noInformation.4b426325..svg"},29788:function(J,o,e){"use strict";J.exports=e.p+"static/mic-drop.fe3ef4d0..svg"},219:function(J,o,e){"use strict";J.exports=e.p+"static/illo.7884c54f..svg"},53260:function(){}},function(J){var o=function(r){return J(J.s=r)};J.O(0,[2370,6202,9284,2126,7012,427,5218,4736],function(){return o(88649),o(71380)});var e=J.O()}]);})();
151
+
152
+ //# sourceMappingURL=main.367d4ef1.js.map