@bloomscorp/blooms-ai-embed 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -1
- package/README.md +9 -7
- package/dist/blooms-embed.css +1 -1
- package/dist/blooms-embed.js +1 -1
- package/dist/media/poppins-latin-400.woff2 +0 -0
- package/dist/media/poppins-latin-500.woff2 +0 -0
- package/dist/media/poppins-latin-600.woff2 +0 -0
- package/dist/media/poppins-latin-700.woff2 +0 -0
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@bloomscorp/blooms-ai-embed`.
|
|
4
4
|
|
|
5
|
+
## 0.1.1
|
|
6
|
+
|
|
7
|
+
Everything here came from the first production Electron integration reporting
|
|
8
|
+
against `0.1.0`. No API changes — upgrading is a drop-in.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Poppins is now self-hosted.** The stylesheet carried 18 `@font-face` rules
|
|
13
|
+
pointing at `fonts.gstatic.com`, inherited from a redundant `@import` in the
|
|
14
|
+
portal's global stylesheet. On a third-party page that is blocked by a
|
|
15
|
+
`font-src 'self'` CSP — so components silently fell back to a system font and
|
|
16
|
+
no longer matched blooms.ai — and it needed the network, contradicting the
|
|
17
|
+
claim that sign-in renders offline.
|
|
18
|
+
|
|
19
|
+
The package now ships the Poppins latin subset (400/500/600/700, **31 kB**) in
|
|
20
|
+
`dist/media/`, referenced relative to the stylesheet so it resolves through
|
|
21
|
+
`assetBase` in every delivery mode. The stylesheet shrank from 12.6 kB to
|
|
22
|
+
7.8 kB.
|
|
23
|
+
|
|
24
|
+
**Action if you are upgrading:** copy `dist/media/` alongside
|
|
25
|
+
`dist/blooms-embed.css`. Copying only the CSS leaves the fonts behind and the
|
|
26
|
+
`@font-face` rules 404. You can now drop `https://fonts.gstatic.com` from your
|
|
27
|
+
`font-src`.
|
|
28
|
+
|
|
29
|
+
- **Documentation named a host that does not exist.** Examples used
|
|
30
|
+
`https://api.blooms.ai`, which has never resolved. The production API origin is
|
|
31
|
+
`https://z.bloomscorp.com`. Corrected throughout — it matters because this is
|
|
32
|
+
the value integrators pin in a CSP.
|
|
33
|
+
|
|
34
|
+
- **Google-provisioned accounts were described wrongly.** The docs said such
|
|
35
|
+
users should "set a password in the portal first". They cannot: password reset
|
|
36
|
+
refuses them with `409 PASSWORD_NOT_APPLICABLE` by design, so that an account
|
|
37
|
+
governed by Google never grows a second credential. There is no self-service
|
|
38
|
+
path — a blooms.ai admin must provision a separate local account. Embedded
|
|
39
|
+
Google sign-in is planned, not built.
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- The `0.1.0` changelog understated what shipped. `mount()`, `projects()`,
|
|
44
|
+
`project()`, `setProject()` and `can(key, projectId)` were all present in that
|
|
45
|
+
release's type declarations; they are now listed below.
|
|
46
|
+
|
|
5
47
|
## 0.1.0
|
|
6
48
|
|
|
7
49
|
First release.
|
|
@@ -11,7 +53,12 @@ First release.
|
|
|
11
53
|
components locally instead of loading remote code into a renderer, and work offline.
|
|
12
54
|
- Importing the package defines the custom elements (`<blooms-login>`) as a side effect and
|
|
13
55
|
exports the typed `BloomsEmbed` SDK: `configure`, `mode`, `manifest`, `login`, `session`,
|
|
14
|
-
`resume`, `can`, `logout`, `on`.
|
|
56
|
+
`resume`, `can`, `projects`, `project`, `setProject`, `logout`, `on`, `mount`.
|
|
57
|
+
- Multi-project integrations: one token can span several projects, and `projects()` /
|
|
58
|
+
`setProject()` / `can(key, projectId)` switch between them locally with no re-authentication.
|
|
59
|
+
`can()` returns `false` for a project the session cannot act on rather than falling back.
|
|
60
|
+
- `mount(target, { feature })` renders a component in whichever mode `configure()` resolved —
|
|
61
|
+
the custom element directly, or the iframe shell for an opaque origin.
|
|
15
62
|
- Hand-written TypeScript declarations for the whole public surface, including
|
|
16
63
|
`<blooms-login>` in `HTMLElementTagNameMap` and `BloomsEmbed` on `Window`.
|
|
17
64
|
- Importing outside a browser throws an explanatory error naming the likely cause (SSR, or the
|
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ in that project, narrowed further to the features enabled on your token. No sess
|
|
|
44
44
|
|
|
45
45
|
BloomsEmbed.configure({
|
|
46
46
|
token: 'blm_embed_9f2c…',
|
|
47
|
-
apiBase: 'https://
|
|
47
|
+
apiBase: 'https://z.bloomscorp.com',
|
|
48
48
|
});
|
|
49
49
|
|
|
50
50
|
BloomsEmbed.on('session', event => {
|
|
@@ -167,8 +167,10 @@ The element handles its own states: loading skeleton, signed-out form, signed-in
|
|
|
167
167
|
distinct messages for a wrong password, an account without access to the project, a deactivated
|
|
168
168
|
or banned account, and rate limiting.
|
|
169
169
|
|
|
170
|
-
Google sign-in is not offered
|
|
171
|
-
|
|
170
|
+
Google sign-in is not offered, and accounts created with Google **cannot use this form at all** —
|
|
171
|
+
they have no password and cannot set one (password reset refuses them by design, so that a
|
|
172
|
+
Google-governed account never grows a second credential). A blooms.ai admin must provision such
|
|
173
|
+
users a separate local account. Embedded Google sign-in is planned but not built.
|
|
172
174
|
|
|
173
175
|
---
|
|
174
176
|
|
|
@@ -210,7 +212,7 @@ These are read with fallbacks, so set only what you care about:
|
|
|
210
212
|
```js
|
|
211
213
|
BloomsEmbed.configure({
|
|
212
214
|
token: 'blm_embed_…',
|
|
213
|
-
apiBase: 'https://
|
|
215
|
+
apiBase: 'https://z.bloomscorp.com',
|
|
214
216
|
theme: { '--brand-primary': '#0f766e', '--radius-lg': '10px' },
|
|
215
217
|
});
|
|
216
218
|
```
|
|
@@ -236,7 +238,7 @@ React version):
|
|
|
236
238
|
import { useEffect } from 'react';
|
|
237
239
|
import { BloomsEmbed } from '@bloomscorp/blooms-ai-embed';
|
|
238
240
|
|
|
239
|
-
BloomsEmbed.configure({ token: 'blm_embed_…', apiBase: 'https://
|
|
241
|
+
BloomsEmbed.configure({ token: 'blm_embed_…', apiBase: 'https://z.bloomscorp.com' });
|
|
240
242
|
|
|
241
243
|
export function Login({ onSession }) {
|
|
242
244
|
useEffect(() => BloomsEmbed.on('session', e => onSession(e.session)), [onSession]);
|
|
@@ -339,7 +341,7 @@ cause is an unregistered origin or a missing privileged-scheme registration, not
|
|
|
339
341
|
|
|
340
342
|
```
|
|
341
343
|
default-src 'self' app:;
|
|
342
|
-
connect-src 'self' https://
|
|
344
|
+
connect-src 'self' https://z.bloomscorp.com;
|
|
343
345
|
style-src 'self' 'unsafe-inline';
|
|
344
346
|
img-src 'self' data: https:;
|
|
345
347
|
```
|
|
@@ -381,7 +383,7 @@ and add `BloomsEmbed` to `Window`.
|
|
|
381
383
|
```ts
|
|
382
384
|
import { BloomsEmbed, type EmbedSessionState } from '@bloomscorp/blooms-ai-embed';
|
|
383
385
|
|
|
384
|
-
BloomsEmbed.configure({ token: 'blm_embed_…', apiBase: 'https://
|
|
386
|
+
BloomsEmbed.configure({ token: 'blm_embed_…', apiBase: 'https://z.bloomscorp.com' });
|
|
385
387
|
|
|
386
388
|
const session: EmbedSessionState | null = await BloomsEmbed.resume();
|
|
387
389
|
if (session && BloomsEmbed.can('analytics')) { /* … */ }
|
package/dist/blooms-embed.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJbecmNE.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDD4Z11lFc-K.woff2) format("woff2");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDD4Z1JlFc-K.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDD4Z1xlFQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary-soft: #E3D8F1;--color-secondary: #DABECA;--color-accent: #E84855;--color-accent-soft: #f5c5c9;--color-text: #5D5F71;--color-text-muted: #9395a5;--color-bg: #f7f5fb;--color-card-bg: #FFFFFF;--color-sidebar-bg: #FFFFFF;--color-rail-bg: #f3f0f8;--color-border: #ede9f6;--color-hover: #f5f2fb;--font-sans: "Poppins", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--z-agent-button: 9000;--z-agent-widget: 9100;--z-agent-menu: 9200;--z-agent-banner: 9300}@keyframes agent-halo-spin{to{transform:rotate(360deg)}}@keyframes agent-halo-pulse{0%,to{opacity:.8}50%{opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:14px;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bui-tooltip{position:fixed;z-index:100000;max-width:260px;padding:7px 11px;border-radius:12px;background:#fff;color:#1d1d1f;border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 26px #00000029,0 2px 6px #0000001a;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:12.5px;font-weight:500;line-height:1.45;letter-spacing:.01em;text-align:left;white-space:normal;word-break:break-word;pointer-events:none;opacity:0;transform:scale(.92);transform-origin:center;transition:opacity .13s ease,transform .14s cubic-bezier(.34,1.56,.64,1)}.bui-tooltip--in{opacity:1;transform:scale(1)}.bui-tooltip__tail{position:absolute;z-index:-1;width:9px;height:9px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:2px;transform:rotate(45deg)}.bui-tooltip__tail.is-bottom{bottom:-5px}.bui-tooltip__tail.is-top{top:-5px}.bui-tooltip__tail.is-right{right:-5px}.bui-tooltip__tail.is-left{left:-5px}@media (prefers-reduced-motion: reduce){.bui-tooltip{transition:opacity .1s ease;transform:none}.bui-tooltip--in{transform:none}}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:1.3;color:var(--color-text)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}p{line-height:1.7}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:#d13d4a;border-color:#d13d4a;box-shadow:0 2px 8px #e848554d;text-decoration:none}.btn-outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-outline:hover{background:var(--color-hover);border-color:#d5d0e4;text-decoration:none}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn-ghost:hover{background:var(--color-hover);color:var(--color-text)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-sm)}.btn-lg{padding:12px 24px;font-size:15px;border-radius:12px}input,textarea,select{font-family:var(--font-sans);font-size:14px;color:var(--color-text)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-semibold{font-weight:600}.font-bold{font-weight:700}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.w-full{width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}router-outlet+*{animation:fadeInUp .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pane-section{display:flex;flex-direction:column;gap:24px;max-width:520px}.pane-hd{display:flex;flex-direction:column;gap:4px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.pane-hd--row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px}.pane-title{font-size:15px;font-weight:700;color:var(--color-text);margin:0}.pane-desc{font-size:12px;color:var(--color-text-muted);margin:0;line-height:1.5}.pane-form{display:flex;flex-direction:column;gap:18px}.pane-success{font-size:12px;font-weight:500;color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:var(--radius-sm);padding:8px 12px;margin:0}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:12px;font-weight:600;color:var(--color-text);letter-spacing:.02em;text-transform:uppercase}.field__input{padding:9px 13px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.field__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e8485514}.field__input--locked{opacity:.55;cursor:not-allowed;color:var(--color-text-muted)}.field__input:disabled{cursor:not-allowed}.field textarea.field__input{resize:vertical}.field__hint{font-size:11px;color:var(--color-text-muted)}@media (max-width: 768px){.btn{padding:8px 14px}.detail-table-wrap,.pages-table-wrap,.diff-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.result-summary,.insight-grid,.pr-stats-grid{grid-template-columns:1fr 1fr!important}.sitemap-form{flex-direction:column}.pr-detail__cols,.diff-screen__body{grid-template-columns:1fr!important}.diff-files{display:none}.diff-files.mobile-show{display:block}.pr-filters__top{flex-direction:column;align-items:flex-start}.pr-filters__right{width:100%}.pr-search{max-width:100%!important;flex:1}.repo-card{flex-direction:column;align-items:flex-start}.repo-card__right{align-self:flex-start;flex-wrap:wrap}.history-item{flex-direction:column}.results-toolbar{flex-direction:column;align-items:flex-start}.diff-screen__title-row{flex-direction:column}.diff-screen__header-right{align-self:flex-start}}
|
|
1
|
+
@charset "UTF-8";:root{--color-primary-soft: #E3D8F1;--color-secondary: #DABECA;--color-accent: #E84855;--color-accent-soft: #f5c5c9;--color-text: #5D5F71;--color-text-muted: #9395a5;--color-bg: #f7f5fb;--color-card-bg: #FFFFFF;--color-sidebar-bg: #FFFFFF;--color-rail-bg: #f3f0f8;--color-border: #ede9f6;--color-hover: #f5f2fb;--font-sans: "Poppins", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--z-agent-button: 9000;--z-agent-widget: 9100;--z-agent-menu: 9200;--z-agent-banner: 9300}@keyframes agent-halo-spin{to{transform:rotate(360deg)}}@keyframes agent-halo-pulse{0%,to{opacity:.8}50%{opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:14px;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bui-tooltip{position:fixed;z-index:100000;max-width:260px;padding:7px 11px;border-radius:12px;background:#fff;color:#1d1d1f;border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 26px #00000029,0 2px 6px #0000001a;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:12.5px;font-weight:500;line-height:1.45;letter-spacing:.01em;text-align:left;white-space:normal;word-break:break-word;pointer-events:none;opacity:0;transform:scale(.92);transform-origin:center;transition:opacity .13s ease,transform .14s cubic-bezier(.34,1.56,.64,1)}.bui-tooltip--in{opacity:1;transform:scale(1)}.bui-tooltip__tail{position:absolute;z-index:-1;width:9px;height:9px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:2px;transform:rotate(45deg)}.bui-tooltip__tail.is-bottom{bottom:-5px}.bui-tooltip__tail.is-top{top:-5px}.bui-tooltip__tail.is-right{right:-5px}.bui-tooltip__tail.is-left{left:-5px}@media (prefers-reduced-motion: reduce){.bui-tooltip{transition:opacity .1s ease;transform:none}.bui-tooltip--in{transform:none}}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:1.3;color:var(--color-text)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}p{line-height:1.7}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,box-shadow .15s,opacity .15s;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:#d13d4a;border-color:#d13d4a;box-shadow:0 2px 8px #e848554d;text-decoration:none}.btn-outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-outline:hover{background:var(--color-hover);border-color:#d5d0e4;text-decoration:none}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn-ghost:hover{background:var(--color-hover);color:var(--color-text)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:var(--radius-sm)}.btn-lg{padding:12px 24px;font-size:15px;border-radius:12px}input,textarea,select{font-family:var(--font-sans);font-size:14px;color:var(--color-text)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-semibold{font-weight:600}.font-bold{font-weight:700}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.w-full{width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}router-outlet+*{animation:fadeInUp .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pane-section{display:flex;flex-direction:column;gap:24px;max-width:520px}.pane-hd{display:flex;flex-direction:column;gap:4px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.pane-hd--row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px}.pane-title{font-size:15px;font-weight:700;color:var(--color-text);margin:0}.pane-desc{font-size:12px;color:var(--color-text-muted);margin:0;line-height:1.5}.pane-form{display:flex;flex-direction:column;gap:18px}.pane-success{font-size:12px;font-weight:500;color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:var(--radius-sm);padding:8px 12px;margin:0}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:12px;font-weight:600;color:var(--color-text);letter-spacing:.02em;text-transform:uppercase}.field__input{padding:9px 13px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:13px;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.field__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e8485514}.field__input--locked{opacity:.55;cursor:not-allowed;color:var(--color-text-muted)}.field__input:disabled{cursor:not-allowed}.field textarea.field__input{resize:vertical}.field__hint{font-size:11px;color:var(--color-text-muted)}@media (max-width: 768px){.btn{padding:8px 14px}.detail-table-wrap,.pages-table-wrap,.diff-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.result-summary,.insight-grid,.pr-stats-grid{grid-template-columns:1fr 1fr!important}.sitemap-form{flex-direction:column}.pr-detail__cols,.diff-screen__body{grid-template-columns:1fr!important}.diff-files{display:none}.diff-files.mobile-show{display:block}.pr-filters__top{flex-direction:column;align-items:flex-start}.pr-filters__right{width:100%}.pr-search{max-width:100%!important;flex:1}.repo-card{flex-direction:column;align-items:flex-start}.repo-card__right{align-self:flex-start;flex-wrap:wrap}.history-item{flex-direction:column}.results-toolbar{flex-direction:column;align-items:flex-start}.diff-screen__title-row{flex-direction:column}.diff-screen__header-right{align-self:flex-start}}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url("./media/poppins-latin-400.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url("./media/poppins-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url("./media/poppins-latin-600.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url("./media/poppins-latin-700.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
package/dist/blooms-embed.js
CHANGED
|
@@ -6,5 +6,5 @@ ${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(`
|
|
|
6
6
|
`&&e.charAt(1)==Up?e.slice(2):e;let o=ie(t);if(Array.isArray(t))o=t.map(ie).join(" -> ");else if(typeof t=="object"){let i=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];i.push(s+":"+(typeof a=="string"?JSON.stringify(a):ie(a)))}o=`{${i.join(", ")}}`}return`${n}${r?"("+r+")":""}[${o}]: ${e.replace(Hp,`
|
|
7
7
|
`)}`}function St(e,t){let n=e.hasOwnProperty(Or);return n?e[Or]:null}function Ts(e,t){e.forEach(n=>Array.isArray(n)?Ts(n,t):t(n))}function qp(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Sc(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Zp(e,t,n,r){let o=e.length;if(o==t)e.push(n,r);else if(o===1)e.push(r,e[0]),e[0]=n;else{for(o--,e.push(e[o-1],e[o]);o>t;){let i=o-2;e[o]=e[i],o--}e[t]=n,e[t+1]=r}}function Qp(e,t,n){let r=In(e,t);return r>=0?e[r|1]=n:(r=~r,Zp(e,r,t,n)),r}function Ri(e,t){let n=In(e,t);if(n>=0)return e[n|1]}function In(e,t){return Yp(e,t,1)}function Yp(e,t,n){let r=0,o=e.length>>n;for(;o!==r;){let i=r+(o-r>>1),s=e[i<<n];if(t===s)return i<<n;s>t?o=i:r=i+1}return~(o<<n)}var it={},oe=[],Lr=new v(""),Tc=new v("",-1),xc=new v(""),Fr=class{get(t,n=ot){if(n===ot){let r=new Error(`NullInjectorError: No provider for ${ie(t)}!`);throw r.name="NullInjectorError",r}return n}};function xs(e){return e[kp]||null}function Kp(e){return e[Pp]||null}function Jp(e){return e[Lp]||null}function Ns(e){return{\u0275providers:e}}function Xp(...e){return{\u0275providers:Nc(!0,e),\u0275fromNgModule:!0}}function Nc(e,...t){let n=[],r=new Set,o,i=s=>{n.push(s)};return Ts(t,s=>{let a=s;Wi(a,i,[],r)&&(o||=[],o.push(a))}),o!==void 0&&Rc(o,i),n}function Rc(e,t){for(let n=0;n<e.length;n++){let{ngModule:r,providers:o}=e[n];Rs(o,i=>{t(i,r)})}}function Wi(e,t,n,r){if(e=K(e),!e)return!1;let o=null,i=Vl(e),s=!i&&xs(e);if(!i&&!s){let l=e.ngModule;if(i=Vl(l),i)o=l;else return!1}else{if(s&&!s.standalone)return!1;o=e}let a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let c of l)Wi(c,t,n,r)}}else if(i){if(i.imports!=null&&!a){r.add(o);let c;try{Ts(i.imports,u=>{Wi(u,t,n,r)&&(c||=[],c.push(u))})}finally{}c!==void 0&&Rc(c,t)}if(!a){let c=St(o)||(()=>new o);t({provide:o,useFactory:c,deps:oe},o),t({provide:xc,useValue:o,multi:!0},o),t({provide:Lr,useValue:()=>T(o),multi:!0},o)}let l=i.providers;if(l!=null&&!a){let c=e;Rs(l,u=>{t(u,c)})}}else return!1;return o!==e&&e.providers!==void 0}function Rs(e,t){for(let n of e)Ic(n)&&(n=n.\u0275providers),Array.isArray(n)?Rs(n,t):t(n)}var eh=L({provide:String,useValue:L});function Ac(e){return e!==null&&typeof e=="object"&&eh in e}function th(e){return!!(e&&e.useExisting)}function nh(e){return!!(e&&e.useFactory)}function Tt(e){return typeof e=="function"}function rh(e){return!!e.useClass}var oo=new v(""),Tr={},Ul={},Ai;function As(){return Ai===void 0&&(Ai=new Fr),Ai}var Se=class{},yn=class extends Se{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(t,n,r,o){super(),this.parent=n,this.source=r,this.scopes=o,Zi(t,s=>this.processProvider(s)),this.records.set(Tc,It(void 0,this)),o.has("environment")&&this.records.set(Se,It(void 0,this));let i=this.records.get(oo);i!=null&&typeof i.value=="string"&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(xc,oe,C.Self))}retrieve(t,n){let r=n;return this.get(t,r.optional?nr:ot,r)}destroy(){hn(this),this._destroyed=!0;let t=I(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let n=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of n)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),I(t)}}onDestroy(t){return hn(this),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){hn(this);let n=Ce(this),r=re(void 0),o;try{return t()}finally{Ce(n),re(r)}}get(t,n=ot,r=C.Default){if(hn(this),t.hasOwnProperty(Bl))return t[Bl](this);r=ro(r);let o,i=Ce(this),s=re(void 0);try{if(!(r&C.SkipSelf)){let l=this.records.get(t);if(l===void 0){let c=lh(t)&&Ms(t);c&&this.injectableDefInScope(c)?l=It(qi(t),Tr):l=null,this.records.set(t,l)}if(l!=null)return this.hydrate(t,l,r)}let a=r&C.Self?As():this.parent;return n=r&C.Optional&&n===ot?null:n,a.get(t,n)}catch(a){if(a.name==="NullInjectorError"){if((a[Pr]=a[Pr]||[]).unshift(ie(t)),i)throw a;return Gp(a,t,"R3InjectorError",this.source)}else throw a}finally{re(s),Ce(i)}}resolveInjectorInitializers(){let t=I(null),n=Ce(this),r=re(void 0),o;try{let i=this.get(Lr,oe,C.Self);for(let s of i)s()}finally{Ce(n),re(r),I(t)}}toString(){let t=[],n=this.records;for(let r of n.keys())t.push(ie(r));return`R3Injector[${t.join(", ")}]`}processProvider(t){t=K(t);let n=Tt(t)?t:K(t&&t.provide),r=ih(t);if(!Tt(t)&&t.multi===!0){let o=this.records.get(n);o||(o=It(void 0,Tr,!0),o.factory=()=>Gi(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,r)}hydrate(t,n,r){let o=I(null);try{return n.value===Ul?Dc(ie(t)):n.value===Tr&&(n.value=Ul,n.value=n.factory(void 0,r)),typeof n.value=="object"&&n.value&&ah(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{I(o)}}injectableDefInScope(t){if(!t.providedIn)return!1;let n=K(t.providedIn);return typeof n=="string"?n==="any"||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){let n=this._onDestroyHooks.indexOf(t);n!==-1&&this._onDestroyHooks.splice(n,1)}};function qi(e){let t=Ms(e),n=t!==null?t.factory:St(e);if(n!==null)return n;if(e instanceof v)throw new E(204,!1);if(e instanceof Function)return oh(e);throw new E(204,!1)}function oh(e){if(e.length>0)throw new E(204,!1);let n=Ap(e);return n!==null?()=>n.factory(e):()=>new e}function ih(e){if(Ac(e))return It(void 0,e.useValue);{let t=Oc(e);return It(t,Tr)}}function Oc(e,t,n){let r;if(Tt(e)){let o=K(e);return St(o)||qi(o)}else if(Ac(e))r=()=>K(e.useValue);else if(nh(e))r=()=>e.useFactory(...Gi(e.deps||[]));else if(th(e))r=(o,i)=>T(K(e.useExisting),i!==void 0&&i&C.Optional?C.Optional:void 0);else{let o=K(e&&(e.useClass||e.provide));if(sh(e))r=()=>new o(...Gi(e.deps));else return St(o)||qi(o)}return r}function hn(e){if(e.destroyed)throw new E(205,!1)}function It(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function sh(e){return!!e.deps}function ah(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function lh(e){return typeof e=="function"||typeof e=="object"&&e instanceof v}function Zi(e,t){for(let n of e)Array.isArray(n)?Zi(n,t):n&&Ic(n)?Zi(n.\u0275providers,t):t(n)}function io(e,t){let n;e instanceof yn?(hn(e),n=e):n=new kr(e);let r,o=Ce(n),i=re(void 0);try{return t()}finally{Ce(o),re(i)}}function ch(){return Cc()!==void 0||on()!=null}var Oe=0,S=1,_=2,le=3,pe=4,_e=5,Vr=6,jr=7,J=8,xt=9,Te=10,Q=11,vn=12,$l=13,Pt=14,xe=15,Nt=16,Dt=17,Rt=18,so=19,kc=20,Be=21,Oi=22,Br=23,se=24,ki=25,he=26,Pc=1;var En=7,uh=8,Hr=9,ae=10;function He(e){return Array.isArray(e)&&typeof e[Pc]=="object"}function dt(e){return Array.isArray(e)&&e[Pc]===!0}function Lc(e){return(e.flags&4)!==0}function Dn(e){return e.componentOffset>-1}function Os(e){return(e.flags&1)===1}function be(e){return!!e.template}function Ur(e){return(e[_]&512)!==0}function Lt(e){return(e[_]&256)===256}var Qi=class{previousValue;currentValue;firstChange;constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}};function Fc(e,t,n,r){t!==null?t.applyValueToInputSignal(t,r):e[n]=r}var ks=(()=>{let e=()=>Vc;return e.ngInherit=!0,e})();function Vc(e){return e.type.prototype.ngOnChanges&&(e.setInput=fh),dh}function dh(){let e=Bc(this),t=e?.current;if(t){let n=e.previous;if(n===it)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function fh(e,t,n,r,o){let i=this.declaredInputs[r],s=Bc(e)||ph(e,{previous:it,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[i];a[i]=new Qi(c&&c.currentValue,n,l===it),Fc(e,t,o,n)}var jc="__ngSimpleChanges__";function Bc(e){return e[jc]||null}function ph(e,t){return e[jc]=t}var zl=null;var P=function(e,t=null,n){zl?.(e,t,n)},hh="svg",gh="math";function Ne(e){for(;Array.isArray(e);)e=e[Oe];return e}function Hc(e,t){return Ne(t[e])}function ke(e,t){return Ne(t[e.index])}function Ps(e,t){return e.data[t]}function Re(e,t){let n=t[e];return He(n)?n:n[Oe]}function Ls(e){return(e[_]&128)===128}function $r(e,t){return t==null?null:e[t]}function Uc(e){e[Dt]=0}function Fs(e){e[_]&1024||(e[_]|=1024,Ls(e)&&ao(e))}function mh(e,t){for(;e>0;)t=t[Pt],e--;return t}function Cn(e){return!!(e[_]&9216||e[se]?.dirty)}function Yi(e){e[Te].changeDetectionScheduler?.notify(8),e[_]&64&&(e[_]|=1024),Cn(e)&&ao(e)}function ao(e){e[Te].changeDetectionScheduler?.notify(0);let t=st(e);for(;t!==null&&!(t[_]&8192||(t[_]|=8192,!Ls(t)));)t=st(t)}function $c(e,t){if(Lt(e))throw new E(911,!1);e[Be]===null&&(e[Be]=[]),e[Be].push(t)}function yh(e,t){if(e[Be]===null)return;let n=e[Be].indexOf(t);n!==-1&&e[Be].splice(n,1)}function st(e){let t=e[le];return dt(t)?t[le]:t}function zc(e){return e[jr]??=[]}function Gc(e){return e.cleanup??=[]}var M={lFrame:Xc(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var Ki=!1;function vh(){return M.lFrame.elementDepthCount}function Eh(){M.lFrame.elementDepthCount++}function bh(){M.lFrame.elementDepthCount--}function Wc(){return M.bindingsEnabled}function wh(){return M.skipHydrationRootTNode!==null}function _h(e){return M.skipHydrationRootTNode===e}function Ih(){M.skipHydrationRootTNode=null}function H(){return M.lFrame.lView}function ge(){return M.lFrame.tView}function lo(e){return M.lFrame.contextLView=e,e[J]}function co(e){return M.lFrame.contextLView=null,e}function Ge(){let e=qc();for(;e!==null&&e.type===64;)e=e.parent;return e}function qc(){return M.lFrame.currentTNode}function Dh(){let e=M.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function Mn(e,t){let n=M.lFrame;n.currentTNode=e,n.isParent=t}function Zc(){return M.lFrame.isParent}function Ch(){M.lFrame.isParent=!1}function Qc(){return Ki}function Gl(e){let t=Ki;return Ki=e,t}function Mh(e){return M.lFrame.bindingIndex=e}function uo(){return M.lFrame.bindingIndex++}function Sh(e){let t=M.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Th(){return M.lFrame.inI18n}function xh(e,t){let n=M.lFrame;n.bindingIndex=n.bindingRootIndex=e,Ji(t)}function Nh(){return M.lFrame.currentDirectiveIndex}function Ji(e){M.lFrame.currentDirectiveIndex=e}function Rh(e){let t=M.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function Yc(e){M.lFrame.currentQueryIndex=e}function Ah(e){let t=e[S];return t.type===2?t.declTNode:t.type===1?e[_e]:null}function Kc(e,t,n){if(n&C.SkipSelf){let o=t,i=e;for(;o=o.parent,o===null&&!(n&C.Host);)if(o=Ah(i),o===null||(i=i[Pt],o.type&10))break;if(o===null)return!1;t=o,e=i}let r=M.lFrame=Jc();return r.currentTNode=t,r.lView=e,!0}function Vs(e){let t=Jc(),n=e[S];M.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Jc(){let e=M.lFrame,t=e===null?null:e.child;return t===null?Xc(e):t}function Xc(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function eu(){let e=M.lFrame;return M.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var tu=eu;function js(){let e=eu();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Oh(e){return(M.lFrame.contextLView=mh(e,M.lFrame.contextLView))[J]}function Ft(){return M.lFrame.selectedIndex}function at(e){M.lFrame.selectedIndex=e}function nu(){let e=M.lFrame;return Ps(e.tView,e.selectedIndex)}function kh(){return M.lFrame.currentNamespace}var ru=!0;function Bs(){return ru}function Hs(e){ru=e}function Ph(e,t,n){let{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=t.type.prototype;if(r){let s=Vc(t);(n.preOrderHooks??=[]).push(e,s),(n.preOrderCheckHooks??=[]).push(e,s)}o&&(n.preOrderHooks??=[]).push(0-e,o),i&&((n.preOrderHooks??=[]).push(e,i),(n.preOrderCheckHooks??=[]).push(e,i))}function ou(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n<r;n++){let i=e.data[n].type.prototype,{ngAfterContentInit:s,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=i;s&&(e.contentHooks??=[]).push(-n,s),a&&((e.contentHooks??=[]).push(n,a),(e.contentCheckHooks??=[]).push(n,a)),l&&(e.viewHooks??=[]).push(-n,l),c&&((e.viewHooks??=[]).push(n,c),(e.viewCheckHooks??=[]).push(n,c)),u!=null&&(e.destroyHooks??=[]).push(n,u)}}function xr(e,t,n){iu(e,t,3,n)}function Nr(e,t,n,r){(e[_]&3)===n&&iu(e,t,n,r)}function Pi(e,t){let n=e[_];(n&3)===t&&(n&=16383,n+=1,e[_]=n)}function iu(e,t,n,r){let o=r!==void 0?e[Dt]&65535:0,i=r??-1,s=t.length-1,a=0;for(let l=o;l<s;l++)if(typeof t[l+1]=="number"){if(a=t[l],r!=null&&a>=r)break}else t[l]<0&&(e[Dt]+=65536),(a<i||i==-1)&&(Lh(e,n,t,l),e[Dt]=(e[Dt]&4294901760)+l+2),l++}function Wl(e,t){P(4,e,t);let n=I(null);try{t.call(e)}finally{I(n),P(5,e,t)}}function Lh(e,t,n,r){let o=n[r]<0,i=n[r+1],s=o?-n[r]:n[r],a=e[s];o?e[_]>>14<e[Dt]>>16&&(e[_]&3)===t&&(e[_]+=16384,Wl(a,i)):Wl(a,i)}var Mt=-1,lt=class{factory;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(t,n,r){this.factory=t,this.canSeeViewProviders=n,this.injectImpl=r}};function Fh(e){return(e.flags&8)!==0}function Vh(e){return(e.flags&16)!==0}function jh(e,t,n){let r=0;for(;r<n.length;){let o=n[r];if(typeof o=="number"){if(o!==0)break;r++;let i=n[r++],s=n[r++],a=n[r++];e.setAttribute(t,s,a,i)}else{let i=o,s=n[++r];Hh(i)?e.setProperty(t,i,s):e.setAttribute(t,i,s),r++}}return r}function Bh(e){return e===3||e===4||e===6}function Hh(e){return e.charCodeAt(0)===64}function bn(e,t){if(!(t===null||t.length===0))if(e===null||e.length===0)e=t.slice();else{let n=-1;for(let r=0;r<t.length;r++){let o=t[r];typeof o=="number"?n=o:n===0||(n===-1||n===2?ql(e,n,o,null,t[++r]):ql(e,n,o,null,null))}}return e}function ql(e,t,n,r,o){let i=0,s=e.length;if(t===-1)s=-1;else for(;i<e.length;){let a=e[i++];if(typeof a=="number"){if(a===t){s=-1;break}else if(a>t){s=i-1;break}}}for(;i<e.length;){let a=e[i];if(typeof a=="number")break;if(a===n){o!==null&&(e[i+1]=o);return}i++,o!==null&&i++}s!==-1&&(e.splice(s,0,t),i=s+1),e.splice(i++,0,n),o!==null&&e.splice(i++,0,o)}function Uh(e){return e!==Mt}function Xi(e){return e&32767}function $h(e){return e>>16}function es(e,t){let n=$h(e),r=t;for(;n>0;)r=r[Pt],n--;return r}var ts=!0;function Zl(e){let t=ts;return ts=e,t}var zh=256,su=zh-1,au=5,Gh=0,Ee={};function Wh(e,t,n){let r;typeof n=="string"?r=n.charCodeAt(0)||0:n.hasOwnProperty(mn)&&(r=n[mn]),r==null&&(r=n[mn]=Gh++);let o=r&su,i=1<<o;t.data[e+(o>>au)]|=i}function zr(e,t){let n=lu(e,t);if(n!==-1)return n;let r=t[S];r.firstCreatePass&&(e.injectorIndex=t.length,Li(r.data,e),Li(t,null),Li(r.blueprint,null));let o=cu(e,t),i=e.injectorIndex;if(Uh(o)){let s=Xi(o),a=es(o,t),l=a[S].data;for(let c=0;c<8;c++)t[i+c]=a[s+c]|l[s+c]}return t[i+8]=o,i}function Li(e,t){e.push(0,0,0,0,0,0,0,0,t)}function lu(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function cu(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,o=t;for(;o!==null;){if(r=gu(o),r===null)return Mt;if(n++,o=o[Pt],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return Mt}function ns(e,t,n){Wh(e,t,n)}function uu(e,t,n){if(n&C.Optional||e!==void 0)return e;Ss(t,"NodeInjector")}function du(e,t,n,r){if(n&C.Optional&&r===void 0&&(r=null),(n&(C.Self|C.Host))===0){let o=e[xt],i=re(void 0);try{return o?o.get(t,r,n&C.Optional):Mc(t,r,n&C.Optional)}finally{re(i)}}return uu(r,t,n)}function fu(e,t,n,r=C.Default,o){if(e!==null){if(t[_]&2048&&!(r&C.Self)){let s=Kh(e,t,n,r,Ee);if(s!==Ee)return s}let i=pu(e,t,n,r,Ee);if(i!==Ee)return i}return du(t,n,r,o)}function pu(e,t,n,r,o){let i=Qh(n);if(typeof i=="function"){if(!Kc(t,e,r))return r&C.Host?uu(o,n,r):du(t,n,r,o);try{let s;if(s=i(r),s==null&&!(r&C.Optional))Ss(n);else return s}finally{tu()}}else if(typeof i=="number"){let s=null,a=lu(e,t),l=Mt,c=r&C.Host?t[xe][_e]:null;for((a===-1||r&C.SkipSelf)&&(l=a===-1?cu(e,t):t[a+8],l===Mt||!Yl(r,!1)?a=-1:(s=t[S],a=Xi(l),t=es(l,t)));a!==-1;){let u=t[S];if(Ql(i,a,u.data)){let f=qh(a,t,n,s,r,c);if(f!==Ee)return f}l=t[a+8],l!==Mt&&Yl(r,t[S].data[a+8]===c)&&Ql(i,a,t)?(s=u,a=Xi(l),t=es(l,t)):a=-1}}return o}function qh(e,t,n,r,o,i){let s=t[S],a=s.data[e+8],l=r==null?Dn(a)&&ts:r!=s&&(a.type&3)!==0,c=o&C.Host&&i===a,u=Zh(a,s,n,l,c);return u!==null?Gr(t,s,u,a,o):Ee}function Zh(e,t,n,r,o){let i=e.providerIndexes,s=t.data,a=i&1048575,l=e.directiveStart,c=e.directiveEnd,u=i>>20,f=r?a:a+u,p=o?a+u:c;for(let d=f;d<p;d++){let h=s[d];if(d<l&&n===h||d>=l&&h.type===n)return d}if(o){let d=s[l];if(d&&be(d)&&d.type===n)return l}return null}function Gr(e,t,n,r,o){let i=e[n],s=t.data;if(i instanceof lt){let a=i;a.resolving&&Dc(Fp(s[n]));let l=Zl(a.canSeeViewProviders);a.resolving=!0;let c,u=a.injectImpl?re(a.injectImpl):null,f=Kc(e,r,C.Default);try{i=e[n]=a.factory(void 0,o,s,e,r),t.firstCreatePass&&n>=r.directiveStart&&Ph(n,s[n],t)}finally{u!==null&&re(u),Zl(l),a.resolving=!1,tu()}}return i}function Qh(e){if(typeof e=="string")return e.charCodeAt(0)||0;let t=e.hasOwnProperty(mn)?e[mn]:void 0;return typeof t=="number"?t>=0?t&su:Yh:t}function Ql(e,t,n){let r=1<<e;return!!(n[t+(e>>au)]&r)}function Yl(e,t){return!(e&C.Self)&&!(e&C.Host&&t)}var Wr=class{_tNode;_lView;constructor(t,n){this._tNode=t,this._lView=n}get(t,n,r){return fu(this._tNode,this._lView,t,ro(r),n)}};function Yh(){return new Wr(Ge(),H())}function hu(e){return to(()=>{let t=e.prototype.constructor,n=t[Or]||rs(t),r=Object.prototype,o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){let i=o[Or]||rs(o);if(i&&i!==n)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function rs(e){return bc(e)?()=>{let t=rs(K(e));return t&&t()}:St(e)}function Kh(e,t,n,r,o){let i=e,s=t;for(;i!==null&&s!==null&&s[_]&2048&&!Ur(s);){let a=pu(i,s,n,r|C.Self,Ee);if(a!==Ee)return a;let l=i.parent;if(!l){let c=s[kc];if(c){let u=c.get(n,Ee,r);if(u!==Ee)return u}l=gu(s),s=s[Pt]}i=l}return o}function gu(e){let t=e[S],n=t.type;return n===2?t.declTNode:n===1?e[_e]:null}function Kl(e,t=null,n=null,r){let o=Jh(e,t,n,r);return o.resolveInjectorInitializers(),o}function Jh(e,t=null,n=null,r,o=new Set){let i=[n||oe,Xp(e)];return r=r||(typeof e=="object"?void 0:ie(e)),new yn(i,t||As(),r||null,o)}var Ue=class e{static THROW_IF_NOT_FOUND=ot;static NULL=new Fr;static create(t,n){if(Array.isArray(t))return Kl({name:""},n,t,"");{let r=t.name??"";return Kl({name:r},t.parent,t.providers,r)}}static \u0275prov=A({token:e,providedIn:"any",factory:()=>T(Tc)});static __NG_ELEMENT_ID__=-1};var Xh=new v("");Xh.__NG_ELEMENT_ID__=e=>{let t=Ge();if(t===null)throw new E(204,!1);if(t.type&2)return t.value;if(e&C.Optional)return null;throw new E(204,!1)};var mu=!1,fo=(()=>{class e{static __NG_ELEMENT_ID__=eg;static __NG_ENV_ID__=n=>n}return e})(),os=class extends fo{_lView;constructor(t){super(),this._lView=t}onDestroy(t){let n=this._lView;return Lt(n)?(t(),()=>{}):($c(n,t),()=>yh(n,t))}};function eg(){return new os(H())}var $e=class{},Us=new v("",{providedIn:"root",factory:()=>!1});var yu=new v(""),$s=new v(""),Vt=(()=>{class e{taskId=0;pendingTasks=new Set;get _hasPendingTasks(){return this.hasPendingTasks.value}hasPendingTasks=new sn(!1);add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),n}has(n){return this.pendingTasks.has(n)}remove(n){this.pendingTasks.delete(n),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static \u0275prov=A({token:e,providedIn:"root",factory:()=>new e})}return e})();var is=class extends de{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(t=!1){super(),this.__isAsync=t,ch()&&(this.destroyRef=w(fo,{optional:!0})??void 0,this.pendingTasks=w(Vt,{optional:!0})??void 0)}emit(t){let n=I(null);try{super.next(t)}finally{I(n)}}subscribe(t,n,r){let o=t,i=n||(()=>null),s=r;if(t&&typeof t=="object"){let l=t;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=this.wrapInTimeout(i),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:o,error:i,complete:s});return t instanceof q&&t.add(a),a}wrapInTimeout(t){return n=>{let r=this.pendingTasks?.add();setTimeout(()=>{try{t(n)}finally{r!==void 0&&this.pendingTasks?.remove(r)}})}}},Z=is;function qr(...e){}function vu(e){let t,n;function r(){e=qr;try{n!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function Jl(e){return queueMicrotask(()=>e()),()=>{e=qr}}var zs="isAngularZone",Zr=zs+"_ID",tg=0,B=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Z(!1);onMicrotaskEmpty=new Z(!1);onStable=new Z(!1);onError=new Z(!1);constructor(t){let{enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:i=mu}=t;if(typeof Zone>"u")throw new E(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!o&&r,s.shouldCoalesceRunChangeDetection=o,s.callbackScheduled=!1,s.scheduleInRootZone=i,og(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(zs)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new E(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new E(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,o){let i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,ng,qr,qr);try{return i.runTask(s,n,r)}finally{i.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}},ng={};function Gs(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function rg(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){vu(()=>{e.callbackScheduled=!1,ss(e),e.isCheckStableRunning=!0,Gs(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),ss(e)}function og(e){let t=()=>{rg(e)},n=tg++;e._inner=e._inner.fork({name:"angular",properties:{[zs]:!0,[Zr]:n,[Zr+n]:!0},onInvokeTask:(r,o,i,s,a,l)=>{if(ig(l))return r.invokeTask(i,s,a,l);try{return Xl(e),r.invokeTask(i,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&t(),ec(e)}},onInvoke:(r,o,i,s,a,l,c)=>{try{return Xl(e),r.invoke(i,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!sg(l)&&t(),ec(e)}},onHasTask:(r,o,i,s)=>{r.hasTask(i,s),o===i&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,ss(e),Gs(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,o,i,s)=>(r.handleError(i,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function ss(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function Xl(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ec(e){e._nesting--,Gs(e)}var Qr=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Z;onMicrotaskEmpty=new Z;onStable=new Z;onError=new Z;run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,o){return t.apply(n,r)}};function ig(e){return Eu(e,"__ignore_ng_zone__")}function sg(e){return Eu(e,"__scheduler_tick__")}function Eu(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var Ae=class{_console=console;handleError(t){this._console.error("ERROR",t)}},ag=new v("",{providedIn:"root",factory:()=>{let e=w(B),t=w(Ae);return n=>e.runOutsideAngular(()=>t.handleError(n))}});function lg(){return bu(Ge(),H())}function bu(e,t){return new jt(ke(e,t))}var jt=(()=>{class e{nativeElement;constructor(n){this.nativeElement=n}static __NG_ELEMENT_ID__=lg}return e})();function ee(e,t){let n=fi(e,t?.equal),r=n[ve];return n.set=o=>tr(r,o),n.update=o=>pi(r,o),n.asReadonly=cg.bind(n),n}function cg(){let e=this[ve];if(e.readonlyFn===void 0){let t=()=>this();t[ve]=e,e.readonlyFn=t}return e.readonlyFn}function wu(e){return(e.flags&128)===128}var _u=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(_u||{}),Iu=new Map,ug=0;function dg(){return ug++}function fg(e){Iu.set(e[so],e)}function as(e){Iu.delete(e[so])}var tc="__ngContext__";function Sn(e,t){He(t)?(e[tc]=t[so],fg(t)):e[tc]=t}function Du(e){return Mu(e[vn])}function Cu(e){return Mu(e[pe])}function Mu(e){for(;e!==null&&!dt(e);)e=e[pe];return e}var ls;function Su(e){ls=e}function pg(){if(ls!==void 0)return ls;if(typeof document<"u")return document;throw new E(210,!1)}var Ws=new v("",{providedIn:"root",factory:()=>hg}),hg="ng",qs=new v(""),Tn=new v("",{providedIn:"platform",factory:()=>"unknown"});var Zs=new v("",{providedIn:"root",factory:()=>pg().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var gg="h",mg="b";var Tu=!1,yg=new v("",{providedIn:"root",factory:()=>Tu});var xu=function(e){return e[e.CHANGE_DETECTION=0]="CHANGE_DETECTION",e[e.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",e}(xu||{}),po=new v(""),nc=new Set;function Qs(e){nc.has(e)||(nc.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}var vg=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=A({token:e,providedIn:"root",factory:()=>new e})}return e})();var Eg=(e,t,n,r)=>{};function bg(e,t,n,r){Eg(e,t,n,r)}var wg=()=>null;function Nu(e,t,n=!1){return wg(e,t,n)}function Ru(e,t){let n=e.contentQueries;if(n!==null){let r=I(null);try{for(let o=0;o<n.length;o+=2){let i=n[o],s=n[o+1];if(s!==-1){let a=e.data[s];Yc(i),a.contentQueries(2,t[s],s)}}}finally{I(r)}}}function cs(e,t,n){Yc(0);let r=I(null);try{t(e,n)}finally{I(r)}}function Au(e,t,n){if(Lc(t)){let r=I(null);try{let o=t.directiveStart,i=t.directiveEnd;for(let s=o;s<i;s++){let a=e.data[s];if(a.contentQueries){let l=n[s];a.contentQueries(1,l,s)}}}finally{I(r)}}}var we=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(we||{});var Yr=class{changingThisBreaksApplicationSecurity;constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ec})`}};function Ou(e){return e instanceof Yr?e.changingThisBreaksApplicationSecurity:e}function _g(e,t){let n=Ig(e);if(n!=null&&n!==t){if(n==="ResourceURL"&&t==="URL")return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${Ec})`)}return n===t}function Ig(e){return e instanceof Yr&&e.getTypeName()||null}var Dg=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Cg(e){return e=String(e),e.match(Dg)?e:"unsafe:"+e}function Mg(e,t){return e.createText(t)}function Sg(e,t,n){e.setValue(t,n)}function ku(e,t,n){return e.createElement(t,n)}function us(e,t,n,r,o){e.insertBefore(t,n,r,o)}function Pu(e,t,n){e.appendChild(t,n)}function rc(e,t,n,r,o){r!==null?us(e,t,n,r,o):Pu(e,t,n)}function Tg(e,t,n){e.removeChild(null,t,n)}function xg(e,t,n){e.setAttribute(t,"style",n)}function Ng(e,t,n){n===""?e.removeAttribute(t,"class"):e.setAttribute(t,"class",n)}function Lu(e,t,n){let{mergedAttrs:r,classes:o,styles:i}=n;r!==null&&jh(e,t,r),o!==null&&Ng(e,t,o),i!==null&&xg(e,t,i)}var Fu=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fu||{});function Vu(e){let t=Rg();return t?t.sanitize(Fu.URL,e)||"":_g(e,"URL")?Ou(e):Cg(no(e))}function Rg(){let e=H();return e&&e[Te].sanitizer}function Ag(e,t,n){let r=e.length;for(;;){let o=e.indexOf(t,n);if(o===-1)return o;if(o===0||e.charCodeAt(o-1)<=32){let i=t.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}n=o+1}}var ju="ng-template";function Og(e,t,n,r){let o=0;if(r){for(;o<t.length&&typeof t[o]=="string";o+=2)if(t[o]==="class"&&Ag(t[o+1].toLowerCase(),n,0)!==-1)return!0}else if(Ys(e))return!1;if(o=t.indexOf(1,o),o>-1){let i;for(;++o<t.length&&typeof(i=t[o])=="string";)if(i.toLowerCase()===n)return!0}return!1}function Ys(e){return e.type===4&&e.value!==ju}function kg(e,t,n){let r=e.type===4&&!n?ju:e.value;return t===r}function Pg(e,t,n){let r=4,o=e.attrs,i=o!==null?Vg(o):0,s=!1;for(let a=0;a<t.length;a++){let l=t[a];if(typeof l=="number"){if(!s&&!fe(r)&&!fe(l))return!1;if(s&&fe(l))continue;s=!1,r=l|r&1;continue}if(!s)if(r&4){if(r=2|r&1,l!==""&&!kg(e,l,n)||l===""&&t.length===1){if(fe(r))return!1;s=!0}}else if(r&8){if(o===null||!Og(e,o,l,n)){if(fe(r))return!1;s=!0}}else{let c=t[++a],u=Lg(l,o,Ys(e),n);if(u===-1){if(fe(r))return!1;s=!0;continue}if(c!==""){let f;if(u>i?f="":f=o[u+1].toLowerCase(),r&2&&c!==f){if(fe(r))return!1;s=!0}}}}return fe(r)||s}function fe(e){return(e&1)===0}function Lg(e,t,n,r){if(t===null)return-1;let o=0;if(r||!n){let i=!1;for(;o<t.length;){let s=t[o];if(s===e)return o;if(s===3||s===6)i=!0;else if(s===1||s===2){let a=t[++o];for(;typeof a=="string";)a=t[++o];continue}else{if(s===4)break;if(s===0){o+=4;continue}}o+=i?1:2}return-1}else return jg(t,e)}function Fg(e,t,n=!1){for(let r=0;r<t.length;r++)if(Pg(e,t[r],n))return!0;return!1}function Vg(e){for(let t=0;t<e.length;t++){let n=e[t];if(Bh(n))return t}return e.length}function jg(e,t){let n=e.indexOf(4);if(n>-1)for(n++;n<e.length;){let r=e[n];if(typeof r=="number")return-1;if(r===t)return n;n++}return-1}function oc(e,t){return e?":not("+t.trim()+")":t}function Bg(e){let t=e[0],n=1,r=2,o="",i=!1;for(;n<e.length;){let s=e[n];if(typeof s=="string")if(r&2){let a=e[++n];o+="["+s+(a.length>0?'="'+a+'"':"")+"]"}else r&8?o+="."+s:r&4&&(o+=" "+s);else o!==""&&!fe(s)&&(t+=oc(i,o),o=""),r=s,i=i||!fe(r);n++}return o!==""&&(t+=oc(i,o)),t}function Hg(e){return e.map(Bg).join(",")}function Ug(e){let t=[],n=[],r=1,o=2;for(;r<e.length;){let i=e[r];if(typeof i=="string")o===2?i!==""&&t.push(i,e[++r]):o===8&&n.push(i);else{if(!fe(o))break;o=i}r++}return n.length&&t.push(1,...n),t}var ft={};function Ks(e,t,n,r,o,i,s,a,l,c,u){let f=he+r,p=f+o,d=$g(f,p),h=typeof c=="function"?c():c;return d[S]={type:e,blueprint:d,template:n,queries:null,viewQuery:a,declTNode:t,data:d.slice().fill(null,f),bindingStartIndex:f,expandoStartIndex:p,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:typeof i=="function"?i():i,pipeRegistry:typeof s=="function"?s():s,firstChild:null,schemas:l,consts:h,incompleteFirstPass:!1,ssrId:u}}function $g(e,t){let n=[];for(let r=0;r<t;r++)n.push(r<e?null:ft);return n}function zg(e){let t=e.tView;return t===null||t.incompleteFirstPass?e.tView=Ks(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):t}function Js(e,t,n,r,o,i,s,a,l,c,u){let f=t.blueprint.slice();return f[Oe]=o,f[_]=r|4|128|8|64|1024,(c!==null||e&&e[_]&2048)&&(f[_]|=2048),Uc(f),f[le]=f[Pt]=e,f[J]=n,f[Te]=s||e&&e[Te],f[Q]=a||e&&e[Q],f[xt]=l||e&&e[xt]||null,f[_e]=i,f[so]=dg(),f[Vr]=u,f[kc]=c,f[xe]=t.type==2?e[xe]:f,f}function Gg(e,t,n){let r=ke(t,e),o=zg(n),i=e[Te].rendererFactory,s=Uu(e,Js(e,o,null,Bu(n),r,t,null,i.createRenderer(r,n),null,null,null));return e[t.index]=s}function Bu(e){let t=16;return e.signals?t=4096:e.onPush&&(t=64),t}function Hu(e,t,n,r){if(n===0)return-1;let o=t.length;for(let i=0;i<n;i++)t.push(r),e.blueprint.push(r),e.data.push(null);return o}function Uu(e,t){return e[vn]?e[$l][pe]=t:e[vn]=t,e[$l]=t,t}function F(e=1){$u(ge(),H(),Ft()+e,!1)}function $u(e,t,n,r){if(!r)if((t[_]&3)===3){let i=e.preOrderCheckHooks;i!==null&&xr(t,i,n)}else{let i=e.preOrderHooks;i!==null&&Nr(t,i,0,n)}at(n)}var ho=function(e){return e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",e}(ho||{});function ds(e,t,n,r){let o=I(null);try{let[i,s,a]=e.inputs[n],l=null;(s&ho.SignalBased)!==0&&(l=t[i][ve]),l!==null&&l.transformFn!==void 0?r=l.transformFn(r):a!==null&&(r=a.call(t,r)),e.setInput!==null?e.setInput(t,l,r,n,i):Fc(t,l,i,r)}finally{I(o)}}function zu(e,t,n,r,o){let i=Ft(),s=r&2;try{at(-1),s&&t.length>he&&$u(e,t,he,!1),P(s?2:0,o),n(r,o)}finally{at(i),P(s?3:1,o)}}function Xs(e,t,n){Jg(e,t,n),(n.flags&64)===64&&Xg(e,t,n)}function Gu(e,t,n=ke){let r=t.localNames;if(r!==null){let o=t.index+1;for(let i=0;i<r.length;i+=2){let s=r[i+1],a=s===-1?n(t,e):e[s];e[o++]=a}}}function Wg(e,t,n,r){let i=r.get(yg,Tu)||n===we.ShadowDom,s=e.selectRootElement(t,i);return qg(s),s}function qg(e){Zg(e)}var Zg=()=>null;function Qg(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function Yg(e,t,n,r,o,i,s,a){if(!a&&ea(t,e,n,r,o)){Dn(t)&&Kg(n,t.index);return}if(t.type&3){let l=ke(t,n);r=Qg(r),o=s!=null?s(o,t.value||"",r):o,i.setProperty(l,r,o)}else t.type&12}function Kg(e,t){let n=Re(t,e);n[_]&16||(n[_]|=64)}function Jg(e,t,n){let r=n.directiveStart,o=n.directiveEnd;Dn(n)&&Gg(t,n,e.data[r+n.componentOffset]),e.firstCreatePass||zr(n,t);let i=n.initialInputs;for(let s=r;s<o;s++){let a=e.data[s],l=Gr(t,e,s,n);if(Sn(l,t),i!==null&&rm(t,s-r,l,a,n,i),be(a)){let c=Re(n.index,t);c[J]=Gr(t,e,s,n)}}}function Xg(e,t,n){let r=n.directiveStart,o=n.directiveEnd,i=n.index,s=Nh();try{at(i);for(let a=r;a<o;a++){let l=e.data[a],c=t[a];Ji(a),(l.hostBindings!==null||l.hostVars!==0||l.hostAttrs!==null)&&em(l,c)}}finally{at(-1),Ji(s)}}function em(e,t){e.hostBindings!==null&&e.hostBindings(1,t)}function Wu(e,t){let n=e.directiveRegistry,r=null;if(n)for(let o=0;o<n.length;o++){let i=n[o];Fg(t,i.selectors,!1)&&(r??=[],be(i)?r.unshift(i):r.push(i))}return r}function tm(e,t,n,r,o,i){let s=ke(e,t);nm(t[Q],s,i,e.value,n,r,o)}function nm(e,t,n,r,o,i,s){if(i==null)e.removeAttribute(t,o,n);else{let a=s==null?no(i):s(i,r||"",o);e.setAttribute(t,o,a,n)}}function rm(e,t,n,r,o,i){let s=i[t];if(s!==null)for(let a=0;a<s.length;a+=2){let l=s[a],c=s[a+1];ds(r,n,l,c)}}function om(e,t){let n=e[xt],r=n?n.get(Ae,null):null;r&&r.handleError(t)}function ea(e,t,n,r,o){let i=e.inputs?.[r],s=e.hostDirectiveInputs?.[r],a=!1;if(s)for(let l=0;l<s.length;l+=2){let c=s[l],u=s[l+1],f=t.data[c];ds(f,n[c],u,o),a=!0}if(i)for(let l of i){let c=n[l],u=t.data[l];ds(u,c,r,o),a=!0}return a}function im(e,t){let n=Re(t,e),r=n[S];sm(r,n);let o=n[Oe];o!==null&&n[Vr]===null&&(n[Vr]=Nu(o,n[xt])),P(18),ta(r,n,n[J]),P(19,n[J])}function sm(e,t){for(let n=t.length;n<e.blueprint.length;n++)t.push(e.blueprint[n])}function ta(e,t,n){Vs(t);try{let r=e.viewQuery;r!==null&&cs(1,r,n);let o=e.template;o!==null&&zu(e,t,o,1,n),e.firstCreatePass&&(e.firstCreatePass=!1),t[Rt]?.finishViewCreation(e),e.staticContentQueries&&Ru(e,t),e.staticViewQueries&&cs(2,e.viewQuery,n);let i=e.components;i!==null&&am(t,i)}catch(r){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),r}finally{t[_]&=-5,js()}}function am(e,t){for(let n=0;n<t.length;n++)im(e,t[n])}function lm(e,t,n,r){let o=I(null);try{let i=t.tView,a=e[_]&4096?4096:16,l=Js(e,i,n,a,null,t,null,null,r?.injector??null,r?.embeddedViewInjector??null,r?.dehydratedView??null),c=e[t.index];l[Nt]=c;let u=e[Rt];return u!==null&&(l[Rt]=u.createEmbeddedView(i)),ta(i,l,n),l}finally{I(o)}}function cm(e,t){return!t||t.firstChild===null||wu(e)}var um;function na(e,t){return um(e,t)}var ze=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(ze||{});function qu(e){return(e.flags&32)===32}function Ct(e,t,n,r,o){if(r!=null){let i,s=!1;dt(r)?i=r:He(r)&&(s=!0,r=r[Oe]);let a=Ne(r);e===0&&n!==null?o==null?Pu(t,n,a):us(t,n,a,o||null,!0):e===1&&n!==null?us(t,n,a,o||null,!0):e===2?Tg(t,a,s):e===3&&t.destroyNode(a),i!=null&&_m(t,e,i,n,o)}}function dm(e,t){Zu(e,t),t[Oe]=null,t[_e]=null}function fm(e,t,n,r,o,i){r[Oe]=o,r[_e]=t,go(e,r,n,1,o,i)}function Zu(e,t){t[Te].changeDetectionScheduler?.notify(9),go(e,t,t[Q],2,null,null)}function pm(e){let t=e[vn];if(!t)return Fi(e[S],e);for(;t;){let n=null;if(He(t))n=t[vn];else{let r=t[ae];r&&(n=r)}if(!n){for(;t&&!t[pe]&&t!==e;)He(t)&&Fi(t[S],t),t=t[le];t===null&&(t=e),He(t)&&Fi(t[S],t),n=t&&t[pe]}t=n}}function ra(e,t){let n=e[Hr],r=n.indexOf(t);n.splice(r,1)}function Qu(e,t){if(Lt(t))return;let n=t[Q];n.destroyNode&&go(e,t,n,3,null,null),pm(t)}function Fi(e,t){if(Lt(t))return;let n=I(null);try{t[_]&=-129,t[_]|=256,t[se]&&ci(t[se]),gm(e,t),hm(e,t),t[S].type===1&&t[Q].destroy();let r=t[Nt];if(r!==null&&dt(t[le])){r!==t[le]&&ra(r,t);let o=t[Rt];o!==null&&o.detachView(e)}as(t)}finally{I(n)}}function hm(e,t){let n=e.cleanup,r=t[jr];if(n!==null)for(let s=0;s<n.length-1;s+=2)if(typeof n[s]=="string"){let a=n[s+3];a>=0?r[a]():r[-a].unsubscribe(),s+=2}else{let a=r[n[s+1]];n[s].call(a)}r!==null&&(t[jr]=null);let o=t[Be];if(o!==null){t[Be]=null;for(let s=0;s<o.length;s++){let a=o[s];a()}}let i=t[Br];if(i!==null){t[Br]=null;for(let s of i)s.destroy()}}function gm(e,t){let n;if(e!=null&&(n=e.destroyHooks)!=null)for(let r=0;r<n.length;r+=2){let o=t[n[r]];if(!(o instanceof lt)){let i=n[r+1];if(Array.isArray(i))for(let s=0;s<i.length;s+=2){let a=o[i[s]],l=i[s+1];P(4,a,l);try{l.call(a)}finally{P(5,a,l)}}else{P(4,o,i);try{i.call(o)}finally{P(5,o,i)}}}}}function mm(e,t,n){return ym(e,t.parent,n)}function ym(e,t,n){let r=t;for(;r!==null&&r.type&168;)t=r,r=t.parent;if(r===null)return n[Oe];if(Dn(r)){let{encapsulation:o}=e.data[r.directiveStart+r.componentOffset];if(o===we.None||o===we.Emulated)return null}return ke(r,n)}function vm(e,t,n){return bm(e,t,n)}function Em(e,t,n){return e.type&40?ke(e,n):null}var bm=Em,ic;function oa(e,t,n,r){let o=mm(e,r,t),i=t[Q],s=r.parent||t[_e],a=vm(s,r,t);if(o!=null)if(Array.isArray(n))for(let l=0;l<n.length;l++)rc(i,o,n[l],a,!1);else rc(i,o,n,a,!1);ic!==void 0&&ic(i,r,t,n,o)}function gn(e,t){if(t!==null){let n=t.type;if(n&3)return ke(t,e);if(n&4)return fs(-1,e[t.index]);if(n&8){let r=t.child;if(r!==null)return gn(e,r);{let o=e[t.index];return dt(o)?fs(-1,o):Ne(o)}}else{if(n&128)return gn(e,t.next);if(n&32)return na(t,e)()||Ne(e[t.index]);{let r=Yu(e,t);if(r!==null){if(Array.isArray(r))return r[0];let o=st(e[xe]);return gn(o,r)}else return gn(e,t.next)}}}return null}function Yu(e,t){if(t!==null){let r=e[xe][_e],o=t.projection;return r.projection[o]}return null}function fs(e,t){let n=ae+e+1;if(n<t.length){let r=t[n],o=r[S].firstChild;if(o!==null)return gn(r,o)}return t[En]}function ia(e,t,n,r,o,i,s){for(;n!=null;){if(n.type===128){n=n.next;continue}let a=r[n.index],l=n.type;if(s&&t===0&&(a&&Sn(Ne(a),r),n.flags|=2),!qu(n))if(l&8)ia(e,t,n.child,r,o,i,!1),Ct(t,e,o,a,i);else if(l&32){let c=na(n,r),u;for(;u=c();)Ct(t,e,o,u,i);Ct(t,e,o,a,i)}else l&16?wm(e,t,r,n,o,i):Ct(t,e,o,a,i);n=s?n.projectionNext:n.next}}function go(e,t,n,r,o,i){ia(n,r,e.firstChild,t,o,i,!1)}function wm(e,t,n,r,o,i){let s=n[xe],l=s[_e].projection[r.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++){let u=l[c];Ct(t,e,o,u,i)}else{let c=l,u=s[le];wu(r)&&(c.flags|=128),ia(e,t,c,u,o,i,!0)}}function _m(e,t,n,r,o){let i=n[En],s=Ne(n);i!==s&&Ct(t,e,r,i,o);for(let a=ae;a<n.length;a++){let l=n[a];go(l[S],l,e,t,r,i)}}function Im(e,t,n,r,o){if(t)o?e.addClass(n,r):e.removeClass(n,r);else{let i=r.indexOf("-")===-1?void 0:ze.DashCase;o==null?e.removeStyle(n,r,i):(typeof o=="string"&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=ze.Important),e.setStyle(n,r,o,i))}}function Kr(e,t,n,r,o=!1){for(;n!==null;){if(n.type===128){n=o?n.projectionNext:n.next;continue}let i=t[n.index];i!==null&&r.push(Ne(i)),dt(i)&&Dm(i,r);let s=n.type;if(s&8)Kr(e,t,n.child,r);else if(s&32){let a=na(n,t),l;for(;l=a();)r.push(l)}else if(s&16){let a=Yu(t,n);if(Array.isArray(a))r.push(...a);else{let l=st(t[xe]);Kr(l[S],l,a,r,!0)}}n=o?n.projectionNext:n.next}return r}function Dm(e,t){for(let n=ae;n<e.length;n++){let r=e[n],o=r[S].firstChild;o!==null&&Kr(r[S],r,o,t)}e[En]!==e[Oe]&&t.push(e[En])}function Ku(e){if(e[ki]!==null){for(let t of e[ki])t.impl.addSequence(t);e[ki].length=0}}var Ju=[];function Cm(e){return e[se]??Mm(e)}function Mm(e){let t=Ju.pop()??Object.create(Tm);return t.lView=e,t}function Sm(e){e.lView[se]!==e&&(e.lView=null,Ju.push(e))}var Tm=N(y({},rn),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{ao(e.lView)},consumerOnSignalRead(){this.lView[se]=this}});function xm(e){let t=e[se]??Object.create(Nm);return t.lView=e,t}var Nm=N(y({},rn),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let t=st(e.lView);for(;t&&!Xu(t[S]);)t=st(t);t&&Fs(t)},consumerOnSignalRead(){this.lView[se]=this}});function Xu(e){return e.type!==2}function ed(e){if(e[Br]===null)return;let t=!0;for(;t;){let n=!1;for(let r of e[Br])r.dirty&&(n=!0,r.zone===null||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));t=n&&!!(e[_]&8192)}}var Rm=100;function td(e,t=!0,n=0){let o=e[Te].rendererFactory,i=!1;i||o.begin?.();try{Am(e,n)}catch(s){throw t&&om(e,s),s}finally{i||o.end?.()}}function Am(e,t){let n=Qc();try{Gl(!0),ps(e,t);let r=0;for(;Cn(e);){if(r===Rm)throw new E(103,!1);r++,ps(e,1)}}finally{Gl(n)}}function Om(e,t,n,r){if(Lt(t))return;let o=t[_],i=!1,s=!1;Vs(t);let a=!0,l=null,c=null;i||(Xu(e)?(c=Cm(t),l=Jn(c)):ri()===null?(a=!1,c=xm(t),l=Jn(c)):t[se]&&(ci(t[se]),t[se]=null));try{Uc(t),Mh(e.bindingStartIndex),n!==null&&zu(e,t,n,2,r);let u=(o&3)===3;if(!i)if(u){let d=e.preOrderCheckHooks;d!==null&&xr(t,d,null)}else{let d=e.preOrderHooks;d!==null&&Nr(t,d,0,null),Pi(t,0)}if(s||km(t),ed(t),nd(t,0),e.contentQueries!==null&&Ru(e,t),!i)if(u){let d=e.contentCheckHooks;d!==null&&xr(t,d)}else{let d=e.contentHooks;d!==null&&Nr(t,d,1),Pi(t,1)}Lm(e,t);let f=e.components;f!==null&&od(t,f,0);let p=e.viewQuery;if(p!==null&&cs(2,p,r),!i)if(u){let d=e.viewCheckHooks;d!==null&&xr(t,d)}else{let d=e.viewHooks;d!==null&&Nr(t,d,2),Pi(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[Oi]){for(let d of t[Oi])d();t[Oi]=null}i||(Ku(t),t[_]&=-73)}catch(u){throw i||ao(t),u}finally{c!==null&&(ai(c,l),a&&Sm(c)),js()}}function nd(e,t){for(let n=Du(e);n!==null;n=Cu(n))for(let r=ae;r<n.length;r++){let o=n[r];rd(o,t)}}function km(e){for(let t=Du(e);t!==null;t=Cu(t)){if(!(t[_]&2))continue;let n=t[Hr];for(let r=0;r<n.length;r++){let o=n[r];Fs(o)}}}function Pm(e,t,n){P(18);let r=Re(t,e);rd(r,n),P(19,r[J])}function rd(e,t){Ls(e)&&ps(e,t)}function ps(e,t){let r=e[S],o=e[_],i=e[se],s=!!(t===0&&o&16);if(s||=!!(o&64&&t===0),s||=!!(o&1024),s||=!!(i?.dirty&&li(i)),s||=!1,i&&(i.dirty=!1),e[_]&=-9217,s)Om(r,e,r.template,e[J]);else if(o&8192){ed(e),nd(e,1);let a=r.components;a!==null&&od(e,a,1),Ku(e)}}function od(e,t,n){for(let r=0;r<t.length;r++)Pm(e,t[r],n)}function Lm(e,t){let n=e.hostBindingOpCodes;if(n!==null)try{for(let r=0;r<n.length;r++){let o=n[r];if(o<0)at(~o);else{let i=o,s=n[++r],a=n[++r];xh(s,i);let l=t[i];P(24,l),a(2,l),P(25,l)}}}finally{at(-1)}}function sa(e,t){let n=Qc()?64:1088;for(e[Te].changeDetectionScheduler?.notify(t);e;){e[_]|=n;let r=st(e);if(Ur(e)&&!r)return e;e=r}return null}function Fm(e,t,n,r){return[e,!0,0,t,null,r,null,n,null,null]}function Vm(e,t){let n=ae+t;if(n<e.length)return e[n]}function jm(e,t,n,r=!0){let o=t[S];if(Hm(o,t,e,n),r){let s=fs(n,e),a=t[Q],l=a.parentNode(e[En]);l!==null&&fm(o,e[_e],a,t,l,s)}let i=t[Vr];i!==null&&i.firstChild!==null&&(i.firstChild=null)}function Bm(e,t){let n=id(e,t);return n!==void 0&&Qu(n[S],n),n}function id(e,t){if(e.length<=ae)return;let n=ae+t,r=e[n];if(r){let o=r[Nt];o!==null&&o!==e&&ra(o,r),t>0&&(e[n-1][pe]=r[pe]);let i=Sc(e,ae+t);dm(r[S],r);let s=i[Rt];s!==null&&s.detachView(i[S]),r[le]=null,r[pe]=null,r[_]&=-129}return r}function Hm(e,t,n,r){let o=ae+r,i=n.length;r>0&&(n[o-1][pe]=t),r<i-ae?(t[pe]=n[o],qp(n,ae+r,t)):(n.push(t),t[pe]=null),t[le]=n;let s=t[Nt];s!==null&&n!==s&&sd(s,t);let a=t[Rt];a!==null&&a.insertView(e),Yi(t),t[_]|=128}function sd(e,t){let n=e[Hr],r=t[le];if(He(r))e[_]|=2;else{let o=r[le][xe];t[xe]!==o&&(e[_]|=2)}n===null?e[Hr]=[t]:n.push(t)}var Um=class{_lView;_cdRefInjectingView;notifyErrorHandler;_appRef=null;_attachedToViewContainer=!1;get rootNodes(){let t=this._lView,n=t[S];return Kr(n,t,n.firstChild,[])}constructor(t,n,r=!0){this._lView=t,this._cdRefInjectingView=n,this.notifyErrorHandler=r}get context(){return this._lView[J]}set context(t){this._lView[J]=t}get destroyed(){return Lt(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){let t=this._lView[le];if(dt(t)){let n=t[uh],r=n?n.indexOf(this):-1;r>-1&&(id(t,r),Sc(n,r))}this._attachedToViewContainer=!1}Qu(this._lView[S],this._lView)}onDestroy(t){$c(this._lView,t)}markForCheck(){sa(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[_]&=-129}reattach(){Yi(this._lView),this._lView[_]|=128}detectChanges(){this._lView[_]|=1024,td(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new E(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let t=Ur(this._lView),n=this._lView[Nt];n!==null&&!t&&ra(n,this._lView),Zu(this._lView[S],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new E(902,!1);this._appRef=t;let n=Ur(this._lView),r=this._lView[Nt];r!==null&&!n&&sd(r,this._lView),Yi(this._lView)}};function ad(e){return Cn(e._lView)||!!(e._lView[_]&64)}function ld(e){Fs(e._cdRefInjectingView||e._lView)}function aa(e,t,n,r,o){let i=e.data[t];if(i===null)i=$m(e,t,n,r,o),Th()&&(i.flags|=32);else if(i.type&64){i.type=n,i.value=r,i.attrs=o;let s=Dh();i.injectorIndex=s===null?-1:s.injectorIndex}return Mn(i,!0),i}function $m(e,t,n,r,o){let i=qc(),s=Zc(),a=s?i:i&&i.parent,l=e.data[t]=Gm(e,a,n,t,r,o);return zm(e,l,i,s),l}function zm(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function Gm(e,t,n,r,o,i){let s=t?t.injectorIndex:-1,a=0;return wh()&&(a|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}var yC=new RegExp(`^(\\d+)*(${mg}|${gg})*(.*)`);var Wm=()=>null;function qm(e,t){return Wm(e,t)}var Zm=class{},cd=class{},hs=class{resolveComponentFactory(t){throw Error(`No component factory found for ${ie(t)}.`)}},Bt=class{static NULL=new hs},At=class{},la=(()=>{class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>Qm()}return e})();function Qm(){let e=H(),t=Ge(),n=Re(t.index,e);return(He(n)?n:e)[Q]}var Ym=(()=>{class e{static \u0275prov=A({token:e,providedIn:"root",factory:()=>null})}return e})();var Vi={},gs=class{injector;parentInjector;constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){r=ro(r);let o=this.injector.get(t,Vi,r);return o!==Vi||n===Vi?o:this.parentInjector.get(t,n,r)}};function sc(e,t,n){let r=n?e.styles:null,o=n?e.classes:null,i=0;if(t!==null)for(let s=0;s<t.length;s++){let a=t[s];if(typeof a=="number")i=a;else if(i==1)o=Ll(o,a);else if(i==2){let l=a,c=t[++s];r=Ll(r,l+": "+c+";")}}n?e.styles=r:e.stylesWithoutHost=r,n?e.classes=o:e.classesWithoutHost=o}function z(e,t=C.Default){let n=H();if(n===null)return T(e,t);let r=Ge();return fu(r,n,K(e),t)}function ud(e,t,n,r,o){let i=r===null?null:{"":-1},s=o(e,n);if(s!==null){let a,l=null,c=null,u=Jm(s);u===null?a=s:[a,l,c]=u,ty(e,t,n,a,i,l,c)}i!==null&&r!==null&&Km(n,r,i)}function Km(e,t,n){let r=e.localNames=[];for(let o=0;o<t.length;o+=2){let i=n[t[o+1]];if(i==null)throw new E(-301,!1);r.push(t[o],i)}}function Jm(e){let t=null,n=!1;for(let s=0;s<e.length;s++){let a=e[s];if(s===0&&be(a)&&(t=a),a.findHostDirectiveDefs!==null){n=!0;break}}if(!n)return null;let r=null,o=null,i=null;for(let s of e)s.findHostDirectiveDefs!==null&&(r??=[],o??=new Map,i??=new Map,Xm(s,r,i,o)),s===t&&(r??=[],r.push(s));return r!==null?(r.push(...t===null?e:e.slice(1)),[r,o,i]):null}function Xm(e,t,n,r){let o=t.length;e.findHostDirectiveDefs(e,t,r),n.set(e,[o,t.length-1])}function ey(e,t,n){t.componentOffset=n,(e.components??=[]).push(t.index)}function ty(e,t,n,r,o,i,s){let a=r.length,l=!1;for(let p=0;p<a;p++){let d=r[p];!l&&be(d)&&(l=!0,ey(e,n,p)),ns(zr(n,t),e,d.type)}ay(n,e.data.length,a);for(let p=0;p<a;p++){let d=r[p];d.providersResolver&&d.providersResolver(d)}let c=!1,u=!1,f=Hu(e,t,a,null);a>0&&(n.directiveToIndex=new Map);for(let p=0;p<a;p++){let d=r[p];if(n.mergedAttrs=bn(n.mergedAttrs,d.hostAttrs),ry(e,n,t,f,d),sy(f,d,o),s!==null&&s.has(d)){let[g,b]=s.get(d);n.directiveToIndex.set(d.type,[f,g+n.directiveStart,b+n.directiveStart])}else(i===null||!i.has(d))&&n.directiveToIndex.set(d.type,f);d.contentQueries!==null&&(n.flags|=4),(d.hostBindings!==null||d.hostAttrs!==null||d.hostVars!==0)&&(n.flags|=64);let h=d.type.prototype;!c&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((e.preOrderHooks??=[]).push(n.index),c=!0),!u&&(h.ngOnChanges||h.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(n.index),u=!0),f++}ny(e,n,i)}function ny(e,t,n){for(let r=t.directiveStart;r<t.directiveEnd;r++){let o=e.data[r];if(n===null||!n.has(o))ac(0,t,o,r),ac(1,t,o,r),cc(t,r,!1);else{let i=n.get(o);lc(0,t,i,r),lc(1,t,i,r),cc(t,r,!0)}}}function ac(e,t,n,r){let o=e===0?n.inputs:n.outputs;for(let i in o)if(o.hasOwnProperty(i)){let s;e===0?s=t.inputs??={}:s=t.outputs??={},s[i]??=[],s[i].push(r),dd(t,i)}}function lc(e,t,n,r){let o=e===0?n.inputs:n.outputs;for(let i in o)if(o.hasOwnProperty(i)){let s=o[i],a;e===0?a=t.hostDirectiveInputs??={}:a=t.hostDirectiveOutputs??={},a[s]??=[],a[s].push(r,i),dd(t,s)}}function dd(e,t){t==="class"?e.flags|=8:t==="style"&&(e.flags|=16)}function cc(e,t,n){let{attrs:r,inputs:o,hostDirectiveInputs:i}=e;if(r===null||!n&&o===null||n&&i===null||Ys(e)){e.initialInputs??=[],e.initialInputs.push(null);return}let s=null,a=0;for(;a<r.length;){let l=r[a];if(l===0){a+=4;continue}else if(l===5){a+=2;continue}else if(typeof l=="number")break;if(!n&&o.hasOwnProperty(l)){let c=o[l];for(let u of c)if(u===t){s??=[],s.push(l,r[a+1]);break}}else if(n&&i.hasOwnProperty(l)){let c=i[l];for(let u=0;u<c.length;u+=2)if(c[u]===t){s??=[],s.push(c[u+1],r[a+1]);break}}a+=2}e.initialInputs??=[],e.initialInputs.push(s)}function ry(e,t,n,r,o){e.data[r]=o;let i=o.factory||(o.factory=St(o.type,!0)),s=new lt(i,be(o),z);e.blueprint[r]=s,n[r]=s,oy(e,t,r,Hu(e,n,o.hostVars,ft),o)}function oy(e,t,n,r,o){let i=o.hostBindings;if(i){let s=e.hostBindingOpCodes;s===null&&(s=e.hostBindingOpCodes=[]);let a=~t.index;iy(s)!=a&&s.push(a),s.push(n,r,i)}}function iy(e){let t=e.length;for(;t>0;){let n=e[--t];if(typeof n=="number"&&n<0)return n}return 0}function sy(e,t,n){if(n){if(t.exportAs)for(let r=0;r<t.exportAs.length;r++)n[t.exportAs[r]]=e;be(t)&&(n[""]=e)}}function ay(e,t,n){e.flags|=1,e.directiveStart=t,e.directiveEnd=t+n,e.providerIndexes=t}function fd(e,t,n,r,o,i,s,a){let l=t.consts,c=$r(l,s),u=aa(t,e,2,r,c);return i&&ud(t,n,u,$r(l,a),o),u.mergedAttrs=bn(u.mergedAttrs,u.attrs),u.attrs!==null&&sc(u,u.attrs,!1),u.mergedAttrs!==null&&sc(u,u.mergedAttrs,!0),t.queries!==null&&t.queries.elementStart(t,u),u}function pd(e,t){ou(e,t),Lc(t)&&e.queries.elementEnd(t)}var ms=class extends Bt{ngModule;constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){let n=xs(t);return new ys(n,this.ngModule)}};function ly(e){return Object.keys(e).map(t=>{let[n,r,o]=e[t],i={propName:n,templateName:t,isSignal:(r&ho.SignalBased)!==0};return o&&(i.transform=o),i})}function cy(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function uy(e,t,n){let r=t instanceof Se?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new gs(n,r):n}function dy(e){let t=e.get(At,null);if(t===null)throw new E(407,!1);let n=e.get(Ym,null),r=e.get($e,null);return{rendererFactory:t,sanitizer:n,changeDetectionScheduler:r}}function fy(e,t){let n=(e.selectors[0][0]||"div").toLowerCase();return ku(t,n,n==="svg"?hh:n==="math"?gh:null)}var ys=class extends cd{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=ly(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=cy(this.componentDef.outputs),this.cachedOutputs}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=Hg(t.selectors),this.ngContentSelectors=t.ngContentSelectors??[],this.isBoundToModule=!!n}create(t,n,r,o){P(22);let i=I(null);try{let s=this.componentDef,a=r?["ng-version","19.2.20"]:Ug(this.componentDef.selectors[0]),l=Ks(0,null,null,1,0,null,null,null,null,[a],null),c=uy(s,o||this.ngModule,t),u=dy(c),f=u.rendererFactory.createRenderer(null,s),p=r?Wg(f,r,s.encapsulation,c):fy(s,f),d=Js(null,l,null,512|Bu(s),null,null,u,f,c,null,Nu(p,c,!0));d[he]=p,Vs(d);let h=null;try{let g=fd(he,l,d,"#host",()=>[this.componentDef],!0,0);p&&(Lu(f,p,g),Sn(p,d)),Xs(l,d,g),Au(l,g,d),pd(l,g),n!==void 0&&py(g,this.ngContentSelectors,n),h=Re(g.index,d),d[J]=h[J],ta(l,d,null)}catch(g){throw h!==null&&as(h),as(d),g}finally{P(23),js()}return new vs(this.componentType,d)}finally{I(i)}}},vs=class extends Zm{_rootLView;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(t,n){super(),this._rootLView=n,this._tNode=Ps(n[S],he),this.location=bu(this._tNode,n),this.instance=Re(this._tNode.index,n)[J],this.hostView=this.changeDetectorRef=new Um(n,void 0,!1),this.componentType=t}setInput(t,n){let r=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),n))return;let o=this._rootLView,i=ea(r,o[S],o,t,n);this.previousInputValues.set(t,n);let s=Re(r.index,o);sa(s,1)}get injector(){return new Wr(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}};function py(e,t,n){let r=e.projection=[];for(let o=0;o<t.length;o++){let i=n[o];r.push(i!=null&&i.length?Array.from(i):null)}}var hy=()=>!1;function gy(e,t,n){return hy(e,t,n)}var Es=class{};var Jr=class extends Es{injector;componentFactoryResolver=new ms(this);instance=null;constructor(t){super();let n=new yn([...t.providers,{provide:Es,useValue:this},{provide:Bt,useValue:this.componentFactoryResolver}],t.parent||As(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}};function my(e,t,n=null){return new Jr({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var yy=(()=>{class e{_injector;cachedInjectors=new Map;constructor(n){this._injector=n}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let r=Nc(!1,n.type),o=r.length>0?my([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=A({token:e,providedIn:"environment",factory:()=>new e(T(Se))})}return e})();function hd(e){return to(()=>{let t=gd(e),n=N(y({},t),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===_u.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?o=>o.get(yy).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||we.Emulated,styles:e.styles||oe,_:null,schemas:e.schemas||null,tView:null,id:""});t.standalone&&Qs("NgStandalone"),md(n);let r=e.dependencies;return n.directiveDefs=uc(r,!1),n.pipeDefs=uc(r,!0),n.id=_y(n),n})}function vy(e){return xs(e)||Kp(e)}function Ey(e){return e!==null}function xn(e){return to(()=>({type:e.type,bootstrap:e.bootstrap||oe,declarations:e.declarations||oe,imports:e.imports||oe,exports:e.exports||oe,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function by(e,t){if(e==null)return it;let n={};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r],i,s,a,l;Array.isArray(o)?(a=o[0],i=o[1],s=o[2]??i,l=o[3]||null):(i=o,s=o,a=ho.None,l=null),n[i]=[r,a,l],t[i]=s}return n}function wy(e){if(e==null)return it;let t={};for(let n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function Pe(e){return to(()=>{let t=gd(e);return md(t),t})}function gd(e){let t={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||it,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||oe,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:by(e.inputs,t),outputs:wy(e.outputs),debugInfo:null}}function md(e){e.features?.forEach(t=>t(e))}function uc(e,t){if(!e)return null;let n=t?Jp:vy;return()=>(typeof e=="function"?e():e).map(r=>n(r)).filter(Ey)}function _y(e){let t=0,n=typeof e.consts=="function"?"":e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let i of r.join("|"))t=Math.imul(31,t)+i.charCodeAt(0)<<0;return t+=2147483648,"c"+t}function Iy(e){return Object.getPrototypeOf(e.prototype).constructor}function We(e){let t=Iy(e.type),n=!0,r=[e];for(;t;){let o;if(be(e))o=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new E(903,!1);o=t.\u0275dir}if(o){if(n){r.push(o);let s=e;s.inputs=ji(e.inputs),s.declaredInputs=ji(e.declaredInputs),s.outputs=ji(e.outputs);let a=o.hostBindings;a&&Ty(e,a);let l=o.viewQuery,c=o.contentQueries;if(l&&My(e,l),c&&Sy(e,c),Dy(e,o),Np(e.outputs,o.outputs),be(o)&&o.data.animation){let u=e.data;u.animation=(u.animation||[]).concat(o.data.animation)}}let i=o.features;if(i)for(let s=0;s<i.length;s++){let a=i[s];a&&a.ngInherit&&a(e),a===We&&(n=!1)}}t=Object.getPrototypeOf(t)}Cy(r)}function Dy(e,t){for(let n in t.inputs){if(!t.inputs.hasOwnProperty(n)||e.inputs.hasOwnProperty(n))continue;let r=t.inputs[n];r!==void 0&&(e.inputs[n]=r,e.declaredInputs[n]=t.declaredInputs[n])}}function Cy(e){let t=0,n=null;for(let r=e.length-1;r>=0;r--){let o=e[r];o.hostVars=t+=o.hostVars,o.hostAttrs=bn(o.hostAttrs,n=bn(n,o.hostAttrs))}}function ji(e){return e===it?{}:e===oe?[]:e}function My(e,t){let n=e.viewQuery;n?e.viewQuery=(r,o)=>{t(r,o),n(r,o)}:e.viewQuery=t}function Sy(e,t){let n=e.contentQueries;n?e.contentQueries=(r,o,i)=>{t(r,o,i),n(r,o,i)}:e.contentQueries=t}function Ty(e,t){let n=e.hostBindings;n?e.hostBindings=(r,o)=>{t(r,o),n(r,o)}:e.hostBindings=t}function Nn(e,t,n){let r=e[t];return Object.is(r,n)?!1:(e[t]=n,!0)}function xy(e,t,n,r,o,i,s,a,l){let c=t.consts,u=aa(t,e,4,s||null,a||null);Wc()&&ud(t,n,u,$r(c,l),Wu),u.mergedAttrs=bn(u.mergedAttrs,u.attrs),ou(t,u);let f=u.tView=Ks(2,u,r,o,i,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return t.queries!==null&&(t.queries.template(t,u),f.queries=t.queries.embeddedTView(u)),u}function Ny(e,t,n,r,o,i,s,a,l,c){let u=n+he,f=t.firstCreatePass?xy(u,t,e,r,o,i,s,a,l):t.data[u];Mn(f,!1);let p=Ry(t,e,f,n);Bs()&&oa(t,e,p,f),Sn(p,e);let d=Fm(p,e,p,f);return e[u]=d,Uu(e,d),gy(d,f,e),Os(f)&&Xs(t,e,f),l!=null&&Gu(e,f,c),f}function Le(e,t,n,r,o,i,s,a){let l=H(),c=ge(),u=$r(c.consts,i);return Ny(l,c,e,t,n,r,o,u,s,a),Le}var Ry=Ay;function Ay(e,t,n,r){return Hs(!0),t[Q].createComment("")}var yd=new v("");var Oy=(()=>{class e{static \u0275prov=A({token:e,providedIn:"root",factory:()=>new bs})}return e})(),bs=class{queuedEffectCount=0;queues=new Map;schedule(t){this.enqueue(t)}remove(t){let n=t.zone,r=this.queues.get(n);r.has(t)&&(r.delete(t),this.queuedEffectCount--)}enqueue(t){let n=t.zone;this.queues.has(n)||this.queues.set(n,new Set);let r=this.queues.get(n);r.has(t)||(this.queuedEffectCount++,r.add(t))}flush(){for(;this.queuedEffectCount>0;)for(let[t,n]of this.queues)t===null?this.flushQueue(n):t.run(()=>this.flushQueue(n))}flushQueue(t){for(let n of t)t.delete(n),this.queuedEffectCount--,n.run()}};function mo(e){return!!e&&typeof e.then=="function"}function ky(e){return!!e&&typeof e.subscribe=="function"}var Py=new v("");var vd=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r});appInits=w(Py,{optional:!0})??[];injector=w(Ue);constructor(){}runInitializers(){if(this.initialized)return;let n=[];for(let o of this.appInits){let i=io(this.injector,o);if(mo(i))n.push(i);else if(ky(i)){let s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});n.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),n.length===0&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Ly=new v("");function Fy(){di(()=>{throw new E(600,!1)})}function Vy(e){return e.isBoundToModule}var jy=10;var ct=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=w(ag);afterRenderManager=w(vg);zonelessEnabled=w(Us);rootEffectScheduler=w(Oy);dirtyFlags=0;tracingSnapshot=null;externalTestViews=new Set;afterTick=new de;get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];isStable=w(Vt).hasPendingTasks.pipe(X(n=>!n));constructor(){w(po,{optional:!0})}whenStable(){let n;return new Promise(r=>{n=this.isStable.subscribe({next:o=>{o&&r()}})}).finally(()=>{n.unsubscribe()})}_injector=w(Se);_rendererFactory=null;get injector(){return this._injector}bootstrap(n,r){return this.bootstrapImpl(n,r)}bootstrapImpl(n,r,o=Ue.NULL){P(10);let i=n instanceof cd;if(!this._injector.get(vd).done){let d="";throw new E(405,d)}let a;i?a=n:a=this._injector.get(Bt).resolveComponentFactory(n),this.componentTypes.push(a.componentType);let l=Vy(a)?void 0:this._injector.get(Es),c=r||a.selector,u=a.create(o,[],c,l),f=u.location.nativeElement,p=u.injector.get(yd,null);return p?.registerApplication(f),u.onDestroy(()=>{this.detachView(u.hostView),Rr(this.components,u),p?.unregisterApplication(f)}),this._loadComponent(u),P(11,u),u}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){P(12),this.tracingSnapshot!==null?this.tracingSnapshot.run(xu.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new E(101,!1);let n=I(null);try{this._runningTick=!0,this.synchronize()}catch(r){this.internalErrorHandler(r)}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,I(n),this.afterTick.next(),P(13)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(At,null,{optional:!0}));let n=0;for(;this.dirtyFlags!==0&&n++<jy;)P(14),this.synchronizeOnce(),P(15)}synchronizeOnce(){if(this.dirtyFlags&16&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush()),this.dirtyFlags&7){let n=!!(this.dirtyFlags&1);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:r,notifyErrorHandler:o}of this.allViews)By(r,o,n,this.zonelessEnabled);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),this.dirtyFlags&23)return}else this._rendererFactory?.begin?.(),this._rendererFactory?.end?.();this.dirtyFlags&8&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){if(this.allViews.some(({_lView:n})=>Cn(n))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(n){let r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){let r=n;Rr(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n),this._injector.get(Ly,[]).forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Rr(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new E(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Rr(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function By(e,t,n,r){if(!n&&!Cn(e))return;td(e,t,n&&!r?0:1)}function Ht(e,t,n,r){let o=H(),i=uo();if(Nn(o,i,t)){let s=ge(),a=nu();tm(a,o,e,t,n,r)}return Ht}function Hy(e,t,n,r){return Nn(e,uo(),n)?t+no(n)+r:ft}function Sr(e,t){return e<<17|t<<2}function ut(e){return e>>17&32767}function Uy(e){return(e&2)==2}function $y(e,t){return e&131071|t<<17}function ws(e){return e|2}function Ot(e){return(e&131068)>>2}function Bi(e,t){return e&-131069|t<<2}function zy(e){return(e&1)===1}function _s(e){return e|1}function Gy(e,t,n,r,o,i){let s=i?t.classBindings:t.styleBindings,a=ut(s),l=Ot(s);e[r]=n;let c=!1,u;if(Array.isArray(n)){let f=n;u=f[1],(u===null||In(f,u)>0)&&(c=!0)}else u=n;if(o)if(l!==0){let p=ut(e[a+1]);e[r+1]=Sr(p,a),p!==0&&(e[p+1]=Bi(e[p+1],r)),e[a+1]=$y(e[a+1],r)}else e[r+1]=Sr(a,0),a!==0&&(e[a+1]=Bi(e[a+1],r)),a=r;else e[r+1]=Sr(l,0),a===0?a=r:e[l+1]=Bi(e[l+1],r),l=r;c&&(e[r+1]=ws(e[r+1])),dc(e,u,r,!0),dc(e,u,r,!1),Wy(t,u,e,r,i),s=Sr(a,l),i?t.classBindings=s:t.styleBindings=s}function Wy(e,t,n,r,o){let i=o?e.residualClasses:e.residualStyles;i!=null&&typeof t=="string"&&In(i,t)>=0&&(n[r+1]=_s(n[r+1]))}function dc(e,t,n,r){let o=e[n+1],i=t===null,s=r?ut(o):Ot(o),a=!1;for(;s!==0&&(a===!1||i);){let l=e[s],c=e[s+1];qy(l,t)&&(a=!0,e[s+1]=r?_s(c):ws(c)),s=r?ut(c):Ot(c)}a&&(e[n+1]=r?ws(o):_s(o))}function qy(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t=="string"?In(e,t)>=0:!1}function Ut(e,t,n){let r=H(),o=uo();if(Nn(r,o,t)){let i=ge(),s=nu();Yg(i,s,r,e,t,r[Q],n,!1)}return Ut}function fc(e,t,n,r,o){ea(t,e,n,o?"class":"style",r)}function $t(e,t){return Zy(e,t,null,!0),$t}function Zy(e,t,n,r){let o=H(),i=ge(),s=Sh(2);if(i.firstUpdatePass&&Yy(i,e,s,r),t!==ft&&Nn(o,s,t)){let a=i.data[Ft()];tv(i,a,o,o[Q],e,o[s+1]=nv(t,n),r,s)}}function Qy(e,t){return t>=e.expandoStartIndex}function Yy(e,t,n,r){let o=e.data;if(o[n+1]===null){let i=o[Ft()],s=Qy(e,n);rv(i,r)&&t===null&&!s&&(t=!1),t=Ky(o,i,t,r),Gy(o,i,t,n,s,r)}}function Ky(e,t,n,r){let o=Rh(e),i=r?t.residualClasses:t.residualStyles;if(o===null)(r?t.classBindings:t.styleBindings)===0&&(n=Hi(null,e,t,n,r),n=wn(n,t.attrs,r),i=null);else{let s=t.directiveStylingLast;if(s===-1||e[s]!==o)if(n=Hi(o,e,t,n,r),i===null){let l=Jy(e,t,r);l!==void 0&&Array.isArray(l)&&(l=Hi(null,e,t,l[1],r),l=wn(l,t.attrs,r),Xy(e,t,r,l))}else i=ev(e,t,r)}return i!==void 0&&(r?t.residualClasses=i:t.residualStyles=i),n}function Jy(e,t,n){let r=n?t.classBindings:t.styleBindings;if(Ot(r)!==0)return e[ut(r)]}function Xy(e,t,n,r){let o=n?t.classBindings:t.styleBindings;e[ut(o)]=r}function ev(e,t,n){let r,o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i<o;i++){let s=e[i].hostAttrs;r=wn(r,s,n)}return wn(r,t.attrs,n)}function Hi(e,t,n,r,o){let i=null,s=n.directiveEnd,a=n.directiveStylingLast;for(a===-1?a=n.directiveStart:a++;a<s&&(i=t[a],r=wn(r,i.hostAttrs,o),i!==e);)a++;return e!==null&&(n.directiveStylingLast=a),r}function wn(e,t,n){let r=n?1:2,o=-1;if(t!==null)for(let i=0;i<t.length;i++){let s=t[i];typeof s=="number"?o=s:o===r&&(Array.isArray(e)||(e=e===void 0?[]:["",e]),Qp(e,s,n?!0:t[++i]))}return e===void 0?null:e}function tv(e,t,n,r,o,i,s,a){if(!(t.type&3))return;let l=e.data,c=l[a+1],u=zy(c)?pc(l,t,n,o,Ot(c),s):void 0;if(!Xr(u)){Xr(i)||Uy(c)&&(i=pc(l,null,n,o,a,s));let f=Hc(Ft(),n);Im(r,s,f,o,i)}}function pc(e,t,n,r,o,i){let s=t===null,a;for(;o>0;){let l=e[o],c=Array.isArray(l),u=c?l[1]:l,f=u===null,p=n[o+1];p===ft&&(p=f?oe:void 0);let d=f?Ri(p,r):u===r?p:void 0;if(c&&!Xr(d)&&(d=Ri(l,r)),Xr(d)&&(a=d,s))return a;let h=e[o+1];o=s?ut(h):Ot(h)}if(t!==null){let l=i?t.residualClasses:t.residualStyles;l!=null&&(a=Ri(l,r))}return a}function Xr(e){return e!==void 0}function nv(e,t){return e==null||e===""||(typeof t=="string"?e=e+t:typeof e=="object"&&(e=ie(Ou(e)))),e}function rv(e,t){return(e.flags&(t?8:16))!==0}function me(e,t){Qs("NgControlFlow");let n=H(),r=uo(),o=n[r]!==ft?n[r]:-1,i=o!==-1?hc(n,he+o):void 0,s=0;if(Nn(n,r,e)){let a=I(null);try{if(i!==void 0&&Bm(i,s),e!==-1){let l=he+e,c=hc(n,l),u=ov(n[S],l),f=qm(c,u.tView.ssrId),p=lm(n,u,t,{dehydratedView:f});jm(c,p,s,cm(u,f))}}finally{I(a)}}else if(i!==void 0){let a=Vm(i,s);a!==void 0&&(a[J]=t)}}function hc(e,t){return e[t]}function ov(e,t){return Ps(e,t)}function O(e,t,n,r){let o=H(),i=ge(),s=he+e,a=o[Q],l=i.firstCreatePass?fd(s,i,o,t,Wu,Wc(),n,r):i.data[s],c=iv(i,o,l,a,t,e);o[s]=c;let u=Os(l);return Mn(l,!0),Lu(a,c,l),!qu(l)&&Bs()&&oa(i,o,c,l),(vh()===0||u)&&Sn(c,o),Eh(),u&&(Xs(i,o,l),Au(i,l,o)),r!==null&&Gu(o,l),O}function k(){let e=Ge();Zc()?Ch():(e=e.parent,Mn(e,!1));let t=e;_h(t)&&Ih(),bh();let n=ge();return n.firstCreatePass&&pd(n,t),t.classesWithoutHost!=null&&Fh(t)&&fc(n,t,H(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&Vh(t)&&fc(n,t,H(),t.stylesWithoutHost,!1),k}function zt(e,t,n,r){return O(e,t,n,r),k(),zt}var iv=(e,t,n,r,o,i)=>(Hs(!0),ku(r,o,kh()));function ca(){return H()}var eo="en-US";var sv=eo;function av(e){typeof e=="string"&&(sv=e.toLowerCase().replace(/_/g,"-"))}function gc(e,t,n){return function r(o){if(o===Function)return n;let i=Dn(e)?Re(e.index,t):t;sa(i,5);let s=t[J],a=mc(t,s,n,o),l=r.__ngNextListenerFn__;for(;l;)a=mc(t,s,l,o)&&a,l=l.__ngNextListenerFn__;return a}}function mc(e,t,n,r){let o=I(null);try{return P(6,t,n),n(r)!==!1}catch(i){return lv(e,i),!1}finally{P(7,t,n),I(o)}}function lv(e,t){let n=e[xt],r=n?n.get(Ae,null):null;r&&r.handleError(t)}function yc(e,t,n,r,o,i){let s=t[n],a=t[S],c=a.data[n].outputs[r],u=s[c],f=a.firstCreatePass?Gc(a):null,p=zc(t),d=u.subscribe(i),h=p.length;p.push(i,d),f&&f.push(o,e.index,h,-(h+1))}function qe(e,t,n,r){let o=H(),i=ge(),s=Ge();return uv(i,o,o[Q],s,e,t,r),qe}function cv(e,t,n,r){let o=e.cleanup;if(o!=null)for(let i=0;i<o.length-1;i+=2){let s=o[i];if(s===n&&o[i+1]===r){let a=t[jr],l=o[i+2];return a.length>l?a[l]:null}typeof s=="string"&&(i+=2)}return null}function uv(e,t,n,r,o,i,s){let a=Os(r),c=e.firstCreatePass?Gc(e):null,u=zc(t),f=!0;if(r.type&3||s){let p=ke(r,t),d=s?s(p):p,h=u.length,g=s?x=>s(Ne(x[r.index])):r.index,b=null;if(!s&&a&&(b=cv(e,t,o,r.index)),b!==null){let x=b.__ngLastListenerFn__||b;x.__ngNextListenerFn__=i,b.__ngLastListenerFn__=i,f=!1}else{i=gc(r,t,i),bg(t,d,o,i);let x=n.listen(d,o,i);u.push(i,x),c&&c.push(o,g,h,h+1)}}else i=gc(r,t,i);if(f){let p=r.outputs?.[o],d=r.hostDirectiveOutputs?.[o];if(d&&d.length)for(let h=0;h<d.length;h+=2){let g=d[h],b=d[h+1];yc(r,t,g,b,o,i)}if(p&&p.length)for(let h of p)yc(r,t,h,o,o,i)}}function Ze(e=1){return Oh(e)}function V(e,t=""){let n=H(),r=ge(),o=e+he,i=r.firstCreatePass?aa(r,o,1,t,null):r.data[o],s=dv(r,n,i,t,e);n[o]=s,Bs()&&oa(r,n,s,i),Mn(i,!1)}var dv=(e,t,n,r,o)=>(Hs(!0),Mg(t[Q],r));function Fe(e){return yo("",e,""),Fe}function yo(e,t,n){let r=H(),o=Hy(r,e,t,n);return o!==ft&&fv(r,Ft(),o),yo}function fv(e,t,n){let r=Hc(t,e);Sg(e[Q],r,n)}function pv(e,t,n){let r=ge();if(r.firstCreatePass){let o=be(e);Is(n,r.data,r.blueprint,o,!0),Is(t,r.data,r.blueprint,o,!1)}}function Is(e,t,n,r,o){if(e=K(e),Array.isArray(e))for(let i=0;i<e.length;i++)Is(e[i],t,n,r,o);else{let i=ge(),s=H(),a=Ge(),l=Tt(e)?e:K(e.provide),c=Oc(e),u=a.providerIndexes&1048575,f=a.directiveStart,p=a.providerIndexes>>20;if(Tt(e)||!e.multi){let d=new lt(c,o,z),h=$i(l,t,o?u:u+p,f);h===-1?(ns(zr(a,s),i,l),Ui(i,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),n.push(d),s.push(d)):(n[h]=d,s[h]=d)}else{let d=$i(l,t,u+p,f),h=$i(l,t,u,u+p),g=d>=0&&n[d],b=h>=0&&n[h];if(o&&!b||!o&&!g){ns(zr(a,s),i,l);let x=mv(o?gv:hv,n.length,o,r,c);!o&&b&&(n[h].providerFactory=x),Ui(i,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),n.push(x),s.push(x)}else{let x=Ed(n[o?h:d],c,!o&&r);Ui(i,e,d>-1?d:h,x)}!o&&r&&b&&n[h].componentProviders++}}}function Ui(e,t,n,r){let o=Tt(t),i=rh(t);if(o||i){let l=(i?K(t.useClass):t).prototype.ngOnDestroy;if(l){let c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){let u=c.indexOf(n);u===-1?c.push(n,[r,l]):c[u+1].push(r,l)}else c.push(n,l)}}}function Ed(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function $i(e,t,n,r){for(let o=n;o<r;o++)if(t[o]===e)return o;return-1}function hv(e,t,n,r,o){return Ds(this.multi,[])}function gv(e,t,n,r,o){let i=this.multi,s;if(this.providerFactory){let a=this.providerFactory.componentProviders,l=Gr(r,r[S],this.providerFactory.index,o);s=l.slice(0,a),Ds(i,s);for(let c=a;c<l.length;c++)s.push(l[c])}else s=[],Ds(i,s);return s}function Ds(e,t){for(let n=0;n<e.length;n++){let r=e[n];t.push(r())}return t}function mv(e,t,n,r,o){let i=new lt(e,n,z);return i.multi=[],i.index=t,i.componentProviders=0,Ed(i,o,r&&!n),i}function vo(e,t=[]){return n=>{n.providersResolver=(r,o)=>pv(r,o?o(e):e,t)}}var yv=(()=>{class e{zone=w(B);changeDetectionScheduler=w($e);applicationRef=w(ct);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function vv({ngZoneFactory:e,ignoreChangesOutsideZone:t,scheduleInRootZone:n}){return e??=()=>new B(N(y({},Ev()),{scheduleInRootZone:n})),[{provide:B,useFactory:e},{provide:Lr,multi:!0,useFactory:()=>{let r=w(yv,{optional:!0});return()=>r.initialize()}},{provide:Lr,multi:!0,useFactory:()=>{let r=w(bv);return()=>{r.initialize()}}},t===!0?{provide:yu,useValue:!0}:[],{provide:$s,useValue:n??mu}]}function Ev(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}var bv=(()=>{class e{subscription=new q;initialized=!1;zone=w(B);pendingTasks=w(Vt);initialize(){if(this.initialized)return;this.initialized=!0;let n=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(n=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{B.assertNotInAngularZone(),queueMicrotask(()=>{n!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(n),n=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{B.assertInAngularZone(),n??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var bd=(()=>{class e{appRef=w(ct);taskService=w(Vt);ngZone=w(B);zonelessEnabled=w(Us);tracing=w(po,{optional:!0});disableScheduling=w(yu,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new q;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Zr):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(w($s,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof Qr||!this.zoneIsDefined)}notify(n){if(!this.zonelessEnabled&&n===5)return;let r=!1;switch(n){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2,r=!0;break}case 12:{this.appRef.dirtyFlags|=16,r=!0;break}case 13:{this.appRef.dirtyFlags|=2,r=!0;break}case 11:{r=!0;break}case 9:case 8:case 7:case 10:default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(r))return;let o=this.useMicrotaskScheduler?Jl:vu;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>o(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>o(()=>this.tick()))}shouldScheduleTick(n){return!(this.disableScheduling&&!n||this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Zr+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let n=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){throw this.taskService.remove(n),r}finally{this.cleanup()}this.useMicrotaskScheduler=!0,Jl(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(n)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wd(){return Qs("NgZoneless"),Ns([{provide:$e,useExisting:bd},{provide:B,useClass:Qr},{provide:Us,useValue:!0},{provide:$s,useValue:!1},[]])}function wv(){return typeof $localize<"u"&&$localize.locale||eo}var _d=new v("",{providedIn:"root",factory:()=>w(_d,C.Optional|C.SkipSelf)||wv()});var Cs=new v(""),_v=new v("");function pn(e){return!e.moduleRef}function Iv(e){let t=pn(e)?e.r3Injector:e.moduleRef.injector,n=t.get(B);return n.run(()=>{pn(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(Ae,null),o;if(n.runOutsideAngular(()=>{o=n.onError.subscribe({next:i=>{r.handleError(i)}})}),pn(e)){let i=()=>t.destroy(),s=e.platformInjector.get(Cs);s.add(i),t.onDestroy(()=>{o.unsubscribe(),s.delete(i)})}else{let i=()=>e.moduleRef.destroy(),s=e.platformInjector.get(Cs);s.add(i),e.moduleRef.onDestroy(()=>{Rr(e.allPlatformModules,e.moduleRef),o.unsubscribe(),s.delete(i)})}return Cv(r,n,()=>{let i=t.get(vd);return i.runInitializers(),i.donePromise.then(()=>{let s=t.get(_d,eo);if(av(s||eo),!t.get(_v,!0))return pn(e)?t.get(ct):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(pn(e)){let l=t.get(ct);return e.rootComponent!==void 0&&l.bootstrap(e.rootComponent),l}else return Dv(e.moduleRef,e.allPlatformModules),e.moduleRef})})})}function Dv(e,t){let n=e.injector.get(ct);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>n.bootstrap(r));else if(e.instance.ngDoBootstrap)e.instance.ngDoBootstrap(n);else throw new E(-403,!1);t.push(e)}function Cv(e,t,n){try{let r=n();return mo(r)?r.catch(o=>{throw t.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}var Ar=null;function Mv(e=[],t){return Ue.create({name:t,providers:[{provide:oo,useValue:"platform"},{provide:Cs,useValue:new Set([()=>Ar=null])},...e]})}function Sv(e=[]){if(Ar)return Ar;let t=Mv(e);return Ar=t,Fy(),Tv(t),t}function Tv(e){let t=e.get(qs,null);io(e,()=>{t?.forEach(n=>n())})}function Id(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:o}=e;P(8);try{let i=o?.injector??Sv(r),s=[vv({}),{provide:$e,useExisting:bd},...n||[]],a=new Jr({providers:s,parent:i,debugName:"",runEnvironmentInitializers:!1});return Iv({r3Injector:a.injector,platformInjector:i,rootComponent:t})}catch(i){return Promise.reject(i)}finally{P(9)}}function Qe(e){return gi(e)}function Y(e,t){return ui(e,t?.equal)}var vc=class{[ve];constructor(t){this[ve]=t}destroy(){this[ve].destroy()}};var ce=new v("");var Dd=null;function Ye(){return Dd}function ua(e){Dd??=e}var An=class{};function On(e,t){t=encodeURIComponent(t);for(let n of e.split(";")){let r=n.indexOf("="),[o,i]=r==-1?[n,""]:[n.slice(0,r),n.slice(r+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}var da="browser",Cd="server";function Eo(e){return e===Cd}var pt=class{};var _o=new v(""),ga=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(n,r){this._zone=r,n.forEach(o=>{o.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,o,i){return this._findPluginFor(r).addEventListener(n,r,o,i)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(i=>i.supports(n)),!r)throw new E(5101,!1);return this._eventNameToPlugin.set(n,r),r}static \u0275fac=function(r){return new(r||e)(T(_o),T(B))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),kn=class{_doc;constructor(t){this._doc=t}manager},bo="ng-app-id";function Md(e){for(let t of e)t.remove()}function Sd(e,t){let n=t.createElement("style");return n.textContent=e,n}function xv(e,t,n,r){let o=e.head?.querySelectorAll(`style[${bo}="${t}"],link[${bo}="${t}"]`);if(o)for(let i of o)i.removeAttribute(bo),i instanceof HTMLLinkElement?r.set(i.href.slice(i.href.lastIndexOf("/")+1),{usage:0,elements:[i]}):i.textContent&&n.set(i.textContent,{usage:0,elements:[i]})}function pa(e,t){let n=t.createElement("link");return n.setAttribute("rel","stylesheet"),n.setAttribute("href",e),n}var ma=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(n,r,o,i={}){this.doc=n,this.appId=r,this.nonce=o,this.isServer=Eo(i),xv(n,r,this.inline,this.external),this.hosts.add(n.head)}addStyles(n,r){for(let o of n)this.addUsage(o,this.inline,Sd);r?.forEach(o=>this.addUsage(o,this.external,pa))}removeStyles(n,r){for(let o of n)this.removeUsage(o,this.inline);r?.forEach(o=>this.removeUsage(o,this.external))}addUsage(n,r,o){let i=r.get(n);i?i.usage++:r.set(n,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,o(n,this.doc)))})}removeUsage(n,r){let o=r.get(n);o&&(o.usage--,o.usage<=0&&(Md(o.elements),r.delete(n)))}ngOnDestroy(){for(let[,{elements:n}]of[...this.inline,...this.external])Md(n);this.hosts.clear()}addHost(n){this.hosts.add(n);for(let[r,{elements:o}]of this.inline)o.push(this.addElement(n,Sd(r,this.doc)));for(let[r,{elements:o}]of this.external)o.push(this.addElement(n,pa(r,this.doc)))}removeHost(n){this.hosts.delete(n)}addElement(n,r){return this.nonce&&r.setAttribute("nonce",this.nonce),this.isServer&&r.setAttribute(bo,this.appId),n.appendChild(r)}static \u0275fac=function(r){return new(r||e)(T(ce),T(Ws),T(Zs,8),T(Tn))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),fa={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},ya=/%COMP%/g;var xd="%COMP%",Nv=`_nghost-${xd}`,Rv=`_ngcontent-${xd}`,Av=!0,Ov=new v("",{providedIn:"root",factory:()=>Av});function kv(e){return Rv.replace(ya,e)}function Pv(e){return Nv.replace(ya,e)}function Nd(e,t){return t.map(n=>n.replace(ya,e))}var va=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(n,r,o,i,s,a,l,c=null,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=Eo(a),this.defaultRenderer=new Pn(n,s,l,this.platformIsServer,this.tracingService)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===we.ShadowDom&&(r=N(y({},r),{encapsulation:we.Emulated}));let o=this.getOrCreateRenderer(n,r);return o instanceof wo?o.applyToHost(n):o instanceof Ln&&o.applyStyles(),o}getOrCreateRenderer(n,r){let o=this.rendererByCompId,i=o.get(r.id);if(!i){let s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,f=this.platformIsServer,p=this.tracingService;switch(r.encapsulation){case we.Emulated:i=new wo(l,c,r,this.appId,u,s,a,f,p);break;case we.ShadowDom:return new ha(l,c,n,r,s,a,this.nonce,f,p);default:i=new Ln(l,c,r,u,s,a,f,p);break}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(n){this.rendererByCompId.delete(n)}static \u0275fac=function(r){return new(r||e)(T(ga),T(ma),T(Ws),T(Ov),T(ce),T(Tn),T(B),T(Zs),T(po,8))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),Pn=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(t,n,r,o,i){this.eventManager=t,this.doc=n,this.ngZone=r,this.platformIsServer=o,this.tracingService=i}destroy(){}destroyNode=null;createElement(t,n){return n?this.doc.createElementNS(fa[n]||n,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,n){(Td(t)?t.content:t).appendChild(n)}insertBefore(t,n,r){t&&(Td(t)?t.content:t).insertBefore(n,r)}removeChild(t,n){n.remove()}selectRootElement(t,n){let r=typeof t=="string"?this.doc.querySelector(t):t;if(!r)throw new E(-5104,!1);return n||(r.textContent=""),r}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,r,o){if(o){n=o+":"+n;let i=fa[o];i?t.setAttributeNS(i,n,r):t.setAttribute(n,r)}else t.setAttribute(n,r)}removeAttribute(t,n,r){if(r){let o=fa[r];o?t.removeAttributeNS(o,n):t.removeAttribute(`${r}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,r,o){o&(ze.DashCase|ze.Important)?t.style.setProperty(n,r,o&ze.Important?"important":""):t.style[n]=r}removeStyle(t,n,r){r&ze.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,r){t!=null&&(t[n]=r)}setValue(t,n){t.nodeValue=n}listen(t,n,r,o){if(typeof t=="string"&&(t=Ye().getGlobalEventTarget(this.doc,t),!t))throw new E(5102,!1);let i=this.decoratePreventDefault(r);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(t,n,i)),this.eventManager.addEventListener(t,n,i,o)}decoratePreventDefault(t){return n=>{if(n==="__ngUnwrap__")return t;(this.platformIsServer?this.ngZone.runGuarded(()=>t(n)):t(n))===!1&&n.preventDefault()}}};function Td(e){return e.tagName==="TEMPLATE"&&e.content!==void 0}var ha=class extends Pn{sharedStylesHost;hostEl;shadowRoot;constructor(t,n,r,o,i,s,a,l,c){super(t,i,s,l,c),this.sharedStylesHost=n,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=o.styles;u=Nd(o.id,u);for(let p of u){let d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=p,this.shadowRoot.appendChild(d)}let f=o.getExternalStyles?.();if(f)for(let p of f){let d=pa(p,i);a&&d.setAttribute("nonce",a),this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,n){return super.appendChild(this.nodeOrShadowRoot(t),n)}insertBefore(t,n,r){return super.insertBefore(this.nodeOrShadowRoot(t),n,r)}removeChild(t,n){return super.removeChild(null,n)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},Ln=class extends Pn{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(t,n,r,o,i,s,a,l,c){super(t,i,s,a,l),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=o;let u=r.styles;this.styles=c?Nd(c,u):u,this.styleUrls=r.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},wo=class extends Ln{contentAttr;hostAttr;constructor(t,n,r,o,i,s,a,l,c){let u=o+"-"+r.id;super(t,n,r,i,s,a,l,c,u),this.contentAttr=kv(u),this.hostAttr=Pv(u)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,n){let r=super.createElement(t,n);return super.setAttribute(r,this.contentAttr,""),r}};var Io=class e extends An{supportsDOMEvents=!0;static makeCurrent(){ua(new e)}onAndCancel(t,n,r,o){return t.addEventListener(n,r,o),()=>{t.removeEventListener(n,r,o)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.remove()}createElement(t,n){return n=n||this.getDefaultDocument(),n.createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return n==="window"?window:n==="document"?t:n==="body"?t.body:null}getBaseHref(t){let n=Lv();return n==null?null:Fv(n)}resetBaseElement(){Fn=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return On(document.cookie,t)}},Fn=null;function Lv(){return Fn=Fn||document.head.querySelector("base"),Fn?Fn.getAttribute("href"):null}function Fv(e){return new URL(e,document.baseURI).pathname}var Vv=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),Ad=(()=>{class e extends kn{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,o,i){return n.addEventListener(r,o,i),()=>this.removeEventListener(n,r,o,i)}removeEventListener(n,r,o,i){return n.removeEventListener(r,o,i)}static \u0275fac=function(r){return new(r||e)(T(ce))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),Rd=["alt","control","meta","shift"],jv={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Bv={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},Od=(()=>{class e extends kn{constructor(n){super(n)}supports(n){return e.parseEventName(n)!=null}addEventListener(n,r,o,i){let s=e.parseEventName(r),a=e.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ye().onAndCancel(n,s.domEventName,a,i))}static parseEventName(n){let r=n.toLowerCase().split("."),o=r.shift();if(r.length===0||!(o==="keydown"||o==="keyup"))return null;let i=e._normalizeKey(r.pop()),s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),Rd.forEach(c=>{let u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,r.length!=0||i.length===0)return null;let l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(n,r){let o=jv[n.key]||n.key,i="";return r.indexOf("code.")>-1&&(o=n.code,i="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),Rd.forEach(s=>{if(s!==o){let a=Bv[s];a(n)&&(i+=s+".")}}),i+=o,i===r)}static eventCallback(n,r,o){return i=>{e.matchEventFullKeyCode(i,n)&&o.runGuarded(()=>r(i))}}static _normalizeKey(n){return n==="esc"?"escape":n}static \u0275fac=function(r){return new(r||e)(T(ce))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})();function Ea(e){return Id(Hv(e))}function Hv(e){return{appProviders:[...Wv,...e?.providers??[]],platformProviders:Gv}}function Uv(){Io.makeCurrent()}function $v(){return new Ae}function zv(){return Su(document),document}var Gv=[{provide:Tn,useValue:da},{provide:qs,useValue:Uv,multi:!0},{provide:ce,useFactory:zv}];var Wv=[{provide:oo,useValue:"root"},{provide:Ae,useFactory:$v},{provide:_o,useClass:Ad,multi:!0,deps:[ce]},{provide:_o,useClass:Od,multi:!0,deps:[ce]},va,ma,ga,{provide:At,useExisting:va},{provide:pt,useClass:Vv},[]];var Wt=class{},qt=class{},Ie=class e{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(t){t?typeof t=="string"?this.lazyInit=()=>{this.headers=new Map,t.split(`
|
|
8
8
|
`).forEach(n=>{let r=n.indexOf(":");if(r>0){let o=n.slice(0,r),i=n.slice(r+1).trim();this.addHeaderEntry(o,i)}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((n,r)=>{this.addHeaderEntry(r,n)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([n,r])=>{this.setHeaderEntries(n,r)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();let n=this.headers.get(t.toLowerCase());return n&&n.length>0?n[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,n){return this.clone({name:t,value:n,op:"a"})}set(t,n){return this.clone({name:t,value:n,op:"s"})}delete(t,n){return this.clone({name:t,value:n,op:"d"})}maybeSetNormalizedName(t,n){this.normalizedNames.has(n)||this.normalizedNames.set(n,t)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(n=>{this.headers.set(n,t.headers.get(n)),this.normalizedNames.set(n,t.normalizedNames.get(n))})}clone(t){let n=new e;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}applyUpdate(t){let n=t.name.toLowerCase();switch(t.op){case"a":case"s":let r=t.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(t.name,n);let o=(t.op==="a"?this.headers.get(n):void 0)||[];o.push(...r),this.headers.set(n,o);break;case"d":let i=t.value;if(!i)this.headers.delete(n),this.normalizedNames.delete(n);else{let s=this.headers.get(n);if(!s)return;s=s.filter(a=>i.indexOf(a)===-1),s.length===0?(this.headers.delete(n),this.normalizedNames.delete(n)):this.headers.set(n,s)}break}}addHeaderEntry(t,n){let r=t.toLowerCase();this.maybeSetNormalizedName(t,r),this.headers.has(r)?this.headers.get(r).push(n):this.headers.set(r,[n])}setHeaderEntries(t,n){let r=(Array.isArray(n)?n:[n]).map(i=>i.toString()),o=t.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(t,o)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(n=>t(this.normalizedNames.get(n),this.headers.get(n)))}};var Mo=class{encodeKey(t){return kd(t)}encodeValue(t){return kd(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}};function qv(e,t){let n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{let i=o.indexOf("="),[s,a]=i==-1?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,i)),t.decodeValue(o.slice(i+1))],l=n.get(s)||[];l.push(a),n.set(s,l)}),n}var Zv=/%(\d[a-f0-9])/gi,Qv={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function kd(e){return encodeURIComponent(e).replace(Zv,(t,n)=>Qv[n]??t)}function Do(e){return`${e}`}var Ve=class e{map;encoder;updates=null;cloneFrom=null;constructor(t={}){if(this.encoder=t.encoder||new Mo,t.fromString){if(t.fromObject)throw new E(2805,!1);this.map=qv(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(n=>{let r=t.fromObject[n],o=Array.isArray(r)?r.map(Do):[Do(r)];this.map.set(n,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();let n=this.map.get(t);return n?n[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,n){return this.clone({param:t,value:n,op:"a"})}appendAll(t){let n=[];return Object.keys(t).forEach(r=>{let o=t[r];Array.isArray(o)?o.forEach(i=>{n.push({param:r,value:i,op:"a"})}):n.push({param:r,value:o,op:"a"})}),this.clone(n)}set(t,n){return this.clone({param:t,value:n,op:"s"})}delete(t,n){return this.clone({param:t,value:n,op:"d"})}toString(){return this.init(),this.keys().map(t=>{let n=this.encoder.encodeKey(t);return this.map.get(t).map(r=>n+"="+this.encoder.encodeValue(r)).join("&")}).filter(t=>t!=="").join("&")}clone(t){let n=new e({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":let n=(t.op==="a"?this.map.get(t.param):void 0)||[];n.push(Do(t.value)),this.map.set(t.param,n);break;case"d":if(t.value!==void 0){let r=this.map.get(t.param)||[],o=r.indexOf(Do(t.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(t.param,r):this.map.delete(t.param)}else{this.map.delete(t.param);break}}}),this.cloneFrom=this.updates=null)}};var So=class{map=new Map;set(t,n){return this.map.set(t,n),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}};function Yv(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Pd(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Ld(e){return typeof Blob<"u"&&e instanceof Blob}function Fd(e){return typeof FormData<"u"&&e instanceof FormData}function Kv(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}var Vn="Content-Type",To="Accept",Da="X-Request-URL",jd="text/plain",Bd="application/json",Hd=`${Bd}, ${jd}, */*`,Gt=class e{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;responseType="json";method;params;urlWithParams;transferCache;constructor(t,n,r,o){this.url=n,this.method=t.toUpperCase();let i;if(Yv(this.method)||o?(this.body=r!==void 0?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),this.transferCache=i.transferCache),this.headers??=new Ie,this.context??=new So,!this.params)this.params=new Ve,this.urlWithParams=n;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=n;else{let a=n.indexOf("?"),l=a===-1?"?":a<n.length-1?"&":"";this.urlWithParams=n+l+s}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||Pd(this.body)||Ld(this.body)||Fd(this.body)||Kv(this.body)?this.body:this.body instanceof Ve?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||Fd(this.body)?null:Ld(this.body)?this.body.type||null:Pd(this.body)?null:typeof this.body=="string"?jd:this.body instanceof Ve?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Bd:null}clone(t={}){let n=t.method||this.method,r=t.url||this.url,o=t.responseType||this.responseType,i=t.transferCache??this.transferCache,s=t.body!==void 0?t.body:this.body,a=t.withCredentials??this.withCredentials,l=t.reportProgress??this.reportProgress,c=t.headers||this.headers,u=t.params||this.params,f=t.context??this.context;return t.setHeaders!==void 0&&(c=Object.keys(t.setHeaders).reduce((p,d)=>p.set(d,t.setHeaders[d]),c)),t.setParams&&(u=Object.keys(t.setParams).reduce((p,d)=>p.set(d,t.setParams[d]),u)),new e(n,r,s,{params:u,headers:c,context:f,reportProgress:l,responseType:o,withCredentials:a,transferCache:i})}},je=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(je||{}),Zt=class{headers;status;statusText;url;ok;type;constructor(t,n=200,r="OK"){this.headers=t.headers||new Ie,this.status=t.status!==void 0?t.status:n,this.statusText=t.statusText||r,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}},jn=class e extends Zt{constructor(t={}){super(t)}type=je.ResponseHeader;clone(t={}){return new e({headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},Qt=class e extends Zt{body;constructor(t={}){super(t),this.body=t.body!==void 0?t.body:null}type=je.Response;clone(t={}){return new e({body:t.body!==void 0?t.body:this.body,headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},ye=class extends Zt{name="HttpErrorResponse";message;error;ok=!1;constructor(t){super(t,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${t.url||"(unknown url)"}`:this.message=`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}},Ud=200,Jv=204;function ba(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,transferCache:e.transferCache}}var $d=(()=>{class e{handler;constructor(n){this.handler=n}request(n,r,o={}){let i;if(n instanceof Gt)i=n;else{let l;o.headers instanceof Ie?l=o.headers:l=new Ie(o.headers);let c;o.params&&(o.params instanceof Ve?c=o.params:c=new Ve({fromObject:o.params})),i=new Gt(n,r,o.body!==void 0?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}let s=Mr(i).pipe(Ti(l=>this.handler.handle(l)));if(n instanceof Gt||o.observe==="events")return s;let a=s.pipe(Si(l=>l instanceof Qt));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(X(l=>{if(l.body!==null&&!(l.body instanceof ArrayBuffer))throw new E(2806,!1);return l.body}));case"blob":return a.pipe(X(l=>{if(l.body!==null&&!(l.body instanceof Blob))throw new E(2807,!1);return l.body}));case"text":return a.pipe(X(l=>{if(l.body!==null&&typeof l.body!="string")throw new E(2808,!1);return l.body}));case"json":default:return a.pipe(X(l=>l.body))}case"response":return a;default:throw new E(2809,!1)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:new Ve().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,o={}){return this.request("PATCH",n,ba(o,r))}post(n,r,o={}){return this.request("POST",n,ba(o,r))}put(n,r,o={}){return this.request("PUT",n,ba(o,r))}static \u0275fac=function(r){return new(r||e)(T(Wt))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),Xv=/^\)\]\}',?\n/;function Vd(e){if(e.url)return e.url;let t=Da.toLocaleLowerCase();return e.headers.get(t)}var zd=new v(""),Co=(()=>{class e{fetchImpl=w(wa,{optional:!0})?.fetch??((...n)=>globalThis.fetch(...n));ngZone=w(B);destroyRef=w(fo);destroyed=!1;constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0})}handle(n){return new R(r=>{let o=new AbortController;return this.doRequest(n,o.signal,r).then(_a,i=>r.error(new ye({error:i}))),()=>o.abort()})}async doRequest(n,r,o){let i=this.createRequestInit(n),s;try{let d=this.ngZone.runOutsideAngular(()=>this.fetchImpl(n.urlWithParams,y({signal:r},i)));eE(d),o.next({type:je.Sent}),s=await d}catch(d){o.error(new ye({error:d,status:d.status??0,statusText:d.statusText,url:n.urlWithParams,headers:d.headers}));return}let a=new Ie(s.headers),l=s.statusText,c=Vd(s)??n.urlWithParams,u=s.status,f=null;if(n.reportProgress&&o.next(new jn({headers:a,status:u,statusText:l,url:c})),s.body){let d=s.headers.get("content-length"),h=[],g=s.body.getReader(),b=0,x,ht,W=typeof Zone<"u"&&Zone.current,gt=!1;if(await this.ngZone.runOutsideAngular(async()=>{for(;;){if(this.destroyed){await g.cancel(),gt=!0;break}let{done:Xe,value:Yo}=await g.read();if(Xe)break;if(h.push(Yo),b+=Yo.length,n.reportProgress){ht=n.responseType==="text"?(ht??"")+(x??=new TextDecoder).decode(Yo,{stream:!0}):void 0;let Ka=()=>o.next({type:je.DownloadProgress,total:d?+d:void 0,loaded:b,partialText:ht});W?W.run(Ka):Ka()}}}),gt){o.complete();return}let Qo=this.concatChunks(h,b);try{let Xe=s.headers.get(Vn)??"";f=this.parseBody(n,Qo,Xe)}catch(Xe){o.error(new ye({error:Xe,headers:new Ie(s.headers),status:s.status,statusText:s.statusText,url:Vd(s)??n.urlWithParams}));return}}u===0&&(u=f?Ud:0),u>=200&&u<300?(o.next(new Qt({body:f,headers:a,status:u,statusText:l,url:c})),o.complete()):o.error(new ye({error:f,headers:a,status:u,statusText:l,url:c}))}parseBody(n,r,o){switch(n.responseType){case"json":let i=new TextDecoder().decode(r).replace(Xv,"");return i===""?null:JSON.parse(i);case"text":return new TextDecoder().decode(r);case"blob":return new Blob([r],{type:o});case"arraybuffer":return r.buffer}}createRequestInit(n){let r={},o=n.withCredentials?"include":void 0;if(n.headers.forEach((i,s)=>r[i]=s.join(",")),n.headers.has(To)||(r[To]=Hd),!n.headers.has(Vn)){let i=n.detectContentTypeHeader();i!==null&&(r[Vn]=i)}return{body:n.serializeBody(),method:n.method,headers:r,credentials:o}}concatChunks(n,r){let o=new Uint8Array(r),i=0;for(let s of n)o.set(s,i),i+=s.length;return o}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),wa=class{};function _a(){}function eE(e){e.then(_a,_a)}function tE(e,t){return t(e)}function nE(e,t,n){return(r,o)=>io(n,()=>t(r,i=>e(i,o)))}var Ca=new v(""),Gd=new v(""),Wd=new v("",{providedIn:"root",factory:()=>!0});var xo=(()=>{class e extends Wt{backend;injector;chain=null;pendingTasks=w(Vt);contributeToStability=w(Wd);constructor(n,r){super(),this.backend=n,this.injector=r}handle(n){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(Ca),...this.injector.get(Gd,[])]));this.chain=r.reduceRight((o,i)=>nE(o,i,this.injector),tE)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(n,o=>this.backend.handle(o)).pipe(xi(()=>this.pendingTasks.remove(r)))}else return this.chain(n,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||e)(T(qt),T(Se))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})();var rE=/^\)\]\}',?\n/,oE=RegExp(`^${Da}:`,"m");function iE(e){return"responseURL"in e&&e.responseURL?e.responseURL:oE.test(e.getAllResponseHeaders())?e.getResponseHeader(Da):null}var Ia=(()=>{class e{xhrFactory;constructor(n){this.xhrFactory=n}handle(n){if(n.method==="JSONP")throw new E(-2800,!1);let r=this.xhrFactory;return(r.\u0275loadImpl?ne(r.\u0275loadImpl()):Mr(null)).pipe(Me(()=>new R(i=>{let s=r.build();if(s.open(n.method,n.urlWithParams),n.withCredentials&&(s.withCredentials=!0),n.headers.forEach((g,b)=>s.setRequestHeader(g,b.join(","))),n.headers.has(To)||s.setRequestHeader(To,Hd),!n.headers.has(Vn)){let g=n.detectContentTypeHeader();g!==null&&s.setRequestHeader(Vn,g)}if(n.responseType){let g=n.responseType.toLowerCase();s.responseType=g!=="json"?g:"text"}let a=n.serializeBody(),l=null,c=()=>{if(l!==null)return l;let g=s.statusText||"OK",b=new Ie(s.getAllResponseHeaders()),x=iE(s)||n.url;return l=new jn({headers:b,status:s.status,statusText:g,url:x}),l},u=()=>{let{headers:g,status:b,statusText:x,url:ht}=c(),W=null;b!==Jv&&(W=typeof s.response>"u"?s.responseText:s.response),b===0&&(b=W?Ud:0);let gt=b>=200&&b<300;if(n.responseType==="json"&&typeof W=="string"){let Qo=W;W=W.replace(rE,"");try{W=W!==""?JSON.parse(W):null}catch(Xe){W=Qo,gt&&(gt=!1,W={error:Xe,text:W})}}gt?(i.next(new Qt({body:W,headers:g,status:b,statusText:x,url:ht||void 0})),i.complete()):i.error(new ye({error:W,headers:g,status:b,statusText:x,url:ht||void 0}))},f=g=>{let{url:b}=c(),x=new ye({error:g,status:s.status||0,statusText:s.statusText||"Unknown Error",url:b||void 0});i.error(x)},p=!1,d=g=>{p||(i.next(c()),p=!0);let b={type:je.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(b.total=g.total),n.responseType==="text"&&s.responseText&&(b.partialText=s.responseText),i.next(b)},h=g=>{let b={type:je.UploadProgress,loaded:g.loaded};g.lengthComputable&&(b.total=g.total),i.next(b)};return s.addEventListener("load",u),s.addEventListener("error",f),s.addEventListener("timeout",f),s.addEventListener("abort",f),n.reportProgress&&(s.addEventListener("progress",d),a!==null&&s.upload&&s.upload.addEventListener("progress",h)),s.send(a),i.next({type:je.Sent}),()=>{s.removeEventListener("error",f),s.removeEventListener("abort",f),s.removeEventListener("load",u),s.removeEventListener("timeout",f),n.reportProgress&&(s.removeEventListener("progress",d),a!==null&&s.upload&&s.upload.removeEventListener("progress",h)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(r){return new(r||e)(T(pt))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),qd=new v(""),sE="XSRF-TOKEN",aE=new v("",{providedIn:"root",factory:()=>sE}),lE="X-XSRF-TOKEN",cE=new v("",{providedIn:"root",factory:()=>lE}),Bn=class{},uE=(()=>{class e{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(n,r){this.doc=n,this.cookieName=r}getToken(){let n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=On(n,this.cookieName),this.lastCookieString=n),this.lastToken}static \u0275fac=function(r){return new(r||e)(T(ce),T(aE))};static \u0275prov=A({token:e,factory:e.\u0275fac})}return e})(),dE=/^(?:https?:)?\/\//i;function fE(e,t){if(!w(qd)||e.method==="GET"||e.method==="HEAD"||dE.test(e.url))return t(e);let n=w(Bn).getToken(),r=w(cE);return n!=null&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var No=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(No||{});function Zd(e,t){return{\u0275kind:e,\u0275providers:t}}function Ma(...e){let t=[$d,Ia,xo,{provide:Wt,useExisting:xo},{provide:qt,useFactory:()=>w(zd,{optional:!0})??w(Ia)},{provide:Ca,useValue:fE,multi:!0},{provide:qd,useValue:!0},{provide:Bn,useClass:uE}];for(let n of e)t.push(...n.\u0275providers);return Ns(t)}function Sa(e){return Zd(No.Interceptors,e.map(t=>({provide:Ca,useValue:t,multi:!0})))}function Ta(){return Zd(No.Fetch,[Co,{provide:zd,useExisting:Co},{provide:qt,useExisting:Co}])}var hE={schedule(e,t){let n=setTimeout(e,t);return()=>clearTimeout(n)}};function gE(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function mE(e){return!!e&&e.nodeType===Node.ELEMENT_NODE}var xa;function yE(e,t){if(!xa){let n=Element.prototype;xa=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}return e.nodeType===Node.ELEMENT_NODE?xa.call(e,t):!1}function vE(e){let t={};return e.forEach(({propName:n,templateName:r,transform:o})=>{t[gE(r)]=[n,o]}),t}function EE(e,t){return t.get(Bt).resolveComponentFactory(e).inputs}function bE(e,t){let n=e.childNodes,r=t.map(()=>[]),o=-1;t.some((i,s)=>i==="*"?(o=s,!0):!1);for(let i=0,s=n.length;i<s;++i){let a=n[i],l=wE(a,t,o);l!==-1&&r[l].push(a)}return r}function wE(e,t,n){let r=n;return mE(e)&&t.some((o,i)=>o!=="*"&&yE(e,o)?(r=i,!0):!1),r}var _E=10,Na=class{componentFactory;inputMap=new Map;constructor(t,n){this.componentFactory=n.get(Bt).resolveComponentFactory(t);for(let r of this.componentFactory.inputs)this.inputMap.set(r.propName,r.templateName)}create(t){return new Ra(this.componentFactory,t,this.inputMap)}},Ra=class{componentFactory;injector;inputMap;eventEmitters=new ln(1);events=this.eventEmitters.pipe(Me(t=>Mi(...t)));componentRef=null;scheduledDestroyFn=null;initialInputValues=new Map;ngZone;elementZone;appRef;cdScheduler;constructor(t,n,r){this.componentFactory=t,this.injector=n,this.inputMap=r,this.ngZone=this.injector.get(B),this.appRef=this.injector.get(ct),this.cdScheduler=n.get($e),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(this.scheduledDestroyFn!==null){this.scheduledDestroyFn(),this.scheduledDestroyFn=null;return}this.componentRef===null&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{this.componentRef===null||this.scheduledDestroyFn!==null||(this.scheduledDestroyFn=hE.schedule(()=>{this.componentRef!==null&&(this.componentRef.destroy(),this.componentRef=null)},_E))})}getInputValue(t){return this.runInZone(()=>this.componentRef===null?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,n){if(this.componentRef===null){this.initialInputValues.set(t,n);return}this.runInZone(()=>{this.componentRef.setInput(this.inputMap.get(t)??t,n),ad(this.componentRef.hostView)&&(ld(this.componentRef.changeDetectorRef),this.cdScheduler.notify(6))})}initializeComponent(t){let n=Ue.create({providers:[],parent:this.injector}),r=bE(t,this.componentFactory.ngContentSelectors);this.componentRef=this.componentFactory.create(n,r,t),this.initializeInputs(),this.initializeOutputs(this.componentRef),this.appRef.attachView(this.componentRef.hostView),this.componentRef.hostView.detectChanges()}initializeInputs(){for(let[t,n]of this.initialInputValues)this.setInputValue(t,n);this.initialInputValues.clear()}initializeOutputs(t){let n=this.componentFactory.outputs.map(({propName:r,templateName:o})=>{let i=t.instance[r];return new R(s=>{let a=i.subscribe(l=>s.next({name:o,value:l}));return()=>a.unsubscribe()})});this.eventEmitters.next(n)}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}},Aa=class extends HTMLElement{ngElementEventsSubscription=null};function Qd(e,t){let n=EE(e,t.injector),r=t.strategyFactory||new Na(e,t.injector),o=vE(n);class i extends Aa{injector;static observedAttributes=Object.keys(o);get ngElementStrategy(){if(!this._ngElementStrategy){let a=this._ngElementStrategy=r.create(this.injector||t.injector);n.forEach(({propName:l,transform:c})=>{if(!this.hasOwnProperty(l))return;let u=this[l];delete this[l],a.setInputValue(l,u,c)})}return this._ngElementStrategy}_ngElementStrategy;constructor(a){super(),this.injector=a}attributeChangedCallback(a,l,c,u){let[f,p]=o[a];this.ngElementStrategy.setInputValue(f,c,p)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{let l=new CustomEvent(a.name,{detail:a.value});this.dispatchEvent(l)})}}return n.forEach(({propName:s,transform:a})=>{Object.defineProperty(i.prototype,s,{get(){return this.ngElementStrategy.getInputValue(s)},set(l){this.ngElementStrategy.setInputValue(s,l,a)},configurable:!0,enumerable:!0})}),i}var Oa={apiBase:"https://z.bloomscorp.com"};var Yd=typeof document<"u"?document.currentScript:null;function Ke(e){return e.replace(/\/+$/,"")}function Kd(){if(typeof window>"u")return!0;try{if(window.location.protocol==="file:"||!window.origin||window.origin==="null")return!0}catch{return!0}return!1}function Jd(){let e=Yd?.src;if(e)return e;try{let t=import.meta?.url;if(t)return t}catch{}return null}function IE(e){if(e)return Ke(e);let t=Yd?.dataset?.bloomsApiBase;if(t)return Ke(t);if(Oa.apiBase)return Ke(Oa.apiBase);let n=Jd();if(n)try{return Ke(new URL(n).origin)}catch{}if(typeof window<"u"&&!Kd())return Ke(window.location.origin);throw new Error('[BloomsEmbed] Could not determine the API base. Pass it explicitly: BloomsEmbed.configure({ token, apiBase: "https://z.bloomscorp.com" }).')}function DE(e,t){if(e)return Ke(e);let n=Jd();if(n)try{let r=new URL(".",n).href;return Ke(r)}catch{}return`${Ke(t??"")}/elements`}function CE(e="auto"){return e==="element"||e==="iframe"?e:typeof window>"u"||typeof document>"u"||Kd()||!("customElements"in window)?"iframe":"element"}function Ro(e){if(!e?.token)throw new Error('[BloomsEmbed] configure() requires a token: { token: "blm_embed_\u2026" }');if(!e.token.startsWith("blm_embed_"))throw new Error('[BloomsEmbed] That does not look like an embed token. Embed tokens start with "blm_embed_". Secret API keys (blm_live_\u2026) must never be used in a browser.');let t=IE(e.apiBase);return{token:e.token,apiBase:t,assetBase:DE(e.assetBase,t),storage:e.storage??"local",mode:CE(e.mode??"auto"),theme:e.theme??{},parentOrigin:e.parentOrigin??null}}var Ao="X-Blooms-Embed-Token",Oo="X-Blooms-Embed-Parent";var ME="blooms_embed_session",ka=class{constructor(){this._session=ee(null);this._config=ee(null);this.session=this._session.asReadonly();this.config=this._config.asReadonly();this.isSignedIn=Y(()=>this._session()!==null);this.user=Y(()=>this._session()?.user??null);this.project=Y(()=>this._session()?.project??null);this.grantedKeys=Y(()=>this._session()?.grantedKeys??[]);this.projects=Y(()=>{let t=this._session();return t?t.projects?.length?t.projects:[N(y({},t.project),{grantedKeys:t.grantedKeys,isOwner:t.isProjectOwner})]:[]});this.listeners=new Set;this.memory=null;this.configResolve=null;this.configReady=new Promise(t=>{this.configResolve=t})}setConfig(t){this._config.set(t),this.restore(),this.configResolve?.(t),this.configResolve=null}whenConfigured(){let t=this._config();return t?Promise.resolve(t):this.configReady}requireConfig(){let t=this._config();if(!t)throw new Error("[BloomsEmbed] Call BloomsEmbed.configure({ token }) before using any component.");return t}set(t){this._session.set(t),this.persist(t),this.emit({type:"session",session:t,mode:this._config()?.mode??"element"})}clear(){this.set(null)}isStale(t=0){let n=this._session();return n?Date.now()+t>=n.expiresAt:!1}can(t,n){let r=n?this.projects().find(o=>o.id===n)?.grantedKeys??[]:this.grantedKeys();return r.includes(t)||r.includes("owner")||r.includes("manager")}setProject(t){let n=this._session();if(!n)return!1;let r=this.projects().find(o=>o.id===t);return r?(this.set(N(y({},n),{project:{id:r.id,name:r.name},grantedKeys:r.grantedKeys,isProjectOwner:r.isOwner})),!0):!1}on(t){return this.listeners.add(t),()=>this.listeners.delete(t)}emit(t){for(let n of this.listeners)try{n(t)}catch(r){console.error("[BloomsEmbed] listener threw",r)}}storageKey(){let t=this._config();return`${ME}:${t?.token??"unconfigured"}`}area(){let t=this._config()?.storage??"local";if(t==="memory")return null;try{return t==="session"?window.sessionStorage:window.localStorage}catch{return null}}persist(t){this.memory=t;let n=this.area();if(n)try{t?n.setItem(this.storageKey(),JSON.stringify(t)):n.removeItem(this.storageKey())}catch{}}restore(){if(this.memory){this._session.set(this.memory);return}let t=this.area();if(t)try{let n=t.getItem(this.storageKey());if(!n)return;let r=JSON.parse(n);r?.refreshToken&&r?.user&&(this._session.set(r),this.memory=r)}catch{try{t.removeItem(this.storageKey())}catch{}}}},m=new ka;var De=class extends Error{constructor(n,r,o){super(r);this.code=n;this.status=o;this.name="EmbedApiError"}};async function Hn(e,t={}){let n=m.requireConfig(),r=y(y(y({[Ao]:n.token},n.parentOrigin?{[Oo]:n.parentOrigin}:{}),t.body?{"Content-Type":"application/json"}:{}),t.headers),o;try{o=await fetch(`${n.apiBase}${e}`,N(y({},t),{headers:r}))}catch{throw new De("EMBED_NETWORK",`Could not reach ${n.apiBase}. If this origin is not registered on the embed token, the browser reports the CORS refusal as a network error.`,0)}let i=null;try{i=await o.json()}catch{}if(!o.ok||i?.success===!1)throw new De(i?.code??"EMBED_ERROR",i?.message??`Request failed with status ${o.status}`,o.status);return i?.data}function Xd(){return Hn("/api/embed/v1/manifest")}function ef(e){return{token:e.token,refreshToken:e.refreshToken,expiresAt:Date.now()+e.expiresIn*1e3,user:e.user,project:e.project,grantedKeys:e.grantedKeys??[],isProjectOwner:!!e.isProjectOwner,projects:e.projects}}async function tf(e,t){let n=await Hn("/api/embed/v1/auth/login",{method:"POST",body:JSON.stringify({email:e,password:t})}),r=ef(n);return m.set(r),r}async function SE(){let e=m.session();if(!e?.refreshToken)throw new De("EMBED_SESSION_EXPIRED","No session to refresh.",401);let t=await Hn("/api/embed/v1/auth/refresh",{method:"POST",body:JSON.stringify({refreshToken:e.refreshToken})}),n=ef(t);return m.set(n),n}var ko=null;function Un(){return ko||(ko=SE().catch(e=>{throw m.clear(),m.emit({type:"error",code:e instanceof De?e.code:"EMBED_SESSION_EXPIRED",message:e instanceof Error?e.message:"Session expired",status:e instanceof De?e.status:401}),e}).finally(()=>{ko=null})),ko}async function nf(){let e=m.session();if(!e)throw new De("EMBED_SESSION_REVOKED","No session.",401);let t=await Hn("/api/embed/v1/session",{headers:{Authorization:`Bearer ${e.token}`}}),n=N(y({},e),{user:t.user,project:t.project,grantedKeys:t.grantedKeys??[],isProjectOwner:!!t.isProjectOwner,projects:t.projects});return m.set(n),n}async function Po(){let e=m.session();if(e)try{await Hn("/api/embed/v1/auth/logout",{method:"POST",headers:{Authorization:`Bearer ${e.token}`}})}catch{}m.clear()}function TE(e){return e.includes("/api/embed/v1/")}function xE(e,t){return/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(e.url)||!e.url.startsWith("/")?e:e.clone({url:`${t}${e.url}`})}var of=(e,t)=>{let n=m.config();if(!n)return t(e);let r=xE(e,n.apiBase);if(TE(r.url))return t(r);let o=a=>{let l={[Ao]:n.token};return n.parentOrigin&&(l[Oo]=n.parentOrigin),a&&(l.Authorization=`Bearer ${a}`),r.clone({setHeaders:l})},i=m.session();return(i&&m.isStale(0)?ne(Un()).pipe(Me(a=>t(o(a.token)))):t(o(i?.token))).pipe(Ni({count:1,delay:a=>{if(!(a instanceof ye)||a.status!==429)throw a;let l=Number(a.headers?.get("Retry-After")),c=Number.isFinite(l)&&l>0?l*1e3:1e3;return dn(Math.min(c,3e4))}}),fn(a=>{if(a.status!==401){let l=a.error?.code;return(l==="EMBED_TOKEN_REVOKED"||l==="EMBED_ORIGIN_REJECTED")&&(m.clear(),m.emit({type:"error",code:l,message:a.error?.message??l,status:a.status})),un(()=>a)}return m.session()?ne(Un()).pipe(Me(l=>t(o(l.token))),fn(l=>un(()=>l))):un(()=>a)}))};var Pa=1;function sf(e,t){let n=m.requireConfig(),r=typeof e=="string"?document.querySelector(e):e;if(!r)throw new Error(`[BloomsEmbed] mount target not found: ${String(e)}`);let o=new URL(`${n.apiBase}/embed/${encodeURIComponent(t.feature)}`);o.searchParams.set("token",n.token),window.origin&&window.origin!=="null"&&o.searchParams.set("origin",window.origin);let i=new URL(n.apiBase).origin,s=document.createElement("iframe");s.src=o.toString(),s.style.width="100%",s.style.border="0",s.style.display="block",s.style.height=`${t.minHeight??320}px`,s.setAttribute("title",t.attributes?.title??"blooms.ai"),s.setAttribute("allow","clipboard-write"),s.setAttribute("referrerpolicy","no-referrer");for(let[p,d]of Object.entries(t.attributes??{}))p!=="title"&&s.setAttribute(p,d);let a=!1,l=(p,d={})=>{s.contentWindow?.postMessage(y({source:"blooms-embed-host",protocol:Pa,type:p},d),i)},c=()=>{a&&l("blooms:session",{session:m.session()})},u=p=>{if(p.origin!==i||p.source!==s.contentWindow)return;let d=p.data;if(!(!d||d.source!=="blooms-embed")){if(d.protocol!==Pa){console.warn(`[BloomsEmbed] Frame speaks protocol ${d.protocol}, host speaks ${Pa}.`);return}switch(d.type){case"blooms:ready":a=!0,c();break;case"blooms:resize":typeof d.height=="number"&&d.height>0&&(s.style.height=`${Math.max(d.height,t.minHeight??0)}px`);break;case"blooms:session":d.credentials&&d.session?.refreshToken&&m.set(d.session);break;case"blooms:event":d.event?.type&&m.emit(d.event);break;default:break}}};window.addEventListener("message",u);let f=m.on(p=>{p.type==="session"&&(p.session?c():l("blooms:logout"))});return r.appendChild(s),{iframe:s,sync:c,destroy(){window.removeEventListener("message",u),f(),s.remove()}}}var La=typeof __BLOOMS_EMBED_VERSION__=="string"?__BLOOMS_EMBED_VERSION__:"0.1.0",Yt={version:La,configure(e){m.setConfig(Ro(e))},mode(){return m.config()?.mode??null},manifest(){return Xd()},login({email:e,password:t}){return tf(e,t)},session(){return m.session()},async resume(){if(!m.session())return null;try{return m.isStale(0)&&await Un(),await nf()}catch{return null}},can(e,t){return m.can(e,t)},projects(){return m.projects()},project(){return m.project()},setProject(e){return m.setProject(e)},logout(){return Po()},on(e,t){return m.on(n=>{(e==="all"||n.type===e)&&t(n)})},mount(e,t){if(m.requireConfig().mode==="iframe")return sf(e,t);let r=typeof e=="string"?document.querySelector(e):e;if(!r)throw new Error(`[BloomsEmbed] mount target not found: ${String(e)}`);let o=`blooms-${t.feature}`;if(!customElements.get(o))throw new Error(`[BloomsEmbed] <${o}> is not part of this bundle. Available: ${["blooms-login"].join(", ")}.`);let i=document.createElement(o);for(let[s,a]of Object.entries(t.attributes??{}))i.setAttribute(s,a);return r.appendChild(i),i}};function af(){if(typeof window>"u")return;let e=window;if(e.__BLOOMS_EMBED_VERSION__){console.warn(`[BloomsEmbed] Already loaded (version ${e.__BLOOMS_EMBED_VERSION__}); ignoring this copy (${La}). Include the bundle once per page.`);return}e.__BLOOMS_EMBED_VERSION__=La,e.BloomsEmbed=Yt}var Lo=1;function cf(){return window.__BLOOMS_SHELL__??null}function uf(){return cf()!==null}function lf(e){if(!e)return null;let o=e,{token:t,refreshToken:n}=o;return Ko(o,["token","refreshToken"])}function df(){let e=cf();if(!e)return;let t=window.parent;(!t||t===window)&&console.warn("[BloomsEmbed] The shell was opened directly rather than in a frame."),m.setConfig(Ro({token:e.token,apiBase:e.apiBase||window.location.origin,storage:"memory",mode:"iframe",theme:e.theme,parentOrigin:e.parentOrigin}));let n=e.parentOrigin??"*",r=e.parentOrigin!==null,o=(l,c={})=>{try{t?.postMessage(y({source:"blooms-embed",protocol:Lo,type:l},c),n)}catch(u){console.error("[BloomsEmbed] Could not message the host page",u)}},i=l=>r?l===e.parentOrigin:l==="null"||l===window.location.origin;window.addEventListener("message",l=>{if(!l.data||typeof l.data!="object")return;let c=l.data;if(c.source==="blooms-embed-host"){if(!i(l.origin)){console.warn(`[BloomsEmbed] Ignored a host message from an unexpected origin: ${l.origin}`);return}if(c.protocol!==Lo){console.warn(`[BloomsEmbed] Host speaks protocol ${c.protocol}, frame speaks ${Lo}.`);return}switch(c.type){case"blooms:session":c.session?.refreshToken&&m.set(c.session);break;case"blooms:logout":Po();break;case"blooms:theme":if(c.theme){let u=m.config();u&&m.setConfig(N(y({},u),{theme:y(y({},u.theme),c.theme)}))}break;default:break}}}),m.on(l=>{l.type==="session"&&o("blooms:session",{session:r?l.session:lf(l.session),credentials:r}),o("blooms:event",{event:y(y({},l),l.type==="session"?{session:lf(l.session)}:{})})});let s=0,a=()=>{let l=Math.ceil(document.documentElement.scrollHeight);l!==s&&(s=l,o("blooms:resize",{height:l}))};typeof ResizeObserver<"u"?new ResizeObserver(a).observe(document.documentElement):setInterval(a,500),window.addEventListener("load",a),o("blooms:ready",{feature:e.feature,protocol:Lo}),a()}var bf=(()=>{class e{_renderer;_elementRef;onChange=n=>{};onTouched=()=>{};constructor(n,r){this._renderer=n,this._elementRef=r}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}static \u0275fac=function(r){return new(r||e)(z(la),z(jt))};static \u0275dir=Pe({type:e})}return e})(),NE=(()=>{class e extends bf{static \u0275fac=(()=>{let n;return function(o){return(n||(n=hu(e)))(o||e)}})();static \u0275dir=Pe({type:e,features:[We]})}return e})(),wf=new v("");var RE={provide:wf,useExisting:kt(()=>Wo),multi:!0};function AE(){let e=Ye()?Ye().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}var OE=new v(""),Wo=(()=>{class e extends bf{_compositionMode;_composing=!1;constructor(n,r,o){super(n,r),this._compositionMode=o,this._compositionMode==null&&(this._compositionMode=!AE())}writeValue(n){let r=n??"";this.setProperty("value",r)}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}static \u0275fac=function(r){return new(r||e)(z(la),z(jt),z(OE,8))};static \u0275dir=Pe({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){r&1&&qe("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},standalone:!1,features:[vo([RE]),We]})}return e})();function Ua(e){return e==null||$a(e)===0}function $a(e){return e==null?null:Array.isArray(e)||typeof e=="string"?e.length:e instanceof Set?e.size:null}var _f=new v(""),If=new v(""),kE=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Xt=class{static min(t){return PE(t)}static max(t){return LE(t)}static required(t){return FE(t)}static requiredTrue(t){return VE(t)}static email(t){return jE(t)}static minLength(t){return BE(t)}static maxLength(t){return HE(t)}static pattern(t){return UE(t)}static nullValidator(t){return Df()}static compose(t){return Nf(t)}static composeAsync(t){return Af(t)}};function PE(e){return t=>{if(t.value==null||e==null)return null;let n=parseFloat(t.value);return!isNaN(n)&&n<e?{min:{min:e,actual:t.value}}:null}}function LE(e){return t=>{if(t.value==null||e==null)return null;let n=parseFloat(t.value);return!isNaN(n)&&n>e?{max:{max:e,actual:t.value}}:null}}function FE(e){return Ua(e.value)?{required:!0}:null}function VE(e){return e.value===!0?null:{required:!0}}function jE(e){return Ua(e.value)||kE.test(e.value)?null:{email:!0}}function BE(e){return t=>{let n=t.value?.length??$a(t.value);return n===null||n===0?null:n<e?{minlength:{requiredLength:e,actualLength:n}}:null}}function HE(e){return t=>{let n=t.value?.length??$a(t.value);return n!==null&&n>e?{maxlength:{requiredLength:e,actualLength:n}}:null}}function UE(e){if(!e)return Df;let t,n;return typeof e=="string"?(n="",e.charAt(0)!=="^"&&(n+="^"),n+=e,e.charAt(e.length-1)!=="$"&&(n+="$"),t=new RegExp(n)):(n=e.toString(),t=e),r=>{if(Ua(r.value))return null;let o=r.value;return t.test(o)?null:{pattern:{requiredPattern:n,actualValue:o}}}}function Df(e){return null}function Cf(e){return e!=null}function Mf(e){return mo(e)?ne(e):e}function Sf(e){let t={};return e.forEach(n=>{t=n!=null?y(y({},t),n):t}),Object.keys(t).length===0?null:t}function Tf(e,t){return t.map(n=>n(e))}function $E(e){return!e.validate}function xf(e){return e.map(t=>$E(t)?t:n=>t.validate(n))}function Nf(e){if(!e)return null;let t=e.filter(Cf);return t.length==0?null:function(n){return Sf(Tf(n,t))}}function Rf(e){return e!=null?Nf(xf(e)):null}function Af(e){if(!e)return null;let t=e.filter(Cf);return t.length==0?null:function(n){let r=Tf(n,t).map(Mf);return Ci(r).pipe(X(Sf))}}function Of(e){return e!=null?Af(xf(e)):null}function ff(e,t){return e===null?[t]:Array.isArray(e)?[...e,t]:[e,t]}function kf(e){return e._rawValidators}function Pf(e){return e._rawAsyncValidators}function Fa(e){return e?Array.isArray(e)?e:[e]:[]}function jo(e,t){return Array.isArray(e)?e.includes(t):e===t}function pf(e,t){let n=Fa(t);return Fa(e).forEach(o=>{jo(n,o)||n.push(o)}),n}function hf(e,t){return Fa(t).filter(n=>!jo(e,n))}var Bo=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=Rf(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Of(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,n){return this.control?this.control.hasError(t,n):!1}getError(t,n){return this.control?this.control.getError(t,n):null}},en=class extends Bo{name;get formDirective(){return null}get path(){return null}},qn=class extends Bo{_parent=null;name=null;valueAccessor=null},Ho=class{_cd;constructor(t){this._cd=t}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},zE={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},$S=N(y({},zE),{"[class.ng-submitted]":"isSubmitted"}),Lf=(()=>{class e extends Ho{constructor(n){super(n)}static \u0275fac=function(r){return new(r||e)(z(qn,2))};static \u0275dir=Pe({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){r&2&&$t("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},standalone:!1,features:[We]})}return e})(),Ff=(()=>{class e extends Ho{constructor(n){super(n)}static \u0275fac=function(r){return new(r||e)(z(en,10))};static \u0275dir=Pe({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){r&2&&$t("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},standalone:!1,features:[We]})}return e})();var $n="VALID",Fo="INVALID",Kt="PENDING",zn="DISABLED",Je=class{},Uo=class extends Je{value;source;constructor(t,n){super(),this.value=t,this.source=n}},Gn=class extends Je{pristine;source;constructor(t,n){super(),this.pristine=t,this.source=n}},Wn=class extends Je{touched;source;constructor(t,n){super(),this.touched=t,this.source=n}},Jt=class extends Je{status;source;constructor(t,n){super(),this.status=t,this.source=n}},Va=class extends Je{source;constructor(t){super(),this.source=t}},ja=class extends Je{source;constructor(t){super(),this.source=t}};function za(e){return(qo(e)?e.validators:e)||null}function GE(e){return Array.isArray(e)?Rf(e):e||null}function Ga(e,t){return(qo(t)?t.asyncValidators:e)||null}function WE(e){return Array.isArray(e)?Of(e):e||null}function qo(e){return e!=null&&!Array.isArray(e)&&typeof e=="object"}function Vf(e,t,n){let r=e.controls;if(!(t?Object.keys(r):r).length)throw new E(1e3,"");if(!r[n])throw new E(1001,"")}function jf(e,t,n){e._forEachChild((r,o)=>{if(n[o]===void 0)throw new E(1002,"")})}var tn=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,n){this._assignValidators(t),this._assignAsyncValidators(n)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return Qe(this.statusReactive)}set status(t){Qe(()=>this.statusReactive.set(t))}_status=Y(()=>this.statusReactive());statusReactive=ee(void 0);get valid(){return this.status===$n}get invalid(){return this.status===Fo}get pending(){return this.status==Kt}get disabled(){return this.status===zn}get enabled(){return this.status!==zn}errors;get pristine(){return Qe(this.pristineReactive)}set pristine(t){Qe(()=>this.pristineReactive.set(t))}_pristine=Y(()=>this.pristineReactive());pristineReactive=ee(!0);get dirty(){return!this.pristine}get touched(){return Qe(this.touchedReactive)}set touched(t){Qe(()=>this.touchedReactive.set(t))}_touched=Y(()=>this.touchedReactive());touchedReactive=ee(!1);get untouched(){return!this.touched}_events=new de;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(pf(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(pf(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(hf(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(hf(t,this._rawAsyncValidators))}hasValidator(t){return jo(this._rawValidators,t)}hasAsyncValidator(t){return jo(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){let n=this.touched===!1;this.touched=!0;let r=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsTouched(N(y({},t),{sourceControl:r})),n&&t.emitEvent!==!1&&this._events.next(new Wn(!0,r))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(n=>n.markAllAsTouched(t))}markAsUntouched(t={}){let n=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let r=t.sourceControl??this;this._forEachChild(o=>{o.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:r})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,r),n&&t.emitEvent!==!1&&this._events.next(new Wn(!1,r))}markAsDirty(t={}){let n=this.pristine===!0;this.pristine=!1;let r=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsDirty(N(y({},t),{sourceControl:r})),n&&t.emitEvent!==!1&&this._events.next(new Gn(!1,r))}markAsPristine(t={}){let n=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let r=t.sourceControl??this;this._forEachChild(o=>{o.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t,r),n&&t.emitEvent!==!1&&this._events.next(new Gn(!0,r))}markAsPending(t={}){this.status=Kt;let n=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Jt(this.status,n)),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.markAsPending(N(y({},t),{sourceControl:n}))}disable(t={}){let n=this._parentMarkedDirty(t.onlySelf);this.status=zn,this.errors=null,this._forEachChild(o=>{o.disable(N(y({},t),{onlySelf:!0}))}),this._updateValue();let r=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Uo(this.value,r)),this._events.next(new Jt(this.status,r)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(N(y({},t),{skipPristineCheck:n}),this),this._onDisabledChange.forEach(o=>o(!0))}enable(t={}){let n=this._parentMarkedDirty(t.onlySelf);this.status=$n,this._forEachChild(r=>{r.enable(N(y({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(N(y({},t),{skipPristineCheck:n}),this),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(t,n){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine({},n),this._parent._updateTouched({},n))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let r=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$n||this.status===Kt)&&this._runAsyncValidator(r,t.emitEvent)}let n=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Uo(this.value,n)),this._events.next(new Jt(this.status,n)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(N(y({},t),{sourceControl:n}))}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?zn:$n}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,n){if(this.asyncValidator){this.status=Kt,this._hasOwnPendingAsyncValidator={emitEvent:n!==!1};let r=Mf(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(o=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(o,{emitEvent:n,shouldHaveEmitted:t})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let t=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,t}return!1}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(n.emitEvent!==!1,this,n.shouldHaveEmitted)}get(t){let n=t;return n==null||(Array.isArray(n)||(n=n.split(".")),n.length===0)?null:n.reduce((r,o)=>r&&r._find(o),this)}getError(t,n){let r=n?this.get(n):this;return r&&r.errors?r.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,n,r){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||r)&&this._events.next(new Jt(this.status,n)),this._parent&&this._parent._updateControlsErrors(t,n,r)}_initObservables(){this.valueChanges=new Z,this.statusChanges=new Z}_calculateStatus(){return this._allControlsDisabled()?zn:this.errors?Fo:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Kt)?Kt:this._anyControlsHaveStatus(Fo)?Fo:$n}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,n){let r=!this._anyControlsDirty(),o=this.pristine!==r;this.pristine=r,this._parent&&!t.onlySelf&&this._parent._updatePristine(t,n),o&&this._events.next(new Gn(this.pristine,n))}_updateTouched(t={},n){this.touched=this._anyControlsTouched(),this._events.next(new Wn(this.touched,n)),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,n)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){qo(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){let n=this._parent&&this._parent.dirty;return!t&&!!n&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=GE(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=WE(this._rawAsyncValidators)}},$o=class extends tn{constructor(t,n,r){super(za(n),Ga(r,n)),this.controls=t,this._initObservables(),this._setUpdateStrategy(n),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,n){return this.controls[t]?this.controls[t]:(this.controls[t]=n,n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange),n)}addControl(t,n,r={}){this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(t,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}setControl(t,n,r={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],n&&this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,n={}){jf(this,!0,t),Object.keys(t).forEach(r=>{Vf(this,!0,r),this.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}patchValue(t,n={}){t!=null&&(Object.keys(t).forEach(r=>{let o=this.controls[r];o&&o.patchValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}reset(t={},n={}){this._forEachChild((r,o)=>{r.reset(t?t[o]:null,{onlySelf:!0,emitEvent:n.emitEvent})}),this._updatePristine(n,this),this._updateTouched(n,this),this.updateValueAndValidity(n)}getRawValue(){return this._reduceChildren({},(t,n,r)=>(t[r]=n.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(n,r)=>r._syncPendingControls()?!0:n);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(n=>{let r=this.controls[n];r&&t(r,n)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(let[n,r]of Object.entries(this.controls))if(this.contains(n)&&t(r))return!0;return!1}_reduceValue(){let t={};return this._reduceChildren(t,(n,r,o)=>((r.enabled||this.disabled)&&(n[o]=r.value),n))}_reduceChildren(t,n){let r=t;return this._forEachChild((o,i)=>{r=n(r,o,i)}),r}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}};var Ba=class extends $o{};var Bf=new v("",{providedIn:"root",factory:()=>Wa}),Wa="always";function qE(e,t){return[...t.path,e]}function gf(e,t,n=Wa){qa(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||n==="always")&&t.valueAccessor.setDisabledState?.(e.disabled),QE(e,t),KE(e,t),YE(e,t),ZE(e,t)}function mf(e,t,n=!0){let r=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(r),t.valueAccessor.registerOnTouched(r)),Go(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function zo(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function ZE(e,t){if(t.valueAccessor.setDisabledState){let n=r=>{t.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}function qa(e,t){let n=kf(e);t.validator!==null?e.setValidators(ff(n,t.validator)):typeof n=="function"&&e.setValidators([n]);let r=Pf(e);t.asyncValidator!==null?e.setAsyncValidators(ff(r,t.asyncValidator)):typeof r=="function"&&e.setAsyncValidators([r]);let o=()=>e.updateValueAndValidity();zo(t._rawValidators,o),zo(t._rawAsyncValidators,o)}function Go(e,t){let n=!1;if(e!==null){if(t.validator!==null){let o=kf(e);if(Array.isArray(o)&&o.length>0){let i=o.filter(s=>s!==t.validator);i.length!==o.length&&(n=!0,e.setValidators(i))}}if(t.asyncValidator!==null){let o=Pf(e);if(Array.isArray(o)&&o.length>0){let i=o.filter(s=>s!==t.asyncValidator);i.length!==o.length&&(n=!0,e.setAsyncValidators(i))}}}let r=()=>{};return zo(t._rawValidators,r),zo(t._rawAsyncValidators,r),n}function QE(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,e.updateOn==="change"&&Hf(e,t)})}function YE(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,e.updateOn==="blur"&&e._pendingChange&&Hf(e,t),e.updateOn!=="submit"&&e.markAsTouched()})}function Hf(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function KE(e,t){let n=(r,o)=>{t.valueAccessor.writeValue(r),o&&t.viewToModelUpdate(r)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}function JE(e,t){e==null,qa(e,t)}function XE(e,t){return Go(e,t)}function eb(e,t){if(!e.hasOwnProperty("model"))return!1;let n=e.model;return n.isFirstChange()?!0:!Object.is(t,n.currentValue)}function tb(e){return Object.getPrototypeOf(e.constructor)===NE}function nb(e,t){e._syncPendingControls(),t.forEach(n=>{let r=n.control;r.updateOn==="submit"&&r._pendingChange&&(n.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}function rb(e,t){if(!t)return null;Array.isArray(t);let n,r,o;return t.forEach(i=>{i.constructor===Wo?n=i:tb(i)?r=i:o=i}),o||r||n||null}function ob(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function yf(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function vf(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===2&&"value"in e&&"disabled"in e}var Vo=class extends tn{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,n,r){super(za(n),Ga(r,n)),this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),qo(n)&&(n.nonNullable||n.initialValueIsDefault)&&(vf(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&n.emitModelToViewChange!==!1&&this._onChange.forEach(r=>r(this.value,n.emitViewToModelChange!==!1)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){yf(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){yf(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(t){vf(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};var ib=e=>e instanceof Vo;var Uf=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275dir=Pe({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return e})();var $f=new v("");var sb={provide:en,useExisting:kt(()=>Za)},Za=(()=>{class e extends en{callSetDisabledState;get submitted(){return Qe(this._submittedReactive)}set submitted(n){this._submittedReactive.set(n)}_submitted=Y(()=>this._submittedReactive());_submittedReactive=ee(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new Z;constructor(n,r,o){super(),this.callSetDisabledState=o,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Go(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){let r=this.form.get(n.path);return gf(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){mf(n.control||null,n,!1),ob(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this._submittedReactive.set(!0),nb(this.form,this.directives),this.ngSubmit.emit(n),this.form._events.next(new Va(this.control)),n?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this._submittedReactive.set(!1),this.form._events.next(new ja(this.form))}_updateDomValue(){this.directives.forEach(n=>{let r=n.control,o=this.form.get(n.path);r!==o&&(mf(r||null,n),ib(o)&&(gf(o,n,this.callSetDisabledState),n.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){let r=this.form.get(n.path);JE(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){let r=this.form.get(n.path);r&&XE(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){qa(this.form,this),this._oldForm&&Go(this._oldForm,this)}static \u0275fac=function(r){return new(r||e)(z(_f,10),z(If,10),z(Bf,8))};static \u0275dir=Pe({type:e,selectors:[["","formGroup",""]],hostBindings:function(r,o){r&1&&qe("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[vo([sb]),We,ks]})}return e})();var ab={provide:qn,useExisting:kt(()=>Qa)},Qa=(()=>{class e extends qn{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(n){}model;update=new Z;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(n,r,o,i,s){super(),this._ngModelWarningConfig=s,this._parent=n,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=rb(this,i)}ngOnChanges(n){this._added||this._setUpControl(),eb(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return qE(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(r){return new(r||e)(z(en,13),z(_f,10),z(If,10),z(wf,10),z($f,8))};static \u0275dir=Pe({type:e,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[vo([ab]),We,ks]})}return e})();var lb=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=xn({type:e});static \u0275inj=_n({})}return e})(),Ha=class extends tn{constructor(t,n,r){super(za(n),Ga(r,n)),this.controls=t,this._initObservables(),this._setUpdateStrategy(n),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,n={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}insert(t,n,r={}){this.controls.splice(t,0,n),this._registerControl(n),this.updateValueAndValidity({emitEvent:r.emitEvent})}removeAt(t,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),this.updateValueAndValidity({emitEvent:n.emitEvent})}setControl(t,n,r={}){let o=this._adjustIndex(t);o<0&&(o=0),this.controls[o]&&this.controls[o]._registerOnCollectionChange(()=>{}),this.controls.splice(o,1),n&&(this.controls.splice(o,0,n),this._registerControl(n)),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,n={}){jf(this,!1,t),t.forEach((r,o)=>{Vf(this,!1,o),this.at(o).setValue(r,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}patchValue(t,n={}){t!=null&&(t.forEach((r,o)=>{this.at(o)&&this.at(o).patchValue(r,{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}reset(t=[],n={}){this._forEachChild((r,o)=>{r.reset(t[o],{onlySelf:!0,emitEvent:n.emitEvent})}),this._updatePristine(n,this),this._updateTouched(n,this),this.updateValueAndValidity(n)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(n=>n._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((n,r)=>r._syncPendingControls()?!0:n,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((n,r)=>{t(n,r)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(n=>n.enabled&&t(n))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}};function Ef(e){return!!e&&(e.asyncValidators!==void 0||e.validators!==void 0||e.updateOn!==void 0)}var zf=(()=>{class e{useNonNullable=!1;get nonNullable(){let n=new e;return n.useNonNullable=!0,n}group(n,r=null){let o=this._reduceControls(n),i={};return Ef(r)?i=r:r!==null&&(i.validators=r.validator,i.asyncValidators=r.asyncValidator),new $o(o,i)}record(n,r=null){let o=this._reduceControls(n);return new Ba(o,r)}control(n,r,o){let i={};return this.useNonNullable?(Ef(r)?i=r:(i.validators=r,i.asyncValidators=o),new Vo(n,N(y({},i),{nonNullable:!0}))):new Vo(n,r,o)}array(n,r,o){let i=n.map(s=>this._createControl(s));return new Ha(i,r,o)}_reduceControls(n){let r={};return Object.keys(n).forEach(o=>{r[o]=this._createControl(n[o])}),r}_createControl(n){if(n instanceof Vo)return n;if(n instanceof tn)return n;if(Array.isArray(n)){let r=n[0],o=n.length>1?n[1]:null,i=n.length>2?n[2]:null;return this.control(r,o,i)}else return this.control(n)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=A({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Gf=(()=>{class e{static withConfig(n){return{ngModule:e,providers:[{provide:$f,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Bf,useValue:n.callSetDisabledState??Wa}]}}static \u0275fac=function(r){return new(r||e)};static \u0275mod=xn({type:e});static \u0275inj=_n({imports:[lb]})}return e})();var Wf=null,qf=new WeakSet;function Zf(){return`${m.config()?.assetBase??""}/blooms-embed.css`}async function ub(){await m.whenConfigured();let e;try{let t=await fetch(Zf(),{credentials:"omit"});if(!t.ok&&t.status!==304)throw new Error(`status ${t.status}`);e=await t.text()}catch(t){return console.error(`[BloomsEmbed] Could not load ${Zf()} \u2014 components will be unstyled. Check that /elements/* is served with CORS enabled.`,t),null}if(typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype)try{let t=new CSSStyleSheet;return t.replaceSync(e),t}catch{}return e}async function Qf(e){if(!e||qf.has(e))return;qf.add(e),await m.whenConfigured(),Ya(e),Wf??=ub();let t=await Wf;if(t){if(typeof t=="string"){let n=document.createElement("style");n.textContent=t,e.prepend(n);return}try{e.adoptedStyleSheets=[...e.adoptedStyleSheets,t]}catch{let n=document.createElement("style");n.textContent=Array.from({length:t.cssRules.length},(r,o)=>t.cssRules[o].cssText).join(`
|
|
9
|
-
`),e.prepend(n)}}}function Ya(e,t){let n=y(y({},m.config()?.theme??{}),t??{}),r=e.host;if(r)for(let[o,i]of Object.entries(n))o.startsWith("--")&&r.style.setProperty(o,String(i))}function db(e,t){e&1&&(O(0,"div",1),zt(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",6)(5,"div",7),k())}function fb(e,t){if(e&1){let n=ca();O(0,"div",2)(1,"div",8),V(2),k(),O(3,"div",9)(4,"strong"),V(5),k(),O(6,"span"),V(7),k()(),O(8,"button",10),qe("click",function(){lo(n);let o=Ze();return co(o.signOut())}),V(9,"Sign out"),k()()}if(e&2){let n,r,o=Ze();F(2),Fe(o.initials()),F(3),Fe((n=o.user())==null?null:n.name),F(2),Fe((r=o.user())==null?null:r.email)}}function pb(e,t){e&1&&(O(0,"div",12)(1,"span",26),V(2,"\u273F"),k(),O(3,"span",27),V(4,"blooms"),O(5,"span"),V(6,".ai"),k()()())}function hb(e,t){if(e&1&&(O(0,"div",15)(1,"span",28),V(2,"\u26A0\uFE0F"),k(),O(3,"div")(4,"strong"),V(5),k(),O(6,"p"),V(7),k()()()),e&2){let n=Ze(2);F(5),Fe(n.error().title),F(2),Fe(n.error().detail)}}function gb(e,t){e&1&&(O(0,"span",19),V(1,"Enter a valid email address"),k())}function mb(e,t){e&1&&(O(0,"span",19),V(1,"Password is required"),k())}function yb(e,t){e&1&&(zt(0,"span",29),V(1," Signing in\u2026 "))}function vb(e,t){e&1&&V(0," Sign in ")}function Eb(e,t){if(e&1&&(O(0,"a",24),V(1," Forgot password? "),k()),e&2){let n=Ze(2);Ut("href",n.forgotUrl(),Vu)}}function bb(e,t){e&1&&(O(0,"p",25),V(1,"Secured by blooms.ai"),k())}function wb(e,t){if(e&1){let n=ca();O(0,"form",11),qe("ngSubmit",function(){lo(n);let o=Ze();return co(o.submit())}),Le(1,pb,7,0,"div",12),O(2,"h1",13),V(3),k(),O(4,"p",14),V(5),k(),Le(6,hb,8,2,"div",15),O(7,"label",16)(8,"span",17),V(9,"Email"),k(),zt(10,"input",18),Le(11,gb,2,0,"span",19),k(),O(12,"label",16)(13,"span",17),V(14,"Password"),k(),O(15,"span",20),zt(16,"input",21),O(17,"button",22),qe("click",function(){lo(n);let o=Ze();return co(o.showPassword.set(!o.showPassword()))}),V(18),k()(),Le(19,mb,2,0,"span",19),k(),O(20,"button",23),Le(21,yb,2,0)(22,vb,1,0),k(),Le(23,Eb,2,1,"a",24)(24,bb,2,0,"p",25),k()}if(e&2){let n=Ze();Ut("formGroup",n.form),F(),me(n.hideBranding()?-1:1),F(2),Fe(n.heading||"Sign in"),F(2),yo(" ",n.subheading||n.defaultSubheading()," "),F(),me(n.error()?6:-1),F(4),Ht("aria-invalid",n.invalid("email")),F(),me(n.invalid("email")?11:-1),F(5),Ut("type",n.showPassword()?"text":"password"),Ht("aria-invalid",n.invalid("password")),F(),Ht("aria-label",n.showPassword()?"Hide password":"Show password"),F(),Fe(n.showPassword()?"\u{1F648}":"\u{1F441}\uFE0F"),F(),me(n.invalid("password")?19:-1),F(),Ut("disabled",n.busy()),F(),me(n.busy()?21:22),F(2),me(n.forgotUrl()?23:-1),F(),me(n.hideBranding()?-1:24)}}var Zo=class e{constructor(){this.fb=w(zf);this.host=w(jt);this.heading="";this.subheading="";this.compact=!1;this.bloomssession=new Z;this.bloomserror=new Z;this.form=this.fb.nonNullable.group({email:["",[Xt.required,Xt.email]],password:["",[Xt.required]]});this.phase=ee("loading");this.busy=ee(!1);this.showPassword=ee(!1);this.error=ee(null);this.manifest=ee(null);this.user=m.user;this.initials=Y(()=>(this.user()?.name??"").split(/\s+/).filter(Boolean).slice(0,2).map(n=>n[0].toUpperCase()).join("")||"\xB7");this.hideBranding=Y(()=>this.manifest()?.hideBranding??!1);this.forgotUrl=Y(()=>{let t=this.manifest()?.portalUrl;return t?`${t}/auth/forgot-password`:""});this.defaultSubheading=Y(()=>{let t=this.manifest()?.project?.name;return t?`Continue to ${t}`:"Use your blooms.ai account"})}async ngOnInit(){let t=this.host.nativeElement.shadowRoot;t&&Qf(t),await m.whenConfigured(),m.on(r=>{r.type==="session"&&(this.phase.set(r.session?"signed-in":"signed-out"),this.bloomssession.emit(r.session)),r.type==="error"&&this.bloomserror.emit(r)});try{let r=await Yt.manifest();this.manifest.set(r),t&&Ya(t,r.theme)}catch(r){this.setError(r),this.phase.set("signed-out");return}let n=await Yt.resume();this.phase.set(n?"signed-in":"signed-out")}invalid(t){let n=this.form.get(t);return!!(n?.invalid&&n?.touched)}async submit(){if(!this.busy()&&(this.form.markAllAsTouched(),!this.form.invalid)){this.busy.set(!0),this.error.set(null);try{let{email:t,password:n}=this.form.getRawValue();await Yt.login({email:t,password:n}),this.form.reset(),this.phase.set("signed-in")}catch(t){this.setError(t)}finally{this.busy.set(!1)}}}async signOut(){await Yt.logout(),this.phase.set("signed-out")}setError(t){let n=t instanceof De?t.code:"EMBED_ERROR",r=t instanceof Error?t.message:"Something went wrong.",o={EMBED_CREDENTIALS_INVALID:{title:"Incorrect email or password",detail:"Check your details and try again."},EMBED_NO_PROJECT_ACCESS:{title:"No access to this workspace",detail:"Your blooms.ai account exists, but it has not been given access to this project. Ask the project owner to grant it."},EMBED_FEATURE_DISABLED:{title:"Nothing available here yet",detail:"Your account has no features enabled for this integration. Ask the project owner to widen your access."},EMBED_USER_NOT_PERMITTED:{title:"This account cannot be used here",detail:"Administrator accounts cannot sign in through an embedded component."},ACCOUNT_BLOCKED:{title:"Account unavailable",detail:r},ACCOUNT_DEACTIVATED:{title:"Account deactivated",detail:r},ACCOUNT_BANNED:{title:"Account suspended",detail:r},EMBED_RATE_LIMITED:{title:"Too many attempts",detail:"Sign-in has been temporarily throttled. Please wait a few minutes and try again."},EMBED_TOKEN_REVOKED:{title:"Integration disabled",detail:"This blooms.ai integration has been turned off. Contact your administrator."},EMBED_ORIGIN_REJECTED:{title:"Integration not configured for this site",detail:"This page's address is not registered for the integration. Contact your administrator."},CORS_ORIGIN_REJECTED:{title:"Integration not configured for this site",detail:"This page's address is not registered for the integration. Contact your administrator."},EMBED_NETWORK:{title:"Cannot reach blooms.ai",detail:r}};this.error.set(o[n]??{title:"Something went wrong",detail:r}),this.bloomserror.emit({code:n,message:r})}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=hd({type:e,selectors:[["blooms-login"]],inputs:{heading:"heading",subheading:"subheading",compact:"compact"},outputs:{bloomssession:"bloomssession",bloomserror:"bloomserror"},decls:4,vars:5,consts:[[1,"wrap"],["role","status","aria-label","Loading",1,"skeleton"],[1,"signed-in"],["novalidate","",1,"card",3,"formGroup"],[1,"sk","sk--logo"],[1,"sk","sk--title"],[1,"sk","sk--field"],[1,"sk","sk--btn"],["aria-hidden","true",1,"avatar"],[1,"signed-in__who"],["type","button",1,"btn","btn--ghost",3,"click"],["novalidate","",1,"card",3,"ngSubmit","formGroup"],[1,"brand"],[1,"title"],[1,"subtitle"],["role","alert",1,"alert"],[1,"field"],[1,"field__label"],["type","email","formControlName","email","placeholder","you@company.com","autocomplete","email","spellcheck","false"],[1,"field__error"],[1,"field__input-wrap"],["formControlName","password","placeholder","\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","autocomplete","current-password",3,"type"],["type","button",1,"reveal",3,"click"],["type","submit",1,"btn","btn--primary",3,"disabled"],["target","_blank","rel","noopener noreferrer",1,"forgot",3,"href"],[1,"foot"],["aria-hidden","true",1,"brand__mark"],[1,"brand__name"],["aria-hidden","true",1,"alert__icon"],["aria-hidden","true",1,"spinner"]],template:function(n,r){n&1&&(O(0,"div",0),Le(1,db,6,0,"div",1)(2,fb,10,3,"div",2)(3,wb,25,16,"form",3),k()),n&2&&($t("wrap--compact",r.compact),F(),me(r.phase()==="loading"?1:-1),F(),me(r.phase()==="signed-in"?2:-1),F(),me(r.phase()==="signed-out"?3:-1))},dependencies:[Gf,Uf,Wo,Lf,Ff,Za,Qa],styles:[`:host{--be-bg: var(--color-card-bg, #ffffff);--be-text: var(--color-text, #14121f);--be-muted: var(--color-text-muted, #6b6880);--be-border: var(--color-border, #e7e5ee);--be-primary: var(--brand-primary, #5b3df6);--be-primary-fg:#ffffff;--be-danger: #d92d20;--be-radius: var(--radius-lg, 16px);--be-shadow: var(--shadow-md, 0 8px 28px rgba(20, 18, 31, .1));--be-font: var(--font-sans, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);display:block;font-family:var(--be-font);color:var(--be-text);line-height:1.5;-webkit-font-smoothing:antialiased;container-type:inline-size}@media (prefers-color-scheme: dark){:host{--be-bg: var(--color-card-bg, #1a1825);--be-text: var(--color-text, #f4f3f8);--be-muted: var(--color-text-muted, #a09db4);--be-border: var(--color-border, #2e2b3d)}}*,*:before,*:after{box-sizing:border-box}.wrap{display:flex;justify-content:center;width:100%}.card{width:100%;max-width:400px;padding:32px 28px;background:var(--be-bg);border:1px solid var(--be-border);border-radius:var(--be-radius);box-shadow:var(--be-shadow);display:flex;flex-direction:column;gap:16px}.wrap--compact .card{padding:22px 20px;box-shadow:none}.brand{display:flex;align-items:center;gap:8px}.brand__mark{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--be-primary);color:var(--be-primary-fg);font-size:15px}.brand__name{font-weight:650;letter-spacing:-.01em}.brand__name span{color:var(--be-primary)}.title{margin:4px 0 0;font-size:22px;font-weight:680;letter-spacing:-.02em}.subtitle{margin:0;color:var(--be-muted);font-size:14px}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:560;color:var(--be-muted)}.field__input-wrap{position:relative;display:block}input{width:100%;padding:11px 13px;font:inherit;font-size:14px;color:var(--be-text);background:transparent;border:1px solid var(--be-border);border-radius:var(--radius-md, 10px);transition:border-color .15s,box-shadow .15s}input:focus-visible{outline:none;border-color:var(--be-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--be-primary) 22%,transparent)}input[aria-invalid=true]{border-color:var(--be-danger)}.field__input-wrap input{padding-right:42px}.reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;padding:0;font-size:14px;line-height:1;background:none;border:0;border-radius:8px;cursor:pointer}.reveal:hover{background:var(--color-hover, rgba(0, 0, 0, .05))}.field__error{font-size:12px;color:var(--be-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;font:inherit;font-size:14px;font-weight:600;border-radius:var(--radius-md, 10px);border:1px solid transparent;cursor:pointer;transition:transform .12s,filter .15s,background .15s}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--be-primary);color:var(--be-primary-fg)}.btn--primary:hover:not(:disabled){filter:brightness(1.07)}.btn--primary:disabled{opacity:.62;cursor:progress}.btn--ghost{background:transparent;color:var(--be-muted);border-color:var(--be-border);padding:8px 12px;font-size:13px}.btn--ghost:hover{color:var(--be-text)}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}}.alert{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;background:color-mix(in srgb,var(--be-danger) 9%,transparent);border:1px solid color-mix(in srgb,var(--be-danger) 32%,transparent);border-radius:var(--radius-md, 10px);font-size:13px}.alert strong{display:block}.alert p{margin:2px 0 0;color:var(--be-muted)}.alert__icon{line-height:1.35}.foot{margin:0;text-align:center;font-size:11.5px;color:var(--be-muted)}.forgot{align-self:center;font-size:12.5px;color:var(--be-muted);text-decoration:none}.forgot:hover{color:var(--be-primary);text-decoration:underline}.signed-in{display:flex;align-items:center;gap:12px;width:100%;max-width:400px;padding:12px 14px;background:var(--be-bg);border:1px solid var(--be-border);border-radius:var(--be-radius)}.avatar{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--be-primary);color:var(--be-primary-fg);font-size:13px;font-weight:640}.signed-in__who{display:flex;flex-direction:column;min-width:0;flex:1}.signed-in__who strong{font-size:14px}.signed-in__who span{font-size:12px;color:var(--be-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton{width:100%;max-width:400px;padding:32px 28px;border:1px solid var(--be-border);border-radius:var(--be-radius);display:flex;flex-direction:column;gap:14px}.sk{background:linear-gradient(90deg,var(--be-border) 25%,color-mix(in srgb,var(--be-border) 45%,transparent) 50%,var(--be-border) 75%);background-size:200% 100%;animation:shimmer 1.3s linear infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.sk--logo{width:110px;height:22px}.sk--title{width:60%;height:26px}.sk--field{height:42px}.sk--btn{height:42px;width:100%}@media (prefers-reduced-motion: reduce){.sk{animation:none}}@container (max-width: 360px){.card{padding:22px 18px}.title{font-size:20px}}
|
|
9
|
+
`),e.prepend(n)}}}function Ya(e,t){let n=y(y({},m.config()?.theme??{}),t??{}),r=e.host;if(r)for(let[o,i]of Object.entries(n))o.startsWith("--")&&r.style.setProperty(o,String(i))}function db(e,t){e&1&&(O(0,"div",1),zt(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",6)(5,"div",7),k())}function fb(e,t){if(e&1){let n=ca();O(0,"div",2)(1,"div",8),V(2),k(),O(3,"div",9)(4,"strong"),V(5),k(),O(6,"span"),V(7),k()(),O(8,"button",10),qe("click",function(){lo(n);let o=Ze();return co(o.signOut())}),V(9,"Sign out"),k()()}if(e&2){let n,r,o=Ze();F(2),Fe(o.initials()),F(3),Fe((n=o.user())==null?null:n.name),F(2),Fe((r=o.user())==null?null:r.email)}}function pb(e,t){e&1&&(O(0,"div",12)(1,"span",26),V(2,"\u273F"),k(),O(3,"span",27),V(4,"blooms"),O(5,"span"),V(6,".ai"),k()()())}function hb(e,t){if(e&1&&(O(0,"div",15)(1,"span",28),V(2,"\u26A0\uFE0F"),k(),O(3,"div")(4,"strong"),V(5),k(),O(6,"p"),V(7),k()()()),e&2){let n=Ze(2);F(5),Fe(n.error().title),F(2),Fe(n.error().detail)}}function gb(e,t){e&1&&(O(0,"span",19),V(1,"Enter a valid email address"),k())}function mb(e,t){e&1&&(O(0,"span",19),V(1,"Password is required"),k())}function yb(e,t){e&1&&(zt(0,"span",29),V(1," Signing in\u2026 "))}function vb(e,t){e&1&&V(0," Sign in ")}function Eb(e,t){if(e&1&&(O(0,"a",24),V(1," Forgot password? "),k()),e&2){let n=Ze(2);Ut("href",n.forgotUrl(),Vu)}}function bb(e,t){e&1&&(O(0,"p",25),V(1,"Secured by blooms.ai"),k())}function wb(e,t){if(e&1){let n=ca();O(0,"form",11),qe("ngSubmit",function(){lo(n);let o=Ze();return co(o.submit())}),Le(1,pb,7,0,"div",12),O(2,"h1",13),V(3),k(),O(4,"p",14),V(5),k(),Le(6,hb,8,2,"div",15),O(7,"label",16)(8,"span",17),V(9,"Email"),k(),zt(10,"input",18),Le(11,gb,2,0,"span",19),k(),O(12,"label",16)(13,"span",17),V(14,"Password"),k(),O(15,"span",20),zt(16,"input",21),O(17,"button",22),qe("click",function(){lo(n);let o=Ze();return co(o.showPassword.set(!o.showPassword()))}),V(18),k()(),Le(19,mb,2,0,"span",19),k(),O(20,"button",23),Le(21,yb,2,0)(22,vb,1,0),k(),Le(23,Eb,2,1,"a",24)(24,bb,2,0,"p",25),k()}if(e&2){let n=Ze();Ut("formGroup",n.form),F(),me(n.hideBranding()?-1:1),F(2),Fe(n.heading||"Sign in"),F(2),yo(" ",n.subheading||n.defaultSubheading()," "),F(),me(n.error()?6:-1),F(4),Ht("aria-invalid",n.invalid("email")),F(),me(n.invalid("email")?11:-1),F(5),Ut("type",n.showPassword()?"text":"password"),Ht("aria-invalid",n.invalid("password")),F(),Ht("aria-label",n.showPassword()?"Hide password":"Show password"),F(),Fe(n.showPassword()?"\u{1F648}":"\u{1F441}\uFE0F"),F(),me(n.invalid("password")?19:-1),F(),Ut("disabled",n.busy()),F(),me(n.busy()?21:22),F(2),me(n.forgotUrl()?23:-1),F(),me(n.hideBranding()?-1:24)}}var Zo=class e{constructor(){this.fb=w(zf);this.host=w(jt);this.heading="";this.subheading="";this.compact=!1;this.bloomssession=new Z;this.bloomserror=new Z;this.form=this.fb.nonNullable.group({email:["",[Xt.required,Xt.email]],password:["",[Xt.required]]});this.phase=ee("loading");this.busy=ee(!1);this.showPassword=ee(!1);this.error=ee(null);this.manifest=ee(null);this.user=m.user;this.initials=Y(()=>(this.user()?.name??"").split(/\s+/).filter(Boolean).slice(0,2).map(n=>n[0].toUpperCase()).join("")||"\xB7");this.hideBranding=Y(()=>this.manifest()?.hideBranding??!1);this.forgotUrl=Y(()=>{let t=this.manifest()?.portalUrl;return t?`${t}/auth/forgot-password`:""});this.defaultSubheading=Y(()=>{let t=this.manifest()?.project?.name;return t?`Continue to ${t}`:"Use your blooms.ai account"})}async ngOnInit(){let t=this.host.nativeElement.shadowRoot;t&&Qf(t),await m.whenConfigured(),m.on(r=>{r.type==="session"&&(this.phase.set(r.session?"signed-in":"signed-out"),this.bloomssession.emit(r.session)),r.type==="error"&&this.bloomserror.emit(r)});try{let r=await Yt.manifest();this.manifest.set(r),t&&Ya(t,r.theme)}catch(r){this.setError(r),this.phase.set("signed-out");return}let n=await Yt.resume();this.phase.set(n?"signed-in":"signed-out")}invalid(t){let n=this.form.get(t);return!!(n?.invalid&&n?.touched)}async submit(){if(!this.busy()&&(this.form.markAllAsTouched(),!this.form.invalid)){this.busy.set(!0),this.error.set(null);try{let{email:t,password:n}=this.form.getRawValue();await Yt.login({email:t,password:n}),this.form.reset(),this.phase.set("signed-in")}catch(t){this.setError(t)}finally{this.busy.set(!1)}}}async signOut(){await Yt.logout(),this.phase.set("signed-out")}setError(t){let n=t instanceof De?t.code:"EMBED_ERROR",r=t instanceof Error?t.message:"Something went wrong.",o={EMBED_CREDENTIALS_INVALID:{title:"Incorrect email or password",detail:"Check your details and try again."},EMBED_NO_PROJECT_ACCESS:{title:"No access to this workspace",detail:"Your blooms.ai account exists, but it has not been given access to this project. Ask the project owner to grant it."},EMBED_FEATURE_DISABLED:{title:"Nothing available here yet",detail:"Your account has no features enabled for this integration. Ask the project owner to widen your access."},EMBED_USER_NOT_PERMITTED:{title:"This account cannot be used here",detail:"Administrator accounts cannot sign in through an embedded component."},ACCOUNT_BLOCKED:{title:"Account unavailable",detail:r},ACCOUNT_DEACTIVATED:{title:"Account deactivated",detail:r},ACCOUNT_BANNED:{title:"Account suspended",detail:r},EMBED_RATE_LIMITED:{title:"Too many attempts",detail:"Sign-in has been temporarily throttled. Please wait a few minutes and try again."},EMBED_TOKEN_REVOKED:{title:"Integration disabled",detail:"This blooms.ai integration has been turned off. Contact your administrator."},EMBED_ORIGIN_REJECTED:{title:"Integration not configured for this site",detail:"This page's address is not registered for the integration. Contact your administrator."},CORS_ORIGIN_REJECTED:{title:"Integration not configured for this site",detail:"This page's address is not registered for the integration. Contact your administrator."},EMBED_NETWORK:{title:"Cannot reach blooms.ai",detail:r}};this.error.set(o[n]??{title:"Something went wrong",detail:r}),this.bloomserror.emit({code:n,message:r})}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=hd({type:e,selectors:[["blooms-login"]],inputs:{heading:"heading",subheading:"subheading",compact:"compact"},outputs:{bloomssession:"bloomssession",bloomserror:"bloomserror"},decls:4,vars:5,consts:[[1,"wrap"],["role","status","aria-label","Loading",1,"skeleton"],[1,"signed-in"],["novalidate","",1,"card",3,"formGroup"],[1,"sk","sk--logo"],[1,"sk","sk--title"],[1,"sk","sk--field"],[1,"sk","sk--btn"],["aria-hidden","true",1,"avatar"],[1,"signed-in__who"],["type","button",1,"btn","btn--ghost",3,"click"],["novalidate","",1,"card",3,"ngSubmit","formGroup"],[1,"brand"],[1,"title"],[1,"subtitle"],["role","alert",1,"alert"],[1,"field"],[1,"field__label"],["type","email","formControlName","email","placeholder","you@company.com","autocomplete","email","spellcheck","false"],[1,"field__error"],[1,"field__input-wrap"],["formControlName","password","placeholder","\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022","autocomplete","current-password",3,"type"],["type","button",1,"reveal",3,"click"],["type","submit",1,"btn","btn--primary",3,"disabled"],["target","_blank","rel","noopener noreferrer",1,"forgot",3,"href"],[1,"foot"],["aria-hidden","true",1,"brand__mark"],[1,"brand__name"],["aria-hidden","true",1,"alert__icon"],["aria-hidden","true",1,"spinner"]],template:function(n,r){n&1&&(O(0,"div",0),Le(1,db,6,0,"div",1)(2,fb,10,3,"div",2)(3,wb,25,16,"form",3),k()),n&2&&($t("wrap--compact",r.compact),F(),me(r.phase()==="loading"?1:-1),F(),me(r.phase()==="signed-in"?2:-1),F(),me(r.phase()==="signed-out"?3:-1))},dependencies:[Gf,Uf,Wo,Lf,Ff,Za,Qa],styles:[`@charset "UTF-8";:host{--be-bg: var(--color-card-bg, #ffffff);--be-surface: var(--color-bg, #f7f5fb);--be-text: var(--color-text, #5d5f71);--be-muted: var(--color-text-muted, #9395a5);--be-border: var(--color-border, #ede9f6);--be-hover: var(--color-hover, #f5f2fb);--be-primary: var(--color-accent, #e84855);--be-primary-hover: #d13d4a;--be-primary-fg: #ffffff;--be-danger: var(--color-accent, #e84855);--be-alert-bg: #fff1f2;--be-alert-border: #fecdd3;--be-alert-text: #be123c;--be-placeholder: #c0bdc8;--be-radius: var(--radius-lg, 16px);--be-radius-field: 8px;--be-radius-btn: var(--radius-md, 10px);--be-shadow: 0 4px 24px rgba(0, 0, 0, .06);--be-font: var(--font-sans, "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);display:block;font-family:var(--be-font);color:var(--be-text);line-height:1.5;-webkit-font-smoothing:antialiased;container-type:inline-size}*,*:before,*:after{box-sizing:border-box}.wrap{display:flex;justify-content:center;width:100%}.card{width:100%;max-width:420px;padding:40px;background:var(--be-bg);border:1px solid var(--be-border);border-radius:var(--be-radius);box-shadow:var(--be-shadow);display:flex;flex-direction:column;gap:16px}.wrap--compact .card{padding:22px 20px;box-shadow:none}.brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}.brand__mark{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:var(--be-primary);color:var(--be-primary-fg);font-size:19px}.brand__name{font-size:20px;font-weight:700}.brand__name span{color:var(--be-primary)}.title{margin:4px 0 0;font-size:22px;font-weight:700}.subtitle{margin:0;color:var(--be-muted);font-size:14px}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:500;color:var(--be-text)}.field__input-wrap{position:relative;display:block}input{width:100%;padding:10px 14px;font:inherit;font-size:14px;color:var(--be-text);background:var(--be-surface);border:1px solid var(--be-border);border-radius:var(--be-radius-field);transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--be-placeholder)}input:focus-visible{outline:none;border-color:var(--be-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--be-primary) 10%,transparent)}input[aria-invalid=true]{border-color:var(--be-danger)}.field__input-wrap input{padding-right:42px}.reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;padding:0;font-size:14px;line-height:1;background:none;border:0;border-radius:8px;cursor:pointer;color:var(--be-muted);transition:color .15s}.reveal:hover{color:var(--be-text)}.field__error{font-size:12px;color:var(--be-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;font:inherit;font-size:13px;font-weight:600;border-radius:var(--be-radius-btn);border:1px solid transparent;cursor:pointer;transition:transform .12s,filter .15s,background .15s}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--be-primary);color:var(--be-primary-fg);border-color:var(--be-primary)}.btn--primary:hover:not(:disabled){background:var(--be-primary-hover);border-color:var(--be-primary-hover);box-shadow:0 2px 8px color-mix(in srgb,var(--be-primary) 30%,transparent)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--be-text);border-color:var(--be-border);padding:8px 12px;font-size:13px}.btn--ghost:hover{background:var(--be-hover);border-color:#d5d0e4}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2s}}.alert{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;background:var(--be-alert-bg);border:1px solid var(--be-alert-border);border-radius:var(--be-radius-field);font-size:13px;color:var(--be-alert-text)}.alert strong{display:block}.alert p{margin:2px 0 0}.alert__icon{line-height:1.35}.foot{margin:0;text-align:center;font-size:11.5px;color:var(--be-muted)}.forgot{align-self:center;font-size:12.5px;color:var(--be-muted);text-decoration:none}.forgot:hover{color:var(--be-primary);text-decoration:underline}.signed-in{display:flex;align-items:center;gap:12px;width:100%;max-width:420px;padding:12px 14px;background:var(--be-bg);border:1px solid var(--be-border);border-radius:var(--be-radius)}.avatar{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--be-primary);color:var(--be-primary-fg);font-size:13px;font-weight:640}.signed-in__who{display:flex;flex-direction:column;min-width:0;flex:1}.signed-in__who strong{font-size:14px}.signed-in__who span{font-size:12px;color:var(--be-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton{width:100%;max-width:420px;padding:32px 28px;border:1px solid var(--be-border);border-radius:var(--be-radius);display:flex;flex-direction:column;gap:14px}.sk{background:linear-gradient(90deg,var(--be-border) 25%,color-mix(in srgb,var(--be-border) 45%,transparent) 50%,var(--be-border) 75%);background-size:200% 100%;animation:shimmer 1.3s linear infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.sk--logo{width:110px;height:22px}.sk--title{width:60%;height:26px}.sk--field{height:42px}.sk--btn{height:42px;width:100%}@media (prefers-reduced-motion: reduce){.sk{animation:none}}@container (max-width: 360px){.card{padding:22px 18px}.title{font-size:20px}}
|
|
10
10
|
`],encapsulation:3,changeDetection:0})}};var _b=[{tag:"blooms-login",component:Zo}];async function Ib(){af();let e=await Ea({providers:[wd(),Ma(Ta(),Sa([of]))]});for(let{tag:t,component:n}of _b){if(customElements.get(t)){console.warn(`[BloomsEmbed] <${t}> is already defined; leaving the existing definition in place.`);continue}customElements.define(t,Qd(n,{injector:e.injector}))}uf()&&df()}Ib().catch(e=>console.error("[BloomsEmbed] Failed to initialise",e));
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bloomscorp/blooms-ai-embed",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "blooms.ai embeddable web components \u2014 prebuilt bundle and typed JS SDK for host dashboards, including Electron.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"private": false,
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
},
|
|
17
17
|
"./blooms-embed.css": "./dist/blooms-embed.css",
|
|
18
18
|
"./blooms-embed.js": "./dist/blooms-embed.js",
|
|
19
|
-
"./package.json": "./package.json"
|
|
19
|
+
"./package.json": "./package.json",
|
|
20
|
+
"./media/*": "./dist/media/*"
|
|
20
21
|
},
|
|
21
22
|
"files": [
|
|
22
23
|
"dist/index.js",
|
|
@@ -24,6 +25,7 @@
|
|
|
24
25
|
"dist/browser-guard.js",
|
|
25
26
|
"dist/blooms-embed.js",
|
|
26
27
|
"dist/blooms-embed.css",
|
|
28
|
+
"dist/media/",
|
|
27
29
|
"README.md",
|
|
28
30
|
"CHANGELOG.md"
|
|
29
31
|
],
|