@k8slens/extensions 5.5.0-git.50c961fddb.0 → 5.5.0-git.5422687b24.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 (463) hide show
  1. package/dist/src/{main/kubectl → common/app-paths}/directory-for-kubectl-binaries/directory-for-kubectl-binaries.injectable.d.ts +0 -0
  2. package/dist/src/common/base-store.d.ts +1 -1
  3. package/dist/src/common/catalog-entities/general-catalog-entities/general-catalog-entity-injection-token.d.ts +3 -0
  4. package/dist/src/common/catalog-entities/general-catalog-entities/implementations/catalog-catalog-entity.injectable.d.ts +4 -0
  5. package/dist/src/common/catalog-entities/general-catalog-entities/implementations/preferences-catalog-entity.injectable.d.ts +4 -0
  6. package/dist/src/common/catalog-entities/general-catalog-entities/implementations/welcome-catalog-entity.injectable.d.ts +4 -0
  7. package/dist/src/common/front-end-routing/navigate-to-front-page.injectable.d.ts +3 -0
  8. package/dist/src/common/front-end-routing/navigate-to-route-injection-token.d.ts +21 -0
  9. package/dist/src/common/front-end-routing/navigate-to-url-injection-token.d.ts +7 -0
  10. package/dist/src/common/front-end-routing/navigation-ipc-channel.d.ts +2 -0
  11. package/dist/src/common/front-end-routing/route-injection-token.d.ts +11 -0
  12. package/dist/src/common/front-end-routing/routes/add-cluster/add-cluster-route.injectable.d.ts +7 -0
  13. package/dist/src/common/front-end-routing/routes/add-cluster/navigate-to-add-cluster.injectable.d.ts +3 -0
  14. package/dist/src/common/front-end-routing/routes/catalog/catalog-route.injectable.d.ts +8 -0
  15. package/dist/src/common/front-end-routing/routes/catalog/navigate-to-catalog.injectable.d.ts +5 -0
  16. package/dist/src/common/front-end-routing/routes/cluster/config/config-maps/config-maps-route.injectable.d.ts +7 -0
  17. package/dist/src/common/front-end-routing/routes/cluster/config/config-maps/navigate-to-config-maps.injectable.d.ts +3 -0
  18. package/dist/src/common/front-end-routing/routes/cluster/config/horizontal-pod-autoscalers/horizontal-pod-autoscalers-route.injectable.d.ts +7 -0
  19. package/dist/src/common/front-end-routing/routes/cluster/config/horizontal-pod-autoscalers/navigate-to-horizontal-pod-autoscalers.injectable.d.ts +3 -0
  20. package/dist/src/common/front-end-routing/routes/cluster/config/limit-ranges/limit-ranges-route.injectable.d.ts +7 -0
  21. package/dist/src/common/front-end-routing/routes/cluster/config/limit-ranges/navigate-to-limit-ranges.injectable.d.ts +3 -0
  22. package/dist/src/common/front-end-routing/routes/cluster/config/pod-disruption-budgets/navigate-to-pod-disruption-budgets.injectable.d.ts +3 -0
  23. package/dist/src/common/front-end-routing/routes/cluster/config/pod-disruption-budgets/pod-disruption-budgets-route.injectable.d.ts +7 -0
  24. package/dist/src/common/front-end-routing/routes/cluster/config/resource-quotas/navigate-to-resource-quotas.injectable.d.ts +3 -0
  25. package/dist/src/common/front-end-routing/routes/cluster/config/resource-quotas/resource-quotas-route.injectable.d.ts +7 -0
  26. package/dist/src/common/front-end-routing/routes/cluster/config/secrets/navigate-to-secrets.injectable.d.ts +3 -0
  27. package/dist/src/common/front-end-routing/routes/cluster/config/secrets/secrets-route.injectable.d.ts +7 -0
  28. package/dist/src/common/front-end-routing/routes/cluster/custom-resources/crd-list/crd-list-route.injectable.d.ts +7 -0
  29. package/dist/src/common/front-end-routing/routes/cluster/custom-resources/crd-list/navigate-to-crd-list.injectable.d.ts +3 -0
  30. package/dist/src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.d.ts +8 -0
  31. package/dist/src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/navigate-to-custom-resources.injectable.d.ts +4 -0
  32. package/dist/src/common/front-end-routing/routes/cluster/events/events-route.injectable.d.ts +7 -0
  33. package/dist/src/common/front-end-routing/routes/cluster/events/navigate-to-events.injectable.d.ts +3 -0
  34. package/dist/src/common/front-end-routing/routes/cluster/helm/charts/helm-charts-route.injectable.d.ts +8 -0
  35. package/dist/src/common/front-end-routing/routes/cluster/helm/charts/navigate-to-helm-charts.injectable.d.ts +5 -0
  36. package/dist/src/common/front-end-routing/routes/cluster/helm/releases/helm-releases-route.injectable.d.ts +8 -0
  37. package/dist/src/common/front-end-routing/routes/cluster/helm/releases/navigate-to-helm-releases.injectable.d.ts +5 -0
  38. package/dist/src/common/front-end-routing/routes/cluster/namespaces/namespaces-route.injectable.d.ts +7 -0
  39. package/dist/src/common/front-end-routing/routes/cluster/namespaces/navigate-to-namespaces.injectable.d.ts +3 -0
  40. package/dist/src/common/front-end-routing/routes/cluster/network/endpoints/endpoints-route.injectable.d.ts +7 -0
  41. package/dist/src/common/front-end-routing/routes/cluster/network/endpoints/navigate-to-endpoints.injectable.d.ts +3 -0
  42. package/dist/src/common/front-end-routing/routes/cluster/network/ingresses/ingresses-route.injectable.d.ts +7 -0
  43. package/dist/src/common/front-end-routing/routes/cluster/network/ingresses/navigate-to-ingresses.injectable.d.ts +3 -0
  44. package/dist/src/common/front-end-routing/routes/cluster/network/network-policies/navigate-to-network-policies.injectable.d.ts +3 -0
  45. package/dist/src/common/front-end-routing/routes/cluster/network/network-policies/network-policies-route.injectable.d.ts +7 -0
  46. package/dist/src/common/front-end-routing/routes/cluster/network/port-forwards/navigate-to-port-forwards.injectable.d.ts +5 -0
  47. package/dist/src/common/front-end-routing/routes/cluster/network/port-forwards/port-forwards-route.injectable.d.ts +7 -0
  48. package/dist/src/common/front-end-routing/routes/cluster/network/services/navigate-to-services.injectable.d.ts +3 -0
  49. package/dist/src/common/front-end-routing/routes/cluster/network/services/services-route.injectable.d.ts +7 -0
  50. package/dist/src/common/front-end-routing/routes/cluster/nodes/navigate-to-nodes.injectable.d.ts +3 -0
  51. package/dist/src/common/front-end-routing/routes/cluster/nodes/nodes-route.injectable.d.ts +7 -0
  52. package/dist/src/common/front-end-routing/routes/cluster/overview/cluster-overview-route.injectable.d.ts +7 -0
  53. package/dist/src/common/front-end-routing/routes/cluster/overview/navigate-to-cluster-overview.injectable.d.ts +3 -0
  54. package/dist/src/common/front-end-routing/routes/cluster/storage/persistent-volume-claims/navigate-to-persistent-volume-claims.injectable.d.ts +3 -0
  55. package/dist/src/common/front-end-routing/routes/cluster/storage/persistent-volume-claims/persistent-volume-claims-route.injectable.d.ts +7 -0
  56. package/dist/src/common/front-end-routing/routes/cluster/storage/persistent-volumes/navigate-to-persistent-volumes.injectable.d.ts +3 -0
  57. package/dist/src/common/front-end-routing/routes/cluster/storage/persistent-volumes/persistent-volumes-route.injectable.d.ts +7 -0
  58. package/dist/src/common/front-end-routing/routes/cluster/storage/storage-classes/navigate-to-storage-classes.injectable.d.ts +3 -0
  59. package/dist/src/common/front-end-routing/routes/cluster/storage/storage-classes/storage-classes-route.injectable.d.ts +7 -0
  60. package/dist/src/common/front-end-routing/routes/cluster/user-management/cluster-role-bindings/cluster-role-bindings-route.injectable.d.ts +7 -0
  61. package/dist/src/common/front-end-routing/routes/cluster/user-management/cluster-role-bindings/navigate-to-cluster-role-bindings.injectable.d.ts +3 -0
  62. package/dist/src/common/front-end-routing/routes/cluster/user-management/cluster-roles/cluster-roles-route.injectable.d.ts +7 -0
  63. package/dist/src/common/front-end-routing/routes/cluster/user-management/cluster-roles/navigate-to-cluster-roles.injectable.d.ts +3 -0
  64. package/dist/src/common/front-end-routing/routes/cluster/user-management/pod-security-policies/navigate-to-pod-security-policies.injectable.d.ts +3 -0
  65. package/dist/src/common/front-end-routing/routes/cluster/user-management/pod-security-policies/pod-security-policies-route.injectable.d.ts +7 -0
  66. package/dist/src/common/front-end-routing/routes/cluster/user-management/role-bindings/navigate-to-role-bindings.injectable.d.ts +3 -0
  67. package/dist/src/common/front-end-routing/routes/cluster/user-management/role-bindings/role-bindings-route.injectable.d.ts +7 -0
  68. package/dist/src/common/front-end-routing/routes/cluster/user-management/roles/navigate-to-roles.injectable.d.ts +3 -0
  69. package/dist/src/common/front-end-routing/routes/cluster/user-management/roles/roles-route.injectable.d.ts +7 -0
  70. package/dist/src/common/front-end-routing/routes/cluster/user-management/service-accounts/navigate-to-service-accounts.injectable.d.ts +3 -0
  71. package/dist/src/common/front-end-routing/routes/cluster/user-management/service-accounts/service-accounts-route.injectable.d.ts +7 -0
  72. package/dist/src/common/front-end-routing/routes/cluster/workloads/cron-jobs/cron-jobs-route.injectable.d.ts +7 -0
  73. package/dist/src/common/front-end-routing/routes/cluster/workloads/cron-jobs/navigate-to-cron-jobs.injectable.d.ts +3 -0
  74. package/dist/src/common/front-end-routing/routes/cluster/workloads/daemonsets/daemonsets-route.injectable.d.ts +7 -0
  75. package/dist/src/common/front-end-routing/routes/cluster/workloads/daemonsets/navigate-to-daemonsets.injectable.d.ts +3 -0
  76. package/dist/src/common/front-end-routing/routes/cluster/workloads/deployments/deployments-route.injectable.d.ts +7 -0
  77. package/dist/src/common/front-end-routing/routes/cluster/workloads/deployments/navigate-to-deployments.injectable.d.ts +3 -0
  78. package/dist/src/common/front-end-routing/routes/cluster/workloads/jobs/jobs-route.injectable.d.ts +7 -0
  79. package/dist/src/common/front-end-routing/routes/cluster/workloads/jobs/navigate-to-jobs.injectable.d.ts +3 -0
  80. package/dist/src/common/front-end-routing/routes/cluster/workloads/overview/navigate-to-workloads-overview.injectable.d.ts +3 -0
  81. package/dist/src/common/front-end-routing/routes/cluster/workloads/overview/workloads-overview-route.injectable.d.ts +7 -0
  82. package/dist/src/common/front-end-routing/routes/cluster/workloads/pods/navigate-to-pods.injectable.d.ts +3 -0
  83. package/dist/src/common/front-end-routing/routes/cluster/workloads/pods/pods-route.injectable.d.ts +7 -0
  84. package/dist/src/common/front-end-routing/routes/cluster/workloads/replicasets/navigate-to-replicasets.injectable.d.ts +3 -0
  85. package/dist/src/common/front-end-routing/routes/cluster/workloads/replicasets/replicasets-route.injectable.d.ts +7 -0
  86. package/dist/src/common/front-end-routing/routes/cluster/workloads/statefulsets/navigate-to-statefulsets.injectable.d.ts +3 -0
  87. package/dist/src/common/front-end-routing/routes/cluster/workloads/statefulsets/statefulsets-route.injectable.d.ts +7 -0
  88. package/dist/src/common/front-end-routing/routes/cluster-view/cluster-view-route.injectable.d.ts +7 -0
  89. package/dist/src/common/front-end-routing/routes/cluster-view/navigate-to-cluster-view.injectable.d.ts +4 -0
  90. package/dist/src/common/front-end-routing/routes/entity-settings/entity-settings-route.injectable.d.ts +7 -0
  91. package/dist/src/common/front-end-routing/routes/entity-settings/navigate-to-entity-settings.injectable.d.ts +4 -0
  92. package/dist/src/common/front-end-routing/routes/extensions/extensions-route.injectable.d.ts +7 -0
  93. package/dist/src/common/front-end-routing/routes/extensions/navigate-to-extensions.injectable.d.ts +3 -0
  94. package/dist/src/common/front-end-routing/routes/preferences/app/app-preferences-route.injectable.d.ts +7 -0
  95. package/dist/src/common/front-end-routing/routes/preferences/app/navigate-to-app-preferences.injectable.d.ts +3 -0
  96. package/dist/src/common/front-end-routing/routes/preferences/editor/editor-preferences-route.injectable.d.ts +7 -0
  97. package/dist/src/common/front-end-routing/routes/preferences/editor/navigate-to-editor-preferences.injectable.d.ts +3 -0
  98. package/dist/src/common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable.d.ts +7 -0
  99. package/dist/src/common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable.d.ts +3 -0
  100. package/dist/src/common/front-end-routing/routes/preferences/kubernetes/kubernetes-preferences-route.injectable.d.ts +7 -0
  101. package/dist/src/common/front-end-routing/routes/preferences/kubernetes/navigate-to-kubernetes-preferences.injectable.d.ts +3 -0
  102. package/dist/src/common/front-end-routing/routes/preferences/navigate-to-preferences.injectable.d.ts +3 -0
  103. package/dist/src/common/front-end-routing/routes/preferences/proxy/navigate-to-proxy-preferences.injectable.d.ts +3 -0
  104. package/dist/src/common/front-end-routing/routes/preferences/proxy/proxy-preferences-route.injectable.d.ts +7 -0
  105. package/dist/src/common/front-end-routing/routes/preferences/telemetry/navigate-to-telemetry-preferences.injectable.d.ts +3 -0
  106. package/dist/src/common/front-end-routing/routes/preferences/telemetry/telemetry-preferences-route.injectable.d.ts +7 -0
  107. package/dist/src/common/front-end-routing/routes/preferences/terminal/navigate-to-terminal-preferences.injectable.d.ts +3 -0
  108. package/dist/src/common/front-end-routing/routes/preferences/terminal/terminal-preferences-route.injectable.d.ts +7 -0
  109. package/dist/src/common/front-end-routing/routes/welcome/navigate-to-welcome.injectable.d.ts +3 -0
  110. package/dist/src/common/front-end-routing/routes/welcome/welcome-route.injectable.d.ts +7 -0
  111. package/dist/src/common/front-end-routing/verify-that-all-routes-have-route-component.test.d.ts +1 -0
  112. package/dist/src/common/fs/path-exists.injectable.d.ts +4 -0
  113. package/dist/src/common/fs/read-file-buffer.injectable.d.ts +4 -0
  114. package/dist/src/common/fs/read-file.injectable.d.ts +1 -1
  115. package/dist/src/common/fs/read-json-file.injectable.d.ts +3 -1
  116. package/dist/src/common/fs/write-json-file.injectable.d.ts +2 -1
  117. package/dist/src/common/get-configuration-file-model/app-version/app-version.injectable.d.ts +3 -0
  118. package/dist/src/common/get-configuration-file-model/get-configuration-file-model.injectable.d.ts +5 -0
  119. package/dist/src/common/hotbar-store.d.ts +7 -1
  120. package/dist/src/common/hotbar-store.injectable.d.ts +2 -2
  121. package/dist/src/common/ipc-channel/create-channel/create-channel.d.ts +1 -1
  122. package/dist/src/{extensions/registries/__tests__/page-registry.test.d.ts → common/k8s-api/__tests__/ingress.api.d.ts} +0 -0
  123. package/dist/src/common/k8s-api/endpoints/ingress.api.d.ts +42 -29
  124. package/dist/src/common/k8s-api/kube-object.d.ts +5 -0
  125. package/dist/src/common/logger.d.ts +6 -0
  126. package/dist/src/common/logger.injectable.d.ts +4 -0
  127. package/dist/src/common/path/get-absolute-path.injectable.d.ts +4 -0
  128. package/dist/src/common/path/join-paths.injectable.d.ts +4 -0
  129. package/dist/src/common/sentry.d.ts +3 -1
  130. package/dist/src/{renderer/components/+helm/route.d.ts → common/test-utils/get-absolute-path-fake.d.ts} +2 -4
  131. package/dist/src/{renderer/components/+user-management/route.d.ts → common/test-utils/join-paths-fake.d.ts} +2 -3
  132. package/dist/src/common/utils/buildUrl.d.ts +2 -2
  133. package/dist/src/common/utils/is-allowed-resource.injectable.d.ts +1 -1
  134. package/dist/src/common/vars/is-mac.injectable.d.ts +3 -0
  135. package/dist/src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-singleton-object-for-extension-api.d.ts +10 -0
  136. package/dist/src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.d.ts +6 -1
  137. package/dist/src/extensions/extension-api.js +354 -444
  138. package/dist/src/extensions/extension-loader/extension-installation-counter.injectable.d.ts +3 -0
  139. package/dist/src/extensions/extension-loader/extension-loader.d.ts +2 -0
  140. package/dist/src/extensions/extension-loader/extension-registrator-injection-token.d.ts +3 -0
  141. package/dist/src/extensions/lens-extension.d.ts +2 -0
  142. package/dist/src/extensions/registries/page-menu-registry.d.ts +1 -9
  143. package/dist/src/extensions/registries/page-registry.d.ts +2 -16
  144. package/dist/src/main/catalog/catalog-entity-registry.injectable.d.ts +3 -0
  145. package/dist/src/main/catalog-sources/index.d.ts +0 -1
  146. package/dist/src/main/catalog-sources/sync-general-catalog-entities.injectable.d.ts +3 -0
  147. package/dist/src/main/initializers/init-ipc-main-handlers/init-ipc-main-handlers.d.ts +5 -3
  148. package/dist/src/main/is-auto-update-enabled.injectable.d.ts +4 -0
  149. package/dist/src/main/menu/application-menu-items.injectable.d.ts +7 -0
  150. package/dist/src/main/menu/menu.d.ts +4 -10
  151. package/dist/src/main/navigate-to-route/navigate-to-route.injectable.d.ts +3 -0
  152. package/dist/src/main/navigate-to-url/navigate-to-url.injectable.d.ts +3 -0
  153. package/dist/src/main/router/router.d.ts +0 -1
  154. package/dist/src/main/tray/tray.d.ts +1 -1
  155. package/dist/src/main/window-manager.d.ts +2 -1
  156. package/dist/src/main/window-manager.injectable.d.ts +4 -0
  157. package/dist/src/renderer/app-paths/get-value-from-registered-channel/register-ipc-channel-listener.injectable.d.ts +4 -0
  158. package/dist/src/renderer/components/+add-cluster/add-cluster-route-component.injectable.d.ts +14 -0
  159. package/dist/src/renderer/components/{+custom-resources/route.d.ts → +catalog/catalog-browse-tab.d.ts} +1 -1
  160. package/dist/src/renderer/components/+catalog/catalog-route-component.injectable.d.ts +10 -0
  161. package/dist/src/renderer/components/+catalog/catalog-route-parameters.injectable.d.ts +6 -0
  162. package/dist/src/renderer/components/+catalog/catalog.d.ts +1 -5
  163. package/dist/src/renderer/components/+catalog/hotbar-toggle-menu-item.d.ts +5 -3
  164. package/dist/src/renderer/components/+catalog/internal-category-columns.d.ts +0 -1
  165. package/dist/src/renderer/components/+catalog/name-category-column.injectable.d.ts +4 -0
  166. package/dist/src/renderer/components/+cluster/cluster-overview-route-component.injectable.d.ts +14 -0
  167. package/dist/src/renderer/components/+cluster/cluster-overview-sidebar-items.injectable.d.ts +4 -0
  168. package/dist/src/renderer/components/+config/config-sidebar-items.injectable.d.ts +5 -0
  169. package/dist/src/renderer/components/+config-autoscalers/horizontal-pod-auto-scalers-sidebar-items.injectable.d.ts +4 -0
  170. package/dist/src/renderer/components/+config-autoscalers/horizontal-pod-autoscalers-route-component.injectable.d.ts +15 -0
  171. package/dist/src/renderer/components/+config-autoscalers/hpa.d.ts +1 -5
  172. package/dist/src/renderer/components/+config-limit-ranges/limit-ranges-route-component.injectable.d.ts +15 -0
  173. package/dist/src/renderer/components/+config-limit-ranges/limit-ranges-sidebar-items.injectable.d.ts +11 -0
  174. package/dist/src/renderer/components/+config-limit-ranges/limit-ranges.d.ts +1 -5
  175. package/dist/src/renderer/components/+config-maps/config-maps-route-component.injectable.d.ts +15 -0
  176. package/dist/src/renderer/components/+config-maps/config-maps-sidebar-items.injectable.d.ts +11 -0
  177. package/dist/src/renderer/components/+config-maps/config-maps.d.ts +1 -5
  178. package/dist/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets-route-component.injectable.d.ts +15 -0
  179. package/dist/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets-sidebar-items.injectable.d.ts +11 -0
  180. package/dist/src/renderer/components/+config-resource-quotas/resource-quotas-route-component.injectable.d.ts +15 -0
  181. package/dist/src/renderer/components/+config-resource-quotas/resource-quotas-sidebar-items.injectable.d.ts +11 -0
  182. package/dist/src/renderer/components/+config-resource-quotas/resource-quotas.d.ts +1 -5
  183. package/dist/src/renderer/components/+config-secrets/secrets-route-component.injectable.d.ts +15 -0
  184. package/dist/src/renderer/components/+config-secrets/secrets-sidebar-items.injectable.d.ts +11 -0
  185. package/dist/src/renderer/components/+config-secrets/secrets.d.ts +1 -5
  186. package/dist/src/renderer/components/+custom-resources/crd-list-route-component.injectable.d.ts +15 -0
  187. package/dist/src/renderer/components/+custom-resources/crd-resources.d.ts +1 -10
  188. package/dist/src/renderer/components/+custom-resources/custom-resource-sidebar-items.injectable.d.ts +4 -0
  189. package/dist/src/renderer/components/+custom-resources/custom-resources-route-component.injectable.d.ts +10 -0
  190. package/dist/src/renderer/components/+custom-resources/custom-resources-route-parameters.injectable.d.ts +6 -0
  191. package/dist/src/renderer/components/+custom-resources/sidebar-items-for-definition-groups.injectable.d.ts +4 -0
  192. package/dist/src/renderer/components/+entity-settings/entity-settings-route-component.injectable.d.ts +10 -0
  193. package/dist/src/renderer/components/+entity-settings/entity-settings-route-parameters.injectable.d.ts +5 -0
  194. package/dist/src/renderer/components/+entity-settings/entity-settings.d.ts +1 -16
  195. package/dist/src/renderer/components/+events/events-route-component.injectable.d.ts +14 -0
  196. package/dist/src/renderer/components/+events/events-sidebar-items.injectable.d.ts +4 -0
  197. package/dist/src/renderer/components/+events/events.d.ts +1 -14
  198. package/dist/src/renderer/components/+extensions/extensions-route-component.injectable.d.ts +14 -0
  199. package/dist/src/renderer/components/+helm/helm-sidebar-items.injectable.d.ts +5 -0
  200. package/dist/src/renderer/components/+helm-charts/helm-charts-route-component.injectable.d.ts +10 -0
  201. package/dist/src/renderer/components/+helm-charts/helm-charts-route-parameters.injectable.d.ts +6 -0
  202. package/dist/src/renderer/components/+helm-charts/helm-charts-sidebar-items.injectable.d.ts +11 -0
  203. package/dist/src/renderer/components/+helm-charts/helm-charts.d.ts +2 -14
  204. package/dist/src/renderer/components/+helm-releases/helm-releases-route-component.injectable.d.ts +10 -0
  205. package/dist/src/renderer/components/+helm-releases/helm-releases-route-parameters.injectable.d.ts +6 -0
  206. package/dist/src/renderer/components/+helm-releases/helm-releases-sidebar-items.injectable.d.ts +11 -0
  207. package/dist/src/renderer/components/+helm-releases/releases.d.ts +1 -5
  208. package/dist/src/renderer/components/+namespaces/namespaces-route-component.injectable.d.ts +14 -0
  209. package/dist/src/renderer/components/+namespaces/namespaces-sidebar-items.injectable.d.ts +4 -0
  210. package/dist/src/renderer/components/+namespaces/route.d.ts +2 -6
  211. package/dist/src/renderer/components/+network/network-sidebar-items.injectable.d.ts +5 -0
  212. package/dist/src/renderer/components/+network-endpoints/endpoints-route-component.injectable.d.ts +15 -0
  213. package/dist/src/renderer/components/+network-endpoints/endpoints-sidebar-items.injectable.d.ts +11 -0
  214. package/dist/src/renderer/components/+network-endpoints/endpoints.d.ts +1 -5
  215. package/dist/src/renderer/components/+network-ingresses/ingresses-route-component.injectable.d.ts +15 -0
  216. package/dist/src/renderer/components/+network-ingresses/ingresses-sidebar-items.injectable.d.ts +11 -0
  217. package/dist/src/renderer/components/+network-ingresses/ingresses.d.ts +1 -5
  218. package/dist/src/renderer/components/+network-policies/network-policies-route-component.injectable.d.ts +15 -0
  219. package/dist/src/renderer/components/+network-policies/network-policies-sidebar-items.injectable.d.ts +11 -0
  220. package/dist/src/renderer/components/+network-policies/network-policies.d.ts +1 -5
  221. package/dist/src/renderer/components/+network-port-forwards/port-forwards-route-component.injectable.d.ts +10 -0
  222. package/dist/src/renderer/components/+network-port-forwards/port-forwards-route-parameters.injectable.d.ts +5 -0
  223. package/dist/src/renderer/components/+network-port-forwards/port-forwards-sidebar-items.injectable.d.ts +11 -0
  224. package/dist/src/renderer/components/+network-port-forwards/port-forwards.d.ts +1 -5
  225. package/dist/src/renderer/components/+network-services/services-route-component.injectable.d.ts +15 -0
  226. package/dist/src/renderer/components/+network-services/services-sidebar-items.injectable.d.ts +11 -0
  227. package/dist/src/renderer/components/+network-services/services.d.ts +1 -5
  228. package/dist/src/renderer/components/+nodes/nodes-route-component.injectable.d.ts +15 -0
  229. package/dist/src/renderer/components/+nodes/nodes-sidebar-items.injectable.d.ts +4 -0
  230. package/dist/src/renderer/components/+nodes/route.d.ts +2 -6
  231. package/dist/src/renderer/components/+pod-security-policies/pod-security-policies-route-component.injectable.d.ts +15 -0
  232. package/dist/src/renderer/components/+pod-security-policies/pod-security-policies-sidebar-items.injectable.d.ts +11 -0
  233. package/dist/src/renderer/components/+preferences/app-preferences-route-component.injectable.d.ts +14 -0
  234. package/dist/src/renderer/components/+preferences/close-preferences.injectable.d.ts +3 -0
  235. package/dist/src/renderer/components/+preferences/default-shell.injectable.d.ts +3 -0
  236. package/dist/src/renderer/components/+preferences/editor-preferences-route-component.injectable.d.ts +14 -0
  237. package/dist/src/renderer/components/+preferences/editor.d.ts +2 -1
  238. package/dist/src/renderer/components/+preferences/extension-preference-item-registrator.injectable.d.ts +4 -0
  239. package/dist/src/renderer/components/+preferences/extension-preference-items.injectable.d.ts +9 -0
  240. package/dist/src/renderer/components/+preferences/extension-preferences-route-component.injectable.d.ts +14 -0
  241. package/dist/src/renderer/components/+preferences/extension-settings.d.ts +3 -2
  242. package/dist/src/renderer/components/+preferences/extension-telemetry-preference-item-registrator.injectable.d.ts +4 -0
  243. package/dist/src/renderer/components/+preferences/kubeconfig-syncs.d.ts +4 -18
  244. package/dist/src/renderer/components/+preferences/kubernetes-preferences-route-component.injectable.d.ts +14 -0
  245. package/dist/src/renderer/components/+preferences/preferences-navigation/application-preferences-navigation-item.injectable.d.ts +10 -0
  246. package/dist/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.d.ts +10 -0
  247. package/dist/src/renderer/components/+preferences/preferences-navigation/extensions-preferences-navigation-item.injectable.d.ts +10 -0
  248. package/dist/src/renderer/components/+preferences/preferences-navigation/kubernetes-preferences-navigation-item.injectable.d.ts +10 -0
  249. package/dist/src/renderer/components/+preferences/preferences-navigation/navigate-to-preference-tab.injectable.d.ts +4 -0
  250. package/dist/src/renderer/components/+preferences/preferences-navigation/preference-navigation-items.injectable.d.ts +13 -0
  251. package/dist/src/renderer/components/+preferences/preferences-navigation/preferences-navigation.d.ts +2 -0
  252. package/dist/src/renderer/components/+preferences/preferences-navigation/proxy-preferences-navigation-item.injectable.d.ts +10 -0
  253. package/dist/src/renderer/components/+preferences/preferences-navigation/telemetry-preferences-navigation-item.injectable.d.ts +10 -0
  254. package/dist/src/renderer/components/+preferences/preferences-navigation/terminal-preferences-navigation-item.injectable.d.ts +10 -0
  255. package/dist/src/renderer/components/+preferences/preferences.d.ts +5 -1
  256. package/dist/src/renderer/components/+preferences/proxy-preferences-route-component.injectable.d.ts +14 -0
  257. package/dist/src/renderer/components/+preferences/proxy.d.ts +2 -1
  258. package/dist/src/renderer/components/+preferences/sentry-dns-url.injectable.d.ts +3 -0
  259. package/dist/src/renderer/components/+preferences/telemetry-preference-items.injectable.d.ts +9 -0
  260. package/dist/src/renderer/components/+preferences/telemetry-preferences-route-component.injectable.d.ts +14 -0
  261. package/dist/src/renderer/components/+preferences/terminal-preferences-route-component.injectable.d.ts +14 -0
  262. package/dist/src/renderer/components/+preferences/terminal.d.ts +2 -1
  263. package/dist/src/renderer/components/+storage/storage-sidebar-items.injectable.d.ts +5 -0
  264. package/dist/src/renderer/components/+storage-classes/storage-classes-route-component.injectable.d.ts +15 -0
  265. package/dist/src/renderer/components/+storage-classes/storage-classes-sidebar-items.injectable.d.ts +11 -0
  266. package/dist/src/renderer/components/+storage-classes/storage-classes.d.ts +1 -5
  267. package/dist/src/renderer/components/+storage-volume-claims/persistent-volume-claims-route-component.injectable.d.ts +15 -0
  268. package/dist/src/renderer/components/+storage-volume-claims/persistent-volume-claims-sidebar-items.injectable.d.ts +11 -0
  269. package/dist/src/renderer/components/+storage-volume-claims/volume-claims.d.ts +1 -5
  270. package/dist/src/renderer/components/+storage-volumes/persistent-volumes-route-component.injectable.d.ts +15 -0
  271. package/dist/src/renderer/components/+storage-volumes/persistent-volumes-sidebar-items.injectable.d.ts +11 -0
  272. package/dist/src/renderer/components/+storage-volumes/volumes.d.ts +1 -5
  273. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/cluster-role-bindings-route-component.injectable.d.ts +15 -0
  274. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/cluster-role-bindings-sidebar-items.injectable.d.ts +11 -0
  275. package/dist/src/renderer/components/+user-management/+cluster-role-bindings/view.d.ts +1 -5
  276. package/dist/src/renderer/components/+user-management/+cluster-roles/cluster-roles-route-component.injectable.d.ts +15 -0
  277. package/dist/src/renderer/components/+user-management/+cluster-roles/cluster-roles-sidebar-items.injectable.d.ts +11 -0
  278. package/dist/src/renderer/components/+user-management/+cluster-roles/view.d.ts +1 -5
  279. package/dist/src/renderer/components/+user-management/+role-bindings/role-bindings-route-component.injectable.d.ts +15 -0
  280. package/dist/src/renderer/components/+user-management/+role-bindings/role-bindings-sidebar-items.injectable.d.ts +11 -0
  281. package/dist/src/renderer/components/+user-management/+role-bindings/view.d.ts +1 -5
  282. package/dist/src/renderer/components/+user-management/+roles/roles-route-component.injectable.d.ts +15 -0
  283. package/dist/src/renderer/components/+user-management/+roles/roles-sidebar-items.injectable.d.ts +11 -0
  284. package/dist/src/renderer/components/+user-management/+roles/view.d.ts +1 -5
  285. package/dist/src/renderer/components/+user-management/+service-accounts/service-accounts-route-component.injectable.d.ts +15 -0
  286. package/dist/src/renderer/components/+user-management/+service-accounts/service-accounts-sidebar-items.injectable.d.ts +11 -0
  287. package/dist/src/renderer/components/+user-management/+service-accounts/view.d.ts +1 -5
  288. package/dist/src/renderer/components/+user-management/user-management-sidebar-items.injectable.d.ts +5 -0
  289. package/dist/src/renderer/components/+welcome/welcome-menu-items/get-welcome-menu-items.d.ts +3 -1
  290. package/dist/src/renderer/components/+welcome/welcome-route-component.injectable.d.ts +14 -0
  291. package/dist/src/renderer/components/+workloads/workloads-sidebar-items.injectable.d.ts +5 -0
  292. package/dist/src/renderer/components/+workloads-cronjobs/cron-jobs-route-component.injectable.d.ts +15 -0
  293. package/dist/src/renderer/components/+workloads-cronjobs/cron-jobs-sidebar-items.injectable.d.ts +11 -0
  294. package/dist/src/renderer/components/+workloads-cronjobs/cron-jobs-store.injectable.d.ts +3 -0
  295. package/dist/src/renderer/components/+workloads-cronjobs/cronjobs.d.ts +1 -5
  296. package/dist/src/renderer/components/+workloads-daemonsets/daemonsets-route-component.injectable.d.ts +15 -0
  297. package/dist/src/renderer/components/+workloads-daemonsets/daemonsets-sidebar-items.injectable.d.ts +11 -0
  298. package/dist/src/renderer/components/+workloads-daemonsets/daemonsets-store.injectable.d.ts +3 -0
  299. package/dist/src/renderer/components/+workloads-daemonsets/daemonsets.d.ts +1 -5
  300. package/dist/src/renderer/components/+workloads-deployments/deployments-route-component.injectable.d.ts +15 -0
  301. package/dist/src/renderer/components/+workloads-deployments/deployments-sidebar-items.injectable.d.ts +11 -0
  302. package/dist/src/renderer/components/+workloads-deployments/deployments-store.injectable.d.ts +3 -0
  303. package/dist/src/renderer/components/+workloads-deployments/deployments.d.ts +1 -5
  304. package/dist/src/renderer/components/+workloads-jobs/jobs-route-component.injectable.d.ts +15 -0
  305. package/dist/src/renderer/components/+workloads-jobs/jobs-sidebar-items.injectable.d.ts +11 -0
  306. package/dist/src/renderer/components/+workloads-jobs/jobs-store.injectable.d.ts +3 -0
  307. package/dist/src/renderer/components/+workloads-jobs/jobs.d.ts +1 -5
  308. package/dist/src/renderer/components/+workloads-overview/overview.d.ts +1 -5
  309. package/dist/src/renderer/components/+workloads-overview/workloads/implementations/cron-jobs-workload.injectable.d.ts +13 -0
  310. package/dist/src/renderer/components/+workloads-overview/workloads/implementations/daemonsets-workload.injectable.d.ts +14 -0
  311. package/dist/src/renderer/components/+workloads-overview/workloads/implementations/deployments-workload.injectable.d.ts +14 -0
  312. package/dist/src/renderer/components/+workloads-overview/workloads/implementations/jobs-workload.injectable.d.ts +15 -0
  313. package/dist/src/renderer/components/+workloads-overview/workloads/implementations/pods-workload.injectable.d.ts +11 -0
  314. package/dist/src/renderer/components/+workloads-overview/workloads/implementations/replicasets-workload.injectable.d.ts +14 -0
  315. package/dist/src/renderer/components/+workloads-overview/workloads/implementations/statefulsets-workload.injectable.d.ts +14 -0
  316. package/dist/src/renderer/components/+workloads-overview/workloads/workload-injection-token.d.ts +11 -0
  317. package/dist/src/renderer/components/+workloads-overview/workloads/workloads.injectable.d.ts +4 -0
  318. package/dist/src/renderer/components/+workloads-overview/workloads-overview-route-component.injectable.d.ts +14 -0
  319. package/dist/src/renderer/components/+workloads-overview/workloads-overview-sidebar-items.injectable.d.ts +11 -0
  320. package/dist/src/renderer/components/+workloads-pods/pods-route-component.injectable.d.ts +15 -0
  321. package/dist/src/renderer/components/+workloads-pods/pods-sidebar-items.injectable.d.ts +11 -0
  322. package/dist/src/renderer/components/+workloads-pods/pods-store.injectable.d.ts +3 -0
  323. package/dist/src/renderer/components/+workloads-pods/pods.d.ts +1 -5
  324. package/dist/src/renderer/components/+workloads-replicasets/replicasets-route-component.injectable.d.ts +15 -0
  325. package/dist/src/renderer/components/+workloads-replicasets/replicasets-sidebar-items.injectable.d.ts +11 -0
  326. package/dist/src/renderer/components/+workloads-replicasets/replicasets-store.injectable.d.ts +3 -0
  327. package/dist/src/renderer/components/+workloads-replicasets/replicasets.d.ts +1 -5
  328. package/dist/src/renderer/components/+workloads-statefulsets/statefulsets-route-component.injectable.d.ts +15 -0
  329. package/dist/src/renderer/components/+workloads-statefulsets/statefulsets-sidebar-items.injectable.d.ts +11 -0
  330. package/dist/src/renderer/components/+workloads-statefulsets/statefulsets-store.injectable.d.ts +3 -0
  331. package/dist/src/renderer/components/+workloads-statefulsets/statefulsets.d.ts +1 -5
  332. package/dist/src/renderer/components/cluster-manager/cluster-status.d.ts +1 -16
  333. package/dist/src/renderer/components/cluster-manager/cluster-view-route-component.injectable.d.ts +14 -0
  334. package/dist/src/renderer/components/cluster-manager/cluster-view-route-parameters.injectable.d.ts +5 -0
  335. package/dist/src/renderer/components/cluster-manager/cluster-view.d.ts +1 -17
  336. package/dist/src/renderer/components/command-palette/command-container.d.ts +1 -5
  337. package/dist/src/renderer/components/delete-cluster-dialog/delete-cluster-dialog-model/delete-cluster-dialog-model.d.ts +17 -0
  338. package/dist/src/renderer/components/delete-cluster-dialog/delete-cluster-dialog-model/delete-cluster-dialog-model.injectable.d.ts +4 -0
  339. package/dist/src/renderer/components/delete-cluster-dialog/delete-cluster-dialog.d.ts +1 -29
  340. package/dist/src/renderer/components/hotbar/hotbar-menu.d.ts +1 -16
  341. package/dist/src/renderer/components/hotbar/hotbar-selector.d.ts +1 -1
  342. package/dist/src/renderer/components/layout/extension-sidebar-item-registrator.injectable.d.ts +4 -0
  343. package/dist/src/renderer/components/layout/setting-layout.d.ts +3 -0
  344. package/dist/src/renderer/components/layout/siblings-in-tab-layout.d.ts +6 -0
  345. package/dist/src/renderer/components/layout/sidebar-cluster.d.ts +5 -2
  346. package/dist/src/renderer/components/layout/sidebar-item.d.ts +2 -16
  347. package/dist/src/renderer/components/layout/sidebar-items.injectable.d.ts +23 -0
  348. package/dist/src/renderer/components/layout/sidebar.d.ts +1 -12
  349. package/dist/src/renderer/components/layout/tab-layout-2.d.ts +12 -0
  350. package/dist/src/renderer/components/layout/top-bar/top-bar.d.ts +1 -3
  351. package/dist/src/renderer/components/select/select.d.ts +2 -1
  352. package/dist/src/renderer/components/switch/switcher.d.ts +1 -1
  353. package/dist/src/renderer/components/tabs/tabs.d.ts +1 -1
  354. package/dist/src/renderer/components/test-utils/get-application-builder.d.ts +34 -0
  355. package/dist/src/renderer/components/test-utils/get-renderer-extension-fake.d.ts +8 -0
  356. package/dist/src/renderer/frames/cluster-frame/start-url.injectable.d.ts +3 -0
  357. package/dist/src/renderer/frames/root-frame/init-root-frame/init-root-frame.d.ts +2 -1
  358. package/dist/src/renderer/frames/root-frame/root-frame.d.ts +6 -5
  359. package/dist/src/renderer/initializers/add-sync-entries.injectable.d.ts +3 -0
  360. package/dist/src/renderer/initializers/catalog-category-registry.d.ts +6 -1
  361. package/dist/src/renderer/initializers/catalog.d.ts +3 -1
  362. package/dist/src/renderer/ipc/list-namespaces-forbidden-handler.injectable.d.ts +4 -0
  363. package/dist/src/renderer/ipc/register-ipc-listeners.injectable.d.ts +3 -0
  364. package/dist/src/renderer/ipc/register-listeners.d.ts +7 -1
  365. package/dist/src/renderer/ipc-channel-listeners/focus-window.injectable.d.ts +3 -0
  366. package/dist/src/renderer/ipc-channel-listeners/ipc-channel-listener-injection-token.d.ts +7 -0
  367. package/dist/src/renderer/ipc-channel-listeners/navigation-listener.injectable.d.ts +6 -0
  368. package/dist/src/renderer/ipc-channel-listeners/register-ipc-channel-listeners.injectable.d.ts +3 -0
  369. package/dist/src/renderer/navigation/helpers.d.ts +0 -2
  370. package/dist/src/renderer/navigation/matched-cluster-id.injectable.d.ts +3 -0
  371. package/dist/src/renderer/navigation/page-param.d.ts +1 -3
  372. package/dist/src/renderer/port-forward/about-port-forwarding.injectable.d.ts +3 -0
  373. package/dist/src/renderer/port-forward/notify-error-port-forwarding.injectable.d.ts +3 -0
  374. package/dist/src/renderer/port-forward/port-forward-notify.d.ts +10 -2
  375. package/dist/src/renderer/port-forward/port-forward-store/port-forward-store.d.ts +1 -0
  376. package/dist/src/renderer/protocol-handler/bind-protocol-add-route-handlers/bind-protocol-add-route-handlers.d.ts +10 -1
  377. package/dist/src/renderer/protocol-handler/bind-protocol-add-route-handlers/navigate-to-preference-tab-id.injectable.d.ts +3 -0
  378. package/dist/src/renderer/routes/all-routes.injectable.d.ts +4 -0
  379. package/dist/src/renderer/routes/current-path-parameters.injectable.d.ts +3 -0
  380. package/dist/src/renderer/routes/current-path.injectable.d.ts +3 -0
  381. package/dist/src/renderer/routes/current-route-component.injectable.d.ts +4 -0
  382. package/dist/src/renderer/routes/current-route.injectable.d.ts +3 -0
  383. package/dist/src/renderer/routes/currently-in-cluster-frame.injectable.d.ts +3 -0
  384. package/dist/src/renderer/routes/extension-page-parameters.injectable.d.ts +10 -0
  385. package/dist/src/renderer/routes/extension-route-registrator.injectable.d.ts +4 -0
  386. package/dist/src/renderer/routes/get-extension-route-id.d.ts +5 -0
  387. package/dist/src/renderer/routes/get-extension-route-path.d.ts +2 -0
  388. package/dist/src/renderer/routes/matching-route.injectable.d.ts +7 -0
  389. package/dist/src/renderer/routes/navigate-to-route.injectable.d.ts +3 -0
  390. package/dist/src/renderer/routes/navigate-to-url.injectable.d.ts +3 -0
  391. package/dist/src/renderer/routes/query-parameters.injectable.d.ts +3 -0
  392. package/dist/src/renderer/routes/route-is-active.injectable.d.ts +4 -0
  393. package/dist/src/renderer/routes/route-path-parameters.injectable.d.ts +4 -0
  394. package/dist/src/renderer/routes/route-specific-component-injection-token.d.ts +6 -0
  395. package/dist/src/renderer/routes/routes.injectable.d.ts +3 -0
  396. package/dist/src/renderer/routes/sibling-tabs.injectable.d.ts +4 -0
  397. package/dist/src/renderer/theme-store.injectable.d.ts +4 -0
  398. package/dist/src/renderer/utils/create-storage/create-storage.d.ts +12 -3
  399. package/dist/src/test-utils/override-fs-with-fakes.d.ts +6 -0
  400. package/package.json +1 -1
  401. package/dist/src/common/routes/add-cluster.d.ts +0 -7
  402. package/dist/src/common/routes/catalog.d.ts +0 -13
  403. package/dist/src/common/routes/cluster-view.d.ts +0 -10
  404. package/dist/src/common/routes/cluster.d.ts +0 -7
  405. package/dist/src/common/routes/config-maps.d.ts +0 -9
  406. package/dist/src/common/routes/config.d.ts +0 -8
  407. package/dist/src/common/routes/crd.d.ts +0 -17
  408. package/dist/src/common/routes/endpoints.d.ts +0 -9
  409. package/dist/src/common/routes/entity-settings.d.ts +0 -10
  410. package/dist/src/common/routes/events.d.ts +0 -7
  411. package/dist/src/common/routes/extensions.d.ts +0 -7
  412. package/dist/src/common/routes/helm-charts.d.ts +0 -11
  413. package/dist/src/common/routes/helm.d.ts +0 -7
  414. package/dist/src/common/routes/hpa.d.ts +0 -9
  415. package/dist/src/common/routes/index.d.ts +0 -38
  416. package/dist/src/common/routes/ingresses.d.ts +0 -9
  417. package/dist/src/common/routes/limit-ranges.d.ts +0 -9
  418. package/dist/src/common/routes/namespaces.d.ts +0 -9
  419. package/dist/src/common/routes/network-policies.d.ts +0 -9
  420. package/dist/src/common/routes/network.d.ts +0 -8
  421. package/dist/src/common/routes/nodes.d.ts +0 -9
  422. package/dist/src/common/routes/pod-disruption-budgets.d.ts +0 -9
  423. package/dist/src/common/routes/port-forwards.d.ts +0 -10
  424. package/dist/src/common/routes/preferences.d.ts +0 -21
  425. package/dist/src/common/routes/releases.d.ts +0 -11
  426. package/dist/src/common/routes/resource-quotas.d.ts +0 -9
  427. package/dist/src/common/routes/secrets.d.ts +0 -9
  428. package/dist/src/common/routes/services.d.ts +0 -9
  429. package/dist/src/common/routes/storage-classes.d.ts +0 -9
  430. package/dist/src/common/routes/storage.d.ts +0 -8
  431. package/dist/src/common/routes/user-management.d.ts +0 -30
  432. package/dist/src/common/routes/volume-claims.d.ts +0 -9
  433. package/dist/src/common/routes/volumes.d.ts +0 -9
  434. package/dist/src/common/routes/welcome.d.ts +0 -7
  435. package/dist/src/common/routes/workloads.d.ts +0 -42
  436. package/dist/src/main/catalog-sources/general.d.ts +0 -7
  437. package/dist/src/renderer/components/+cluster/sidebar-item.d.ts +0 -4
  438. package/dist/src/renderer/components/+config/route-tabs.injectable.d.ts +0 -4
  439. package/dist/src/renderer/components/+config/route.d.ts +0 -8
  440. package/dist/src/renderer/components/+config/sidebar-item.d.ts +0 -4
  441. package/dist/src/renderer/components/+custom-resources/grouped-custom-resources.injectable.d.ts +0 -5
  442. package/dist/src/renderer/components/+custom-resources/route-tabs.injectable.d.ts +0 -11
  443. package/dist/src/renderer/components/+custom-resources/sidebar-item.d.ts +0 -8
  444. package/dist/src/renderer/components/+events/sidebar-item.d.ts +0 -4
  445. package/dist/src/renderer/components/+helm/route-tabs.injectable.d.ts +0 -4
  446. package/dist/src/renderer/components/+helm/sidebar-item.d.ts +0 -8
  447. package/dist/src/renderer/components/+helm-releases/release-details/release-route-parameters.injectable.d.ts +0 -4
  448. package/dist/src/renderer/components/+namespaces/sidebar-item.d.ts +0 -4
  449. package/dist/src/renderer/components/+network/route-tabs.injectable.d.ts +0 -4
  450. package/dist/src/renderer/components/+network/route.d.ts +0 -9
  451. package/dist/src/renderer/components/+network/sidebar-item.d.ts +0 -8
  452. package/dist/src/renderer/components/+nodes/sidebar-item.d.ts +0 -4
  453. package/dist/src/renderer/components/+storage/route-tabs.injectable.d.ts +0 -4
  454. package/dist/src/renderer/components/+storage/route.d.ts +0 -9
  455. package/dist/src/renderer/components/+storage/sidebar-item.d.ts +0 -4
  456. package/dist/src/renderer/components/+user-management/route-tabs.injectable.d.ts +0 -4
  457. package/dist/src/renderer/components/+user-management/sidebar-item.d.ts +0 -4
  458. package/dist/src/renderer/components/+workloads/route-tabs.injectable.d.ts +0 -4
  459. package/dist/src/renderer/components/+workloads/route.d.ts +0 -9
  460. package/dist/src/renderer/components/+workloads/sidebar-item.d.ts +0 -8
  461. package/dist/src/renderer/components/+workloads-overview/workloads.d.ts +0 -18
  462. package/dist/src/renderer/components/+workloads-overview/workloads.injectable.d.ts +0 -10
  463. package/dist/src/renderer/components/layout/tab-routes-sidebar-items.d.ts +0 -13
@@ -7372,7 +7372,7 @@ eval("\nconst {constants: BufferConstants} = __webpack_require__(/*! buffer */ \
7372
7372
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7373
7373
 
7374
7374
  "use strict";
7375
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/deprecatedPropType */ \"./node_modules/@material-ui/core/esm/utils/deprecatedPropType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _TouchRipple__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TouchRipple */ \"./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Pseudo-class applied to the root element if keyboard focused. */\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nvar ButtonBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ButtonBase(props, ref) {\n var action = props.action,\n buttonRefProp = props.buttonRef,\n _props$centerRipple = props.centerRipple,\n centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n component = _props$component === void 0 ? 'button' : _props$component,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableRipple = props.disableRipple,\n disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple,\n _props$disableTouchRi = props.disableTouchRipple,\n disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi,\n _props$focusRipple = props.focusRipple,\n focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple,\n focusVisibleClassName = props.focusVisibleClassName,\n onBlur = props.onBlur,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onFocusVisible = props.onFocusVisible,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onMouseDown = props.onMouseDown,\n onMouseLeave = props.onMouseLeave,\n onMouseUp = props.onMouseUp,\n onTouchEnd = props.onTouchEnd,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onDragLeave = props.onDragLeave,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n TouchRippleProps = props.TouchRippleProps,\n _props$type = props.type,\n type = _props$type === void 0 ? 'button' : _props$type,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onClick\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"onDragLeave\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n\n var buttonRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n function getButtonNode() {\n // #StrictMode ready\n return react_dom__WEBPACK_IMPORTED_MODULE_4__.findDOMNode(buttonRef.current);\n }\n\n var rippleRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n focusVisible = _React$useState[0],\n setFocusVisible = _React$useState[1];\n\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(action, function () {\n return {\n focusVisible: function focusVisible() {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n };\n }, []);\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (focusVisible && focusRipple && !disableRipple) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible]);\n\n function useRippleHandler(rippleAction, eventCallback) {\n var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple;\n return (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n if (eventCallback) {\n eventCallback(event);\n }\n\n var ignore = skipRippleAction;\n\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n\n return true;\n });\n }\n\n var handleMouseDown = useRippleHandler('start', onMouseDown);\n var handleDragLeave = useRippleHandler('stop', onDragLeave);\n var handleMouseUp = useRippleHandler('stop', onMouseUp);\n var handleMouseLeave = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n event.preventDefault();\n }\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n var handleTouchStart = useRippleHandler('start', onTouchStart);\n var handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n var handleTouchMove = useRippleHandler('stop', onTouchMove);\n var handleBlur = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n onBlurVisible(event);\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n\n if (isFocusVisible(event)) {\n setFocusVisible(true);\n\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n\n if (onFocus) {\n onFocus(event);\n }\n });\n\n var isNonNativeButton = function isNonNativeButton() {\n var button = getButtonNode();\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n /**\n * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n\n\n var keydownRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false);\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.start(event);\n });\n }\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n\n if (onClick) {\n onClick(event);\n }\n }\n });\n var handleKeyUp = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/s/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.pulsate(event);\n });\n }\n\n if (onKeyUp) {\n onKeyUp(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n var ComponentProp = component;\n\n if (ComponentProp === 'button' && other.href) {\n ComponentProp = 'a';\n }\n\n var buttonProps = {};\n\n if (ComponentProp === 'button') {\n buttonProps.type = type;\n buttonProps.disabled = disabled;\n } else {\n if (ComponentProp !== 'a' || !other.href) {\n buttonProps.role = 'button';\n }\n\n buttonProps['aria-disabled'] = disabled;\n }\n\n var handleUserRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(buttonRefProp, ref);\n var handleOwnRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(focusVisibleRef, buttonRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(handleUserRef, handleOwnRef);\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n mountedState = _React$useState2[0],\n setMountedState = _React$useState2[1];\n\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n setMountedState(true);\n }, []);\n var enableTouchRipple = mountedState && !disableRipple && !disabled;\n\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['Material-UI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(ComponentProp, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, className, focusVisible && [classes.focusVisible, focusVisibleClassName], disabled && classes.disabled),\n onBlur: handleBlur,\n onClick: onClick,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex\n }, buttonProps, other), children, enableTouchRipple ?\n /*#__PURE__*/\n\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n react__WEBPACK_IMPORTED_MODULE_2__.createElement(_TouchRipple__WEBPACK_IMPORTED_MODULE_9__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: rippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null);\n});\n true ? ButtonBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: _material_ui_utils__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n\n /**\n * @ignore\n *\n * Use that prop to pass a ref to the native button component.\n * @deprecated Use `ref` instead.\n */\n buttonRef: (0,_utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(_material_ui_utils__WEBPACK_IMPORTED_MODULE_10__[\"default\"], 'Use `ref` instead.'),\n\n /**\n * If `true`, the ripples will be centered.\n * They won't start at the cursor interaction position.\n */\n centerRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n\n /**\n * If `true`, the base button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `focusVisibleClassName`.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the touch ripple effect will be disabled.\n */\n disableTouchRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n */\n focusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/master/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * @ignore\n */\n href: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onDragLeave: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onKeyUp: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onMouseLeave: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onMouseUp: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)]),\n\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n type: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['button', 'reset', 'submit']), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(styles, {\n name: 'MuiButtonBase'\n})(ButtonBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js?");
7375
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/deprecatedPropType */ \"./node_modules/@material-ui/core/esm/utils/deprecatedPropType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _TouchRipple__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./TouchRipple */ \"./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Pseudo-class applied to the root element if keyboard focused. */\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nvar ButtonBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ButtonBase(props, ref) {\n var action = props.action,\n buttonRefProp = props.buttonRef,\n _props$centerRipple = props.centerRipple,\n centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n component = _props$component === void 0 ? 'button' : _props$component,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableRipple = props.disableRipple,\n disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple,\n _props$disableTouchRi = props.disableTouchRipple,\n disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi,\n _props$focusRipple = props.focusRipple,\n focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple,\n focusVisibleClassName = props.focusVisibleClassName,\n onBlur = props.onBlur,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onFocusVisible = props.onFocusVisible,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onMouseDown = props.onMouseDown,\n onMouseLeave = props.onMouseLeave,\n onMouseUp = props.onMouseUp,\n onTouchEnd = props.onTouchEnd,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onDragLeave = props.onDragLeave,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n TouchRippleProps = props.TouchRippleProps,\n _props$type = props.type,\n type = _props$type === void 0 ? 'button' : _props$type,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onClick\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"onDragLeave\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n\n var buttonRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n function getButtonNode() {\n // #StrictMode ready\n return react_dom__WEBPACK_IMPORTED_MODULE_3__.findDOMNode(buttonRef.current);\n }\n\n var rippleRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n focusVisible = _React$useState[0],\n setFocusVisible = _React$useState[1];\n\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(action, function () {\n return {\n focusVisible: function focusVisible() {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n };\n }, []);\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (focusVisible && focusRipple && !disableRipple) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible]);\n\n function useRippleHandler(rippleAction, eventCallback) {\n var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple;\n return (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n if (eventCallback) {\n eventCallback(event);\n }\n\n var ignore = skipRippleAction;\n\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n\n return true;\n });\n }\n\n var handleMouseDown = useRippleHandler('start', onMouseDown);\n var handleDragLeave = useRippleHandler('stop', onDragLeave);\n var handleMouseUp = useRippleHandler('stop', onMouseUp);\n var handleMouseLeave = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n event.preventDefault();\n }\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n var handleTouchStart = useRippleHandler('start', onTouchStart);\n var handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n var handleTouchMove = useRippleHandler('stop', onTouchMove);\n var handleBlur = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n onBlurVisible(event);\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n\n if (isFocusVisible(event)) {\n setFocusVisible(true);\n\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n\n if (onFocus) {\n onFocus(event);\n }\n });\n\n var isNonNativeButton = function isNonNativeButton() {\n var button = getButtonNode();\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n /**\n * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n\n\n var keydownRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false);\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.start(event);\n });\n }\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n\n if (onClick) {\n onClick(event);\n }\n }\n });\n var handleKeyUp = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/s/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.pulsate(event);\n });\n }\n\n if (onKeyUp) {\n onKeyUp(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n var ComponentProp = component;\n\n if (ComponentProp === 'button' && other.href) {\n ComponentProp = 'a';\n }\n\n var buttonProps = {};\n\n if (ComponentProp === 'button') {\n buttonProps.type = type;\n buttonProps.disabled = disabled;\n } else {\n if (ComponentProp !== 'a' || !other.href) {\n buttonProps.role = 'button';\n }\n\n buttonProps['aria-disabled'] = disabled;\n }\n\n var handleUserRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(buttonRefProp, ref);\n var handleOwnRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(focusVisibleRef, buttonRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(handleUserRef, handleOwnRef);\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n mountedState = _React$useState2[0],\n setMountedState = _React$useState2[1];\n\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n setMountedState(true);\n }, []);\n var enableTouchRipple = mountedState && !disableRipple && !disabled;\n\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['Material-UI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(ComponentProp, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, focusVisible && [classes.focusVisible, focusVisibleClassName], disabled && classes.disabled),\n onBlur: handleBlur,\n onClick: onClick,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex\n }, buttonProps, other), children, enableTouchRipple ?\n /*#__PURE__*/\n\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n react__WEBPACK_IMPORTED_MODULE_2__.createElement(_TouchRipple__WEBPACK_IMPORTED_MODULE_8__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: rippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null);\n});\n true ? ButtonBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n\n /**\n * @ignore\n *\n * Use that prop to pass a ref to the native button component.\n * @deprecated Use `ref` instead.\n */\n buttonRef: (0,_utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(_material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"], 'Use `ref` instead.'),\n\n /**\n * If `true`, the ripples will be centered.\n * They won't start at the cursor interaction position.\n */\n centerRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n\n /**\n * If `true`, the base button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `focusVisibleClassName`.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * If `true`, the touch ripple effect will be disabled.\n */\n disableTouchRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n */\n focusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/master/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n\n /**\n * @ignore\n */\n href: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onDragLeave: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onKeyUp: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onMouseLeave: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onMouseUp: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_11___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string)]),\n\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object),\n\n /**\n * @ignore\n */\n type: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOf(['button', 'reset', 'submit']), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(styles, {\n name: 'MuiButtonBase'\n})(ButtonBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js?");
7376
7376
 
7377
7377
  /***/ }),
7378
7378
 
@@ -7383,7 +7383,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7383
7383
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7384
7384
 
7385
7385
  "use strict";
7386
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n\n\n\n\nvar useEnhancedEffect = typeof window === 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__.useEffect : react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect;\n/**\n * @ignore - internal component.\n */\n\nfunction Ripple(props) {\n var classes = props.classes,\n _props$pulsate = props.pulsate,\n pulsate = _props$pulsate === void 0 ? false : _props$pulsate,\n rippleX = props.rippleX,\n rippleY = props.rippleY,\n rippleSize = props.rippleSize,\n inProp = props.in,\n _props$onExited = props.onExited,\n onExited = _props$onExited === void 0 ? function () {} : _props$onExited,\n timeout = props.timeout;\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false),\n leaving = _React$useState[0],\n setLeaving = _React$useState[1];\n\n var rippleClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n var handleExited = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(onExited); // Ripple is used for user feedback (e.g. click or press) so we want to apply styles with the highest priority\n\n useEnhancedEffect(function () {\n if (!inProp) {\n // react-transition-group#onExit\n setLeaving(true); // react-transition-group#onExited\n\n var timeoutId = setTimeout(handleExited, timeout);\n return function () {\n clearTimeout(timeoutId);\n };\n }\n\n return undefined;\n }, [handleExited, inProp, timeout]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: childClassName\n }));\n}\n\n true ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object.isRequired),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n in: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),\n\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),\n\n /**\n * Diameter of the ripple.\n */\n rippleSize: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),\n\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),\n\n /**\n * Vertical position of the ripple center.\n */\n rippleY: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),\n\n /**\n * exit delay\n */\n timeout: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number.isRequired)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Ripple);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js?");
7386
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n\n\n\n\nvar useEnhancedEffect = typeof window === 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__.useEffect : react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect;\n/**\n * @ignore - internal component.\n */\n\nfunction Ripple(props) {\n var classes = props.classes,\n _props$pulsate = props.pulsate,\n pulsate = _props$pulsate === void 0 ? false : _props$pulsate,\n rippleX = props.rippleX,\n rippleY = props.rippleY,\n rippleSize = props.rippleSize,\n inProp = props.in,\n _props$onExited = props.onExited,\n onExited = _props$onExited === void 0 ? function () {} : _props$onExited,\n timeout = props.timeout;\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false),\n leaving = _React$useState[0],\n setLeaving = _React$useState[1];\n\n var rippleClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n var handleExited = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(onExited); // Ripple is used for user feedback (e.g. click or press) so we want to apply styles with the highest priority\n\n useEnhancedEffect(function () {\n if (!inProp) {\n // react-transition-group#onExit\n setLeaving(true); // react-transition-group#onExited\n\n var timeoutId = setTimeout(handleExited, timeout);\n return function () {\n clearTimeout(timeoutId);\n };\n }\n\n return undefined;\n }, [handleExited, inProp, timeout]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: childClassName\n }));\n}\n\n true ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n in: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Diameter of the ripple.\n */\n rippleSize: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n\n /**\n * Vertical position of the ripple center.\n */\n rippleY: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n\n /**\n * exit delay\n */\n timeout: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number.isRequired)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Ripple);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js?");
7387
7387
 
7388
7388
  /***/ }),
7389
7389
 
@@ -7394,7 +7394,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7394
7394
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7395
7395
 
7396
7396
  "use strict";
7397
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DELAY_RIPPLE\": () => (/* binding */ DELAY_RIPPLE),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/esm/TransitionGroup.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Ripple__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Ripple */ \"./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js\");\n\n\n\n\n\n\n\n\n\nvar DURATION = 550;\nvar DELAY_RIPPLE = 80;\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n },\n\n /* Styles applied to the internal `Ripple` components `ripple` class. */\n ripple: {\n opacity: 0,\n position: 'absolute'\n },\n\n /* Styles applied to the internal `Ripple` components `rippleVisible` class. */\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"$enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `ripplePulsate` class. */\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n\n /* Styles applied to the internal `Ripple` components `child` class. */\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the internal `Ripple` components `childLeaving` class. */\n childLeaving: {\n opacity: 0,\n animation: \"$exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `childPulsate` class. */\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"$pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\n\nvar TouchRipple = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function TouchRipple(props, ref) {\n var _props$center = props.center,\n centerProp = _props$center === void 0 ? false : _props$center,\n classes = props.classes,\n className = props.className,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"center\", \"classes\", \"className\"]);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_3__.useState([]),\n ripples = _React$useState[0],\n setRipples = _React$useState[1];\n\n var nextKey = react__WEBPACK_IMPORTED_MODULE_3__.useRef(0);\n var rippleCallback = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]); // Used to filter out mouse emulated events on mobile.\n\n var ignoringMouseDown = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n\n var startTimer = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null); // This is the hook called once the previous timeout is ready.\n\n var startTimerCommit = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n var container = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n return function () {\n clearTimeout(startTimer.current);\n };\n }, []);\n var startCommit = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n setRipples(function (oldRipples) {\n return [].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(oldRipples), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_Ripple__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n key: nextKey.current,\n classes: classes,\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n });\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n var start = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? centerProp || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n\n if (event.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n\n if (event.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n\n var element = fakeElement ? null : container.current;\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var _ref = event.touches ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n\n if (event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = function () {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Delay the execution of the ripple effect.\n\n\n startTimer.current = setTimeout(function () {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n }\n } else {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }, [centerProp, startCommit]);\n var pulsate = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n start({}, {\n pulsate: true\n });\n }, [start]);\n var stop = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (event, cb) {\n clearTimeout(startTimer.current); // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && startTimerCommit.current) {\n event.persist();\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.current = setTimeout(function () {\n stop(event, cb);\n });\n return;\n }\n\n startTimerCommit.current = null;\n setRipples(function (oldRipples) {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, []);\n react__WEBPACK_IMPORTED_MODULE_3__.useImperativeHandle(ref, function () {\n return {\n pulsate: pulsate,\n start: start,\n stop: stop\n };\n }, [pulsate, start, stop]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"span\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, className),\n ref: container\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react_transition_group__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n component: null,\n exit: true\n }, ripples));\n});\n true ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.memo(TouchRipple)));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js?");
7397
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DELAY_RIPPLE\": () => (/* binding */ DELAY_RIPPLE),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/esm/TransitionGroup.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Ripple__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Ripple */ \"./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js\");\n\n\n\n\n\n\n\n\n\nvar DURATION = 550;\nvar DELAY_RIPPLE = 80;\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n },\n\n /* Styles applied to the internal `Ripple` components `ripple` class. */\n ripple: {\n opacity: 0,\n position: 'absolute'\n },\n\n /* Styles applied to the internal `Ripple` components `rippleVisible` class. */\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"$enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `ripplePulsate` class. */\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n\n /* Styles applied to the internal `Ripple` components `child` class. */\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the internal `Ripple` components `childLeaving` class. */\n childLeaving: {\n opacity: 0,\n animation: \"$exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `childPulsate` class. */\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"$pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\n\nvar TouchRipple = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function TouchRipple(props, ref) {\n var _props$center = props.center,\n centerProp = _props$center === void 0 ? false : _props$center,\n classes = props.classes,\n className = props.className,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"center\", \"classes\", \"className\"]);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_3__.useState([]),\n ripples = _React$useState[0],\n setRipples = _React$useState[1];\n\n var nextKey = react__WEBPACK_IMPORTED_MODULE_3__.useRef(0);\n var rippleCallback = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]); // Used to filter out mouse emulated events on mobile.\n\n var ignoringMouseDown = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n\n var startTimer = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null); // This is the hook called once the previous timeout is ready.\n\n var startTimerCommit = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n var container = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n return function () {\n clearTimeout(startTimer.current);\n };\n }, []);\n var startCommit = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n setRipples(function (oldRipples) {\n return [].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(oldRipples), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_Ripple__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n key: nextKey.current,\n classes: classes,\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n });\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n var start = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? centerProp || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n\n if (event.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n\n if (event.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n\n var element = fakeElement ? null : container.current;\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var _ref = event.touches ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n\n if (event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = function () {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Delay the execution of the ripple effect.\n\n\n startTimer.current = setTimeout(function () {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n }\n } else {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }, [centerProp, startCommit]);\n var pulsate = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n start({}, {\n pulsate: true\n });\n }, [start]);\n var stop = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (event, cb) {\n clearTimeout(startTimer.current); // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && startTimerCommit.current) {\n event.persist();\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.current = setTimeout(function () {\n stop(event, cb);\n });\n return;\n }\n\n startTimerCommit.current = null;\n setRipples(function (oldRipples) {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, []);\n react__WEBPACK_IMPORTED_MODULE_3__.useImperativeHandle(ref, function () {\n return {\n pulsate: pulsate,\n start: start,\n stop: stop\n };\n }, [pulsate, start, stop]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"span\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className),\n ref: container\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react_transition_group__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n component: null,\n exit: true\n }, ripples));\n});\n true ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.memo(TouchRipple)));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js?");
7398
7398
 
7399
7399
  /***/ }),
7400
7400
 
@@ -7427,7 +7427,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7427
7427
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7428
7428
 
7429
7429
  "use strict";
7430
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _FormControl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../FormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Typography__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Typography */ \"./node_modules/@material-ui/core/esm/Typography/Typography.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n\n /* Styles applied to the root element if `labelPlacement=\"start\"`. */\n labelPlacementStart: {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n },\n\n /* Styles applied to the root element if `labelPlacement=\"top\"`. */\n labelPlacementTop: {\n flexDirection: 'column-reverse',\n marginLeft: 16\n },\n\n /* Styles applied to the root element if `labelPlacement=\"bottom\"`. */\n labelPlacementBottom: {\n flexDirection: 'column',\n marginLeft: 16\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the label's Typography component. */\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\nvar FormControlLabel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormControlLabel(props, ref) {\n var checked = props.checked,\n classes = props.classes,\n className = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n _props$labelPlacement = props.labelPlacement,\n labelPlacement = _props$labelPlacement === void 0 ? 'end' : _props$labelPlacement,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"value\"]);\n\n var muiFormControl = (0,_FormControl__WEBPACK_IMPORTED_MODULE_5__[\"default\"])();\n var disabled = disabledProp;\n\n if (typeof disabled === 'undefined' && typeof control.props.disabled !== 'undefined') {\n disabled = control.props.disabled;\n }\n\n if (typeof disabled === 'undefined' && muiFormControl) {\n disabled = muiFormControl.disabled;\n }\n\n var controlProps = {\n disabled: disabled\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(function (key) {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"label\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, labelPlacement !== 'end' && classes[\"labelPlacement\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(labelPlacement))], disabled && classes.disabled),\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(control, controlProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_Typography__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.label, disabled && classes.disabled)\n }, label));\n});\n true ? FormControlLabel.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component appears selected.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().element.isRequired),\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * The position of the label.\n */\n labelPlacement: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['bottom', 'end', 'start', 'top']),\n\n /**\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js?");
7430
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _FormControl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../FormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Typography__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Typography */ \"./node_modules/@material-ui/core/esm/Typography/Typography.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n\n /* Styles applied to the root element if `labelPlacement=\"start\"`. */\n labelPlacementStart: {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n },\n\n /* Styles applied to the root element if `labelPlacement=\"top\"`. */\n labelPlacementTop: {\n flexDirection: 'column-reverse',\n marginLeft: 16\n },\n\n /* Styles applied to the root element if `labelPlacement=\"bottom\"`. */\n labelPlacementBottom: {\n flexDirection: 'column',\n marginLeft: 16\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the label's Typography component. */\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\nvar FormControlLabel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormControlLabel(props, ref) {\n var checked = props.checked,\n classes = props.classes,\n className = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n _props$labelPlacement = props.labelPlacement,\n labelPlacement = _props$labelPlacement === void 0 ? 'end' : _props$labelPlacement,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"value\"]);\n\n var muiFormControl = (0,_FormControl__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n var disabled = disabledProp;\n\n if (typeof disabled === 'undefined' && typeof control.props.disabled !== 'undefined') {\n disabled = control.props.disabled;\n }\n\n if (typeof disabled === 'undefined' && muiFormControl) {\n disabled = muiFormControl.disabled;\n }\n\n var controlProps = {\n disabled: disabled\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(function (key) {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"label\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, labelPlacement !== 'end' && classes[\"labelPlacement\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(labelPlacement))], disabled && classes.disabled),\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(control, controlProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_Typography__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.label, disabled && classes.disabled)\n }, label));\n});\n true ? FormControlLabel.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component appears selected.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().element.isRequired),\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * The position of the label.\n */\n labelPlacement: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['bottom', 'end', 'start', 'top']),\n\n /**\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js?");
7431
7431
 
7432
7432
  /***/ }),
7433
7433
 
@@ -7438,7 +7438,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7438
7438
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7439
7439
 
7440
7440
  "use strict";
7441
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../ButtonBase */ \"./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 12,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE 11.\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n backgroundColor: 'transparent',\n color: theme.palette.action.disabled\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -12,\n '$sizeSmall&': {\n marginLeft: -3\n }\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -12,\n '$sizeSmall&': {\n marginRight: -3\n }\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: 3,\n fontSize: theme.typography.pxToRem(18)\n },\n\n /* Styles applied to the children container element. */\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/components/icons/) section of the documentation\n * regarding the available icon options.\n */\n\nvar IconButton = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function IconButton(props, ref) {\n var _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'default' : _props$color,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"edge\", \"children\", \"classes\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_ButtonBase__WEBPACK_IMPORTED_MODULE_6__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, color !== 'default' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(color))], disabled && classes.disabled, size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(size))], {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge]),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.label\n }, children));\n});\n true ? IconButton.propTypes = {\n /**\n * The icon element.\n */\n children: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_3___default().node), function (props) {\n var found = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(props.children).some(function (child) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child) && child.props.onClick;\n });\n\n if (found) {\n return new Error(['Material-UI: You are providing an onClick event listener ' + 'to a child of a button element.', 'Firefox will never trigger the event.', 'You should move the onClick listener to the parent button element.', 'https://github.com/mui-org/material-ui/issues/13957'].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['start', 'end', false]),\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['small', 'medium'])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiIconButton'\n})(IconButton));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/IconButton/IconButton.js?");
7441
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ButtonBase */ \"./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 12,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE 11.\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n backgroundColor: 'transparent',\n color: theme.palette.action.disabled\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -12,\n '$sizeSmall&': {\n marginLeft: -3\n }\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -12,\n '$sizeSmall&': {\n marginRight: -3\n }\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: 3,\n fontSize: theme.typography.pxToRem(18)\n },\n\n /* Styles applied to the children container element. */\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/components/icons/) section of the documentation\n * regarding the available icon options.\n */\n\nvar IconButton = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function IconButton(props, ref) {\n var _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'default' : _props$color,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"edge\", \"children\", \"classes\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_ButtonBase__WEBPACK_IMPORTED_MODULE_5__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, color !== 'default' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(color))], disabled && classes.disabled, size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(size))], {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge]),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.label\n }, children));\n});\n true ? IconButton.propTypes = {\n /**\n * The icon element.\n */\n children: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_8___default().node), function (props) {\n var found = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(props.children).some(function (child) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child) && child.props.onClick;\n });\n\n if (found) {\n return new Error(['Material-UI: You are providing an onClick event listener ' + 'to a child of a button element.', 'Firefox will never trigger the event.', 'You should move the onClick listener to the parent button element.', 'https://github.com/mui-org/material-ui/issues/13957'].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['start', 'end', false]),\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['small', 'medium'])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiIconButton'\n})(IconButton));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/IconButton/IconButton.js?");
7442
7442
 
7443
7443
  /***/ }),
7444
7444
 
@@ -7449,7 +7449,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7449
7449
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7450
7450
 
7451
7451
  "use strict";
7452
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@material-ui/core/esm/styles/useTheme.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/ownerDocument */ \"./node_modules/@material-ui/core/esm/utils/ownerDocument.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _ValueLabel__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ValueLabel */ \"./node_modules/@material-ui/core/esm/Slider/ValueLabel.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction asc(a, b) {\n return a - b;\n}\n\nfunction clamp(value, min, max) {\n return Math.min(Math.max(min, value), max);\n}\n\nfunction findClosest(values, currentValue) {\n var _values$reduce = values.reduce(function (acc, value, index) {\n var distance = Math.abs(currentValue - value);\n\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance: distance,\n index: index\n };\n }\n\n return acc;\n }, null),\n closestIndex = _values$reduce.index;\n\n return closestIndex;\n}\n\nfunction trackFinger(event, touchId) {\n if (touchId.current !== undefined && event.changedTouches) {\n for (var i = 0; i < event.changedTouches.length; i += 1) {\n var touch = event.changedTouches[i];\n\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n\n return false;\n }\n\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\n\nfunction valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\n\nfunction percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\n\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n var parts = num.toExponential().split('e-');\n var matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n\n var decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\n\nfunction roundValueToStep(value, step, min) {\n var nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\n\nfunction setValueIndex(_ref) {\n var values = _ref.values,\n source = _ref.source,\n newValue = _ref.newValue,\n index = _ref.index;\n\n // Performance shortcut\n if (values[index] === newValue) {\n return source;\n }\n\n var output = values.slice();\n output[index] = newValue;\n return output;\n}\n\nfunction focusThumb(_ref2) {\n var sliderRef = _ref2.sliderRef,\n activeIndex = _ref2.activeIndex,\n setActive = _ref2.setActive;\n\n if (!sliderRef.current.contains(document.activeElement) || Number(document.activeElement.getAttribute('data-index')) !== activeIndex) {\n sliderRef.current.querySelector(\"[role=\\\"slider\\\"][data-index=\\\"\".concat(activeIndex, \"\\\"]\")).focus();\n }\n\n if (setActive) {\n setActive(activeIndex);\n }\n}\n\nvar axisProps = {\n horizontal: {\n offset: function offset(percent) {\n return {\n left: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n 'horizontal-reverse': {\n offset: function offset(percent) {\n return {\n right: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n vertical: {\n offset: function offset(percent) {\n return {\n bottom: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n height: \"\".concat(percent, \"%\")\n };\n }\n }\n};\n\nvar Identity = function Identity(x) {\n return x;\n};\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n height: 2,\n width: '100%',\n boxSizing: 'content-box',\n padding: '13px 0',\n display: 'inline-block',\n position: 'relative',\n cursor: 'pointer',\n touchAction: 'none',\n color: theme.palette.primary.main,\n WebkitTapHighlightColor: 'transparent',\n '&$disabled': {\n pointerEvents: 'none',\n cursor: 'default',\n color: theme.palette.grey[400]\n },\n '&$vertical': {\n width: 2,\n height: '100%',\n padding: '0 13px'\n },\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '20px 0',\n '&$vertical': {\n padding: '0 20px'\n }\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `marks` is provided with at least one label. */\n marked: {\n marginBottom: 20,\n '&$vertical': {\n marginBottom: 'auto',\n marginRight: 20\n }\n },\n\n /* Pseudo-class applied to the root element if `orientation=\"vertical\"`. */\n vertical: {},\n\n /* Pseudo-class applied to the root and thumb element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the rail element. */\n rail: {\n display: 'block',\n position: 'absolute',\n width: '100%',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n opacity: 0.38,\n '$vertical &': {\n height: '100%',\n width: 2\n }\n },\n\n /* Styles applied to the track element. */\n track: {\n display: 'block',\n position: 'absolute',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n '$vertical &': {\n width: 2\n }\n },\n\n /* Styles applied to the track element if `track={false}`. */\n trackFalse: {\n '& $track': {\n display: 'none'\n }\n },\n\n /* Styles applied to the track element if `track=\"inverted\"`. */\n trackInverted: {\n '& $track': {\n backgroundColor: // Same logic as the LinearProgress track color\n theme.palette.type === 'light' ? (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.lighten)(theme.palette.primary.main, 0.62) : (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.darken)(theme.palette.primary.main, 0.5)\n },\n '& $rail': {\n opacity: 1\n }\n },\n\n /* Styles applied to the thumb element. */\n thumb: {\n position: 'absolute',\n width: 12,\n height: 12,\n marginLeft: -6,\n marginTop: -5,\n boxSizing: 'border-box',\n borderRadius: '50%',\n outline: 0,\n backgroundColor: 'currentColor',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: theme.transitions.create(['box-shadow'], {\n duration: theme.transitions.duration.shortest\n }),\n '&::after': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: '50%',\n // reach 42px hit target (2 * 15 + thumb diameter)\n left: -15,\n top: -15,\n right: -15,\n bottom: -15\n },\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.primary.main, 0.16)),\n '@media (hover: none)': {\n boxShadow: 'none'\n }\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.primary.main, 0.16))\n },\n '&$disabled': {\n width: 8,\n height: 8,\n marginLeft: -4,\n marginTop: -3,\n '&:hover': {\n boxShadow: 'none'\n }\n },\n '$vertical &': {\n marginLeft: -5,\n marginBottom: -6\n },\n '$vertical &$disabled': {\n marginLeft: -3,\n marginBottom: -4\n }\n },\n\n /* Styles applied to the thumb element if `color=\"primary\"`. */\n thumbColorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the thumb element if `color=\"secondary\"`. */\n thumbColorSecondary: {\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.secondary.main, 0.16))\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.secondary.main, 0.16))\n }\n },\n\n /* Pseudo-class applied to the thumb element if it's active. */\n active: {},\n\n /* Pseudo-class applied to the thumb element if keyboard focused. */\n focusVisible: {},\n\n /* Styles applied to the thumb label element. */\n valueLabel: {\n // IE 11 centering bug, to remove from the customization demos once no longer supported\n left: 'calc(-50% - 4px)'\n },\n\n /* Styles applied to the mark element. */\n mark: {\n position: 'absolute',\n width: 2,\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the mark element if active (depending on the value). */\n markActive: {\n backgroundColor: theme.palette.background.paper,\n opacity: 0.8\n },\n\n /* Styles applied to the mark label element. */\n markLabel: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, theme.typography.body2, {\n color: theme.palette.text.secondary,\n position: 'absolute',\n top: 26,\n transform: 'translateX(-50%)',\n whiteSpace: 'nowrap',\n '$vertical &': {\n top: 'auto',\n left: 26,\n transform: 'translateY(50%)'\n },\n '@media (pointer: coarse)': {\n top: 40,\n '$vertical &': {\n left: 31\n }\n }\n }),\n\n /* Styles applied to the mark label element if active (depending on the value). */\n markLabelActive: {\n color: theme.palette.text.primary\n }\n };\n};\nvar Slider = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.forwardRef(function Slider(props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'primary' : _props$color,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'span' : _props$component,\n defaultValue = props.defaultValue,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n getAriaLabel = props.getAriaLabel,\n getAriaValueText = props.getAriaValueText,\n _props$marks = props.marks,\n marksProp = _props$marks === void 0 ? false : _props$marks,\n _props$max = props.max,\n max = _props$max === void 0 ? 100 : _props$max,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n name = props.name,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n onMouseDown = props.onMouseDown,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,\n _props$scale = props.scale,\n scale = _props$scale === void 0 ? Identity : _props$scale,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$ThumbComponent = props.ThumbComponent,\n ThumbComponent = _props$ThumbComponent === void 0 ? 'span' : _props$ThumbComponent,\n _props$track = props.track,\n track = _props$track === void 0 ? 'normal' : _props$track,\n valueProp = props.value,\n _props$ValueLabelComp = props.ValueLabelComponent,\n ValueLabelComponent = _props$ValueLabelComp === void 0 ? _ValueLabel__WEBPACK_IMPORTED_MODULE_8__[\"default\"] : _props$ValueLabelComp,\n _props$valueLabelDisp = props.valueLabelDisplay,\n valueLabelDisplay = _props$valueLabelDisp === void 0 ? 'off' : _props$valueLabelDisp,\n _props$valueLabelForm = props.valueLabelFormat,\n valueLabelFormat = _props$valueLabelForm === void 0 ? Identity : _props$valueLabelForm,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"classes\", \"className\", \"color\", \"component\", \"defaultValue\", \"disabled\", \"getAriaLabel\", \"getAriaValueText\", \"marks\", \"max\", \"min\", \"name\", \"onChange\", \"onChangeCommitted\", \"onMouseDown\", \"orientation\", \"scale\", \"step\", \"ThumbComponent\", \"track\", \"value\", \"ValueLabelComponent\", \"valueLabelDisplay\", \"valueLabelFormat\"]);\n\n var theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_9__[\"default\"])();\n var touchId = react__WEBPACK_IMPORTED_MODULE_4__.useRef(); // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transfered when inversing a range slider.\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n active = _React$useState[0],\n setActive = _React$useState[1];\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n open = _React$useState2[0],\n setOpen = _React$useState2[1];\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n controlled: valueProp,\n default: defaultValue,\n name: 'Slider'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n valueDerived = _useControlled2[0],\n setValueState = _useControlled2[1];\n\n var range = Array.isArray(valueDerived);\n var values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n values = values.map(function (value) {\n return clamp(value, min, max);\n });\n var marks = marksProp === true && step !== null ? (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array(Math.floor((max - min) / step) + 1)).map(function (_, index) {\n return {\n value: min + step * index\n };\n }) : marksProp || [];\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n focusVisible = _React$useState3[0],\n setFocusVisible = _React$useState3[1];\n\n var sliderRef = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var handleFocusRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(focusVisibleRef, sliderRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(ref, handleFocusRef);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n\n if (isFocusVisible(event)) {\n setFocusVisible(index);\n }\n\n setOpen(index);\n });\n var handleBlur = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function () {\n if (focusVisible !== -1) {\n setFocusVisible(-1);\n onBlurVisible();\n }\n\n setOpen(-1);\n });\n var handleMouseOver = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n setOpen(index);\n });\n var handleMouseLeave = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function () {\n setOpen(-1);\n });\n var isRtl = theme.direction === 'rtl';\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n var value = values[index];\n var tenPercents = (max - min) / 10;\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var marksIndex = marksValues.indexOf(value);\n var newValue;\n var increaseKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n\n switch (event.key) {\n case 'Home':\n newValue = min;\n break;\n\n case 'End':\n newValue = max;\n break;\n\n case 'PageUp':\n if (step) {\n newValue = value + tenPercents;\n }\n\n break;\n\n case 'PageDown':\n if (step) {\n newValue = value - tenPercents;\n }\n\n break;\n\n case increaseKey:\n case 'ArrowUp':\n if (step) {\n newValue = value + step;\n } else {\n newValue = marksValues[marksIndex + 1] || marksValues[marksValues.length - 1];\n }\n\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n if (step) {\n newValue = value - step;\n } else {\n newValue = marksValues[marksIndex - 1] || marksValues[0];\n }\n\n break;\n\n default:\n return;\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n }\n\n newValue = clamp(newValue, min, max);\n\n if (range) {\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values,\n source: valueDerived,\n newValue: newValue,\n index: index\n }).sort(asc);\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: newValue.indexOf(previousValue)\n });\n }\n\n setValueState(newValue);\n setFocusVisible(index);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n });\n var previousIndex = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var axis = orientation;\n\n if (isRtl && orientation !== \"vertical\") {\n axis += '-reverse';\n }\n\n var getFingerNewValue = function getFingerNewValue(_ref3) {\n var finger = _ref3.finger,\n _ref3$move = _ref3.move,\n move = _ref3$move === void 0 ? false : _ref3$move,\n values2 = _ref3.values,\n source = _ref3.source;\n var slider = sliderRef.current;\n\n var _slider$getBoundingCl = slider.getBoundingClientRect(),\n width = _slider$getBoundingCl.width,\n height = _slider$getBoundingCl.height,\n bottom = _slider$getBoundingCl.bottom,\n left = _slider$getBoundingCl.left;\n\n var percent;\n\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n\n if (axis.indexOf('-reverse') !== -1) {\n percent = 1 - percent;\n }\n\n var newValue;\n newValue = percentToValue(percent, min, max);\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n } else {\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var closestIndex = findClosest(marksValues, newValue);\n newValue = marksValues[closestIndex];\n }\n\n newValue = clamp(newValue, min, max);\n var activeIndex = 0;\n\n if (range) {\n if (!move) {\n activeIndex = findClosest(values2, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values2,\n source: source,\n newValue: newValue,\n index: activeIndex\n }).sort(asc);\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n\n return {\n newValue: newValue,\n activeIndex: activeIndex\n };\n };\n\n var handleTouchMove = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue = getFingerNewValue({\n finger: finger,\n move: true,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue.newValue,\n activeIndex = _getFingerNewValue.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n });\n var handleTouchEnd = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue2 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue2.newValue;\n\n setActive(-1);\n\n if (event.type === 'touchend') {\n setOpen(-1);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n\n touchId.current = undefined;\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n });\n var handleTouchStart = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n // Workaround as Safari has partial support for touchAction: 'none'.\n event.preventDefault();\n var touch = event.changedTouches[0];\n\n if (touch != null) {\n // A number that uniquely identifies the current finger in the touch session.\n touchId.current = touch.identifier;\n }\n\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue3 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue3.newValue,\n activeIndex = _getFingerNewValue3.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove);\n doc.addEventListener('touchend', handleTouchEnd);\n });\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(function () {\n var slider = sliderRef.current;\n slider.addEventListener('touchstart', handleTouchStart);\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(slider);\n return function () {\n slider.removeEventListener('touchstart', handleTouchStart);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n };\n }, [handleTouchEnd, handleTouchMove, handleTouchStart]);\n var handleMouseDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n if (onMouseDown) {\n onMouseDown(event);\n }\n\n event.preventDefault();\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue4 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue4.newValue,\n activeIndex = _getFingerNewValue4.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove);\n doc.addEventListener('mouseup', handleTouchEnd);\n });\n var trackOffset = valueToPercent(range ? values[0] : min, min, max);\n var trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n\n var trackStyle = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap));\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n ref: handleRef,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.root, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(color))], className, disabled && classes.disabled, marks.length > 0 && marks.some(function (mark) {\n return mark.label;\n }) && classes.marked, track === false && classes.trackFalse, orientation === 'vertical' && classes.vertical, track === 'inverted' && classes.trackInverted),\n onMouseDown: handleMouseDown\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.rail\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.track,\n style: trackStyle\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"input\", {\n value: values.join(','),\n name: name,\n type: \"hidden\"\n }), marks.map(function (mark, index) {\n var percent = valueToPercent(mark.value, min, max);\n var style = axisProps[axis].offset(percent);\n var markActive;\n\n if (track === false) {\n markActive = values.indexOf(mark.value) !== -1;\n } else {\n markActive = track === 'normal' && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === 'inverted' && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(react__WEBPACK_IMPORTED_MODULE_4__.Fragment, {\n key: mark.value\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n style: style,\n \"data-index\": index,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.mark, markActive && classes.markActive)\n }), mark.label != null ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n \"aria-hidden\": true,\n \"data-index\": index,\n style: style,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.markLabel, markActive && classes.markLabelActive)\n }, mark.label) : null);\n }), values.map(function (value, index) {\n var percent = valueToPercent(value, min, max);\n var style = axisProps[axis].offset(percent);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ValueLabelComponent, {\n key: index,\n valueLabelFormat: valueLabelFormat,\n valueLabelDisplay: valueLabelDisplay,\n className: classes.valueLabel,\n value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,\n index: index,\n open: open === index || active === index || valueLabelDisplay === 'on',\n disabled: disabled\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ThumbComponent, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.thumb, classes[\"thumbColor\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(color))], active === index && classes.active, disabled && classes.disabled, focusVisible === index && classes.focusVisible),\n tabIndex: disabled ? null : 0,\n role: \"slider\",\n style: style,\n \"data-index\": index,\n \"aria-label\": getAriaLabel ? getAriaLabel(index) : ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-orientation\": orientation,\n \"aria-valuemax\": scale(max),\n \"aria-valuemin\": scale(min),\n \"aria-valuenow\": scale(value),\n \"aria-valuetext\": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave\n }));\n }));\n});\n true ? Slider.propTypes = {\n /**\n * The label of the slider.\n */\n 'aria-label': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_16__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-label'] != null) {\n return new Error('Material-UI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * The id of the element containing a label for the slider.\n */\n 'aria-labelledby': (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * A string value that provides a user-friendly name for the current value of the slider.\n */\n 'aria-valuetext': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_16__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-valuetext'] != null) {\n return new Error('Material-UI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * The default element value. Use when the component is not controlled.\n */\n defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().number), prop_types__WEBPACK_IMPORTED_MODULE_5___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_5___default().number))]),\n\n /**\n * If `true`, the slider will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.\n *\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaLabel: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.\n *\n * @param {number} value The thumb label's value to format.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaValueText: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * Marks indicate predetermined values to which the user can move the slider.\n * If `true` the marks will be spaced according the value of the `step` prop.\n * If an array, it should contain objects with `value` and an optional `label` keys.\n */\n marks: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_5___default().array)]),\n\n /**\n * The maximum allowed value of the slider.\n * Should not be equal to min.\n */\n max: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),\n\n /**\n * The minimum allowed value of the slider.\n * Should not be equal to max.\n */\n min: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),\n\n /**\n * Name attribute of the hidden `input` element.\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * Callback function that is fired when the slider's value changed.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * Callback function that is fired when the `mouseup` is triggered.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChangeCommitted: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * The slider orientation.\n */\n orientation: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['horizontal', 'vertical']),\n\n /**\n * A transformation function, to change the scale of the slider.\n */\n scale: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * The granularity with which the slider can step through values. (A \"discrete\" slider.)\n * The `min` prop serves as the origin for the valid values.\n * We recommend (max - min) to be evenly divisible by the step.\n *\n * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.\n */\n step: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),\n\n /**\n * The component used to display the value label.\n */\n ThumbComponent: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * The track presentation:\n *\n * - `normal` the track will render a bar representing the slider value.\n * - `inverted` the track will render a bar representing the remaining slider value.\n * - `false` the track will render without a bar.\n */\n track: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['normal', false, 'inverted']),\n\n /**\n * The value of the slider.\n * For ranged sliders, provide an array with two values.\n */\n value: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().number), prop_types__WEBPACK_IMPORTED_MODULE_5___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_5___default().number))]),\n\n /**\n * The value label component.\n */\n ValueLabelComponent: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * Controls when the value label is displayed:\n *\n * - `auto` the value label will display when the thumb is hovered or focused.\n * - `on` will display persistently.\n * - `off` will never display.\n */\n valueLabelDisplay: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['on', 'auto', 'off']),\n\n /**\n * The format function the value label's value.\n *\n * When a function is provided, it should have the following signature:\n *\n * - {number} value The value label's value to format\n * - {number} index The value label's index to format\n */\n valueLabelFormat: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(styles, {\n name: 'MuiSlider'\n})(Slider));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Slider/Slider.js?");
7452
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@material-ui/core/esm/styles/useTheme.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/ownerDocument */ \"./node_modules/@material-ui/core/esm/utils/ownerDocument.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _ValueLabel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ValueLabel */ \"./node_modules/@material-ui/core/esm/Slider/ValueLabel.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction asc(a, b) {\n return a - b;\n}\n\nfunction clamp(value, min, max) {\n return Math.min(Math.max(min, value), max);\n}\n\nfunction findClosest(values, currentValue) {\n var _values$reduce = values.reduce(function (acc, value, index) {\n var distance = Math.abs(currentValue - value);\n\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance: distance,\n index: index\n };\n }\n\n return acc;\n }, null),\n closestIndex = _values$reduce.index;\n\n return closestIndex;\n}\n\nfunction trackFinger(event, touchId) {\n if (touchId.current !== undefined && event.changedTouches) {\n for (var i = 0; i < event.changedTouches.length; i += 1) {\n var touch = event.changedTouches[i];\n\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n\n return false;\n }\n\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\n\nfunction valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\n\nfunction percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\n\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n var parts = num.toExponential().split('e-');\n var matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n\n var decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\n\nfunction roundValueToStep(value, step, min) {\n var nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\n\nfunction setValueIndex(_ref) {\n var values = _ref.values,\n source = _ref.source,\n newValue = _ref.newValue,\n index = _ref.index;\n\n // Performance shortcut\n if (values[index] === newValue) {\n return source;\n }\n\n var output = values.slice();\n output[index] = newValue;\n return output;\n}\n\nfunction focusThumb(_ref2) {\n var sliderRef = _ref2.sliderRef,\n activeIndex = _ref2.activeIndex,\n setActive = _ref2.setActive;\n\n if (!sliderRef.current.contains(document.activeElement) || Number(document.activeElement.getAttribute('data-index')) !== activeIndex) {\n sliderRef.current.querySelector(\"[role=\\\"slider\\\"][data-index=\\\"\".concat(activeIndex, \"\\\"]\")).focus();\n }\n\n if (setActive) {\n setActive(activeIndex);\n }\n}\n\nvar axisProps = {\n horizontal: {\n offset: function offset(percent) {\n return {\n left: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n 'horizontal-reverse': {\n offset: function offset(percent) {\n return {\n right: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n vertical: {\n offset: function offset(percent) {\n return {\n bottom: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n height: \"\".concat(percent, \"%\")\n };\n }\n }\n};\n\nvar Identity = function Identity(x) {\n return x;\n};\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n height: 2,\n width: '100%',\n boxSizing: 'content-box',\n padding: '13px 0',\n display: 'inline-block',\n position: 'relative',\n cursor: 'pointer',\n touchAction: 'none',\n color: theme.palette.primary.main,\n WebkitTapHighlightColor: 'transparent',\n '&$disabled': {\n pointerEvents: 'none',\n cursor: 'default',\n color: theme.palette.grey[400]\n },\n '&$vertical': {\n width: 2,\n height: '100%',\n padding: '0 13px'\n },\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '20px 0',\n '&$vertical': {\n padding: '0 20px'\n }\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `marks` is provided with at least one label. */\n marked: {\n marginBottom: 20,\n '&$vertical': {\n marginBottom: 'auto',\n marginRight: 20\n }\n },\n\n /* Pseudo-class applied to the root element if `orientation=\"vertical\"`. */\n vertical: {},\n\n /* Pseudo-class applied to the root and thumb element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the rail element. */\n rail: {\n display: 'block',\n position: 'absolute',\n width: '100%',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n opacity: 0.38,\n '$vertical &': {\n height: '100%',\n width: 2\n }\n },\n\n /* Styles applied to the track element. */\n track: {\n display: 'block',\n position: 'absolute',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n '$vertical &': {\n width: 2\n }\n },\n\n /* Styles applied to the track element if `track={false}`. */\n trackFalse: {\n '& $track': {\n display: 'none'\n }\n },\n\n /* Styles applied to the track element if `track=\"inverted\"`. */\n trackInverted: {\n '& $track': {\n backgroundColor: // Same logic as the LinearProgress track color\n theme.palette.type === 'light' ? (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.lighten)(theme.palette.primary.main, 0.62) : (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.darken)(theme.palette.primary.main, 0.5)\n },\n '& $rail': {\n opacity: 1\n }\n },\n\n /* Styles applied to the thumb element. */\n thumb: {\n position: 'absolute',\n width: 12,\n height: 12,\n marginLeft: -6,\n marginTop: -5,\n boxSizing: 'border-box',\n borderRadius: '50%',\n outline: 0,\n backgroundColor: 'currentColor',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: theme.transitions.create(['box-shadow'], {\n duration: theme.transitions.duration.shortest\n }),\n '&::after': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: '50%',\n // reach 42px hit target (2 * 15 + thumb diameter)\n left: -15,\n top: -15,\n right: -15,\n bottom: -15\n },\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.primary.main, 0.16)),\n '@media (hover: none)': {\n boxShadow: 'none'\n }\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.primary.main, 0.16))\n },\n '&$disabled': {\n width: 8,\n height: 8,\n marginLeft: -4,\n marginTop: -3,\n '&:hover': {\n boxShadow: 'none'\n }\n },\n '$vertical &': {\n marginLeft: -5,\n marginBottom: -6\n },\n '$vertical &$disabled': {\n marginLeft: -3,\n marginBottom: -4\n }\n },\n\n /* Styles applied to the thumb element if `color=\"primary\"`. */\n thumbColorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the thumb element if `color=\"secondary\"`. */\n thumbColorSecondary: {\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.secondary.main, 0.16))\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.secondary.main, 0.16))\n }\n },\n\n /* Pseudo-class applied to the thumb element if it's active. */\n active: {},\n\n /* Pseudo-class applied to the thumb element if keyboard focused. */\n focusVisible: {},\n\n /* Styles applied to the thumb label element. */\n valueLabel: {\n // IE 11 centering bug, to remove from the customization demos once no longer supported\n left: 'calc(-50% - 4px)'\n },\n\n /* Styles applied to the mark element. */\n mark: {\n position: 'absolute',\n width: 2,\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the mark element if active (depending on the value). */\n markActive: {\n backgroundColor: theme.palette.background.paper,\n opacity: 0.8\n },\n\n /* Styles applied to the mark label element. */\n markLabel: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, theme.typography.body2, {\n color: theme.palette.text.secondary,\n position: 'absolute',\n top: 26,\n transform: 'translateX(-50%)',\n whiteSpace: 'nowrap',\n '$vertical &': {\n top: 'auto',\n left: 26,\n transform: 'translateY(50%)'\n },\n '@media (pointer: coarse)': {\n top: 40,\n '$vertical &': {\n left: 31\n }\n }\n }),\n\n /* Styles applied to the mark label element if active (depending on the value). */\n markLabelActive: {\n color: theme.palette.text.primary\n }\n };\n};\nvar Slider = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.forwardRef(function Slider(props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'primary' : _props$color,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'span' : _props$component,\n defaultValue = props.defaultValue,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n getAriaLabel = props.getAriaLabel,\n getAriaValueText = props.getAriaValueText,\n _props$marks = props.marks,\n marksProp = _props$marks === void 0 ? false : _props$marks,\n _props$max = props.max,\n max = _props$max === void 0 ? 100 : _props$max,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n name = props.name,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n onMouseDown = props.onMouseDown,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,\n _props$scale = props.scale,\n scale = _props$scale === void 0 ? Identity : _props$scale,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$ThumbComponent = props.ThumbComponent,\n ThumbComponent = _props$ThumbComponent === void 0 ? 'span' : _props$ThumbComponent,\n _props$track = props.track,\n track = _props$track === void 0 ? 'normal' : _props$track,\n valueProp = props.value,\n _props$ValueLabelComp = props.ValueLabelComponent,\n ValueLabelComponent = _props$ValueLabelComp === void 0 ? _ValueLabel__WEBPACK_IMPORTED_MODULE_7__[\"default\"] : _props$ValueLabelComp,\n _props$valueLabelDisp = props.valueLabelDisplay,\n valueLabelDisplay = _props$valueLabelDisp === void 0 ? 'off' : _props$valueLabelDisp,\n _props$valueLabelForm = props.valueLabelFormat,\n valueLabelFormat = _props$valueLabelForm === void 0 ? Identity : _props$valueLabelForm,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"classes\", \"className\", \"color\", \"component\", \"defaultValue\", \"disabled\", \"getAriaLabel\", \"getAriaValueText\", \"marks\", \"max\", \"min\", \"name\", \"onChange\", \"onChangeCommitted\", \"onMouseDown\", \"orientation\", \"scale\", \"step\", \"ThumbComponent\", \"track\", \"value\", \"ValueLabelComponent\", \"valueLabelDisplay\", \"valueLabelFormat\"]);\n\n var theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_8__[\"default\"])();\n var touchId = react__WEBPACK_IMPORTED_MODULE_4__.useRef(); // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transfered when inversing a range slider.\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n active = _React$useState[0],\n setActive = _React$useState[1];\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n open = _React$useState2[0],\n setOpen = _React$useState2[1];\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n controlled: valueProp,\n default: defaultValue,\n name: 'Slider'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n valueDerived = _useControlled2[0],\n setValueState = _useControlled2[1];\n\n var range = Array.isArray(valueDerived);\n var values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n values = values.map(function (value) {\n return clamp(value, min, max);\n });\n var marks = marksProp === true && step !== null ? (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array(Math.floor((max - min) / step) + 1)).map(function (_, index) {\n return {\n value: min + step * index\n };\n }) : marksProp || [];\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n focusVisible = _React$useState3[0],\n setFocusVisible = _React$useState3[1];\n\n var sliderRef = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var handleFocusRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(focusVisibleRef, sliderRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(ref, handleFocusRef);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n\n if (isFocusVisible(event)) {\n setFocusVisible(index);\n }\n\n setOpen(index);\n });\n var handleBlur = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function () {\n if (focusVisible !== -1) {\n setFocusVisible(-1);\n onBlurVisible();\n }\n\n setOpen(-1);\n });\n var handleMouseOver = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n setOpen(index);\n });\n var handleMouseLeave = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function () {\n setOpen(-1);\n });\n var isRtl = theme.direction === 'rtl';\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n var value = values[index];\n var tenPercents = (max - min) / 10;\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var marksIndex = marksValues.indexOf(value);\n var newValue;\n var increaseKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n\n switch (event.key) {\n case 'Home':\n newValue = min;\n break;\n\n case 'End':\n newValue = max;\n break;\n\n case 'PageUp':\n if (step) {\n newValue = value + tenPercents;\n }\n\n break;\n\n case 'PageDown':\n if (step) {\n newValue = value - tenPercents;\n }\n\n break;\n\n case increaseKey:\n case 'ArrowUp':\n if (step) {\n newValue = value + step;\n } else {\n newValue = marksValues[marksIndex + 1] || marksValues[marksValues.length - 1];\n }\n\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n if (step) {\n newValue = value - step;\n } else {\n newValue = marksValues[marksIndex - 1] || marksValues[0];\n }\n\n break;\n\n default:\n return;\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n }\n\n newValue = clamp(newValue, min, max);\n\n if (range) {\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values,\n source: valueDerived,\n newValue: newValue,\n index: index\n }).sort(asc);\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: newValue.indexOf(previousValue)\n });\n }\n\n setValueState(newValue);\n setFocusVisible(index);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n });\n var previousIndex = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var axis = orientation;\n\n if (isRtl && orientation !== \"vertical\") {\n axis += '-reverse';\n }\n\n var getFingerNewValue = function getFingerNewValue(_ref3) {\n var finger = _ref3.finger,\n _ref3$move = _ref3.move,\n move = _ref3$move === void 0 ? false : _ref3$move,\n values2 = _ref3.values,\n source = _ref3.source;\n var slider = sliderRef.current;\n\n var _slider$getBoundingCl = slider.getBoundingClientRect(),\n width = _slider$getBoundingCl.width,\n height = _slider$getBoundingCl.height,\n bottom = _slider$getBoundingCl.bottom,\n left = _slider$getBoundingCl.left;\n\n var percent;\n\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n\n if (axis.indexOf('-reverse') !== -1) {\n percent = 1 - percent;\n }\n\n var newValue;\n newValue = percentToValue(percent, min, max);\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n } else {\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var closestIndex = findClosest(marksValues, newValue);\n newValue = marksValues[closestIndex];\n }\n\n newValue = clamp(newValue, min, max);\n var activeIndex = 0;\n\n if (range) {\n if (!move) {\n activeIndex = findClosest(values2, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values2,\n source: source,\n newValue: newValue,\n index: activeIndex\n }).sort(asc);\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n\n return {\n newValue: newValue,\n activeIndex: activeIndex\n };\n };\n\n var handleTouchMove = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue = getFingerNewValue({\n finger: finger,\n move: true,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue.newValue,\n activeIndex = _getFingerNewValue.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n });\n var handleTouchEnd = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue2 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue2.newValue;\n\n setActive(-1);\n\n if (event.type === 'touchend') {\n setOpen(-1);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n\n touchId.current = undefined;\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n });\n var handleTouchStart = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n // Workaround as Safari has partial support for touchAction: 'none'.\n event.preventDefault();\n var touch = event.changedTouches[0];\n\n if (touch != null) {\n // A number that uniquely identifies the current finger in the touch session.\n touchId.current = touch.identifier;\n }\n\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue3 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue3.newValue,\n activeIndex = _getFingerNewValue3.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove);\n doc.addEventListener('touchend', handleTouchEnd);\n });\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(function () {\n var slider = sliderRef.current;\n slider.addEventListener('touchstart', handleTouchStart);\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(slider);\n return function () {\n slider.removeEventListener('touchstart', handleTouchStart);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n };\n }, [handleTouchEnd, handleTouchMove, handleTouchStart]);\n var handleMouseDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n if (onMouseDown) {\n onMouseDown(event);\n }\n\n event.preventDefault();\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue4 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue4.newValue,\n activeIndex = _getFingerNewValue4.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove);\n doc.addEventListener('mouseup', handleTouchEnd);\n });\n var trackOffset = valueToPercent(range ? values[0] : min, min, max);\n var trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n\n var trackStyle = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap));\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n ref: handleRef,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(color))], className, disabled && classes.disabled, marks.length > 0 && marks.some(function (mark) {\n return mark.label;\n }) && classes.marked, track === false && classes.trackFalse, orientation === 'vertical' && classes.vertical, track === 'inverted' && classes.trackInverted),\n onMouseDown: handleMouseDown\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.rail\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.track,\n style: trackStyle\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"input\", {\n value: values.join(','),\n name: name,\n type: \"hidden\"\n }), marks.map(function (mark, index) {\n var percent = valueToPercent(mark.value, min, max);\n var style = axisProps[axis].offset(percent);\n var markActive;\n\n if (track === false) {\n markActive = values.indexOf(mark.value) !== -1;\n } else {\n markActive = track === 'normal' && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === 'inverted' && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(react__WEBPACK_IMPORTED_MODULE_4__.Fragment, {\n key: mark.value\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n style: style,\n \"data-index\": index,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.mark, markActive && classes.markActive)\n }), mark.label != null ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n \"aria-hidden\": true,\n \"data-index\": index,\n style: style,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.markLabel, markActive && classes.markLabelActive)\n }, mark.label) : null);\n }), values.map(function (value, index) {\n var percent = valueToPercent(value, min, max);\n var style = axisProps[axis].offset(percent);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ValueLabelComponent, {\n key: index,\n valueLabelFormat: valueLabelFormat,\n valueLabelDisplay: valueLabelDisplay,\n className: classes.valueLabel,\n value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,\n index: index,\n open: open === index || active === index || valueLabelDisplay === 'on',\n disabled: disabled\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ThumbComponent, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.thumb, classes[\"thumbColor\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(color))], active === index && classes.active, disabled && classes.disabled, focusVisible === index && classes.focusVisible),\n tabIndex: disabled ? null : 0,\n role: \"slider\",\n style: style,\n \"data-index\": index,\n \"aria-label\": getAriaLabel ? getAriaLabel(index) : ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-orientation\": orientation,\n \"aria-valuemax\": scale(max),\n \"aria-valuemin\": scale(min),\n \"aria-valuenow\": scale(value),\n \"aria-valuetext\": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave\n }));\n }));\n});\n true ? Slider.propTypes = {\n /**\n * The label of the slider.\n */\n 'aria-label': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_16___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-label'] != null) {\n return new Error('Material-UI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * The id of the element containing a label for the slider.\n */\n 'aria-labelledby': (prop_types__WEBPACK_IMPORTED_MODULE_16___default().string),\n\n /**\n * A string value that provides a user-friendly name for the current value of the slider.\n */\n 'aria-valuetext': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_16___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-valuetext'] != null) {\n return new Error('Material-UI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().elementType),\n\n /**\n * The default element value. Use when the component is not controlled.\n */\n defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().number), prop_types__WEBPACK_IMPORTED_MODULE_16___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_16___default().number))]),\n\n /**\n * If `true`, the slider will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().bool),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.\n *\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaLabel: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.\n *\n * @param {number} value The thumb label's value to format.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaValueText: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * Marks indicate predetermined values to which the user can move the slider.\n * If `true` the marks will be spaced according the value of the `step` prop.\n * If an array, it should contain objects with `value` and an optional `label` keys.\n */\n marks: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_16___default().array)]),\n\n /**\n * The maximum allowed value of the slider.\n * Should not be equal to min.\n */\n max: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().number),\n\n /**\n * The minimum allowed value of the slider.\n * Should not be equal to max.\n */\n min: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().number),\n\n /**\n * Name attribute of the hidden `input` element.\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().string),\n\n /**\n * Callback function that is fired when the slider's value changed.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * Callback function that is fired when the `mouseup` is triggered.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChangeCommitted: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * The slider orientation.\n */\n orientation: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['horizontal', 'vertical']),\n\n /**\n * A transformation function, to change the scale of the slider.\n */\n scale: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * The granularity with which the slider can step through values. (A \"discrete\" slider.)\n * The `min` prop serves as the origin for the valid values.\n * We recommend (max - min) to be evenly divisible by the step.\n *\n * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.\n */\n step: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().number),\n\n /**\n * The component used to display the value label.\n */\n ThumbComponent: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().elementType),\n\n /**\n * The track presentation:\n *\n * - `normal` the track will render a bar representing the slider value.\n * - `inverted` the track will render a bar representing the remaining slider value.\n * - `false` the track will render without a bar.\n */\n track: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['normal', false, 'inverted']),\n\n /**\n * The value of the slider.\n * For ranged sliders, provide an array with two values.\n */\n value: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().number), prop_types__WEBPACK_IMPORTED_MODULE_16___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_16___default().number))]),\n\n /**\n * The value label component.\n */\n ValueLabelComponent: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().elementType),\n\n /**\n * Controls when the value label is displayed:\n *\n * - `auto` the value label will display when the thumb is hovered or focused.\n * - `on` will display persistently.\n * - `off` will never display.\n */\n valueLabelDisplay: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['on', 'auto', 'off']),\n\n /**\n * The format function the value label's value.\n *\n * When a function is provided, it should have the following signature:\n *\n * - {number} value The value label's value to format\n * - {number} index The value label's index to format\n */\n valueLabelFormat: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(styles, {\n name: 'MuiSlider'\n})(Slider));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Slider/Slider.js?");
7453
7453
 
7454
7454
  /***/ }),
7455
7455
 
@@ -7471,7 +7471,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7471
7471
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7472
7472
 
7473
7473
  "use strict";
7474
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _internal_SwitchBase__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../internal/SwitchBase */ \"./node_modules/@material-ui/core/esm/internal/SwitchBase.js\");\n\n\n// @inheritedComponent IconButton\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -8\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -8\n },\n\n /* Styles applied to the internal `SwitchBase` component's `root` class. */\n switchBase: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[400],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n '&$checked': {\n transform: 'translateX(20px)'\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n opacity: 0.5\n },\n '&$disabled + $track': {\n opacity: theme.palette.type === 'light' ? 0.12 : 0.1\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"primary\"`. */\n colorPrimary: {\n '&$checked': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.primary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"secondary\"`. */\n colorSecondary: {\n '&$checked': {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.secondary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n width: 40,\n height: 24,\n padding: 7,\n '& $thumb': {\n width: 16,\n height: 16\n },\n '& $switchBase': {\n padding: 4,\n '&$checked': {\n transform: 'translateX(16px)'\n }\n }\n },\n\n /* Pseudo-class applied to the internal `SwitchBase` component's `checked` class. */\n checked: {},\n\n /* Pseudo-class applied to the internal SwitchBase component's disabled class. */\n disabled: {},\n\n /* Styles applied to the internal SwitchBase component's input element. */\n input: {\n left: '-100%',\n width: '300%'\n },\n\n /* Styles used to create the thumb passed to the internal `SwitchBase` component `icon` prop. */\n thumb: {\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n },\n\n /* Styles applied to the track element. */\n track: {\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.type === 'light' ? 0.38 : 0.3\n }\n };\n};\nvar Switch = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Switch(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'secondary' : _props$color,\n _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"className\", \"color\", \"edge\", \"size\"]);\n\n var icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.thumb\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge], size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(size))])\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_internal_SwitchBase__WEBPACK_IMPORTED_MODULE_7__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n classes: {\n root: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.switchBase, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(color))]),\n input: classes.input,\n checked: classes.checked,\n disabled: classes.disabled\n },\n ref: ref\n }, other)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.track\n }));\n});\n true ? Switch.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['default', 'primary', 'secondary']),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * The size of the switch.\n * `small` is equivalent to the dense switch styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['medium', 'small']),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiSwitch'\n})(Switch));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Switch/Switch.js?");
7474
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _internal_SwitchBase__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../internal/SwitchBase */ \"./node_modules/@material-ui/core/esm/internal/SwitchBase.js\");\n\n\n// @inheritedComponent IconButton\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -8\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -8\n },\n\n /* Styles applied to the internal `SwitchBase` component's `root` class. */\n switchBase: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[400],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n '&$checked': {\n transform: 'translateX(20px)'\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n opacity: 0.5\n },\n '&$disabled + $track': {\n opacity: theme.palette.type === 'light' ? 0.12 : 0.1\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"primary\"`. */\n colorPrimary: {\n '&$checked': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.primary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"secondary\"`. */\n colorSecondary: {\n '&$checked': {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.secondary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n width: 40,\n height: 24,\n padding: 7,\n '& $thumb': {\n width: 16,\n height: 16\n },\n '& $switchBase': {\n padding: 4,\n '&$checked': {\n transform: 'translateX(16px)'\n }\n }\n },\n\n /* Pseudo-class applied to the internal `SwitchBase` component's `checked` class. */\n checked: {},\n\n /* Pseudo-class applied to the internal SwitchBase component's disabled class. */\n disabled: {},\n\n /* Styles applied to the internal SwitchBase component's input element. */\n input: {\n left: '-100%',\n width: '300%'\n },\n\n /* Styles used to create the thumb passed to the internal `SwitchBase` component `icon` prop. */\n thumb: {\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n },\n\n /* Styles applied to the track element. */\n track: {\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.type === 'light' ? 0.38 : 0.3\n }\n };\n};\nvar Switch = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Switch(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'secondary' : _props$color,\n _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"className\", \"color\", \"edge\", \"size\"]);\n\n var icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.thumb\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge], size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(size))])\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_internal_SwitchBase__WEBPACK_IMPORTED_MODULE_6__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n classes: {\n root: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.switchBase, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(color))]),\n input: classes.input,\n checked: classes.checked,\n disabled: classes.disabled\n },\n ref: ref\n }, other)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.track\n }));\n});\n true ? Switch.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['default', 'primary', 'secondary']),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * The size of the switch.\n * `small` is equivalent to the dense switch styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['medium', 'small']),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiSwitch'\n})(Switch));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Switch/Switch.js?");
7475
7475
 
7476
7476
  /***/ }),
7477
7477
 
@@ -7482,7 +7482,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7482
7482
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7483
7483
 
7484
7484
  "use strict";
7485
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n margin: 0\n },\n\n /* Styles applied to the root element if `variant=\"body2\"`. */\n body2: theme.typography.body2,\n\n /* Styles applied to the root element if `variant=\"body1\"`. */\n body1: theme.typography.body1,\n\n /* Styles applied to the root element if `variant=\"caption\"`. */\n caption: theme.typography.caption,\n\n /* Styles applied to the root element if `variant=\"button\"`. */\n button: theme.typography.button,\n\n /* Styles applied to the root element if `variant=\"h1\"`. */\n h1: theme.typography.h1,\n\n /* Styles applied to the root element if `variant=\"h2\"`. */\n h2: theme.typography.h2,\n\n /* Styles applied to the root element if `variant=\"h3\"`. */\n h3: theme.typography.h3,\n\n /* Styles applied to the root element if `variant=\"h4\"`. */\n h4: theme.typography.h4,\n\n /* Styles applied to the root element if `variant=\"h5\"`. */\n h5: theme.typography.h5,\n\n /* Styles applied to the root element if `variant=\"h6\"`. */\n h6: theme.typography.h6,\n\n /* Styles applied to the root element if `variant=\"subtitle1\"`. */\n subtitle1: theme.typography.subtitle1,\n\n /* Styles applied to the root element if `variant=\"subtitle2\"`. */\n subtitle2: theme.typography.subtitle2,\n\n /* Styles applied to the root element if `variant=\"overline\"`. */\n overline: theme.typography.overline,\n\n /* Styles applied to the root element if `variant=\"srOnly\"`. Only accessible to screen readers. */\n srOnly: {\n position: 'absolute',\n height: 1,\n width: 1,\n overflow: 'hidden'\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `nowrap={true}`. */\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the root element if `gutterBottom={true}`. */\n gutterBottom: {\n marginBottom: '0.35em'\n },\n\n /* Styles applied to the root element if `paragraph={true}`. */\n paragraph: {\n marginBottom: 16\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `color=\"textPrimary\"`. */\n colorTextPrimary: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `color=\"textSecondary\"`. */\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n\n /* Styles applied to the root element if `display=\"inline\"`. */\n displayInline: {\n display: 'inline'\n },\n\n /* Styles applied to the root element if `display=\"block\"`. */\n displayBlock: {\n display: 'block'\n }\n };\n};\nvar defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p'\n};\nvar Typography = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Typography(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'initial' : _props$color,\n component = props.component,\n _props$display = props.display,\n display = _props$display === void 0 ? 'initial' : _props$display,\n _props$gutterBottom = props.gutterBottom,\n gutterBottom = _props$gutterBottom === void 0 ? false : _props$gutterBottom,\n _props$noWrap = props.noWrap,\n noWrap = _props$noWrap === void 0 ? false : _props$noWrap,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? false : _props$paragraph,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'body1' : _props$variant,\n _props$variantMapping = props.variantMapping,\n variantMapping = _props$variantMapping === void 0 ? defaultVariantMapping : _props$variantMapping,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"align\", \"classes\", \"className\", \"color\", \"component\", \"display\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"]);\n\n var Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, variant !== 'inherit' && classes[variant], color !== 'initial' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(color))], noWrap && classes.noWrap, gutterBottom && classes.gutterBottom, paragraph && classes.paragraph, align !== 'inherit' && classes[\"align\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(align))], display !== 'initial' && classes[\"display\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(display))]),\n ref: ref\n }, other));\n});\n true ? Typography.propTypes = {\n /**\n * Set the text-align on the component.\n */\n align: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['initial', 'inherit', 'primary', 'secondary', 'textPrimary', 'textSecondary', 'error']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * Overrides the behavior of the `variantMapping` prop.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().elementType),\n\n /**\n * Controls the display type\n */\n display: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['initial', 'block', 'inline']),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Applies the theme typography styles.\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'caption', 'button', 'overline', 'srOnly', 'inherit']),\n\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n */\n variantMapping: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(styles, {\n name: 'MuiTypography'\n})(Typography));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Typography/Typography.js?");
7485
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n margin: 0\n },\n\n /* Styles applied to the root element if `variant=\"body2\"`. */\n body2: theme.typography.body2,\n\n /* Styles applied to the root element if `variant=\"body1\"`. */\n body1: theme.typography.body1,\n\n /* Styles applied to the root element if `variant=\"caption\"`. */\n caption: theme.typography.caption,\n\n /* Styles applied to the root element if `variant=\"button\"`. */\n button: theme.typography.button,\n\n /* Styles applied to the root element if `variant=\"h1\"`. */\n h1: theme.typography.h1,\n\n /* Styles applied to the root element if `variant=\"h2\"`. */\n h2: theme.typography.h2,\n\n /* Styles applied to the root element if `variant=\"h3\"`. */\n h3: theme.typography.h3,\n\n /* Styles applied to the root element if `variant=\"h4\"`. */\n h4: theme.typography.h4,\n\n /* Styles applied to the root element if `variant=\"h5\"`. */\n h5: theme.typography.h5,\n\n /* Styles applied to the root element if `variant=\"h6\"`. */\n h6: theme.typography.h6,\n\n /* Styles applied to the root element if `variant=\"subtitle1\"`. */\n subtitle1: theme.typography.subtitle1,\n\n /* Styles applied to the root element if `variant=\"subtitle2\"`. */\n subtitle2: theme.typography.subtitle2,\n\n /* Styles applied to the root element if `variant=\"overline\"`. */\n overline: theme.typography.overline,\n\n /* Styles applied to the root element if `variant=\"srOnly\"`. Only accessible to screen readers. */\n srOnly: {\n position: 'absolute',\n height: 1,\n width: 1,\n overflow: 'hidden'\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `nowrap={true}`. */\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the root element if `gutterBottom={true}`. */\n gutterBottom: {\n marginBottom: '0.35em'\n },\n\n /* Styles applied to the root element if `paragraph={true}`. */\n paragraph: {\n marginBottom: 16\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `color=\"textPrimary\"`. */\n colorTextPrimary: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `color=\"textSecondary\"`. */\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n\n /* Styles applied to the root element if `display=\"inline\"`. */\n displayInline: {\n display: 'inline'\n },\n\n /* Styles applied to the root element if `display=\"block\"`. */\n displayBlock: {\n display: 'block'\n }\n };\n};\nvar defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p'\n};\nvar Typography = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Typography(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'initial' : _props$color,\n component = props.component,\n _props$display = props.display,\n display = _props$display === void 0 ? 'initial' : _props$display,\n _props$gutterBottom = props.gutterBottom,\n gutterBottom = _props$gutterBottom === void 0 ? false : _props$gutterBottom,\n _props$noWrap = props.noWrap,\n noWrap = _props$noWrap === void 0 ? false : _props$noWrap,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? false : _props$paragraph,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'body1' : _props$variant,\n _props$variantMapping = props.variantMapping,\n variantMapping = _props$variantMapping === void 0 ? defaultVariantMapping : _props$variantMapping,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"align\", \"classes\", \"className\", \"color\", \"component\", \"display\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"]);\n\n var Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, variant !== 'inherit' && classes[variant], color !== 'initial' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(color))], noWrap && classes.noWrap, gutterBottom && classes.gutterBottom, paragraph && classes.paragraph, align !== 'inherit' && classes[\"align\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(align))], display !== 'initial' && classes[\"display\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(display))]),\n ref: ref\n }, other));\n});\n true ? Typography.propTypes = {\n /**\n * Set the text-align on the component.\n */\n align: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['initial', 'inherit', 'primary', 'secondary', 'textPrimary', 'textSecondary', 'error']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * Overrides the behavior of the `variantMapping` prop.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * Controls the display type\n */\n display: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['initial', 'block', 'inline']),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * Applies the theme typography styles.\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'caption', 'button', 'overline', 'srOnly', 'inherit']),\n\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n */\n variantMapping: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(styles, {\n name: 'MuiTypography'\n})(Typography));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Typography/Typography.js?");
7486
7486
 
7487
7487
  /***/ }),
7488
7488
 
@@ -7581,7 +7581,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7581
7581
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7582
7582
 
7583
7583
  "use strict";
7584
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../IconButton */ \"./node_modules/@material-ui/core/esm/IconButton/IconButton.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n root: {\n padding: 9\n },\n checked: {},\n disabled: {},\n input: {\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n }\n};\n/**\n * @ignore - internal component.\n */\n\nvar SwitchBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function SwitchBase(props, ref) {\n var autoFocus = props.autoFocus,\n checkedProp = props.checked,\n checkedIcon = props.checkedIcon,\n classes = props.classes,\n className = props.className,\n defaultChecked = props.defaultChecked,\n disabledProp = props.disabled,\n icon = props.icon,\n id = props.id,\n inputProps = props.inputProps,\n inputRef = props.inputRef,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onFocus = props.onFocus,\n readOnly = props.readOnly,\n required = props.required,\n tabIndex = props.tabIndex,\n type = props.type,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"autoFocus\", \"checked\", \"checkedIcon\", \"classes\", \"className\", \"defaultChecked\", \"disabled\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"]);\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_6__[\"default\"])({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n checked = _useControlled2[0],\n setCheckedState = _useControlled2[1];\n\n var muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_7__[\"default\"])();\n\n var handleFocus = function handleFocus(event) {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n var handleInputChange = function handleInputChange(event) {\n var newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v5: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n var disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var hasLabelFor = type === 'checkbox' || type === 'radio';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_IconButton__WEBPACK_IMPORTED_MODULE_8__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, className, checked && classes.checked, disabled && classes.disabled),\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"input\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n tabIndex: tabIndex,\n type: type,\n value: value\n }, inputProps)), checked ? checkedIcon : icon);\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\n true ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node.isRequired),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node.isRequired),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n\n /*\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n\n /**\n * The input component prop `type`.\n */\n type: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string.isRequired),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(styles, {\n name: 'PrivateSwitchBase'\n})(SwitchBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/internal/SwitchBase.js?");
7584
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../IconButton */ \"./node_modules/@material-ui/core/esm/IconButton/IconButton.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n root: {\n padding: 9\n },\n checked: {},\n disabled: {},\n input: {\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n }\n};\n/**\n * @ignore - internal component.\n */\n\nvar SwitchBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function SwitchBase(props, ref) {\n var autoFocus = props.autoFocus,\n checkedProp = props.checked,\n checkedIcon = props.checkedIcon,\n classes = props.classes,\n className = props.className,\n defaultChecked = props.defaultChecked,\n disabledProp = props.disabled,\n icon = props.icon,\n id = props.id,\n inputProps = props.inputProps,\n inputRef = props.inputRef,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onFocus = props.onFocus,\n readOnly = props.readOnly,\n required = props.required,\n tabIndex = props.tabIndex,\n type = props.type,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"autoFocus\", \"checked\", \"checkedIcon\", \"classes\", \"className\", \"defaultChecked\", \"disabled\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"]);\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_5__[\"default\"])({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n checked = _useControlled2[0],\n setCheckedState = _useControlled2[1];\n\n var muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_6__[\"default\"])();\n\n var handleFocus = function handleFocus(event) {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n var handleInputChange = function handleInputChange(event) {\n var newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v5: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n var disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var hasLabelFor = type === 'checkbox' || type === 'radio';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_IconButton__WEBPACK_IMPORTED_MODULE_7__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, checked && classes.checked, disabled && classes.disabled),\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"input\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n tabIndex: tabIndex,\n type: type,\n value: value\n }, inputProps)), checked ? checkedIcon : icon);\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\n true ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node.isRequired),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node.isRequired),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n\n /*\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)]),\n\n /**\n * The input component prop `type`.\n */\n type: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string.isRequired),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(styles, {\n name: 'PrivateSwitchBase'\n})(SwitchBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/internal/SwitchBase.js?");
7585
7585
 
7586
7586
  /***/ }),
7587
7587
 
@@ -7845,7 +7845,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7845
7845
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7846
7846
 
7847
7847
  "use strict";
7848
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StylesContext\": () => (/* binding */ StylesContext),\n/* harmony export */ \"default\": () => (/* binding */ StylesProvider),\n/* harmony export */ \"sheetsManager\": () => (/* binding */ sheetsManager)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/exactProp.js\");\n/* harmony import */ var _createGenerateClassName__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../createGenerateClassName */ \"./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js\");\n/* harmony import */ var jss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! jss */ \"./node_modules/jss/dist/jss.esm.js\");\n/* harmony import */ var _jssPreset__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../jssPreset */ \"./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js\");\n\n\n\n\n\n\n\n // Default JSS instance.\n\nvar jss = (0,jss__WEBPACK_IMPORTED_MODULE_4__.create)((0,_jssPreset__WEBPACK_IMPORTED_MODULE_5__[\"default\"])()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = (0,_createGenerateClassName__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(); // Exported for test purposes\n\nvar sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nvar StylesContext = react__WEBPACK_IMPORTED_MODULE_2__.createContext(defaultOptions);\n\nif (true) {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nfunction StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = react__WEBPACK_IMPORTED_MODULE_2__.useContext(StylesContext);\n\n var context = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (true) {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (true) {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and <StylesContext injectFirst> at the same time.');\n }\n }\n\n if (true) {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = (0,jss__WEBPACK_IMPORTED_MODULE_4__.create)({\n plugins: (0,_jssPreset__WEBPACK_IMPORTED_MODULE_5__[\"default\"])().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\n true ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node.isRequired),\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * JSS's class name generator.\n */\n generateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * JSS's instance.\n */\n jss: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n serverGenerateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)\n} : 0;\n\nif (true) {\n true ? StylesProvider.propTypes = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(StylesProvider.propTypes) : 0;\n}\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js?");
7848
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StylesContext\": () => (/* binding */ StylesContext),\n/* harmony export */ \"default\": () => (/* binding */ StylesProvider),\n/* harmony export */ \"sheetsManager\": () => (/* binding */ sheetsManager)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/exactProp.js\");\n/* harmony import */ var _createGenerateClassName__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../createGenerateClassName */ \"./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js\");\n/* harmony import */ var jss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jss */ \"./node_modules/jss/dist/jss.esm.js\");\n/* harmony import */ var _jssPreset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../jssPreset */ \"./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js\");\n\n\n\n\n\n\n\n // Default JSS instance.\n\nvar jss = (0,jss__WEBPACK_IMPORTED_MODULE_3__.create)((0,_jssPreset__WEBPACK_IMPORTED_MODULE_4__[\"default\"])()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = (0,_createGenerateClassName__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(); // Exported for test purposes\n\nvar sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nvar StylesContext = react__WEBPACK_IMPORTED_MODULE_2__.createContext(defaultOptions);\n\nif (true) {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nfunction StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = react__WEBPACK_IMPORTED_MODULE_2__.useContext(StylesContext);\n\n var context = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (true) {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (true) {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and <StylesContext injectFirst> at the same time.');\n }\n }\n\n if (true) {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = (0,jss__WEBPACK_IMPORTED_MODULE_3__.create)({\n plugins: (0,_jssPreset__WEBPACK_IMPORTED_MODULE_4__[\"default\"])().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\n true ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node.isRequired),\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n\n /**\n * JSS's class name generator.\n */\n generateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n\n /**\n * JSS's instance.\n */\n jss: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n\n /**\n * @ignore\n */\n serverGenerateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object)\n} : 0;\n\nif (true) {\n true ? StylesProvider.propTypes = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(StylesProvider.propTypes) : 0;\n}\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js?");
7849
7849
 
7850
7850
  /***/ }),
7851
7851
 
@@ -7999,7 +7999,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7999
7999
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8000
8000
 
8001
8001
  "use strict";
8002
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/getDisplayName.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _makeStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../makeStyles */ \"./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js\");\n/* harmony import */ var _getThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../getThemeProps */ \"./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js\");\n/* harmony import */ var _useTheme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../useTheme */ \"./node_modules/@material-ui/styles/esm/useTheme/useTheme.js\");\n\n\n\n\n\n\n\n\n // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (true) {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (true) {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = (0,_makeStyles__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(stylesOrCreator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = (0,_useTheme__WEBPACK_IMPORTED_MODULE_7__[\"default\"])() || defaultTheme;\n\n if (name) {\n more = (0,_getThemeProps__WEBPACK_IMPORTED_MODULE_8__[\"default\"])({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n true ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : 0;\n\n if (true) {\n WithStyles.displayName = \"WithStyles(\".concat((0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Component), \")\");\n }\n\n hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4___default()(WithStyles, Component);\n\n if (true) {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (withStyles);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/withStyles/withStyles.js?");
8002
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/getDisplayName.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _makeStyles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../makeStyles */ \"./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js\");\n/* harmony import */ var _getThemeProps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../getThemeProps */ \"./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js\");\n/* harmony import */ var _useTheme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../useTheme */ \"./node_modules/@material-ui/styles/esm/useTheme/useTheme.js\");\n\n\n\n\n\n\n\n\n // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (true) {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (true) {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = (0,_makeStyles__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(stylesOrCreator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = (0,_useTheme__WEBPACK_IMPORTED_MODULE_6__[\"default\"])() || defaultTheme;\n\n if (name) {\n more = (0,_getThemeProps__WEBPACK_IMPORTED_MODULE_7__[\"default\"])({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n true ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : 0;\n\n if (true) {\n WithStyles.displayName = \"WithStyles(\".concat((0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Component), \")\");\n }\n\n hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3___default()(WithStyles, Component);\n\n if (true) {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (withStyles);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/withStyles/withStyles.js?");
8003
8003
 
8004
8004
  /***/ }),
8005
8005
 
@@ -8010,7 +8010,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8010
8010
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8011
8011
 
8012
8012
  "use strict";
8013
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"handleBreakpoints\": () => (/* binding */ handleBreakpoints)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./merge */ \"./node_modules/@material-ui/system/esm/merge.js\");\n\n\n\n\n // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nfunction handleBreakpoints(props, propValue, styleFromPropValue) {\n if (true) {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if ((0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return (0,_merge__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(base, extended);\n };\n\n newStyleFunction.propTypes = true ? (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, styleFunction.propTypes, {\n xs: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n sm: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n md: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n lg: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n xl: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)\n }) : 0;\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(styleFunction.filterProps));\n return newStyleFunction;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (breakpoints);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/system/esm/breakpoints.js?");
8013
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"handleBreakpoints\": () => (/* binding */ handleBreakpoints)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./merge */ \"./node_modules/@material-ui/system/esm/merge.js\");\n\n\n\n\n // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nfunction handleBreakpoints(props, propValue, styleFromPropValue) {\n if (true) {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if ((0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return (0,_merge__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(base, extended);\n };\n\n newStyleFunction.propTypes = true ? (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, styleFunction.propTypes, {\n xs: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sm: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n md: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n lg: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n xl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)\n }) : 0;\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(styleFunction.filterProps));\n return newStyleFunction;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (breakpoints);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/system/esm/breakpoints.js?");
8014
8014
 
8015
8015
  /***/ }),
8016
8016
 
@@ -8087,7 +8087,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8087
8087
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8088
8088
 
8089
8089
  "use strict";
8090
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _chainPropTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chainPropTypes */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n\n\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n var warningHint;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element type that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://material-ui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_chainPropTypes__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_0__.elementType, elementTypeAcceptingRef));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js?");
8090
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _chainPropTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chainPropTypes */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n\n\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n var warningHint;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element type that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://material-ui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_chainPropTypes__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_1__.elementType, elementTypeAcceptingRef));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js?");
8091
8091
 
8092
8092
  /***/ }),
8093
8093
 
@@ -8366,6 +8366,16 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
8366
8366
 
8367
8367
  /***/ }),
8368
8368
 
8369
+ /***/ "./node_modules/@ogre-tools/fp/build/index.js":
8370
+ /*!****************************************************!*\
8371
+ !*** ./node_modules/@ogre-tools/fp/build/index.js ***!
8372
+ \****************************************************/
8373
+ /***/ ((module) => {
8374
+
8375
+ eval("module.exports=function(t){var r={};function n(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=r,n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:e})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,r){if(1&r&&(t=n(t)),8&r)return t;if(4&r&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&r&&\"string\"!=typeof t)for(var o in t)n.d(e,o,function(r){return t[r]}.bind(null,o));return e},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,\"a\",r),r},n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.p=\"\",n(n.s=255)}([function(t,r){var n=Array.isArray;t.exports=n},function(t,r){t.exports={}},function(t,r,n){var e=n(119),o=n(121);t.exports=function(t,r,n){return e(o,t,r,n)}},function(t,r,n){var e=n(66),o=\"object\"==typeof self&&self&&self.Object===Object&&self,i=e||o||Function(\"return this\")();t.exports=i},function(t,r){t.exports=function(t){return null!=t&&\"object\"==typeof t}},function(t,r){t.exports=function(t){var r=typeof t;return null!=t&&(\"object\"==r||\"function\"==r)}},function(t,r,n){var e=n(123),o=n(128);t.exports=function(t,r){var n=o(t,r);return e(n)?n:void 0}},function(t,r,n){var e=n(8),o=n(124),i=n(125),a=e?e.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":a&&a in Object(t)?o(t):i(t)}},function(t,r,n){var e=n(3).Symbol;t.exports=e},function(t,r,n){var e=n(82),o=n(84),i=n(16);t.exports=function(t){return i(t)?e(t):o(t)}},function(t,r,n){var e=n(188),o=n(50),i=n(189),a=n(190),u=n(65),c=n(7),f=n(67),s=f(e),p=f(o),l=f(i),v=f(a),h=f(u),d=c;(e&&\"[object DataView]\"!=d(new e(new ArrayBuffer(1)))||o&&\"[object Map]\"!=d(new o)||i&&\"[object Promise]\"!=d(i.resolve())||a&&\"[object Set]\"!=d(new a)||u&&\"[object WeakMap]\"!=d(new u))&&(d=function(t){var r=c(t),n=\"[object Object]\"==r?t.constructor:void 0,e=n?f(n):\"\";if(e)switch(e){case s:return\"[object DataView]\";case p:return\"[object Map]\";case l:return\"[object Promise]\";case v:return\"[object Set]\";case h:return\"[object WeakMap]\"}return r}),t.exports=d},function(t,r){t.exports={cap:!1,curry:!1,fixed:!1,immutable:!1,rearg:!1}},function(t,r,n){var e=n(2)(\"isArray\",n(0),n(11));e.placeholder=n(1),t.exports=e},function(t,r){t.exports=function(t){return t}},function(t,r){var n=/^(?:0|[1-9]\\d*)$/;t.exports=function(t,r){var e=typeof t;return!!(r=null==r?9007199254740991:r)&&(\"number\"==e||\"symbol\"!=e&&n.test(t))&&t>-1&&t%1==0&&t<r}},function(t,r,n){var e=n(7),o=n(4);t.exports=function(t){return\"symbol\"==typeof t||o(t)&&\"[object Symbol]\"==e(t)}},function(t,r,n){var e=n(34),o=n(46);t.exports=function(t){return null!=t&&o(t.length)&&!e(t)}},function(t,r,n){var e=n(205),o=n(216),i=n(13),a=n(0),u=n(223);t.exports=function(t){return\"function\"==typeof t?t:null==t?i:\"object\"==typeof t?a(t)?o(t[0],t[1]):e(t):u(t)}},function(t,r){t.exports=function(t,r){for(var n=-1,e=null==t?0:t.length,o=Array(e);++n<e;)o[n]=r(t[n],n,t);return o}},function(t,r,n){var e=n(15);t.exports=function(t){if(\"string\"==typeof t||e(t))return t;var r=t+\"\";return\"0\"==r&&1/t==-1/0?\"-0\":r}},function(t,r,n){var e=n(21),o=n(5);t.exports=function(t){return function(){var r=arguments;switch(r.length){case 0:return new t;case 1:return new t(r[0]);case 2:return new t(r[0],r[1]);case 3:return new t(r[0],r[1],r[2]);case 4:return new t(r[0],r[1],r[2],r[3]);case 5:return new t(r[0],r[1],r[2],r[3],r[4]);case 6:return new t(r[0],r[1],r[2],r[3],r[4],r[5]);case 7:return new t(r[0],r[1],r[2],r[3],r[4],r[5],r[6])}var n=e(t.prototype),i=t.apply(n,r);return o(i)?i:n}}},function(t,r,n){var e=n(5),o=Object.create,i=function(){function t(){}return function(r){if(!e(r))return{};if(o)return o(r);t.prototype=r;var n=new t;return t.prototype=void 0,n}}();t.exports=i},function(t,r){t.exports=function(t,r,n){switch(n.length){case 0:return t.call(r);case 1:return t.call(r,n[0]);case 2:return t.call(r,n[0],n[1]);case 3:return t.call(r,n[0],n[1],n[2])}return t.apply(r,n)}},function(t,r){t.exports=function(t,r){var n=-1,e=t.length;for(r||(r=Array(e));++n<e;)r[n]=t[n];return r}},function(t,r,n){var e=n(80),o=n(81);t.exports=function(t,r,n,i){var a=!n;n||(n={});for(var u=-1,c=r.length;++u<c;){var f=r[u],s=i?i(n[f],t[f],f,n,t):void 0;void 0===s&&(s=t[f]),a?o(n,f,s):e(n,f,s)}return n}},function(t,r){t.exports=function(t,r){return t===r||t!=t&&r!=r}},function(t,r){t.exports=function(t){return function(r){return t(r)}}},function(t,r,n){var e=n(159),o=n(160),i=n(161),a=n(162),u=n(163);function c(t){var r=-1,n=null==t?0:t.length;for(this.clear();++r<n;){var e=t[r];this.set(e[0],e[1])}}c.prototype.clear=e,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},function(t,r,n){var e=n(25);t.exports=function(t,r){for(var n=t.length;n--;)if(e(t[n][0],r))return n;return-1}},function(t,r,n){var e=n(6)(Object,\"create\");t.exports=e},function(t,r,n){var e=n(177);t.exports=function(t,r){var n=t.__data__;return e(r)?n[\"string\"==typeof r?\"string\":\"hash\"]:n.map}},function(t,r,n){var e=n(2)(\"curry\",n(93));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"flow\",n(231));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(63),o=n(129),i=n(130),a=n(68),u=n(147),c=n(37),f=n(148),s=n(74),p=n(76),l=n(42),v=Math.max;t.exports=function(t,r,n,h,d,y,g,x){var b=2&r;if(!b&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var _=h?h.length:0;if(_||(r&=-97,h=d=void 0),g=void 0===g?g:v(l(g),0),x=void 0===x?x:l(x),_-=d?d.length:0,64&r){var m=h,j=d;h=d=void 0}var A=b?void 0:c(t),w=[t,r,n,h,d,m,j,y,g,x];if(A&&f(w,A),t=w[0],r=w[1],n=w[2],h=w[3],d=w[4],!(x=w[9]=void 0===w[9]?b?0:t.length:v(w[9]-_,0))&&24&r&&(r&=-25),r&&1!=r)O=8==r||16==r?i(t,r,x):32!=r&&33!=r||d.length?a.apply(void 0,w):u(t,r,n,h);else var O=o(t,r,n);return p((A?e:s)(O,w),t,r)}},function(t,r,n){var e=n(7),o=n(5);t.exports=function(t){if(!o(t))return!1;var r=e(t);return\"[object Function]\"==r||\"[object GeneratorFunction]\"==r||\"[object AsyncFunction]\"==r||\"[object Proxy]\"==r}},function(t,r,n){var e=n(21),o=n(36);function i(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}i.prototype=e(o.prototype),i.prototype.constructor=i,t.exports=i},function(t,r){t.exports=function(){}},function(t,r,n){var e=n(64),o=n(132),i=e?function(t){return e.get(t)}:o;t.exports=i},function(t,r,n){var e=n(21),o=n(36);function i(t,r){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!r,this.__index__=0,this.__values__=void 0}i.prototype=e(o.prototype),i.prototype.constructor=i,t.exports=i},function(t,r,n){var e=n(138),o=n(75)(e);t.exports=o},function(t,r){t.exports=function(t,r){for(var n=-1,e=null==t?0:t.length;++n<e&&!1!==r(t[n],n,t););return t}},function(t,r){t.exports=function(t,r){for(var n=-1,e=t.length,o=0,i=[];++n<e;){var a=t[n];a!==r&&\"__lodash_placeholder__\"!==a||(t[n]=\"__lodash_placeholder__\",i[o++]=n)}return i}},function(t,r,n){var e=n(149);t.exports=function(t){var r=e(t),n=r%1;return r==r?n?r-n:r:0}},function(t,r,n){var e=n(154),o=n(4),i=Object.prototype,a=i.hasOwnProperty,u=i.propertyIsEnumerable,c=e(function(){return arguments}())?e:function(t){return o(t)&&a.call(t,\"callee\")&&!u.call(t,\"callee\")};t.exports=c},function(t,r,n){(function(t){var e=n(3),o=n(155),i=r&&!r.nodeType&&r,a=i&&\"object\"==typeof t&&t&&!t.nodeType&&t,u=a&&a.exports===i?e.Buffer:void 0,c=(u?u.isBuffer:void 0)||o;t.exports=c}).call(this,n(45)(t))},function(t,r){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,r){t.exports=function(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},function(t,r,n){(function(t){var e=n(66),o=r&&!r.nodeType&&r,i=o&&\"object\"==typeof t&&t&&!t.nodeType&&t,a=i&&i.exports===o&&e.process,u=function(){try{var t=i&&i.require&&i.require(\"util\").types;return t||a&&a.binding&&a.binding(\"util\")}catch(t){}}();t.exports=u}).call(this,n(45)(t))},function(t,r){var n=Object.prototype;t.exports=function(t){var r=t&&t.constructor;return t===(\"function\"==typeof r&&r.prototype||n)}},function(t,r,n){var e=n(27),o=n(164),i=n(165),a=n(166),u=n(167),c=n(168);function f(t){var r=this.__data__=new e(t);this.size=r.size}f.prototype.clear=o,f.prototype.delete=i,f.prototype.get=a,f.prototype.has=u,f.prototype.set=c,t.exports=f},function(t,r,n){var e=n(6)(n(3),\"Map\");t.exports=e},function(t,r,n){var e=n(169),o=n(176),i=n(178),a=n(179),u=n(180);function c(t){var r=-1,n=null==t?0:t.length;for(this.clear();++r<n;){var e=t[r];this.set(e[0],e[1])}}c.prototype.clear=e,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},function(t,r,n){var e=n(82),o=n(182),i=n(16);t.exports=function(t){return i(t)?e(t,!0):o(t)}},function(t,r,n){var e=n(87),o=n(88),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,u=a?function(t){return null==t?[]:(t=Object(t),e(a(t),(function(r){return i.call(t,r)})))}:o;t.exports=u},function(t,r){t.exports=function(t,r){for(var n=-1,e=r.length,o=t.length;++n<e;)t[o+n]=r[n];return t}},function(t,r,n){var e=n(85)(Object.getPrototypeOf,Object);t.exports=e},function(t,r,n){var e=n(92);t.exports=function(t){var r=new t.constructor(t.byteLength);return new e(r).set(new e(t)),r}},function(t,r){t.exports=function(t,r){for(var n=-1,e=null==t?0:t.length;++n<e;)if(r(t[n],n,t))return!0;return!1}},function(t,r,n){var e=n(0),o=n(15),i=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,a=/^\\w*$/;t.exports=function(t,r){if(e(t))return!1;var n=typeof t;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=t&&!o(t))||(a.test(t)||!i.test(t)||null!=r&&t in Object(r))}},function(t,r,n){var e=n(227),o=n(105),i=n(39);t.exports=function(t){return i(o(t,void 0,e),t+\"\")}},function(t,r,n){var e=n(235),o=n(238)(e);t.exports=o},function(t,r,n){var e=n(2)(\"map\",n(245));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"nth\",n(247));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(13),o=n(64),i=o?function(t,r){return o.set(t,r),t}:e;t.exports=i},function(t,r,n){var e=n(65),o=e&&new e;t.exports=o},function(t,r,n){var e=n(6)(n(3),\"WeakMap\");t.exports=e},function(t,r){var n=\"object\"==typeof global&&global&&global.Object===Object&&global;t.exports=n},function(t,r){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}},function(t,r,n){var e=n(69),o=n(70),i=n(131),a=n(20),u=n(71),c=n(78),f=n(146),s=n(41),p=n(3);t.exports=function t(r,n,l,v,h,d,y,g,x,b){var _=128&n,m=1&n,j=2&n,A=24&n,w=512&n,O=j?void 0:a(r);return function W(){for(var I=arguments.length,S=Array(I),P=I;P--;)S[P]=arguments[P];if(A)var E=c(W),R=i(S,E);if(v&&(S=e(S,v,h,A)),d&&(S=o(S,d,y,A)),I-=R,A&&I<b){var k=s(S,E);return u(r,n,t,W.placeholder,l,S,k,g,x,b-I)}var M=m?l:this,F=j?M[r]:r;return I=S.length,g?S=f(S,g):w&&I>1&&S.reverse(),_&&x<I&&(S.length=x),this&&this!==p&&this instanceof W&&(F=O||a(F)),F.apply(M,S)}}},function(t,r){var n=Math.max;t.exports=function(t,r,e,o){for(var i=-1,a=t.length,u=e.length,c=-1,f=r.length,s=n(a-u,0),p=Array(f+s),l=!o;++c<f;)p[c]=r[c];for(;++i<u;)(l||i<a)&&(p[e[i]]=t[i]);for(;s--;)p[c++]=t[i++];return p}},function(t,r){var n=Math.max;t.exports=function(t,r,e,o){for(var i=-1,a=t.length,u=-1,c=e.length,f=-1,s=r.length,p=n(a-c,0),l=Array(p+s),v=!o;++i<p;)l[i]=t[i];for(var h=i;++f<s;)l[h+f]=r[f];for(;++u<c;)(v||i<a)&&(l[h+e[u]]=t[i++]);return l}},function(t,r,n){var e=n(72),o=n(74),i=n(76);t.exports=function(t,r,n,a,u,c,f,s,p,l){var v=8&r;r|=v?32:64,4&(r&=~(v?64:32))||(r&=-4);var h=[t,r,u,v?c:void 0,v?f:void 0,v?void 0:c,v?void 0:f,s,p,l],d=n.apply(void 0,h);return e(t)&&o(d,h),d.placeholder=a,i(d,t,r)}},function(t,r,n){var e=n(35),o=n(37),i=n(73),a=n(134);t.exports=function(t){var r=i(t),n=a[r];if(\"function\"!=typeof n||!(r in e.prototype))return!1;if(t===n)return!0;var u=o(n);return!!u&&t===u[0]}},function(t,r,n){var e=n(133),o=Object.prototype.hasOwnProperty;t.exports=function(t){for(var r=t.name+\"\",n=e[r],i=o.call(e,r)?n.length:0;i--;){var a=n[i],u=a.func;if(null==u||u==t)return a.name}return r}},function(t,r,n){var e=n(63),o=n(75)(e);t.exports=o},function(t,r){var n=Date.now;t.exports=function(t){var r=0,e=0;return function(){var o=n(),i=16-(o-e);if(e=o,i>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}},function(t,r,n){var e=n(136),o=n(137),i=n(39),a=n(140);t.exports=function(t,r,n){var u=r+\"\";return i(t,o(u,a(e(u),n)))}},function(t,r,n){var e=n(6),o=function(){try{var t=e(Object,\"defineProperty\");return t({},\"\",{}),t}catch(t){}}();t.exports=o},function(t,r){t.exports=function(t){return t.placeholder}},function(t,r,n){var e=n(24),o=n(9);t.exports=function(t,r){return t&&e(r,o(r),t)}},function(t,r,n){var e=n(81),o=n(25),i=Object.prototype.hasOwnProperty;t.exports=function(t,r,n){var a=t[r];i.call(t,r)&&o(a,n)&&(void 0!==n||r in t)||e(t,r,n)}},function(t,r,n){var e=n(77);t.exports=function(t,r,n){\"__proto__\"==r&&e?e(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}},function(t,r,n){var e=n(153),o=n(43),i=n(0),a=n(44),u=n(14),c=n(83),f=Object.prototype.hasOwnProperty;t.exports=function(t,r){var n=i(t),s=!n&&o(t),p=!n&&!s&&a(t),l=!n&&!s&&!p&&c(t),v=n||s||p||l,h=v?e(t.length,String):[],d=h.length;for(var y in t)!r&&!f.call(t,y)||v&&(\"length\"==y||p&&(\"offset\"==y||\"parent\"==y)||l&&(\"buffer\"==y||\"byteLength\"==y||\"byteOffset\"==y)||u(y,d))||h.push(y);return h}},function(t,r,n){var e=n(156),o=n(26),i=n(47),a=i&&i.isTypedArray,u=a?o(a):e;t.exports=u},function(t,r,n){var e=n(48),o=n(157),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!e(t))return o(t);var r=[];for(var n in Object(t))i.call(t,n)&&\"constructor\"!=n&&r.push(n);return r}},function(t,r){t.exports=function(t,r){return function(n){return t(r(n))}}},function(t,r,n){var e=n(49),o=n(40),i=n(80),a=n(79),u=n(181),c=n(184),f=n(23),s=n(185),p=n(186),l=n(90),v=n(187),h=n(10),d=n(191),y=n(192),g=n(197),x=n(0),b=n(44),_=n(198),m=n(5),j=n(200),A=n(9),w=n(52),O={};O[\"[object Arguments]\"]=O[\"[object Array]\"]=O[\"[object ArrayBuffer]\"]=O[\"[object DataView]\"]=O[\"[object Boolean]\"]=O[\"[object Date]\"]=O[\"[object Float32Array]\"]=O[\"[object Float64Array]\"]=O[\"[object Int8Array]\"]=O[\"[object Int16Array]\"]=O[\"[object Int32Array]\"]=O[\"[object Map]\"]=O[\"[object Number]\"]=O[\"[object Object]\"]=O[\"[object RegExp]\"]=O[\"[object Set]\"]=O[\"[object String]\"]=O[\"[object Symbol]\"]=O[\"[object Uint8Array]\"]=O[\"[object Uint8ClampedArray]\"]=O[\"[object Uint16Array]\"]=O[\"[object Uint32Array]\"]=!0,O[\"[object Error]\"]=O[\"[object Function]\"]=O[\"[object WeakMap]\"]=!1,t.exports=function t(r,n,W,I,S,P){var E,R=1&n,k=2&n,M=4&n;if(W&&(E=S?W(r,I,S,P):W(r)),void 0!==E)return E;if(!m(r))return r;var F=x(r);if(F){if(E=d(r),!R)return f(r,E)}else{var B=h(r),z=\"[object Function]\"==B||\"[object GeneratorFunction]\"==B;if(b(r))return c(r,R);if(\"[object Object]\"==B||\"[object Arguments]\"==B||z&&!S){if(E=k||z?{}:g(r),!R)return k?p(r,u(E,r)):s(r,a(E,r))}else{if(!O[B])return S?r:{};E=y(r,B,R)}}P||(P=new e);var T=P.get(r);if(T)return T;P.set(r,E),j(r)?r.forEach((function(e){E.add(t(e,n,W,e,r,P))})):_(r)&&r.forEach((function(e,o){E.set(o,t(e,n,W,o,r,P))}));var C=F?void 0:(M?k?v:l:k?w:A)(r);return o(C||r,(function(e,o){C&&(e=r[o=e]),i(E,o,t(e,n,W,o,r,P))})),E}},function(t,r){t.exports=function(t,r){for(var n=-1,e=null==t?0:t.length,o=0,i=[];++n<e;){var a=t[n];r(a,n,t)&&(i[o++]=a)}return i}},function(t,r){t.exports=function(){return[]}},function(t,r,n){var e=n(54),o=n(55),i=n(53),a=n(88),u=Object.getOwnPropertySymbols?function(t){for(var r=[];t;)e(r,i(t)),t=o(t);return r}:a;t.exports=u},function(t,r,n){var e=n(91),o=n(53),i=n(9);t.exports=function(t){return e(t,i,o)}},function(t,r,n){var e=n(54),o=n(0);t.exports=function(t,r,n){var i=r(t);return o(t)?i:e(i,n(t))}},function(t,r,n){var e=n(3).Uint8Array;t.exports=e},function(t,r,n){var e=n(33);function o(t,r,n){var i=e(t,8,void 0,void 0,void 0,void 0,void 0,r=n?void 0:r);return i.placeholder=o.placeholder,i}o.placeholder={},t.exports=o},function(t,r,n){var e=n(7),o=n(55),i=n(4),a=Function.prototype,u=Object.prototype,c=a.toString,f=u.hasOwnProperty,s=c.call(Object);t.exports=function(t){if(!i(t)||\"[object Object]\"!=e(t))return!1;var r=o(t);if(null===r)return!0;var n=f.call(r,\"constructor\")&&r.constructor;return\"function\"==typeof n&&n instanceof n&&c.call(n)==s}},function(t,r,n){var e=n(207),o=n(4);t.exports=function t(r,n,i,a,u){return r===n||(null==r||null==n||!o(r)&&!o(n)?r!=r&&n!=n:e(r,n,i,a,t,u))}},function(t,r,n){var e=n(208),o=n(57),i=n(211);t.exports=function(t,r,n,a,u,c){var f=1&n,s=t.length,p=r.length;if(s!=p&&!(f&&p>s))return!1;var l=c.get(t),v=c.get(r);if(l&&v)return l==r&&v==t;var h=-1,d=!0,y=2&n?new e:void 0;for(c.set(t,r),c.set(r,t);++h<s;){var g=t[h],x=r[h];if(a)var b=f?a(x,g,h,r,t,c):a(g,x,h,t,r,c);if(void 0!==b){if(b)continue;d=!1;break}if(y){if(!o(r,(function(t,r){if(!i(y,r)&&(g===t||u(g,t,n,a,c)))return y.push(r)}))){d=!1;break}}else if(g!==x&&!u(g,x,n,a,c)){d=!1;break}}return c.delete(t),c.delete(r),d}},function(t,r){t.exports=function(t){var r=-1,n=Array(t.size);return t.forEach((function(t,e){n[++r]=[e,t]})),n}},function(t,r,n){var e=n(5);t.exports=function(t){return t==t&&!e(t)}},function(t,r){t.exports=function(t,r){return function(n){return null!=n&&(n[t]===r&&(void 0!==r||t in Object(n)))}}},function(t,r,n){var e=n(101);t.exports=function(t,r,n){var o=null==t?void 0:e(t,r);return void 0===o?n:o}},function(t,r,n){var e=n(102),o=n(19);t.exports=function(t,r){for(var n=0,i=(r=e(r,t)).length;null!=t&&n<i;)t=t[o(r[n++])];return n&&n==i?t:void 0}},function(t,r,n){var e=n(0),o=n(58),i=n(103),a=n(104);t.exports=function(t,r){return e(t)?t:o(t,r)?[t]:i(a(t))}},function(t,r,n){var e=n(217),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,i=/\\\\(\\\\)?/g,a=e((function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(\"\"),t.replace(o,(function(t,n,e,o){r.push(e?o.replace(i,\"$1\"):n||t)})),r}));t.exports=a},function(t,r,n){var e=n(219);t.exports=function(t){return null==t?\"\":e(t)}},function(t,r,n){var e=n(22),o=Math.max;t.exports=function(t,r,n){return r=o(void 0===r?t.length-1:r,0),function(){for(var i=arguments,a=-1,u=o(i.length-r,0),c=Array(u);++a<u;)c[a]=i[r+a];a=-1;for(var f=Array(r+1);++a<r;)f[a]=i[a];return f[r]=n(c),e(t,this,f)}}},function(t,r,n){var e=n(38),o=n(59),i=n(37),a=n(73),u=n(0),c=n(72);t.exports=function(t){return o((function(r){var n=r.length,o=n,f=e.prototype.thru;for(t&&r.reverse();o--;){var s=r[o];if(\"function\"!=typeof s)throw new TypeError(\"Expected a function\");if(f&&!p&&\"wrapper\"==a(s))var p=new e([],!0)}for(o=p?o:n;++o<n;){s=r[o];var l=a(s),v=\"wrapper\"==l?i(s):void 0;p=v&&c(v[0])&&424==v[1]&&!v[4].length&&1==v[9]?p[a(v[0])].apply(p,v[3]):1==s.length&&c(s)?p[l]():p.thru(s)}return function(){var t=arguments,e=t[0];if(p&&1==t.length&&u(e))return p.plant(e).value();for(var o=0,i=n?r[o].apply(this,t):e;++o<n;)i=r[o].call(this,i);return i}}))}},function(t,r){t.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");return function(){var r=arguments;switch(r.length){case 0:return!t.call(this);case 1:return!t.call(this,r[0]);case 2:return!t.call(this,r[0],r[1]);case 3:return!t.call(this,r[0],r[1],r[2])}return!t.apply(this,r)}}},function(t,r,n){var e=n(2)(\"flowRight\",n(232));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"get\",n(100));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"identity\",n(13),n(11));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"some\",n(233));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"isPlainObject\",n(94),n(11));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"negate\",n(107),n(11));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"overSome\",n(240));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"fromPairs\",n(243));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"isUndefined\",n(244),n(11));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"reject\",n(249));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(2)(\"toPairs\",n(251),n(11));e.placeholder=n(1),t.exports=e},function(t,r,n){var e=n(120),o=n(1),i=Array.prototype.push;function a(t,r){return 2==r?function(r,n){return t(r,n)}:function(r){return t(r)}}function u(t){for(var r=t?t.length:0,n=Array(r);r--;)n[r]=t[r];return n}function c(t,r){return function(){var n=arguments.length;if(n){for(var e=Array(n);n--;)e[n]=arguments[n];var o=e[0]=r.apply(void 0,e);return t.apply(void 0,e),o}}}t.exports=function t(r,n,f,s){var p=\"function\"==typeof n,l=n===Object(n);if(l&&(s=f,f=n,n=void 0),null==f)throw new TypeError;s||(s={});var v=!(\"cap\"in s)||s.cap,h=!(\"curry\"in s)||s.curry,d=!(\"fixed\"in s)||s.fixed,y=!(\"immutable\"in s)||s.immutable,g=!(\"rearg\"in s)||s.rearg,x=p?f:o,b=\"curry\"in s&&s.curry,_=\"fixed\"in s&&s.fixed,m=\"rearg\"in s&&s.rearg,j=p?f.runInContext():void 0,A=p?f:{ary:r.ary,assign:r.assign,clone:r.clone,curry:r.curry,forEach:r.forEach,isArray:r.isArray,isError:r.isError,isFunction:r.isFunction,isWeakMap:r.isWeakMap,iteratee:r.iteratee,keys:r.keys,rearg:r.rearg,toInteger:r.toInteger,toPath:r.toPath},w=A.ary,O=A.assign,W=A.clone,I=A.curry,S=A.forEach,P=A.isArray,E=A.isError,R=A.isFunction,k=A.isWeakMap,M=A.keys,F=A.rearg,B=A.toInteger,z=A.toPath,T=M(e.aryMethod),C={castArray:function(t){return function(){var r=arguments[0];return P(r)?t(u(r)):t.apply(void 0,arguments)}},iteratee:function(t){return function(){var r=arguments[0],n=arguments[1],e=t(r,n),o=e.length;return v&&\"number\"==typeof n?(n=n>2?n-2:1,o&&o<=n?e:a(e,n)):e}},mixin:function(t){return function(r){var n=this;if(!R(n))return t(n,Object(r));var e=[];return S(M(r),(function(t){R(r[t])&&e.push([t,n.prototype[t]])})),t(n,Object(r)),S(e,(function(t){var r=t[1];R(r)?n.prototype[t[0]]=r:delete n.prototype[t[0]]})),n}},nthArg:function(t){return function(r){var n=r<0?1:B(r)+1;return I(t(r),n)}},rearg:function(t){return function(r,n){var e=n?n.length:0;return I(t(r,n),e)}},runInContext:function(n){return function(e){return t(r,n(e),s)}}};function D(t,r){if(v){var n=e.iterateeRearg[t];if(n)return function(t,r){return N(t,(function(t){var n=r.length;return function(t,r){return 2==r?function(r,n){return t.apply(void 0,arguments)}:function(r){return t.apply(void 0,arguments)}}(F(a(t,n),r),n)}))}(r,n);var o=!p&&e.iterateeAry[t];if(o)return function(t,r){return N(t,(function(t){return\"function\"==typeof t?a(t,r):t}))}(r,o)}return r}function L(t,r,n){if(d&&(_||!e.skipFixed[t])){var o=e.methodSpread[t],a=o&&o.start;return void 0===a?w(r,n):function(t,r){return function(){for(var n=arguments.length,e=n-1,o=Array(n);n--;)o[n]=arguments[n];var a=o[r],u=o.slice(0,r);return a&&i.apply(u,a),r!=e&&i.apply(u,o.slice(r+1)),t.apply(this,u)}}(r,a)}return r}function q(t,r,n){return g&&n>1&&(m||!e.skipRearg[t])?F(r,e.methodRearg[t]||e.aryRearg[n]):r}function U(t,r){for(var n=-1,e=(r=z(r)).length,o=e-1,i=W(Object(t)),a=i;null!=a&&++n<e;){var u=r[n],c=a[u];null==c||R(c)||E(c)||k(c)||(a[u]=W(n==o?c:Object(c))),a=a[u]}return i}function $(r,n){var o=e.aliasToReal[r]||r,i=e.remap[o]||o,a=s;return function(r){var e=p?j:A,u=p?j[i]:n,c=O(O({},a),r);return t(e,o,u,c)}}function N(t,r){return function(){var n=arguments.length;if(!n)return t();for(var e=Array(n);n--;)e[n]=arguments[n];var o=g?0:n-1;return e[o]=r(e[o]),t.apply(void 0,e)}}function K(t,r,n){var o,i=e.aliasToReal[t]||t,a=r,f=C[i];return f?a=f(r):y&&(e.mutate.array[i]?a=c(r,u):e.mutate.object[i]?a=c(r,function(t){return function(r){return t({},r)}}(r)):e.mutate.set[i]&&(a=c(r,U))),S(T,(function(t){return S(e.aryMethod[t],(function(r){if(i==r){var n=e.methodSpread[i],u=n&&n.afterRearg;return o=u?L(i,q(i,a,t),t):q(i,L(i,a,t),t),o=function(t,r,n){return b||h&&n>1?I(r,n):r}(0,o=D(i,o),t),!1}})),!o})),o||(o=a),o==r&&(o=b?I(o,1):function(){return r.apply(this,arguments)}),o.convert=$(i,r),o.placeholder=r.placeholder=n,o}if(!l)return K(n,f,x);var V=f,G=[];return S(T,(function(t){S(e.aryMethod[t],(function(t){var r=V[e.remap[t]||t];r&&G.push([t,K(t,r,V)])}))})),S(M(V),(function(t){var r=V[t];if(\"function\"==typeof r){for(var n=G.length;n--;)if(G[n][0]==t)return;r.convert=$(t,r),G.push([t,r])}})),S(G,(function(t){V[t[0]]=t[1]})),V.convert=function(t){return V.runInContext.convert(t)(void 0)},V.placeholder=V,S(M(V),(function(t){S(e.realToAlias[t]||[],(function(r){V[r]=V[t]}))})),V}},function(t,r){r.aliasToReal={each:\"forEach\",eachRight:\"forEachRight\",entries:\"toPairs\",entriesIn:\"toPairsIn\",extend:\"assignIn\",extendAll:\"assignInAll\",extendAllWith:\"assignInAllWith\",extendWith:\"assignInWith\",first:\"head\",conforms:\"conformsTo\",matches:\"isMatch\",property:\"get\",__:\"placeholder\",F:\"stubFalse\",T:\"stubTrue\",all:\"every\",allPass:\"overEvery\",always:\"constant\",any:\"some\",anyPass:\"overSome\",apply:\"spread\",assoc:\"set\",assocPath:\"set\",complement:\"negate\",compose:\"flowRight\",contains:\"includes\",dissoc:\"unset\",dissocPath:\"unset\",dropLast:\"dropRight\",dropLastWhile:\"dropRightWhile\",equals:\"isEqual\",identical:\"eq\",indexBy:\"keyBy\",init:\"initial\",invertObj:\"invert\",juxt:\"over\",omitAll:\"omit\",nAry:\"ary\",path:\"get\",pathEq:\"matchesProperty\",pathOr:\"getOr\",paths:\"at\",pickAll:\"pick\",pipe:\"flow\",pluck:\"map\",prop:\"get\",propEq:\"matchesProperty\",propOr:\"getOr\",props:\"at\",symmetricDifference:\"xor\",symmetricDifferenceBy:\"xorBy\",symmetricDifferenceWith:\"xorWith\",takeLast:\"takeRight\",takeLastWhile:\"takeRightWhile\",unapply:\"rest\",unnest:\"flatten\",useWith:\"overArgs\",where:\"conformsTo\",whereEq:\"isMatch\",zipObj:\"zipObject\"},r.aryMethod={1:[\"assignAll\",\"assignInAll\",\"attempt\",\"castArray\",\"ceil\",\"create\",\"curry\",\"curryRight\",\"defaultsAll\",\"defaultsDeepAll\",\"floor\",\"flow\",\"flowRight\",\"fromPairs\",\"invert\",\"iteratee\",\"memoize\",\"method\",\"mergeAll\",\"methodOf\",\"mixin\",\"nthArg\",\"over\",\"overEvery\",\"overSome\",\"rest\",\"reverse\",\"round\",\"runInContext\",\"spread\",\"template\",\"trim\",\"trimEnd\",\"trimStart\",\"uniqueId\",\"words\",\"zipAll\"],2:[\"add\",\"after\",\"ary\",\"assign\",\"assignAllWith\",\"assignIn\",\"assignInAllWith\",\"at\",\"before\",\"bind\",\"bindAll\",\"bindKey\",\"chunk\",\"cloneDeepWith\",\"cloneWith\",\"concat\",\"conformsTo\",\"countBy\",\"curryN\",\"curryRightN\",\"debounce\",\"defaults\",\"defaultsDeep\",\"defaultTo\",\"delay\",\"difference\",\"divide\",\"drop\",\"dropRight\",\"dropRightWhile\",\"dropWhile\",\"endsWith\",\"eq\",\"every\",\"filter\",\"find\",\"findIndex\",\"findKey\",\"findLast\",\"findLastIndex\",\"findLastKey\",\"flatMap\",\"flatMapDeep\",\"flattenDepth\",\"forEach\",\"forEachRight\",\"forIn\",\"forInRight\",\"forOwn\",\"forOwnRight\",\"get\",\"groupBy\",\"gt\",\"gte\",\"has\",\"hasIn\",\"includes\",\"indexOf\",\"intersection\",\"invertBy\",\"invoke\",\"invokeMap\",\"isEqual\",\"isMatch\",\"join\",\"keyBy\",\"lastIndexOf\",\"lt\",\"lte\",\"map\",\"mapKeys\",\"mapValues\",\"matchesProperty\",\"maxBy\",\"meanBy\",\"merge\",\"mergeAllWith\",\"minBy\",\"multiply\",\"nth\",\"omit\",\"omitBy\",\"overArgs\",\"pad\",\"padEnd\",\"padStart\",\"parseInt\",\"partial\",\"partialRight\",\"partition\",\"pick\",\"pickBy\",\"propertyOf\",\"pull\",\"pullAll\",\"pullAt\",\"random\",\"range\",\"rangeRight\",\"rearg\",\"reject\",\"remove\",\"repeat\",\"restFrom\",\"result\",\"sampleSize\",\"some\",\"sortBy\",\"sortedIndex\",\"sortedIndexOf\",\"sortedLastIndex\",\"sortedLastIndexOf\",\"sortedUniqBy\",\"split\",\"spreadFrom\",\"startsWith\",\"subtract\",\"sumBy\",\"take\",\"takeRight\",\"takeRightWhile\",\"takeWhile\",\"tap\",\"throttle\",\"thru\",\"times\",\"trimChars\",\"trimCharsEnd\",\"trimCharsStart\",\"truncate\",\"union\",\"uniqBy\",\"uniqWith\",\"unset\",\"unzipWith\",\"without\",\"wrap\",\"xor\",\"zip\",\"zipObject\",\"zipObjectDeep\"],3:[\"assignInWith\",\"assignWith\",\"clamp\",\"differenceBy\",\"differenceWith\",\"findFrom\",\"findIndexFrom\",\"findLastFrom\",\"findLastIndexFrom\",\"getOr\",\"includesFrom\",\"indexOfFrom\",\"inRange\",\"intersectionBy\",\"intersectionWith\",\"invokeArgs\",\"invokeArgsMap\",\"isEqualWith\",\"isMatchWith\",\"flatMapDepth\",\"lastIndexOfFrom\",\"mergeWith\",\"orderBy\",\"padChars\",\"padCharsEnd\",\"padCharsStart\",\"pullAllBy\",\"pullAllWith\",\"rangeStep\",\"rangeStepRight\",\"reduce\",\"reduceRight\",\"replace\",\"set\",\"slice\",\"sortedIndexBy\",\"sortedLastIndexBy\",\"transform\",\"unionBy\",\"unionWith\",\"update\",\"xorBy\",\"xorWith\",\"zipWith\"],4:[\"fill\",\"setWith\",\"updateWith\"]},r.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},r.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},r.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},r.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},r.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},r.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},r.realToAlias=function(){var t=Object.prototype.hasOwnProperty,n=r.aliasToReal,e={};for(var o in n){var i=n[o];t.call(e,i)?e[i].push(o):e[i]=[o]}return e}(),r.remap={assignAll:\"assign\",assignAllWith:\"assignWith\",assignInAll:\"assignIn\",assignInAllWith:\"assignInWith\",curryN:\"curry\",curryRightN:\"curryRight\",defaultsAll:\"defaults\",defaultsDeepAll:\"defaultsDeep\",findFrom:\"find\",findIndexFrom:\"findIndex\",findLastFrom:\"findLast\",findLastIndexFrom:\"findLastIndex\",getOr:\"get\",includesFrom:\"includes\",indexOfFrom:\"indexOf\",invokeArgs:\"invoke\",invokeArgsMap:\"invokeMap\",lastIndexOfFrom:\"lastIndexOf\",mergeAll:\"merge\",mergeAllWith:\"mergeWith\",padChars:\"pad\",padCharsEnd:\"padEnd\",padCharsStart:\"padStart\",propertyOf:\"get\",rangeStep:\"range\",rangeStepRight:\"rangeRight\",restFrom:\"rest\",spreadFrom:\"spread\",trimChars:\"trim\",trimCharsEnd:\"trimEnd\",trimCharsStart:\"trimStart\",zipAll:\"zip\"},r.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},r.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},function(t,r,n){t.exports={ary:n(122),assign:n(79),clone:n(158),curry:n(93),forEach:n(40),isArray:n(0),isError:n(202),isFunction:n(34),isWeakMap:n(203),iteratee:n(204),keys:n(84),rearg:n(226),toInteger:n(42),toPath:n(230)}},function(t,r,n){var e=n(33);t.exports=function(t,r,n){return r=n?void 0:r,r=t&&null==r?t.length:r,e(t,128,void 0,void 0,void 0,void 0,r)}},function(t,r,n){var e=n(34),o=n(126),i=n(5),a=n(67),u=/^\\[object .+?Constructor\\]$/,c=Function.prototype,f=Object.prototype,s=c.toString,p=f.hasOwnProperty,l=RegExp(\"^\"+s.call(p).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");t.exports=function(t){return!(!i(t)||o(t))&&(e(t)?l:u).test(a(t))}},function(t,r,n){var e=n(8),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=e?e.toStringTag:void 0;t.exports=function(t){var r=i.call(t,u),n=t[u];try{t[u]=void 0;var e=!0}catch(t){}var o=a.call(t);return e&&(r?t[u]=n:delete t[u]),o}},function(t,r){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,r,n){var e,o=n(127),i=(e=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+e:\"\";t.exports=function(t){return!!i&&i in t}},function(t,r,n){var e=n(3)[\"__core-js_shared__\"];t.exports=e},function(t,r){t.exports=function(t,r){return null==t?void 0:t[r]}},function(t,r,n){var e=n(20),o=n(3);t.exports=function(t,r,n){var i=1&r,a=e(t);return function r(){var e=this&&this!==o&&this instanceof r?a:t;return e.apply(i?n:this,arguments)}}},function(t,r,n){var e=n(22),o=n(20),i=n(68),a=n(71),u=n(78),c=n(41),f=n(3);t.exports=function(t,r,n){var s=o(t);return function o(){for(var p=arguments.length,l=Array(p),v=p,h=u(o);v--;)l[v]=arguments[v];var d=p<3&&l[0]!==h&&l[p-1]!==h?[]:c(l,h);if((p-=d.length)<n)return a(t,r,i,o.placeholder,void 0,l,d,void 0,void 0,n-p);var y=this&&this!==f&&this instanceof o?s:t;return e(y,this,l)}}},function(t,r){t.exports=function(t,r){for(var n=t.length,e=0;n--;)t[n]===r&&++e;return e}},function(t,r){t.exports=function(){}},function(t,r){t.exports={}},function(t,r,n){var e=n(35),o=n(38),i=n(36),a=n(0),u=n(4),c=n(135),f=Object.prototype.hasOwnProperty;function s(t){if(u(t)&&!a(t)&&!(t instanceof e)){if(t instanceof o)return t;if(f.call(t,\"__wrapped__\"))return c(t)}return new o(t)}s.prototype=i.prototype,s.prototype.constructor=s,t.exports=s},function(t,r,n){var e=n(35),o=n(38),i=n(23);t.exports=function(t){if(t instanceof e)return t.clone();var r=new o(t.__wrapped__,t.__chain__);return r.__actions__=i(t.__actions__),r.__index__=t.__index__,r.__values__=t.__values__,r}},function(t,r){var n=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,e=/,? & /;t.exports=function(t){var r=t.match(n);return r?r[1].split(e):[]}},function(t,r){var n=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;t.exports=function(t,r){var e=r.length;if(!e)return t;var o=e-1;return r[o]=(e>1?\"& \":\"\")+r[o],r=r.join(e>2?\", \":\" \"),t.replace(n,\"{\\n/* [wrapped with \"+r+\"] */\\n\")}},function(t,r,n){var e=n(139),o=n(77),i=n(13),a=o?function(t,r){return o(t,\"toString\",{configurable:!0,enumerable:!1,value:e(r),writable:!0})}:i;t.exports=a},function(t,r){t.exports=function(t){return function(){return t}}},function(t,r,n){var e=n(40),o=n(141),i=[[\"ary\",128],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",16],[\"flip\",512],[\"partial\",32],[\"partialRight\",64],[\"rearg\",256]];t.exports=function(t,r){return e(i,(function(n){var e=\"_.\"+n[0];r&n[1]&&!o(t,e)&&t.push(e)})),t.sort()}},function(t,r,n){var e=n(142);t.exports=function(t,r){return!!(null==t?0:t.length)&&e(t,r,0)>-1}},function(t,r,n){var e=n(143),o=n(144),i=n(145);t.exports=function(t,r,n){return r==r?i(t,r,n):e(t,o,n)}},function(t,r){t.exports=function(t,r,n,e){for(var o=t.length,i=n+(e?1:-1);e?i--:++i<o;)if(r(t[i],i,t))return i;return-1}},function(t,r){t.exports=function(t){return t!=t}},function(t,r){t.exports=function(t,r,n){for(var e=n-1,o=t.length;++e<o;)if(t[e]===r)return e;return-1}},function(t,r,n){var e=n(23),o=n(14),i=Math.min;t.exports=function(t,r){for(var n=t.length,a=i(r.length,n),u=e(t);a--;){var c=r[a];t[a]=o(c,n)?u[c]:void 0}return t}},function(t,r,n){var e=n(22),o=n(20),i=n(3);t.exports=function(t,r,n,a){var u=1&r,c=o(t);return function r(){for(var o=-1,f=arguments.length,s=-1,p=a.length,l=Array(p+f),v=this&&this!==i&&this instanceof r?c:t;++s<p;)l[s]=a[s];for(;f--;)l[s++]=arguments[++o];return e(v,u?n:this,l)}}},function(t,r,n){var e=n(69),o=n(70),i=n(41),a=Math.min;t.exports=function(t,r){var n=t[1],u=r[1],c=n|u,f=c<131,s=128==u&&8==n||128==u&&256==n&&t[7].length<=r[8]||384==u&&r[7].length<=r[8]&&8==n;if(!f&&!s)return t;1&u&&(t[2]=r[2],c|=1&n?0:4);var p=r[3];if(p){var l=t[3];t[3]=l?e(l,p,r[4]):p,t[4]=l?i(t[3],\"__lodash_placeholder__\"):r[4]}return(p=r[5])&&(l=t[5],t[5]=l?o(l,p,r[6]):p,t[6]=l?i(t[5],\"__lodash_placeholder__\"):r[6]),(p=r[7])&&(t[7]=p),128&u&&(t[8]=null==t[8]?r[8]:a(t[8],r[8])),null==t[9]&&(t[9]=r[9]),t[0]=r[0],t[1]=c,t}},function(t,r,n){var e=n(150);t.exports=function(t){return t?(t=e(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},function(t,r,n){var e=n(151),o=n(5),i=n(15),a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,c=/^0o[0-7]+$/i,f=parseInt;t.exports=function(t){if(\"number\"==typeof t)return t;if(i(t))return NaN;if(o(t)){var r=\"function\"==typeof t.valueOf?t.valueOf():t;t=o(r)?r+\"\":r}if(\"string\"!=typeof t)return 0===t?t:+t;t=e(t);var n=u.test(t);return n||c.test(t)?f(t.slice(2),n?2:8):a.test(t)?NaN:+t}},function(t,r,n){var e=n(152),o=/^\\s+/;t.exports=function(t){return t?t.slice(0,e(t)+1).replace(o,\"\"):t}},function(t,r){var n=/\\s/;t.exports=function(t){for(var r=t.length;r--&&n.test(t.charAt(r)););return r}},function(t,r){t.exports=function(t,r){for(var n=-1,e=Array(t);++n<t;)e[n]=r(n);return e}},function(t,r,n){var e=n(7),o=n(4);t.exports=function(t){return o(t)&&\"[object Arguments]\"==e(t)}},function(t,r){t.exports=function(){return!1}},function(t,r,n){var e=n(7),o=n(46),i=n(4),a={};a[\"[object Float32Array]\"]=a[\"[object Float64Array]\"]=a[\"[object Int8Array]\"]=a[\"[object Int16Array]\"]=a[\"[object Int32Array]\"]=a[\"[object Uint8Array]\"]=a[\"[object Uint8ClampedArray]\"]=a[\"[object Uint16Array]\"]=a[\"[object Uint32Array]\"]=!0,a[\"[object Arguments]\"]=a[\"[object Array]\"]=a[\"[object ArrayBuffer]\"]=a[\"[object Boolean]\"]=a[\"[object DataView]\"]=a[\"[object Date]\"]=a[\"[object Error]\"]=a[\"[object Function]\"]=a[\"[object Map]\"]=a[\"[object Number]\"]=a[\"[object Object]\"]=a[\"[object RegExp]\"]=a[\"[object Set]\"]=a[\"[object String]\"]=a[\"[object WeakMap]\"]=!1,t.exports=function(t){return i(t)&&o(t.length)&&!!a[e(t)]}},function(t,r,n){var e=n(85)(Object.keys,Object);t.exports=e},function(t,r,n){var e=n(86);t.exports=function(t){return e(t,4)}},function(t,r){t.exports=function(){this.__data__=[],this.size=0}},function(t,r,n){var e=n(28),o=Array.prototype.splice;t.exports=function(t){var r=this.__data__,n=e(r,t);return!(n<0)&&(n==r.length-1?r.pop():o.call(r,n,1),--this.size,!0)}},function(t,r,n){var e=n(28);t.exports=function(t){var r=this.__data__,n=e(r,t);return n<0?void 0:r[n][1]}},function(t,r,n){var e=n(28);t.exports=function(t){return e(this.__data__,t)>-1}},function(t,r,n){var e=n(28);t.exports=function(t,r){var n=this.__data__,o=e(n,t);return o<0?(++this.size,n.push([t,r])):n[o][1]=r,this}},function(t,r,n){var e=n(27);t.exports=function(){this.__data__=new e,this.size=0}},function(t,r){t.exports=function(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n}},function(t,r){t.exports=function(t){return this.__data__.get(t)}},function(t,r){t.exports=function(t){return this.__data__.has(t)}},function(t,r,n){var e=n(27),o=n(50),i=n(51);t.exports=function(t,r){var n=this.__data__;if(n instanceof e){var a=n.__data__;if(!o||a.length<199)return a.push([t,r]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,r),this.size=n.size,this}},function(t,r,n){var e=n(170),o=n(27),i=n(50);t.exports=function(){this.size=0,this.__data__={hash:new e,map:new(i||o),string:new e}}},function(t,r,n){var e=n(171),o=n(172),i=n(173),a=n(174),u=n(175);function c(t){var r=-1,n=null==t?0:t.length;for(this.clear();++r<n;){var e=t[r];this.set(e[0],e[1])}}c.prototype.clear=e,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},function(t,r,n){var e=n(29);t.exports=function(){this.__data__=e?e(null):{},this.size=0}},function(t,r){t.exports=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}},function(t,r,n){var e=n(29),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;if(e){var n=r[t];return\"__lodash_hash_undefined__\"===n?void 0:n}return o.call(r,t)?r[t]:void 0}},function(t,r,n){var e=n(29),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;return e?void 0!==r[t]:o.call(r,t)}},function(t,r,n){var e=n(29);t.exports=function(t,r){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=e&&void 0===r?\"__lodash_hash_undefined__\":r,this}},function(t,r,n){var e=n(30);t.exports=function(t){var r=e(this,t).delete(t);return this.size-=r?1:0,r}},function(t,r){t.exports=function(t){var r=typeof t;return\"string\"==r||\"number\"==r||\"symbol\"==r||\"boolean\"==r?\"__proto__\"!==t:null===t}},function(t,r,n){var e=n(30);t.exports=function(t){return e(this,t).get(t)}},function(t,r,n){var e=n(30);t.exports=function(t){return e(this,t).has(t)}},function(t,r,n){var e=n(30);t.exports=function(t,r){var n=e(this,t),o=n.size;return n.set(t,r),this.size+=n.size==o?0:1,this}},function(t,r,n){var e=n(24),o=n(52);t.exports=function(t,r){return t&&e(r,o(r),t)}},function(t,r,n){var e=n(5),o=n(48),i=n(183),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!e(t))return i(t);var r=o(t),n=[];for(var u in t)(\"constructor\"!=u||!r&&a.call(t,u))&&n.push(u);return n}},function(t,r){t.exports=function(t){var r=[];if(null!=t)for(var n in Object(t))r.push(n);return r}},function(t,r,n){(function(t){var e=n(3),o=r&&!r.nodeType&&r,i=o&&\"object\"==typeof t&&t&&!t.nodeType&&t,a=i&&i.exports===o?e.Buffer:void 0,u=a?a.allocUnsafe:void 0;t.exports=function(t,r){if(r)return t.slice();var n=t.length,e=u?u(n):new t.constructor(n);return t.copy(e),e}}).call(this,n(45)(t))},function(t,r,n){var e=n(24),o=n(53);t.exports=function(t,r){return e(t,o(t),r)}},function(t,r,n){var e=n(24),o=n(89);t.exports=function(t,r){return e(t,o(t),r)}},function(t,r,n){var e=n(91),o=n(89),i=n(52);t.exports=function(t){return e(t,i,o)}},function(t,r,n){var e=n(6)(n(3),\"DataView\");t.exports=e},function(t,r,n){var e=n(6)(n(3),\"Promise\");t.exports=e},function(t,r,n){var e=n(6)(n(3),\"Set\");t.exports=e},function(t,r){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var r=t.length,e=new t.constructor(r);return r&&\"string\"==typeof t[0]&&n.call(t,\"index\")&&(e.index=t.index,e.input=t.input),e}},function(t,r,n){var e=n(56),o=n(193),i=n(194),a=n(195),u=n(196);t.exports=function(t,r,n){var c=t.constructor;switch(r){case\"[object ArrayBuffer]\":return e(t);case\"[object Boolean]\":case\"[object Date]\":return new c(+t);case\"[object DataView]\":return o(t,n);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return u(t,n);case\"[object Map]\":return new c;case\"[object Number]\":case\"[object String]\":return new c(t);case\"[object RegExp]\":return i(t);case\"[object Set]\":return new c;case\"[object Symbol]\":return a(t)}}},function(t,r,n){var e=n(56);t.exports=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},function(t,r){var n=/\\w*$/;t.exports=function(t){var r=new t.constructor(t.source,n.exec(t));return r.lastIndex=t.lastIndex,r}},function(t,r,n){var e=n(8),o=e?e.prototype:void 0,i=o?o.valueOf:void 0;t.exports=function(t){return i?Object(i.call(t)):{}}},function(t,r,n){var e=n(56);t.exports=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},function(t,r,n){var e=n(21),o=n(55),i=n(48);t.exports=function(t){return\"function\"!=typeof t.constructor||i(t)?{}:e(o(t))}},function(t,r,n){var e=n(199),o=n(26),i=n(47),a=i&&i.isMap,u=a?o(a):e;t.exports=u},function(t,r,n){var e=n(10),o=n(4);t.exports=function(t){return o(t)&&\"[object Map]\"==e(t)}},function(t,r,n){var e=n(201),o=n(26),i=n(47),a=i&&i.isSet,u=a?o(a):e;t.exports=u},function(t,r,n){var e=n(10),o=n(4);t.exports=function(t){return o(t)&&\"[object Set]\"==e(t)}},function(t,r,n){var e=n(7),o=n(4),i=n(94);t.exports=function(t){if(!o(t))return!1;var r=e(t);return\"[object Error]\"==r||\"[object DOMException]\"==r||\"string\"==typeof t.message&&\"string\"==typeof t.name&&!i(t)}},function(t,r,n){var e=n(10),o=n(4);t.exports=function(t){return o(t)&&\"[object WeakMap]\"==e(t)}},function(t,r,n){var e=n(86),o=n(17);t.exports=function(t){return o(\"function\"==typeof t?t:e(t,1))}},function(t,r,n){var e=n(206),o=n(215),i=n(99);t.exports=function(t){var r=o(t);return 1==r.length&&r[0][2]?i(r[0][0],r[0][1]):function(n){return n===t||e(n,t,r)}}},function(t,r,n){var e=n(49),o=n(95);t.exports=function(t,r,n,i){var a=n.length,u=a,c=!i;if(null==t)return!u;for(t=Object(t);a--;){var f=n[a];if(c&&f[2]?f[1]!==t[f[0]]:!(f[0]in t))return!1}for(;++a<u;){var s=(f=n[a])[0],p=t[s],l=f[1];if(c&&f[2]){if(void 0===p&&!(s in t))return!1}else{var v=new e;if(i)var h=i(p,l,s,t,r,v);if(!(void 0===h?o(l,p,3,i,v):h))return!1}}return!0}},function(t,r,n){var e=n(49),o=n(96),i=n(212),a=n(214),u=n(10),c=n(0),f=n(44),s=n(83),p=\"[object Object]\",l=Object.prototype.hasOwnProperty;t.exports=function(t,r,n,v,h,d){var y=c(t),g=c(r),x=y?\"[object Array]\":u(t),b=g?\"[object Array]\":u(r),_=(x=\"[object Arguments]\"==x?p:x)==p,m=(b=\"[object Arguments]\"==b?p:b)==p,j=x==b;if(j&&f(t)){if(!f(r))return!1;y=!0,_=!1}if(j&&!_)return d||(d=new e),y||s(t)?o(t,r,n,v,h,d):i(t,r,x,n,v,h,d);if(!(1&n)){var A=_&&l.call(t,\"__wrapped__\"),w=m&&l.call(r,\"__wrapped__\");if(A||w){var O=A?t.value():t,W=w?r.value():r;return d||(d=new e),h(O,W,n,v,d)}}return!!j&&(d||(d=new e),a(t,r,n,v,h,d))}},function(t,r,n){var e=n(51),o=n(209),i=n(210);function a(t){var r=-1,n=null==t?0:t.length;for(this.__data__=new e;++r<n;)this.add(t[r])}a.prototype.add=a.prototype.push=o,a.prototype.has=i,t.exports=a},function(t,r){t.exports=function(t){return this.__data__.set(t,\"__lodash_hash_undefined__\"),this}},function(t,r){t.exports=function(t){return this.__data__.has(t)}},function(t,r){t.exports=function(t,r){return t.has(r)}},function(t,r,n){var e=n(8),o=n(92),i=n(25),a=n(96),u=n(97),c=n(213),f=e?e.prototype:void 0,s=f?f.valueOf:void 0;t.exports=function(t,r,n,e,f,p,l){switch(n){case\"[object DataView]\":if(t.byteLength!=r.byteLength||t.byteOffset!=r.byteOffset)return!1;t=t.buffer,r=r.buffer;case\"[object ArrayBuffer]\":return!(t.byteLength!=r.byteLength||!p(new o(t),new o(r)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return i(+t,+r);case\"[object Error]\":return t.name==r.name&&t.message==r.message;case\"[object RegExp]\":case\"[object String]\":return t==r+\"\";case\"[object Map]\":var v=u;case\"[object Set]\":var h=1&e;if(v||(v=c),t.size!=r.size&&!h)return!1;var d=l.get(t);if(d)return d==r;e|=2,l.set(t,r);var y=a(v(t),v(r),e,f,p,l);return l.delete(t),y;case\"[object Symbol]\":if(s)return s.call(t)==s.call(r)}return!1}},function(t,r){t.exports=function(t){var r=-1,n=Array(t.size);return t.forEach((function(t){n[++r]=t})),n}},function(t,r,n){var e=n(90),o=Object.prototype.hasOwnProperty;t.exports=function(t,r,n,i,a,u){var c=1&n,f=e(t),s=f.length;if(s!=e(r).length&&!c)return!1;for(var p=s;p--;){var l=f[p];if(!(c?l in r:o.call(r,l)))return!1}var v=u.get(t),h=u.get(r);if(v&&h)return v==r&&h==t;var d=!0;u.set(t,r),u.set(r,t);for(var y=c;++p<s;){var g=t[l=f[p]],x=r[l];if(i)var b=c?i(x,g,l,r,t,u):i(g,x,l,t,r,u);if(!(void 0===b?g===x||a(g,x,n,i,u):b)){d=!1;break}y||(y=\"constructor\"==l)}if(d&&!y){var _=t.constructor,m=r.constructor;_==m||!(\"constructor\"in t)||!(\"constructor\"in r)||\"function\"==typeof _&&_ instanceof _&&\"function\"==typeof m&&m instanceof m||(d=!1)}return u.delete(t),u.delete(r),d}},function(t,r,n){var e=n(98),o=n(9);t.exports=function(t){for(var r=o(t),n=r.length;n--;){var i=r[n],a=t[i];r[n]=[i,a,e(a)]}return r}},function(t,r,n){var e=n(95),o=n(100),i=n(220),a=n(58),u=n(98),c=n(99),f=n(19);t.exports=function(t,r){return a(t)&&u(r)?c(f(t),r):function(n){var a=o(n,t);return void 0===a&&a===r?i(n,t):e(r,a,3)}}},function(t,r,n){var e=n(218);t.exports=function(t){var r=e(t,(function(t){return 500===n.size&&n.clear(),t})),n=r.cache;return r}},function(t,r,n){var e=n(51);function o(t,r){if(\"function\"!=typeof t||null!=r&&\"function\"!=typeof r)throw new TypeError(\"Expected a function\");var n=function(){var e=arguments,o=r?r.apply(this,e):e[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,e);return n.cache=i.set(o,a)||i,a};return n.cache=new(o.Cache||e),n}o.Cache=e,t.exports=o},function(t,r,n){var e=n(8),o=n(18),i=n(0),a=n(15),u=e?e.prototype:void 0,c=u?u.toString:void 0;t.exports=function t(r){if(\"string\"==typeof r)return r;if(i(r))return o(r,t)+\"\";if(a(r))return c?c.call(r):\"\";var n=r+\"\";return\"0\"==n&&1/r==-1/0?\"-0\":n}},function(t,r,n){var e=n(221),o=n(222);t.exports=function(t,r){return null!=t&&o(t,r,e)}},function(t,r){t.exports=function(t,r){return null!=t&&r in Object(t)}},function(t,r,n){var e=n(102),o=n(43),i=n(0),a=n(14),u=n(46),c=n(19);t.exports=function(t,r,n){for(var f=-1,s=(r=e(r,t)).length,p=!1;++f<s;){var l=c(r[f]);if(!(p=null!=t&&n(t,l)))break;t=t[l]}return p||++f!=s?p:!!(s=null==t?0:t.length)&&u(s)&&a(l,s)&&(i(t)||o(t))}},function(t,r,n){var e=n(224),o=n(225),i=n(58),a=n(19);t.exports=function(t){return i(t)?e(a(t)):o(t)}},function(t,r){t.exports=function(t){return function(r){return null==r?void 0:r[t]}}},function(t,r,n){var e=n(101);t.exports=function(t){return function(r){return e(r,t)}}},function(t,r,n){var e=n(33),o=n(59),i=o((function(t,r){return e(t,256,void 0,void 0,void 0,r)}));t.exports=i},function(t,r,n){var e=n(228);t.exports=function(t){return(null==t?0:t.length)?e(t,1):[]}},function(t,r,n){var e=n(54),o=n(229);t.exports=function t(r,n,i,a,u){var c=-1,f=r.length;for(i||(i=o),u||(u=[]);++c<f;){var s=r[c];n>0&&i(s)?n>1?t(s,n-1,i,a,u):e(u,s):a||(u[u.length]=s)}return u}},function(t,r,n){var e=n(8),o=n(43),i=n(0),a=e?e.isConcatSpreadable:void 0;t.exports=function(t){return i(t)||o(t)||!!(a&&t&&t[a])}},function(t,r,n){var e=n(18),o=n(23),i=n(0),a=n(15),u=n(103),c=n(19),f=n(104);t.exports=function(t){return i(t)?e(t,c):a(t)?[t]:o(u(f(t)))}},function(t,r,n){var e=n(106)();t.exports=e},function(t,r,n){var e=n(106)(!0);t.exports=e},function(t,r,n){var e=n(57),o=n(17),i=n(234),a=n(0),u=n(239);t.exports=function(t,r,n){var c=a(t)?e:i;return n&&u(t,r,n)&&(r=void 0),c(t,o(r,3))}},function(t,r,n){var e=n(60);t.exports=function(t,r){var n;return e(t,(function(t,e,o){return!(n=r(t,e,o))})),!!n}},function(t,r,n){var e=n(236),o=n(9);t.exports=function(t,r){return t&&e(t,r,o)}},function(t,r,n){var e=n(237)();t.exports=e},function(t,r){t.exports=function(t){return function(r,n,e){for(var o=-1,i=Object(r),a=e(r),u=a.length;u--;){var c=a[t?u:++o];if(!1===n(i[c],c,i))break}return r}}},function(t,r,n){var e=n(16);t.exports=function(t,r){return function(n,o){if(null==n)return n;if(!e(n))return t(n,o);for(var i=n.length,a=r?i:-1,u=Object(n);(r?a--:++a<i)&&!1!==o(u[a],a,u););return n}}},function(t,r,n){var e=n(25),o=n(16),i=n(14),a=n(5);t.exports=function(t,r,n){if(!a(n))return!1;var u=typeof r;return!!(\"number\"==u?o(n)&&i(r,n.length):\"string\"==u&&r in n)&&e(n[r],t)}},function(t,r,n){var e=n(57),o=n(241)(e);t.exports=o},function(t,r,n){var e=n(22),o=n(18),i=n(17),a=n(242),u=n(26),c=n(59);t.exports=function(t){return c((function(r){return r=o(r,u(i)),a((function(n){var o=this;return t(r,(function(t){return e(t,o,n)}))}))}))}},function(t,r,n){var e=n(13),o=n(105),i=n(39);t.exports=function(t,r){return i(o(t,r,e),t+\"\")}},function(t,r){t.exports=function(t){for(var r=-1,n=null==t?0:t.length,e={};++r<n;){var o=t[r];e[o[0]]=o[1]}return e}},function(t,r){t.exports=function(t){return void 0===t}},function(t,r,n){var e=n(18),o=n(17),i=n(246),a=n(0);t.exports=function(t,r){return(a(t)?e:i)(t,o(r,3))}},function(t,r,n){var e=n(60),o=n(16);t.exports=function(t,r){var n=-1,i=o(t)?Array(t.length):[];return e(t,(function(t,e,o){i[++n]=r(t,e,o)})),i}},function(t,r,n){var e=n(248),o=n(42);t.exports=function(t,r){return t&&t.length?e(t,o(r)):void 0}},function(t,r,n){var e=n(14);t.exports=function(t,r){var n=t.length;if(n)return e(r+=r<0?n:0,n)?t[r]:void 0}},function(t,r,n){var e=n(87),o=n(250),i=n(17),a=n(0),u=n(107);t.exports=function(t,r){return(a(t)?e:o)(t,u(i(r,3)))}},function(t,r,n){var e=n(60);t.exports=function(t,r){var n=[];return e(t,(function(t,e,o){r(t,e,o)&&n.push(t)})),n}},function(t,r,n){var e=n(252)(n(9));t.exports=e},function(t,r,n){var e=n(253),o=n(10),i=n(97),a=n(254);t.exports=function(t){return function(r){var n=o(r);return\"[object Map]\"==n?i(r):\"[object Set]\"==n?a(r):e(r,t(r))}}},function(t,r,n){var e=n(18);t.exports=function(t,r){return e(r,(function(r){return[r,t[r]]}))}},function(t,r){t.exports=function(t){var r=-1,n=Array(t.size);return t.forEach((function(t){n[++r]=[t,t]})),n}},function(t,r,n){\"use strict\";n.r(r),n.d(r,\"awaitAll\",(function(){return e})),n.d(r,\"flow\",(function(){return _})),n.d(r,\"isPromise\",(function(){return x})),n.d(r,\"isPrimitive\",(function(){return R})),n.d(r,\"pipeline\",(function(){return k})),n.d(r,\"mapValuesDeep\",(function(){return K}));var e=Promise.all.bind(Promise),o=n(31),i=n.n(o),a=n(32),u=n.n(a),c=n(108),f=n.n(c),s=n(109),p=n.n(s),l=n(110),v=n.n(l),h=n(12),d=n.n(h),y=n(111),g=n.n(y),x=t=>!!t&&t.constructor===Promise;const b=Symbol(\"pipelineBreak\");var _=(...t)=>u()([v.a,...t].map(w));const m=i()((t,r)=>{return n=r,p()(\"then\",n)?Promise.resolve(r).then(t):t(r);var n}),j=t=>r=>r===b?b:t(r),A=t=>r=>{const n=t(r);return d()(n)&&g()(x,n)?e(n):n},w=t=>f()(m,A,j)(t);var O=n(112),W=n.n(O),I=n(113),S=n.n(I),P=n(114),E=n.n(P),R=S()(E()([W.a,d.a,x])),k=(t,...r)=>_(...r)(t),M=n(115),F=n.n(M),B=n(116),z=n.n(B),T=n(61),C=n.n(T),D=n(62),L=n.n(D),q=n(117),U=n.n(q),$=n(118),N=n.n($);var K=i()((t,r)=>V({how:t,thing:t(r,[],r),rootThing:r,referencePath:[]}));const V=({how:t,thing:r,rootThing:n,referencePath:e,nonCyclicThings:o=new Set})=>k(r,(t=>r=>k(r,N.a,C()(t),U()(H),d()(r)?C()(L()(1)):F.a))(G(t,e,n,o))),G=(t,r,n,e)=>([o,i])=>{const a=((t,r)=>[...r,t])(o,r),u=t(i,a,n);if(e.has(u))throw new Error(`Cycle encountered when mapping path: \"${a.join(\".\")}\"`);const c=new Set([...e.values(),u]);return k(u,r=>[o,R(r)?r:V({how:t,referencePath:a,thing:r,rootThing:n,nonCyclicThings:c})])},H=u()(L()(1),z.a)}]);\n\n//# sourceURL=webpack://open-lens/./node_modules/@ogre-tools/fp/build/index.js?");
8376
+
8377
+ /***/ }),
8378
+
8369
8379
  /***/ "./node_modules/@ogre-tools/injectable-react/build/index.js":
8370
8380
  /*!******************************************************************!*\
8371
8381
  !*** ./node_modules/@ogre-tools/injectable-react/build/index.js ***!
@@ -18284,7 +18294,7 @@ eval("\n\n// We define these manually to ensure they're always copied\n// even i
18284
18294
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
18285
18295
 
18286
18296
  "use strict";
18287
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n\n\n\n\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (true) {\n (0,tiny_warning__WEBPACK_IMPORTED_MODULE_3__[\"default\"])((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired), _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = react__WEBPACK_IMPORTED_MODULE_0__.createContext || createReactContext;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (index);\n\n\n//# sourceURL=webpack://open-lens/./node_modules/mini-create-react-context/dist/esm/index.js?");
18297
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n\n\n\n\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (true) {\n (0,tiny_warning__WEBPACK_IMPORTED_MODULE_2__[\"default\"])((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired), _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = react__WEBPACK_IMPORTED_MODULE_0__.createContext || createReactContext;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (index);\n\n\n//# sourceURL=webpack://open-lens/./node_modules/mini-create-react-context/dist/esm/index.js?");
18288
18298
 
18289
18299
  /***/ }),
18290
18300
 
@@ -18304,7 +18314,7 @@ eval("module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n
18304
18314
  \*********************************************/
18305
18315
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18306
18316
 
18307
- eval("module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = __webpack_require__(/*! path */ \"path\")\n} catch (er) {}\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = __webpack_require__(/*! brace-expansion */ \"./node_modules/brace-expansion/index.js\")\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = console.error\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:<pattern>)<type>\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n if (inClass) {\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '.':\n case '[':\n case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = match\nfunction match (f, partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/minimatch/minimatch.js?");
18317
+ eval("module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = (function () { try { return __webpack_require__(/*! path */ \"path\") } catch (e) {}}()) || {\n sep: '/'\n}\nminimatch.sep = path.sep\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = __webpack_require__(/*! brace-expansion */ \"./node_modules/brace-expansion/index.js\")\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n b = b || {}\n var t = {}\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n m.Minimatch.defaults = function defaults (options) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n\n m.filter = function filter (pattern, options) {\n return orig.filter(pattern, ext(def, options))\n }\n\n m.defaults = function defaults (options) {\n return orig.defaults(ext(def, options))\n }\n\n m.makeRe = function makeRe (pattern, options) {\n return orig.makeRe(pattern, ext(def, options))\n }\n\n m.braceExpand = function braceExpand (pattern, options) {\n return orig.braceExpand(pattern, ext(def, options))\n }\n\n m.match = function (list, pattern, options) {\n return orig.match(list, pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (!options.allowWindowsEscape && path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li <https://github.com/yetingli> for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\nvar MAX_PATTERN_LENGTH = 1024 * 64\nvar assertValidPattern = function (pattern) {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n assertValidPattern(pattern)\n\n var options = this.options\n\n // shortcuts\n if (pattern === '**') {\n if (!options.noglobstar)\n return GLOBSTAR\n else\n pattern = '*'\n }\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n /* istanbul ignore next */\n case '/': {\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n }\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:<pattern>)<type>\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '[': case '.': case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) /* istanbul ignore next - should be impossible */ {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) /* istanbul ignore next - should be impossible */ {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = function match (f, partial) {\n if (typeof partial === 'undefined') partial = this.partial\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* istanbul ignore if */\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n /* istanbul ignore if */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else /* istanbul ignore else */ if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return (fi === fl - 1) && (file[fi] === '')\n }\n\n // should be unreachable.\n /* istanbul ignore next */\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/minimatch/minimatch.js?");
18308
18318
 
18309
18319
  /***/ }),
18310
18320
 
@@ -27590,7 +27600,7 @@ eval("\n\nif (typeof process === 'undefined' ||\n !process.version ||\n pr
27590
27600
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
27591
27601
 
27592
27602
  "use strict";
27593
- eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (true) {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/checkPropTypes.js?");
27603
+ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n var has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (true) {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/checkPropTypes.js?");
27594
27604
 
27595
27605
  /***/ }),
27596
27606
 
@@ -27601,7 +27611,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod
27601
27611
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
27602
27612
 
27603
27613
  "use strict";
27604
- eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/prop-types/node_modules/react-is/index.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/factoryWithTypeCheckers.js?");
27614
+ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/prop-types/node_modules/react-is/index.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/factoryWithTypeCheckers.js?");
27605
27615
 
27606
27616
  /***/ }),
27607
27617
 
@@ -27626,6 +27636,16 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod
27626
27636
 
27627
27637
  /***/ }),
27628
27638
 
27639
+ /***/ "./node_modules/prop-types/lib/has.js":
27640
+ /*!********************************************!*\
27641
+ !*** ./node_modules/prop-types/lib/has.js ***!
27642
+ \********************************************/
27643
+ /***/ ((module) => {
27644
+
27645
+ eval("module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/lib/has.js?");
27646
+
27647
+ /***/ }),
27648
+
27629
27649
  /***/ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
27630
27650
  /*!***********************************************************************************!*\
27631
27651
  !*** ./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
@@ -27742,7 +27762,7 @@ eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs
27742
27762
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27743
27763
 
27744
27764
  "use strict";
27745
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BrowserRouter\": () => (/* binding */ BrowserRouter),\n/* harmony export */ \"HashRouter\": () => (/* binding */ HashRouter),\n/* harmony export */ \"Link\": () => (/* binding */ Link),\n/* harmony export */ \"MemoryRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.MemoryRouter),\n/* harmony export */ \"NavLink\": () => (/* binding */ NavLink),\n/* harmony export */ \"Prompt\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Prompt),\n/* harmony export */ \"Redirect\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Redirect),\n/* harmony export */ \"Route\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Route),\n/* harmony export */ \"Router\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Router),\n/* harmony export */ \"StaticRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.StaticRouter),\n/* harmony export */ \"Switch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Switch),\n/* harmony export */ \"generatePath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.generatePath),\n/* harmony export */ \"matchPath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath),\n/* harmony export */ \"useHistory\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useHistory),\n/* harmony export */ \"useLocation\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useLocation),\n/* harmony export */ \"useParams\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.withRouter)\n/* harmony export */ });\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/esm/react-router.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\n\nvar BrowserRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_6__.createBrowserHistory)(_this.props);\n return _this;\n }\n\n var _proto = BrowserRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return BrowserRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n BrowserRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n forceRefresh: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number)\n };\n\n BrowserRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<BrowserRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\n\nvar HashRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(HashRouter, _React$Component);\n\n function HashRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_6__.createHashHistory)(_this.props);\n return _this;\n }\n\n var _proto = HashRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return HashRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n HashRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n hashType: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<HashRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\") : 0;\n };\n}\n\nvar resolveToLocation = function resolveToLocation(to, currentLocation) {\n return typeof to === \"function\" ? to(currentLocation) : to;\n};\nvar normalizeToLocation = function normalizeToLocation(to, currentLocation) {\n return typeof to === \"string\" ? (0,history__WEBPACK_IMPORTED_MODULE_6__.createLocation)(to, null, null, currentLocation) : to;\n};\n\nvar forwardRefShim = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar LinkAnchor = forwardRef(function (_ref, forwardedRef) {\n var innerRef = _ref.innerRef,\n navigate = _ref.navigate,\n _onClick = _ref.onClick,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_ref, [\"innerRef\", \"navigate\", \"onClick\"]);\n\n var target = rest.target;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, rest, {\n onClick: function onClick(event) {\n try {\n if (_onClick) _onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && ( // ignore everything but left clicks\n !target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"a\", props);\n});\n\nif (true) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n/**\n * The public API for rendering a history-aware <a>.\n */\n\n\nvar Link = forwardRef(function (_ref2, forwardedRef) {\n var _ref2$component = _ref2.component,\n component = _ref2$component === void 0 ? LinkAnchor : _ref2$component,\n replace = _ref2.replace,\n to = _ref2.to,\n innerRef = _ref2.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_ref2, [\"component\", \"replace\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <Link> outside a <Router>\") : 0 : void 0;\n var history = context.history;\n var location = normalizeToLocation(resolveToLocation(to, context.location), context.location);\n var href = location ? history.createHref(location) : \"\";\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, rest, {\n href: href,\n navigate: function navigate() {\n var location = resolveToLocation(to, context.location);\n var isDuplicateNavigation = (0,history__WEBPACK_IMPORTED_MODULE_6__.createPath)(context.location) === (0,history__WEBPACK_IMPORTED_MODULE_6__.createPath)(normalizeToLocation(location));\n var method = replace || isDuplicateNavigation ? history.replace : history.push;\n method(location);\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(component, props);\n });\n});\n\nif (true) {\n var toType = prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)]);\n var refType = prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func), prop_types__WEBPACK_IMPORTED_MODULE_3___default().shape({\n current: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any)\n })]);\n Link.displayName = \"Link\";\n Link.propTypes = {\n innerRef: refType,\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n replace: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n target: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n to: toType.isRequired\n };\n}\n\nvar forwardRefShim$1 = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef$1 = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef$1 === \"undefined\") {\n forwardRef$1 = forwardRefShim$1;\n}\n\nfunction joinClassnames() {\n for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {\n classnames[_key] = arguments[_key];\n }\n\n return classnames.filter(function (i) {\n return i;\n }).join(\" \");\n}\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\n\n\nvar NavLink = forwardRef$1(function (_ref, forwardedRef) {\n var _ref$ariaCurrent = _ref[\"aria-current\"],\n ariaCurrent = _ref$ariaCurrent === void 0 ? \"page\" : _ref$ariaCurrent,\n _ref$activeClassName = _ref.activeClassName,\n activeClassName = _ref$activeClassName === void 0 ? \"active\" : _ref$activeClassName,\n activeStyle = _ref.activeStyle,\n classNameProp = _ref.className,\n exact = _ref.exact,\n isActiveProp = _ref.isActive,\n locationProp = _ref.location,\n sensitive = _ref.sensitive,\n strict = _ref.strict,\n styleProp = _ref.style,\n to = _ref.to,\n innerRef = _ref.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_ref, [\"aria-current\", \"activeClassName\", \"activeStyle\", \"className\", \"exact\", \"isActive\", \"location\", \"sensitive\", \"strict\", \"style\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <NavLink> outside a <Router>\") : 0 : void 0;\n var currentLocation = locationProp || context.location;\n var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation);\n var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n var match = escapedPath ? (0,react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath)(currentLocation.pathname, {\n path: escapedPath,\n exact: exact,\n sensitive: sensitive,\n strict: strict\n }) : null;\n var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match);\n var className = typeof classNameProp === \"function\" ? classNameProp(isActive) : classNameProp;\n var style = typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, style, activeStyle);\n }\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({\n \"aria-current\": isActive && ariaCurrent || null,\n className: className,\n style: style,\n to: toLocation\n }, rest); // React 15 compat\n\n\n if (forwardRefShim$1 !== forwardRef$1) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Link, props);\n });\n});\n\nif (true) {\n NavLink.displayName = \"NavLink\";\n var ariaCurrentType = prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\", \"false\"]);\n NavLink.propTypes = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, Link.propTypes, {\n \"aria-current\": ariaCurrentType,\n activeClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n activeStyle: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n className: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)]),\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n isActive: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n style: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)])\n });\n}\n\n\n//# sourceMappingURL=react-router-dom.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router-dom/esm/react-router-dom.js?");
27765
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BrowserRouter\": () => (/* binding */ BrowserRouter),\n/* harmony export */ \"HashRouter\": () => (/* binding */ HashRouter),\n/* harmony export */ \"Link\": () => (/* binding */ Link),\n/* harmony export */ \"MemoryRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.MemoryRouter),\n/* harmony export */ \"NavLink\": () => (/* binding */ NavLink),\n/* harmony export */ \"Prompt\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Prompt),\n/* harmony export */ \"Redirect\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Redirect),\n/* harmony export */ \"Route\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Route),\n/* harmony export */ \"Router\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Router),\n/* harmony export */ \"StaticRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.StaticRouter),\n/* harmony export */ \"Switch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Switch),\n/* harmony export */ \"generatePath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.generatePath),\n/* harmony export */ \"matchPath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath),\n/* harmony export */ \"useHistory\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useHistory),\n/* harmony export */ \"useLocation\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useLocation),\n/* harmony export */ \"useParams\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.withRouter)\n/* harmony export */ });\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/esm/react-router.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\n\nvar BrowserRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_5__.createBrowserHistory)(_this.props);\n return _this;\n }\n\n var _proto = BrowserRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return BrowserRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n BrowserRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node),\n forceRefresh: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number)\n };\n\n BrowserRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<BrowserRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\n\nvar HashRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(HashRouter, _React$Component);\n\n function HashRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_5__.createHashHistory)(_this.props);\n return _this;\n }\n\n var _proto = HashRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return HashRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n HashRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n hashType: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<HashRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\") : 0;\n };\n}\n\nvar resolveToLocation = function resolveToLocation(to, currentLocation) {\n return typeof to === \"function\" ? to(currentLocation) : to;\n};\nvar normalizeToLocation = function normalizeToLocation(to, currentLocation) {\n return typeof to === \"string\" ? (0,history__WEBPACK_IMPORTED_MODULE_5__.createLocation)(to, null, null, currentLocation) : to;\n};\n\nvar forwardRefShim = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar LinkAnchor = forwardRef(function (_ref, forwardedRef) {\n var innerRef = _ref.innerRef,\n navigate = _ref.navigate,\n _onClick = _ref.onClick,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_ref, [\"innerRef\", \"navigate\", \"onClick\"]);\n\n var target = rest.target;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, rest, {\n onClick: function onClick(event) {\n try {\n if (_onClick) _onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && ( // ignore everything but left clicks\n !target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"a\", props);\n});\n\nif (true) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n/**\n * The public API for rendering a history-aware <a>.\n */\n\n\nvar Link = forwardRef(function (_ref2, forwardedRef) {\n var _ref2$component = _ref2.component,\n component = _ref2$component === void 0 ? LinkAnchor : _ref2$component,\n replace = _ref2.replace,\n to = _ref2.to,\n innerRef = _ref2.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_ref2, [\"component\", \"replace\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <Link> outside a <Router>\") : 0 : void 0;\n var history = context.history;\n var location = normalizeToLocation(resolveToLocation(to, context.location), context.location);\n var href = location ? history.createHref(location) : \"\";\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, rest, {\n href: href,\n navigate: function navigate() {\n var location = resolveToLocation(to, context.location);\n var isDuplicateNavigation = (0,history__WEBPACK_IMPORTED_MODULE_5__.createPath)(context.location) === (0,history__WEBPACK_IMPORTED_MODULE_5__.createPath)(normalizeToLocation(location));\n var method = replace || isDuplicateNavigation ? history.replace : history.push;\n method(location);\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(component, props);\n });\n});\n\nif (true) {\n var toType = prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func)]);\n var refType = prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func), prop_types__WEBPACK_IMPORTED_MODULE_6___default().shape({\n current: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().any)\n })]);\n Link.displayName = \"Link\";\n Link.propTypes = {\n innerRef: refType,\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n replace: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n target: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n to: toType.isRequired\n };\n}\n\nvar forwardRefShim$1 = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef$1 = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef$1 === \"undefined\") {\n forwardRef$1 = forwardRefShim$1;\n}\n\nfunction joinClassnames() {\n for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {\n classnames[_key] = arguments[_key];\n }\n\n return classnames.filter(function (i) {\n return i;\n }).join(\" \");\n}\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\n\n\nvar NavLink = forwardRef$1(function (_ref, forwardedRef) {\n var _ref$ariaCurrent = _ref[\"aria-current\"],\n ariaCurrent = _ref$ariaCurrent === void 0 ? \"page\" : _ref$ariaCurrent,\n _ref$activeClassName = _ref.activeClassName,\n activeClassName = _ref$activeClassName === void 0 ? \"active\" : _ref$activeClassName,\n activeStyle = _ref.activeStyle,\n classNameProp = _ref.className,\n exact = _ref.exact,\n isActiveProp = _ref.isActive,\n locationProp = _ref.location,\n sensitive = _ref.sensitive,\n strict = _ref.strict,\n styleProp = _ref.style,\n to = _ref.to,\n innerRef = _ref.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_ref, [\"aria-current\", \"activeClassName\", \"activeStyle\", \"className\", \"exact\", \"isActive\", \"location\", \"sensitive\", \"strict\", \"style\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <NavLink> outside a <Router>\") : 0 : void 0;\n var currentLocation = locationProp || context.location;\n var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation);\n var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n var match = escapedPath ? (0,react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath)(currentLocation.pathname, {\n path: escapedPath,\n exact: exact,\n sensitive: sensitive,\n strict: strict\n }) : null;\n var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match);\n var className = typeof classNameProp === \"function\" ? classNameProp(isActive) : classNameProp;\n var style = typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, style, activeStyle);\n }\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n \"aria-current\": isActive && ariaCurrent || null,\n className: className,\n style: style,\n to: toLocation\n }, rest); // React 15 compat\n\n\n if (forwardRefShim$1 !== forwardRef$1) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Link, props);\n });\n});\n\nif (true) {\n NavLink.displayName = \"NavLink\";\n var ariaCurrentType = prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\", \"false\"]);\n NavLink.propTypes = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, Link.propTypes, {\n \"aria-current\": ariaCurrentType,\n activeClassName: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n activeStyle: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n className: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func)]),\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n isActive: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n style: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func)])\n });\n}\n\n\n//# sourceMappingURL=react-router-dom.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router-dom/esm/react-router-dom.js?");
27746
27766
 
27747
27767
  /***/ }),
27748
27768
 
@@ -27753,7 +27773,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
27753
27773
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27754
27774
 
27755
27775
  "use strict";
27756
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MemoryRouter\": () => (/* binding */ MemoryRouter),\n/* harmony export */ \"Prompt\": () => (/* binding */ Prompt),\n/* harmony export */ \"Redirect\": () => (/* binding */ Redirect),\n/* harmony export */ \"Route\": () => (/* binding */ Route),\n/* harmony export */ \"Router\": () => (/* binding */ Router),\n/* harmony export */ \"StaticRouter\": () => (/* binding */ StaticRouter),\n/* harmony export */ \"Switch\": () => (/* binding */ Switch),\n/* harmony export */ \"__HistoryContext\": () => (/* binding */ historyContext),\n/* harmony export */ \"__RouterContext\": () => (/* binding */ context),\n/* harmony export */ \"generatePath\": () => (/* binding */ generatePath),\n/* harmony export */ \"matchPath\": () => (/* binding */ matchPath),\n/* harmony export */ \"useHistory\": () => (/* binding */ useHistory),\n/* harmony export */ \"useLocation\": () => (/* binding */ useLocation),\n/* harmony export */ \"useParams\": () => (/* binding */ useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* binding */ useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* binding */ withRouter)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var mini_create_react_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mini-create-react-context */ \"./node_modules/mini-create-react-context/dist/esm/index.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/react-router/node_modules/path-to-regexp/index.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(path_to_regexp__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-is */ \"./node_modules/react-router/node_modules/react-is/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = (0,mini_create_react_context__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n context.displayName = name;\n return context;\n};\n\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\");\n\nvar context = /*#__PURE__*/createNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n\n return Router;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Router.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node),\n history: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired),\n staticContext: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)\n };\n\n Router.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prevProps.history === this.props.history, \"You cannot change <Router history>\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_10__.createMemoryHistory)(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n MemoryRouter.propTypes = {\n initialEntries: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().array),\n initialIndex: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node)\n };\n\n MemoryRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<MemoryRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : 0;\n };\n}\n\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Prompt> outside a <Router>\") : 0 : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (true) {\n var messageType = prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)]);\n Prompt.propTypes = {\n when: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = path_to_regexp__WEBPACK_IMPORTED_MODULE_5___default().compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Redirect> outside a <Router>\") : 0 : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(prevProps.to);\n\n if (!(0,history__WEBPACK_IMPORTED_MODULE_10__.locationsAreEqual)(prevLocation, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (true) {\n Redirect.propTypes = {\n push: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n from: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n to: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = path_to_regexp__WEBPACK_IMPORTED_MODULE_5___default()(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return react__WEBPACK_IMPORTED_MODULE_1__.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\"<Route\" + (path ? \" path=\\\"\" + path + \"\\\"\" : \"\") + \">, but you \") + \"should have returned a React element or `null`\") : 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Route> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : children : component ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : null);\n });\n };\n\n return Route;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Route.propTypes = {\n children: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node)]),\n component: function component(props, propName) {\n if (props[propName] && !(0,react_is__WEBPACK_IMPORTED_MODULE_6__.isValidElementType)(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object),\n path: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_2___default().string))]),\n render: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool)\n };\n\n Route.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.component && this.props.render), \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\") : 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : (0,history__WEBPACK_IMPORTED_MODULE_10__.createPath)(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You cannot %s with <StaticRouter>\", methodName) : 0 ;\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n StaticRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n context: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object),\n location: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)])\n };\n\n StaticRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<StaticRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Switch> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n\n react__WEBPACK_IMPORTED_MODULE_1__.Children.forEach(_this.props.children, function (child) {\n if (match == null && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Switch.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(props, [\"wrappedComponentRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <\" + displayName + \" /> outside a <Router>\") : 0 : void 0;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (true) {\n C.propTypes = {\n wrappedComponentRef: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)])\n };\n }\n\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8___default()(C, Component);\n}\n\nvar useContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext;\nfunction useHistory() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useHistory()\") : 0 : void 0;\n }\n\n return useContext(historyContext);\n}\nfunction useLocation() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useLocation()\") : 0 : void 0;\n }\n\n return useContext(context).location;\n}\nfunction useParams() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useParams()\") : 0 : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\nfunction useRouteMatch(path) {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : 0 : void 0;\n }\n\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n\nif (true) {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\n\n//# sourceMappingURL=react-router.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router/esm/react-router.js?");
27776
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MemoryRouter\": () => (/* binding */ MemoryRouter),\n/* harmony export */ \"Prompt\": () => (/* binding */ Prompt),\n/* harmony export */ \"Redirect\": () => (/* binding */ Redirect),\n/* harmony export */ \"Route\": () => (/* binding */ Route),\n/* harmony export */ \"Router\": () => (/* binding */ Router),\n/* harmony export */ \"StaticRouter\": () => (/* binding */ StaticRouter),\n/* harmony export */ \"Switch\": () => (/* binding */ Switch),\n/* harmony export */ \"__HistoryContext\": () => (/* binding */ historyContext),\n/* harmony export */ \"__RouterContext\": () => (/* binding */ context),\n/* harmony export */ \"generatePath\": () => (/* binding */ generatePath),\n/* harmony export */ \"matchPath\": () => (/* binding */ matchPath),\n/* harmony export */ \"useHistory\": () => (/* binding */ useHistory),\n/* harmony export */ \"useLocation\": () => (/* binding */ useLocation),\n/* harmony export */ \"useParams\": () => (/* binding */ useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* binding */ useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* binding */ withRouter)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var mini_create_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mini-create-react-context */ \"./node_modules/mini-create-react-context/dist/esm/index.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/react-router/node_modules/path-to-regexp/index.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path_to_regexp__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-is */ \"./node_modules/react-router/node_modules/react-is/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = (0,mini_create_react_context__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n context.displayName = name;\n return context;\n};\n\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\");\n\nvar context = /*#__PURE__*/createNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n\n return Router;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Router.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node),\n history: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object.isRequired),\n staticContext: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n };\n\n Router.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prevProps.history === this.props.history, \"You cannot change <Router history>\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_10__.createMemoryHistory)(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n MemoryRouter.propTypes = {\n initialEntries: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n initialIndex: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node)\n };\n\n MemoryRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<MemoryRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : 0;\n };\n}\n\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Prompt> outside a <Router>\") : 0 : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (true) {\n var messageType = prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)]);\n Prompt.propTypes = {\n when: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = path_to_regexp__WEBPACK_IMPORTED_MODULE_4___default().compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Redirect> outside a <Router>\") : 0 : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(prevProps.to);\n\n if (!(0,history__WEBPACK_IMPORTED_MODULE_10__.locationsAreEqual)(prevLocation, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (true) {\n Redirect.propTypes = {\n push: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n from: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n to: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = path_to_regexp__WEBPACK_IMPORTED_MODULE_4___default()(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return react__WEBPACK_IMPORTED_MODULE_1__.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\"<Route\" + (path ? \" path=\\\"\" + path + \"\\\"\" : \"\") + \">, but you \") + \"should have returned a React element or `null`\") : 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Route> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : children : component ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : null);\n });\n };\n\n return Route;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Route.propTypes = {\n children: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node)]),\n component: function component(props, propName) {\n if (props[propName] && !(0,react_is__WEBPACK_IMPORTED_MODULE_5__.isValidElementType)(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n path: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_8___default().string))]),\n render: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n };\n\n Route.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.component && this.props.render), \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\") : 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : (0,history__WEBPACK_IMPORTED_MODULE_10__.createPath)(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You cannot %s with <StaticRouter>\", methodName) : 0 ;\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n StaticRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n context: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n location: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)])\n };\n\n StaticRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<StaticRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Switch> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n\n react__WEBPACK_IMPORTED_MODULE_1__.Children.forEach(_this.props.children, function (child) {\n if (match == null && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Switch.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(props, [\"wrappedComponentRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <\" + displayName + \" /> outside a <Router>\") : 0 : void 0;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (true) {\n C.propTypes = {\n wrappedComponentRef: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)])\n };\n }\n\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default()(C, Component);\n}\n\nvar useContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext;\nfunction useHistory() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useHistory()\") : 0 : void 0;\n }\n\n return useContext(historyContext);\n}\nfunction useLocation() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useLocation()\") : 0 : void 0;\n }\n\n return useContext(context).location;\n}\nfunction useParams() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useParams()\") : 0 : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\nfunction useRouteMatch(path) {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : 0 : void 0;\n }\n\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n\nif (true) {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\n\n//# sourceMappingURL=react-router.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router/esm/react-router.js?");
27757
27777
 
27758
27778
  /***/ }),
27759
27779
 
@@ -27851,7 +27871,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
27851
27871
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27852
27872
 
27853
27873
  "use strict";
27854
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _TransitionGroupContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./TransitionGroupContext */ \"./node_modules/react-transition-group/esm/TransitionGroupContext.js\");\n/* harmony import */ var _utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/ChildMapping */ \"./node_modules/react-transition-group/esm/utils/ChildMapping.js\");\n\n\n\n\n\n\n\n\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind((0,_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__.getInitialChildMapping)(nextProps, handleExited) : (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_7__[\"default\"].Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_7__[\"default\"].Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5__.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(react__WEBPACK_IMPORTED_MODULE_5__.Component);\n\nTransitionGroup.propTypes = true ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node),\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n} : 0;\nTransitionGroup.defaultProps = defaultProps;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TransitionGroup);\n\n//# sourceURL=webpack://open-lens/./node_modules/react-transition-group/esm/TransitionGroup.js?");
27874
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TransitionGroupContext */ \"./node_modules/react-transition-group/esm/TransitionGroupContext.js\");\n/* harmony import */ var _utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/ChildMapping */ \"./node_modules/react-transition-group/esm/utils/ChildMapping.js\");\n\n\n\n\n\n\n\n\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind((0,_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getInitialChildMapping)(nextProps, handleExited) : (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(react__WEBPACK_IMPORTED_MODULE_4__.Component);\n\nTransitionGroup.propTypes = true ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any),\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func)\n} : 0;\nTransitionGroup.defaultProps = defaultProps;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TransitionGroup);\n\n//# sourceURL=webpack://open-lens/./node_modules/react-transition-group/esm/TransitionGroup.js?");
27855
27875
 
27856
27876
  /***/ }),
27857
27877
 
@@ -32206,7 +32226,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32206
32226
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32207
32227
 
32208
32228
  "use strict";
32209
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst directoryForKubeConfigsInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"directory-for-kube-configs\",\n instantiate: (di) => path__WEBPACK_IMPORTED_MODULE_2___default().resolve(di.inject(_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]), \"kubeconfigs\"),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (directoryForKubeConfigsInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts?");
32229
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/* harmony import */ var _path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../path/get-absolute-path.injectable */ \"./src/common/path/get-absolute-path.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst directoryForKubeConfigsInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"directory-for-kube-configs\",\n instantiate: (di) => {\n const getAbsolutePath = di.inject(_path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n const directoryForUserData = di.inject(_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return getAbsolutePath(directoryForUserData, \"kubeconfigs\");\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (directoryForKubeConfigsInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts?");
32210
32230
 
32211
32231
  /***/ }),
32212
32232
 
@@ -32228,7 +32248,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32228
32248
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32229
32249
 
32230
32250
  "use strict";
32231
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _directory_for_kube_configs_directory_for_kube_configs_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../directory-for-kube-configs/directory-for-kube-configs.injectable */ \"./src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst getCustomKubeConfigDirectoryInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"get-custom-kube-config-directory\",\n instantiate: (di) => (directoryName) => {\n const directoryForKubeConfigs = di.inject(_directory_for_kube_configs_directory_for_kube_configs_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n return path__WEBPACK_IMPORTED_MODULE_1___default().resolve(directoryForKubeConfigs, directoryName);\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getCustomKubeConfigDirectoryInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/app-paths/get-custom-kube-config-directory/get-custom-kube-config-directory.injectable.ts?");
32251
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _directory_for_kube_configs_directory_for_kube_configs_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../directory-for-kube-configs/directory-for-kube-configs.injectable */ \"./src/common/app-paths/directory-for-kube-configs/directory-for-kube-configs.injectable.ts\");\n/* harmony import */ var _path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../path/get-absolute-path.injectable */ \"./src/common/path/get-absolute-path.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst getCustomKubeConfigDirectoryInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"get-custom-kube-config-directory\",\n instantiate: (di) => {\n const directoryForKubeConfigs = di.inject(_directory_for_kube_configs_directory_for_kube_configs_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n const getAbsolutePath = di.inject(_path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n return (directoryName) => getAbsolutePath(directoryForKubeConfigs, directoryName);\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getCustomKubeConfigDirectoryInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/app-paths/get-custom-kube-config-directory/get-custom-kube-config-directory.injectable.ts?");
32232
32252
 
32233
32253
  /***/ }),
32234
32254
 
@@ -32239,7 +32259,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32239
32259
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32240
32260
 
32241
32261
  "use strict";
32242
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BaseStore\": () => (/* binding */ BaseStore)\n/* harmony export */ });\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var conf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! conf */ \"./node_modules/conf/dist/source/index.js\");\n/* harmony import */ var conf__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(conf__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _ipc__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./vars */ \"./src/common/vars.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./app-paths/directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Note: T should only contain base JSON serializable types.\n */\nclass BaseStore extends _utils__WEBPACK_IMPORTED_MODULE_3__.Singleton {\n constructor(params) {\n super();\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: params\n });\n Object.defineProperty(this, \"storeConfig\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"syncDisposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.constructor.name\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.makeObservable)(this);\n if (electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer) {\n params.migrations = undefined; // don't run migrations on renderer\n }\n }\n /**\n * This must be called after the last child's constructor is finished (or just before it finishes)\n */\n load() {\n if (!_vars__WEBPACK_IMPORTED_MODULE_7__.isTestEnv) {\n _main_logger__WEBPACK_IMPORTED_MODULE_4__[\"default\"].info(`[${(0,lodash__WEBPACK_IMPORTED_MODULE_8__.kebabCase)(this.displayName).toUpperCase()}]: LOADING from ${this.path} ...`);\n }\n this.storeConfig = new (conf__WEBPACK_IMPORTED_MODULE_1___default())({\n ...this.params,\n projectName: \"lens\",\n projectVersion: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.getAppVersion)(),\n cwd: this.cwd(),\n });\n const res = this.fromStore(this.storeConfig.store);\n if (res instanceof Promise || (typeof res === \"object\" && res && typeof res.then === \"function\")) {\n console.error(`${this.displayName} extends BaseStore<T>'s fromStore method returns a Promise or promise-like object. This is an error and must be fixed.`);\n }\n this.enableSync();\n if (!_vars__WEBPACK_IMPORTED_MODULE_7__.isTestEnv) {\n _main_logger__WEBPACK_IMPORTED_MODULE_4__[\"default\"].info(`[${(0,lodash__WEBPACK_IMPORTED_MODULE_8__.kebabCase)(this.displayName).toUpperCase()}]: LOADED from ${this.path}`);\n }\n }\n get name() {\n return path__WEBPACK_IMPORTED_MODULE_0___default().basename(this.path);\n }\n get syncRendererChannel() {\n return `store-sync-renderer:${this.path}`;\n }\n get syncMainChannel() {\n return `store-sync-main:${this.path}`;\n }\n get path() {\n var _a;\n return ((_a = this.storeConfig) === null || _a === void 0 ? void 0 : _a.path) || \"\";\n }\n cwd() {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_9__.getLegacyGlobalDiForExtensionApi)();\n return di.inject(_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\n }\n saveToFile(model) {\n _main_logger__WEBPACK_IMPORTED_MODULE_4__[\"default\"].info(`[STORE]: SAVING ${this.path}`);\n // todo: update when fixed https://github.com/sindresorhus/conf/issues/114\n if (this.storeConfig) {\n for (const [key, value] of Object.entries(model)) {\n this.storeConfig.set(key, value);\n }\n }\n }\n enableSync() {\n this.syncDisposers.push((0,mobx__WEBPACK_IMPORTED_MODULE_11__.reaction)(() => (0,_utils__WEBPACK_IMPORTED_MODULE_3__.toJS)(this.toJSON()), // unwrap possible observables and react to everything\n // unwrap possible observables and react to everything\n model => this.onModelChange(model), this.params.syncOptions));\n if (electron__WEBPACK_IMPORTED_MODULE_2__.ipcMain) {\n this.syncDisposers.push((0,_ipc__WEBPACK_IMPORTED_MODULE_5__.ipcMainOn)(this.syncMainChannel, (event, model) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_4__[\"default\"].silly(`[STORE]: SYNC ${this.name} from renderer`, { model });\n this.onSync(model);\n }));\n }\n if (electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer) {\n this.syncDisposers.push((0,_ipc__WEBPACK_IMPORTED_MODULE_5__.ipcRendererOn)(this.syncRendererChannel, (event, model) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_4__[\"default\"].silly(`[STORE]: SYNC ${this.name} from main`, { model });\n this.onSyncFromMain(model);\n }));\n }\n }\n onSyncFromMain(model) {\n this.applyWithoutSync(() => {\n this.onSync(model);\n });\n }\n unregisterIpcListener() {\n electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer === null || electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer === void 0 ? void 0 : electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer.removeAllListeners(this.syncMainChannel);\n electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer === null || electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer === void 0 ? void 0 : electron__WEBPACK_IMPORTED_MODULE_2__.ipcRenderer.removeAllListeners(this.syncRendererChannel);\n }\n disableSync() {\n this.syncDisposers.forEach(dispose => dispose());\n this.syncDisposers.length = 0;\n }\n applyWithoutSync(callback) {\n this.disableSync();\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.runInAction)(callback);\n this.enableSync();\n }\n onSync(model) {\n // todo: use \"resourceVersion\" if merge required (to avoid equality checks => better performance)\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_6___default()(this.toJSON(), model)) {\n this.fromStore(model);\n }\n }\n onModelChange(model) {\n if (electron__WEBPACK_IMPORTED_MODULE_2__.ipcMain) {\n this.saveToFile(model); // save config file\n (0,_ipc__WEBPACK_IMPORTED_MODULE_5__.broadcastMessage)(this.syncRendererChannel, model);\n }\n else {\n (0,_ipc__WEBPACK_IMPORTED_MODULE_5__.broadcastMessage)(this.syncMainChannel, model);\n }\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/base-store.ts?");
32262
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BaseStore\": () => (/* binding */ BaseStore)\n/* harmony export */ });\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _ipc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isEqual */ \"./node_modules/lodash/isEqual.js\");\n/* harmony import */ var lodash_isEqual__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isEqual__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./vars */ \"./src/common/vars.ts\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./app-paths/directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/* harmony import */ var _get_configuration_file_model_get_configuration_file_model_injectable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./get-configuration-file-model/get-configuration-file-model.injectable */ \"./src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Note: T should only contain base JSON serializable types.\n */\nclass BaseStore extends _utils__WEBPACK_IMPORTED_MODULE_2__.Singleton {\n constructor(params) {\n super();\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: params\n });\n Object.defineProperty(this, \"storeConfig\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"syncDisposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: this.constructor.name\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.makeObservable)(this);\n if (electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer) {\n params.migrations = undefined; // don't run migrations on renderer\n }\n }\n /**\n * This must be called after the last child's constructor is finished (or just before it finishes)\n */\n load() {\n if (!_vars__WEBPACK_IMPORTED_MODULE_6__.isTestEnv) {\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[${(0,lodash__WEBPACK_IMPORTED_MODULE_7__.kebabCase)(this.displayName).toUpperCase()}]: LOADING from ${this.path} ...`);\n }\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_8__.getLegacyGlobalDiForExtensionApi)();\n const getConfigurationFileModel = di.inject(_get_configuration_file_model_get_configuration_file_model_injectable__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\n this.storeConfig = getConfigurationFileModel({\n ...this.params,\n projectName: \"lens\",\n projectVersion: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getAppVersion)(),\n cwd: this.cwd(),\n });\n const res = this.fromStore(this.storeConfig.store);\n if (res instanceof Promise || (typeof res === \"object\" && res && typeof res.then === \"function\")) {\n console.error(`${this.displayName} extends BaseStore<T>'s fromStore method returns a Promise or promise-like object. This is an error and must be fixed.`);\n }\n this.enableSync();\n if (!_vars__WEBPACK_IMPORTED_MODULE_6__.isTestEnv) {\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[${(0,lodash__WEBPACK_IMPORTED_MODULE_7__.kebabCase)(this.displayName).toUpperCase()}]: LOADED from ${this.path}`);\n }\n }\n get name() {\n return path__WEBPACK_IMPORTED_MODULE_0___default().basename(this.path);\n }\n get syncRendererChannel() {\n return `store-sync-renderer:${this.path}`;\n }\n get syncMainChannel() {\n return `store-sync-main:${this.path}`;\n }\n get path() {\n var _a;\n return ((_a = this.storeConfig) === null || _a === void 0 ? void 0 : _a.path) || \"\";\n }\n cwd() {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_8__.getLegacyGlobalDiForExtensionApi)();\n return di.inject(_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n }\n saveToFile(model) {\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[STORE]: SAVING ${this.path}`);\n // todo: update when fixed https://github.com/sindresorhus/conf/issues/114\n if (this.storeConfig) {\n for (const [key, value] of Object.entries(model)) {\n this.storeConfig.set(key, value);\n }\n }\n }\n enableSync() {\n this.syncDisposers.push((0,mobx__WEBPACK_IMPORTED_MODULE_11__.reaction)(() => (0,_utils__WEBPACK_IMPORTED_MODULE_2__.toJS)(this.toJSON()), // unwrap possible observables and react to everything\n // unwrap possible observables and react to everything\n model => this.onModelChange(model), this.params.syncOptions));\n if (electron__WEBPACK_IMPORTED_MODULE_1__.ipcMain) {\n this.syncDisposers.push((0,_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainOn)(this.syncMainChannel, (event, model) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].silly(`[STORE]: SYNC ${this.name} from renderer`, { model });\n this.onSync(model);\n }));\n }\n if (electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer) {\n this.syncDisposers.push((0,_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcRendererOn)(this.syncRendererChannel, (event, model) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].silly(`[STORE]: SYNC ${this.name} from main`, { model });\n this.onSyncFromMain(model);\n }));\n }\n }\n onSyncFromMain(model) {\n this.applyWithoutSync(() => {\n this.onSync(model);\n });\n }\n unregisterIpcListener() {\n electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer === null || electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer === void 0 ? void 0 : electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer.removeAllListeners(this.syncMainChannel);\n electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer === null || electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer === void 0 ? void 0 : electron__WEBPACK_IMPORTED_MODULE_1__.ipcRenderer.removeAllListeners(this.syncRendererChannel);\n }\n disableSync() {\n this.syncDisposers.forEach(dispose => dispose());\n this.syncDisposers.length = 0;\n }\n applyWithoutSync(callback) {\n this.disableSync();\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.runInAction)(callback);\n this.enableSync();\n }\n onSync(model) {\n // todo: use \"resourceVersion\" if merge required (to avoid equality checks => better performance)\n if (!lodash_isEqual__WEBPACK_IMPORTED_MODULE_5___default()(this.toJSON(), model)) {\n this.fromStore(model);\n }\n }\n onModelChange(model) {\n if (electron__WEBPACK_IMPORTED_MODULE_1__.ipcMain) {\n this.saveToFile(model); // save config file\n (0,_ipc__WEBPACK_IMPORTED_MODULE_4__.broadcastMessage)(this.syncRendererChannel, model);\n }\n else {\n (0,_ipc__WEBPACK_IMPORTED_MODULE_4__.broadcastMessage)(this.syncMainChannel, model);\n }\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/base-store.ts?");
32243
32263
 
32244
32264
  /***/ }),
32245
32265
 
@@ -32360,7 +32380,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32360
32380
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32361
32381
 
32362
32382
  "use strict";
32363
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _cluster_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cluster-store */ \"./src/common/cluster-store/cluster-store.ts\");\n/* harmony import */ var _cluster_create_cluster_injection_token__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../cluster/create-cluster-injection-token */ \"./src/common/cluster/create-cluster-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst clusterStoreInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"cluster-store\",\n instantiate: (di) => _cluster_store__WEBPACK_IMPORTED_MODULE_1__.ClusterStore.createInstance({\n createCluster: di.inject(_cluster_create_cluster_injection_token__WEBPACK_IMPORTED_MODULE_2__.createClusterInjectionToken),\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clusterStoreInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/cluster-store/cluster-store.injectable.ts?");
32383
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _cluster_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cluster-store */ \"./src/common/cluster-store/cluster-store.ts\");\n/* harmony import */ var _cluster_create_cluster_injection_token__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../cluster/create-cluster-injection-token */ \"./src/common/cluster/create-cluster-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst clusterStoreInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"cluster-store\",\n instantiate: (di) => _cluster_store__WEBPACK_IMPORTED_MODULE_1__.ClusterStore.createInstance({\n createCluster: di.inject(_cluster_create_cluster_injection_token__WEBPACK_IMPORTED_MODULE_2__.createClusterInjectionToken),\n }),\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clusterStoreInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/cluster-store/cluster-store.injectable.ts?");
32364
32384
 
32365
32385
  /***/ }),
32366
32386
 
@@ -32426,7 +32446,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32426
32446
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32427
32447
 
32428
32448
  "use strict";
32429
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../app-paths/directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst directoryForLensLocalStorageInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"directory-for-lens-local-storage\",\n instantiate: (di) => path__WEBPACK_IMPORTED_MODULE_1___default().resolve(di.inject(_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]), \"lens-local-storage\"),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (directoryForLensLocalStorageInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts?");
32449
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../app-paths/directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/* harmony import */ var _path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../path/get-absolute-path.injectable */ \"./src/common/path/get-absolute-path.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst directoryForLensLocalStorageInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"directory-for-lens-local-storage\",\n instantiate: (di) => {\n const getAbsolutePath = di.inject(_path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n const directoryForUserData = di.inject(_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return getAbsolutePath(directoryForUserData, \"lens-local-storage\");\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (directoryForLensLocalStorageInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts?");
32430
32450
 
32431
32451
  /***/ }),
32432
32452
 
@@ -32441,6 +32461,72 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32441
32461
 
32442
32462
  /***/ }),
32443
32463
 
32464
+ /***/ "./src/common/front-end-routing/navigate-to-route-injection-token.ts":
32465
+ /*!***************************************************************************!*\
32466
+ !*** ./src/common/front-end-routing/navigate-to-route-injection-token.ts ***!
32467
+ \***************************************************************************/
32468
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32469
+
32470
+ "use strict";
32471
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"navigateToRouteInjectionToken\": () => (/* binding */ navigateToRouteInjectionToken)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst navigateToRouteInjectionToken = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectionToken)({ id: \"navigate-to-route-injection-token\" });\n\n\n//# sourceURL=webpack://open-lens/./src/common/front-end-routing/navigate-to-route-injection-token.ts?");
32472
+
32473
+ /***/ }),
32474
+
32475
+ /***/ "./src/common/front-end-routing/route-injection-token.ts":
32476
+ /*!***************************************************************!*\
32477
+ !*** ./src/common/front-end-routing/route-injection-token.ts ***!
32478
+ \***************************************************************/
32479
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32480
+
32481
+ "use strict";
32482
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"routeInjectionToken\": () => (/* binding */ routeInjectionToken)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst routeInjectionToken = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectionToken)({\n id: \"route-injection-token\",\n});\n\n\n//# sourceURL=webpack://open-lens/./src/common/front-end-routing/route-injection-token.ts?");
32483
+
32484
+ /***/ }),
32485
+
32486
+ /***/ "./src/common/front-end-routing/routes/catalog/catalog-route.injectable.ts":
32487
+ /*!*********************************************************************************!*\
32488
+ !*** ./src/common/front-end-routing/routes/catalog/catalog-route.injectable.ts ***!
32489
+ \*********************************************************************************/
32490
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32491
+
32492
+ "use strict";
32493
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _route_injection_token__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../route-injection-token */ \"./src/common/front-end-routing/route-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst catalogRouteInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"catalog-route\",\n instantiate: () => ({\n path: \"/catalog/:group?/:kind?\",\n clusterFrame: false,\n isEnabled: (0,mobx__WEBPACK_IMPORTED_MODULE_2__.computed)(() => true),\n }),\n injectionToken: _route_injection_token__WEBPACK_IMPORTED_MODULE_1__.routeInjectionToken,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (catalogRouteInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/front-end-routing/routes/catalog/catalog-route.injectable.ts?");
32494
+
32495
+ /***/ }),
32496
+
32497
+ /***/ "./src/common/front-end-routing/routes/catalog/navigate-to-catalog.injectable.ts":
32498
+ /*!***************************************************************************************!*\
32499
+ !*** ./src/common/front-end-routing/routes/catalog/navigate-to-catalog.injectable.ts ***!
32500
+ \***************************************************************************************/
32501
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32502
+
32503
+ "use strict";
32504
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _catalog_route_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./catalog-route.injectable */ \"./src/common/front-end-routing/routes/catalog/catalog-route.injectable.ts\");\n/* harmony import */ var _navigate_to_route_injection_token__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../navigate-to-route-injection-token */ \"./src/common/front-end-routing/navigate-to-route-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst navigateToCatalogInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"navigate-to-catalog\",\n instantiate: (di) => {\n const navigateToRoute = di.inject(_navigate_to_route_injection_token__WEBPACK_IMPORTED_MODULE_2__.navigateToRouteInjectionToken);\n const catalogRoute = di.inject(_catalog_route_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return (parameters) => navigateToRoute(catalogRoute, {\n parameters,\n });\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (navigateToCatalogInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/front-end-routing/routes/catalog/navigate-to-catalog.injectable.ts?");
32505
+
32506
+ /***/ }),
32507
+
32508
+ /***/ "./src/common/front-end-routing/routes/cluster-view/cluster-view-route.injectable.ts":
32509
+ /*!*******************************************************************************************!*\
32510
+ !*** ./src/common/front-end-routing/routes/cluster-view/cluster-view-route.injectable.ts ***!
32511
+ \*******************************************************************************************/
32512
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32513
+
32514
+ "use strict";
32515
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _route_injection_token__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../route-injection-token */ \"./src/common/front-end-routing/route-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst clusterViewRouteInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"cluster-view-route\",\n instantiate: () => ({\n path: \"/cluster/:clusterId\",\n clusterFrame: false,\n isEnabled: (0,mobx__WEBPACK_IMPORTED_MODULE_2__.computed)(() => true),\n }),\n injectionToken: _route_injection_token__WEBPACK_IMPORTED_MODULE_1__.routeInjectionToken,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clusterViewRouteInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/front-end-routing/routes/cluster-view/cluster-view-route.injectable.ts?");
32516
+
32517
+ /***/ }),
32518
+
32519
+ /***/ "./src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.ts":
32520
+ /*!****************************************************************************************************************************!*\
32521
+ !*** ./src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.ts ***!
32522
+ \****************************************************************************************************************************/
32523
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32524
+
32525
+ "use strict";
32526
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _route_injection_token__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../route-injection-token */ \"./src/common/front-end-routing/route-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst customResourcesRouteInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"custom-resources-route\",\n instantiate: () => ({\n path: \"/crd/:group?/:name?\",\n clusterFrame: true,\n isEnabled: (0,mobx__WEBPACK_IMPORTED_MODULE_2__.computed)(() => true),\n }),\n injectionToken: _route_injection_token__WEBPACK_IMPORTED_MODULE_1__.routeInjectionToken,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (customResourcesRouteInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.ts?");
32527
+
32528
+ /***/ }),
32529
+
32444
32530
  /***/ "./src/common/fs/fs.injectable.ts":
32445
32531
  /*!****************************************!*\
32446
32532
  !*** ./src/common/fs/fs.injectable.ts ***!
@@ -32474,6 +32560,28 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32474
32560
 
32475
32561
  /***/ }),
32476
32562
 
32563
+ /***/ "./src/common/get-configuration-file-model/app-version/app-version.injectable.ts":
32564
+ /*!***************************************************************************************!*\
32565
+ !*** ./src/common/get-configuration-file-model/app-version/app-version.injectable.ts ***!
32566
+ \***************************************************************************************/
32567
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32568
+
32569
+ "use strict";
32570
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../package.json */ \"./package.json\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst appVersionInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"app-version\",\n instantiate: () => _package_json__WEBPACK_IMPORTED_MODULE_1__.version,\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (appVersionInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/get-configuration-file-model/app-version/app-version.injectable.ts?");
32571
+
32572
+ /***/ }),
32573
+
32574
+ /***/ "./src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts":
32575
+ /*!********************************************************************************************!*\
32576
+ !*** ./src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts ***!
32577
+ \********************************************************************************************/
32578
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32579
+
32580
+ "use strict";
32581
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var conf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! conf */ \"./node_modules/conf/dist/source/index.js\");\n/* harmony import */ var conf__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(conf__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _app_version_app_version_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app-version/app-version.injectable */ \"./src/common/get-configuration-file-model/app-version/app-version.injectable.ts\");\n/* harmony import */ var _app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../app-paths/directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nconst getConfigurationFileModelInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"get-configuration-file-model\",\n instantiate: (di) => (content) => new (conf__WEBPACK_IMPORTED_MODULE_1___default())({\n ...content,\n projectName: \"lens\",\n projectVersion: di.inject(_app_version_app_version_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n cwd: di.inject(_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n }),\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getConfigurationFileModelInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/get-configuration-file-model/get-configuration-file-model.injectable.ts?");
32582
+
32583
+ /***/ }),
32584
+
32477
32585
  /***/ "./src/common/ipc-channel/create-channel/create-channel.ts":
32478
32586
  /*!*****************************************************************!*\
32479
32587
  !*** ./src/common/ipc-channel/create-channel/create-channel.ts ***!
@@ -32701,7 +32809,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32701
32809
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32702
32810
 
32703
32811
  "use strict";
32704
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CustomResourceDefinition\": () => (/* binding */ CustomResourceDefinition),\n/* harmony export */ \"crdApi\": () => (/* binding */ crdApi)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _routes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../routes */ \"./src/common/routes/index.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nclass CustomResourceDefinition extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n constructor(data) {\n super(data);\n if (!data.spec || typeof data.spec !== \"object\") {\n throw new _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeCreationError(\"Cannot create a CustomResourceDefinition from an object without spec\", data);\n }\n }\n getResourceUrl() {\n return (0,_routes__WEBPACK_IMPORTED_MODULE_2__.crdResourcesURL)({\n params: {\n group: this.getGroup(),\n name: this.getPluralName(),\n },\n });\n }\n getResourceApiBase() {\n const { group } = this.spec;\n return `/apis/${group}/${this.getVersion()}/${this.getPluralName()}`;\n }\n getPluralName() {\n return this.getNames().plural;\n }\n getResourceKind() {\n return this.spec.names.kind;\n }\n getResourceTitle() {\n const name = this.getPluralName();\n return name[0].toUpperCase() + name.slice(1);\n }\n getGroup() {\n return this.spec.group;\n }\n getScope() {\n return this.spec.scope;\n }\n getPreferedVersion() {\n const { apiVersion } = this;\n switch (apiVersion) {\n case \"apiextensions.k8s.io/v1\":\n for (const version of this.spec.versions) {\n if (version.storage) {\n return version;\n }\n }\n break;\n case \"apiextensions.k8s.io/v1beta1\": {\n const { additionalPrinterColumns: apc } = this.spec;\n const additionalPrinterColumns = apc === null || apc === void 0 ? void 0 : apc.map(({ JSONPath, ...apc }) => ({ ...apc, jsonPath: JSONPath }));\n return {\n name: this.spec.version,\n served: true,\n storage: true,\n schema: this.spec.validation,\n additionalPrinterColumns,\n };\n }\n }\n throw new Error(`Unknown apiVersion=${apiVersion}: Failed to find a version for CustomResourceDefinition ${this.metadata.name}`);\n }\n getVersion() {\n return this.getPreferedVersion().name;\n }\n isNamespaced() {\n return this.getScope() === \"Namespaced\";\n }\n getStoredVersions() {\n return this.status.storedVersions.join(\", \");\n }\n getNames() {\n return this.spec.names;\n }\n getConversion() {\n return JSON.stringify(this.spec.conversion);\n }\n getPrinterColumns(ignorePriority = true) {\n var _a;\n const columns = (_a = this.getPreferedVersion().additionalPrinterColumns) !== null && _a !== void 0 ? _a : [];\n return columns\n .filter(column => column.name.toLowerCase() != \"age\" && (ignorePriority || !column.priority));\n }\n getValidation() {\n return JSON.stringify(this.getPreferedVersion().schema, null, 2);\n }\n getConditions() {\n var _a;\n if (!((_a = this.status) === null || _a === void 0 ? void 0 : _a.conditions))\n return [];\n return this.status.conditions.map(condition => {\n const { message, reason, lastTransitionTime, status } = condition;\n return {\n ...condition,\n isReady: status === \"True\",\n tooltip: `${message || reason} (${lastTransitionTime})`,\n };\n });\n }\n}\nObject.defineProperty(CustomResourceDefinition, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"CustomResourceDefinition\"\n});\nObject.defineProperty(CustomResourceDefinition, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n});\nObject.defineProperty(CustomResourceDefinition, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/apiextensions.k8s.io/v1/customresourcedefinitions\"\n});\n/**\n * Only available within kubernetes cluster pages\n */\nlet crdApi;\nif ((0,_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_3__.isClusterPageContext)()) {\n crdApi = new _kube_api__WEBPACK_IMPORTED_MODULE_1__.KubeApi({\n objectConstructor: CustomResourceDefinition,\n checkPreferredVersion: true,\n });\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/crd.api.ts?");
32812
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CustomResourceDefinition\": () => (/* binding */ CustomResourceDefinition),\n/* harmony export */ \"crdApi\": () => (/* binding */ crdApi)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _front_end_routing_routes_cluster_custom_resources_custom_resources_custom_resources_route_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable */ \"./src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.ts\");\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\nclass CustomResourceDefinition extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n constructor(data) {\n super(data);\n if (!data.spec || typeof data.spec !== \"object\") {\n throw new _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeCreationError(\"Cannot create a CustomResourceDefinition from an object without spec\", data);\n }\n }\n getResourceUrl() {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_3__.getLegacyGlobalDiForExtensionApi)();\n const customResourcesRoute = di.inject(_front_end_routing_routes_cluster_custom_resources_custom_resources_custom_resources_route_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n return (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_5__.buildURL)(customResourcesRoute.path, {\n params: {\n group: this.getGroup(),\n name: this.getPluralName(),\n },\n });\n }\n getResourceApiBase() {\n const { group } = this.spec;\n return `/apis/${group}/${this.getVersion()}/${this.getPluralName()}`;\n }\n getPluralName() {\n return this.getNames().plural;\n }\n getResourceKind() {\n return this.spec.names.kind;\n }\n getResourceTitle() {\n const name = this.getPluralName();\n return name[0].toUpperCase() + name.slice(1);\n }\n getGroup() {\n return this.spec.group;\n }\n getScope() {\n return this.spec.scope;\n }\n getPreferedVersion() {\n const { apiVersion } = this;\n switch (apiVersion) {\n case \"apiextensions.k8s.io/v1\":\n for (const version of this.spec.versions) {\n if (version.storage) {\n return version;\n }\n }\n break;\n case \"apiextensions.k8s.io/v1beta1\": {\n const { additionalPrinterColumns: apc } = this.spec;\n const additionalPrinterColumns = apc === null || apc === void 0 ? void 0 : apc.map(({ JSONPath, ...apc }) => ({ ...apc, jsonPath: JSONPath }));\n return {\n name: this.spec.version,\n served: true,\n storage: true,\n schema: this.spec.validation,\n additionalPrinterColumns,\n };\n }\n }\n throw new Error(`Unknown apiVersion=${apiVersion}: Failed to find a version for CustomResourceDefinition ${this.metadata.name}`);\n }\n getVersion() {\n return this.getPreferedVersion().name;\n }\n isNamespaced() {\n return this.getScope() === \"Namespaced\";\n }\n getStoredVersions() {\n return this.status.storedVersions.join(\", \");\n }\n getNames() {\n return this.spec.names;\n }\n getConversion() {\n return JSON.stringify(this.spec.conversion);\n }\n getPrinterColumns(ignorePriority = true) {\n var _a;\n const columns = (_a = this.getPreferedVersion().additionalPrinterColumns) !== null && _a !== void 0 ? _a : [];\n return columns\n .filter(column => column.name.toLowerCase() != \"age\" && (ignorePriority || !column.priority));\n }\n getValidation() {\n return JSON.stringify(this.getPreferedVersion().schema, null, 2);\n }\n getConditions() {\n var _a;\n if (!((_a = this.status) === null || _a === void 0 ? void 0 : _a.conditions))\n return [];\n return this.status.conditions.map(condition => {\n const { message, reason, lastTransitionTime, status } = condition;\n return {\n ...condition,\n isReady: status === \"True\",\n tooltip: `${message || reason} (${lastTransitionTime})`,\n };\n });\n }\n}\nObject.defineProperty(CustomResourceDefinition, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"CustomResourceDefinition\"\n});\nObject.defineProperty(CustomResourceDefinition, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n});\nObject.defineProperty(CustomResourceDefinition, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/apiextensions.k8s.io/v1/customresourcedefinitions\"\n});\n/**\n * Only available within kubernetes cluster pages\n */\nlet crdApi;\nif ((0,_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_2__.isClusterPageContext)()) {\n crdApi = new _kube_api__WEBPACK_IMPORTED_MODULE_1__.KubeApi({\n objectConstructor: CustomResourceDefinition,\n checkPreferredVersion: true,\n });\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/crd.api.ts?");
32705
32813
 
32706
32814
  /***/ }),
32707
32815
 
@@ -32800,7 +32908,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32800
32908
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32801
32909
 
32802
32910
  "use strict";
32803
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Cluster\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.Cluster),\n/* harmony export */ \"ClusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterApi),\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.ClusterRoleBinding),\n/* harmony export */ \"ClusterStatus\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterStatus),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJob),\n/* harmony export */ \"CronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJobApi),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSet),\n/* harmony export */ \"DaemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSetApi),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.Endpoint),\n/* harmony export */ \"EndpointAddress\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointAddress),\n/* harmony export */ \"EndpointSubset\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointSubset),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HorizontalPodAutoscaler),\n/* harmony export */ \"HpaMetricType\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HpaMetricType),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.Job),\n/* harmony export */ \"JobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.JobApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.KubeEvent),\n/* harmony export */ \"LimitPart\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitPart),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitRange),\n/* harmony export */ \"LimitType\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitType),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.Namespace),\n/* harmony export */ \"NamespaceApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceApi),\n/* harmony export */ \"NamespaceStatus\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceStatus),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.PodDisruptionBudget),\n/* harmony export */ \"PodMetrics\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.PodMetrics),\n/* harmony export */ \"PodSecurityPolicy\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.PodSecurityPolicy),\n/* harmony export */ \"PodStatus\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodStatus),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodsApi),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSet),\n/* harmony export */ \"ReplicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSetApi),\n/* harmony export */ \"Resource\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.Resource),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.ResourceQuota),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.Secret),\n/* harmony export */ \"SecretType\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.SecretType),\n/* harmony export */ \"SelfSubjectRulesReview\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReview),\n/* harmony export */ \"SelfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReviewApi),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.ServiceAccount),\n/* harmony export */ \"ServicePort\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.ServicePort),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSet),\n/* harmony export */ \"StatefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSetApi),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.StorageClass),\n/* harmony export */ \"clusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.clusterApi),\n/* harmony export */ \"clusterRoleApi\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.clusterRoleBindingApi),\n/* harmony export */ \"configMapApi\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.configMapApi),\n/* harmony export */ \"crdApi\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.crdApi),\n/* harmony export */ \"cronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.endpointApi),\n/* harmony export */ \"eventApi\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.eventApi),\n/* harmony export */ \"formatNodeTaint\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.formatNodeTaint),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getBackendServiceNamePort),\n/* harmony export */ \"getMetricsByNodeNames\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.getMetricsByNodeNames),\n/* harmony export */ \"getMetricsForAllNodes\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.getMetricsForAllNodes),\n/* harmony export */ \"getMetricsForDaemonSets\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.getMetricsForDaemonSets),\n/* harmony export */ \"getMetricsForDeployments\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.getMetricsForDeployments),\n/* harmony export */ \"getMetricsForIngress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getMetricsForIngress),\n/* harmony export */ \"getMetricsForJobs\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.getMetricsForJobs),\n/* harmony export */ \"getMetricsForNamespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.getMetricsForNamespace),\n/* harmony export */ \"getMetricsForPods\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.getMetricsForPods),\n/* harmony export */ \"getMetricsForPvc\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.getMetricsForPvc),\n/* harmony export */ \"getMetricsForReplicaSets\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.getMetricsForReplicaSets),\n/* harmony export */ \"getMetricsForStatefulSets\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.getMetricsForStatefulSets),\n/* harmony export */ \"hpaApi\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.ingressApi),\n/* harmony export */ \"jobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.nodesApi),\n/* harmony export */ \"pdbApi\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.persistentVolumeApi),\n/* harmony export */ \"podMetricsApi\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.podMetricsApi),\n/* harmony export */ \"podsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.podsApi),\n/* harmony export */ \"pspApi\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.pspApi),\n/* harmony export */ \"pvcApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.secretsApi),\n/* harmony export */ \"selfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.selfSubjectRulesReviewApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _cluster_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cluster.api */ \"./src/common/k8s-api/endpoints/cluster.api.ts\");\n/* harmony import */ var _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cluster-role.api */ \"./src/common/k8s-api/endpoints/cluster-role.api.ts\");\n/* harmony import */ var _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cluster-role-binding.api */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.ts\");\n/* harmony import */ var _configmap_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./configmap.api */ \"./src/common/k8s-api/endpoints/configmap.api.ts\");\n/* harmony import */ var _crd_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.api */ \"./src/common/k8s-api/endpoints/crd.api.ts\");\n/* harmony import */ var _cron_job_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cron-job.api */ \"./src/common/k8s-api/endpoints/cron-job.api.ts\");\n/* harmony import */ var _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./daemon-set.api */ \"./src/common/k8s-api/endpoints/daemon-set.api.ts\");\n/* harmony import */ var _deployment_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./deployment.api */ \"./src/common/k8s-api/endpoints/deployment.api.ts\");\n/* harmony import */ var _endpoint_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./endpoint.api */ \"./src/common/k8s-api/endpoints/endpoint.api.ts\");\n/* harmony import */ var _events_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./events.api */ \"./src/common/k8s-api/endpoints/events.api.ts\");\n/* harmony import */ var _hpa_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./hpa.api */ \"./src/common/k8s-api/endpoints/hpa.api.ts\");\n/* harmony import */ var _ingress_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ingress.api */ \"./src/common/k8s-api/endpoints/ingress.api.ts\");\n/* harmony import */ var _job_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./job.api */ \"./src/common/k8s-api/endpoints/job.api.ts\");\n/* harmony import */ var _limit_range_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./limit-range.api */ \"./src/common/k8s-api/endpoints/limit-range.api.ts\");\n/* harmony import */ var _namespaces_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./namespaces.api */ \"./src/common/k8s-api/endpoints/namespaces.api.ts\");\n/* harmony import */ var _network_policy_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./network-policy.api */ \"./src/common/k8s-api/endpoints/network-policy.api.ts\");\n/* harmony import */ var _nodes_api__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./nodes.api */ \"./src/common/k8s-api/endpoints/nodes.api.ts\");\n/* harmony import */ var _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./persistent-volume.api */ \"./src/common/k8s-api/endpoints/persistent-volume.api.ts\");\n/* harmony import */ var _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./persistent-volume-claims.api */ \"./src/common/k8s-api/endpoints/persistent-volume-claims.api.ts\");\n/* harmony import */ var _pods_api__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./pods.api */ \"./src/common/k8s-api/endpoints/pods.api.ts\");\n/* harmony import */ var _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./poddisruptionbudget.api */ \"./src/common/k8s-api/endpoints/poddisruptionbudget.api.ts\");\n/* harmony import */ var _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./pod-metrics.api */ \"./src/common/k8s-api/endpoints/pod-metrics.api.ts\");\n/* harmony import */ var _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./podsecuritypolicy.api */ \"./src/common/k8s-api/endpoints/podsecuritypolicy.api.ts\");\n/* harmony import */ var _replica_set_api__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./replica-set.api */ \"./src/common/k8s-api/endpoints/replica-set.api.ts\");\n/* harmony import */ var _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./resource-quota.api */ \"./src/common/k8s-api/endpoints/resource-quota.api.ts\");\n/* harmony import */ var _role_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./role.api */ \"./src/common/k8s-api/endpoints/role.api.ts\");\n/* harmony import */ var _role_binding_api__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./role-binding.api */ \"./src/common/k8s-api/endpoints/role-binding.api.ts\");\n/* harmony import */ var _secret_api__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./secret.api */ \"./src/common/k8s-api/endpoints/secret.api.ts\");\n/* harmony import */ var _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./selfsubjectrulesreviews.api */ \"./src/common/k8s-api/endpoints/selfsubjectrulesreviews.api.ts\");\n/* harmony import */ var _service_api__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./service.api */ \"./src/common/k8s-api/endpoints/service.api.ts\");\n/* harmony import */ var _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./service-accounts.api */ \"./src/common/k8s-api/endpoints/service-accounts.api.ts\");\n/* harmony import */ var _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./stateful-set.api */ \"./src/common/k8s-api/endpoints/stateful-set.api.ts\");\n/* harmony import */ var _storage_class_api__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./storage-class.api */ \"./src/common/k8s-api/endpoints/storage-class.api.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Kubernetes apis\n// Docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/index.ts?");
32911
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Cluster\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.Cluster),\n/* harmony export */ \"ClusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterApi),\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.ClusterRoleBinding),\n/* harmony export */ \"ClusterStatus\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterStatus),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJob),\n/* harmony export */ \"CronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJobApi),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSet),\n/* harmony export */ \"DaemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSetApi),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.Endpoint),\n/* harmony export */ \"EndpointAddress\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointAddress),\n/* harmony export */ \"EndpointSubset\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointSubset),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HorizontalPodAutoscaler),\n/* harmony export */ \"HpaMetricType\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HpaMetricType),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.Job),\n/* harmony export */ \"JobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.JobApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.KubeEvent),\n/* harmony export */ \"LimitPart\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitPart),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitRange),\n/* harmony export */ \"LimitType\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitType),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.Namespace),\n/* harmony export */ \"NamespaceApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceApi),\n/* harmony export */ \"NamespaceStatus\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceStatus),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.PodDisruptionBudget),\n/* harmony export */ \"PodMetrics\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.PodMetrics),\n/* harmony export */ \"PodSecurityPolicy\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.PodSecurityPolicy),\n/* harmony export */ \"PodStatus\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodStatus),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodsApi),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSet),\n/* harmony export */ \"ReplicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSetApi),\n/* harmony export */ \"Resource\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.Resource),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.ResourceQuota),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.Secret),\n/* harmony export */ \"SecretType\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.SecretType),\n/* harmony export */ \"SelfSubjectRulesReview\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReview),\n/* harmony export */ \"SelfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReviewApi),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.ServiceAccount),\n/* harmony export */ \"ServicePort\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.ServicePort),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSet),\n/* harmony export */ \"StatefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSetApi),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.StorageClass),\n/* harmony export */ \"clusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.clusterApi),\n/* harmony export */ \"clusterRoleApi\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.clusterRoleBindingApi),\n/* harmony export */ \"computeRouteDeclarations\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.computeRouteDeclarations),\n/* harmony export */ \"computeRuleDeclarations\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.computeRuleDeclarations),\n/* harmony export */ \"configMapApi\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.configMapApi),\n/* harmony export */ \"crdApi\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.crdApi),\n/* harmony export */ \"cronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.endpointApi),\n/* harmony export */ \"eventApi\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.eventApi),\n/* harmony export */ \"formatNodeTaint\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.formatNodeTaint),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getBackendServiceNamePort),\n/* harmony export */ \"getMetricsByNodeNames\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.getMetricsByNodeNames),\n/* harmony export */ \"getMetricsForAllNodes\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.getMetricsForAllNodes),\n/* harmony export */ \"getMetricsForDaemonSets\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.getMetricsForDaemonSets),\n/* harmony export */ \"getMetricsForDeployments\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.getMetricsForDeployments),\n/* harmony export */ \"getMetricsForIngress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getMetricsForIngress),\n/* harmony export */ \"getMetricsForJobs\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.getMetricsForJobs),\n/* harmony export */ \"getMetricsForNamespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.getMetricsForNamespace),\n/* harmony export */ \"getMetricsForPods\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.getMetricsForPods),\n/* harmony export */ \"getMetricsForPvc\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.getMetricsForPvc),\n/* harmony export */ \"getMetricsForReplicaSets\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.getMetricsForReplicaSets),\n/* harmony export */ \"getMetricsForStatefulSets\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.getMetricsForStatefulSets),\n/* harmony export */ \"hpaApi\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.ingressApi),\n/* harmony export */ \"jobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.nodesApi),\n/* harmony export */ \"pdbApi\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.persistentVolumeApi),\n/* harmony export */ \"podMetricsApi\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.podMetricsApi),\n/* harmony export */ \"podsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.podsApi),\n/* harmony export */ \"pspApi\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.pspApi),\n/* harmony export */ \"pvcApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.secretsApi),\n/* harmony export */ \"selfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.selfSubjectRulesReviewApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _cluster_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cluster.api */ \"./src/common/k8s-api/endpoints/cluster.api.ts\");\n/* harmony import */ var _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cluster-role.api */ \"./src/common/k8s-api/endpoints/cluster-role.api.ts\");\n/* harmony import */ var _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cluster-role-binding.api */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.ts\");\n/* harmony import */ var _configmap_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./configmap.api */ \"./src/common/k8s-api/endpoints/configmap.api.ts\");\n/* harmony import */ var _crd_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.api */ \"./src/common/k8s-api/endpoints/crd.api.ts\");\n/* harmony import */ var _cron_job_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cron-job.api */ \"./src/common/k8s-api/endpoints/cron-job.api.ts\");\n/* harmony import */ var _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./daemon-set.api */ \"./src/common/k8s-api/endpoints/daemon-set.api.ts\");\n/* harmony import */ var _deployment_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./deployment.api */ \"./src/common/k8s-api/endpoints/deployment.api.ts\");\n/* harmony import */ var _endpoint_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./endpoint.api */ \"./src/common/k8s-api/endpoints/endpoint.api.ts\");\n/* harmony import */ var _events_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./events.api */ \"./src/common/k8s-api/endpoints/events.api.ts\");\n/* harmony import */ var _hpa_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./hpa.api */ \"./src/common/k8s-api/endpoints/hpa.api.ts\");\n/* harmony import */ var _ingress_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ingress.api */ \"./src/common/k8s-api/endpoints/ingress.api.ts\");\n/* harmony import */ var _job_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./job.api */ \"./src/common/k8s-api/endpoints/job.api.ts\");\n/* harmony import */ var _limit_range_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./limit-range.api */ \"./src/common/k8s-api/endpoints/limit-range.api.ts\");\n/* harmony import */ var _namespaces_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./namespaces.api */ \"./src/common/k8s-api/endpoints/namespaces.api.ts\");\n/* harmony import */ var _network_policy_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./network-policy.api */ \"./src/common/k8s-api/endpoints/network-policy.api.ts\");\n/* harmony import */ var _nodes_api__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./nodes.api */ \"./src/common/k8s-api/endpoints/nodes.api.ts\");\n/* harmony import */ var _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./persistent-volume.api */ \"./src/common/k8s-api/endpoints/persistent-volume.api.ts\");\n/* harmony import */ var _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./persistent-volume-claims.api */ \"./src/common/k8s-api/endpoints/persistent-volume-claims.api.ts\");\n/* harmony import */ var _pods_api__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./pods.api */ \"./src/common/k8s-api/endpoints/pods.api.ts\");\n/* harmony import */ var _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./poddisruptionbudget.api */ \"./src/common/k8s-api/endpoints/poddisruptionbudget.api.ts\");\n/* harmony import */ var _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./pod-metrics.api */ \"./src/common/k8s-api/endpoints/pod-metrics.api.ts\");\n/* harmony import */ var _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./podsecuritypolicy.api */ \"./src/common/k8s-api/endpoints/podsecuritypolicy.api.ts\");\n/* harmony import */ var _replica_set_api__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./replica-set.api */ \"./src/common/k8s-api/endpoints/replica-set.api.ts\");\n/* harmony import */ var _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./resource-quota.api */ \"./src/common/k8s-api/endpoints/resource-quota.api.ts\");\n/* harmony import */ var _role_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./role.api */ \"./src/common/k8s-api/endpoints/role.api.ts\");\n/* harmony import */ var _role_binding_api__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./role-binding.api */ \"./src/common/k8s-api/endpoints/role-binding.api.ts\");\n/* harmony import */ var _secret_api__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./secret.api */ \"./src/common/k8s-api/endpoints/secret.api.ts\");\n/* harmony import */ var _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./selfsubjectrulesreviews.api */ \"./src/common/k8s-api/endpoints/selfsubjectrulesreviews.api.ts\");\n/* harmony import */ var _service_api__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./service.api */ \"./src/common/k8s-api/endpoints/service.api.ts\");\n/* harmony import */ var _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./service-accounts.api */ \"./src/common/k8s-api/endpoints/service-accounts.api.ts\");\n/* harmony import */ var _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./stateful-set.api */ \"./src/common/k8s-api/endpoints/stateful-set.api.ts\");\n/* harmony import */ var _storage_class_api__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./storage-class.api */ \"./src/common/k8s-api/endpoints/storage-class.api.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Kubernetes apis\n// Docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/index.ts?");
32804
32912
 
32805
32913
  /***/ }),
32806
32914
 
@@ -32811,7 +32919,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32811
32919
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32812
32920
 
32813
32921
  "use strict";
32814
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Ingress\": () => (/* binding */ Ingress),\n/* harmony export */ \"IngressApi\": () => (/* binding */ IngressApi),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* binding */ getBackendServiceNamePort),\n/* harmony export */ \"getMetricsForIngress\": () => (/* binding */ getMetricsForIngress),\n/* harmony export */ \"ingressApi\": () => (/* binding */ ingressApi)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _metrics_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./metrics.api */ \"./src/common/k8s-api/endpoints/metrics.api.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nclass IngressApi extends _kube_api__WEBPACK_IMPORTED_MODULE_3__.KubeApi {\n}\nfunction getMetricsForIngress(ingress, namespace) {\n const opts = { category: \"ingress\", ingress, namespace };\n return _metrics_api__WEBPACK_IMPORTED_MODULE_2__.metricsApi.getMetrics({\n bytesSentSuccess: opts,\n bytesSentFailure: opts,\n requestDurationSeconds: opts,\n responseDurationSeconds: opts,\n }, {\n namespace,\n });\n}\nconst getBackendServiceNamePort = (backend) => {\n var _a;\n // .service is available with networking.k8s.io/v1, otherwise using extensions/v1beta1 interface\n const serviceName = \"service\" in backend ? backend.service.name : backend.serviceName;\n // Port is specified either with a number or name\n const servicePort = \"service\" in backend ? (_a = backend.service.port.number) !== null && _a !== void 0 ? _a : backend.service.port.name : backend.servicePort;\n return { serviceName, servicePort };\n};\nclass Ingress extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n constructor(data) {\n super(data);\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.autoBind)(this);\n }\n getRoutes() {\n const { spec: { tls, rules } } = this;\n if (!rules)\n return [];\n let protocol = \"http\";\n const routes = [];\n if (tls && tls.length > 0) {\n protocol += \"s\";\n }\n rules.map(rule => {\n const host = rule.host ? rule.host : \"*\";\n if (rule.http && rule.http.paths) {\n rule.http.paths.forEach(path => {\n const { serviceName, servicePort } = getBackendServiceNamePort(path.backend);\n routes.push(`${protocol}://${host}${path.path || \"/\"} ⇢ ${serviceName}:${servicePort}`);\n });\n }\n });\n return routes;\n }\n getServiceNamePort() {\n var _a, _b, _c, _d, _e, _f;\n const { spec: { backend, defaultBackend } = {} } = this;\n const serviceName = (_b = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : backend === null || backend === void 0 ? void 0 : backend.serviceName;\n const servicePort = (_f = (_d = (_c = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _c === void 0 ? void 0 : _c.port.number) !== null && _d !== void 0 ? _d : (_e = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _e === void 0 ? void 0 : _e.port.name) !== null && _f !== void 0 ? _f : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n return {\n serviceName,\n servicePort,\n };\n }\n getHosts() {\n const { spec: { rules } } = this;\n if (!rules)\n return [];\n return rules.filter(rule => rule.host).map(rule => rule.host);\n }\n getPorts() {\n var _a;\n const ports = [];\n const { spec: { tls, rules, backend, defaultBackend } } = this;\n const httpPort = 80;\n const tlsPort = 443;\n // Note: not using the port name (string)\n const servicePort = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service.port.number) !== null && _a !== void 0 ? _a : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n if (rules && rules.length > 0) {\n if (rules.some(rule => Object.prototype.hasOwnProperty.call(rule, \"http\"))) {\n ports.push(httpPort);\n }\n }\n else if (servicePort !== undefined) {\n ports.push(Number(servicePort));\n }\n if (tls && tls.length > 0) {\n ports.push(tlsPort);\n }\n return ports.join(\", \");\n }\n getLoadBalancers() {\n var _a;\n const { status: { loadBalancer = { ingress: [] } } } = this;\n return ((_a = loadBalancer.ingress) !== null && _a !== void 0 ? _a : []).map(address => (address.hostname || address.ip));\n }\n}\nObject.defineProperty(Ingress, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"Ingress\"\n});\nObject.defineProperty(Ingress, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n});\nObject.defineProperty(Ingress, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/networking.k8s.io/v1/ingresses\"\n});\nlet ingressApi;\nif ((0,_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__.isClusterPageContext)()) {\n ingressApi = new IngressApi({\n objectConstructor: Ingress,\n // Add fallback for Kubernetes <1.19\n checkPreferredVersion: true,\n fallbackApiBases: [\"/apis/extensions/v1beta1/ingresses\"],\n });\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/ingress.api.ts?");
32922
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Ingress\": () => (/* binding */ Ingress),\n/* harmony export */ \"IngressApi\": () => (/* binding */ IngressApi),\n/* harmony export */ \"computeRouteDeclarations\": () => (/* binding */ computeRouteDeclarations),\n/* harmony export */ \"computeRuleDeclarations\": () => (/* binding */ computeRuleDeclarations),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* binding */ getBackendServiceNamePort),\n/* harmony export */ \"getMetricsForIngress\": () => (/* binding */ getMetricsForIngress),\n/* harmony export */ \"ingressApi\": () => (/* binding */ ingressApi)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _metrics_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./metrics.api */ \"./src/common/k8s-api/endpoints/metrics.api.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nclass IngressApi extends _kube_api__WEBPACK_IMPORTED_MODULE_3__.KubeApi {\n}\nfunction getMetricsForIngress(ingress, namespace) {\n const opts = { category: \"ingress\", ingress, namespace };\n return _metrics_api__WEBPACK_IMPORTED_MODULE_2__.metricsApi.getMetrics({\n bytesSentSuccess: opts,\n bytesSentFailure: opts,\n requestDurationSeconds: opts,\n responseDurationSeconds: opts,\n }, {\n namespace,\n });\n}\nfunction isExtensionsBackend(backend) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.hasTypedProperty)(backend, \"serviceName\", _utils__WEBPACK_IMPORTED_MODULE_1__.isString);\n}\n/**\n * Format an ingress backend into the name of the service and port\n * @param backend The ingress target\n */\nfunction getBackendServiceNamePort(backend) {\n var _a;\n if (isExtensionsBackend(backend)) {\n return `${backend.serviceName}:${backend.servicePort}`;\n }\n if (backend.service) {\n const { name, port } = backend.service;\n return `${name}:${(_a = port.number) !== null && _a !== void 0 ? _a : port.name}`;\n }\n return \"<unknown>\";\n}\nclass Ingress extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n constructor(data) {\n super(data);\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.autoBind)(this);\n }\n getRules() {\n var _a;\n return (_a = this.spec.rules) !== null && _a !== void 0 ? _a : [];\n }\n getRoutes() {\n return computeRouteDeclarations(this).map(({ url, service }) => `${url} ⇢ ${service}`);\n }\n getServiceNamePort() {\n var _a, _b, _c, _d, _e, _f;\n const { spec: { backend, defaultBackend } = {} } = this;\n const serviceName = (_b = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : backend === null || backend === void 0 ? void 0 : backend.serviceName;\n const servicePort = (_f = (_d = (_c = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _c === void 0 ? void 0 : _c.port.number) !== null && _d !== void 0 ? _d : (_e = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _e === void 0 ? void 0 : _e.port.name) !== null && _f !== void 0 ? _f : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n return {\n serviceName,\n servicePort,\n };\n }\n getHosts() {\n const { spec: { rules = [] } } = this;\n return [..._utils__WEBPACK_IMPORTED_MODULE_1__.iter.filterMap(rules, rule => rule.host)];\n }\n getPorts() {\n var _a, _b;\n const ports = [];\n const { spec: { tls, rules, backend, defaultBackend } } = this;\n const httpPort = 80;\n const tlsPort = 443;\n // Note: not using the port name (string)\n const servicePort = (_b = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _a === void 0 ? void 0 : _a.port.number) !== null && _b !== void 0 ? _b : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n if (rules && rules.length > 0) {\n if (rules.some(rule => Object.prototype.hasOwnProperty.call(rule, \"http\"))) {\n ports.push(httpPort);\n }\n }\n else if (servicePort !== undefined) {\n ports.push(Number(servicePort));\n }\n if (tls && tls.length > 0) {\n ports.push(tlsPort);\n }\n return ports.join(\", \");\n }\n getLoadBalancers() {\n var _a;\n const { status: { loadBalancer = { ingress: [] } } } = this;\n return ((_a = loadBalancer.ingress) !== null && _a !== void 0 ? _a : []).map(address => (address.hostname || address.ip));\n }\n}\nObject.defineProperty(Ingress, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"Ingress\"\n});\nObject.defineProperty(Ingress, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n});\nObject.defineProperty(Ingress, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/networking.k8s.io/v1/ingresses\"\n});\nfunction computeRuleDeclarations(ingress, rule) {\n var _a, _b, _c;\n const { host = \"*\", http: { paths } = { paths: [] } } = rule;\n const protocol = ((_c = (_b = (_a = ingress.spec) === null || _a === void 0 ? void 0 : _a.tls) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) === 0\n ? \"http\"\n : \"https\";\n return paths.map(({ path = \"/\", backend }) => ({\n displayAsLink: !host.includes(\"*\"),\n pathname: path,\n url: `${protocol}://${host}${path}`,\n service: getBackendServiceNamePort(backend),\n }));\n}\nfunction computeRouteDeclarations(ingress) {\n return ingress.getRules().flatMap(rule => computeRuleDeclarations(ingress, rule));\n}\nlet ingressApi;\nif ((0,_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__.isClusterPageContext)()) {\n ingressApi = new IngressApi({\n objectConstructor: Ingress,\n // Add fallback for Kubernetes <1.19\n checkPreferredVersion: true,\n fallbackApiBases: [\"/apis/extensions/v1beta1/ingresses\"],\n });\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/ingress.api.ts?");
32815
32923
 
32816
32924
  /***/ }),
32817
32925
 
@@ -33178,410 +33286,47 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33178
33286
 
33179
33287
  /***/ }),
33180
33288
 
33181
- /***/ "./src/common/logger.ts":
33182
- /*!******************************!*\
33183
- !*** ./src/common/logger.ts ***!
33184
- \******************************/
33185
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33186
-
33187
- "use strict";
33188
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! winston */ \"./node_modules/winston/dist/winston.js\");\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(winston__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! winston-console-format */ \"./node_modules/winston-console-format/dist/index.js\");\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(winston_console_format__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./vars */ \"./src/common/vars.ts\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! winston-transport-browserconsole */ \"./node_modules/winston-transport-browserconsole/dist/BrowserConsole.js\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nconst logLevel = process.env.LOG_LEVEL\n ? process.env.LOG_LEVEL\n : _vars__WEBPACK_IMPORTED_MODULE_3__.isDebugging\n ? \"debug\"\n : _vars__WEBPACK_IMPORTED_MODULE_3__.isTestEnv\n ? \"error\"\n : \"info\";\nconst transports = [];\nif (electron__WEBPACK_IMPORTED_MODULE_0__.ipcMain) {\n transports.push(new (winston__WEBPACK_IMPORTED_MODULE_1___default().transports.Console)({\n handleExceptions: false,\n level: logLevel,\n format: winston__WEBPACK_IMPORTED_MODULE_1__.format.combine(winston__WEBPACK_IMPORTED_MODULE_1__.format.colorize({ level: true, message: false }), winston__WEBPACK_IMPORTED_MODULE_1__.format.padLevels(), winston__WEBPACK_IMPORTED_MODULE_1__.format.ms(), (0,winston_console_format__WEBPACK_IMPORTED_MODULE_2__.consoleFormat)({\n showMeta: true,\n inspectOptions: {\n depth: 4,\n colors: true,\n maxArrayLength: 10,\n breakLength: 120,\n compact: Infinity,\n },\n })),\n }));\n if (!_vars__WEBPACK_IMPORTED_MODULE_3__.isTestEnv) {\n transports.push(new (winston__WEBPACK_IMPORTED_MODULE_1___default().transports.File)({\n handleExceptions: false,\n level: logLevel,\n filename: \"lens.log\",\n /**\n * SAFTEY: the `ipcMain` check above should mean that this is only\n * called in the main process\n */\n dirname: electron__WEBPACK_IMPORTED_MODULE_0__.app.getPath(\"logs\"),\n maxsize: 16 * 1024,\n maxFiles: 16,\n tailable: true,\n }));\n }\n}\nelse {\n transports.push(new (winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default())());\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (winston__WEBPACK_IMPORTED_MODULE_1___default().createLogger({\n format: winston__WEBPACK_IMPORTED_MODULE_1__.format.combine(winston__WEBPACK_IMPORTED_MODULE_1__.format.splat(), winston__WEBPACK_IMPORTED_MODULE_1__.format.simple()),\n transports,\n}));\n\n\n//# sourceURL=webpack://open-lens/./src/common/logger.ts?");
33189
-
33190
- /***/ }),
33191
-
33192
- /***/ "./src/common/rbac.ts":
33193
- /*!****************************!*\
33194
- !*** ./src/common/rbac.ts ***!
33195
- \****************************/
33196
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33197
-
33198
- "use strict";
33199
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"apiResourceRecord\": () => (/* binding */ apiResourceRecord),\n/* harmony export */ \"apiResources\": () => (/* binding */ apiResources)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nconst apiResourceRecord = {\n \"clusterroles\": { kind: \"ClusterRole\", group: \"rbac.authorization.k8s.io\" },\n \"clusterrolebindings\": { kind: \"ClusterRoleBinding\", group: \"rbac.authorization.k8s.io\" },\n \"configmaps\": { kind: \"ConfigMap\" },\n \"cronjobs\": { kind: \"CronJob\", group: \"batch\" },\n \"customresourcedefinitions\": { kind: \"CustomResourceDefinition\", group: \"apiextensions.k8s.io\" },\n \"daemonsets\": { kind: \"DaemonSet\", group: \"apps\" },\n \"deployments\": { kind: \"Deployment\", group: \"apps\" },\n \"endpoints\": { kind: \"Endpoint\" },\n \"events\": { kind: \"Event\" },\n \"horizontalpodautoscalers\": { kind: \"HorizontalPodAutoscaler\", group: \"autoscaling\" },\n \"ingresses\": { kind: \"Ingress\", group: \"networking.k8s.io\" },\n \"jobs\": { kind: \"Job\", group: \"batch\" },\n \"namespaces\": { kind: \"Namespace\" },\n \"limitranges\": { kind: \"LimitRange\" },\n \"networkpolicies\": { kind: \"NetworkPolicy\", group: \"networking.k8s.io\" },\n \"nodes\": { kind: \"Node\" },\n \"persistentvolumes\": { kind: \"PersistentVolume\" },\n \"persistentvolumeclaims\": { kind: \"PersistentVolumeClaim\" },\n \"pods\": { kind: \"Pod\" },\n \"poddisruptionbudgets\": { kind: \"PodDisruptionBudget\", group: \"policy\" },\n \"podsecuritypolicies\": { kind: \"PodSecurityPolicy\", group: \"policy\" },\n \"resourcequotas\": { kind: \"ResourceQuota\" },\n \"replicasets\": { kind: \"ReplicaSet\", group: \"apps\" },\n \"roles\": { kind: \"Role\", group: \"rbac.authorization.k8s.io\" },\n \"rolebindings\": { kind: \"RoleBinding\", group: \"rbac.authorization.k8s.io\" },\n \"secrets\": { kind: \"Secret\" },\n \"serviceaccounts\": { kind: \"ServiceAccount\" },\n \"services\": { kind: \"Service\" },\n \"statefulsets\": { kind: \"StatefulSet\", group: \"apps\" },\n \"storageclasses\": { kind: \"StorageClass\", group: \"storage.k8s.io\" },\n};\n// TODO: auto-populate all resources dynamically (see: kubectl api-resources -o=wide -v=7)\nconst apiResources = Object.entries(apiResourceRecord)\n .map(([apiName, data]) => ({ apiName: apiName, ...data }));\n\n\n//# sourceURL=webpack://open-lens/./src/common/rbac.ts?");
33200
-
33201
- /***/ }),
33202
-
33203
- /***/ "./src/common/routes/add-cluster.ts":
33204
- /*!******************************************!*\
33205
- !*** ./src/common/routes/add-cluster.ts ***!
33206
- \******************************************/
33207
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33208
-
33209
- "use strict";
33210
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"addClusterRoute\": () => (/* binding */ addClusterRoute),\n/* harmony export */ \"addClusterURL\": () => (/* binding */ addClusterURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst addClusterRoute = {\n path: \"/add-cluster\",\n};\nconst addClusterURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(addClusterRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/add-cluster.ts?");
33211
-
33212
- /***/ }),
33213
-
33214
- /***/ "./src/common/routes/catalog.ts":
33215
- /*!**************************************!*\
33216
- !*** ./src/common/routes/catalog.ts ***!
33217
- \**************************************/
33218
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33219
-
33220
- "use strict";
33221
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"browseCatalogTab\": () => (/* binding */ browseCatalogTab),\n/* harmony export */ \"catalogRoute\": () => (/* binding */ catalogRoute),\n/* harmony export */ \"catalogURL\": () => (/* binding */ catalogURL),\n/* harmony export */ \"getPreviousTabUrl\": () => (/* binding */ getPreviousTabUrl)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst catalogRoute = {\n path: \"/catalog/:group?/:kind?\",\n};\nconst getPreviousTabUrl = (path) => {\n const [group, kind] = path.split(\"/\");\n return catalogURL({\n params: {\n group: group || browseCatalogTab,\n kind,\n },\n });\n};\nconst catalogURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(catalogRoute.path);\nconst browseCatalogTab = \"browse\";\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/catalog.ts?");
33222
-
33223
- /***/ }),
33224
-
33225
- /***/ "./src/common/routes/cluster-view.ts":
33226
- /*!*******************************************!*\
33227
- !*** ./src/common/routes/cluster-view.ts ***!
33228
- \*******************************************/
33229
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33230
-
33231
- "use strict";
33232
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clusterViewRoute\": () => (/* binding */ clusterViewRoute),\n/* harmony export */ \"clusterViewURL\": () => (/* binding */ clusterViewURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst clusterViewRoute = {\n exact: true,\n path: \"/cluster/:clusterId\",\n};\nconst clusterViewURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(clusterViewRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/cluster-view.ts?");
33233
-
33234
- /***/ }),
33235
-
33236
- /***/ "./src/common/routes/cluster.ts":
33237
- /*!**************************************!*\
33238
- !*** ./src/common/routes/cluster.ts ***!
33239
- \**************************************/
33240
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33241
-
33242
- "use strict";
33243
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clusterRoute\": () => (/* binding */ clusterRoute),\n/* harmony export */ \"clusterURL\": () => (/* binding */ clusterURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst clusterRoute = {\n path: \"/overview\",\n};\nconst clusterURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(clusterRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/cluster.ts?");
33244
-
33245
- /***/ }),
33246
-
33247
- /***/ "./src/common/routes/config-maps.ts":
33248
- /*!******************************************!*\
33249
- !*** ./src/common/routes/config-maps.ts ***!
33250
- \******************************************/
33251
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33252
-
33253
- "use strict";
33254
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"configMapsRoute\": () => (/* binding */ configMapsRoute),\n/* harmony export */ \"configMapsURL\": () => (/* binding */ configMapsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst configMapsRoute = {\n path: \"/configmaps\",\n};\nconst configMapsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(configMapsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/config-maps.ts?");
33255
-
33256
- /***/ }),
33257
-
33258
- /***/ "./src/common/routes/config.ts":
33259
- /*!*************************************!*\
33260
- !*** ./src/common/routes/config.ts ***!
33261
- \*************************************/
33262
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33263
-
33264
- "use strict";
33265
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"configRoute\": () => (/* binding */ configRoute),\n/* harmony export */ \"configURL\": () => (/* binding */ configURL)\n/* harmony export */ });\n/* harmony import */ var _config_maps__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config-maps */ \"./src/common/routes/config-maps.ts\");\n/* harmony import */ var _hpa__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hpa */ \"./src/common/routes/hpa.ts\");\n/* harmony import */ var _limit_ranges__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./limit-ranges */ \"./src/common/routes/limit-ranges.ts\");\n/* harmony import */ var _pod_disruption_budgets__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pod-disruption-budgets */ \"./src/common/routes/pod-disruption-budgets.ts\");\n/* harmony import */ var _resource_quotas__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./resource-quotas */ \"./src/common/routes/resource-quotas.ts\");\n/* harmony import */ var _secrets__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./secrets */ \"./src/common/routes/secrets.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\nconst configRoute = {\n path: [\n _config_maps__WEBPACK_IMPORTED_MODULE_0__.configMapsRoute,\n _secrets__WEBPACK_IMPORTED_MODULE_5__.secretsRoute,\n _resource_quotas__WEBPACK_IMPORTED_MODULE_4__.resourceQuotaRoute,\n _limit_ranges__WEBPACK_IMPORTED_MODULE_2__.limitRangesRoute,\n _hpa__WEBPACK_IMPORTED_MODULE_1__.hpaRoute,\n _pod_disruption_budgets__WEBPACK_IMPORTED_MODULE_3__.pdbRoute,\n ].map(route => route.path.toString()),\n};\nconst configURL = (params) => (0,_config_maps__WEBPACK_IMPORTED_MODULE_0__.configMapsURL)(params);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/config.ts?");
33266
-
33267
- /***/ }),
33268
-
33269
- /***/ "./src/common/routes/crd.ts":
33270
- /*!**********************************!*\
33271
- !*** ./src/common/routes/crd.ts ***!
33272
- \**********************************/
33273
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33274
-
33275
- "use strict";
33276
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"crdDefinitionsRoute\": () => (/* binding */ crdDefinitionsRoute),\n/* harmony export */ \"crdResourcesRoute\": () => (/* binding */ crdResourcesRoute),\n/* harmony export */ \"crdResourcesURL\": () => (/* binding */ crdResourcesURL),\n/* harmony export */ \"crdRoute\": () => (/* binding */ crdRoute),\n/* harmony export */ \"crdURL\": () => (/* binding */ crdURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst crdRoute = {\n path: \"/crd\",\n};\nconst crdDefinitionsRoute = {\n path: `${crdRoute.path}/definitions`,\n};\nconst crdResourcesRoute = {\n path: `${crdRoute.path}/:group/:name`,\n};\nconst crdURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(crdDefinitionsRoute.path);\nconst crdResourcesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(crdResourcesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/crd.ts?");
33277
-
33278
- /***/ }),
33279
-
33280
- /***/ "./src/common/routes/endpoints.ts":
33281
- /*!****************************************!*\
33282
- !*** ./src/common/routes/endpoints.ts ***!
33283
- \****************************************/
33284
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33285
-
33286
- "use strict";
33287
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"endpointRoute\": () => (/* binding */ endpointRoute),\n/* harmony export */ \"endpointURL\": () => (/* binding */ endpointURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst endpointRoute = {\n path: \"/endpoints\",\n};\nconst endpointURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(endpointRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/endpoints.ts?");
33288
-
33289
- /***/ }),
33290
-
33291
- /***/ "./src/common/routes/entity-settings.ts":
33292
- /*!**********************************************!*\
33293
- !*** ./src/common/routes/entity-settings.ts ***!
33294
- \**********************************************/
33295
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33296
-
33297
- "use strict";
33298
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"entitySettingsRoute\": () => (/* binding */ entitySettingsRoute),\n/* harmony export */ \"entitySettingsURL\": () => (/* binding */ entitySettingsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst entitySettingsRoute = {\n path: `/entity/:entityId/settings`,\n};\nconst entitySettingsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(entitySettingsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/entity-settings.ts?");
33299
-
33300
- /***/ }),
33301
-
33302
- /***/ "./src/common/routes/events.ts":
33303
- /*!*************************************!*\
33304
- !*** ./src/common/routes/events.ts ***!
33305
- \*************************************/
33306
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33307
-
33308
- "use strict";
33309
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"eventRoute\": () => (/* binding */ eventRoute),\n/* harmony export */ \"eventsURL\": () => (/* binding */ eventsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst eventRoute = {\n path: \"/events\",\n};\nconst eventsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(eventRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/events.ts?");
33310
-
33311
- /***/ }),
33312
-
33313
- /***/ "./src/common/routes/extensions.ts":
33289
+ /***/ "./src/common/logger.injectable.ts":
33314
33290
  /*!*****************************************!*\
33315
- !*** ./src/common/routes/extensions.ts ***!
33291
+ !*** ./src/common/logger.injectable.ts ***!
33316
33292
  \*****************************************/
33317
33293
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33318
33294
 
33319
33295
  "use strict";
33320
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"extensionsRoute\": () => (/* binding */ extensionsRoute),\n/* harmony export */ \"extensionsURL\": () => (/* binding */ extensionsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst extensionsRoute = {\n path: \"/extensions\",\n};\nconst extensionsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(extensionsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/extensions.ts?");
33321
-
33322
- /***/ }),
33323
-
33324
- /***/ "./src/common/routes/helm-charts.ts":
33325
- /*!******************************************!*\
33326
- !*** ./src/common/routes/helm-charts.ts ***!
33327
- \******************************************/
33328
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33329
-
33330
- "use strict";
33331
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"helmChartsRoute\": () => (/* binding */ helmChartsRoute),\n/* harmony export */ \"helmChartsURL\": () => (/* binding */ helmChartsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/* harmony import */ var _helm__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helm */ \"./src/common/routes/helm.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst helmChartsRoute = {\n path: `${_helm__WEBPACK_IMPORTED_MODULE_1__.helmRoute.path}/charts/:repo?/:chartName?`,\n};\nconst helmChartsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(helmChartsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/helm-charts.ts?");
33332
-
33333
- /***/ }),
33334
-
33335
- /***/ "./src/common/routes/helm.ts":
33336
- /*!***********************************!*\
33337
- !*** ./src/common/routes/helm.ts ***!
33338
- \***********************************/
33339
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33340
-
33341
- "use strict";
33342
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"helmRoute\": () => (/* binding */ helmRoute),\n/* harmony export */ \"helmURL\": () => (/* binding */ helmURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst helmRoute = {\n path: \"/helm\",\n};\nconst helmURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(helmRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/helm.ts?");
33343
-
33344
- /***/ }),
33345
-
33346
- /***/ "./src/common/routes/hpa.ts":
33347
- /*!**********************************!*\
33348
- !*** ./src/common/routes/hpa.ts ***!
33349
- \**********************************/
33350
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33351
-
33352
- "use strict";
33353
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"hpaRoute\": () => (/* binding */ hpaRoute),\n/* harmony export */ \"hpaURL\": () => (/* binding */ hpaURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst hpaRoute = {\n path: \"/hpa\",\n};\nconst hpaURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(hpaRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/hpa.ts?");
33354
-
33355
- /***/ }),
33356
-
33357
- /***/ "./src/common/routes/index.ts":
33358
- /*!************************************!*\
33359
- !*** ./src/common/routes/index.ts ***!
33360
- \************************************/
33361
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33362
-
33363
- "use strict";
33364
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"addClusterRoute\": () => (/* reexport safe */ _add_cluster__WEBPACK_IMPORTED_MODULE_0__.addClusterRoute),\n/* harmony export */ \"addClusterURL\": () => (/* reexport safe */ _add_cluster__WEBPACK_IMPORTED_MODULE_0__.addClusterURL),\n/* harmony export */ \"appRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.appRoute),\n/* harmony export */ \"appURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.appURL),\n/* harmony export */ \"browseCatalogTab\": () => (/* reexport safe */ _catalog__WEBPACK_IMPORTED_MODULE_1__.browseCatalogTab),\n/* harmony export */ \"catalogRoute\": () => (/* reexport safe */ _catalog__WEBPACK_IMPORTED_MODULE_1__.catalogRoute),\n/* harmony export */ \"catalogURL\": () => (/* reexport safe */ _catalog__WEBPACK_IMPORTED_MODULE_1__.catalogURL),\n/* harmony export */ \"clusterRoleBindingsRoute\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.clusterRoleBindingsRoute),\n/* harmony export */ \"clusterRoleBindingsURL\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.clusterRoleBindingsURL),\n/* harmony export */ \"clusterRolesRoute\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.clusterRolesRoute),\n/* harmony export */ \"clusterRolesURL\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.clusterRolesURL),\n/* harmony export */ \"clusterRoute\": () => (/* reexport safe */ _cluster__WEBPACK_IMPORTED_MODULE_3__.clusterRoute),\n/* harmony export */ \"clusterURL\": () => (/* reexport safe */ _cluster__WEBPACK_IMPORTED_MODULE_3__.clusterURL),\n/* harmony export */ \"clusterViewRoute\": () => (/* reexport safe */ _cluster_view__WEBPACK_IMPORTED_MODULE_2__.clusterViewRoute),\n/* harmony export */ \"clusterViewURL\": () => (/* reexport safe */ _cluster_view__WEBPACK_IMPORTED_MODULE_2__.clusterViewURL),\n/* harmony export */ \"configMapsRoute\": () => (/* reexport safe */ _config_maps__WEBPACK_IMPORTED_MODULE_4__.configMapsRoute),\n/* harmony export */ \"configMapsURL\": () => (/* reexport safe */ _config_maps__WEBPACK_IMPORTED_MODULE_4__.configMapsURL),\n/* harmony export */ \"configRoute\": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_5__.configRoute),\n/* harmony export */ \"configURL\": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_5__.configURL),\n/* harmony export */ \"crdDefinitionsRoute\": () => (/* reexport safe */ _crd__WEBPACK_IMPORTED_MODULE_6__.crdDefinitionsRoute),\n/* harmony export */ \"crdResourcesRoute\": () => (/* reexport safe */ _crd__WEBPACK_IMPORTED_MODULE_6__.crdResourcesRoute),\n/* harmony export */ \"crdResourcesURL\": () => (/* reexport safe */ _crd__WEBPACK_IMPORTED_MODULE_6__.crdResourcesURL),\n/* harmony export */ \"crdRoute\": () => (/* reexport safe */ _crd__WEBPACK_IMPORTED_MODULE_6__.crdRoute),\n/* harmony export */ \"crdURL\": () => (/* reexport safe */ _crd__WEBPACK_IMPORTED_MODULE_6__.crdURL),\n/* harmony export */ \"cronJobsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.cronJobsRoute),\n/* harmony export */ \"cronJobsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.cronJobsURL),\n/* harmony export */ \"daemonSetsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.daemonSetsRoute),\n/* harmony export */ \"daemonSetsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.daemonSetsURL),\n/* harmony export */ \"deploymentsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.deploymentsRoute),\n/* harmony export */ \"deploymentsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.deploymentsURL),\n/* harmony export */ \"editorRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.editorRoute),\n/* harmony export */ \"editorURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.editorURL),\n/* harmony export */ \"endpointRoute\": () => (/* reexport safe */ _endpoints__WEBPACK_IMPORTED_MODULE_7__.endpointRoute),\n/* harmony export */ \"endpointURL\": () => (/* reexport safe */ _endpoints__WEBPACK_IMPORTED_MODULE_7__.endpointURL),\n/* harmony export */ \"entitySettingsRoute\": () => (/* reexport safe */ _entity_settings__WEBPACK_IMPORTED_MODULE_8__.entitySettingsRoute),\n/* harmony export */ \"entitySettingsURL\": () => (/* reexport safe */ _entity_settings__WEBPACK_IMPORTED_MODULE_8__.entitySettingsURL),\n/* harmony export */ \"eventRoute\": () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_9__.eventRoute),\n/* harmony export */ \"eventsURL\": () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_9__.eventsURL),\n/* harmony export */ \"extensionRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.extensionRoute),\n/* harmony export */ \"extensionURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.extensionURL),\n/* harmony export */ \"extensionsRoute\": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_10__.extensionsRoute),\n/* harmony export */ \"extensionsURL\": () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_10__.extensionsURL),\n/* harmony export */ \"getPreviousTabUrl\": () => (/* reexport safe */ _catalog__WEBPACK_IMPORTED_MODULE_1__.getPreviousTabUrl),\n/* harmony export */ \"helmChartsRoute\": () => (/* reexport safe */ _helm_charts__WEBPACK_IMPORTED_MODULE_11__.helmChartsRoute),\n/* harmony export */ \"helmChartsURL\": () => (/* reexport safe */ _helm_charts__WEBPACK_IMPORTED_MODULE_11__.helmChartsURL),\n/* harmony export */ \"helmRoute\": () => (/* reexport safe */ _helm__WEBPACK_IMPORTED_MODULE_12__.helmRoute),\n/* harmony export */ \"helmURL\": () => (/* reexport safe */ _helm__WEBPACK_IMPORTED_MODULE_12__.helmURL),\n/* harmony export */ \"hpaRoute\": () => (/* reexport safe */ _hpa__WEBPACK_IMPORTED_MODULE_13__.hpaRoute),\n/* harmony export */ \"hpaURL\": () => (/* reexport safe */ _hpa__WEBPACK_IMPORTED_MODULE_13__.hpaURL),\n/* harmony export */ \"ingressRoute\": () => (/* reexport safe */ _ingresses__WEBPACK_IMPORTED_MODULE_14__.ingressRoute),\n/* harmony export */ \"ingressURL\": () => (/* reexport safe */ _ingresses__WEBPACK_IMPORTED_MODULE_14__.ingressURL),\n/* harmony export */ \"jobsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.jobsRoute),\n/* harmony export */ \"jobsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.jobsURL),\n/* harmony export */ \"kubernetesRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.kubernetesRoute),\n/* harmony export */ \"kubernetesURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.kubernetesURL),\n/* harmony export */ \"limitRangeURL\": () => (/* reexport safe */ _limit_ranges__WEBPACK_IMPORTED_MODULE_15__.limitRangeURL),\n/* harmony export */ \"limitRangesRoute\": () => (/* reexport safe */ _limit_ranges__WEBPACK_IMPORTED_MODULE_15__.limitRangesRoute),\n/* harmony export */ \"namespacesRoute\": () => (/* reexport safe */ _namespaces__WEBPACK_IMPORTED_MODULE_16__.namespacesRoute),\n/* harmony export */ \"namespacesURL\": () => (/* reexport safe */ _namespaces__WEBPACK_IMPORTED_MODULE_16__.namespacesURL),\n/* harmony export */ \"networkPoliciesRoute\": () => (/* reexport safe */ _network_policies__WEBPACK_IMPORTED_MODULE_17__.networkPoliciesRoute),\n/* harmony export */ \"networkPoliciesURL\": () => (/* reexport safe */ _network_policies__WEBPACK_IMPORTED_MODULE_17__.networkPoliciesURL),\n/* harmony export */ \"networkRoute\": () => (/* reexport safe */ _network__WEBPACK_IMPORTED_MODULE_18__.networkRoute),\n/* harmony export */ \"networkURL\": () => (/* reexport safe */ _network__WEBPACK_IMPORTED_MODULE_18__.networkURL),\n/* harmony export */ \"nodesRoute\": () => (/* reexport safe */ _nodes__WEBPACK_IMPORTED_MODULE_19__.nodesRoute),\n/* harmony export */ \"nodesURL\": () => (/* reexport safe */ _nodes__WEBPACK_IMPORTED_MODULE_19__.nodesURL),\n/* harmony export */ \"overviewRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.overviewRoute),\n/* harmony export */ \"overviewURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.overviewURL),\n/* harmony export */ \"pdbRoute\": () => (/* reexport safe */ _pod_disruption_budgets__WEBPACK_IMPORTED_MODULE_20__.pdbRoute),\n/* harmony export */ \"pdbURL\": () => (/* reexport safe */ _pod_disruption_budgets__WEBPACK_IMPORTED_MODULE_20__.pdbURL),\n/* harmony export */ \"podSecurityPoliciesRoute\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.podSecurityPoliciesRoute),\n/* harmony export */ \"podSecurityPoliciesURL\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.podSecurityPoliciesURL),\n/* harmony export */ \"podsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.podsRoute),\n/* harmony export */ \"podsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.podsURL),\n/* harmony export */ \"portForwardsRoute\": () => (/* reexport safe */ _port_forwards__WEBPACK_IMPORTED_MODULE_21__.portForwardsRoute),\n/* harmony export */ \"portForwardsURL\": () => (/* reexport safe */ _port_forwards__WEBPACK_IMPORTED_MODULE_21__.portForwardsURL),\n/* harmony export */ \"preferencesRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.preferencesRoute),\n/* harmony export */ \"preferencesURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.preferencesURL),\n/* harmony export */ \"proxyRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.proxyRoute),\n/* harmony export */ \"proxyURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.proxyURL),\n/* harmony export */ \"releaseRoute\": () => (/* reexport safe */ _releases__WEBPACK_IMPORTED_MODULE_23__.releaseRoute),\n/* harmony export */ \"releaseURL\": () => (/* reexport safe */ _releases__WEBPACK_IMPORTED_MODULE_23__.releaseURL),\n/* harmony export */ \"replicaSetsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.replicaSetsRoute),\n/* harmony export */ \"replicaSetsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.replicaSetsURL),\n/* harmony export */ \"resourceQuotaRoute\": () => (/* reexport safe */ _resource_quotas__WEBPACK_IMPORTED_MODULE_24__.resourceQuotaRoute),\n/* harmony export */ \"resourceQuotaURL\": () => (/* reexport safe */ _resource_quotas__WEBPACK_IMPORTED_MODULE_24__.resourceQuotaURL),\n/* harmony export */ \"roleBindingsRoute\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.roleBindingsRoute),\n/* harmony export */ \"roleBindingsURL\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.roleBindingsURL),\n/* harmony export */ \"rolesRoute\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.rolesRoute),\n/* harmony export */ \"rolesURL\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.rolesURL),\n/* harmony export */ \"secretsRoute\": () => (/* reexport safe */ _secrets__WEBPACK_IMPORTED_MODULE_25__.secretsRoute),\n/* harmony export */ \"secretsURL\": () => (/* reexport safe */ _secrets__WEBPACK_IMPORTED_MODULE_25__.secretsURL),\n/* harmony export */ \"serviceAccountsRoute\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.serviceAccountsRoute),\n/* harmony export */ \"serviceAccountsURL\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.serviceAccountsURL),\n/* harmony export */ \"servicesRoute\": () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_26__.servicesRoute),\n/* harmony export */ \"servicesURL\": () => (/* reexport safe */ _services__WEBPACK_IMPORTED_MODULE_26__.servicesURL),\n/* harmony export */ \"statefulSetsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.statefulSetsRoute),\n/* harmony export */ \"statefulSetsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.statefulSetsURL),\n/* harmony export */ \"storageClassesRoute\": () => (/* reexport safe */ _storage_classes__WEBPACK_IMPORTED_MODULE_27__.storageClassesRoute),\n/* harmony export */ \"storageClassesURL\": () => (/* reexport safe */ _storage_classes__WEBPACK_IMPORTED_MODULE_27__.storageClassesURL),\n/* harmony export */ \"storageRoute\": () => (/* reexport safe */ _storage__WEBPACK_IMPORTED_MODULE_28__.storageRoute),\n/* harmony export */ \"storageURL\": () => (/* reexport safe */ _storage__WEBPACK_IMPORTED_MODULE_28__.storageURL),\n/* harmony export */ \"telemetryRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.telemetryRoute),\n/* harmony export */ \"telemetryURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.telemetryURL),\n/* harmony export */ \"terminalRoute\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.terminalRoute),\n/* harmony export */ \"terminalURL\": () => (/* reexport safe */ _preferences__WEBPACK_IMPORTED_MODULE_22__.terminalURL),\n/* harmony export */ \"usersManagementRoute\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.usersManagementRoute),\n/* harmony export */ \"usersManagementURL\": () => (/* reexport safe */ _user_management__WEBPACK_IMPORTED_MODULE_29__.usersManagementURL),\n/* harmony export */ \"volumeClaimsRoute\": () => (/* reexport safe */ _volume_claims__WEBPACK_IMPORTED_MODULE_30__.volumeClaimsRoute),\n/* harmony export */ \"volumeClaimsURL\": () => (/* reexport safe */ _volume_claims__WEBPACK_IMPORTED_MODULE_30__.volumeClaimsURL),\n/* harmony export */ \"volumesRoute\": () => (/* reexport safe */ _volumes__WEBPACK_IMPORTED_MODULE_31__.volumesRoute),\n/* harmony export */ \"volumesURL\": () => (/* reexport safe */ _volumes__WEBPACK_IMPORTED_MODULE_31__.volumesURL),\n/* harmony export */ \"welcomeRoute\": () => (/* reexport safe */ _welcome__WEBPACK_IMPORTED_MODULE_32__.welcomeRoute),\n/* harmony export */ \"welcomeURL\": () => (/* reexport safe */ _welcome__WEBPACK_IMPORTED_MODULE_32__.welcomeURL),\n/* harmony export */ \"workloadURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.workloadURL),\n/* harmony export */ \"workloadsRoute\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.workloadsRoute),\n/* harmony export */ \"workloadsURL\": () => (/* reexport safe */ _workloads__WEBPACK_IMPORTED_MODULE_33__.workloadsURL)\n/* harmony export */ });\n/* harmony import */ var _add_cluster__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add-cluster */ \"./src/common/routes/add-cluster.ts\");\n/* harmony import */ var _catalog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./catalog */ \"./src/common/routes/catalog.ts\");\n/* harmony import */ var _cluster_view__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cluster-view */ \"./src/common/routes/cluster-view.ts\");\n/* harmony import */ var _cluster__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cluster */ \"./src/common/routes/cluster.ts\");\n/* harmony import */ var _config_maps__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./config-maps */ \"./src/common/routes/config-maps.ts\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./config */ \"./src/common/routes/config.ts\");\n/* harmony import */ var _crd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./crd */ \"./src/common/routes/crd.ts\");\n/* harmony import */ var _endpoints__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./endpoints */ \"./src/common/routes/endpoints.ts\");\n/* harmony import */ var _entity_settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./entity-settings */ \"./src/common/routes/entity-settings.ts\");\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./events */ \"./src/common/routes/events.ts\");\n/* harmony import */ var _extensions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./extensions */ \"./src/common/routes/extensions.ts\");\n/* harmony import */ var _helm_charts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helm-charts */ \"./src/common/routes/helm-charts.ts\");\n/* harmony import */ var _helm__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helm */ \"./src/common/routes/helm.ts\");\n/* harmony import */ var _hpa__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./hpa */ \"./src/common/routes/hpa.ts\");\n/* harmony import */ var _ingresses__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ingresses */ \"./src/common/routes/ingresses.ts\");\n/* harmony import */ var _limit_ranges__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./limit-ranges */ \"./src/common/routes/limit-ranges.ts\");\n/* harmony import */ var _namespaces__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./namespaces */ \"./src/common/routes/namespaces.ts\");\n/* harmony import */ var _network_policies__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./network-policies */ \"./src/common/routes/network-policies.ts\");\n/* harmony import */ var _network__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./network */ \"./src/common/routes/network.ts\");\n/* harmony import */ var _nodes__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./nodes */ \"./src/common/routes/nodes.ts\");\n/* harmony import */ var _pod_disruption_budgets__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./pod-disruption-budgets */ \"./src/common/routes/pod-disruption-budgets.ts\");\n/* harmony import */ var _port_forwards__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./port-forwards */ \"./src/common/routes/port-forwards.ts\");\n/* harmony import */ var _preferences__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./preferences */ \"./src/common/routes/preferences.ts\");\n/* harmony import */ var _releases__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./releases */ \"./src/common/routes/releases.ts\");\n/* harmony import */ var _resource_quotas__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./resource-quotas */ \"./src/common/routes/resource-quotas.ts\");\n/* harmony import */ var _secrets__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./secrets */ \"./src/common/routes/secrets.ts\");\n/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./services */ \"./src/common/routes/services.ts\");\n/* harmony import */ var _storage_classes__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./storage-classes */ \"./src/common/routes/storage-classes.ts\");\n/* harmony import */ var _storage__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./storage */ \"./src/common/routes/storage.ts\");\n/* harmony import */ var _user_management__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./user-management */ \"./src/common/routes/user-management.ts\");\n/* harmony import */ var _volume_claims__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./volume-claims */ \"./src/common/routes/volume-claims.ts\");\n/* harmony import */ var _volumes__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./volumes */ \"./src/common/routes/volumes.ts\");\n/* harmony import */ var _welcome__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./welcome */ \"./src/common/routes/welcome.ts\");\n/* harmony import */ var _workloads__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./workloads */ \"./src/common/routes/workloads.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/index.ts?");
33365
-
33366
- /***/ }),
33367
-
33368
- /***/ "./src/common/routes/ingresses.ts":
33369
- /*!****************************************!*\
33370
- !*** ./src/common/routes/ingresses.ts ***!
33371
- \****************************************/
33372
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33373
-
33374
- "use strict";
33375
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ingressRoute\": () => (/* binding */ ingressRoute),\n/* harmony export */ \"ingressURL\": () => (/* binding */ ingressURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst ingressRoute = {\n path: \"/ingresses\",\n};\nconst ingressURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(ingressRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/ingresses.ts?");
33376
-
33377
- /***/ }),
33378
-
33379
- /***/ "./src/common/routes/limit-ranges.ts":
33380
- /*!*******************************************!*\
33381
- !*** ./src/common/routes/limit-ranges.ts ***!
33382
- \*******************************************/
33383
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33384
-
33385
- "use strict";
33386
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"limitRangeURL\": () => (/* binding */ limitRangeURL),\n/* harmony export */ \"limitRangesRoute\": () => (/* binding */ limitRangesRoute)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst limitRangesRoute = {\n path: \"/limitranges\",\n};\nconst limitRangeURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(limitRangesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/limit-ranges.ts?");
33387
-
33388
- /***/ }),
33389
-
33390
- /***/ "./src/common/routes/namespaces.ts":
33391
- /*!*****************************************!*\
33392
- !*** ./src/common/routes/namespaces.ts ***!
33393
- \*****************************************/
33394
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33395
-
33396
- "use strict";
33397
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"namespacesRoute\": () => (/* binding */ namespacesRoute),\n/* harmony export */ \"namespacesURL\": () => (/* binding */ namespacesURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst namespacesRoute = {\n path: \"/namespaces\",\n};\nconst namespacesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(namespacesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/namespaces.ts?");
33398
-
33399
- /***/ }),
33400
-
33401
- /***/ "./src/common/routes/network-policies.ts":
33402
- /*!***********************************************!*\
33403
- !*** ./src/common/routes/network-policies.ts ***!
33404
- \***********************************************/
33405
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33406
-
33407
- "use strict";
33408
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"networkPoliciesRoute\": () => (/* binding */ networkPoliciesRoute),\n/* harmony export */ \"networkPoliciesURL\": () => (/* binding */ networkPoliciesURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst networkPoliciesRoute = {\n path: \"/network-policies\",\n};\nconst networkPoliciesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(networkPoliciesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/network-policies.ts?");
33409
-
33410
- /***/ }),
33411
-
33412
- /***/ "./src/common/routes/network.ts":
33413
- /*!**************************************!*\
33414
- !*** ./src/common/routes/network.ts ***!
33415
- \**************************************/
33416
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33417
-
33418
- "use strict";
33419
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"networkRoute\": () => (/* binding */ networkRoute),\n/* harmony export */ \"networkURL\": () => (/* binding */ networkURL)\n/* harmony export */ });\n/* harmony import */ var _endpoints__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./endpoints */ \"./src/common/routes/endpoints.ts\");\n/* harmony import */ var _ingresses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ingresses */ \"./src/common/routes/ingresses.ts\");\n/* harmony import */ var _network_policies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./network-policies */ \"./src/common/routes/network-policies.ts\");\n/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./services */ \"./src/common/routes/services.ts\");\n/* harmony import */ var _port_forwards__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./port-forwards */ \"./src/common/routes/port-forwards.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nconst networkRoute = {\n path: [\n _services__WEBPACK_IMPORTED_MODULE_3__.servicesRoute,\n _endpoints__WEBPACK_IMPORTED_MODULE_0__.endpointRoute,\n _ingresses__WEBPACK_IMPORTED_MODULE_1__.ingressRoute,\n _network_policies__WEBPACK_IMPORTED_MODULE_2__.networkPoliciesRoute,\n _port_forwards__WEBPACK_IMPORTED_MODULE_4__.portForwardsRoute,\n ].map(route => route.path.toString()),\n};\nconst networkURL = (params) => (0,_services__WEBPACK_IMPORTED_MODULE_3__.servicesURL)(params);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/network.ts?");
33420
-
33421
- /***/ }),
33422
-
33423
- /***/ "./src/common/routes/nodes.ts":
33424
- /*!************************************!*\
33425
- !*** ./src/common/routes/nodes.ts ***!
33426
- \************************************/
33427
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33428
-
33429
- "use strict";
33430
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"nodesRoute\": () => (/* binding */ nodesRoute),\n/* harmony export */ \"nodesURL\": () => (/* binding */ nodesURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst nodesRoute = {\n path: \"/nodes\",\n};\nconst nodesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(nodesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/nodes.ts?");
33431
-
33432
- /***/ }),
33433
-
33434
- /***/ "./src/common/routes/pod-disruption-budgets.ts":
33435
- /*!*****************************************************!*\
33436
- !*** ./src/common/routes/pod-disruption-budgets.ts ***!
33437
- \*****************************************************/
33438
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33439
-
33440
- "use strict";
33441
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"pdbRoute\": () => (/* binding */ pdbRoute),\n/* harmony export */ \"pdbURL\": () => (/* binding */ pdbURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst pdbRoute = {\n path: \"/poddisruptionbudgets\",\n};\nconst pdbURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(pdbRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/pod-disruption-budgets.ts?");
33442
-
33443
- /***/ }),
33444
-
33445
- /***/ "./src/common/routes/port-forwards.ts":
33446
- /*!********************************************!*\
33447
- !*** ./src/common/routes/port-forwards.ts ***!
33448
- \********************************************/
33449
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33450
-
33451
- "use strict";
33452
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"portForwardsRoute\": () => (/* binding */ portForwardsRoute),\n/* harmony export */ \"portForwardsURL\": () => (/* binding */ portForwardsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst portForwardsRoute = {\n path: \"/port-forwards/:forwardport?\",\n};\nconst portForwardsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(portForwardsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/port-forwards.ts?");
33453
-
33454
- /***/ }),
33455
-
33456
- /***/ "./src/common/routes/preferences.ts":
33457
- /*!******************************************!*\
33458
- !*** ./src/common/routes/preferences.ts ***!
33459
- \******************************************/
33460
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33461
-
33462
- "use strict";
33463
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"appRoute\": () => (/* binding */ appRoute),\n/* harmony export */ \"appURL\": () => (/* binding */ appURL),\n/* harmony export */ \"editorRoute\": () => (/* binding */ editorRoute),\n/* harmony export */ \"editorURL\": () => (/* binding */ editorURL),\n/* harmony export */ \"extensionRoute\": () => (/* binding */ extensionRoute),\n/* harmony export */ \"extensionURL\": () => (/* binding */ extensionURL),\n/* harmony export */ \"kubernetesRoute\": () => (/* binding */ kubernetesRoute),\n/* harmony export */ \"kubernetesURL\": () => (/* binding */ kubernetesURL),\n/* harmony export */ \"preferencesRoute\": () => (/* binding */ preferencesRoute),\n/* harmony export */ \"preferencesURL\": () => (/* binding */ preferencesURL),\n/* harmony export */ \"proxyRoute\": () => (/* binding */ proxyRoute),\n/* harmony export */ \"proxyURL\": () => (/* binding */ proxyURL),\n/* harmony export */ \"telemetryRoute\": () => (/* binding */ telemetryRoute),\n/* harmony export */ \"telemetryURL\": () => (/* binding */ telemetryURL),\n/* harmony export */ \"terminalRoute\": () => (/* binding */ terminalRoute),\n/* harmony export */ \"terminalURL\": () => (/* binding */ terminalURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst preferencesRoute = {\n path: \"/preferences\",\n};\nconst appRoute = {\n path: `${preferencesRoute.path}/app`,\n};\nconst proxyRoute = {\n path: `${preferencesRoute.path}/proxy`,\n};\nconst kubernetesRoute = {\n path: `${preferencesRoute.path}/kubernetes`,\n};\nconst editorRoute = {\n path: `${preferencesRoute.path}/editor`,\n};\nconst telemetryRoute = {\n path: `${preferencesRoute.path}/telemetry`,\n};\nconst extensionRoute = {\n path: `${preferencesRoute.path}/extensions`,\n};\nconst terminalRoute = {\n path: `${preferencesRoute.path}/terminal`,\n};\nconst preferencesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(preferencesRoute.path);\nconst appURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(appRoute.path);\nconst proxyURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(proxyRoute.path);\nconst kubernetesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(kubernetesRoute.path);\nconst editorURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(editorRoute.path);\nconst telemetryURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(telemetryRoute.path);\nconst extensionURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(extensionRoute.path);\nconst terminalURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(terminalRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/preferences.ts?");
33464
-
33465
- /***/ }),
33466
-
33467
- /***/ "./src/common/routes/releases.ts":
33468
- /*!***************************************!*\
33469
- !*** ./src/common/routes/releases.ts ***!
33470
- \***************************************/
33471
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33472
-
33473
- "use strict";
33474
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"releaseRoute\": () => (/* binding */ releaseRoute),\n/* harmony export */ \"releaseURL\": () => (/* binding */ releaseURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/* harmony import */ var _helm__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helm */ \"./src/common/routes/helm.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst releaseRoute = {\n path: `${_helm__WEBPACK_IMPORTED_MODULE_1__.helmRoute.path}/releases/:namespace?/:name?`,\n};\nconst releaseURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(releaseRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/releases.ts?");
33475
-
33476
- /***/ }),
33477
-
33478
- /***/ "./src/common/routes/resource-quotas.ts":
33479
- /*!**********************************************!*\
33480
- !*** ./src/common/routes/resource-quotas.ts ***!
33481
- \**********************************************/
33482
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33483
-
33484
- "use strict";
33485
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"resourceQuotaRoute\": () => (/* binding */ resourceQuotaRoute),\n/* harmony export */ \"resourceQuotaURL\": () => (/* binding */ resourceQuotaURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst resourceQuotaRoute = {\n path: \"/resourcequotas\",\n};\nconst resourceQuotaURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(resourceQuotaRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/resource-quotas.ts?");
33486
-
33487
- /***/ }),
33488
-
33489
- /***/ "./src/common/routes/secrets.ts":
33490
- /*!**************************************!*\
33491
- !*** ./src/common/routes/secrets.ts ***!
33492
- \**************************************/
33493
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33494
-
33495
- "use strict";
33496
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"secretsRoute\": () => (/* binding */ secretsRoute),\n/* harmony export */ \"secretsURL\": () => (/* binding */ secretsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst secretsRoute = {\n path: \"/secrets\",\n};\nconst secretsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(secretsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/secrets.ts?");
33497
-
33498
- /***/ }),
33499
-
33500
- /***/ "./src/common/routes/services.ts":
33501
- /*!***************************************!*\
33502
- !*** ./src/common/routes/services.ts ***!
33503
- \***************************************/
33504
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33505
-
33506
- "use strict";
33507
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"servicesRoute\": () => (/* binding */ servicesRoute),\n/* harmony export */ \"servicesURL\": () => (/* binding */ servicesURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst servicesRoute = {\n path: \"/services\",\n};\nconst servicesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(servicesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/services.ts?");
33296
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger */ \"./src/common/logger.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst loggerInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"logger\",\n instantiate: () => _logger__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (loggerInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/logger.injectable.ts?");
33508
33297
 
33509
33298
  /***/ }),
33510
33299
 
33511
- /***/ "./src/common/routes/storage-classes.ts":
33512
- /*!**********************************************!*\
33513
- !*** ./src/common/routes/storage-classes.ts ***!
33514
- \**********************************************/
33515
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33516
-
33517
- "use strict";
33518
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"storageClassesRoute\": () => (/* binding */ storageClassesRoute),\n/* harmony export */ \"storageClassesURL\": () => (/* binding */ storageClassesURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst storageClassesRoute = {\n path: \"/storage-classes\",\n};\nconst storageClassesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(storageClassesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/storage-classes.ts?");
33519
-
33520
- /***/ }),
33521
-
33522
- /***/ "./src/common/routes/storage.ts":
33523
- /*!**************************************!*\
33524
- !*** ./src/common/routes/storage.ts ***!
33525
- \**************************************/
33526
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33527
-
33528
- "use strict";
33529
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"storageRoute\": () => (/* binding */ storageRoute),\n/* harmony export */ \"storageURL\": () => (/* binding */ storageURL)\n/* harmony export */ });\n/* harmony import */ var _storage_classes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./storage-classes */ \"./src/common/routes/storage-classes.ts\");\n/* harmony import */ var _volume_claims__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./volume-claims */ \"./src/common/routes/volume-claims.ts\");\n/* harmony import */ var _volumes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./volumes */ \"./src/common/routes/volumes.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst storageRoute = {\n path: [\n _volume_claims__WEBPACK_IMPORTED_MODULE_1__.volumeClaimsRoute,\n _volumes__WEBPACK_IMPORTED_MODULE_2__.volumesRoute,\n _storage_classes__WEBPACK_IMPORTED_MODULE_0__.storageClassesRoute,\n ].map(route => route.path.toString()),\n};\nconst storageURL = (params) => (0,_volume_claims__WEBPACK_IMPORTED_MODULE_1__.volumeClaimsURL)(params);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/storage.ts?");
33530
-
33531
- /***/ }),
33532
-
33533
- /***/ "./src/common/routes/user-management.ts":
33534
- /*!**********************************************!*\
33535
- !*** ./src/common/routes/user-management.ts ***!
33536
- \**********************************************/
33537
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33538
-
33539
- "use strict";
33540
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"clusterRoleBindingsRoute\": () => (/* binding */ clusterRoleBindingsRoute),\n/* harmony export */ \"clusterRoleBindingsURL\": () => (/* binding */ clusterRoleBindingsURL),\n/* harmony export */ \"clusterRolesRoute\": () => (/* binding */ clusterRolesRoute),\n/* harmony export */ \"clusterRolesURL\": () => (/* binding */ clusterRolesURL),\n/* harmony export */ \"podSecurityPoliciesRoute\": () => (/* binding */ podSecurityPoliciesRoute),\n/* harmony export */ \"podSecurityPoliciesURL\": () => (/* binding */ podSecurityPoliciesURL),\n/* harmony export */ \"roleBindingsRoute\": () => (/* binding */ roleBindingsRoute),\n/* harmony export */ \"roleBindingsURL\": () => (/* binding */ roleBindingsURL),\n/* harmony export */ \"rolesRoute\": () => (/* binding */ rolesRoute),\n/* harmony export */ \"rolesURL\": () => (/* binding */ rolesURL),\n/* harmony export */ \"serviceAccountsRoute\": () => (/* binding */ serviceAccountsRoute),\n/* harmony export */ \"serviceAccountsURL\": () => (/* binding */ serviceAccountsURL),\n/* harmony export */ \"usersManagementRoute\": () => (/* binding */ usersManagementRoute),\n/* harmony export */ \"usersManagementURL\": () => (/* binding */ usersManagementURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n// Routes\nconst serviceAccountsRoute = {\n path: \"/service-accounts\",\n};\nconst podSecurityPoliciesRoute = {\n path: \"/pod-security-policies\",\n};\nconst rolesRoute = {\n path: \"/roles\",\n};\nconst clusterRolesRoute = {\n path: \"/cluster-roles\",\n};\nconst roleBindingsRoute = {\n path: \"/role-bindings\",\n};\nconst clusterRoleBindingsRoute = {\n path: \"/cluster-role-bindings\",\n};\nconst usersManagementRoute = {\n path: [\n serviceAccountsRoute,\n podSecurityPoliciesRoute,\n roleBindingsRoute,\n clusterRoleBindingsRoute,\n rolesRoute,\n clusterRolesRoute,\n ].map(route => route.path.toString()),\n};\n// URL-builders\nconst usersManagementURL = (params) => serviceAccountsURL(params);\nconst serviceAccountsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(serviceAccountsRoute.path);\nconst podSecurityPoliciesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(podSecurityPoliciesRoute.path);\nconst rolesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(rolesRoute.path);\nconst roleBindingsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(roleBindingsRoute.path);\nconst clusterRolesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(clusterRolesRoute.path);\nconst clusterRoleBindingsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(clusterRoleBindingsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/user-management.ts?");
33541
-
33542
- /***/ }),
33543
-
33544
- /***/ "./src/common/routes/volume-claims.ts":
33545
- /*!********************************************!*\
33546
- !*** ./src/common/routes/volume-claims.ts ***!
33547
- \********************************************/
33548
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33549
-
33550
- "use strict";
33551
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"volumeClaimsRoute\": () => (/* binding */ volumeClaimsRoute),\n/* harmony export */ \"volumeClaimsURL\": () => (/* binding */ volumeClaimsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst volumeClaimsRoute = {\n path: \"/persistent-volume-claims\",\n};\nconst volumeClaimsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(volumeClaimsRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/volume-claims.ts?");
33552
-
33553
- /***/ }),
33554
-
33555
- /***/ "./src/common/routes/volumes.ts":
33556
- /*!**************************************!*\
33557
- !*** ./src/common/routes/volumes.ts ***!
33558
- \**************************************/
33300
+ /***/ "./src/common/logger.ts":
33301
+ /*!******************************!*\
33302
+ !*** ./src/common/logger.ts ***!
33303
+ \******************************/
33559
33304
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33560
33305
 
33561
33306
  "use strict";
33562
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"volumesRoute\": () => (/* binding */ volumesRoute),\n/* harmony export */ \"volumesURL\": () => (/* binding */ volumesURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst volumesRoute = {\n path: \"/persistent-volumes\",\n};\nconst volumesURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(volumesRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/volumes.ts?");
33307
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! winston */ \"./node_modules/winston/dist/winston.js\");\n/* harmony import */ var winston__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(winston__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! winston-console-format */ \"./node_modules/winston-console-format/dist/index.js\");\n/* harmony import */ var winston_console_format__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(winston_console_format__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./vars */ \"./src/common/vars.ts\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! winston-transport-browserconsole */ \"./node_modules/winston-transport-browserconsole/dist/BrowserConsole.js\");\n/* harmony import */ var winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nconst logLevel = process.env.LOG_LEVEL\n ? process.env.LOG_LEVEL\n : _vars__WEBPACK_IMPORTED_MODULE_3__.isDebugging\n ? \"debug\"\n : _vars__WEBPACK_IMPORTED_MODULE_3__.isTestEnv\n ? \"error\"\n : \"info\";\nconst transports = [];\nif (electron__WEBPACK_IMPORTED_MODULE_0__.ipcMain) {\n transports.push(new (winston__WEBPACK_IMPORTED_MODULE_1___default().transports.Console)({\n handleExceptions: false,\n level: logLevel,\n format: winston__WEBPACK_IMPORTED_MODULE_1__.format.combine(winston__WEBPACK_IMPORTED_MODULE_1__.format.colorize({ level: true, message: false }), winston__WEBPACK_IMPORTED_MODULE_1__.format.padLevels(), winston__WEBPACK_IMPORTED_MODULE_1__.format.ms(), (0,winston_console_format__WEBPACK_IMPORTED_MODULE_2__.consoleFormat)({\n showMeta: true,\n inspectOptions: {\n depth: 4,\n colors: true,\n maxArrayLength: 10,\n breakLength: 120,\n compact: Infinity,\n },\n })),\n }));\n if (!_vars__WEBPACK_IMPORTED_MODULE_3__.isTestEnv) {\n transports.push(new (winston__WEBPACK_IMPORTED_MODULE_1___default().transports.File)({\n handleExceptions: false,\n level: logLevel,\n filename: \"lens.log\",\n /**\n * SAFTEY: the `ipcMain` check above should mean that this is only\n * called in the main process\n */\n dirname: electron__WEBPACK_IMPORTED_MODULE_0__.app.getPath(\"logs\"),\n maxsize: 16 * 1024,\n maxFiles: 16,\n tailable: true,\n }));\n }\n}\nelse {\n transports.push(new (winston_transport_browserconsole__WEBPACK_IMPORTED_MODULE_4___default())());\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (winston__WEBPACK_IMPORTED_MODULE_1___default().createLogger({\n format: winston__WEBPACK_IMPORTED_MODULE_1__.format.combine(winston__WEBPACK_IMPORTED_MODULE_1__.format.splat(), winston__WEBPACK_IMPORTED_MODULE_1__.format.simple()),\n transports,\n}));\n\n\n//# sourceURL=webpack://open-lens/./src/common/logger.ts?");
33563
33308
 
33564
33309
  /***/ }),
33565
33310
 
33566
- /***/ "./src/common/routes/welcome.ts":
33567
- /*!**************************************!*\
33568
- !*** ./src/common/routes/welcome.ts ***!
33569
- \**************************************/
33311
+ /***/ "./src/common/path/get-absolute-path.injectable.ts":
33312
+ /*!*********************************************************!*\
33313
+ !*** ./src/common/path/get-absolute-path.injectable.ts ***!
33314
+ \*********************************************************/
33570
33315
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33571
33316
 
33572
33317
  "use strict";
33573
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"welcomeRoute\": () => (/* binding */ welcomeRoute),\n/* harmony export */ \"welcomeURL\": () => (/* binding */ welcomeURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst welcomeRoute = {\n path: \"/welcome\",\n};\nconst welcomeURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(welcomeRoute.path);\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/welcome.ts?");
33318
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst getAbsolutePathInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"get-absolute-path\",\n instantiate: () => (path__WEBPACK_IMPORTED_MODULE_1___default().resolve),\n // This causes side effect e.g. Windows creates different kinds of\n // absolute paths than linux\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (getAbsolutePathInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/path/get-absolute-path.injectable.ts?");
33574
33319
 
33575
33320
  /***/ }),
33576
33321
 
33577
- /***/ "./src/common/routes/workloads.ts":
33578
- /*!****************************************!*\
33579
- !*** ./src/common/routes/workloads.ts ***!
33580
- \****************************************/
33322
+ /***/ "./src/common/rbac.ts":
33323
+ /*!****************************!*\
33324
+ !*** ./src/common/rbac.ts ***!
33325
+ \****************************/
33581
33326
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33582
33327
 
33583
33328
  "use strict";
33584
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cronJobsRoute\": () => (/* binding */ cronJobsRoute),\n/* harmony export */ \"cronJobsURL\": () => (/* binding */ cronJobsURL),\n/* harmony export */ \"daemonSetsRoute\": () => (/* binding */ daemonSetsRoute),\n/* harmony export */ \"daemonSetsURL\": () => (/* binding */ daemonSetsURL),\n/* harmony export */ \"deploymentsRoute\": () => (/* binding */ deploymentsRoute),\n/* harmony export */ \"deploymentsURL\": () => (/* binding */ deploymentsURL),\n/* harmony export */ \"jobsRoute\": () => (/* binding */ jobsRoute),\n/* harmony export */ \"jobsURL\": () => (/* binding */ jobsURL),\n/* harmony export */ \"overviewRoute\": () => (/* binding */ overviewRoute),\n/* harmony export */ \"overviewURL\": () => (/* binding */ overviewURL),\n/* harmony export */ \"podsRoute\": () => (/* binding */ podsRoute),\n/* harmony export */ \"podsURL\": () => (/* binding */ podsURL),\n/* harmony export */ \"replicaSetsRoute\": () => (/* binding */ replicaSetsRoute),\n/* harmony export */ \"replicaSetsURL\": () => (/* binding */ replicaSetsURL),\n/* harmony export */ \"statefulSetsRoute\": () => (/* binding */ statefulSetsRoute),\n/* harmony export */ \"statefulSetsURL\": () => (/* binding */ statefulSetsURL),\n/* harmony export */ \"workloadURL\": () => (/* binding */ workloadURL),\n/* harmony export */ \"workloadsRoute\": () => (/* binding */ workloadsRoute),\n/* harmony export */ \"workloadsURL\": () => (/* binding */ workloadsURL)\n/* harmony export */ });\n/* harmony import */ var _utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/buildUrl */ \"./src/common/utils/buildUrl.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n// Routes\nconst overviewRoute = {\n path: \"/workloads\",\n};\nconst podsRoute = {\n path: \"/pods\",\n};\nconst deploymentsRoute = {\n path: \"/deployments\",\n};\nconst daemonSetsRoute = {\n path: \"/daemonsets\",\n};\nconst statefulSetsRoute = {\n path: \"/statefulsets\",\n};\nconst replicaSetsRoute = {\n path: \"/replicasets\",\n};\nconst jobsRoute = {\n path: \"/jobs\",\n};\nconst cronJobsRoute = {\n path: \"/cronjobs\",\n};\nconst workloadsRoute = {\n path: [\n overviewRoute,\n podsRoute,\n deploymentsRoute,\n daemonSetsRoute,\n statefulSetsRoute,\n replicaSetsRoute,\n jobsRoute,\n cronJobsRoute,\n ].map(route => route.path.toString()),\n};\n// URL-builders\nconst workloadsURL = (params) => overviewURL(params);\nconst overviewURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(overviewRoute.path);\nconst podsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(podsRoute.path);\nconst deploymentsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(deploymentsRoute.path);\nconst daemonSetsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(daemonSetsRoute.path);\nconst statefulSetsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(statefulSetsRoute.path);\nconst replicaSetsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(replicaSetsRoute.path);\nconst jobsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(jobsRoute.path);\nconst cronJobsURL = (0,_utils_buildUrl__WEBPACK_IMPORTED_MODULE_0__.buildURL)(cronJobsRoute.path);\nconst workloadURL = {\n \"pods\": podsURL,\n \"deployments\": deploymentsURL,\n \"daemonsets\": daemonSetsURL,\n \"statefulsets\": statefulSetsURL,\n \"replicasets\": replicaSetsURL,\n \"jobs\": jobsURL,\n \"cronjobs\": cronJobsURL,\n};\n\n\n//# sourceURL=webpack://open-lens/./src/common/routes/workloads.ts?");
33329
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"apiResourceRecord\": () => (/* binding */ apiResourceRecord),\n/* harmony export */ \"apiResources\": () => (/* binding */ apiResources)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nconst apiResourceRecord = {\n \"clusterroles\": { kind: \"ClusterRole\", group: \"rbac.authorization.k8s.io\" },\n \"clusterrolebindings\": { kind: \"ClusterRoleBinding\", group: \"rbac.authorization.k8s.io\" },\n \"configmaps\": { kind: \"ConfigMap\" },\n \"cronjobs\": { kind: \"CronJob\", group: \"batch\" },\n \"customresourcedefinitions\": { kind: \"CustomResourceDefinition\", group: \"apiextensions.k8s.io\" },\n \"daemonsets\": { kind: \"DaemonSet\", group: \"apps\" },\n \"deployments\": { kind: \"Deployment\", group: \"apps\" },\n \"endpoints\": { kind: \"Endpoint\" },\n \"events\": { kind: \"Event\" },\n \"horizontalpodautoscalers\": { kind: \"HorizontalPodAutoscaler\", group: \"autoscaling\" },\n \"ingresses\": { kind: \"Ingress\", group: \"networking.k8s.io\" },\n \"jobs\": { kind: \"Job\", group: \"batch\" },\n \"namespaces\": { kind: \"Namespace\" },\n \"limitranges\": { kind: \"LimitRange\" },\n \"networkpolicies\": { kind: \"NetworkPolicy\", group: \"networking.k8s.io\" },\n \"nodes\": { kind: \"Node\" },\n \"persistentvolumes\": { kind: \"PersistentVolume\" },\n \"persistentvolumeclaims\": { kind: \"PersistentVolumeClaim\" },\n \"pods\": { kind: \"Pod\" },\n \"poddisruptionbudgets\": { kind: \"PodDisruptionBudget\", group: \"policy\" },\n \"podsecuritypolicies\": { kind: \"PodSecurityPolicy\", group: \"policy\" },\n \"resourcequotas\": { kind: \"ResourceQuota\" },\n \"replicasets\": { kind: \"ReplicaSet\", group: \"apps\" },\n \"roles\": { kind: \"Role\", group: \"rbac.authorization.k8s.io\" },\n \"rolebindings\": { kind: \"RoleBinding\", group: \"rbac.authorization.k8s.io\" },\n \"secrets\": { kind: \"Secret\" },\n \"serviceaccounts\": { kind: \"ServiceAccount\" },\n \"services\": { kind: \"Service\" },\n \"statefulsets\": { kind: \"StatefulSet\", group: \"apps\" },\n \"storageclasses\": { kind: \"StorageClass\", group: \"storage.k8s.io\" },\n};\n// TODO: auto-populate all resources dynamically (see: kubectl api-resources -o=wide -v=7)\nconst apiResources = Object.entries(apiResourceRecord)\n .map(([apiName, data]) => ({ apiName: apiName, ...data }));\n\n\n//# sourceURL=webpack://open-lens/./src/common/rbac.ts?");
33585
33330
 
33586
33331
  /***/ }),
33587
33332
 
@@ -33680,7 +33425,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33680
33425
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33681
33426
 
33682
33427
  "use strict";
33683
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"buildURL\": () => (/* binding */ buildURL),\n/* harmony export */ \"buildURLPositional\": () => (/* binding */ buildURLPositional)\n/* harmony export */ });\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/path-to-regexp/dist.es2015/index.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nfunction buildURL(path) {\n const pathBuilder = (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_0__.compile)(String(path));\n return function ({ params, query, fragment } = {}) {\n const queryParams = query ? new URLSearchParams(Object.entries(query)).toString() : \"\";\n const parts = [\n pathBuilder(params),\n queryParams && `?${queryParams}`,\n fragment && `#${fragment}`,\n ];\n return parts.filter(Boolean).join(\"\");\n };\n}\nfunction buildURLPositional(path) {\n const builder = buildURL(path);\n return function (params, query, fragment) {\n return builder({ params, query, fragment });\n };\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/buildUrl.ts?");
33428
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"buildURL\": () => (/* binding */ buildURL),\n/* harmony export */ \"buildURLPositional\": () => (/* binding */ buildURLPositional)\n/* harmony export */ });\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/path-to-regexp/dist.es2015/index.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nfunction buildURL(path, { params, query, fragment } = {}) {\n const pathBuilder = (0,path_to_regexp__WEBPACK_IMPORTED_MODULE_0__.compile)(String(path));\n const queryParams = query ? new URLSearchParams(Object.entries(query)).toString() : \"\";\n const parts = [\n pathBuilder(params),\n queryParams && `?${queryParams}`,\n fragment && `#${fragment}`,\n ];\n return parts.filter(Boolean).join(\"\");\n}\nfunction buildURLPositional(path) {\n return function (params, query, fragment) {\n return buildURL(path, { params, query, fragment });\n };\n}\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/buildUrl.ts?");
33684
33429
 
33685
33430
  /***/ }),
33686
33431
 
@@ -33867,7 +33612,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33867
33612
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33868
33613
 
33869
33614
  "use strict";
33870
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _cluster_store_allowed_resources_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cluster-store/allowed-resources.injectable */ \"./src/common/cluster-store/allowed-resources.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n// TODO: This injectable obscures MobX de-referencing. Make it more apparent in usage.\nconst isAllowedResourceInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"is-allowed-resource\",\n instantiate: (di) => {\n const allowedResources = di.inject(_cluster_store_allowed_resources_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return (resource) => allowedResources.get().has(resource);\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isAllowedResourceInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/is-allowed-resource.injectable.ts?");
33615
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _cluster_store_allowed_resources_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cluster-store/allowed-resources.injectable */ \"./src/common/cluster-store/allowed-resources.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst isAllowedResourceInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"is-allowed-resource\",\n instantiate: (di, resourceName) => {\n const allowedResources = di.inject(_cluster_store_allowed_resources_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.computed)(() => allowedResources.get().has(resourceName));\n },\n lifecycle: _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.lifecycleEnum.keyedSingleton({\n getInstanceKey: (di, resource) => resource,\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isAllowedResourceInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/common/utils/is-allowed-resource.injectable.ts?");
33871
33616
 
33872
33617
  /***/ }),
33873
33618
 
@@ -34109,7 +33854,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34109
33854
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34110
33855
 
34111
33856
  "use strict";
34112
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getLegacyGlobalDiForExtensionApi\": () => (/* binding */ getLegacyGlobalDiForExtensionApi),\n/* harmony export */ \"setLegacyGlobalDiForExtensionApi\": () => (/* binding */ setLegacyGlobalDiForExtensionApi)\n/* harmony export */ });\nlet legacyGlobalDi;\nconst setLegacyGlobalDiForExtensionApi = (di) => {\n legacyGlobalDi = di;\n};\nconst getLegacyGlobalDiForExtensionApi = () => legacyGlobalDi;\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts?");
33857
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Environments\": () => (/* binding */ Environments),\n/* harmony export */ \"getEnvironmentSpecificLegacyGlobalDiForExtensionApi\": () => (/* binding */ getEnvironmentSpecificLegacyGlobalDiForExtensionApi),\n/* harmony export */ \"getLegacyGlobalDiForExtensionApi\": () => (/* binding */ getLegacyGlobalDiForExtensionApi),\n/* harmony export */ \"setLegacyGlobalDiForExtensionApi\": () => (/* binding */ setLegacyGlobalDiForExtensionApi)\n/* harmony export */ });\nconst legacyGlobalDis = new Map();\nvar Environments;\n(function (Environments) {\n Environments[Environments[\"renderer\"] = 0] = \"renderer\";\n Environments[Environments[\"main\"] = 1] = \"main\";\n})(Environments || (Environments = {}));\nconst setLegacyGlobalDiForExtensionApi = (di, environment) => {\n legacyGlobalDis.set(environment, di);\n};\nconst getLegacyGlobalDiForExtensionApi = () => {\n const globalDis = [...legacyGlobalDis.values()];\n if (globalDis.length > 1) {\n throw new Error(\"Tried to get DI container using legacy globals where there is multiple containers available.\");\n }\n return globalDis[0];\n};\nconst getEnvironmentSpecificLegacyGlobalDiForExtensionApi = (environment) => legacyGlobalDis.get(environment);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts?");
34113
33858
 
34114
33859
  /***/ }),
34115
33860
 
@@ -34263,7 +34008,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34263
34008
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34264
34009
 
34265
34010
  "use strict";
34266
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst directoryForExtensionDataInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"directory-for-extension-data\",\n instantiate: (di) => path__WEBPACK_IMPORTED_MODULE_1___default().join(di.inject(_common_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]), \"extension_data\"),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (directoryForExtensionDataInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/directory-for-extension-data/directory-for-extension-data.injectable.ts?");
34011
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _common_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../common/app-paths/directory-for-user-data/directory-for-user-data.injectable */ \"./src/common/app-paths/directory-for-user-data/directory-for-user-data.injectable.ts\");\n/* harmony import */ var _common_path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../common/path/get-absolute-path.injectable */ \"./src/common/path/get-absolute-path.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst directoryForExtensionDataInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"directory-for-extension-data\",\n instantiate: (di) => {\n const getAbsolutePath = di.inject(_common_path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n const directoryForUserData = di.inject(_common_app_paths_directory_for_user_data_directory_for_user_data_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return getAbsolutePath(directoryForUserData, \"extension_data\");\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (directoryForExtensionDataInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/directory-for-extension-data/directory-for-extension-data.injectable.ts?");
34267
34012
 
34268
34013
  /***/ }),
34269
34014
 
@@ -34274,7 +34019,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34274
34019
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34275
34020
 
34276
34021
  "use strict";
34277
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _file_system_provisioner_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file-system-provisioner-store */ \"./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/file-system-provisioner-store.ts\");\n/* harmony import */ var _directory_for_extension_data_directory_for_extension_data_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./directory-for-extension-data/directory-for-extension-data.injectable */ \"./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/directory-for-extension-data/directory-for-extension-data.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst fileSystemProvisionerStoreInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"file-system-provisioner-store\",\n instantiate: (di) => _file_system_provisioner_store__WEBPACK_IMPORTED_MODULE_1__.FileSystemProvisionerStore.createInstance({\n directoryForExtensionData: di.inject(_directory_for_extension_data_directory_for_extension_data_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fileSystemProvisionerStoreInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/file-system-provisioner-store.injectable.ts?");
34022
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _file_system_provisioner_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file-system-provisioner-store */ \"./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/file-system-provisioner-store.ts\");\n/* harmony import */ var _directory_for_extension_data_directory_for_extension_data_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./directory-for-extension-data/directory-for-extension-data.injectable */ \"./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/directory-for-extension-data/directory-for-extension-data.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst fileSystemProvisionerStoreInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"file-system-provisioner-store\",\n instantiate: (di) => _file_system_provisioner_store__WEBPACK_IMPORTED_MODULE_1__.FileSystemProvisionerStore.createInstance({\n directoryForExtensionData: di.inject(_directory_for_extension_data_directory_for_extension_data_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n }),\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (fileSystemProvisionerStoreInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/create-extension-instance/file-system-provisioner-store/file-system-provisioner-store.injectable.ts?");
34278
34023
 
34279
34024
  /***/ }),
34280
34025
 
@@ -34289,6 +34034,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34289
34034
 
34290
34035
  /***/ }),
34291
34036
 
34037
+ /***/ "./src/extensions/extension-loader/extension-installation-counter.injectable.ts":
34038
+ /*!**************************************************************************************!*\
34039
+ !*** ./src/extensions/extension-loader/extension-installation-counter.injectable.ts ***!
34040
+ \**************************************************************************************/
34041
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34042
+
34043
+ "use strict";
34044
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst extensionInstallationCounterInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"extension-installation-counter\",\n instantiate: () => new Map(),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (extensionInstallationCounterInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-installation-counter.injectable.ts?");
34045
+
34046
+ /***/ }),
34047
+
34292
34048
  /***/ "./src/extensions/extension-loader/extension-loader.injectable.ts":
34293
34049
  /*!************************************************************************!*\
34294
34050
  !*** ./src/extensions/extension-loader/extension-loader.injectable.ts ***!
@@ -34296,7 +34052,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34296
34052
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34297
34053
 
34298
34054
  "use strict";
34299
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _extension_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extension-loader */ \"./src/extensions/extension-loader/extension-loader.ts\");\n/* harmony import */ var _update_extensions_state_update_extensions_state_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./update-extensions-state/update-extensions-state.injectable */ \"./src/extensions/extension-loader/update-extensions-state/update-extensions-state.injectable.ts\");\n/* harmony import */ var _create_extension_instance_create_extension_instance_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./create-extension-instance/create-extension-instance.injectable */ \"./src/extensions/extension-loader/create-extension-instance/create-extension-instance.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nconst extensionLoaderInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"extension-loader\",\n instantiate: (di) => new _extension_loader__WEBPACK_IMPORTED_MODULE_1__.ExtensionLoader({\n updateExtensionsState: di.inject(_update_extensions_state_update_extensions_state_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n createExtensionInstance: di.inject(_create_extension_instance_create_extension_instance_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (extensionLoaderInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-loader.injectable.ts?");
34055
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _extension_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extension-loader */ \"./src/extensions/extension-loader/extension-loader.ts\");\n/* harmony import */ var _update_extensions_state_update_extensions_state_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./update-extensions-state/update-extensions-state.injectable */ \"./src/extensions/extension-loader/update-extensions-state/update-extensions-state.injectable.ts\");\n/* harmony import */ var _create_extension_instance_create_extension_instance_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./create-extension-instance/create-extension-instance.injectable */ \"./src/extensions/extension-loader/create-extension-instance/create-extension-instance.injectable.ts\");\n/* harmony import */ var _extension_registrator_injection_token__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./extension-registrator-injection-token */ \"./src/extensions/extension-loader/extension-registrator-injection-token.ts\");\n/* harmony import */ var _extension_installation_counter_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./extension-installation-counter.injectable */ \"./src/extensions/extension-loader/extension-installation-counter.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\nconst extensionLoaderInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"extension-loader\",\n instantiate: (di) => new _extension_loader__WEBPACK_IMPORTED_MODULE_1__.ExtensionLoader({\n updateExtensionsState: di.inject(_update_extensions_state_update_extensions_state_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n createExtensionInstance: di.inject(_create_extension_instance_create_extension_instance_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n extensionRegistrators: di.injectMany(_extension_registrator_injection_token__WEBPACK_IMPORTED_MODULE_4__.extensionRegistratorInjectionToken),\n extensionInstallationCounter: di.inject(_extension_installation_counter_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (extensionLoaderInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-loader.injectable.ts?");
34300
34056
 
34301
34057
  /***/ }),
34302
34058
 
@@ -34307,7 +34063,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34307
34063
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34308
34064
 
34309
34065
  "use strict";
34310
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ExtensionLoader\": () => (/* binding */ ExtensionLoader)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _registries__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../registries */ \"./src/extensions/registries/index.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _renderer_ipc__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../renderer/ipc */ \"./src/renderer/ipc/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nconst logModule = \"[EXTENSIONS-LOADER]\";\n/**\n * Loads installed extensions to the Lens application\n */\nclass ExtensionLoader {\n constructor(dependencies) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"extensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n Object.defineProperty(this, \"instances\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n /**\n * This is the set of extensions that don't come with either\n * - Main.LensExtension when running in the main process\n * - Renderer.LensExtension when running in the renderer process\n */\n Object.defineProperty(this, \"nonInstancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.set()\n });\n /**\n * This is updated by the `observe` in the constructor. DO NOT write directly to it\n */\n Object.defineProperty(this, \"instancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n // emits event \"remove\" of type LensExtension when the extension is removed\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new events__WEBPACK_IMPORTED_MODULE_1__.EventEmitter()\n });\n Object.defineProperty(this, \"isLoaded\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadOnClusterManagerRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on main renderer (cluster manager)`);\n return this.autoInitExtensions(async (extension) => {\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.GlobalPageRegistry.getInstance().add(extension.globalPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.EntitySettingRegistry.getInstance().add(extension.entitySettings),\n _registries__WEBPACK_IMPORTED_MODULE_7__.CatalogEntityDetailRegistry.getInstance().add(extension.catalogEntityDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object.defineProperty(this, \"loadOnClusterRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (getCluster) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on cluster renderer (dashboard)`);\n this.autoInitExtensions(async (extension) => {\n // getCluster must be a callback, as the entity might be available only after an extension has been loaded\n if ((await extension.isEnabledForCluster(getCluster())) === false) {\n return [];\n }\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.ClusterPageRegistry.getInstance().add(extension.clusterPages, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.ClusterPageMenuRegistry.getInstance().add(extension.clusterPageMenus, extension),\n _registries__WEBPACK_IMPORTED_MODULE_7__.KubeObjectDetailRegistry.getInstance().add(extension.kubeObjectDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.makeObservable)(this);\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.observe)(this.instances, change => {\n switch (change.type) {\n case \"add\":\n if (this.instancesByName.has(change.newValue.name)) {\n throw new TypeError(\"Extension names must be unique\");\n }\n this.instancesByName.set(change.newValue.name, change.newValue);\n break;\n case \"delete\":\n this.instancesByName.delete(change.oldValue.name);\n break;\n case \"update\":\n throw new Error(\"Extension instances shouldn't be updated\");\n }\n });\n }\n get whenLoaded() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_10__.when)(() => this.isLoaded);\n }\n get enabledExtensionInstances() {\n return [...this.instances.values()].filter(extension => extension.isEnabled);\n }\n get userExtensions() {\n const extensions = this.toJSON();\n extensions.forEach((ext, extId) => {\n if (ext.isBundled) {\n extensions.delete(extId);\n }\n });\n return extensions;\n }\n /**\n * Get the extension instance by its manifest name\n * @param name The name of the extension\n * @returns one of the following:\n * - the instance of `Main.LensExtension` on the main process if created\n * - the instance of `Renderer.LensExtension` on the renderer process if created\n * - `null` if no class definition is provided for the current process\n * - `undefined` if the name is not known about\n */\n getInstanceByName(name) {\n if (this.nonInstancesByName.has(name)) {\n return null;\n }\n return this.instancesByName.get(name);\n }\n // Transform userExtensions to a state object for storing into ExtensionsStore\n get storeState() {\n return Object.fromEntries(Array.from(this.userExtensions)\n .map(([extId, extension]) => [extId, {\n enabled: extension.isEnabled,\n name: extension.manifest.name,\n }]));\n }\n async init() {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n await this.initRenderer();\n }\n else {\n await this.initMain();\n }\n await Promise.all([this.whenLoaded]);\n // broadcasting extensions between main/renderer processes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), () => this.broadcastExtensions(), {\n fireImmediately: true,\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.storeState, (state) => {\n this.dependencies.updateExtensionsState(state);\n });\n }\n initExtensions(extensions) {\n this.extensions.replace(extensions);\n }\n addExtension(extension) {\n this.extensions.set(extension.id, extension);\n }\n removeInstance(lensExtensionId) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].info(`${logModule} deleting extension instance ${lensExtensionId}`);\n const instance = this.instances.get(lensExtensionId);\n if (!instance) {\n return;\n }\n try {\n instance.disable();\n this.events.emit(\"remove\", instance);\n this.instances.delete(lensExtensionId);\n this.nonInstancesByName.delete(instance.name);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: deactivation extension error`, { lensExtensionId, error });\n }\n }\n removeExtension(lensExtensionId) {\n this.removeInstance(lensExtensionId);\n if (!this.extensions.delete(lensExtensionId)) {\n throw new Error(`Can't remove extension ${lensExtensionId}, doesn't exist.`);\n }\n }\n setIsEnabled(lensExtensionId, isEnabled) {\n this.extensions.get(lensExtensionId).isEnabled = isEnabled;\n }\n async initMain() {\n this.isLoaded = true;\n this.loadOnMain();\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainHandle)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, () => {\n return Array.from(this.toJSON());\n });\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel, (event, extensions) => {\n this.syncExtensions(extensions);\n });\n }\n async initRenderer() {\n const extensionListHandler = (extensions) => {\n this.isLoaded = true;\n this.syncExtensions(extensions);\n const receivedExtensionIds = extensions.map(([lensExtensionId]) => lensExtensionId);\n // Remove deleted extensions in renderer side only\n this.extensions.forEach((_, lensExtensionId) => {\n if (!receivedExtensionIds.includes(lensExtensionId)) {\n this.removeExtension(lensExtensionId);\n }\n });\n };\n (0,_renderer_ipc__WEBPACK_IMPORTED_MODULE_9__.requestExtensionLoaderInitialState)().then(extensionListHandler);\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcRendererOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, (event, extensions) => {\n extensionListHandler(extensions);\n });\n }\n broadcastExtensions() {\n const channel = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer\n ? _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel\n : _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel;\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.broadcastMessage)(channel, Array.from(this.extensions));\n }\n syncExtensions(extensions) {\n extensions.forEach(([lensExtensionId, extension]) => {\n if (!(0,lodash__WEBPACK_IMPORTED_MODULE_2__.isEqual)(this.extensions.get(lensExtensionId), extension)) {\n this.extensions.set(lensExtensionId, extension);\n }\n });\n }\n loadOnMain() {\n this.autoInitExtensions(() => Promise.resolve([]));\n }\n async loadExtensions(installedExtensions, register) {\n // Steps of the function:\n // 1. require and call .activate for each Extension\n // 2. Wait until every extension's onActivate has been resolved\n // 3. Call .enable for each extension\n // 4. Return ExtensionLoading[]\n const extensions = [...installedExtensions.entries()]\n .map(([extId, extension]) => {\n const alreadyInit = this.instances.has(extId) || this.nonInstancesByName.has(extension.manifest.name);\n if (extension.isCompatible && extension.isEnabled && !alreadyInit) {\n try {\n const LensExtensionClass = this.requireExtension(extension);\n if (!LensExtensionClass) {\n this.nonInstancesByName.add(extension.manifest.name);\n return null;\n }\n const instance = this.dependencies.createExtensionInstance(LensExtensionClass, extension);\n this.instances.set(extId, instance);\n return {\n instance,\n installedExtension: extension,\n activated: instance.activate(),\n };\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: error loading extension`, { ext: extension, err });\n }\n }\n else if (!extension.isEnabled && alreadyInit) {\n this.removeInstance(extId);\n }\n return null;\n })\n // Remove null values\n .filter(extension => Boolean(extension));\n // We first need to wait until each extension's `onActivate` is resolved or rejected,\n // as this might register new catalog categories. Afterwards we can safely .enable the extension.\n await Promise.all(extensions.map(extension => \n // If extension activation fails, log error\n extension.activated.catch((error) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: activation extension error`, { ext: extension.installedExtension, error });\n })));\n // Return ExtensionLoading[]\n return extensions.map(extension => {\n const loaded = extension.instance.enable(register).catch((err) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: failed to enable`, { ext: extension, err });\n });\n return {\n isBundled: extension.installedExtension.isBundled,\n loaded,\n };\n });\n }\n autoInitExtensions(register) {\n // Setup reaction to load extensions on JSON changes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), installedExtensions => this.loadExtensions(installedExtensions, register));\n // Load initial extensions\n return this.loadExtensions(this.toJSON(), register);\n }\n requireExtension(extension) {\n const entryPointName = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer ? \"renderer\" : \"main\";\n const extRelativePath = extension.manifest[entryPointName];\n if (!extRelativePath) {\n return null;\n }\n const extAbsolutePath = path__WEBPACK_IMPORTED_MODULE_3___default().resolve(path__WEBPACK_IMPORTED_MODULE_3___default().join(path__WEBPACK_IMPORTED_MODULE_3___default().dirname(extension.manifestPath), extRelativePath));\n try {\n return require(extAbsolutePath).default;\n }\n catch (error) {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n console.error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error.stack || error}`, extension);\n }\n else {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error}`, { extension });\n }\n }\n return null;\n }\n getExtension(extId) {\n return this.extensions.get(extId);\n }\n getInstanceById(extId) {\n return this.instances.get(extId);\n }\n toJSON() {\n return (0,_common_utils__WEBPACK_IMPORTED_MODULE_5__.toJS)(this.extensions);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.observable,\n __metadata(\"design:type\", Object)\n], ExtensionLoader.prototype, \"isLoaded\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"enabledExtensionInstances\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"userExtensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"storeState\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], ExtensionLoader.prototype, \"init\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], ExtensionLoader.prototype, \"removeInstance\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-loader.ts?");
34066
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ExtensionLoader\": () => (/* binding */ ExtensionLoader)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! events */ \"events\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _registries__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../registries */ \"./src/extensions/registries/index.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/* harmony import */ var _renderer_ipc__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../renderer/ipc */ \"./src/renderer/ipc/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\nconst logModule = \"[EXTENSIONS-LOADER]\";\n/**\n * Loads installed extensions to the Lens application\n */\nclass ExtensionLoader {\n constructor(dependencies) {\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: dependencies\n });\n Object.defineProperty(this, \"extensions\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n Object.defineProperty(this, \"instances\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n /**\n * This is the set of extensions that don't come with either\n * - Main.LensExtension when running in the main process\n * - Renderer.LensExtension when running in the renderer process\n */\n Object.defineProperty(this, \"nonInstancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.set()\n });\n /**\n * This is updated by the `observe` in the constructor. DO NOT write directly to it\n */\n Object.defineProperty(this, \"instancesByName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: mobx__WEBPACK_IMPORTED_MODULE_10__.observable.map()\n });\n // emits event \"remove\" of type LensExtension when the extension is removed\n Object.defineProperty(this, \"events\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new events__WEBPACK_IMPORTED_MODULE_1__.EventEmitter()\n });\n Object.defineProperty(this, \"isLoaded\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, \"loadOnClusterManagerRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: () => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on main renderer (cluster manager)`);\n return this.autoInitExtensions(async (extension) => {\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.EntitySettingRegistry.getInstance().add(extension.entitySettings),\n _registries__WEBPACK_IMPORTED_MODULE_7__.CatalogEntityDetailRegistry.getInstance().add(extension.catalogEntityDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n Object.defineProperty(this, \"loadOnClusterRenderer\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (getCluster) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].debug(`${logModule}: load on cluster renderer (dashboard)`);\n this.autoInitExtensions(async (extension) => {\n // getCluster must be a callback, as the entity might be available only after an extension has been loaded\n if ((await extension.isEnabledForCluster(getCluster())) === false) {\n return [];\n }\n const removeItems = [\n _registries__WEBPACK_IMPORTED_MODULE_7__.KubeObjectDetailRegistry.getInstance().add(extension.kubeObjectDetailItems),\n ];\n this.events.on(\"remove\", (removedExtension) => {\n if (removedExtension.id === extension.id) {\n removeItems.forEach(remove => {\n remove();\n });\n }\n });\n return removeItems;\n });\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.makeObservable)(this);\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.observe)(this.instances, change => {\n switch (change.type) {\n case \"add\":\n if (this.instancesByName.has(change.newValue.name)) {\n throw new TypeError(\"Extension names must be unique\");\n }\n this.instancesByName.set(change.newValue.name, change.newValue);\n break;\n case \"delete\":\n this.instancesByName.delete(change.oldValue.name);\n break;\n case \"update\":\n throw new Error(\"Extension instances shouldn't be updated\");\n }\n });\n }\n get whenLoaded() {\n return (0,mobx__WEBPACK_IMPORTED_MODULE_10__.when)(() => this.isLoaded);\n }\n get enabledExtensionInstances() {\n return [...this.instances.values()].filter(extension => extension.isEnabled);\n }\n get userExtensions() {\n const extensions = this.toJSON();\n extensions.forEach((ext, extId) => {\n if (ext.isBundled) {\n extensions.delete(extId);\n }\n });\n return extensions;\n }\n /**\n * Get the extension instance by its manifest name\n * @param name The name of the extension\n * @returns one of the following:\n * - the instance of `Main.LensExtension` on the main process if created\n * - the instance of `Renderer.LensExtension` on the renderer process if created\n * - `null` if no class definition is provided for the current process\n * - `undefined` if the name is not known about\n */\n getInstanceByName(name) {\n if (this.nonInstancesByName.has(name)) {\n return null;\n }\n return this.instancesByName.get(name);\n }\n // Transform userExtensions to a state object for storing into ExtensionsStore\n get storeState() {\n return Object.fromEntries(Array.from(this.userExtensions)\n .map(([extId, extension]) => [extId, {\n enabled: extension.isEnabled,\n name: extension.manifest.name,\n }]));\n }\n async init() {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n await this.initRenderer();\n }\n else {\n await this.initMain();\n }\n await Promise.all([this.whenLoaded]);\n // broadcasting extensions between main/renderer processes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), () => this.broadcastExtensions(), {\n fireImmediately: true,\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.storeState, (state) => {\n this.dependencies.updateExtensionsState(state);\n });\n }\n initExtensions(extensions) {\n this.extensions.replace(extensions);\n }\n addExtension(extension) {\n this.extensions.set(extension.id, extension);\n }\n removeInstance(lensExtensionId) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].info(`${logModule} deleting extension instance ${lensExtensionId}`);\n const instance = this.instances.get(lensExtensionId);\n if (!instance) {\n return;\n }\n try {\n instance.disable();\n this.events.emit(\"remove\", instance);\n this.instances.delete(lensExtensionId);\n this.nonInstancesByName.delete(instance.name);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: deactivation extension error`, { lensExtensionId, error });\n }\n }\n removeExtension(lensExtensionId) {\n this.removeInstance(lensExtensionId);\n if (!this.extensions.delete(lensExtensionId)) {\n throw new Error(`Can't remove extension ${lensExtensionId}, doesn't exist.`);\n }\n }\n setIsEnabled(lensExtensionId, isEnabled) {\n this.extensions.get(lensExtensionId).isEnabled = isEnabled;\n }\n async initMain() {\n this.isLoaded = true;\n this.loadOnMain();\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainHandle)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, () => {\n return Array.from(this.toJSON());\n });\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcMainOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel, (event, extensions) => {\n this.syncExtensions(extensions);\n });\n }\n async initRenderer() {\n const extensionListHandler = (extensions) => {\n this.isLoaded = true;\n this.syncExtensions(extensions);\n const receivedExtensionIds = extensions.map(([lensExtensionId]) => lensExtensionId);\n // Remove deleted extensions in renderer side only\n this.extensions.forEach((_, lensExtensionId) => {\n if (!receivedExtensionIds.includes(lensExtensionId)) {\n this.removeExtension(lensExtensionId);\n }\n });\n };\n (0,_renderer_ipc__WEBPACK_IMPORTED_MODULE_9__.requestExtensionLoaderInitialState)().then(extensionListHandler);\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.ipcRendererOn)(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel, (event, extensions) => {\n extensionListHandler(extensions);\n });\n }\n broadcastExtensions() {\n const channel = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer\n ? _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromRendererChannel\n : _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_8__.extensionLoaderFromMainChannel;\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_4__.broadcastMessage)(channel, Array.from(this.extensions));\n }\n syncExtensions(extensions) {\n extensions.forEach(([lensExtensionId, extension]) => {\n if (!(0,lodash__WEBPACK_IMPORTED_MODULE_2__.isEqual)(this.extensions.get(lensExtensionId), extension)) {\n this.extensions.set(lensExtensionId, extension);\n }\n });\n }\n loadOnMain() {\n this.autoInitExtensions(() => Promise.resolve([]));\n }\n async loadExtensions(installedExtensions, register) {\n // Steps of the function:\n // 1. require and call .activate for each Extension\n // 2. Wait until every extension's onActivate has been resolved\n // 3. Call .enable for each extension\n // 4. Return ExtensionLoading[]\n const extensions = [...installedExtensions.entries()]\n .map(([extId, extension]) => {\n const alreadyInit = this.instances.has(extId) || this.nonInstancesByName.has(extension.manifest.name);\n if (extension.isCompatible && extension.isEnabled && !alreadyInit) {\n try {\n const LensExtensionClass = this.requireExtension(extension);\n if (!LensExtensionClass) {\n this.nonInstancesByName.add(extension.manifest.name);\n return null;\n }\n const instance = this.dependencies.createExtensionInstance(LensExtensionClass, extension);\n this.instances.set(extId, instance);\n return {\n instance,\n installedExtension: extension,\n activated: instance.activate(),\n };\n }\n catch (err) {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: error loading extension`, { ext: extension, err });\n }\n }\n else if (!extension.isEnabled && alreadyInit) {\n this.removeInstance(extId);\n }\n return null;\n }).filter(extension => Boolean(extension));\n // We first need to wait until each extension's `onActivate` is resolved or rejected,\n // as this might register new catalog categories. Afterwards we can safely .enable the extension.\n await Promise.all(extensions.map(extension => \n // If extension activation fails, log error\n extension.activated.catch((error) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: activation extension error`, { ext: extension.installedExtension, error });\n })));\n extensions.forEach(({ instance }) => {\n const installationCount = (this.dependencies.extensionInstallationCounter.get(instance.sanitizedExtensionId) | 0) + 1;\n this.dependencies.extensionInstallationCounter.set(instance.sanitizedExtensionId, installationCount);\n this.dependencies.extensionRegistrators.forEach((register) => register(instance, installationCount));\n });\n // Return ExtensionLoading[]\n return extensions.map(extension => {\n const loaded = extension.instance.enable(register).catch((err) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: failed to enable`, { ext: extension, err });\n });\n return {\n isBundled: extension.installedExtension.isBundled,\n loaded,\n };\n });\n }\n autoInitExtensions(register) {\n // Setup reaction to load extensions on JSON changes\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.reaction)(() => this.toJSON(), installedExtensions => this.loadExtensions(installedExtensions, register));\n // Load initial extensions\n return this.loadExtensions(this.toJSON(), register);\n }\n requireExtension(extension) {\n const entryPointName = electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer ? \"renderer\" : \"main\";\n const extRelativePath = extension.manifest[entryPointName];\n if (!extRelativePath) {\n return null;\n }\n const extAbsolutePath = path__WEBPACK_IMPORTED_MODULE_3___default().resolve(path__WEBPACK_IMPORTED_MODULE_3___default().join(path__WEBPACK_IMPORTED_MODULE_3___default().dirname(extension.manifestPath), extRelativePath));\n try {\n return require(extAbsolutePath).default;\n }\n catch (error) {\n if (electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n console.error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error.stack || error}`, extension);\n }\n else {\n _main_logger__WEBPACK_IMPORTED_MODULE_6__[\"default\"].error(`${logModule}: can't load ${entryPointName} for \"${extension.manifest.name}\": ${error}`, { extension });\n }\n }\n return null;\n }\n getExtension(extId) {\n return this.extensions.get(extId);\n }\n getInstanceById(extId) {\n return this.instances.get(extId);\n }\n toJSON() {\n return (0,_common_utils__WEBPACK_IMPORTED_MODULE_5__.toJS)(this.extensions);\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.observable,\n __metadata(\"design:type\", Object)\n], ExtensionLoader.prototype, \"isLoaded\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"enabledExtensionInstances\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Map),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"userExtensions\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ExtensionLoader.prototype, \"storeState\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], ExtensionLoader.prototype, \"init\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [String]),\n __metadata(\"design:returntype\", void 0)\n], ExtensionLoader.prototype, \"removeInstance\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-loader.ts?");
34067
+
34068
+ /***/ }),
34069
+
34070
+ /***/ "./src/extensions/extension-loader/extension-registrator-injection-token.ts":
34071
+ /*!**********************************************************************************!*\
34072
+ !*** ./src/extensions/extension-loader/extension-registrator-injection-token.ts ***!
34073
+ \**********************************************************************************/
34074
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34075
+
34076
+ "use strict";
34077
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"extensionRegistratorInjectionToken\": () => (/* binding */ extensionRegistratorInjectionToken)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst extensionRegistratorInjectionToken = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectionToken)({\n id: \"extension-registrator-token\",\n});\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/extension-registrator-injection-token.ts?");
34311
34078
 
34312
34079
  /***/ }),
34313
34080
 
@@ -34318,7 +34085,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34318
34085
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34319
34086
 
34320
34087
  "use strict";
34321
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _extensions_store_extensions_store_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../extensions-store/extensions-store.injectable */ \"./src/extensions/extensions-store/extensions-store.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst updateExtensionsStateInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"upadte-extensions-state\",\n instantiate: (di) => di.inject(_extensions_store_extensions_store_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).mergeState,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (updateExtensionsStateInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/update-extensions-state/update-extensions-state.injectable.ts?");
34088
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _extensions_store_extensions_store_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../extensions-store/extensions-store.injectable */ \"./src/extensions/extensions-store/extensions-store.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst updateExtensionsStateInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"update-extensions-state\",\n instantiate: (di) => di.inject(_extensions_store_extensions_store_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).mergeState,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (updateExtensionsStateInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extension-loader/update-extensions-state/update-extensions-state.injectable.ts?");
34322
34089
 
34323
34090
  /***/ }),
34324
34091
 
@@ -34340,7 +34107,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34340
34107
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34341
34108
 
34342
34109
  "use strict";
34343
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _extensions_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extensions-store */ \"./src/extensions/extensions-store/extensions-store.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst extensionsStoreInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"extensions-store\",\n instantiate: () => _extensions_store__WEBPACK_IMPORTED_MODULE_1__.ExtensionsStore.createInstance(),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (extensionsStoreInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extensions-store/extensions-store.injectable.ts?");
34110
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _extensions_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extensions-store */ \"./src/extensions/extensions-store/extensions-store.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst extensionsStoreInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"extensions-store\",\n instantiate: () => {\n _extensions_store__WEBPACK_IMPORTED_MODULE_1__.ExtensionsStore.resetInstance();\n return _extensions_store__WEBPACK_IMPORTED_MODULE_1__.ExtensionsStore.createInstance();\n },\n causesSideEffects: true,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (extensionsStoreInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/extensions-store/extensions-store.injectable.ts?");
34344
34111
 
34345
34112
  /***/ }),
34346
34113
 
@@ -34417,7 +34184,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34417
34184
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34418
34185
 
34419
34186
  "use strict";
34420
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Disposers\": () => (/* binding */ Disposers),\n/* harmony export */ \"LensExtension\": () => (/* binding */ LensExtension),\n/* harmony export */ \"extensionDisplayName\": () => (/* binding */ extensionDisplayName),\n/* harmony export */ \"sanitizeExtensionName\": () => (/* binding */ sanitizeExtensionName)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens-extension-set-dependencies */ \"./src/extensions/lens-extension-set-dependencies.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar _a, _b;\n\n\n\n\nconst Disposers = Symbol();\nclass LensExtension {\n constructor({ id, manifest, manifestPath, isBundled }) {\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifest\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifestPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isBundled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"protocolHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"_isEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, _a, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_common_utils__WEBPACK_IMPORTED_MODULE_1__.disposer)()\n });\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _b, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (dependencies) => {\n this.dependencies = dependencies;\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.makeObservable)(this);\n this.id = id;\n this.manifest = manifest;\n this.manifestPath = manifestPath;\n this.isBundled = !!isBundled;\n }\n get isEnabled() {\n return this._isEnabled;\n }\n get name() {\n return this.manifest.name;\n }\n get version() {\n return this.manifest.version;\n }\n get description() {\n return this.manifest.description;\n }\n /**\n * getExtensionFileFolder returns the path to an already created folder. This\n * folder is for the sole use of this extension.\n *\n * Note: there is no security done on this folder, only obfuscation of the\n * folder name.\n */\n async getExtensionFileFolder() {\n return this.dependencies.fileSystemProvisionerStore.requestDirectory(this.id);\n }\n async enable(register) {\n if (this._isEnabled) {\n return;\n }\n try {\n this._isEnabled = true;\n this[Disposers].push(...await register(this));\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].info(`[EXTENSION]: enabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].error(`[EXTENSION]: failed to activate ${this.name}@${this.version}: ${error}`);\n }\n }\n async disable() {\n if (!this._isEnabled) {\n return;\n }\n this._isEnabled = false;\n try {\n await this.onDeactivate();\n this[Disposers]();\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].info(`[EXTENSION]: disabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].error(`[EXTENSION]: disabling ${this.name}@${this.version} threw an error: ${error}`);\n }\n }\n async activate() {\n return this.onActivate();\n }\n onActivate() {\n return;\n }\n onDeactivate() {\n return;\n }\n}\n_a = Disposers, _b = _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_2__.setLensExtensionDependencies;\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], LensExtension.prototype, \"_isEnabled\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], LensExtension.prototype, \"isEnabled\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Function]),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"enable\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"disable\", null);\nfunction sanitizeExtensionName(name) {\n return name.replace(\"@\", \"\").replace(\"/\", \"--\");\n}\nfunction extensionDisplayName(name, version) {\n return `${name}@${version}`;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/lens-extension.ts?");
34187
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Disposers\": () => (/* binding */ Disposers),\n/* harmony export */ \"LensExtension\": () => (/* binding */ LensExtension),\n/* harmony export */ \"extensionDisplayName\": () => (/* binding */ extensionDisplayName),\n/* harmony export */ \"getSanitizedPath\": () => (/* binding */ getSanitizedPath),\n/* harmony export */ \"sanitizeExtensionName\": () => (/* binding */ sanitizeExtensionName)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens-extension-set-dependencies */ \"./src/extensions/lens-extension-set-dependencies.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar _a, _b;\n\n\n\n\nconst Disposers = Symbol();\nclass LensExtension {\n constructor({ id, manifest, manifestPath, isBundled }) {\n Object.defineProperty(this, \"id\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifest\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"manifestPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isBundled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"protocolHandlers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"_isEnabled\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: false\n });\n Object.defineProperty(this, _a, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,_common_utils__WEBPACK_IMPORTED_MODULE_1__.disposer)()\n });\n Object.defineProperty(this, \"dependencies\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _b, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (dependencies) => {\n this.dependencies = dependencies;\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.makeObservable)(this);\n this.id = id;\n this.manifest = manifest;\n this.manifestPath = manifestPath;\n this.isBundled = !!isBundled;\n }\n get sanitizedExtensionId() {\n return sanitizeExtensionName(this.name);\n }\n get isEnabled() {\n return this._isEnabled;\n }\n get name() {\n return this.manifest.name;\n }\n get version() {\n return this.manifest.version;\n }\n get description() {\n return this.manifest.description;\n }\n /**\n * getExtensionFileFolder returns the path to an already created folder. This\n * folder is for the sole use of this extension.\n *\n * Note: there is no security done on this folder, only obfuscation of the\n * folder name.\n */\n async getExtensionFileFolder() {\n return this.dependencies.fileSystemProvisionerStore.requestDirectory(this.id);\n }\n async enable(register) {\n if (this._isEnabled) {\n return;\n }\n try {\n this._isEnabled = true;\n this[Disposers].push(...await register(this));\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].info(`[EXTENSION]: enabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].error(`[EXTENSION]: failed to activate ${this.name}@${this.version}: ${error}`);\n }\n }\n async disable() {\n if (!this._isEnabled) {\n return;\n }\n this._isEnabled = false;\n try {\n await this.onDeactivate();\n this[Disposers]();\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].info(`[EXTENSION]: disabled ${this.name}@${this.version}`);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_0__[\"default\"].error(`[EXTENSION]: disabling ${this.name}@${this.version} threw an error: ${error}`);\n }\n }\n async activate() {\n return this.onActivate();\n }\n onActivate() {\n return;\n }\n onDeactivate() {\n return;\n }\n}\n_a = Disposers, _b = _lens_extension_set_dependencies__WEBPACK_IMPORTED_MODULE_2__.setLensExtensionDependencies;\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.observable,\n __metadata(\"design:type\", Object)\n], LensExtension.prototype, \"_isEnabled\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], LensExtension.prototype, \"isEnabled\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Function]),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"enable\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_3__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], LensExtension.prototype, \"disable\", null);\nfunction sanitizeExtensionName(name) {\n return name.replace(\"@\", \"\").replace(\"/\", \"--\");\n}\nconst getSanitizedPath = (...parts) => parts\n .filter(Boolean)\n .join(\"/\")\n .replace(/\\/+/g, \"/\")\n .replace(/\\/$/, \"\"); // normalize multi-slashes (e.g. coming from page.id)\nfunction extensionDisplayName(name, version) {\n return `${name}@${version}`;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/lens-extension.ts?");
34421
34188
 
34422
34189
  /***/ }),
34423
34190
 
@@ -34439,7 +34206,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34439
34206
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34440
34207
 
34441
34208
  "use strict";
34442
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LensRendererExtension\": () => (/* binding */ LensRendererExtension)\n/* harmony export */ });\n/* harmony import */ var _lens_extension__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lens-extension */ \"./src/extensions/lens-extension.ts\");\n/* harmony import */ var _registries_page_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./registries/page-registry */ \"./src/extensions/registries/page-registry.ts\");\n/* harmony import */ var _renderer_api_catalog_entity_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../renderer/api/catalog-entity-registry */ \"./src/renderer/api/catalog-entity-registry.ts\");\n/* harmony import */ var _renderer_api_catalog_category_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../renderer/api/catalog-category-registry */ \"./src/renderer/api/catalog-category-registry.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nclass LensRendererExtension extends _lens_extension__WEBPACK_IMPORTED_MODULE_0__.LensExtension {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"globalPages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"clusterPages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"clusterPageMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeObjectStatusTexts\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"appPreferences\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"entitySettings\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"statusBarItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeObjectDetailItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeObjectMenuItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeWorkloadsOverviewItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"commands\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"welcomeMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"welcomeBanners\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"catalogEntityDetailItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"topBarItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"additionalCategoryColumns\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"customCategoryViews\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n async navigate(pageId, params) {\n const { navigate } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ../renderer/navigation */ \"./src/renderer/navigation/index.ts\"));\n const pageUrl = (0,_registries_page_registry__WEBPACK_IMPORTED_MODULE_1__.getExtensionPageUrl)({\n extensionId: this.name,\n pageId,\n params: params !== null && params !== void 0 ? params : {}, // compile to url with params\n });\n navigate(pageUrl);\n }\n /**\n * Defines if extension is enabled for a given cluster. This method is only\n * called when the extension is created within a cluster frame.\n *\n * The default implementation is to return `true`\n */\n async isEnabledForCluster(cluster) {\n return (void cluster) || true;\n }\n /**\n * Add a filtering function for the catalog entities. This will be removed if the extension is disabled.\n * @param fn The function which should return a truthy value for those entities which should be kept.\n * @returns A function to clean up the filter\n */\n addCatalogFilter(fn) {\n const dispose = _renderer_api_catalog_entity_registry__WEBPACK_IMPORTED_MODULE_2__.catalogEntityRegistry.addCatalogFilter(fn);\n this[_lens_extension__WEBPACK_IMPORTED_MODULE_0__.Disposers].push(dispose);\n return dispose;\n }\n /**\n * Add a filtering function for the catalog categories. This will be removed if the extension is disabled.\n * @param fn The function which should return a truthy value for those categories which should be kept.\n * @returns A function to clean up the filter\n */\n addCatalogCategoryFilter(fn) {\n const dispose = _renderer_api_catalog_category_registry__WEBPACK_IMPORTED_MODULE_3__.catalogCategoryRegistry.addCatalogCategoryFilter(fn);\n this[_lens_extension__WEBPACK_IMPORTED_MODULE_0__.Disposers].push(dispose);\n return dispose;\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/lens-renderer-extension.ts?");
34209
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LensRendererExtension\": () => (/* binding */ LensRendererExtension)\n/* harmony export */ });\n/* harmony import */ var _lens_extension__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lens-extension */ \"./src/extensions/lens-extension.ts\");\n/* harmony import */ var _renderer_api_catalog_entity_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../renderer/api/catalog-entity-registry */ \"./src/renderer/api/catalog-entity-registry.ts\");\n/* harmony import */ var _renderer_api_catalog_category_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../renderer/api/catalog-category-registry */ \"./src/renderer/api/catalog-category-registry.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _renderer_routes_routes_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../renderer/routes/routes.injectable */ \"./src/renderer/routes/routes.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _renderer_routes_extension_page_parameters_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../renderer/routes/extension-page-parameters.injectable */ \"./src/renderer/routes/extension-page-parameters.injectable.ts\");\n/* harmony import */ var _ogre_tools_fp__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ogre-tools/fp */ \"./node_modules/@ogre-tools/fp/build/index.js\");\n/* harmony import */ var _ogre_tools_fp__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_fp__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _renderer_routes_get_extension_route_path__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../renderer/routes/get-extension-route-path */ \"./src/renderer/routes/get-extension-route-path.ts\");\n/* harmony import */ var _common_front_end_routing_navigate_to_route_injection_token__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/front-end-routing/navigate-to-route-injection-token */ \"./src/common/front-end-routing/navigate-to-route-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\n\n\nclass LensRendererExtension extends _lens_extension__WEBPACK_IMPORTED_MODULE_0__.LensExtension {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"globalPages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"clusterPages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"clusterPageMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeObjectStatusTexts\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"appPreferences\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"entitySettings\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"statusBarItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeObjectDetailItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeObjectMenuItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"kubeWorkloadsOverviewItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"commands\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"welcomeMenus\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"welcomeBanners\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"catalogEntityDetailItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"topBarItems\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"additionalCategoryColumns\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"customCategoryViews\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n async navigate(pageId, params) {\n const di = (0,_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_3__.getEnvironmentSpecificLegacyGlobalDiForExtensionApi)(_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_3__.Environments.renderer);\n const navigateToRoute = di.inject(_common_front_end_routing_navigate_to_route_injection_token__WEBPACK_IMPORTED_MODULE_9__.navigateToRouteInjectionToken);\n const routes = di.inject(_renderer_routes_routes_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).get();\n const targetRegistration = [...this.globalPages, ...this.clusterPages].find(registration => registration.id === (pageId || undefined));\n const targetRoutePath = (0,_renderer_routes_get_extension_route_path__WEBPACK_IMPORTED_MODULE_8__.getExtensionRoutePath)(this, targetRegistration.id);\n const targetRoute = routes.find((0,lodash_fp__WEBPACK_IMPORTED_MODULE_5__.matches)({ path: targetRoutePath }));\n if (targetRoute) {\n const normalizedParams = di.inject(_renderer_routes_extension_page_parameters_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n extension: this,\n registration: targetRegistration,\n });\n const query = (0,_ogre_tools_fp__WEBPACK_IMPORTED_MODULE_7__.pipeline)(params, lodash_fp__WEBPACK_IMPORTED_MODULE_5__.toPairs, (0,lodash_fp__WEBPACK_IMPORTED_MODULE_5__.map)(([key, value]) => {\n const normalizedParam = normalizedParams[key];\n return [\n key,\n normalizedParam.stringify(value),\n ];\n }), lodash_fp__WEBPACK_IMPORTED_MODULE_5__.fromPairs);\n navigateToRoute(targetRoute, {\n query,\n });\n }\n }\n /**\n * Defines if extension is enabled for a given cluster. This method is only\n * called when the extension is created within a cluster frame.\n *\n * The default implementation is to return `true`\n */\n async isEnabledForCluster(cluster) {\n return (void cluster) || true;\n }\n /**\n * Add a filtering function for the catalog entities. This will be removed if the extension is disabled.\n * @param fn The function which should return a truthy value for those entities which should be kept.\n * @returns A function to clean up the filter\n */\n addCatalogFilter(fn) {\n const dispose = _renderer_api_catalog_entity_registry__WEBPACK_IMPORTED_MODULE_1__.catalogEntityRegistry.addCatalogFilter(fn);\n this[_lens_extension__WEBPACK_IMPORTED_MODULE_0__.Disposers].push(dispose);\n return dispose;\n }\n /**\n * Add a filtering function for the catalog categories. This will be removed if the extension is disabled.\n * @param fn The function which should return a truthy value for those categories which should be kept.\n * @returns A function to clean up the filter\n */\n addCatalogCategoryFilter(fn) {\n const dispose = _renderer_api_catalog_category_registry__WEBPACK_IMPORTED_MODULE_2__.catalogCategoryRegistry.addCatalogCategoryFilter(fn);\n this[_lens_extension__WEBPACK_IMPORTED_MODULE_0__.Disposers].push(dispose);\n return dispose;\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/lens-renderer-extension.ts?");
34443
34210
 
34444
34211
  /***/ }),
34445
34212
 
@@ -34538,7 +34305,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34538
34305
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34539
34306
 
34540
34307
  "use strict";
34541
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CatalogEntityDetailRegistry\": () => (/* reexport safe */ _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_4__.CatalogEntityDetailRegistry),\n/* harmony export */ \"ClusterPageMenuRegistry\": () => (/* reexport safe */ _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__.ClusterPageMenuRegistry),\n/* harmony export */ \"ClusterPageRegistry\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.ClusterPageRegistry),\n/* harmony export */ \"EntitySettingRegistry\": () => (/* reexport safe */ _entity_setting_registry__WEBPACK_IMPORTED_MODULE_3__.EntitySettingRegistry),\n/* harmony export */ \"GlobalPageRegistry\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.GlobalPageRegistry),\n/* harmony export */ \"KubeObjectDetailRegistry\": () => (/* reexport safe */ _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__.KubeObjectDetailRegistry),\n/* harmony export */ \"getExtensionPageUrl\": () => (/* reexport safe */ _page_registry__WEBPACK_IMPORTED_MODULE_0__.getExtensionPageUrl)\n/* harmony export */ });\n/* harmony import */ var _page_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page-registry */ \"./src/extensions/registries/page-registry.ts\");\n/* harmony import */ var _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-menu-registry */ \"./src/extensions/registries/page-menu-registry.ts\");\n/* harmony import */ var _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-object-detail-registry */ \"./src/extensions/registries/kube-object-detail-registry.ts\");\n/* harmony import */ var _entity_setting_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./entity-setting-registry */ \"./src/extensions/registries/entity-setting-registry.ts\");\n/* harmony import */ var _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./catalog-entity-detail-registry */ \"./src/extensions/registries/catalog-entity-detail-registry.ts\");\n/* harmony import */ var _protocol_handler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocol-handler */ \"./src/extensions/registries/protocol-handler.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// All registries managed by extensions api\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/index.ts?");
34308
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CatalogEntityDetailRegistry\": () => (/* reexport safe */ _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_4__.CatalogEntityDetailRegistry),\n/* harmony export */ \"EntitySettingRegistry\": () => (/* reexport safe */ _entity_setting_registry__WEBPACK_IMPORTED_MODULE_3__.EntitySettingRegistry),\n/* harmony export */ \"KubeObjectDetailRegistry\": () => (/* reexport safe */ _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__.KubeObjectDetailRegistry)\n/* harmony export */ });\n/* harmony import */ var _page_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./page-registry */ \"./src/extensions/registries/page-registry.ts\");\n/* harmony import */ var _page_menu_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-menu-registry */ \"./src/extensions/registries/page-menu-registry.ts\");\n/* harmony import */ var _kube_object_detail_registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./kube-object-detail-registry */ \"./src/extensions/registries/kube-object-detail-registry.ts\");\n/* harmony import */ var _entity_setting_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./entity-setting-registry */ \"./src/extensions/registries/entity-setting-registry.ts\");\n/* harmony import */ var _catalog_entity_detail_registry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./catalog-entity-detail-registry */ \"./src/extensions/registries/catalog-entity-detail-registry.ts\");\n/* harmony import */ var _protocol_handler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protocol-handler */ \"./src/extensions/registries/protocol-handler.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// All registries managed by extensions api\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/index.ts?");
34542
34309
 
34543
34310
  /***/ }),
34544
34311
 
@@ -34560,7 +34327,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34560
34327
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34561
34328
 
34562
34329
  "use strict";
34563
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterPageMenuRegistry\": () => (/* binding */ ClusterPageMenuRegistry)\n/* harmony export */ });\n/* harmony import */ var _base_registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base-registry */ \"./src/extensions/registries/base-registry.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nclass ClusterPageMenuRegistry extends _base_registry__WEBPACK_IMPORTED_MODULE_0__.BaseRegistry {\n add(items, ext) {\n const normalizedItems = items.map(menuItem => {\n menuItem.target = {\n extensionId: ext.name,\n ...(menuItem.target || {}),\n };\n return menuItem;\n });\n return super.add(normalizedItems);\n }\n getRootItems() {\n return this.getItems().filter((item) => !item.parentId);\n }\n getSubItems(parent) {\n return this.getItems().filter((item) => (item.parentId === parent.id &&\n item.target.extensionId === parent.target.extensionId));\n }\n getByPage({ id: pageId, extensionId }) {\n return this.getItems().find((item) => (item.target.pageId == pageId &&\n item.target.extensionId === extensionId));\n }\n}\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/page-menu-registry.ts?");
34330
+ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/page-menu-registry.ts?");
34564
34331
 
34565
34332
  /***/ }),
34566
34333
 
@@ -34571,7 +34338,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34571
34338
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34572
34339
 
34573
34340
  "use strict";
34574
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterPageRegistry\": () => (/* binding */ ClusterPageRegistry),\n/* harmony export */ \"GlobalPageRegistry\": () => (/* binding */ GlobalPageRegistry),\n/* harmony export */ \"getExtensionPageUrl\": () => (/* binding */ getExtensionPageUrl)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _base_registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./base-registry */ \"./src/extensions/registries/base-registry.ts\");\n/* harmony import */ var _lens_extension__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lens-extension */ \"./src/extensions/lens-extension.ts\");\n/* harmony import */ var _renderer_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../renderer/navigation */ \"./src/renderer/navigation/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Extensions-api -> Custom page registration\n\n\n\n\n\nfunction getExtensionPageUrl(target) {\n const { extensionId, pageId = \"\", params: targetParams = {} } = target;\n const pagePath = [\"/extension\", (0,_lens_extension__WEBPACK_IMPORTED_MODULE_2__.sanitizeExtensionName)(extensionId), pageId]\n .filter(Boolean)\n .join(\"/\").replace(/\\/+/g, \"/\").replace(/\\/$/, \"\"); // normalize multi-slashes (e.g. coming from page.id)\n const pageUrl = new URL(pagePath, `http://localhost`);\n // stringify params to matched target page\n const registeredPage = GlobalPageRegistry.getInstance().getByPageTarget(target) || ClusterPageRegistry.getInstance().getByPageTarget(target);\n if (registeredPage === null || registeredPage === void 0 ? void 0 : registeredPage.params) {\n Object.entries(registeredPage.params).forEach(([name, param]) => {\n pageUrl.searchParams.delete(name); // first off, clear existing value(s)\n param.stringify(targetParams[name]).forEach(value => {\n if (_renderer_navigation__WEBPACK_IMPORTED_MODULE_3__.searchParamsOptions.skipEmpty && !value)\n return;\n pageUrl.searchParams.append(name, value);\n });\n });\n }\n return pageUrl.href.replace(pageUrl.origin, \"\");\n}\nclass PageRegistry extends _base_registry__WEBPACK_IMPORTED_MODULE_1__.BaseRegistry {\n getRegisteredItem(page, ext) {\n const { id: pageId } = page;\n const extensionId = ext.name;\n const params = this.normalizeParams(extensionId, page.params);\n const components = this.normalizeComponents(page.components, params);\n const url = getExtensionPageUrl({ extensionId, pageId });\n return {\n id: pageId, extensionId, params, components, url,\n };\n }\n normalizeComponents(components, params) {\n if (params) {\n const { Page } = components;\n // inject extension's page component props.params\n components.Page = (0,mobx_react__WEBPACK_IMPORTED_MODULE_4__.observer)((props) => react__WEBPACK_IMPORTED_MODULE_0__.createElement(Page, { params, ...props }));\n }\n return components;\n }\n normalizeParams(extensionId, params) {\n if (!params)\n return undefined;\n const normalizedParams = {};\n Object.entries(params).forEach(([paramName, paramValue]) => {\n const paramInit = {\n name: paramName,\n prefix: `${extensionId}:`,\n defaultValue: paramValue,\n };\n // handle non-string params\n if (typeof paramValue !== \"string\") {\n const { defaultValue: value, parse, stringify } = paramValue;\n const notAStringValue = typeof value !== \"string\" || (Array.isArray(value) && !value.every(value => typeof value === \"string\"));\n if (notAStringValue && !(parse || stringify)) {\n throw new Error(`PageRegistry: param's \"${paramName}\" initialization has failed: paramInit.parse() and paramInit.stringify() are required for non string | string[] \"defaultValue\"`);\n }\n paramInit.defaultValue = value;\n paramInit.parse = parse;\n paramInit.stringify = stringify;\n }\n normalizedParams[paramName] = (0,_renderer_navigation__WEBPACK_IMPORTED_MODULE_3__.createPageParam)(paramInit);\n });\n return normalizedParams;\n }\n getByPageTarget(target) {\n return this.getItems().find(page => page.extensionId === target.extensionId && page.id === target.pageId) || null;\n }\n}\nclass ClusterPageRegistry extends PageRegistry {\n}\nclass GlobalPageRegistry extends PageRegistry {\n}\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/page-registry.ts?");
34341
+ eval("__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/registries/page-registry.ts?");
34575
34342
 
34576
34343
  /***/ }),
34577
34344
 
@@ -34626,7 +34393,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34626
34393
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34627
34394
 
34628
34395
  "use strict";
34629
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Endpoint),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_10__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeObject),\n/* harmony export */ \"KubeObjectStatusLevel\": () => (/* reexport safe */ _kube_object_status__WEBPACK_IMPORTED_MODULE_9__.KubeObjectStatusLevel),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PodsApi),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* reexport safe */ _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_3__.ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* reexport safe */ _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_4__.apiManager),\n/* harmony export */ \"clusterRoleApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.clusterRoleBindingApi),\n/* harmony export */ \"configMapApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.configMapApi),\n/* harmony export */ \"crdApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.crdApi),\n/* harmony export */ \"cronJobApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.endpointApi),\n/* harmony export */ \"eventApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.eventApi),\n/* harmony export */ \"forCluster\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.forRemoteCluster),\n/* harmony export */ \"hpaApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ingressApi),\n/* harmony export */ \"isAllowedResource\": () => (/* binding */ isAllowedResource),\n/* harmony export */ \"jobApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.nodesApi),\n/* harmony export */ \"pdbApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.persistentVolumeApi),\n/* harmony export */ \"podsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.podsApi),\n/* harmony export */ \"pvcApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.secretsApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/is-allowed-resource.injectable */ \"./src/common/utils/is-allowed-resource.injectable.ts\");\n/* harmony import */ var _as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s/resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/endpoints */ \"./src/common/k8s-api/endpoints/index.ts\");\n/* harmony import */ var _kube_object_status__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./kube-object-status */ \"./src/extensions/renderer-api/kube-object-status.ts\");\n/* harmony import */ var _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/kube-json-api */ \"./src/common/k8s-api/kube-json-api.ts\");\n\n\n\nfunction isAllowedResource(resource) {\n const _isAllowedResource = (0,_as_legacy_globals_for_extension_api_as_legacy_global_function_for_extension_api__WEBPACK_IMPORTED_MODULE_1__.asLegacyGlobalFunctionForExtensionApi)(_common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n const resources = (0,lodash_fp__WEBPACK_IMPORTED_MODULE_2__.castArray)(resource);\n return resources.every(x => _isAllowedResource(x));\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/renderer-api/k8s-api.ts?");
34396
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ClusterRoleBinding),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.CronJob),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.DaemonSet),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Endpoint),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.HorizontalPodAutoscaler),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Job),\n/* harmony export */ \"KubeApi\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.KubeApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.KubeEvent),\n/* harmony export */ \"KubeJsonApi\": () => (/* reexport safe */ _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_10__.KubeJsonApi),\n/* harmony export */ \"KubeObject\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeObject),\n/* harmony export */ \"KubeObjectStatusLevel\": () => (/* reexport safe */ _kube_object_status__WEBPACK_IMPORTED_MODULE_9__.KubeObjectStatusLevel),\n/* harmony export */ \"KubeObjectStore\": () => (/* reexport safe */ _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__.KubeObjectStore),\n/* harmony export */ \"KubeStatus\": () => (/* reexport safe */ _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__.KubeStatus),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.LimitRange),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Namespace),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PodDisruptionBudget),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.PodsApi),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ReplicaSet),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ResourceQuota),\n/* harmony export */ \"ResourceStack\": () => (/* reexport safe */ _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_3__.ResourceStack),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Secret),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ServiceAccount),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.StatefulSet),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.StorageClass),\n/* harmony export */ \"apiManager\": () => (/* reexport safe */ _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_4__.apiManager),\n/* harmony export */ \"clusterRoleApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.clusterRoleBindingApi),\n/* harmony export */ \"configMapApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.configMapApi),\n/* harmony export */ \"crdApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.crdApi),\n/* harmony export */ \"cronJobApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.endpointApi),\n/* harmony export */ \"eventApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.eventApi),\n/* harmony export */ \"forCluster\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.forCluster),\n/* harmony export */ \"forRemoteCluster\": () => (/* reexport safe */ _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__.forRemoteCluster),\n/* harmony export */ \"hpaApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.ingressApi),\n/* harmony export */ \"isAllowedResource\": () => (/* binding */ isAllowedResource),\n/* harmony export */ \"jobApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.nodesApi),\n/* harmony export */ \"pdbApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.persistentVolumeApi),\n/* harmony export */ \"podsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.podsApi),\n/* harmony export */ \"pvcApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.secretsApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* reexport safe */ _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__.storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../common/utils/is-allowed-resource.injectable */ \"./src/common/utils/is-allowed-resource.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _common_k8s_resource_stack__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/k8s/resource-stack */ \"./src/common/k8s/resource-stack.ts\");\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony import */ var _common_k8s_api_kube_object_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/k8s-api/kube-object.store */ \"./src/common/k8s-api/kube-object.store.ts\");\n/* harmony import */ var _common_k8s_api_kube_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/k8s-api/kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _common_k8s_api_kube_object__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/k8s-api/kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _common_k8s_api_endpoints__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/k8s-api/endpoints */ \"./src/common/k8s-api/endpoints/index.ts\");\n/* harmony import */ var _kube_object_status__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./kube-object-status */ \"./src/extensions/renderer-api/kube-object-status.ts\");\n/* harmony import */ var _common_k8s_api_kube_json_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/k8s-api/kube-json-api */ \"./src/common/k8s-api/kube-json-api.ts\");\n\n\n\nfunction isAllowedResource(resource) {\n const resources = (0,lodash_fp__WEBPACK_IMPORTED_MODULE_1__.castArray)(resource);\n const di = (0,_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__.getLegacyGlobalDiForExtensionApi)();\n return resources.every((resourceName) => {\n const _isAllowedResource = di.inject(_common_utils_is_allowed_resource_injectable__WEBPACK_IMPORTED_MODULE_0__[\"default\"], resourceName);\n // Note: Legacy isAllowedResource does not advertise reactivity\n return _isAllowedResource.get();\n });\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/extensions/renderer-api/k8s-api.ts?");
34630
34397
 
34631
34398
  /***/ }),
34632
34399
 
@@ -34791,7 +34558,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
34791
34558
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34792
34559
 
34793
34560
  "use strict";
34794
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WindowManager\": () => (/* binding */ WindowManager)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! electron-window-state */ \"./node_modules/electron-window-state/index.js\");\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(electron_window_state__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/app-event-bus/event-bus */ \"./src/common/app-event-bus/event-bus.ts\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/cluster-frames */ \"./src/common/cluster-frames.ts\");\n/* harmony import */ var _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../renderer/navigation/events */ \"./src/renderer/navigation/events.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _lens_proxy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lens-proxy */ \"./src/main/lens-proxy.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isHideable(window) {\n return Boolean(window && !window.isDestroyed());\n}\nclass WindowManager extends _common_utils__WEBPACK_IMPORTED_MODULE_4__.Singleton {\n constructor() {\n super();\n Object.defineProperty(this, \"mainContentUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `http://localhost:${_lens_proxy__WEBPACK_IMPORTED_MODULE_9__.LensProxy.getInstance().port}`\n });\n Object.defineProperty(this, \"mainWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"splashWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"windowState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"activeClusterId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.makeObservable)(this);\n this.bindEvents();\n }\n async initMainWindow(showSplash) {\n var _a;\n // Manage main window size and position with state persistence\n if (!this.windowState) {\n this.windowState = electron_window_state__WEBPACK_IMPORTED_MODULE_1___default()({\n defaultHeight: 900,\n defaultWidth: 1440,\n });\n }\n if (!this.mainWindow) {\n // show icon in dock (mac-os only)\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.show();\n const { width, height, x, y } = this.windowState;\n this.mainWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n x, y, width, height,\n title: _common_vars__WEBPACK_IMPORTED_MODULE_8__.productName,\n show: false,\n minWidth: 700,\n minHeight: 500,\n titleBarStyle: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac ? \"hiddenInset\" : \"hidden\",\n frame: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac,\n backgroundColor: \"#1e2124\",\n webPreferences: {\n nodeIntegration: true,\n nodeIntegrationInSubFrames: true,\n webviewTag: true,\n contextIsolation: false,\n nativeWindowOpen: false,\n },\n });\n this.windowState.manage(this.mainWindow);\n // open external links in default browser (target=_blank, window.open)\n this.mainWindow\n .on(\"focus\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"focus\" });\n })\n .on(\"blur\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"blur\" });\n })\n .on(\"closed\", () => {\n var _a;\n // clean up\n this.windowState.unmanage();\n this.mainWindow = null;\n this.splashWindow = null;\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.hide(); // hide icon in dock (mac-os)\n })\n .webContents\n .on(\"dom-ready\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"dom-ready\" });\n })\n .on(\"did-fail-load\", (_event, code, desc) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`[WINDOW-MANAGER]: Failed to load Main window`, { code, desc });\n })\n .on(\"did-finish-load\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window loaded\");\n })\n .on(\"will-attach-webview\", (event, webPreferences, params) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(\"[WINDOW-MANAGER]: Attaching webview\");\n // Following is security recommendations because we allow webview tag (webviewTag: true)\n // suggested by https://www.electronjs.org/docs/tutorial/security#11-verify-webview-options-before-creation\n // and https://www.electronjs.org/docs/tutorial/security#10-do-not-use-allowpopups\n if (webPreferences.preload) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n // @ts-expect-error some electron version uses webPreferences.preloadURL/webPreferences.preload\n if (webPreferences.preloadURL) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n if (params.allowpopups) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: We do not allow allowpopups props, stop webview from renderer\");\n // event.preventDefault() will destroy the guest page.\n event.preventDefault();\n return;\n }\n // Always disable Node.js integration for all webviews\n webPreferences.nodeIntegration = false;\n })\n .setWindowOpenHandler((details) => {\n (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.openBrowser)(details.url).catch(error => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"[WINDOW-MANAGER]: failed to open browser\", { error });\n });\n return { action: \"deny\" };\n });\n }\n try {\n if (showSplash)\n await this.showSplash();\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainContentUrl} ...`);\n await this.mainWindow.loadURL(this.mainContentUrl);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"Loading main window failed\", { error });\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n }\n bindEvents() {\n // track visible cluster from ui\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_3__.ipcMainOn)(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.CLUSTER_VIEW_CURRENT_ID, (event, clusterId) => {\n this.activeClusterId = clusterId;\n });\n }\n async ensureMainWindow(showSplash = true) {\n var _a;\n // This needs to be ready to hear the IPC message before the window is loaded\n let viewHasLoaded = Promise.resolve();\n if (!this.mainWindow) {\n viewHasLoaded = new Promise(resolve => {\n electron__WEBPACK_IMPORTED_MODULE_0__.ipcMain.once(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__.bundledExtensionsLoaded, () => resolve());\n });\n await this.initMainWindow(showSplash);\n }\n try {\n await viewHasLoaded;\n await (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.delay)(50); // wait just a bit longer to let the first round of rendering happen\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window has reported that it has loaded\");\n this.mainWindow.show();\n (_a = this.splashWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.splashWindow = undefined;\n setTimeout(() => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"start\" });\n }, 1000);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`Showing main window failed: ${error.stack || error}`);\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n return this.mainWindow;\n }\n sendToView({ channel, frameInfo, data = [] }) {\n if (frameInfo) {\n this.mainWindow.webContents.sendToFrame([frameInfo.processId, frameInfo.frameId], channel, ...data);\n }\n else {\n this.mainWindow.webContents.send(channel, ...data);\n }\n }\n async navigateExtension(extId, pageId, params, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n this.sendToView({\n channel: \"extension:navigate\",\n frameInfo,\n data: [extId, pageId, params],\n });\n }\n async navigate(url, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n const channel = frameInfo\n ? _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_CLUSTER\n : _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_APP;\n this.sendToView({\n channel,\n frameInfo,\n data: [url],\n });\n }\n reload() {\n const frameInfo = _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.get(this.activeClusterId);\n if (frameInfo) {\n this.sendToView({ channel: _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.RELOAD_PAGE, frameInfo });\n }\n else {\n electron__WEBPACK_IMPORTED_MODULE_0__.webContents.getAllWebContents().filter(wc => wc.getType() === \"window\").forEach(wc => {\n wc.reload();\n wc.clearHistory();\n });\n }\n }\n async showSplash() {\n if (!this.splashWindow) {\n this.splashWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n width: 500,\n height: 300,\n backgroundColor: \"#1e2124\",\n center: true,\n frame: false,\n resizable: false,\n show: false,\n webPreferences: {\n nodeIntegration: true,\n contextIsolation: false,\n nodeIntegrationInSubFrames: true,\n nativeWindowOpen: true,\n },\n });\n await this.splashWindow.loadURL(\"static://splash.html\");\n }\n this.splashWindow.show();\n }\n hide() {\n if (isHideable(this.mainWindow)) {\n this.mainWindow.hide();\n }\n if (isHideable(this.splashWindow)) {\n this.splashWindow.hide();\n }\n }\n destroy() {\n this.mainWindow.destroy();\n this.splashWindow.destroy();\n this.mainWindow = null;\n this.splashWindow = null;\n Object.entries(this.disposers).forEach(([name, dispose]) => {\n dispose();\n delete this.disposers[name];\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_11__.observable,\n __metadata(\"design:type\", String)\n], WindowManager.prototype, \"activeClusterId\", void 0);\n\n\n//# sourceURL=webpack://open-lens/./src/main/window-manager.ts?");
34561
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"WindowManager\": () => (/* binding */ WindowManager)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! electron-window-state */ \"./node_modules/electron-window-state/index.js\");\n/* harmony import */ var electron_window_state__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(electron_window_state__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/app-event-bus/event-bus */ \"./src/common/app-event-bus/event-bus.ts\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/cluster-frames */ \"./src/common/cluster-frames.ts\");\n/* harmony import */ var _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../renderer/navigation/events */ \"./src/renderer/navigation/events.ts\");\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _lens_proxy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lens-proxy */ \"./src/main/lens-proxy.ts\");\n/* harmony import */ var _common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/ipc/extension-handling */ \"./src/common/ipc/extension-handling.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\nfunction isHideable(window) {\n return Boolean(window && !window.isDestroyed());\n}\nclass WindowManager extends _common_utils__WEBPACK_IMPORTED_MODULE_4__.Singleton {\n constructor() {\n super();\n Object.defineProperty(this, \"mainContentUrl\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `http://localhost:${_lens_proxy__WEBPACK_IMPORTED_MODULE_9__.LensProxy.getInstance().port}`\n });\n Object.defineProperty(this, \"mainWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"splashWindow\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"windowState\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"disposers\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty(this, \"activeClusterId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.makeObservable)(this);\n this.bindEvents();\n }\n async initMainWindow(showSplash) {\n var _a;\n // Manage main window size and position with state persistence\n if (!this.windowState) {\n this.windowState = electron_window_state__WEBPACK_IMPORTED_MODULE_1___default()({\n defaultHeight: 900,\n defaultWidth: 1440,\n });\n }\n if (!this.mainWindow) {\n // show icon in dock (mac-os only)\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.show();\n const { width, height, x, y } = this.windowState;\n this.mainWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n x, y, width, height,\n title: _common_vars__WEBPACK_IMPORTED_MODULE_8__.productName,\n show: false,\n minWidth: 700,\n minHeight: 500,\n titleBarStyle: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac ? \"hiddenInset\" : \"hidden\",\n frame: _common_vars__WEBPACK_IMPORTED_MODULE_8__.isMac,\n backgroundColor: \"#1e2124\",\n webPreferences: {\n nodeIntegration: true,\n nodeIntegrationInSubFrames: true,\n webviewTag: true,\n contextIsolation: false,\n nativeWindowOpen: false,\n },\n });\n this.windowState.manage(this.mainWindow);\n // open external links in default browser (target=_blank, window.open)\n this.mainWindow\n .on(\"focus\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"focus\" });\n })\n .on(\"blur\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"blur\" });\n })\n .on(\"closed\", () => {\n var _a;\n // clean up\n this.windowState.unmanage();\n this.mainWindow = null;\n this.splashWindow = null;\n (_a = electron__WEBPACK_IMPORTED_MODULE_0__.app.dock) === null || _a === void 0 ? void 0 : _a.hide(); // hide icon in dock (mac-os)\n })\n .webContents\n .on(\"dom-ready\", () => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"dom-ready\" });\n })\n .on(\"did-fail-load\", (_event, code, desc) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`[WINDOW-MANAGER]: Failed to load Main window`, { code, desc });\n })\n .on(\"did-finish-load\", () => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window loaded\");\n })\n .on(\"will-attach-webview\", (event, webPreferences, params) => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].debug(\"[WINDOW-MANAGER]: Attaching webview\");\n // Following is security recommendations because we allow webview tag (webviewTag: true)\n // suggested by https://www.electronjs.org/docs/tutorial/security#11-verify-webview-options-before-creation\n // and https://www.electronjs.org/docs/tutorial/security#10-do-not-use-allowpopups\n if (webPreferences.preload) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n // @ts-expect-error some electron version uses webPreferences.preloadURL/webPreferences.preload\n if (webPreferences.preloadURL) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: Strip away preload scripts of webview\");\n delete webPreferences.preload;\n }\n if (params.allowpopups) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].warn(\"[WINDOW-MANAGER]: We do not allow allowpopups props, stop webview from renderer\");\n // event.preventDefault() will destroy the guest page.\n event.preventDefault();\n return;\n }\n // Always disable Node.js integration for all webviews\n webPreferences.nodeIntegration = false;\n })\n .setWindowOpenHandler((details) => {\n (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.openBrowser)(details.url).catch(error => {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"[WINDOW-MANAGER]: failed to open browser\", { error });\n });\n return { action: \"deny\" };\n });\n }\n try {\n if (showSplash)\n await this.showSplash();\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(`[WINDOW-MANAGER]: Loading Main window from url: ${this.mainContentUrl} ...`);\n await this.mainWindow.loadURL(this.mainContentUrl);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(\"Loading main window failed\", { error });\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n }\n bindEvents() {\n // track visible cluster from ui\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_3__.ipcMainOn)(_renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.CLUSTER_VIEW_CURRENT_ID, (event, clusterId) => {\n this.activeClusterId = clusterId;\n });\n }\n async ensureMainWindow(showSplash = true) {\n var _a;\n // This needs to be ready to hear the IPC message before the window is loaded\n let viewHasLoaded = Promise.resolve();\n if (!this.mainWindow) {\n viewHasLoaded = new Promise(resolve => {\n electron__WEBPACK_IMPORTED_MODULE_0__.ipcMain.once(_common_ipc_extension_handling__WEBPACK_IMPORTED_MODULE_10__.bundledExtensionsLoaded, () => resolve());\n });\n await this.initMainWindow(showSplash);\n }\n try {\n await viewHasLoaded;\n await (0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.delay)(50); // wait just a bit longer to let the first round of rendering happen\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].info(\"[WINDOW-MANAGER]: Main window has reported that it has loaded\");\n this.mainWindow.show();\n (_a = this.splashWindow) === null || _a === void 0 ? void 0 : _a.close();\n this.splashWindow = undefined;\n setTimeout(() => {\n _common_app_event_bus_event_bus__WEBPACK_IMPORTED_MODULE_2__.appEventBus.emit({ name: \"app\", action: \"start\" });\n }, 1000);\n }\n catch (error) {\n _logger__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error(`Showing main window failed: ${error.stack || error}`);\n electron__WEBPACK_IMPORTED_MODULE_0__.dialog.showErrorBox(\"ERROR!\", error.toString());\n }\n return this.mainWindow;\n }\n sendToView({ channel, frameInfo, data = [] }) {\n if (frameInfo) {\n this.mainWindow.webContents.sendToFrame([frameInfo.processId, frameInfo.frameId], channel, ...data);\n }\n else {\n this.mainWindow.webContents.send(channel, ...data);\n }\n }\n async navigateExtension(extId, pageId, params, frameId) {\n await this.ensureMainWindow();\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n this.sendToView({\n channel: \"extension:navigate\",\n frameInfo,\n data: [extId, pageId, params],\n });\n }\n async navigate(url, frameId) {\n await this.ensureMainWindow();\n this.navigateSync(url, frameId);\n }\n navigateSync(url, frameId) {\n const frameInfo = _common_utils__WEBPACK_IMPORTED_MODULE_4__.iter.find(_common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.values(), frameInfo => frameInfo.frameId === frameId);\n const channel = frameInfo\n ? _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_CLUSTER\n : _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.NAVIGATE_IN_APP;\n this.sendToView({\n channel,\n frameInfo,\n data: [url],\n });\n }\n reload() {\n const frameInfo = _common_cluster_frames__WEBPACK_IMPORTED_MODULE_5__.clusterFrameMap.get(this.activeClusterId);\n if (frameInfo) {\n this.sendToView({ channel: _renderer_navigation_events__WEBPACK_IMPORTED_MODULE_6__.IpcRendererNavigationEvents.RELOAD_PAGE, frameInfo });\n }\n else {\n electron__WEBPACK_IMPORTED_MODULE_0__.webContents.getAllWebContents().filter(wc => wc.getType() === \"window\").forEach(wc => {\n wc.reload();\n wc.clearHistory();\n });\n }\n }\n async showSplash() {\n if (!this.splashWindow) {\n this.splashWindow = new electron__WEBPACK_IMPORTED_MODULE_0__.BrowserWindow({\n width: 500,\n height: 300,\n backgroundColor: \"#1e2124\",\n center: true,\n frame: false,\n resizable: false,\n show: false,\n webPreferences: {\n nodeIntegration: true,\n contextIsolation: false,\n nodeIntegrationInSubFrames: true,\n nativeWindowOpen: true,\n },\n });\n await this.splashWindow.loadURL(\"static://splash.html\");\n }\n this.splashWindow.show();\n }\n hide() {\n if (isHideable(this.mainWindow)) {\n this.mainWindow.hide();\n }\n if (isHideable(this.splashWindow)) {\n this.splashWindow.hide();\n }\n }\n destroy() {\n this.mainWindow.destroy();\n this.splashWindow.destroy();\n this.mainWindow = null;\n this.splashWindow = null;\n Object.entries(this.disposers).forEach(([name, dispose]) => {\n dispose();\n delete this.disposers[name];\n });\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_11__.observable,\n __metadata(\"design:type\", String)\n], WindowManager.prototype, \"activeClusterId\", void 0);\n\n\n//# sourceURL=webpack://open-lens/./src/main/window-manager.ts?");
34795
34562
 
34796
34563
  /***/ }),
34797
34564
 
@@ -35055,7 +34822,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35055
34822
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35056
34823
 
35057
34824
  "use strict";
35058
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CustomResourceDefinitions\": () => (/* binding */ CustomResourceDefinitions),\n/* harmony export */ \"crdGroupsUrlParam\": () => (/* binding */ crdGroupsUrlParam)\n/* harmony export */ });\n/* harmony import */ var _crd_list_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./crd-list.scss */ \"./src/renderer/components/+custom-resources/crd-list.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router-dom/esm/react-router-dom.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-object-list-layout */ \"./src/renderer/components/kube-object-list-layout/index.ts\");\n/* harmony import */ var _crd_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.store */ \"./src/renderer/components/+custom-resources/crd.store.ts\");\n/* harmony import */ var _select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../select */ \"./src/renderer/components/select/index.ts\");\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../navigation */ \"./src/renderer/navigation/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _kube_object_age__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../kube-object/age */ \"./src/renderer/components/kube-object/age.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\nconst crdGroupsUrlParam = (0,_navigation__WEBPACK_IMPORTED_MODULE_6__.createPageParam)({\n name: \"groups\",\n defaultValue: [],\n});\nvar columnId;\n(function (columnId) {\n columnId[\"kind\"] = \"kind\";\n columnId[\"group\"] = \"group\";\n columnId[\"version\"] = \"version\";\n columnId[\"scope\"] = \"scope\";\n columnId[\"age\"] = \"age\";\n})(columnId || (columnId = {}));\nlet CustomResourceDefinitions = class CustomResourceDefinitions extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n (0,mobx__WEBPACK_IMPORTED_MODULE_9__.makeObservable)(this);\n }\n get selectedGroups() {\n return crdGroupsUrlParam.get();\n }\n get items() {\n if (this.selectedGroups.length) {\n return _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.items.filter(item => this.selectedGroups.includes(item.getGroup()));\n }\n return _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.items; // show all by default\n }\n toggleSelection(group) {\n const groups = new Set(crdGroupsUrlParam.get());\n if (groups.has(group)) {\n groups.delete(group);\n }\n else {\n groups.add(group);\n }\n crdGroupsUrlParam.set([...groups]);\n }\n render() {\n const { items, selectedGroups } = this;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__.KubeObjectListLayout, { isConfigurable: true, tableId: \"crd\", className: \"CrdList\", store: _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore, \n // Don't subscribe the `crdStore` because <Sidebar> already has and is always mounted\n subscribeStores: false, items: items, sortingCallbacks: {\n [columnId.kind]: crd => crd.getResourceKind(),\n [columnId.group]: crd => crd.getGroup(),\n [columnId.version]: crd => crd.getVersion(),\n [columnId.scope]: crd => crd.getScope(),\n [columnId.age]: crd => -crd.getCreationTimestamp(),\n }, searchFilters: [\n crd => crd.getResourceKind(),\n crd => crd.getGroup(),\n crd => crd.getVersion(),\n crd => crd.getScope(),\n crd => -crd.getCreationTimestamp(),\n ], renderHeaderTitle: \"Custom Resources\", customizeHeader: ({ filters, ...headerPlaceholders }) => {\n let placeholder = react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, \"All groups\");\n if (selectedGroups.length == 1)\n placeholder = react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n \"Group: \",\n selectedGroups[0]);\n if (selectedGroups.length >= 2)\n placeholder = react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n \"Groups: \",\n selectedGroups.join(\", \"));\n return {\n // todo: move to global filters\n filters: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n filters,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_select__WEBPACK_IMPORTED_MODULE_5__.Select, { className: \"group-select\", placeholder: placeholder, options: Object.keys(_crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.groups), onChange: ({ value: group }) => this.toggleSelection(group), closeMenuOnSelect: false, controlShouldRenderValue: false, formatOptionLabel: ({ value: group }) => {\n const isSelected = selectedGroups.includes(group);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_7__.Icon, { small: true, material: \"folder\" }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", null, group),\n isSelected && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_7__.Icon, { small: true, material: \"check\", className: \"box right\" })));\n } }))),\n ...headerPlaceholders,\n };\n }, renderTableHeader: [\n { title: \"Resource\", className: \"kind\", sortBy: columnId.kind, id: columnId.kind },\n { title: \"Group\", className: \"group\", sortBy: columnId.group, id: columnId.group },\n { title: \"Version\", className: \"version\", sortBy: columnId.version, id: columnId.version },\n { title: \"Scope\", className: \"scope\", sortBy: columnId.scope, id: columnId.scope },\n { title: \"Age\", className: \"age\", sortBy: columnId.age, id: columnId.age },\n ], renderTableContents: crd => [\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_10__.Link, { key: \"link\", to: crd.getResourceUrl(), onClick: _utils__WEBPACK_IMPORTED_MODULE_2__.stopPropagation }, crd.getResourceKind()),\n crd.getGroup(),\n crd.getVersion(),\n crd.getScope(),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_age__WEBPACK_IMPORTED_MODULE_8__.KubeObjectAge, { key: \"age\", object: crd }),\n ] }));\n }\n};\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_9__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CustomResourceDefinitions.prototype, \"items\", null);\nCustomResourceDefinitions = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_11__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], CustomResourceDefinitions);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+custom-resources/crd-list.tsx?");
34825
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CustomResourceDefinitions\": () => (/* binding */ CustomResourceDefinitions),\n/* harmony export */ \"crdGroupsUrlParam\": () => (/* binding */ crdGroupsUrlParam)\n/* harmony export */ });\n/* harmony import */ var _crd_list_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./crd-list.scss */ \"./src/renderer/components/+custom-resources/crd-list.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-router-dom */ \"./node_modules/react-router-dom/esm/react-router-dom.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-object-list-layout */ \"./src/renderer/components/kube-object-list-layout/index.ts\");\n/* harmony import */ var _crd_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.store */ \"./src/renderer/components/+custom-resources/crd.store.ts\");\n/* harmony import */ var _select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../select */ \"./src/renderer/components/select/index.ts\");\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../navigation */ \"./src/renderer/navigation/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _kube_object_age__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../kube-object/age */ \"./src/renderer/components/kube-object/age.tsx\");\n/* harmony import */ var _layout_tab_layout_2__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../layout/tab-layout-2 */ \"./src/renderer/components/layout/tab-layout-2.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst crdGroupsUrlParam = (0,_navigation__WEBPACK_IMPORTED_MODULE_6__.createPageParam)({\n name: \"groups\",\n defaultValue: [],\n});\nvar columnId;\n(function (columnId) {\n columnId[\"kind\"] = \"kind\";\n columnId[\"group\"] = \"group\";\n columnId[\"version\"] = \"version\";\n columnId[\"scope\"] = \"scope\";\n columnId[\"age\"] = \"age\";\n})(columnId || (columnId = {}));\nlet CustomResourceDefinitions = class CustomResourceDefinitions extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n (0,mobx__WEBPACK_IMPORTED_MODULE_10__.makeObservable)(this);\n }\n get selectedGroups() {\n return crdGroupsUrlParam.get();\n }\n get items() {\n if (this.selectedGroups.length) {\n return _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.items.filter(item => this.selectedGroups.includes(item.getGroup()));\n }\n return _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.items; // show all by default\n }\n toggleSelection(group) {\n const groups = new Set(crdGroupsUrlParam.get());\n if (groups.has(group)) {\n groups.delete(group);\n }\n else {\n groups.add(group);\n }\n crdGroupsUrlParam.set([...groups]);\n }\n render() {\n const { items, selectedGroups } = this;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_layout_tab_layout_2__WEBPACK_IMPORTED_MODULE_9__.TabLayout, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__.KubeObjectListLayout, { isConfigurable: true, tableId: \"crd\", className: \"CrdList\", store: _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore, \n // Don't subscribe the `crdStore` because <Sidebar> already has and is always mounted\n subscribeStores: false, items: items, sortingCallbacks: {\n [columnId.kind]: crd => crd.getResourceKind(),\n [columnId.group]: crd => crd.getGroup(),\n [columnId.version]: crd => crd.getVersion(),\n [columnId.scope]: crd => crd.getScope(),\n [columnId.age]: crd => -crd.getCreationTimestamp(),\n }, searchFilters: [\n crd => crd.getResourceKind(),\n crd => crd.getGroup(),\n crd => crd.getVersion(),\n crd => crd.getScope(),\n crd => -crd.getCreationTimestamp(),\n ], renderHeaderTitle: \"Custom Resources\", customizeHeader: ({ filters, ...headerPlaceholders }) => {\n let placeholder = react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, \"All groups\");\n if (selectedGroups.length == 1)\n placeholder = react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n \"Group: \",\n selectedGroups[0]);\n if (selectedGroups.length >= 2)\n placeholder = react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n \"Groups: \",\n selectedGroups.join(\", \"));\n return {\n // todo: move to global filters\n filters: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n filters,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_select__WEBPACK_IMPORTED_MODULE_5__.Select, { id: \"crd-input\", className: \"group-select\", placeholder: placeholder, options: Object.keys(_crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.groups), onChange: ({ value: group }) => this.toggleSelection(group), closeMenuOnSelect: false, controlShouldRenderValue: false, formatOptionLabel: ({ value: group }) => {\n const isSelected = selectedGroups.includes(group);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_7__.Icon, { small: true, material: \"folder\" }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", null, group),\n isSelected && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_7__.Icon, { small: true, material: \"check\", className: \"box right\" })));\n } }))),\n ...headerPlaceholders,\n };\n }, renderTableHeader: [\n { title: \"Resource\", className: \"kind\", sortBy: columnId.kind, id: columnId.kind },\n { title: \"Group\", className: \"group\", sortBy: columnId.group, id: columnId.group },\n { title: \"Version\", className: \"version\", sortBy: columnId.version, id: columnId.version },\n { title: \"Scope\", className: \"scope\", sortBy: columnId.scope, id: columnId.scope },\n { title: \"Age\", className: \"age\", sortBy: columnId.age, id: columnId.age },\n ], renderTableContents: crd => [\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_11__.Link, { key: \"link\", to: crd.getResourceUrl(), onClick: _utils__WEBPACK_IMPORTED_MODULE_2__.stopPropagation }, crd.getResourceKind()),\n crd.getGroup(),\n crd.getVersion(),\n crd.getScope(),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_age__WEBPACK_IMPORTED_MODULE_8__.KubeObjectAge, { key: \"age\", object: crd }),\n ] })));\n }\n};\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_10__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CustomResourceDefinitions.prototype, \"items\", null);\nCustomResourceDefinitions = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_12__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], CustomResourceDefinitions);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+custom-resources/crd-list.tsx?");
35059
34826
 
35060
34827
  /***/ }),
35061
34828
 
@@ -35088,7 +34855,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35088
34855
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35089
34856
 
35090
34857
  "use strict";
35091
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CustomResourceDefinitionResources\": () => (/* binding */ CustomResourceDefinitionResources)\n/* harmony export */ });\n/* harmony import */ var _crd_resources_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./crd-resources.scss */ \"./src/renderer/components/+custom-resources/crd-resources.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var jsonpath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsonpath */ \"./node_modules/jsonpath/jsonpath.js\");\n/* harmony import */ var jsonpath__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsonpath__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-object-list-layout */ \"./src/renderer/components/kube-object-list-layout/index.ts\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _crd_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.store */ \"./src/renderer/components/+custom-resources/crd.store.ts\");\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony import */ var _utils_jsonPath__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/jsonPath */ \"./src/renderer/utils/jsonPath.ts\");\n/* harmony import */ var _kube_object_age__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../kube-object/age */ \"./src/renderer/components/kube-object/age.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\nvar columnId;\n(function (columnId) {\n columnId[\"name\"] = \"name\";\n columnId[\"namespace\"] = \"namespace\";\n columnId[\"age\"] = \"age\";\n})(columnId || (columnId = {}));\nlet CustomResourceDefinitionResources = class CustomResourceDefinitionResources extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n (0,mobx__WEBPACK_IMPORTED_MODULE_8__.makeObservable)(this);\n }\n get crd() {\n const { group, name } = this.props.match.params;\n return _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.getByGroup(group, name);\n }\n get store() {\n var _a;\n return _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_5__.apiManager.getStore((_a = this.crd) === null || _a === void 0 ? void 0 : _a.getResourceApiBase());\n }\n render() {\n const { crd, store } = this;\n if (!crd) {\n return null;\n }\n const isNamespaced = crd.isNamespaced();\n const extraColumns = crd.getPrinterColumns(false); // Cols with priority bigger than 0 are shown in details\n const version = crd.getPreferedVersion();\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__.KubeObjectListLayout, { isConfigurable: true, key: `crd_resources_${crd.getResourceApiBase()}`, tableId: \"crd_resources\", className: \"CrdResources\", store: store, sortingCallbacks: {\n [columnId.name]: customResource => customResource.getName(),\n [columnId.namespace]: customResource => customResource.getNs(),\n [columnId.age]: customResource => -customResource.getCreationTimestamp(),\n ...Object.fromEntries(extraColumns.map(({ name, jsonPath }) => [\n name,\n customResource => (0,jsonpath__WEBPACK_IMPORTED_MODULE_2__.value)(customResource, (0,_utils_jsonPath__WEBPACK_IMPORTED_MODULE_6__.parseJsonPath)(jsonPath.slice(1))),\n ])),\n }, searchFilters: [\n customResource => customResource.getSearchFields(),\n ], renderHeaderTitle: crd.getResourceKind(), customizeHeader: ({ searchProps, ...headerPlaceholders }) => ({\n searchProps: {\n ...searchProps,\n placeholder: `${crd.getResourceKind()} search ...`,\n },\n ...headerPlaceholders,\n }), renderTableHeader: [\n { title: \"Name\", className: \"name\", sortBy: columnId.name, id: columnId.name },\n isNamespaced && { title: \"Namespace\", className: \"namespace\", sortBy: columnId.namespace, id: columnId.namespace },\n ...extraColumns.map(({ name }) => ({\n title: name,\n className: name.toLowerCase(),\n sortBy: name,\n id: name,\n })),\n { title: \"Age\", className: \"age\", sortBy: columnId.age, id: columnId.age },\n ], renderTableContents: crdInstance => [\n crdInstance.getName(),\n isNamespaced && crdInstance.getNs(),\n ...extraColumns.map((column) => {\n let rawValue = (0,jsonpath__WEBPACK_IMPORTED_MODULE_2__.value)(crdInstance, (0,_utils_jsonPath__WEBPACK_IMPORTED_MODULE_6__.parseJsonPath)(column.jsonPath.slice(1)));\n if (Array.isArray(rawValue) || typeof rawValue === \"object\") {\n rawValue = JSON.stringify(rawValue);\n }\n return {\n renderBoolean: true,\n children: rawValue,\n };\n }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_age__WEBPACK_IMPORTED_MODULE_7__.KubeObjectAge, { key: \"age\", object: crdInstance }),\n ], failedToLoadMessage: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"Failed to load \",\n crd.getPluralName()),\n !version.served && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"Prefered version (\",\n crd.getGroup(),\n \"/\",\n version.name,\n \") is not served\")))) }));\n }\n};\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CustomResourceDefinitionResources.prototype, \"crd\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_8__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], CustomResourceDefinitionResources.prototype, \"store\", null);\nCustomResourceDefinitionResources = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_9__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], CustomResourceDefinitionResources);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+custom-resources/crd-resources.tsx?");
34858
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CrdResources\": () => (/* binding */ CrdResources)\n/* harmony export */ });\n/* harmony import */ var _crd_resources_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./crd-resources.scss */ \"./src/renderer/components/+custom-resources/crd-resources.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var jsonpath__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsonpath */ \"./node_modules/jsonpath/jsonpath.js\");\n/* harmony import */ var jsonpath__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsonpath__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-object-list-layout */ \"./src/renderer/components/kube-object-list-layout/index.ts\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _crd_store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.store */ \"./src/renderer/components/+custom-resources/crd.store.ts\");\n/* harmony import */ var _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/k8s-api/api-manager */ \"./src/common/k8s-api/api-manager.ts\");\n/* harmony import */ var _utils_jsonPath__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/jsonPath */ \"./src/renderer/utils/jsonPath.ts\");\n/* harmony import */ var _layout_tab_layout_2__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../layout/tab-layout-2 */ \"./src/renderer/components/layout/tab-layout-2.tsx\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _custom_resources_route_parameters_injectable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./custom-resources-route-parameters.injectable */ \"./src/renderer/components/+custom-resources/custom-resources-route-parameters.injectable.ts\");\n/* harmony import */ var _kube_object_age__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../kube-object/age */ \"./src/renderer/components/kube-object/age.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar columnId;\n(function (columnId) {\n columnId[\"name\"] = \"name\";\n columnId[\"namespace\"] = \"namespace\";\n columnId[\"age\"] = \"age\";\n})(columnId || (columnId = {}));\nlet NonInjectedCrdResources = class NonInjectedCrdResources extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n (0,mobx__WEBPACK_IMPORTED_MODULE_11__.makeObservable)(this);\n }\n get crd() {\n return _crd_store__WEBPACK_IMPORTED_MODULE_4__.crdStore.getByGroup(this.props.group.get(), this.props.name.get());\n }\n get store() {\n var _a;\n return _common_k8s_api_api_manager__WEBPACK_IMPORTED_MODULE_5__.apiManager.getStore((_a = this.crd) === null || _a === void 0 ? void 0 : _a.getResourceApiBase());\n }\n render() {\n const { crd, store } = this;\n if (!crd) {\n return null;\n }\n const isNamespaced = crd.isNamespaced();\n const extraColumns = crd.getPrinterColumns(false); // Cols with priority bigger than 0 are shown in details\n const version = crd.getPreferedVersion();\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_layout_tab_layout_2__WEBPACK_IMPORTED_MODULE_7__.TabLayout, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_list_layout__WEBPACK_IMPORTED_MODULE_3__.KubeObjectListLayout, { isConfigurable: true, key: `crd_resources_${crd.getResourceApiBase()}`, tableId: \"crd_resources\", className: \"CrdResources\", store: store, sortingCallbacks: {\n [columnId.name]: customResource => customResource.getName(),\n [columnId.namespace]: customResource => customResource.getNs(),\n [columnId.age]: customResource => -customResource.getCreationTimestamp(),\n ...Object.fromEntries(extraColumns.map(({ name, jsonPath }) => [\n name,\n customResource => (0,jsonpath__WEBPACK_IMPORTED_MODULE_2__.value)(customResource, (0,_utils_jsonPath__WEBPACK_IMPORTED_MODULE_6__.parseJsonPath)(jsonPath.slice(1))),\n ])),\n }, searchFilters: [\n customResource => customResource.getSearchFields(),\n ], renderHeaderTitle: crd.getResourceKind(), customizeHeader: ({ searchProps, ...headerPlaceholders }) => ({\n searchProps: {\n ...searchProps,\n placeholder: `${crd.getResourceKind()} search ...`,\n },\n ...headerPlaceholders,\n }), renderTableHeader: [\n { title: \"Name\", className: \"name\", sortBy: columnId.name, id: columnId.name },\n isNamespaced && { title: \"Namespace\", className: \"namespace\", sortBy: columnId.namespace, id: columnId.namespace },\n ...extraColumns.map(({ name }) => ({\n title: name,\n className: name.toLowerCase(),\n sortBy: name,\n id: name,\n })),\n { title: \"Age\", className: \"age\", sortBy: columnId.age, id: columnId.age },\n ], renderTableContents: crdInstance => [\n crdInstance.getName(),\n isNamespaced && crdInstance.getNs(),\n ...extraColumns.map((column) => {\n let rawValue = (0,jsonpath__WEBPACK_IMPORTED_MODULE_2__.value)(crdInstance, (0,_utils_jsonPath__WEBPACK_IMPORTED_MODULE_6__.parseJsonPath)(column.jsonPath.slice(1)));\n if (Array.isArray(rawValue) || typeof rawValue === \"object\") {\n rawValue = JSON.stringify(rawValue);\n }\n return {\n renderBoolean: true,\n children: rawValue,\n };\n }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_age__WEBPACK_IMPORTED_MODULE_10__.KubeObjectAge, { key: \"age\", object: crdInstance }),\n ], failedToLoadMessage: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"Failed to load \",\n crd.getPluralName()),\n !version.served && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", null,\n \"Prefered version (\",\n crd.getGroup(),\n \"/\",\n version.name,\n \") is not served\")))) })));\n }\n};\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_11__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedCrdResources.prototype, \"crd\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_11__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedCrdResources.prototype, \"store\", null);\nNonInjectedCrdResources = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_12__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedCrdResources);\nconst CrdResources = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_8__.withInjectables)(NonInjectedCrdResources, {\n getProps: (di) => {\n const routeParameters = di.inject(_custom_resources_route_parameters_injectable__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n return {\n group: routeParameters.group,\n name: routeParameters.name,\n };\n },\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+custom-resources/crd-resources.tsx?");
35092
34859
 
35093
34860
  /***/ }),
35094
34861
 
@@ -35103,6 +34870,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35103
34870
 
35104
34871
  /***/ }),
35105
34872
 
34873
+ /***/ "./src/renderer/components/+custom-resources/custom-resources-route-parameters.injectable.ts":
34874
+ /*!***************************************************************************************************!*\
34875
+ !*** ./src/renderer/components/+custom-resources/custom-resources-route-parameters.injectable.ts ***!
34876
+ \***************************************************************************************************/
34877
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34878
+
34879
+ "use strict";
34880
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _routes_route_path_parameters_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../routes/route-path-parameters.injectable */ \"./src/renderer/routes/route-path-parameters.injectable.ts\");\n/* harmony import */ var _common_front_end_routing_routes_cluster_custom_resources_custom_resources_custom_resources_route_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable */ \"./src/common/front-end-routing/routes/cluster/custom-resources/custom-resources/custom-resources-route.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nconst customResourcesRouteParametersInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"custom-resources-route-parameters\",\n instantiate: (di) => {\n const route = di.inject(_common_front_end_routing_routes_cluster_custom_resources_custom_resources_custom_resources_route_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n const pathParameters = di.inject(_routes_route_path_parameters_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"], route);\n return {\n group: (0,mobx__WEBPACK_IMPORTED_MODULE_3__.computed)(() => pathParameters.get().group),\n name: (0,mobx__WEBPACK_IMPORTED_MODULE_3__.computed)(() => pathParameters.get().name),\n };\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (customResourcesRouteParametersInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+custom-resources/custom-resources-route-parameters.injectable.ts?");
34881
+
34882
+ /***/ }),
34883
+
35106
34884
  /***/ "./src/renderer/components/+custom-resources/index.ts":
35107
34885
  /*!************************************************************!*\
35108
34886
  !*** ./src/renderer/components/+custom-resources/index.ts ***!
@@ -35110,7 +34888,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35110
34888
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35111
34889
 
35112
34890
  "use strict";
35113
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CRDDetails\": () => (/* reexport safe */ _crd_details__WEBPACK_IMPORTED_MODULE_1__.CRDDetails),\n/* harmony export */ \"CustomResourceDefinitionResources\": () => (/* reexport safe */ _crd_resources__WEBPACK_IMPORTED_MODULE_2__.CustomResourceDefinitionResources),\n/* harmony export */ \"CustomResourceDefinitions\": () => (/* reexport safe */ _crd_list__WEBPACK_IMPORTED_MODULE_0__.CustomResourceDefinitions),\n/* harmony export */ \"CustomResourceDetails\": () => (/* reexport safe */ _crd_resource_details__WEBPACK_IMPORTED_MODULE_3__.CustomResourceDetails),\n/* harmony export */ \"crdGroupsUrlParam\": () => (/* reexport safe */ _crd_list__WEBPACK_IMPORTED_MODULE_0__.crdGroupsUrlParam)\n/* harmony export */ });\n/* harmony import */ var _crd_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./crd-list */ \"./src/renderer/components/+custom-resources/crd-list.tsx\");\n/* harmony import */ var _crd_details__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./crd-details */ \"./src/renderer/components/+custom-resources/crd-details.tsx\");\n/* harmony import */ var _crd_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./crd-resources */ \"./src/renderer/components/+custom-resources/crd-resources.tsx\");\n/* harmony import */ var _crd_resource_details__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./crd-resource-details */ \"./src/renderer/components/+custom-resources/crd-resource-details.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+custom-resources/index.ts?");
34891
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CRDDetails\": () => (/* reexport safe */ _crd_details__WEBPACK_IMPORTED_MODULE_1__.CRDDetails),\n/* harmony export */ \"CrdResources\": () => (/* reexport safe */ _crd_resources__WEBPACK_IMPORTED_MODULE_2__.CrdResources),\n/* harmony export */ \"CustomResourceDefinitions\": () => (/* reexport safe */ _crd_list__WEBPACK_IMPORTED_MODULE_0__.CustomResourceDefinitions),\n/* harmony export */ \"CustomResourceDetails\": () => (/* reexport safe */ _crd_resource_details__WEBPACK_IMPORTED_MODULE_3__.CustomResourceDetails),\n/* harmony export */ \"crdGroupsUrlParam\": () => (/* reexport safe */ _crd_list__WEBPACK_IMPORTED_MODULE_0__.crdGroupsUrlParam)\n/* harmony export */ });\n/* harmony import */ var _crd_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./crd-list */ \"./src/renderer/components/+custom-resources/crd-list.tsx\");\n/* harmony import */ var _crd_details__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./crd-details */ \"./src/renderer/components/+custom-resources/crd-details.tsx\");\n/* harmony import */ var _crd_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./crd-resources */ \"./src/renderer/components/+custom-resources/crd-resources.tsx\");\n/* harmony import */ var _crd_resource_details__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./crd-resource-details */ \"./src/renderer/components/+custom-resources/crd-resource-details.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+custom-resources/index.ts?");
35114
34892
 
35115
34893
  /***/ }),
35116
34894
 
@@ -35176,7 +34954,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35176
34954
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35177
34955
 
35178
34956
  "use strict";
35179
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"NamespaceSelectFilter\": () => (/* binding */ NamespaceSelectFilter)\n/* harmony export */ });\n/* harmony import */ var _namespace_select_filter_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./namespace-select-filter.scss */ \"./src/renderer/components/+namespaces/namespace-select-filter.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/index-75b02bac.browser.esm.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _namespace_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./namespace-select */ \"./src/renderer/components/+namespaces/namespace-select.tsx\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _namespace_select_filter_model_namespace_select_filter_model_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./namespace-select-filter-model/namespace-select-filter-model.injectable */ \"./src/renderer/components/+namespaces/namespace-select-filter-model/namespace-select-filter-model.injectable.ts\");\n/* harmony import */ var _namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./namespace-store/namespace-store.injectable */ \"./src/renderer/components/+namespaces/namespace-store/namespace-store.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\n\nconst NonInjectedNamespaceSelectFilter = (0,mobx_react__WEBPACK_IMPORTED_MODULE_7__.observer)(({ model }) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { onKeyUp: model.onKeyUp, onKeyDown: model.onKeyDown, onClick: model.onClick },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_namespace_select__WEBPACK_IMPORTED_MODULE_3__.NamespaceSelect, { isMulti: true, menuIsOpen: model.menuIsOpen, components: { Placeholder }, showAllNamespacesOption: true, closeMenuOnSelect: false, controlShouldRenderValue: false, placeholder: \"\", onChange: model.onChange, onBlur: model.reset, formatOptionLabel: formatOptionLabelFor(model), className: \"NamespaceSelectFilter\", menuClass: \"NamespaceSelectFilterMenu\", sort: (left, right) => +model.selectedNames.has(right.value)\n - +model.selectedNames.has(left.value) }))));\nconst formatOptionLabelFor = (model) => ({ value: namespace, label }) => {\n if (namespace) {\n const isSelected = model.isSelected(namespace);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { small: true, material: \"layers\" }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", null, namespace),\n isSelected && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { small: true, material: \"check\", className: \"box right\" })));\n }\n return label;\n};\nconst NamespaceSelectFilter = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__.withInjectables)(NonInjectedNamespaceSelectFilter, {\n getProps: (di, props) => ({\n model: di.inject(_namespace_select_filter_model_namespace_select_filter_model_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n ...props,\n }),\n});\nconst NonInjectedPlaceholder = (0,mobx_react__WEBPACK_IMPORTED_MODULE_7__.observer)(({ namespaceStore, ...props }) => {\n const getPlaceholder = () => {\n const namespaces = namespaceStore.contextNamespaces;\n if (namespaceStore.areAllSelectedImplicitly || namespaces.length === 0) {\n return \"All namespaces\";\n }\n const prefix = namespaces.length === 1\n ? \"Namespace\"\n : \"Namespaces\";\n return `${prefix}: ${namespaces.join(\", \")}`;\n };\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_select__WEBPACK_IMPORTED_MODULE_8__.F.Placeholder, { ...props }, getPlaceholder()));\n});\nconst Placeholder = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__.withInjectables)(NonInjectedPlaceholder, {\n getProps: (di, props) => ({\n namespaceStore: di.inject(_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n ...props,\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+namespaces/namespace-select-filter.tsx?");
34957
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"NamespaceSelectFilter\": () => (/* binding */ NamespaceSelectFilter)\n/* harmony export */ });\n/* harmony import */ var _namespace_select_filter_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./namespace-select-filter.scss */ \"./src/renderer/components/+namespaces/namespace-select-filter.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/index-75b02bac.browser.esm.js\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _namespace_select__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./namespace-select */ \"./src/renderer/components/+namespaces/namespace-select.tsx\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _namespace_select_filter_model_namespace_select_filter_model_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./namespace-select-filter-model/namespace-select-filter-model.injectable */ \"./src/renderer/components/+namespaces/namespace-select-filter-model/namespace-select-filter-model.injectable.ts\");\n/* harmony import */ var _namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./namespace-store/namespace-store.injectable */ \"./src/renderer/components/+namespaces/namespace-store/namespace-store.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\n\nconst NonInjectedNamespaceSelectFilter = (0,mobx_react__WEBPACK_IMPORTED_MODULE_7__.observer)(({ model }) => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { onKeyUp: model.onKeyUp, onKeyDown: model.onKeyDown, onClick: model.onClick },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_namespace_select__WEBPACK_IMPORTED_MODULE_3__.NamespaceSelect, { id: \"namespace-select-filter-input\", isMulti: true, menuIsOpen: model.menuIsOpen, components: { Placeholder }, showAllNamespacesOption: true, closeMenuOnSelect: false, controlShouldRenderValue: false, placeholder: \"\", onChange: model.onChange, onBlur: model.reset, formatOptionLabel: formatOptionLabelFor(model), className: \"NamespaceSelectFilter\", menuClass: \"NamespaceSelectFilterMenu\", sort: (left, right) => +model.selectedNames.has(right.value)\n - +model.selectedNames.has(left.value) }))));\nconst formatOptionLabelFor = (model) => ({ value: namespace, label }) => {\n if (namespace) {\n const isSelected = model.isSelected(namespace);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { small: true, material: \"layers\" }),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"span\", null, namespace),\n isSelected && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, { small: true, material: \"check\", className: \"box right\" })));\n }\n return label;\n};\nconst NamespaceSelectFilter = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__.withInjectables)(NonInjectedNamespaceSelectFilter, {\n getProps: (di, props) => ({\n model: di.inject(_namespace_select_filter_model_namespace_select_filter_model_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n ...props,\n }),\n});\nconst NonInjectedPlaceholder = (0,mobx_react__WEBPACK_IMPORTED_MODULE_7__.observer)(({ namespaceStore, ...props }) => {\n const getPlaceholder = () => {\n const namespaces = namespaceStore.contextNamespaces;\n if (namespaceStore.areAllSelectedImplicitly || namespaces.length === 0) {\n return \"All namespaces\";\n }\n const prefix = namespaces.length === 1\n ? \"Namespace\"\n : \"Namespaces\";\n return `${prefix}: ${namespaces.join(\", \")}`;\n };\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_select__WEBPACK_IMPORTED_MODULE_8__.F.Placeholder, { ...props }, getPlaceholder()));\n});\nconst Placeholder = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_4__.withInjectables)(NonInjectedPlaceholder, {\n getProps: (di, props) => ({\n namespaceStore: di.inject(_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n ...props,\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+namespaces/namespace-select-filter.tsx?");
35180
34958
 
35181
34959
  /***/ }),
35182
34960
 
@@ -35187,7 +34965,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35187
34965
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35188
34966
 
35189
34967
  "use strict";
35190
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"NamespaceSelect\": () => (/* binding */ NamespaceSelect)\n/* harmony export */ });\n/* harmony import */ var _namespace_select_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./namespace-select.scss */ \"./src/renderer/components/+namespaces/namespace-select.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../select */ \"./src/renderer/components/select/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./namespace-store/namespace-store.injectable */ \"./src/renderer/components/+namespaces/namespace-store/namespace-store.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n showIcons: true,\n};\nlet NonInjectedNamespaceSelect = class NonInjectedNamespaceSelect extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"formatOptionLabel\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (option) => {\n const { showIcons } = this.props;\n const { value, label } = option;\n return label || (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n showIcons && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_4__.Icon, { small: true, material: \"layers\" }),\n value));\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_7__.makeObservable)(this);\n }\n // No subscribe here because the subscribe is in <App /> (the cluster frame root component)\n get options() {\n const { customizeOptions, showAllNamespacesOption, sort } = this.props;\n let options = this.props.namespaceStore.items.map(ns => ({ value: ns.getName() }));\n if (sort) {\n options.sort(sort);\n }\n if (showAllNamespacesOption) {\n options.unshift({ label: \"All Namespaces\", value: \"\" });\n }\n if (customizeOptions) {\n options = customizeOptions(options);\n }\n return options;\n }\n render() {\n const { className, showIcons, customizeOptions, components = {}, namespaceStore, ...selectProps } = this.props;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_select__WEBPACK_IMPORTED_MODULE_2__.Select, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"NamespaceSelect\", className), menuClass: \"NamespaceSelectMenu\", formatOptionLabel: this.formatOptionLabel, options: this.options, components: components, ...selectProps }));\n }\n};\nObject.defineProperty(NonInjectedNamespaceSelect, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed.struct,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedNamespaceSelect.prototype, \"options\", null);\nNonInjectedNamespaceSelect = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_8__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedNamespaceSelect);\nconst NamespaceSelect = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__.withInjectables)(NonInjectedNamespaceSelect, {\n getProps: (di, props) => ({\n namespaceStore: di.inject(_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n ...props,\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+namespaces/namespace-select.tsx?");
34968
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"NamespaceSelect\": () => (/* binding */ NamespaceSelect)\n/* harmony export */ });\n/* harmony import */ var _namespace_select_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./namespace-select.scss */ \"./src/renderer/components/+namespaces/namespace-select.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../select */ \"./src/renderer/components/select/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./namespace-store/namespace-store.injectable */ \"./src/renderer/components/+namespaces/namespace-store/namespace-store.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n showIcons: true,\n};\nlet NonInjectedNamespaceSelect = class NonInjectedNamespaceSelect extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"formatOptionLabel\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (option) => {\n const { showIcons } = this.props;\n const { value, label } = option;\n return label || (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n showIcons && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_4__.Icon, { small: true, material: \"layers\" }),\n value));\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_7__.makeObservable)(this);\n }\n // No subscribe here because the subscribe is in <App /> (the cluster frame root component)\n get options() {\n const { customizeOptions, showAllNamespacesOption, sort } = this.props;\n let options = this.props.namespaceStore.items.map(ns => ({ value: ns.getName() }));\n if (sort) {\n options.sort(sort);\n }\n if (showAllNamespacesOption) {\n options.unshift({ label: \"All Namespaces\", value: \"\" });\n }\n if (customizeOptions) {\n options = customizeOptions(options);\n }\n return options;\n }\n render() {\n const { className, showIcons, customizeOptions, components = {}, namespaceStore, ...selectProps } = this.props;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_select__WEBPACK_IMPORTED_MODULE_2__.Select, { id: \"namespace-input\", className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cssNames)(\"NamespaceSelect\", className), menuClass: \"NamespaceSelectMenu\", formatOptionLabel: this.formatOptionLabel, options: this.options, components: components, ...selectProps }));\n }\n};\nObject.defineProperty(NonInjectedNamespaceSelect, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_7__.computed.struct,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedNamespaceSelect.prototype, \"options\", null);\nNonInjectedNamespaceSelect = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_8__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedNamespaceSelect);\nconst NamespaceSelect = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_5__.withInjectables)(NonInjectedNamespaceSelect, {\n getProps: (di, props) => ({\n namespaceStore: di.inject(_namespace_store_namespace_store_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n ...props,\n }),\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/+namespaces/namespace-select.tsx?");
35191
34969
 
35192
34970
  /***/ }),
35193
34971
 
@@ -35407,7 +35185,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35407
35185
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35408
35186
 
35409
35187
  "use strict";
35410
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Button\": () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var _button_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button.scss */ \"./src/renderer/components/button/button.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nlet Button = class Button extends react__WEBPACK_IMPORTED_MODULE_1__.PureComponent {\n render() {\n const { waiting, label, primary, accent, plain, hidden, active, big, round, outlined, tooltip, light, children, ...btnProps } = this.props;\n if (hidden)\n return null;\n btnProps.className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Button\", btnProps.className, {\n waiting, primary, accent, plain, active, big, round, outlined, light,\n });\n // render as link\n if (this.props.href) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"a\", { ...btnProps },\n label,\n children));\n }\n // render as button\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"button\", { type: \"button\", ...btnProps },\n label,\n children));\n }\n};\nButton = __decorate([\n _tooltip__WEBPACK_IMPORTED_MODULE_3__.withTooltip\n], Button);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/button/button.tsx?");
35188
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Button\": () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var _button_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button.scss */ \"./src/renderer/components/button/button.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nlet Button = class Button extends react__WEBPACK_IMPORTED_MODULE_1__.PureComponent {\n render() {\n const { waiting, label, primary, accent, plain, hidden, active, big, round, outlined, tooltip, light, children, tooltipOverrideDisabled, ...btnProps } = this.props;\n if (hidden)\n return null;\n btnProps.className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Button\", btnProps.className, {\n waiting, primary, accent, plain, active, big, round, outlined, light,\n });\n // render as link\n if (this.props.href) {\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"a\", { ...btnProps },\n label,\n children));\n }\n // render as button\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"button\", { type: \"button\", ...btnProps },\n label,\n children));\n }\n};\nButton = __decorate([\n _tooltip__WEBPACK_IMPORTED_MODULE_3__.withTooltip\n], Button);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/button/button.tsx?");
35411
35189
 
35412
35190
  /***/ }),
35413
35191
 
@@ -35488,6 +35266,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35488
35266
 
35489
35267
  /***/ }),
35490
35268
 
35269
+ /***/ "./src/renderer/components/cluster-manager/cluster-view-route-parameters.injectable.ts":
35270
+ /*!*********************************************************************************************!*\
35271
+ !*** ./src/renderer/components/cluster-manager/cluster-view-route-parameters.injectable.ts ***!
35272
+ \*********************************************************************************************/
35273
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
35274
+
35275
+ "use strict";
35276
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _routes_route_path_parameters_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../routes/route-path-parameters.injectable */ \"./src/renderer/routes/route-path-parameters.injectable.ts\");\n/* harmony import */ var _common_front_end_routing_routes_cluster_view_cluster_view_route_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/front-end-routing/routes/cluster-view/cluster-view-route.injectable */ \"./src/common/front-end-routing/routes/cluster-view/cluster-view-route.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nconst clusterViewRouteParametersInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"cluster-view-route-parameters\",\n instantiate: (di) => {\n const route = di.inject(_common_front_end_routing_routes_cluster_view_cluster_view_route_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n const pathParameters = di.inject(_routes_route_path_parameters_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"], route);\n return {\n clusterId: (0,mobx__WEBPACK_IMPORTED_MODULE_3__.computed)(() => pathParameters.get().clusterId),\n };\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clusterViewRouteParametersInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/cluster-manager/cluster-view-route-parameters.injectable.ts?");
35277
+
35278
+ /***/ }),
35279
+
35491
35280
  /***/ "./src/renderer/components/command-palette/command-overlay.injectable.ts":
35492
35281
  /*!*******************************************************************************!*\
35493
35282
  !*** ./src/renderer/components/command-palette/command-overlay.injectable.ts ***!
@@ -36133,7 +35922,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36133
35922
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36134
35923
 
36135
35924
  "use strict";
36136
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Input\": () => (/* binding */ Input),\n/* harmony export */ \"InputValidators\": () => (/* binding */ InputValidators)\n/* harmony export */ });\n/* harmony import */ var _input_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./input.scss */ \"./src/renderer/components/input/input.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony import */ var _input_validators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./input_validators */ \"./src/renderer/components/input/input_validators.ts\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/isBoolean */ \"./node_modules/lodash/isBoolean.js\");\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\nconst { conditionalValidators, ...InputValidators } = _input_validators__WEBPACK_IMPORTED_MODULE_5__;\n\nconst defaultProps = {\n rows: 1,\n maxRows: 10000,\n showValidationLine: true,\n validators: [],\n blurOnEnter: true,\n};\nclass Input extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"input\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: null\n });\n Object.defineProperty(this, \"validators\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n focused: false,\n valid: true,\n validating: false,\n dirty: !!this.props.dirty,\n errors: [],\n submitted: false,\n }\n });\n Object.defineProperty(this, \"validationId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"setDirtyOnChange\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,lodash__WEBPACK_IMPORTED_MODULE_9__.debounce)(() => this.setDirty(), 500)\n });\n }\n componentWillUnmount() {\n this.setDirtyOnChange.cancel();\n }\n setValue(value = \"\") {\n if (value !== this.getValue()) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(this.input.constructor.prototype, \"value\").set;\n nativeInputValueSetter.call(this.input, value);\n const evt = new Event(\"input\", { bubbles: true });\n this.input.dispatchEvent(evt);\n }\n }\n getValue() {\n var _a, _b, _c;\n const { trim, value, defaultValue } = this.props;\n const rawValue = (_c = (_b = value !== null && value !== void 0 ? value : (_a = this.input) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaultValue) !== null && _c !== void 0 ? _c : \"\";\n return trim ? rawValue.trim() : rawValue;\n }\n focus() {\n this.input.focus();\n }\n blur() {\n this.input.blur();\n }\n select() {\n this.input.select();\n }\n autoFitHeight() {\n const { multiLine, rows, maxRows } = this.props;\n if (!multiLine) {\n return;\n }\n const textArea = this.input;\n const lineHeight = parseFloat(window.getComputedStyle(textArea).lineHeight);\n const rowsCount = (this.getValue().match(/\\n/g) || []).length + 1;\n const height = lineHeight * Math.min(Math.max(rowsCount, rows), maxRows);\n textArea.style.height = `${height}px`;\n }\n async validate() {\n var _a;\n const value = this.getValue();\n let validationId = (this.validationId = \"\"); // reset every time for async validators\n const asyncValidators = [];\n const errors = [];\n // run validators\n for (const validator of this.validators) {\n if (errors.length) {\n // stop validation check if there is an error already\n break;\n }\n const result = validator.validate(value, this.props);\n if (lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default()(result) && !result) {\n errors.push(this.getValidatorError(value, validator));\n }\n else if (result instanceof Promise) {\n if (!validationId) {\n this.validationId = validationId = lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default()(\"validation_id_\");\n }\n asyncValidators.push(result.then(() => null, // don't consider any valid result from promise since we interested in errors only\n // don't consider any valid result from promise since we interested in errors only\n error => this.getValidatorError(value, validator) || error));\n }\n }\n // save sync validators result first\n this.setValidation(errors);\n // handle async validators result\n if (asyncValidators.length > 0) {\n this.setState({ validating: true, valid: false });\n const asyncErrors = await Promise.all(asyncValidators);\n if (this.validationId === validationId) {\n this.setValidation(errors.concat(...asyncErrors.filter(err => err)));\n }\n }\n (_a = this.input) === null || _a === void 0 ? void 0 : _a.setCustomValidity(errors.length ? errors[0].toString() : \"\");\n }\n setValidation(errors) {\n this.setState({\n validating: false,\n valid: !errors.length,\n errors,\n });\n }\n getValidatorError(value, { message }) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(message))\n return message(value, this.props);\n return message || \"\";\n }\n setupValidators() {\n this.validators = conditionalValidators\n // add conditional validators if matches input props\n .filter(validator => validator.condition(this.props))\n // add custom validators\n .concat(this.props.validators)\n // debounce async validators\n .map(({ debounce, ...validator }) => {\n if (debounce)\n validator.validate = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.debouncePromise)(validator.validate, debounce);\n return validator;\n });\n // run validation\n this.validate();\n }\n setDirty(dirty = true) {\n this.setState({ dirty });\n }\n onFocus(evt) {\n const { onFocus, autoSelectOnFocus } = this.props;\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);\n if (autoSelectOnFocus)\n this.select();\n this.setState({ focused: true });\n }\n onBlur(evt) {\n var _a, _b;\n (_b = (_a = this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n this.setState({ focused: false });\n }\n onChange(evt) {\n var _a, _b;\n (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, evt.currentTarget.value, evt);\n this.validate();\n this.autoFitHeight();\n this.setDirtyOnChange();\n // re-render component when used as uncontrolled input\n // when used @defaultValue instead of @value changing real input.value doesn't call render()\n if (this.isUncontrolled && this.showMaxLenIndicator) {\n this.forceUpdate();\n }\n }\n onKeyDown(evt) {\n var _a, _b, _c, _d;\n (_b = (_a = this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n if (evt.shiftKey || evt.metaKey || evt.altKey || evt.ctrlKey || evt.repeat) {\n return;\n }\n if (evt.key === \"Enter\") {\n if (this.state.valid) {\n (_d = (_c = this.props).onSubmit) === null || _d === void 0 ? void 0 : _d.call(_c, this.getValue(), evt);\n this.setDirtyOnChange.cancel();\n this.setState({ submitted: true });\n if (this.input && typeof this.props.value !== \"string\") {\n this.input.value = \"\";\n }\n }\n else {\n this.setDirty();\n }\n if (this.props.blurOnEnter) {\n //pressing enter indicates that the edit is complete, we can unfocus now\n this.blur();\n }\n }\n }\n get showMaxLenIndicator() {\n const { maxLength, multiLine } = this.props;\n return maxLength && multiLine;\n }\n get isUncontrolled() {\n return this.props.value === undefined;\n }\n componentDidMount() {\n this.setupValidators();\n this.autoFitHeight();\n }\n componentDidUpdate(prevProps) {\n const { defaultValue, value, dirty, validators } = this.props;\n if (prevProps.value !== value || defaultValue !== prevProps.defaultValue) {\n if (!this.state.submitted) {\n this.validate();\n }\n else {\n this.setState({ submitted: false });\n }\n this.autoFitHeight();\n }\n if (prevProps.dirty !== dirty) {\n this.setDirty(dirty);\n }\n if (prevProps.validators !== validators) {\n this.setupValidators();\n }\n }\n get themeSelection() {\n const { theme } = this.props;\n if (!theme) {\n return {};\n }\n return {\n theme: true,\n round: true,\n black: theme === \"round-black\",\n };\n }\n bindRef(elem) {\n this.input = elem;\n }\n renderIcon(iconData) {\n if (typeof iconData === \"string\") {\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__.Icon, { material: iconData });\n }\n if (typeof iconData === \"function\") {\n return iconData({\n isDirty: Boolean(this.getValue()),\n });\n }\n return iconData;\n }\n render() {\n const { multiLine, showValidationLine, validators, theme, maxRows, children, showErrorsAsTooltip, maxLength, rows, disabled, autoSelectOnFocus, iconLeft, iconRight, contentRight, id, dirty: _dirty, // excluded from passing to input-element\n defaultValue, trim, blurOnEnter, ...inputProps } = this.props;\n const { focused, dirty, valid, validating, errors } = this.state;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Input\", this.props.className, {\n ...this.themeSelection,\n focused,\n disabled,\n invalid: !valid,\n dirty,\n validating,\n validatingLine: validating && showValidationLine,\n });\n // prepare input props\n Object.assign(inputProps, {\n className: \"input box grow\",\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n rows: multiLine ? (rows || 1) : null,\n ref: this.bindRef,\n spellCheck: \"false\",\n disabled,\n });\n const showErrors = errors.length > 0 && !valid && dirty;\n const errorsInfo = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"errors box grow\" }, errors.map((error, i) => react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", { key: i }, error))));\n const componentId = id || showErrorsAsTooltip ? (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getRandId)({ prefix: \"input_tooltip_id\" }) : undefined;\n let tooltipError;\n if (showErrorsAsTooltip && showErrors) {\n const tooltipProps = typeof showErrorsAsTooltip === \"object\" ? showErrorsAsTooltip : {};\n tooltipProps.className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"InputTooltipError\", tooltipProps.className);\n tooltipError = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_4__.Tooltip, { targetId: componentId, ...tooltipProps },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__.Icon, { material: \"error_outline\" }),\n errorsInfo)));\n }\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { id: componentId, className: className },\n tooltipError,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"label\", { className: \"input-area flex gaps align-center\", id: \"\" },\n this.renderIcon(iconLeft),\n multiLine ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"textarea\", { ...inputProps }) : react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"input\", { ...inputProps }),\n this.renderIcon(iconRight),\n contentRight),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"input-info flex gaps\" },\n !showErrorsAsTooltip && showErrors && errorsInfo,\n this.showMaxLenIndicator && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"maxLengthIndicator box right\" },\n this.getValue().length,\n \" / \",\n maxLength)))));\n }\n}\nObject.defineProperty(Input, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onFocus\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onBlur\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onChange\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onKeyDown\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"bindRef\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/input/input.tsx?");
35925
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Input\": () => (/* binding */ Input),\n/* harmony export */ \"InputValidators\": () => (/* binding */ InputValidators)\n/* harmony export */ });\n/* harmony import */ var _input_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./input.scss */ \"./src/renderer/components/input/input.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony import */ var _input_validators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./input_validators */ \"./src/renderer/components/input/input_validators.ts\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/isBoolean */ \"./node_modules/lodash/isBoolean.js\");\n/* harmony import */ var lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_9__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\nconst { conditionalValidators, ...InputValidators } = _input_validators__WEBPACK_IMPORTED_MODULE_5__;\n\nconst defaultProps = {\n rows: 1,\n maxRows: 10000,\n showValidationLine: true,\n validators: [],\n blurOnEnter: true,\n};\nclass Input extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"input\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: null\n });\n Object.defineProperty(this, \"validators\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n Object.defineProperty(this, \"state\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n focused: false,\n valid: true,\n validating: false,\n dirty: !!this.props.dirty,\n errors: [],\n submitted: false,\n }\n });\n Object.defineProperty(this, \"validationId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"setDirtyOnChange\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (0,lodash__WEBPACK_IMPORTED_MODULE_9__.debounce)(() => this.setDirty(), 500)\n });\n }\n componentWillUnmount() {\n this.setDirtyOnChange.cancel();\n }\n setValue(value = \"\") {\n if (value !== this.getValue()) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(this.input.constructor.prototype, \"value\").set;\n nativeInputValueSetter.call(this.input, value);\n const evt = new Event(\"input\", { bubbles: true });\n this.input.dispatchEvent(evt);\n }\n }\n getValue() {\n var _a, _b, _c;\n const { trim, value, defaultValue } = this.props;\n const rawValue = (_c = (_b = value !== null && value !== void 0 ? value : (_a = this.input) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : defaultValue) !== null && _c !== void 0 ? _c : \"\";\n return trim ? rawValue.trim() : rawValue;\n }\n focus() {\n this.input.focus();\n }\n blur() {\n this.input.blur();\n }\n select() {\n this.input.select();\n }\n autoFitHeight() {\n const { multiLine, rows, maxRows } = this.props;\n if (!multiLine) {\n return;\n }\n const textArea = this.input;\n const lineHeight = parseFloat(window.getComputedStyle(textArea).lineHeight);\n const rowsCount = (this.getValue().match(/\\n/g) || []).length + 1;\n const height = lineHeight * Math.min(Math.max(rowsCount, rows), maxRows);\n textArea.style.height = `${height}px`;\n }\n async validate() {\n var _a;\n const value = this.getValue();\n let validationId = (this.validationId = \"\"); // reset every time for async validators\n const asyncValidators = [];\n const errors = [];\n // run validators\n for (const validator of this.validators) {\n if (errors.length) {\n // stop validation check if there is an error already\n break;\n }\n const result = validator.validate(value, this.props);\n if (lodash_isBoolean__WEBPACK_IMPORTED_MODULE_7___default()(result) && !result) {\n errors.push(this.getValidatorError(value, validator));\n }\n else if (result instanceof Promise) {\n if (!validationId) {\n this.validationId = validationId = lodash_uniqueId__WEBPACK_IMPORTED_MODULE_8___default()(\"validation_id_\");\n }\n asyncValidators.push(result.then(() => null, // don't consider any valid result from promise since we interested in errors only\n // don't consider any valid result from promise since we interested in errors only\n error => this.getValidatorError(value, validator) || error));\n }\n }\n // save sync validators result first\n this.setValidation(errors);\n // handle async validators result\n if (asyncValidators.length > 0) {\n this.setState({ validating: true, valid: false });\n const asyncErrors = await Promise.all(asyncValidators);\n if (this.validationId === validationId) {\n this.setValidation(errors.concat(...asyncErrors.filter(err => err)));\n }\n }\n (_a = this.input) === null || _a === void 0 ? void 0 : _a.setCustomValidity(errors.length ? errors[0].toString() : \"\");\n }\n setValidation(errors) {\n this.setState({\n validating: false,\n valid: !errors.length,\n errors,\n });\n }\n getValidatorError(value, { message }) {\n if (lodash_isFunction__WEBPACK_IMPORTED_MODULE_6___default()(message))\n return message(value, this.props);\n return message || \"\";\n }\n setupValidators() {\n this.validators = conditionalValidators\n // add conditional validators if matches input props\n .filter(validator => validator.condition(this.props))\n // add custom validators\n .concat(this.props.validators)\n // debounce async validators\n .map(({ debounce, ...validator }) => {\n if (debounce)\n validator.validate = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.debouncePromise)(validator.validate, debounce);\n return validator;\n });\n // run validation\n this.validate();\n }\n setDirty(dirty = true) {\n this.setState({ dirty });\n }\n onFocus(evt) {\n const { onFocus, autoSelectOnFocus } = this.props;\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(evt);\n if (autoSelectOnFocus)\n this.select();\n this.setState({ focused: true });\n }\n onBlur(evt) {\n var _a, _b;\n (_b = (_a = this.props).onBlur) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n this.setState({ focused: false });\n }\n onChange(evt) {\n var _a, _b;\n (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, evt.currentTarget.value, evt);\n this.validate();\n this.autoFitHeight();\n this.setDirtyOnChange();\n // re-render component when used as uncontrolled input\n // when used @defaultValue instead of @value changing real input.value doesn't call render()\n if (this.isUncontrolled && this.showMaxLenIndicator) {\n this.forceUpdate();\n }\n }\n onKeyDown(evt) {\n var _a, _b, _c, _d;\n (_b = (_a = this.props).onKeyDown) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n if (evt.shiftKey || evt.metaKey || evt.altKey || evt.ctrlKey || evt.repeat) {\n return;\n }\n if (evt.key === \"Enter\") {\n if (this.state.valid) {\n (_d = (_c = this.props).onSubmit) === null || _d === void 0 ? void 0 : _d.call(_c, this.getValue(), evt);\n this.setDirtyOnChange.cancel();\n this.setState({ submitted: true });\n if (this.input && typeof this.props.value !== \"string\") {\n this.input.value = \"\";\n }\n }\n else {\n this.setDirty();\n }\n if (this.props.blurOnEnter) {\n //pressing enter indicates that the edit is complete, we can unfocus now\n this.blur();\n }\n }\n }\n get showMaxLenIndicator() {\n const { maxLength, multiLine } = this.props;\n return maxLength && multiLine;\n }\n get isUncontrolled() {\n return this.props.value === undefined;\n }\n componentDidMount() {\n this.setupValidators();\n this.autoFitHeight();\n }\n componentDidUpdate(prevProps) {\n const { defaultValue, value, dirty, validators } = this.props;\n if (prevProps.value !== value || defaultValue !== prevProps.defaultValue) {\n if (!this.state.submitted) {\n this.validate();\n }\n else {\n this.setState({ submitted: false });\n }\n this.autoFitHeight();\n }\n if (prevProps.dirty !== dirty) {\n this.setDirty(dirty);\n }\n if (prevProps.validators !== validators) {\n this.setupValidators();\n }\n }\n get themeSelection() {\n const { theme } = this.props;\n if (!theme) {\n return {};\n }\n return {\n theme: true,\n round: true,\n black: theme === \"round-black\",\n };\n }\n bindRef(elem) {\n this.input = elem;\n }\n renderIcon(iconData) {\n if (typeof iconData === \"string\") {\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__.Icon, { material: iconData });\n }\n if (typeof iconData === \"function\") {\n return iconData({\n isDirty: Boolean(this.getValue()),\n });\n }\n return iconData;\n }\n render() {\n const { multiLine, showValidationLine, validators, theme, maxRows, children, showErrorsAsTooltip, maxLength, rows, disabled, autoSelectOnFocus, iconLeft, iconRight, contentRight, id, dirty: _dirty, // excluded from passing to input-element\n defaultValue, trim, blurOnEnter, ...inputProps } = this.props;\n const { focused, dirty, valid, validating, errors } = this.state;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Input\", this.props.className, {\n ...this.themeSelection,\n focused,\n disabled,\n invalid: !valid,\n dirty,\n validating,\n validatingLine: validating && showValidationLine,\n });\n // prepare input props\n Object.assign(inputProps, {\n className: \"input box grow\",\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n rows: multiLine ? (rows || 1) : null,\n ref: this.bindRef,\n spellCheck: \"false\",\n disabled,\n });\n const showErrors = errors.length > 0 && !valid && dirty;\n const errorsInfo = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"errors box grow\" }, errors.map((error, i) => react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", { key: i }, error))));\n // TODO: Remove side-effect to allow deterministic unit testing\n const componentId = id || showErrorsAsTooltip ? (0,_utils__WEBPACK_IMPORTED_MODULE_2__.getRandId)({ prefix: \"input_tooltip_id\" }) : undefined;\n let tooltipError;\n if (showErrorsAsTooltip && showErrors) {\n const tooltipProps = typeof showErrorsAsTooltip === \"object\" ? showErrorsAsTooltip : {};\n tooltipProps.className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"InputTooltipError\", tooltipProps.className);\n tooltipError = (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_4__.Tooltip, { targetId: componentId, ...tooltipProps },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"flex gaps align-center\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__.Icon, { material: \"error_outline\" }),\n errorsInfo)));\n }\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { id: componentId, className: className },\n tooltipError,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"label\", { className: \"input-area flex gaps align-center\", id: \"\" },\n this.renderIcon(iconLeft),\n multiLine ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"textarea\", { ...inputProps }) : react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"input\", { ...inputProps }),\n this.renderIcon(iconRight),\n contentRight),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"input-info flex gaps\" },\n !showErrorsAsTooltip && showErrors && errorsInfo,\n this.showMaxLenIndicator && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"maxLengthIndicator box right\" },\n this.getValue().length,\n \" / \",\n maxLength)))));\n }\n}\nObject.defineProperty(Input, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onFocus\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onBlur\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onChange\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"onKeyDown\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Input.prototype, \"bindRef\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/input/input.tsx?");
36137
35926
 
36138
35927
  /***/ }),
36139
35928
 
@@ -36320,7 +36109,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36320
36109
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36321
36110
 
36322
36111
  "use strict";
36323
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectListLayout\": () => (/* binding */ KubeObjectListLayout)\n/* harmony export */ });\n/* harmony import */ var _kube_object_list_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./kube-object-list-layout.scss */ \"./src/renderer/components/kube-object-list-layout/kube-object-list-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _item_object_list_list_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../item-object-list/list-layout */ \"./src/renderer/components/item-object-list/list-layout.tsx\");\n/* harmony import */ var _kube_object_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony import */ var _namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../+namespaces/namespace-select-filter */ \"./src/renderer/components/+namespaces/namespace-select-filter.tsx\");\n/* harmony import */ var _utils_rbac__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/rbac */ \"./src/renderer/utils/rbac.ts\");\n/* harmony import */ var _kube_detail_params__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _cluster_frame_context_cluster_frame_context_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../cluster-frame-context/cluster-frame-context.injectable */ \"./src/renderer/cluster-frame-context/cluster-frame-context.injectable.ts\");\n/* harmony import */ var _kube_watch_api_kube_watch_api_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../kube-watch-api/kube-watch-api.injectable */ \"./src/renderer/kube-watch-api/kube-watch-api.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n onDetails: (item) => (0,_kube_detail_params__WEBPACK_IMPORTED_MODULE_7__.toggleDetails)(item.selfLink),\n subscribeStores: true,\n};\nlet NonInjectedKubeObjectListLayout = class NonInjectedKubeObjectListLayout extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"loadErrors\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_13__.makeObservable)(this);\n }\n get selectedItem() {\n return this.props.store.getByPath(_kube_detail_params__WEBPACK_IMPORTED_MODULE_7__.kubeSelectedUrlParam.get());\n }\n componentDidMount() {\n const { store, dependentStores = [], subscribeStores } = this.props;\n const stores = Array.from(new Set([store, ...dependentStores]));\n const reactions = [\n (0,mobx__WEBPACK_IMPORTED_MODULE_13__.reaction)(() => this.props.clusterFrameContext.contextNamespaces.slice(), () => {\n // clear load errors\n this.loadErrors.length = 0;\n }),\n ];\n if (subscribeStores) {\n reactions.push(this.props.subscribeToStores(stores, {\n onLoadFailure: error => this.loadErrors.push(String(error)),\n }));\n }\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_14__.disposeOnUnmount)(this, reactions);\n }\n renderLoadErrors() {\n if (this.loadErrors.length === 0) {\n return null;\n }\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_8__.Icon, { material: \"warning\", className: \"load-error\", tooltip: {\n children: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, this.loadErrors.map((error, index) => react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", { key: index }, error)))),\n preferredPositions: _tooltip__WEBPACK_IMPORTED_MODULE_9__.TooltipPosition.BOTTOM,\n } }));\n }\n render() {\n const { className, customizeHeader, store, items, ...layoutProps } = this.props;\n const placeholderString = _utils_rbac__WEBPACK_IMPORTED_MODULE_6__.ResourceNames[_utils_rbac__WEBPACK_IMPORTED_MODULE_6__.ResourceKindMap[store.api.kind]] || store.api.kind;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_item_object_list_list_layout__WEBPACK_IMPORTED_MODULE_3__.ItemListLayout, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"KubeObjectListLayout\", className), store: store, getItems: () => this.props.items || store.contextItems, preloadStores: false, detailsItem: this.selectedItem, customizeHeader: [\n ({ filters, searchProps, info, ...headerPlaceHolders }) => ({\n filters: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n filters,\n store.api.isNamespaced && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_5__.NamespaceSelectFilter, null))),\n searchProps: {\n ...searchProps,\n placeholder: `Search ${placeholderString}...`,\n },\n info: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n info,\n this.renderLoadErrors())),\n ...headerPlaceHolders,\n }),\n ...[customizeHeader].flat(),\n ], renderItemMenu: item => react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_menu__WEBPACK_IMPORTED_MODULE_4__.KubeObjectMenu, { object: item }), ...layoutProps }));\n }\n};\nObject.defineProperty(NonInjectedKubeObjectListLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_13__.observable,\n __metadata(\"design:type\", Array)\n], NonInjectedKubeObjectListLayout.prototype, \"loadErrors\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_13__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedKubeObjectListLayout.prototype, \"selectedItem\", null);\nNonInjectedKubeObjectListLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_14__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedKubeObjectListLayout);\nconst InjectedKubeObjectListLayout = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10__.withInjectables)(NonInjectedKubeObjectListLayout, {\n getProps: (di, props) => ({\n clusterFrameContext: di.inject(_cluster_frame_context_cluster_frame_context_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n subscribeToStores: di.inject(_kube_watch_api_kube_watch_api_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]).subscribeStores,\n ...props,\n }),\n});\nfunction KubeObjectListLayout(props) {\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(InjectedKubeObjectListLayout, { ...props });\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx?");
36112
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KubeObjectListLayout\": () => (/* binding */ KubeObjectListLayout)\n/* harmony export */ });\n/* harmony import */ var _kube_object_list_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./kube-object-list-layout.scss */ \"./src/renderer/components/kube-object-list-layout/kube-object-list-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _item_object_list_list_layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../item-object-list/list-layout */ \"./src/renderer/components/item-object-list/list-layout.tsx\");\n/* harmony import */ var _kube_object_menu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../kube-object-menu */ \"./src/renderer/components/kube-object-menu/index.ts\");\n/* harmony import */ var _namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../+namespaces/namespace-select-filter */ \"./src/renderer/components/+namespaces/namespace-select-filter.tsx\");\n/* harmony import */ var _utils_rbac__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/rbac */ \"./src/renderer/utils/rbac.ts\");\n/* harmony import */ var _kube_detail_params__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../kube-detail-params */ \"./src/renderer/components/kube-detail-params/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../tooltip */ \"./src/renderer/components/tooltip/index.ts\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ogre-tools/injectable-react */ \"./node_modules/@ogre-tools/injectable-react/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _cluster_frame_context_cluster_frame_context_injectable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../cluster-frame-context/cluster-frame-context.injectable */ \"./src/renderer/cluster-frame-context/cluster-frame-context.injectable.ts\");\n/* harmony import */ var _kube_watch_api_kube_watch_api_injectable__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../kube-watch-api/kube-watch-api.injectable */ \"./src/renderer/kube-watch-api/kube-watch-api.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst defaultProps = {\n onDetails: (item) => (0,_kube_detail_params__WEBPACK_IMPORTED_MODULE_7__.toggleDetails)(item.selfLink),\n subscribeStores: true,\n};\nlet NonInjectedKubeObjectListLayout = class NonInjectedKubeObjectListLayout extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"loadErrors\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_13__.makeObservable)(this);\n }\n get selectedItem() {\n return this.props.store.getByPath(_kube_detail_params__WEBPACK_IMPORTED_MODULE_7__.kubeSelectedUrlParam.get());\n }\n componentDidMount() {\n const { store, dependentStores = [], subscribeStores } = this.props;\n const stores = Array.from(new Set([store, ...dependentStores]));\n const reactions = [\n (0,mobx__WEBPACK_IMPORTED_MODULE_13__.reaction)(() => this.props.clusterFrameContext.contextNamespaces.slice(), () => {\n // clear load errors\n this.loadErrors.length = 0;\n }),\n ];\n if (subscribeStores) {\n reactions.push(this.props.subscribeToStores(stores, {\n onLoadFailure: error => this.loadErrors.push(String(error)),\n }));\n }\n (0,mobx_react__WEBPACK_IMPORTED_MODULE_14__.disposeOnUnmount)(this, reactions);\n }\n renderLoadErrors() {\n if (this.loadErrors.length === 0) {\n return null;\n }\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_8__.Icon, { material: \"warning\", className: \"load-error\", tooltip: {\n children: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null, this.loadErrors.map((error, index) => react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"p\", { key: index }, error)))),\n preferredPositions: _tooltip__WEBPACK_IMPORTED_MODULE_9__.TooltipPosition.BOTTOM,\n } }));\n }\n render() {\n const { className, customizeHeader, store, items, ...layoutProps } = this.props;\n const placeholderString = _utils_rbac__WEBPACK_IMPORTED_MODULE_6__.ResourceNames[_utils_rbac__WEBPACK_IMPORTED_MODULE_6__.ResourceKindMap[store.api.kind]] || store.api.kind;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_item_object_list_list_layout__WEBPACK_IMPORTED_MODULE_3__.ItemListLayout, { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"KubeObjectListLayout\", className), store: store, getItems: () => this.props.items || store.contextItems, preloadStores: false, detailsItem: this.selectedItem, customizeHeader: [\n ({ filters, searchProps, info, ...headerPlaceHolders }) => ({\n filters: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n filters,\n store.api.isNamespaced && react__WEBPACK_IMPORTED_MODULE_1__.createElement(_namespaces_namespace_select_filter__WEBPACK_IMPORTED_MODULE_5__.NamespaceSelectFilter, { id: \"kube-object-list-layout-namespace-select-input\" }))),\n searchProps: {\n ...searchProps,\n placeholder: `Search ${placeholderString}...`,\n },\n info: (react__WEBPACK_IMPORTED_MODULE_1__.createElement(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, null,\n info,\n this.renderLoadErrors())),\n ...headerPlaceHolders,\n }),\n ...[customizeHeader].flat(),\n ], renderItemMenu: item => react__WEBPACK_IMPORTED_MODULE_1__.createElement(_kube_object_menu__WEBPACK_IMPORTED_MODULE_4__.KubeObjectMenu, { object: item }), ...layoutProps }));\n }\n};\nObject.defineProperty(NonInjectedKubeObjectListLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_13__.observable,\n __metadata(\"design:type\", Array)\n], NonInjectedKubeObjectListLayout.prototype, \"loadErrors\", void 0);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_13__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], NonInjectedKubeObjectListLayout.prototype, \"selectedItem\", null);\nNonInjectedKubeObjectListLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_14__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], NonInjectedKubeObjectListLayout);\nconst InjectedKubeObjectListLayout = (0,_ogre_tools_injectable_react__WEBPACK_IMPORTED_MODULE_10__.withInjectables)(NonInjectedKubeObjectListLayout, {\n getProps: (di, props) => ({\n clusterFrameContext: di.inject(_cluster_frame_context_cluster_frame_context_injectable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n subscribeToStores: di.inject(_kube_watch_api_kube_watch_api_injectable__WEBPACK_IMPORTED_MODULE_12__[\"default\"]).subscribeStores,\n ...props,\n }),\n});\nfunction KubeObjectListLayout(props) {\n return react__WEBPACK_IMPORTED_MODULE_1__.createElement(InjectedKubeObjectListLayout, { ...props });\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/kube-object-list-layout/kube-object-list-layout.tsx?");
36324
36113
 
36325
36114
  /***/ }),
36326
36115
 
@@ -36562,7 +36351,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36562
36351
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36563
36352
 
36564
36353
  "use strict";
36565
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SettingLayout\": () => (/* binding */ SettingLayout)\n/* harmony export */ });\n/* harmony import */ var _setting_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setting-layout.scss */ \"./src/renderer/components/layout/setting-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../navigation */ \"./src/renderer/navigation/index.ts\");\n/* harmony import */ var _common_routes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/routes */ \"./src/common/routes/index.ts\");\n/* harmony import */ var _close_button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./close-button */ \"./src/renderer/components/layout/close-button.tsx\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\nconst defaultProps = {\n provideBackButtonNavigation: true,\n contentGaps: true,\n back: () => {\n if (_navigation__WEBPACK_IMPORTED_MODULE_3__.navigation.length <= 1) {\n _navigation__WEBPACK_IMPORTED_MODULE_3__.navigation.push((0,_common_routes__WEBPACK_IMPORTED_MODULE_4__.catalogURL)());\n }\n else {\n _navigation__WEBPACK_IMPORTED_MODULE_3__.navigation.goBack();\n }\n },\n};\n/**\n * Layout for settings like pages with navigation\n */\nlet SettingLayout = class SettingLayout extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"onEscapeKey\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt) => {\n if (!this.props.provideBackButtonNavigation) {\n return;\n }\n if (evt.code === \"Escape\") {\n evt.stopPropagation();\n this.props.back(evt);\n }\n }\n });\n }\n async componentDidMount() {\n var _a;\n const { hash } = window.location;\n if (hash) {\n (_a = document.querySelector(hash)) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n }\n window.addEventListener(\"keydown\", this.onEscapeKey);\n }\n componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.onEscapeKey);\n }\n render() {\n const { contentClass, provideBackButtonNavigation, contentGaps, navigation, children, back, ...elemProps } = this.props;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"SettingLayout\", { showNavigation: navigation }, this.props.className);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: className },\n navigation && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"nav\", { className: \"sidebarRegion\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"sidebar\" }, navigation))),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"contentRegion\", id: \"ScrollSpyRoot\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"content\", contentClass, contentGaps && \"flex column gaps\") }, children),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"toolsRegion\" }, this.props.provideBackButtonNavigation && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"fixed top-[60px]\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_close_button__WEBPACK_IMPORTED_MODULE_5__.CloseButton, { onClick: back })))))));\n }\n};\nObject.defineProperty(SettingLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\nSettingLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_6__.observer\n], SettingLayout);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/layout/setting-layout.tsx?");
36354
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SettingLayout\": () => (/* binding */ SettingLayout)\n/* harmony export */ });\n/* harmony import */ var _setting_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setting-layout.scss */ \"./src/renderer/components/layout/setting-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _close_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./close-button */ \"./src/renderer/components/layout/close-button.tsx\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _common_front_end_routing_routes_catalog_navigate_to_catalog_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/front-end-routing/routes/catalog/navigate-to-catalog.injectable */ \"./src/common/front-end-routing/routes/catalog/navigate-to-catalog.injectable.ts\");\n/* harmony import */ var _navigation_observable_history_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../navigation/observable-history.injectable */ \"./src/renderer/navigation/observable-history.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\nconst defaultProps = {\n closeButtonProps: {},\n provideBackButtonNavigation: true,\n contentGaps: true,\n back: () => {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_4__.getLegacyGlobalDiForExtensionApi)();\n const navigateToCatalog = di.inject(_common_front_end_routing_routes_catalog_navigate_to_catalog_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n const observableHistory = di.inject(_navigation_observable_history_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n if (observableHistory.length <= 1) {\n navigateToCatalog();\n }\n else {\n observableHistory.goBack();\n }\n },\n};\n/**\n * Layout for settings like pages with navigation\n */\nlet SettingLayout = class SettingLayout extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"onEscapeKey\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: (evt) => {\n if (!this.props.provideBackButtonNavigation) {\n return;\n }\n if (evt.code === \"Escape\") {\n evt.stopPropagation();\n this.props.back(evt);\n }\n }\n });\n }\n async componentDidMount() {\n var _a;\n const { hash } = window.location;\n if (hash) {\n (_a = document.querySelector(hash)) === null || _a === void 0 ? void 0 : _a.scrollIntoView();\n }\n window.addEventListener(\"keydown\", this.onEscapeKey);\n }\n componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.onEscapeKey);\n }\n render() {\n const { contentClass, provideBackButtonNavigation, contentGaps, navigation, children, back, closeButtonProps, ...elemProps } = this.props;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"SettingLayout\", { showNavigation: navigation }, this.props.className);\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: className },\n navigation && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"nav\", { className: \"sidebarRegion\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"sidebar\" }, navigation))),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"contentRegion\", id: \"ScrollSpyRoot\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"content\", contentClass, contentGaps && \"flex column gaps\") }, children),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"toolsRegion\" }, this.props.provideBackButtonNavigation && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"fixed top-[60px]\" },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_close_button__WEBPACK_IMPORTED_MODULE_3__.CloseButton, { onClick: back, ...closeButtonProps })))))));\n }\n};\nObject.defineProperty(SettingLayout, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: defaultProps\n});\nSettingLayout = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_7__.observer\n], SettingLayout);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/layout/setting-layout.tsx?");
36566
36355
 
36567
36356
  /***/ }),
36568
36357
 
@@ -36588,6 +36377,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36588
36377
 
36589
36378
  /***/ }),
36590
36379
 
36380
+ /***/ "./src/renderer/components/layout/tab-layout-2.tsx":
36381
+ /*!*********************************************************!*\
36382
+ !*** ./src/renderer/components/layout/tab-layout-2.tsx ***!
36383
+ \*********************************************************/
36384
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36385
+
36386
+ "use strict";
36387
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"TabLayout\": () => (/* binding */ TabLayout)\n/* harmony export */ });\n/* harmony import */ var _tab_layout_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tab-layout.scss */ \"./src/renderer/components/layout/tab-layout.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../tabs */ \"./src/renderer/components/tabs/index.ts\");\n/* harmony import */ var _error_boundary__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../error-boundary */ \"./src/renderer/components/error-boundary/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\nconst TabLayout = (0,mobx_react__WEBPACK_IMPORTED_MODULE_5__.observer)(({ tabs = [], children, }) => {\n const hasTabs = tabs.length > 0;\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"TabLayout\"), \"data-testid\": \"tab-layout\" },\n hasTabs && (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tabs__WEBPACK_IMPORTED_MODULE_3__.Tabs, { center: true }, tabs.map(({ registration, isActive }) => {\n const active = isActive.get();\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(_tabs__WEBPACK_IMPORTED_MODULE_3__.Tab, { onClick: registration.onClick, key: registration.id, label: registration.title, active: active, \"data-is-active-test\": active, \"data-testid\": `tab-link-for-${registration.id}` }));\n }))),\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"main\", null,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(_error_boundary__WEBPACK_IMPORTED_MODULE_4__.ErrorBoundary, null, children))));\n});\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/layout/tab-layout-2.tsx?");
36388
+
36389
+ /***/ }),
36390
+
36591
36391
  /***/ "./src/renderer/components/layout/tab-layout.tsx":
36592
36392
  /*!*******************************************************!*\
36593
36393
  !*** ./src/renderer/components/layout/tab-layout.tsx ***!
@@ -36859,7 +36659,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
36859
36659
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36860
36660
 
36861
36661
  "use strict";
36862
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Select\": () => (/* binding */ Select)\n/* harmony export */ });\n/* harmony import */ var _select_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select.scss */ \"./src/renderer/components/select/select.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/index-75b02bac.browser.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var react_select_creatable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-select/creatable */ \"./node_modules/react-select/creatable/dist/react-select.browser.esm.js\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n// Wrapper for \"react-select\" component\n// API docs: https://react-select.com/\n\n\n\n\n\n\n\n\nconst { Menu } = react_select__WEBPACK_IMPORTED_MODULE_5__.F;\nlet Select = class Select extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"styles\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n menuPortal: styles => ({\n ...styles,\n zIndex: \"auto\",\n }),\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_6__.makeObservable)(this);\n }\n get themeClass() {\n const themeName = this.props.themeName || _theme_store__WEBPACK_IMPORTED_MODULE_3__.ThemeStore.getInstance().activeTheme.type;\n return `theme-${themeName}`;\n }\n isValidOption(opt) {\n return typeof opt === \"object\" && opt.value !== undefined;\n }\n get selectedOption() {\n const { value, isMulti } = this.props;\n if (isMulti) {\n return this.options.filter(opt => {\n const values = value ? [].concat(value) : [];\n return values.includes(opt) || values.includes(opt.value);\n });\n }\n return this.options.find(opt => opt === value || opt.value === value) || null;\n }\n get options() {\n const { autoConvertOptions, options } = this.props;\n if (autoConvertOptions && Array.isArray(options)) {\n return options.map(opt => {\n return this.isValidOption(opt) ? opt : { value: opt, label: String(opt) };\n });\n }\n return options;\n }\n onChange(value, meta) {\n if (this.props.onChange) {\n this.props.onChange(value, meta);\n }\n }\n onKeyDown(evt) {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(evt);\n }\n const escapeKey = evt.nativeEvent.code === \"Escape\";\n if (escapeKey)\n evt.stopPropagation(); // don't close the <Dialog/>\n }\n render() {\n var _a;\n const { className, menuClass, isCreatable, autoConvertOptions, value, options, components = {}, ...props } = this.props;\n const WrappedMenu = (_a = components.Menu) !== null && _a !== void 0 ? _a : Menu;\n const selectProps = {\n ...props,\n styles: this.styles,\n value: autoConvertOptions ? this.selectedOption : value,\n options: autoConvertOptions ? this.options : options,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"Select\", this.themeClass, className),\n classNamePrefix: \"Select\",\n components: {\n ...components,\n Menu: props => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(WrappedMenu, { ...props, className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(menuClass, this.themeClass, props.className) })),\n },\n };\n return isCreatable\n ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_select_creatable__WEBPACK_IMPORTED_MODULE_2__[\"default\"], { ...selectProps })\n : react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_select__WEBPACK_IMPORTED_MODULE_7__[\"default\"], { ...selectProps });\n }\n};\nObject.defineProperty(Select, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n autoConvertOptions: true,\n menuPortalTarget: document.body,\n menuPlacement: \"auto\",\n }\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_6__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Select.prototype, \"themeClass\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_6__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Select.prototype, \"selectedOption\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_6__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], Select.prototype, \"options\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_4__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", void 0)\n], Select.prototype, \"onChange\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_4__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Select.prototype, \"onKeyDown\", null);\nSelect = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_8__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], Select);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/select/select.tsx?");
36662
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Select\": () => (/* binding */ Select)\n/* harmony export */ });\n/* harmony import */ var _select_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./select.scss */ \"./src/renderer/components/select/select.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var mobx_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! mobx-react */ \"./node_modules/mobx-react/dist/mobxreact.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/index-75b02bac.browser.esm.js\");\n/* harmony import */ var react_select__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-select */ \"./node_modules/react-select/dist/react-select.browser.esm.js\");\n/* harmony import */ var react_select_creatable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-select/creatable */ \"./node_modules/react-select/creatable/dist/react-select.browser.esm.js\");\n/* harmony import */ var _theme_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../theme.store */ \"./src/renderer/theme.store.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n// Wrapper for \"react-select\" component\n// API docs: https://react-select.com/\n\n\n\n\n\n\n\n\nconst { Menu } = react_select__WEBPACK_IMPORTED_MODULE_5__.F;\nlet Select = class Select extends react__WEBPACK_IMPORTED_MODULE_1__.Component {\n constructor(props) {\n super(props);\n Object.defineProperty(this, \"styles\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n menuPortal: styles => ({\n ...styles,\n zIndex: \"auto\",\n }),\n }\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_6__.makeObservable)(this);\n }\n get themeClass() {\n const themeName = this.props.themeName || _theme_store__WEBPACK_IMPORTED_MODULE_3__.ThemeStore.getInstance().activeTheme.type;\n return `theme-${themeName}`;\n }\n isValidOption(opt) {\n return typeof opt === \"object\" && opt.value !== undefined;\n }\n get selectedOption() {\n const { value, isMulti } = this.props;\n if (isMulti) {\n return this.options.filter(opt => {\n const values = value ? [].concat(value) : [];\n return values.includes(opt) || values.includes(opt.value);\n });\n }\n return this.options.find(opt => opt === value || opt.value === value) || null;\n }\n get options() {\n const { autoConvertOptions, options } = this.props;\n if (autoConvertOptions && Array.isArray(options)) {\n return options.map(opt => {\n return this.isValidOption(opt) ? opt : { value: opt, label: String(opt) };\n });\n }\n return options;\n }\n onChange(value, meta) {\n if (this.props.onChange) {\n this.props.onChange(value, meta);\n }\n }\n onKeyDown(evt) {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(evt);\n }\n const escapeKey = evt.nativeEvent.code === \"Escape\";\n if (escapeKey)\n evt.stopPropagation(); // don't close the <Dialog/>\n }\n render() {\n var _a;\n const { className, menuClass, isCreatable, autoConvertOptions, value, options, components = {}, id: inputId, ...props } = this.props;\n const WrappedMenu = (_a = components.Menu) !== null && _a !== void 0 ? _a : Menu;\n const selectProps = {\n ...props,\n ...(inputId ? { inputId } : {}),\n styles: this.styles,\n value: autoConvertOptions ? this.selectedOption : value,\n options: autoConvertOptions ? this.options : options,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(\"Select\", this.themeClass, className),\n classNamePrefix: \"Select\",\n components: {\n ...components,\n Menu: props => (react__WEBPACK_IMPORTED_MODULE_1__.createElement(WrappedMenu, { ...props, className: (0,_utils__WEBPACK_IMPORTED_MODULE_4__.cssNames)(menuClass, this.themeClass, props.className) })),\n },\n };\n return isCreatable\n ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_select_creatable__WEBPACK_IMPORTED_MODULE_2__[\"default\"], { ...selectProps })\n : react__WEBPACK_IMPORTED_MODULE_1__.createElement(react_select__WEBPACK_IMPORTED_MODULE_7__[\"default\"], { ...selectProps });\n }\n};\nObject.defineProperty(Select, \"defaultProps\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: {\n autoConvertOptions: true,\n menuPortalTarget: document.body,\n menuPlacement: \"auto\",\n }\n});\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_6__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Select.prototype, \"themeClass\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_6__.computed,\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Select.prototype, \"selectedOption\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_6__.computed,\n __metadata(\"design:type\", Array),\n __metadata(\"design:paramtypes\", [])\n], Select.prototype, \"options\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_4__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", void 0)\n], Select.prototype, \"onChange\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_4__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Select.prototype, \"onKeyDown\", null);\nSelect = __decorate([\n mobx_react__WEBPACK_IMPORTED_MODULE_8__.observer,\n __metadata(\"design:paramtypes\", [Object])\n], Select);\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/select/select.tsx?");
36863
36663
 
36864
36664
  /***/ }),
36865
36665
 
@@ -37101,7 +36901,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37101
36901
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37102
36902
 
37103
36903
  "use strict";
37104
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Tab\": () => (/* binding */ Tab),\n/* harmony export */ \"Tabs\": () => (/* binding */ Tabs)\n/* harmony export */ });\n/* harmony import */ var _tabs_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tabs.scss */ \"./src/renderer/components/tabs/tabs.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\nconst TabsContext = react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nclass Tabs extends react__WEBPACK_IMPORTED_MODULE_1__.PureComponent {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n bindRef(elem) {\n this.elem = elem;\n }\n render() {\n const { center, wrap, onChange, value, autoFocus, scrollable = true, withBorder, ...elemProps } = this.props;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Tabs\", this.props.className, {\n center,\n wrap,\n scrollable,\n withBorder,\n });\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(TabsContext.Provider, { value: { autoFocus, value, onChange } },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: className, ref: this.bindRef })));\n }\n}\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [HTMLElement]),\n __metadata(\"design:returntype\", void 0)\n], Tabs.prototype, \"bindRef\", null);\nclass Tab extends react__WEBPACK_IMPORTED_MODULE_1__.PureComponent {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"ref\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: react__WEBPACK_IMPORTED_MODULE_1__.createRef()\n });\n }\n get isActive() {\n const { active, value } = this.props;\n return typeof active === \"boolean\" ? active : this.context.value === value;\n }\n focus() {\n var _a;\n (_a = this.ref.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n scrollIntoView() {\n var _a;\n if (typeof ((_a = this.ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoViewIfNeeded) === \"function\") {\n this.ref.current.scrollIntoViewIfNeeded();\n }\n }\n onClick(evt) {\n var _a, _b;\n const { value, active, disabled, onClick } = this.props;\n if (disabled || active) {\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(evt);\n (_b = (_a = this.context).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n onFocus(evt) {\n var _a, _b;\n (_b = (_a = this.props).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n this.scrollIntoView();\n }\n onKeyDown(evt) {\n var _a, _b, _c;\n if (evt.key === \" \" || evt.key === \"Enter\") {\n (_a = this.ref.current) === null || _a === void 0 ? void 0 : _a.click();\n }\n (_c = (_b = this.props).onKeyDown) === null || _c === void 0 ? void 0 : _c.call(_b, evt);\n }\n componentDidMount() {\n if (this.isActive && this.context.autoFocus) {\n this.focus();\n }\n }\n render() {\n const { active, disabled, icon, label, value, ...elemProps } = this.props;\n let { className } = this.props;\n className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Tab flex gaps align-center\", className, {\n \"active\": this.isActive,\n disabled,\n });\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: className, tabIndex: 0, onClick: this.onClick, onFocus: this.onFocus, onKeyDown: this.onKeyDown, role: \"tab\", ref: this.ref },\n typeof icon === \"string\" ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__.Icon, { small: true, material: icon }) : icon,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"label\" }, label)));\n }\n}\nObject.defineProperty(Tab, \"contextType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TabsContext\n});\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Tab.prototype, \"onClick\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Tab.prototype, \"onFocus\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Tab.prototype, \"onKeyDown\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tabs/tabs.tsx?");
36904
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Tab\": () => (/* binding */ Tab),\n/* harmony export */ \"Tabs\": () => (/* binding */ Tabs)\n/* harmony export */ });\n/* harmony import */ var _tabs_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tabs.scss */ \"./src/renderer/components/tabs/tabs.scss\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"./src/renderer/utils/index.ts\");\n/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icon */ \"./src/renderer/components/icon/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n\n\n\n\nconst TabsContext = react__WEBPACK_IMPORTED_MODULE_1__.createContext({});\nclass Tabs extends react__WEBPACK_IMPORTED_MODULE_1__.PureComponent {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"elem\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n }\n bindRef(elem) {\n this.elem = elem;\n }\n render() {\n const { center, wrap, onChange, value, autoFocus, scrollable = true, withBorder, ...elemProps } = this.props;\n const className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Tabs\", this.props.className, {\n center,\n wrap,\n scrollable,\n withBorder,\n });\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(TabsContext.Provider, { value: { autoFocus, value, onChange } },\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: className, ref: this.bindRef })));\n }\n}\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [HTMLElement]),\n __metadata(\"design:returntype\", void 0)\n], Tabs.prototype, \"bindRef\", null);\nclass Tab extends react__WEBPACK_IMPORTED_MODULE_1__.PureComponent {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"ref\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: react__WEBPACK_IMPORTED_MODULE_1__.createRef()\n });\n }\n get isActive() {\n const { active, value } = this.props;\n return typeof active === \"boolean\" ? active : this.context.value === value;\n }\n focus() {\n var _a;\n (_a = this.ref.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n scrollIntoView() {\n var _a, _b;\n // Note: .scrollIntoViewIfNeeded() is non-standard and thus not present in js-dom.\n (_b = (_a = this.ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoViewIfNeeded) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n onClick(evt) {\n var _a, _b;\n const { value, active, disabled, onClick } = this.props;\n if (disabled || active) {\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(evt);\n (_b = (_a = this.context).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n onFocus(evt) {\n var _a, _b;\n (_b = (_a = this.props).onFocus) === null || _b === void 0 ? void 0 : _b.call(_a, evt);\n this.scrollIntoView();\n }\n onKeyDown(evt) {\n var _a, _b, _c;\n if (evt.key === \" \" || evt.key === \"Enter\") {\n (_a = this.ref.current) === null || _a === void 0 ? void 0 : _a.click();\n }\n (_c = (_b = this.props).onKeyDown) === null || _c === void 0 ? void 0 : _c.call(_b, evt);\n }\n componentDidMount() {\n if (this.isActive && this.context.autoFocus) {\n this.focus();\n }\n }\n render() {\n const { active, disabled, icon, label, value, ...elemProps } = this.props;\n let { className } = this.props;\n className = (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cssNames)(\"Tab flex gaps align-center\", className, {\n \"active\": this.isActive,\n disabled,\n });\n return (react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { ...elemProps, className: className, tabIndex: 0, onClick: this.onClick, onFocus: this.onFocus, onKeyDown: this.onKeyDown, role: \"tab\", ref: this.ref },\n typeof icon === \"string\" ? react__WEBPACK_IMPORTED_MODULE_1__.createElement(_icon__WEBPACK_IMPORTED_MODULE_3__.Icon, { small: true, material: icon }) : icon,\n react__WEBPACK_IMPORTED_MODULE_1__.createElement(\"div\", { className: \"label\" }, label)));\n }\n}\nObject.defineProperty(Tab, \"contextType\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: TabsContext\n});\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Tab.prototype, \"onClick\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Tab.prototype, \"onFocus\", null);\n__decorate([\n _utils__WEBPACK_IMPORTED_MODULE_2__.boundMethod,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], Tab.prototype, \"onKeyDown\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tabs/tabs.tsx?");
37105
36905
 
37106
36906
  /***/ }),
37107
36907
 
@@ -37134,7 +36934,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37134
36934
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37135
36935
 
37136
36936
  "use strict";
37137
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"withTooltip\": () => (/* binding */ withTooltip)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tooltip */ \"./src/renderer/components/tooltip/tooltip.tsx\");\n/* harmony import */ var _utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Tooltip decorator for simple composition with other components\n\n\n\n\n\nfunction withTooltip(Target) {\n var _a;\n const DecoratedComponent = (_a = class extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n constructor() {\n super(...arguments);\n Object.defineProperty(this, \"tooltipId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default()(\"tooltip_target_\")\n });\n }\n render() {\n const { tooltip, tooltipOverrideDisabled, ...targetProps } = this.props;\n if (tooltip) {\n const tooltipId = targetProps.id || this.tooltipId;\n const tooltipProps = {\n targetId: tooltipId,\n tooltipOnParentHover: tooltipOverrideDisabled,\n formatters: { narrow: true },\n ...((0,_utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__.isReactNode)(tooltip) ? { children: tooltip } : tooltip),\n };\n targetProps.id = tooltipId;\n targetProps.children = (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, targetProps.children),\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_2__.Tooltip, { ...tooltipProps })));\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Target, { ...targetProps });\n }\n },\n Object.defineProperty(_a, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `withTooltip(${Target.displayName || Target.name})`\n }),\n _a);\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default()(DecoratedComponent, Target);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tooltip/withTooltip.tsx?");
36937
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"withTooltip\": () => (/* binding */ withTooltip)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tooltip */ \"./src/renderer/components/tooltip/tooltip.tsx\");\n/* harmony import */ var _utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/isReactNode */ \"./src/renderer/utils/isReactNode.ts\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/uniqueId */ \"./node_modules/lodash/uniqueId.js\");\n/* harmony import */ var lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Tooltip decorator for simple composition with other components\n\n\n\n\n\nfunction withTooltip(Target) {\n var _a;\n const DecoratedComponent = (_a = class extends react__WEBPACK_IMPORTED_MODULE_0__.Component {\n constructor() {\n super(...arguments);\n // TODO: Remove side-effect to allow deterministic unit testing\n Object.defineProperty(this, \"tooltipId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lodash_uniqueId__WEBPACK_IMPORTED_MODULE_4___default()(\"tooltip_target_\")\n });\n }\n render() {\n const { tooltip, tooltipOverrideDisabled, ...targetProps } = this.props;\n if (tooltip) {\n const tooltipId = targetProps.id || this.tooltipId;\n const tooltipProps = {\n targetId: tooltipId,\n tooltipOnParentHover: tooltipOverrideDisabled,\n formatters: { narrow: true },\n ...((0,_utils_isReactNode__WEBPACK_IMPORTED_MODULE_3__.isReactNode)(tooltip) ? { children: tooltip } : tooltip),\n };\n targetProps.id = tooltipId;\n targetProps.children = (react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null,\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, targetProps.children),\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(_tooltip__WEBPACK_IMPORTED_MODULE_2__.Tooltip, { ...tooltipProps })));\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Target, { ...targetProps });\n }\n },\n Object.defineProperty(_a, \"displayName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: `withTooltip(${Target.displayName || Target.name})`\n }),\n _a);\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default()(DecoratedComponent, Target);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/components/tooltip/withTooltip.tsx?");
37138
36938
 
37139
36939
  /***/ }),
37140
36940
 
@@ -37222,7 +37022,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37222
37022
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37223
37023
 
37224
37024
  "use strict";
37225
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"IpcRendererNavigationEvents\": () => (/* binding */ IpcRendererNavigationEvents),\n/* harmony export */ \"bindEvents\": () => (/* binding */ bindEvents)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/renderer/navigation/helpers.ts\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../main/logger */ \"./src/main/logger.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nvar IpcRendererNavigationEvents;\n(function (IpcRendererNavigationEvents) {\n IpcRendererNavigationEvents[\"RELOAD_PAGE\"] = \"renderer:page-reload\";\n IpcRendererNavigationEvents[\"CLUSTER_VIEW_CURRENT_ID\"] = \"renderer:cluster-id-of-active-view\";\n IpcRendererNavigationEvents[\"NAVIGATE_IN_APP\"] = \"renderer:navigate\";\n IpcRendererNavigationEvents[\"NAVIGATE_IN_CLUSTER\"] = \"renderer:navigate-in-cluster\";\n IpcRendererNavigationEvents[\"LOADED\"] = \"renderer:loaded\";\n})(IpcRendererNavigationEvents || (IpcRendererNavigationEvents = {}));\nfunction bindEvents() {\n if (!electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n return;\n }\n if (process.isMainFrame) {\n bindClusterManagerRouteEvents();\n }\n else {\n bindClusterFrameRouteEvents();\n }\n // Reload dashboard window\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_2__.ipcRendererOn)(IpcRendererNavigationEvents.RELOAD_PAGE, () => {\n location.reload();\n });\n}\n// Handle events only in main window renderer process (see also: cluster-manager.tsx)\nfunction bindClusterManagerRouteEvents() {\n // Keep track of active cluster-id for handling IPC/menus/etc.\n (0,mobx__WEBPACK_IMPORTED_MODULE_4__.reaction)(() => (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.getMatchedClusterId)(), clusterId => {\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_2__.broadcastMessage)(IpcRendererNavigationEvents.CLUSTER_VIEW_CURRENT_ID, clusterId);\n }, {\n fireImmediately: true,\n });\n // Handle navigation via IPC\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_2__.ipcRendererOn)(IpcRendererNavigationEvents.NAVIGATE_IN_APP, (event, url) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[IPC]: navigate to ${url}`, { currentLocation: location.href });\n (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.navigate)(url);\n window.focus(); // make sure that the main frame is focused\n });\n}\n// Handle cluster-view renderer process events within iframes\nfunction bindClusterFrameRouteEvents() {\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_2__.ipcRendererOn)(IpcRendererNavigationEvents.NAVIGATE_IN_CLUSTER, (event, url) => {\n _main_logger__WEBPACK_IMPORTED_MODULE_3__[\"default\"].info(`[IPC]: navigate to ${url}`, { currentLocation: location.href });\n (0,_helpers__WEBPACK_IMPORTED_MODULE_1__.navigate)(url);\n });\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/events.ts?");
37025
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"IpcRendererNavigationEvents\": () => (/* binding */ IpcRendererNavigationEvents),\n/* harmony export */ \"bindEvents\": () => (/* binding */ bindEvents)\n/* harmony export */ });\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! electron */ \"electron\");\n/* harmony import */ var electron__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(electron__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _common_ipc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/ipc */ \"./src/common/ipc/index.ts\");\n/* harmony import */ var _extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api */ \"./src/extensions/as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api.ts\");\n/* harmony import */ var _matched_cluster_id_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./matched-cluster-id.injectable */ \"./src/renderer/navigation/matched-cluster-id.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nvar IpcRendererNavigationEvents;\n(function (IpcRendererNavigationEvents) {\n IpcRendererNavigationEvents[\"RELOAD_PAGE\"] = \"renderer:page-reload\";\n IpcRendererNavigationEvents[\"CLUSTER_VIEW_CURRENT_ID\"] = \"renderer:cluster-id-of-active-view\";\n IpcRendererNavigationEvents[\"NAVIGATE_IN_APP\"] = \"renderer:navigate\";\n IpcRendererNavigationEvents[\"NAVIGATE_IN_CLUSTER\"] = \"renderer:navigate-in-cluster\";\n IpcRendererNavigationEvents[\"LOADED\"] = \"renderer:loaded\";\n})(IpcRendererNavigationEvents || (IpcRendererNavigationEvents = {}));\nfunction bindEvents() {\n if (!electron__WEBPACK_IMPORTED_MODULE_0__.ipcRenderer) {\n return;\n }\n if (process.isMainFrame) {\n bindClusterManagerRouteEvents();\n }\n // Reload dashboard window\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_1__.ipcRendererOn)(IpcRendererNavigationEvents.RELOAD_PAGE, () => {\n location.reload();\n });\n}\n// Handle events only in main window renderer process (see also: cluster-manager.tsx)\nfunction bindClusterManagerRouteEvents() {\n const di = (0,_extensions_as_legacy_globals_for_extension_api_legacy_global_di_for_extension_api__WEBPACK_IMPORTED_MODULE_2__.getLegacyGlobalDiForExtensionApi)();\n const matchedClusterId = di.inject(_matched_cluster_id_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n // Keep track of active cluster-id for handling IPC/menus/etc.\n (0,mobx__WEBPACK_IMPORTED_MODULE_4__.reaction)(() => matchedClusterId.get(), clusterId => {\n (0,_common_ipc__WEBPACK_IMPORTED_MODULE_1__.broadcastMessage)(IpcRendererNavigationEvents.CLUSTER_VIEW_CURRENT_ID, clusterId);\n }, {\n fireImmediately: true,\n });\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/events.ts?");
37226
37026
 
37227
37027
  /***/ }),
37228
37028
 
@@ -37233,7 +37033,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37233
37033
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37234
37034
 
37235
37035
  "use strict";
37236
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createPageParam\": () => (/* binding */ createPageParam),\n/* harmony export */ \"getMatchedClusterId\": () => (/* binding */ getMatchedClusterId),\n/* harmony export */ \"isActiveRoute\": () => (/* binding */ isActiveRoute),\n/* harmony export */ \"matchRoute\": () => (/* binding */ matchRoute),\n/* harmony export */ \"navigate\": () => (/* binding */ navigate),\n/* harmony export */ \"navigateWithoutHistoryChange\": () => (/* binding */ navigateWithoutHistoryChange)\n/* harmony export */ });\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/esm/react-router.js\");\n/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./history */ \"./src/renderer/navigation/history.ts\");\n/* harmony import */ var _common_routes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../common/routes */ \"./src/common/routes/index.ts\");\n/* harmony import */ var _page_param__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./page-param */ \"./src/renderer/navigation/page-param.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nfunction navigate(location) {\n const currentLocation = (0,history__WEBPACK_IMPORTED_MODULE_3__.createPath)(_history__WEBPACK_IMPORTED_MODULE_0__.navigation.location);\n _history__WEBPACK_IMPORTED_MODULE_0__.navigation.push(location);\n const newLocation = (0,history__WEBPACK_IMPORTED_MODULE_3__.createPath)(_history__WEBPACK_IMPORTED_MODULE_0__.navigation.location);\n if (currentLocation === newLocation) {\n _history__WEBPACK_IMPORTED_MODULE_0__.navigation.goBack(); // prevent sequences of same url in history\n }\n}\nfunction navigateWithoutHistoryChange(location) {\n _history__WEBPACK_IMPORTED_MODULE_0__.navigation.merge(location, true);\n}\nfunction createPageParam(init) {\n return new _page_param__WEBPACK_IMPORTED_MODULE_2__.PageParam(init, _history__WEBPACK_IMPORTED_MODULE_0__.navigation);\n}\nfunction matchRoute(route) {\n return (0,react_router__WEBPACK_IMPORTED_MODULE_4__.matchPath)(_history__WEBPACK_IMPORTED_MODULE_0__.navigation.location.pathname, route);\n}\nfunction isActiveRoute(route) {\n return !!matchRoute(route);\n}\nfunction getMatchedClusterId() {\n const matched = (0,react_router__WEBPACK_IMPORTED_MODULE_4__.matchPath)(_history__WEBPACK_IMPORTED_MODULE_0__.navigation.location.pathname, {\n exact: true,\n path: _common_routes__WEBPACK_IMPORTED_MODULE_1__.clusterViewRoute.path,\n });\n return matched === null || matched === void 0 ? void 0 : matched.params.clusterId;\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/helpers.ts?");
37036
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createPageParam\": () => (/* binding */ createPageParam),\n/* harmony export */ \"isActiveRoute\": () => (/* binding */ isActiveRoute),\n/* harmony export */ \"matchRoute\": () => (/* binding */ matchRoute),\n/* harmony export */ \"navigate\": () => (/* binding */ navigate)\n/* harmony export */ });\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/esm/react-router.js\");\n/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./history */ \"./src/renderer/navigation/history.ts\");\n/* harmony import */ var _page_param__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-param */ \"./src/renderer/navigation/page-param.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nfunction navigate(location) {\n const currentLocation = (0,history__WEBPACK_IMPORTED_MODULE_2__.createPath)(_history__WEBPACK_IMPORTED_MODULE_0__.navigation.location);\n _history__WEBPACK_IMPORTED_MODULE_0__.navigation.push(location);\n const newLocation = (0,history__WEBPACK_IMPORTED_MODULE_2__.createPath)(_history__WEBPACK_IMPORTED_MODULE_0__.navigation.location);\n if (currentLocation === newLocation) {\n _history__WEBPACK_IMPORTED_MODULE_0__.navigation.goBack(); // prevent sequences of same url in history\n }\n}\nfunction createPageParam(init) {\n return new _page_param__WEBPACK_IMPORTED_MODULE_1__.PageParam(init, _history__WEBPACK_IMPORTED_MODULE_0__.navigation);\n}\nfunction matchRoute(route) {\n return (0,react_router__WEBPACK_IMPORTED_MODULE_3__.matchPath)(_history__WEBPACK_IMPORTED_MODULE_0__.navigation.location.pathname, route);\n}\nfunction isActiveRoute(route) {\n return !!matchRoute(route);\n}\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/helpers.ts?");
37237
37037
 
37238
37038
  /***/ }),
37239
37039
 
@@ -37266,7 +37066,29 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37266
37066
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37267
37067
 
37268
37068
  "use strict";
37269
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PageParam\": () => (/* reexport safe */ _page_param__WEBPACK_IMPORTED_MODULE_3__.PageParam),\n/* harmony export */ \"createPageParam\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_2__.createPageParam),\n/* harmony export */ \"getMatchedClusterId\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_2__.getMatchedClusterId),\n/* harmony export */ \"history\": () => (/* reexport safe */ _history__WEBPACK_IMPORTED_MODULE_1__.history),\n/* harmony export */ \"isActiveRoute\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_2__.isActiveRoute),\n/* harmony export */ \"matchRoute\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_2__.matchRoute),\n/* harmony export */ \"navigate\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_2__.navigate),\n/* harmony export */ \"navigateWithoutHistoryChange\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_2__.navigateWithoutHistoryChange),\n/* harmony export */ \"navigation\": () => (/* reexport safe */ _history__WEBPACK_IMPORTED_MODULE_1__.navigation),\n/* harmony export */ \"searchParamsOptions\": () => (/* reexport safe */ _history__WEBPACK_IMPORTED_MODULE_1__.searchParamsOptions)\n/* harmony export */ });\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ \"./src/renderer/navigation/events.ts\");\n/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./history */ \"./src/renderer/navigation/history.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers */ \"./src/renderer/navigation/helpers.ts\");\n/* harmony import */ var _page_param__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./page-param */ \"./src/renderer/navigation/page-param.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Navigation (renderer)\n\n\n\n\n(0,_events__WEBPACK_IMPORTED_MODULE_0__.bindEvents)();\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/index.ts?");
37069
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PageParam\": () => (/* reexport safe */ _page_param__WEBPACK_IMPORTED_MODULE_2__.PageParam),\n/* harmony export */ \"createPageParam\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_1__.createPageParam),\n/* harmony export */ \"history\": () => (/* reexport safe */ _history__WEBPACK_IMPORTED_MODULE_0__.history),\n/* harmony export */ \"isActiveRoute\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_1__.isActiveRoute),\n/* harmony export */ \"matchRoute\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_1__.matchRoute),\n/* harmony export */ \"navigate\": () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_1__.navigate),\n/* harmony export */ \"navigation\": () => (/* reexport safe */ _history__WEBPACK_IMPORTED_MODULE_0__.navigation),\n/* harmony export */ \"searchParamsOptions\": () => (/* reexport safe */ _history__WEBPACK_IMPORTED_MODULE_0__.searchParamsOptions)\n/* harmony export */ });\n/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./history */ \"./src/renderer/navigation/history.ts\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/renderer/navigation/helpers.ts\");\n/* harmony import */ var _page_param__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./page-param */ \"./src/renderer/navigation/page-param.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Navigation (renderer)\n\n\n\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/index.ts?");
37070
+
37071
+ /***/ }),
37072
+
37073
+ /***/ "./src/renderer/navigation/matched-cluster-id.injectable.ts":
37074
+ /*!******************************************************************!*\
37075
+ !*** ./src/renderer/navigation/matched-cluster-id.injectable.ts ***!
37076
+ \******************************************************************/
37077
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37078
+
37079
+ "use strict";
37080
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_cluster_manager_cluster_view_route_parameters_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/cluster-manager/cluster-view-route-parameters.injectable */ \"./src/renderer/components/cluster-manager/cluster-view-route-parameters.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst matchedClusterIdInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"matched-cluster-id\",\n instantiate: (di) => {\n const routeParameters = di.inject(_components_cluster_manager_cluster_view_route_parameters_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return routeParameters.clusterId;\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (matchedClusterIdInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/matched-cluster-id.injectable.ts?");
37081
+
37082
+ /***/ }),
37083
+
37084
+ /***/ "./src/renderer/navigation/observable-history.injectable.ts":
37085
+ /*!******************************************************************!*\
37086
+ !*** ./src/renderer/navigation/observable-history.injectable.ts ***!
37087
+ \******************************************************************/
37088
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37089
+
37090
+ "use strict";
37091
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./history */ \"./src/renderer/navigation/history.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst observableHistoryInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"observable-history\",\n causesSideEffects: true,\n instantiate: () => _history__WEBPACK_IMPORTED_MODULE_1__.navigation,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (observableHistoryInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/observable-history.injectable.ts?");
37270
37092
 
37271
37093
  /***/ }),
37272
37094
 
@@ -37277,7 +37099,95 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37277
37099
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37278
37100
 
37279
37101
  "use strict";
37280
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PageParam\": () => (/* binding */ PageParam)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n// Manage observable param from document's location.search\n\n// TODO: write tests\nclass PageParam {\n constructor(init, history) {\n Object.defineProperty(this, \"init\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: init\n });\n Object.defineProperty(this, \"history\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: history\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isMulti\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_0__.makeObservable)(this);\n const { prefix, name, defaultValue } = init;\n this.name = `${prefix !== null && prefix !== void 0 ? prefix : \"\"}${name}`; // actual prefixed URL-name\n this.isMulti = Array.isArray(defaultValue); // multi-values param\n }\n // should be a getter since `init.defaultValue` could be a getter too\n get defaultValue() {\n return this.init.defaultValue;\n }\n parse(values) {\n const { parse } = this.init;\n if (parse) {\n return parse(values);\n }\n // return as-is (\"string\"-value based params)\n return values;\n }\n stringify(value = this.get()) {\n const { stringify } = this.init;\n if (stringify) {\n return [stringify(value)].flat();\n }\n return [value].flat().map(String);\n }\n get() {\n var _a;\n return (_a = this.parse(this.getRaw())) !== null && _a !== void 0 ? _a : this.defaultValue;\n }\n set(value, { mergeGlobals = true, replaceHistory = false } = {}) {\n const search = this.toString({ mergeGlobals, value });\n this.history.merge({ search }, replaceHistory);\n }\n /**\n * Set stringified raw value(s) and update `document.location.search`\n * @param {string | string[]} value\n */\n setRaw(value) {\n const values = [value].flat();\n if (this.isMulti) {\n this.clear();\n values.forEach(value => {\n this.history.searchParams.append(this.name, value);\n });\n }\n else {\n this.history.searchParams.set(this.name, values[0]);\n }\n }\n /**\n * Get stringified raw value(s) from `document.location.search`\n */\n getRaw() {\n const values = this.history.searchParams.getAll(this.name);\n return this.isMulti ? values : values[0];\n }\n clear() {\n this.history.searchParams.delete(this.name);\n }\n toString({ withPrefix = true, mergeGlobals = true, value = this.get() } = {}) {\n let searchParams = new URLSearchParams();\n if (mergeGlobals) {\n searchParams = new URLSearchParams(this.history.searchParams);\n searchParams.delete(this.name);\n }\n this.stringify(value).forEach(value => {\n searchParams.append(this.name, value);\n });\n return `${withPrefix ? \"?\" : \"\"}${searchParams}`;\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", void 0)\n], PageParam.prototype, \"set\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], PageParam.prototype, \"setRaw\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], PageParam.prototype, \"clear\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/page-param.ts?");
37102
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"PageParam\": () => (/* binding */ PageParam)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\n// Manage observable param from document's location.search\n\n// TODO: write tests\nclass PageParam {\n constructor(init, history) {\n Object.defineProperty(this, \"init\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: init\n });\n Object.defineProperty(this, \"history\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: history\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"isMulti\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n (0,mobx__WEBPACK_IMPORTED_MODULE_0__.makeObservable)(this);\n const { name, defaultValue } = init;\n this.name = name;\n this.isMulti = Array.isArray(defaultValue); // multi-values param\n }\n // should be a getter since `init.defaultValue` could be a getter too\n get defaultValue() {\n return this.init.defaultValue;\n }\n parse(values) {\n const { parse } = this.init;\n if (parse) {\n return parse(values);\n }\n // return as-is (\"string\"-value based params)\n return values;\n }\n stringify(value = this.get()) {\n const { stringify } = this.init;\n if (stringify) {\n return [stringify(value)].flat();\n }\n return [value].flat().map(String);\n }\n get() {\n var _a;\n return (_a = this.parse(this.getRaw())) !== null && _a !== void 0 ? _a : this.defaultValue;\n }\n set(value, { mergeGlobals = true, replaceHistory = false } = {}) {\n const search = this.toString({ mergeGlobals, value });\n this.history.merge({ search }, replaceHistory);\n }\n /**\n * Set stringified raw value(s) and update `document.location.search`\n * @param {string | string[]} value\n */\n setRaw(value) {\n const values = [value].flat();\n if (this.isMulti) {\n this.clear();\n values.forEach(value => {\n this.history.searchParams.append(this.name, value);\n });\n }\n else {\n this.history.searchParams.set(this.name, values[0]);\n }\n }\n /**\n * Get stringified raw value(s) from `document.location.search`\n */\n getRaw() {\n const values = this.history.searchParams.getAll(this.name);\n return this.isMulti ? values : values[0];\n }\n clear() {\n this.history.searchParams.delete(this.name);\n }\n toString({ mergeGlobals = true, value = this.get() } = {}) {\n let searchParams = new URLSearchParams();\n if (mergeGlobals) {\n searchParams = new URLSearchParams(this.history.searchParams);\n searchParams.delete(this.name);\n }\n this.stringify(value).forEach(value => {\n searchParams.append(this.name, value);\n });\n return searchParams.toString();\n }\n}\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object, Object]),\n __metadata(\"design:returntype\", void 0)\n], PageParam.prototype, \"set\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], PageParam.prototype, \"setRaw\", null);\n__decorate([\n mobx__WEBPACK_IMPORTED_MODULE_0__.action,\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], PageParam.prototype, \"clear\", null);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/navigation/page-param.ts?");
37103
+
37104
+ /***/ }),
37105
+
37106
+ /***/ "./src/renderer/routes/all-routes.injectable.ts":
37107
+ /*!******************************************************!*\
37108
+ !*** ./src/renderer/routes/all-routes.injectable.ts ***!
37109
+ \******************************************************/
37110
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37111
+
37112
+ "use strict";
37113
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _extensions_renderer_extensions_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../extensions/renderer-extensions.injectable */ \"./src/extensions/renderer-extensions.injectable.ts\");\n/* harmony import */ var _common_front_end_routing_route_injection_token__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/front-end-routing/route-injection-token */ \"./src/common/front-end-routing/route-injection-token.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nconst allRoutesInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"all-routes\",\n instantiate: (di) => {\n const extensions = di.inject(_extensions_renderer_extensions_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n return (0,mobx__WEBPACK_IMPORTED_MODULE_4__.computed)(() => {\n const enabledExtensions = extensions.get();\n return di\n .injectMany(_common_front_end_routing_route_injection_token__WEBPACK_IMPORTED_MODULE_3__.routeInjectionToken)\n .filter((route) => (0,lodash_fp__WEBPACK_IMPORTED_MODULE_1__.overSome)([\n isNonExtensionRoute,\n isEnabledExtensionRouteFor(enabledExtensions),\n ])(route));\n });\n },\n});\nconst isNonExtensionRoute = (route) => !route.extension;\nconst isEnabledExtensionRouteFor = (enabledExtensions) => (route) => !!enabledExtensions.find((x) => x === route.extension);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (allRoutesInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/all-routes.injectable.ts?");
37114
+
37115
+ /***/ }),
37116
+
37117
+ /***/ "./src/renderer/routes/current-path.injectable.ts":
37118
+ /*!********************************************************!*\
37119
+ !*** ./src/renderer/routes/current-path.injectable.ts ***!
37120
+ \********************************************************/
37121
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37122
+
37123
+ "use strict";
37124
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _navigation_observable_history_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../navigation/observable-history.injectable */ \"./src/renderer/navigation/observable-history.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\nconst currentPathInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"current-path\",\n instantiate: (di) => {\n const observableHistory = di.inject(_navigation_observable_history_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.computed)(() => observableHistory.location.pathname);\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (currentPathInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/current-path.injectable.ts?");
37125
+
37126
+ /***/ }),
37127
+
37128
+ /***/ "./src/renderer/routes/currently-in-cluster-frame.injectable.ts":
37129
+ /*!**********************************************************************!*\
37130
+ !*** ./src/renderer/routes/currently-in-cluster-frame.injectable.ts ***!
37131
+ \**********************************************************************/
37132
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37133
+
37134
+ "use strict";
37135
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\nconst currentlyInClusterFrameInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"currently-in-cluster-frame\",\n instantiate: () => !process.isMainFrame,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (currentlyInClusterFrameInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/currently-in-cluster-frame.injectable.ts?");
37136
+
37137
+ /***/ }),
37138
+
37139
+ /***/ "./src/renderer/routes/extension-page-parameters.injectable.ts":
37140
+ /*!*********************************************************************!*\
37141
+ !*** ./src/renderer/routes/extension-page-parameters.injectable.ts ***!
37142
+ \*********************************************************************/
37143
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37144
+
37145
+ "use strict";
37146
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _ogre_tools_fp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @ogre-tools/fp */ \"./node_modules/@ogre-tools/fp/build/index.js\");\n/* harmony import */ var _ogre_tools_fp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_fp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../navigation */ \"./src/renderer/navigation/index.ts\");\n/* harmony import */ var _navigation_observable_history_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../navigation/observable-history.injectable */ \"./src/renderer/navigation/observable-history.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_4__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nconst extensionPageParametersInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"extension-page-parameters\",\n instantiate: (di, { registration }) => {\n const observableHistory = di.inject(_navigation_observable_history_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n return (0,_ogre_tools_fp__WEBPACK_IMPORTED_MODULE_1__.pipeline)(registration.params, (params) => (0,lodash_fp__WEBPACK_IMPORTED_MODULE_4__.toPairs)(params), (0,lodash_fp__WEBPACK_IMPORTED_MODULE_4__.map)(([key, value]) => [\n key,\n typeof value === \"string\"\n ? convertStringToPageParamInit(key, value)\n : convertPartialPageParamInitToFull(key, value),\n ]), (0,lodash_fp__WEBPACK_IMPORTED_MODULE_4__.map)(([key, value]) => [key, new _navigation__WEBPACK_IMPORTED_MODULE_2__.PageParam(value, observableHistory)]), (paramsTuple) => (0,lodash_fp__WEBPACK_IMPORTED_MODULE_4__.fromPairs)(paramsTuple));\n },\n lifecycle: _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.lifecycleEnum.keyedSingleton({\n getInstanceKey: (di, { extension, registration }) => `${extension.sanitizedExtensionId}-${registration === null || registration === void 0 ? void 0 : registration.id}`,\n }),\n});\nconst convertPartialPageParamInitToFull = (key, value) => ({\n name: key,\n defaultValue: value.defaultValue,\n stringify: value.stringify,\n parse: value.parse,\n});\nconst convertStringToPageParamInit = (key, value) => ({\n name: key,\n defaultValue: value,\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (extensionPageParametersInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/extension-page-parameters.injectable.ts?");
37147
+
37148
+ /***/ }),
37149
+
37150
+ /***/ "./src/renderer/routes/get-extension-route-id.ts":
37151
+ /*!*******************************************************!*\
37152
+ !*** ./src/renderer/routes/get-extension-route-id.ts ***!
37153
+ \*******************************************************/
37154
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37155
+
37156
+ "use strict";
37157
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getExtensionRouteId\": () => (/* binding */ getExtensionRouteId)\n/* harmony export */ });\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\nconst getExtensionRouteId = (extensionId, registrationId) => (registrationId ? `${extensionId}/${registrationId}` : extensionId);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/get-extension-route-id.ts?");
37158
+
37159
+ /***/ }),
37160
+
37161
+ /***/ "./src/renderer/routes/get-extension-route-path.ts":
37162
+ /*!*********************************************************!*\
37163
+ !*** ./src/renderer/routes/get-extension-route-path.ts ***!
37164
+ \*********************************************************/
37165
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37166
+
37167
+ "use strict";
37168
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getExtensionRoutePath\": () => (/* binding */ getExtensionRoutePath)\n/* harmony export */ });\n/* harmony import */ var _get_extension_route_id__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-extension-route-id */ \"./src/renderer/routes/get-extension-route-id.ts\");\n/* harmony import */ var _extensions_lens_extension__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../extensions/lens-extension */ \"./src/extensions/lens-extension.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\nconst getExtensionRoutePath = (extension, pageId) => {\n const routeId = (0,_get_extension_route_id__WEBPACK_IMPORTED_MODULE_0__.getExtensionRouteId)(extension.sanitizedExtensionId, pageId);\n return (0,_extensions_lens_extension__WEBPACK_IMPORTED_MODULE_1__.getSanitizedPath)(\"/extension\", routeId);\n};\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/get-extension-route-path.ts?");
37169
+
37170
+ /***/ }),
37171
+
37172
+ /***/ "./src/renderer/routes/route-path-parameters.injectable.ts":
37173
+ /*!*****************************************************************!*\
37174
+ !*** ./src/renderer/routes/route-path-parameters.injectable.ts ***!
37175
+ \*****************************************************************/
37176
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37177
+
37178
+ "use strict";
37179
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/esm/react-router.js\");\n/* harmony import */ var _current_path_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./current-path.injectable */ \"./src/renderer/routes/current-path.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\nconst routePathParametersInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"route-path-parameters\",\n instantiate: (di, route) => {\n const currentPath = di.inject(_current_path_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n // TODO: Reuse typing from route for accuracy\n return (0,mobx__WEBPACK_IMPORTED_MODULE_2__.computed)(() => {\n const match = (0,react_router__WEBPACK_IMPORTED_MODULE_3__.matchPath)(currentPath.get(), {\n path: route.path,\n exact: true,\n });\n return match ? match.params : {};\n });\n },\n lifecycle: _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.lifecycleEnum.keyedSingleton({\n getInstanceKey: (di, route) => route,\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (routePathParametersInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/route-path-parameters.injectable.ts?");
37180
+
37181
+ /***/ }),
37182
+
37183
+ /***/ "./src/renderer/routes/routes.injectable.ts":
37184
+ /*!**************************************************!*\
37185
+ !*** ./src/renderer/routes/routes.injectable.ts ***!
37186
+ \**************************************************/
37187
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37188
+
37189
+ "use strict";
37190
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _currently_in_cluster_frame_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./currently-in-cluster-frame.injectable */ \"./src/renderer/routes/currently-in-cluster-frame.injectable.ts\");\n/* harmony import */ var _all_routes_injectable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./all-routes.injectable */ \"./src/renderer/routes/all-routes.injectable.ts\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_3__);\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nconst routesInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"routes\",\n instantiate: (di) => {\n const allRoutes = di.inject(_all_routes_injectable__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n const currentlyInClusterFrame = di.inject(_currently_in_cluster_frame_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n return (0,mobx__WEBPACK_IMPORTED_MODULE_4__.computed)(() => allRoutes\n .get()\n .filter((0,lodash_fp__WEBPACK_IMPORTED_MODULE_3__.matches)({ clusterFrame: currentlyInClusterFrame }))\n .filter((route) => route.isEnabled.get()));\n },\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (routesInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/routes/routes.injectable.ts?");
37281
37191
 
37282
37192
  /***/ }),
37283
37193
 
@@ -37299,7 +37209,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37299
37209
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37300
37210
 
37301
37211
  "use strict";
37302
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _common_directory_for_lens_local_storage_directory_for_lens_local_storage_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable */ \"./src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts\");\n/* harmony import */ var _create_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create-storage */ \"./src/renderer/utils/create-storage/create-storage.ts\");\n/* harmony import */ var _common_fs_read_json_file_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/fs/read-json-file.injectable */ \"./src/common/fs/read-json-file.injectable.ts\");\n/* harmony import */ var _common_fs_write_json_file_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/fs/write-json-file.injectable */ \"./src/common/fs/write-json-file.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\nconst createStorageInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"create-storage\",\n instantiate: (di) => (0,_create_storage__WEBPACK_IMPORTED_MODULE_2__.createStorage)({\n readJsonFile: di.inject(_common_fs_read_json_file_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n writeJsonFile: di.inject(_common_fs_write_json_file_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]),\n directoryForLensLocalStorage: di.inject(_common_directory_for_lens_local_storage_directory_for_lens_local_storage_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createStorageInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/create-storage/create-storage.injectable.ts?");
37212
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @ogre-tools/injectable */ \"./node_modules/@ogre-tools/injectable/build/index.js\");\n/* harmony import */ var _ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _common_directory_for_lens_local_storage_directory_for_lens_local_storage_injectable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable */ \"./src/common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable.ts\");\n/* harmony import */ var _create_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create-storage */ \"./src/renderer/utils/create-storage/create-storage.ts\");\n/* harmony import */ var _common_fs_read_json_file_injectable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/fs/read-json-file.injectable */ \"./src/common/fs/read-json-file.injectable.ts\");\n/* harmony import */ var _common_fs_write_json_file_injectable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/fs/write-json-file.injectable */ \"./src/common/fs/write-json-file.injectable.ts\");\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _common_logger_injectable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/logger.injectable */ \"./src/common/logger.injectable.ts\");\n/* harmony import */ var _common_path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/path/get-absolute-path.injectable */ \"./src/common/path/get-absolute-path.injectable.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n\n\n\n\n\n\n\n\nconst createStorageInjectable = (0,_ogre_tools_injectable__WEBPACK_IMPORTED_MODULE_0__.getInjectable)({\n id: \"create-storage\",\n instantiate: (di) => (0,_create_storage__WEBPACK_IMPORTED_MODULE_2__.createStorage)({\n storage: (0,mobx__WEBPACK_IMPORTED_MODULE_7__.observable)({\n initialized: false,\n loaded: false,\n data: {}, // json-serializable\n }),\n readJsonFile: di.inject(_common_fs_read_json_file_injectable__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n writeJsonFile: di.inject(_common_fs_write_json_file_injectable__WEBPACK_IMPORTED_MODULE_4__[\"default\"]),\n logger: di.inject(_common_logger_injectable__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n directoryForLensLocalStorage: di.inject(_common_directory_for_lens_local_storage_directory_for_lens_local_storage_injectable__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n getAbsolutePath: di.inject(_common_path_get_absolute_path_injectable__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n }),\n});\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createStorageInjectable);\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/create-storage/create-storage.injectable.ts?");
37303
37213
 
37304
37214
  /***/ }),
37305
37215
 
@@ -37310,7 +37220,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
37310
37220
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
37311
37221
 
37312
37222
  "use strict";
37313
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createStorage\": () => (/* binding */ createStorage)\n/* harmony export */ });\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! path */ \"path\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/* harmony import */ var _main_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../main/logger */ \"./src/main/logger.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/utils */ \"./src/common/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Keeps window.localStorage state in external JSON-files.\n// Because app creates random port between restarts => storage session wiped out each time.\n\n\n\n\n\n\nconst storage = (0,mobx__WEBPACK_IMPORTED_MODULE_5__.observable)({\n initialized: false,\n loaded: false,\n data: {}, // json-serializable\n});\n/**\n * Creates a helper for saving data under the \"key\" intended for window.localStorage\n */\nconst createStorage = ({ directoryForLensLocalStorage, readJsonFile, writeJsonFile }) => (key, defaultValue) => {\n const { logPrefix } = _storageHelper__WEBPACK_IMPORTED_MODULE_1__.StorageHelper;\n if (!storage.initialized) {\n storage.initialized = true;\n (async () => {\n const filePath = path__WEBPACK_IMPORTED_MODULE_0___default().resolve(directoryForLensLocalStorage, `${(0,_common_utils__WEBPACK_IMPORTED_MODULE_4__.getHostedClusterId)() || \"app\"}.json`);\n try {\n storage.data = await readJsonFile(filePath);\n }\n // eslint-disable-next-line no-empty\n catch { }\n finally {\n if (!_common_vars__WEBPACK_IMPORTED_MODULE_3__.isTestEnv) {\n _main_logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"].info(`${logPrefix} loading finished for ${filePath}`);\n }\n storage.loaded = true;\n }\n // bind auto-saving data changes to %storage-file.json\n (0,mobx__WEBPACK_IMPORTED_MODULE_5__.reaction)(() => (0,mobx__WEBPACK_IMPORTED_MODULE_5__.toJS)(storage.data), saveFile, {\n delay: 250,\n equals: mobx__WEBPACK_IMPORTED_MODULE_5__.comparer.structural, // save only when something really changed\n });\n async function saveFile(state = {}) {\n _main_logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"].info(`${logPrefix} saving ${filePath}`);\n try {\n await writeJsonFile(filePath, state);\n }\n catch (error) {\n _main_logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"].error(`${logPrefix} saving failed: ${error}`, {\n json: state, jsonFilePath: filePath,\n });\n }\n }\n })()\n .catch(error => _main_logger__WEBPACK_IMPORTED_MODULE_2__[\"default\"].error(`${logPrefix} Failed to initialize storage: ${error}`));\n }\n return new _storageHelper__WEBPACK_IMPORTED_MODULE_1__.StorageHelper(key, {\n autoInit: true,\n defaultValue,\n storage: {\n async getItem(key) {\n await (0,mobx__WEBPACK_IMPORTED_MODULE_5__.when)(() => storage.loaded);\n return storage.data[key];\n },\n setItem(key, value) {\n storage.data[key] = value;\n },\n removeItem(key) {\n delete storage.data[key];\n },\n },\n });\n};\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/create-storage/create-storage.ts?");
37223
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createStorage\": () => (/* binding */ createStorage)\n/* harmony export */ });\n/* harmony import */ var mobx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mobx */ \"./node_modules/mobx/dist/mobx.esm.js\");\n/* harmony import */ var _storageHelper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../storageHelper */ \"./src/renderer/utils/storageHelper.ts\");\n/* harmony import */ var _common_vars__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/vars */ \"./src/common/vars.ts\");\n/* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/utils */ \"./src/common/utils/index.ts\");\n/**\n * Copyright (c) OpenLens Authors. All rights reserved.\n * Licensed under MIT License. See LICENSE in root directory for more information.\n */\n// Keeps window.localStorage state in external JSON-files.\n// Because app creates random port between restarts => storage session wiped out each time.\n\n\n\n\n/**\n * Creates a helper for saving data under the \"key\" intended for window.localStorage\n */\nconst createStorage = ({ storage, getAbsolutePath, logger, directoryForLensLocalStorage, readJsonFile, writeJsonFile }) => (key, defaultValue) => {\n const { logPrefix } = _storageHelper__WEBPACK_IMPORTED_MODULE_0__.StorageHelper;\n if (!storage.initialized) {\n storage.initialized = true;\n (async () => {\n const filePath = getAbsolutePath(directoryForLensLocalStorage, `${(0,_common_utils__WEBPACK_IMPORTED_MODULE_2__.getHostedClusterId)() || \"app\"}.json`);\n try {\n storage.data = (await readJsonFile(filePath));\n }\n // eslint-disable-next-line no-empty\n catch { }\n finally {\n if (!_common_vars__WEBPACK_IMPORTED_MODULE_1__.isTestEnv) {\n logger.info(`${logPrefix} loading finished for ${filePath}`);\n }\n storage.loaded = true;\n }\n // bind auto-saving data changes to %storage-file.json\n (0,mobx__WEBPACK_IMPORTED_MODULE_3__.reaction)(() => (0,mobx__WEBPACK_IMPORTED_MODULE_3__.toJS)(storage.data), saveFile, {\n delay: 250,\n equals: mobx__WEBPACK_IMPORTED_MODULE_3__.comparer.structural, // save only when something really changed\n });\n async function saveFile(state = {}) {\n logger.info(`${logPrefix} saving ${filePath}`);\n try {\n await writeJsonFile(filePath, state);\n }\n catch (error) {\n logger.error(`${logPrefix} saving failed: ${error}`, {\n json: state, jsonFilePath: filePath,\n });\n }\n }\n })()\n .catch(error => logger.error(`${logPrefix} Failed to initialize storage: ${error}`));\n }\n return new _storageHelper__WEBPACK_IMPORTED_MODULE_0__.StorageHelper(key, {\n autoInit: true,\n defaultValue,\n storage: {\n async getItem(key) {\n await (0,mobx__WEBPACK_IMPORTED_MODULE_3__.when)(() => storage.loaded);\n return storage.data[key];\n },\n setItem(key, value) {\n storage.data[key] = value;\n },\n removeItem(key) {\n delete storage.data[key];\n },\n },\n });\n};\n\n\n//# sourceURL=webpack://open-lens/./src/renderer/utils/create-storage/create-storage.ts?");
37314
37224
 
37315
37225
  /***/ }),
37316
37226
 
@@ -40916,7 +40826,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log
40916
40826
  /***/ ((module) => {
40917
40827
 
40918
40828
  "use strict";
40919
- eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.5.0-alpha.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch ./static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run ts-node webpack.dev-server.ts\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack.main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack.renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack.extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/build_tray_icon.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.2.1\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"<rootDir>/__mocks__/styleMock.ts\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.3\",\"@ogre-tools/injectable\":\"5.1.2\",\"@ogre-tools/injectable-react\":\"5.1.2\",\"@sentry/electron\":\"^2.5.4\",\"@sentry/integrations\":\"^6.19.2\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"autobind-decorator\":\"^2.4.0\",\"await-lock\":\"^2.1.0\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.5\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.12\",\"joi\":\"^17.6.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"jsonpath\":\"^1.1.1\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.12\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.1\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.16\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.0.0\",\"semver\":\"^7.3.2\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.6.0\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.5\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.4\",\"@sentry/types\":\"^6.19.2\",\"@testing-library/jest-dom\":\"^5.16.3\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.35\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.1\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.8\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.181\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.12\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.40\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.14\",\"@types/react-router-dom\":\"^5.3.2\",\"@types/react-select\":\"3.1.2\",\"@types/react-table\":\"^7.7.9\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.0\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.15.0\",\"@typescript-eslint/parser\":\"^5.16.0\",\"ansi_up\":\"^5.1.0\",\"mock-http\":\"^1.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.10.0\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.0.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.7\",\"electron-builder\":\"^22.14.13\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.27\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.11.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.25.4\",\"eslint-plugin-react\":\"^7.28.0\",\"eslint-plugin-react-hooks\":\"^4.3.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.5.2\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.20.1\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.3\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.3.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.49.9\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.29.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.7.4\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40829
+ eval("module.exports = JSON.parse('{\"name\":\"open-lens\",\"productName\":\"OpenLens\",\"description\":\"OpenLens - Open Source IDE for Kubernetes\",\"homepage\":\"https://github.com/lensapp/lens\",\"version\":\"5.5.0-alpha.0\",\"main\":\"static/build/main.js\",\"copyright\":\"© 2021 OpenLens Authors\",\"license\":\"MIT\",\"author\":{\"name\":\"OpenLens Authors\",\"email\":\"info@k8slens.dev\"},\"scripts\":{\"dev\":\"concurrently -i -k \\\\\"yarn run dev-run -C\\\\\" yarn:dev:*\",\"dev-build\":\"concurrently yarn:compile:*\",\"debug-build\":\"concurrently yarn:compile:main yarn:compile:extension-types\",\"dev-run\":\"nodemon --watch ./static/build/main.js --exec \\\\\"electron --remote-debugging-port=9223 --inspect .\\\\\"\",\"dev:main\":\"yarn run compile:main --watch --progress\",\"dev:renderer\":\"yarn run ts-node webpack.dev-server.ts\",\"compile\":\"env NODE_ENV=production concurrently yarn:compile:*\",\"compile:main\":\"yarn run webpack --config webpack.main.ts\",\"compile:renderer\":\"yarn run webpack --config webpack.renderer.ts\",\"compile:extension-types\":\"yarn run webpack --config webpack.extensions.ts\",\"npm:fix-build-version\":\"yarn run ts-node build/set_build_version.ts\",\"npm:fix-package-version\":\"yarn run ts-node build/set_npm_version.ts\",\"build:linux\":\"yarn run compile && electron-builder --linux --dir\",\"build:mac\":\"yarn run compile && electron-builder --mac --dir\",\"build:win\":\"yarn run compile && electron-builder --win --dir\",\"integration\":\"jest --runInBand --detectOpenHandles --forceExit integration\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.ts\",\"build:tray-icons\":\"yarn run ts-node build/build_tray_icon.ts\",\"build:theme-vars\":\"yarn run ts-node build/build_theme_vars.ts\",\"lint\":\"PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .\",\"lint:fix\":\"yarn run lint --fix\",\"mkdocs-serve-local\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest\",\"verify-docs\":\"docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -v ${PWD}:/docs mkdocs-serve-local:latest build --strict\",\"typedocs-extensions-api\":\"yarn run typedoc src/extensions/extension-api.ts\",\"version-checkout\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release/v%s\\\\\" | xargs git checkout -b\",\"version-commit\":\"cat package.json | jq \\'.version\\' -r | xargs printf \\\\\"release v%s\\\\\" | git commit --no-edit -s -F -\",\"version\":\"yarn run version-checkout && git add package.json && yarn run version-commit\",\"postversion\":\"git push --set-upstream ${GIT_REMOTE:-origin} release/v$npm_package_version\"},\"config\":{\"k8sProxyVersion\":\"0.2.1\",\"bundledKubectlVersion\":\"1.23.3\",\"bundledHelmVersion\":\"3.7.2\",\"sentryDsn\":\"\"},\"engines\":{\"node\":\">=14 <15\"},\"jest\":{\"collectCoverage\":false,\"verbose\":true,\"transform\":{\"^.+\\\\\\\\.tsx?$\":\"ts-jest\"},\"moduleNameMapper\":{\"\\\\\\\\.(css|scss)$\":\"<rootDir>/__mocks__/styleMock.ts\",\"\\\\\\\\.(svg|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.ts\"},\"modulePathIgnorePatterns\":[\"<rootDir>/dist\",\"<rootDir>/src/extensions/npm\"],\"setupFiles\":[\"<rootDir>/src/jest.setup.ts\",\"jest-canvas-mock\"],\"globals\":{\"ts-jest\":{\"isolatedModules\":true}}},\"build\":{\"generateUpdatesFilesForAllChannels\":true,\"files\":[\"static/build/main.js\"],\"afterSign\":\"build/notarize.js\",\"extraResources\":[{\"from\":\"locales/\",\"to\":\"locales/\",\"filter\":\"**/*.js\"},{\"from\":\"static/\",\"to\":\"static/\",\"filter\":\"!**/main.js\"},{\"from\":\"build/tray\",\"to\":\"static/icons\",\"filter\":\"*.png\"},{\"from\":\"extensions/\",\"to\":\"./extensions/\",\"filter\":[\"**/*.tgz\",\"**/package.json\",\"!**/node_modules\"]},{\"from\":\"templates/\",\"to\":\"./templates/\",\"filter\":\"**/*.yaml\"},\"LICENSE\"],\"linux\":{\"category\":\"Network\",\"artifactName\":\"${productName}-${version}.${arch}.${ext}\",\"target\":[\"deb\",\"rpm\",\"AppImage\"],\"extraResources\":[{\"from\":\"binaries/client/linux/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"rpm\":{\"fpm\":[\"--rpm-rpmbuild-define=%define _build_id_links none\"]},\"mac\":{\"hardenedRuntime\":true,\"gatekeeperAssess\":false,\"entitlements\":\"build/entitlements.mac.plist\",\"entitlementsInherit\":\"build/entitlements.mac.plist\",\"extraResources\":[{\"from\":\"binaries/client/darwin/${arch}/kubectl\",\"to\":\"./${arch}/kubectl\"},{\"from\":\"binaries/client/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.exe\"}]},\"nsis\":{\"include\":\"build/installer.nsh\",\"oneClick\":false,\"allowElevation\":true,\"createStartMenuShortcut\":true,\"allowToChangeInstallationDirectory\":true},\"protocols\":{\"name\":\"Lens Protocol Handler\",\"schemes\":[\"lens\"],\"role\":\"Viewer\"}},\"dependencies\":{\"@hapi/call\":\"^8.0.1\",\"@hapi/subtext\":\"^7.0.3\",\"@kubernetes/client-node\":\"^0.16.3\",\"@ogre-tools/injectable\":\"5.2.0\",\"@ogre-tools/injectable-react\":\"5.2.0\",\"@ogre-tools/fp\":\"5.2.0\",\"@sentry/electron\":\"^3.0.6\",\"@sentry/integrations\":\"^6.19.3\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"abort-controller\":\"^3.0.0\",\"auto-bind\":\"^4.0.0\",\"autobind-decorator\":\"^2.4.0\",\"await-lock\":\"^2.1.0\",\"byline\":\"^5.0.0\",\"chokidar\":\"^3.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"electron-window-state\":\"^5.0.3\",\"filehound\":\"^1.17.5\",\"fs-extra\":\"^9.0.1\",\"glob-to-regexp\":\"^0.4.1\",\"got\":\"^11.8.3\",\"grapheme-splitter\":\"^1.0.4\",\"handlebars\":\"^4.7.7\",\"http-proxy\":\"^1.18.1\",\"immer\":\"^9.0.12\",\"joi\":\"^17.6.0\",\"js-yaml\":\"^4.1.0\",\"jsdom\":\"^16.7.0\",\"jsonpath\":\"^1.1.1\",\"lodash\":\"^4.17.15\",\"mac-ca\":\"^1.0.6\",\"marked\":\"^4.0.12\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"mock-fs\":\"^5.1.2\",\"moment\":\"^2.29.1\",\"moment-timezone\":\"^0.5.34\",\"monaco-editor\":\"^0.29.1\",\"monaco-editor-webpack-plugin\":\"^5.0.0\",\"node-fetch\":\"lensapp/node-fetch#2.x\",\"node-pty\":\"^0.10.1\",\"npm\":\"^6.14.16\",\"p-limit\":\"^3.1.0\",\"path-to-regexp\":\"^6.2.0\",\"proper-lockfile\":\"^4.1.2\",\"react\":\"^17.0.2\",\"react-dom\":\"^17.0.2\",\"react-material-ui-carousel\":\"^2.3.11\",\"react-router\":\"^5.2.0\",\"react-virtualized-auto-sizer\":\"^1.0.6\",\"readable-stream\":\"^3.6.0\",\"request\":\"^2.88.2\",\"request-promise-native\":\"^1.0.9\",\"rfc6902\":\"^4.0.2\",\"selfsigned\":\"^2.0.1\",\"semver\":\"^7.3.2\",\"shell-env\":\"^3.0.1\",\"spdy\":\"^4.0.2\",\"tar\":\"^6.1.11\",\"tcp-port-used\":\"^1.0.2\",\"tempy\":\"1.0.1\",\"url-parse\":\"^1.5.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.6.0\",\"winston-console-format\":\"^1.0.8\",\"winston-transport-browserconsole\":\"^1.0.5\",\"ws\":\"^7.5.5\"},\"devDependencies\":{\"@async-fn/jest\":\"1.5.3\",\"@material-ui/core\":\"^4.12.3\",\"@material-ui/icons\":\"^4.11.2\",\"@material-ui/lab\":\"^4.0.0-alpha.60\",\"@pmmmwh/react-refresh-webpack-plugin\":\"^0.5.4\",\"@sentry/types\":\"^6.19.3\",\"@testing-library/jest-dom\":\"^5.16.3\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.36\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.1\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.8\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.181\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.12\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.43\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.14\",\"@types/react-router-dom\":\"^5.3.2\",\"@types/react-select\":\"3.1.2\",\"@types/react-table\":\"^7.7.9\",\"@types/react-virtualized-auto-sizer\":\"^1.0.1\",\"@types/react-window\":\"^1.8.5\",\"@types/readable-stream\":\"^2.3.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.0\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.15.0\",\"@typescript-eslint/parser\":\"^5.16.0\",\"ansi_up\":\"^5.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.10.0\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.0.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.9\",\"electron-builder\":\"^22.14.13\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.27\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.11.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.25.4\",\"eslint-plugin-react\":\"^7.29.4\",\"eslint-plugin-react-hooks\":\"^4.3.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"ignore-loader\":\"^0.1.2\",\"include-media\":\"^1.4.9\",\"jest\":\"26.6.3\",\"jest-canvas-mock\":\"^2.3.1\",\"jest-fetch-mock\":\"^3.0.3\",\"jest-mock-extended\":\"^1.0.18\",\"make-plural\":\"^6.2.2\",\"mini-css-extract-plugin\":\"^2.5.2\",\"mock-http\":\"^1.1.0\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.20.1\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.3\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.3.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.49.9\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.30.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.7.4\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40920
40830
 
40921
40831
  /***/ }),
40922
40832