pagepilot-visual-editor 1.0.27 → 1.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/blocks-internal/block-button/src/index.d.ts +10 -9
  3. package/dist/blocks-internal/block-button/src/styles.d.ts +5 -0
  4. package/dist/blocks-internal/block-button-group/src/index.d.ts +6 -0
  5. package/dist/blocks-internal/block-container/src/index.d.ts +5 -5
  6. package/dist/blocks-internal/block-heading/src/index.d.ts +30 -1
  7. package/dist/blocks-internal/block-image/src/index.d.ts +46 -11
  8. package/dist/blocks-internal/block-logo/src/index.d.ts +17 -11
  9. package/dist/blocks-internal/block-text/src/index.d.ts +25 -0
  10. package/dist/blocks-internal/block-video/src/index.d.ts +6 -0
  11. package/dist/blocks-internal/block-youtube-url/src/index.d.ts +6 -0
  12. package/dist/editor-sample/App/InspectorDrawer/LayersPanelStyles.d.ts +2 -2
  13. package/dist/editor-sample/App/shared/editor.styles.d.ts +3 -3
  14. package/dist/editor-sample/documents/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +6 -0
  15. package/dist/editor-sample/documents/blocks/Container/ContainerPropsSchema.d.ts +1 -1
  16. package/dist/editor-sample/documents/blocks/Table/TableImportDialog.styles.d.ts +7 -7
  17. package/dist/editor-sample/documents/blocks/helpers/responsiveStyle.d.ts +3 -16
  18. package/dist/editor-sample/documents/editor/EditorContext.d.ts +2 -2
  19. package/dist/editor-sample/documents/editor/core.d.ts +123 -27
  20. package/dist/email-builder-core/Reader/resolveResponsiveBlock.d.ts +17 -0
  21. package/dist/email-builder-core/blocks/ButtonGroup/ButtonGroupPropsSchema.d.ts +6 -0
  22. package/dist/email-builder-core/blocks/Container/ContainerPropsSchema.d.ts +6 -4
  23. package/dist/email-builder-core/blocks/Container/ContainerReader.d.ts +1 -1
  24. package/dist/email-builder-core/blocks/EmailLayout/EmailLayoutReader.d.ts +1 -1
  25. package/dist/email-builder-core/blocks/MenuPicker/MenuPropsSchema.d.ts +12 -0
  26. package/dist/email-builder-core/blocks/MenuPicker/menuResponsiveCss.d.ts +1 -0
  27. package/dist/email-builder-core/blocks/Timer/TimerPropsSchema.d.ts +2 -0
  28. package/dist/email-builder-core/blocks/Timer/variants/CircularProgressView.d.ts +6 -1
  29. package/dist/email-builder-core/blocks/Timer/variants/DigitalFlipView.d.ts +4 -1
  30. package/dist/email-builder-core/blocks/Timer/variants/TextInlineView.d.ts +3 -1
  31. package/dist/email-builder-core/blocks/helpers/blockStyleHelpers.d.ts +59 -1
  32. package/dist/email-builder-core/index.d.ts +2 -0
  33. package/dist/email-builder-core/renderers/animationCss.d.ts +5 -5
  34. package/dist/email-builder-core/renderers/pageScripts.d.ts +1 -11
  35. package/dist/email-builder-core/renderers/renderToStaticMarkup.d.ts +4 -2
  36. package/dist/email-builder-core/renderers/themeTokens.d.ts +143 -0
  37. package/dist/host-stubs/modules/settings/settingsSelectors.d.ts +5 -0
  38. package/dist/host-stubs/style/menu.styled.d.ts +5 -1
  39. package/dist/host-stubs/view/branding/brandDefaultFont.d.ts +3 -0
  40. package/dist/host-stubs/view/shared/editors/highlightCode.d.ts +1 -0
  41. package/dist/{index-C4zNSWXe.js → index-BN1BduFG.js} +1 -1
  42. package/dist/{index-Cu-dtp0Q.cjs → index-BRq3RgdO.cjs} +1 -1
  43. package/dist/{index-BNqa-SV3.cjs → index-DEBoxZlq.cjs} +374 -1224
  44. package/dist/{index-Dk7bp7l0.js → index-DojXOBrb.js} +24851 -24994
  45. package/dist/index.cjs +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/render-core/stubs/editorContext.d.ts +3 -1
  48. package/dist/render.cjs +255 -1105
  49. package/dist/render.js +6172 -6332
  50. package/dist/renderToStaticHtml.d.ts +9 -1
  51. package/dist/{xlsx-Cd1etxFW.js → xlsx-0y4dyiCO.js} +1 -1
  52. package/dist/{xlsx-C6JQXDb3.cjs → xlsx-D2quXLTv.cjs} +1 -1
  53. package/package.json +1 -1
@@ -4,8 +4,66 @@ type TPadding = {
4
4
  bottom: number;
5
5
  left: number;
6
6
  } | null | undefined;
7
+ type TMargin = {
8
+ top: number;
9
+ right: number;
10
+ bottom: number;
11
+ left: number;
12
+ } | null | undefined;
13
+ export type TBorderRadius = number | string | {
14
+ topLeft: number;
15
+ topRight: number;
16
+ bottomRight: number;
17
+ bottomLeft: number;
18
+ } | null | undefined;
19
+ /**
20
+ * True when a color value is a CSS gradient rather than a solid color.
21
+ *
22
+ * This is the single source of truth for that question. It matters far beyond
23
+ * cosmetics: several blocks branch on it to decide WHICH CSS PROPERTIES to
24
+ * emit, not merely which value to set (e.g. gradient text is painted via
25
+ * `background-image` + `background-clip: text` + transparent `color`, while a
26
+ * solid color is just `color`). Previously this regex was copy-pasted into
27
+ * nine render sites, so any divergence silently changed which branch a block
28
+ * took.
29
+ *
30
+ * Callers MUST classify the RAW AUTHORED value with this before substituting a
31
+ * themed `var(--ahd-c-N, ...)` token in its place — a tokenized string does not
32
+ * match this pattern, so classifying after substitution would flip a gradient
33
+ * into the solid branch and render it as flat transparent text.
34
+ */
35
+ export declare function isGradientColor(value: string | null | undefined): value is string;
36
+ /**
37
+ * Reduce a color to something `box-shadow` can actually paint.
38
+ *
39
+ * CSS box-shadow doesn't accept gradients, so an author-picked gradient would
40
+ * otherwise make the shadow vanish entirely. Fall back to the gradient's first
41
+ * color stop to keep a (solid) shadow.
42
+ *
43
+ * Note this deliberately matches on `gradient` anywhere in the string rather
44
+ * than using `isGradientColor`: shadow colors reach here from several schemas
45
+ * and may be a bare gradient fragment rather than a full, anchored
46
+ * `linear-gradient(...)` value.
47
+ */
48
+ export declare function resolveShadowColor(color: string): string;
7
49
  export declare function formatPadding(p: TPadding): string | undefined;
8
- export declare function formatMargin(m: TPadding): string | undefined;
50
+ export declare function formatMargin(m: TMargin): string | undefined;
51
+ /**
52
+ * Convert an authored border radius into a CSS `border-radius` value.
53
+ *
54
+ * Four input shapes are accepted because block `style` objects are declared as
55
+ * an unvalidated `z.object({}).passthrough()`, so saved documents may legitimately
56
+ * hold any of them:
57
+ * - `null`/`undefined` → no declaration at all (let the property stay unset)
58
+ * - `number` → legacy single-value radius, e.g. `8`
59
+ * - `string` → an already-formatted CSS value, e.g. `"8px"` or `"50%"`
60
+ * - per-corner object → emitted in CSS shorthand order: TL TR BR BL
61
+ *
62
+ * The corner order matters and is not arbitrary — it matches the native
63
+ * `border-radius` shorthand, so it must stay in step with the TL/TR/BR/BL
64
+ * ordering used by the sidebar's `RadiusInput`.
65
+ */
66
+ export declare function formatBorderRadius(radius: TBorderRadius): string | undefined;
9
67
  /**
10
68
  * Pick the visible text for a trigger with an optional "show text" toggle.
11
69
  * - When `showText` is false → returns null (caller should render no text).
@@ -1,3 +1,5 @@
1
1
  export { default as renderToStaticMarkup } from './renderers/renderToStaticMarkup';
2
2
  export type { TReaderBlock, TReaderDocument, TReaderBlockProps, TReaderProps, } from './Reader/core';
3
3
  export { ReaderBlockSchema, ReaderDocumentSchema, ReaderBlock, default as Reader, } from './Reader/core';
4
+ export { buildGeneratedThemeMarkup } from './renderers/pageScripts';
5
+ export { GENERATED_THEME_ATTR, GENERATED_THEME_AUTO } from './renderers/themeTokens';
@@ -1,8 +1,7 @@
1
1
  /**
2
- * Shared keyframes + trigger rules for the per-block animation (see the
3
- * `props.animation` field on Image, Container, Button, Logo, Avatar; the
4
- * `data-animate-*` attributes emitted from Reader/core.tsx; and the
5
- * `buildAnimationScript()` runtime in ./pageScripts.ts).
2
+ * Shared keyframes + trigger rules for the Image block's per-element
3
+ * animation (see ImagePropsSchema.props.animation, Reader/core.tsx's
4
+ * data-animate-* attributes, and public/scripts/pagePilotAnimation.js).
6
5
  *
7
6
  * `transform`/`opacity` only — no layout properties — so animating never
8
7
  * causes reflow or content shift. Speed/delay are applied inline by the
@@ -13,6 +12,7 @@ export declare const ANIMATION_TYPES: readonly ["fade-in", "slide-left", "slide-
13
12
  export type TAnimationType = (typeof ANIMATION_TYPES)[number];
14
13
  export declare const ANIMATION_SPEED_SECONDS: Record<'slow' | 'medium' | 'fast', number>;
15
14
  /** Just the @keyframes — reused by both the published page CSS below and the
16
- * editor canvas's one-off Preview button (see AnimationSection.tsx). */
15
+ * editor canvas's one-off Preview button (see ImageSidebarPanel.tsx), which
16
+ * doesn't load the full published stylesheet. */
17
17
  export declare const animationKeyframesCss: string;
18
18
  export declare const animationCss: string;
@@ -13,14 +13,4 @@ export declare const PAGINATION_SCRIPT_URL = "https://pagepilot.fabbuilder.com/s
13
13
  export declare const DEMO_SCALE_SCRIPT_URL = "https://pagepilot.fabbuilder.com/scripts/pagePilotDemoScale.js";
14
14
  export declare const TIMER_SCRIPT_URL = "https://pagepilot.fabbuilder.com/scripts/pagePilotTimer.js";
15
15
  export declare const ANIMATION_SCRIPT_URL = "https://pagepilot.fabbuilder.com/scripts/pagePilotAnimation.js";
16
- /**
17
- * The per-page runtime that reads the `data-animate-*` attributes emitted by
18
- * Reader/core.tsx and drives the CSS animation (see animationCss.ts). Ported
19
- * verbatim from ahd-fe's `public/scripts/pagePilotAnimation.js` and inlined
20
- * here because pagepilot-visual-editor is a standalone library — it ships
21
- * self-contained pages, not a hosted app with a public CDN.
22
- */
23
- export declare const buildAnimationScript: () => string;
24
- export declare const buildDemoScaleJs: () => string;
25
- export declare const buildTabsScript: () => string;
26
- export declare const buildCarouselScript: () => string;
16
+ export declare const buildGeneratedThemeMarkup: () => string;
@@ -35,8 +35,10 @@ type TOptions = {
35
35
  isBanner?: boolean;
36
36
  injectTabsScrollSyncScript?: boolean;
37
37
  injectCarouselScript?: boolean;
38
- injectAnimationScript?: boolean;
38
+ injectPaginationScript?: boolean;
39
39
  injectFontAssets?: boolean;
40
+ injectTimerScript?: boolean;
41
+ injectAnimationScript?: boolean;
40
42
  };
41
- export default function renderToStaticMarkup(document: TReaderDocument, { rootBlockId, seo, injectElementIds, minifyCss, lang, skipLink, accessibilityTools, includePageCSS, headHtml, bodyBottomHtml, isBanner, injectTabsScrollSyncScript, injectCarouselScript, injectAnimationScript, injectFontAssets, }: TOptions): string;
43
+ export default function renderToStaticMarkup(document: TReaderDocument, { rootBlockId, seo, injectElementIds, minifyCss, lang, skipLink, accessibilityTools, includePageCSS, headHtml, bodyBottomHtml, isBanner, injectTabsScrollSyncScript, injectCarouselScript, injectPaginationScript, injectFontAssets, injectTimerScript, injectAnimationScript, }: TOptions): string;
42
44
  export {};
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Theme tokens for the generated (published) HTML.
3
+ *
4
+ * ## Why this exists
5
+ *
6
+ * A published page is a BODY FRAGMENT injected into a host application we
7
+ * don't control (see ConfigureDialog's integration snippets — hosts do
8
+ * `container.insertAdjacentHTML(...)`). There is no `<head>` to put a
9
+ * stylesheet in and no guarantee any host CSS exists, so everything the page
10
+ * needs to render dark must ship inside the fragment itself.
11
+ *
12
+ * ## Why not `filter: invert()`
13
+ *
14
+ * The previous implementation inverted the whole subtree with
15
+ * `filter: invert(1) hue-rotate(180deg)`. That is not dark mode: it rotates
16
+ * every author-picked hue 180deg, so a brand blue publishes as orange. It also
17
+ * forced a fragile web of counter-inversions to keep photos from looking like
18
+ * negatives. This module replaces it with real per-color dark values.
19
+ *
20
+ * ## How it works
21
+ *
22
+ * Each distinct authored color is issued a token. The block renders
23
+ * `var(--ahd-c-N, <original>)` instead of the raw color, and the token is
24
+ * defined once in a `<style>` scoped to the fragment root:
25
+ *
26
+ * [data-ahd-theme] { --ahd-c-3: light-dark(#0a5fcc, #5aa2ff); }
27
+ *
28
+ * `light-dark()` resolves against the nearest `color-scheme`, which the
29
+ * fragment root sets from the author's Light/Dark/Auto choice. That means a
30
+ * host can flip an embedded page by changing one attribute — no re-fetch, no
31
+ * media-query re-evaluation.
32
+ *
33
+ * Two independent fallbacks keep an unsupported browser rendering exactly what
34
+ * it renders today:
35
+ * 1. The `var()` fallback carries the original color, so a browser that
36
+ * drops the custom property still paints the light value.
37
+ * 2. `emitTokenCss` writes a plain light-value declaration before the
38
+ * `light-dark()` one, so a browser that understands custom properties but
39
+ * not `light-dark()` uses the light value rather than an invalid
40
+ * declaration.
41
+ */
42
+ export type GeneratedTheme = 'light' | 'dark' | 'auto';
43
+ export declare const GENERATED_THEME_ATTR = "data-ahd-theme";
44
+ /**
45
+ * Published pages always follow the visitor's device setting.
46
+ *
47
+ * This is the only mode the renderer emits: there is no author-facing
48
+ * light/dark switch, because a published page has no opinion about the
49
+ * visitor's environment - the visitor's browser does. `light` and `dark`
50
+ * remain in the type because a HOST APP can override a rendered fragment at
51
+ * runtime by setting this attribute (see the snippet in ConfigureDialog).
52
+ */
53
+ export declare const GENERATED_THEME_AUTO: GeneratedTheme;
54
+ /**
55
+ * Derive a dark-mode counterpart for an authored light color.
56
+ *
57
+ * The rule is: PRESERVE HUE AND SATURATION, INVERT LIGHTNESS ONLY. That is the
58
+ * entire difference from the `hue-rotate` approach this replaces — a brand blue
59
+ * stays blue and simply becomes lighter so it reads against a dark surface.
60
+ *
61
+ * Two deliberate departures from a naive `l -> 1 - l`:
62
+ *
63
+ * - Near-neutral colors (very low saturation) are the page's surfaces and text.
64
+ * A straight flip sends #ffffff to #000000, which is harsher than good dark
65
+ * UI: pure black raises perceived contrast and causes halation against light
66
+ * text. They're mapped into a softer range instead (about #121212 to #ededed),
67
+ * matching the app's own dark palette (`src/theme/colors/dark.ts` uses
68
+ * #121212 for background).
69
+ *
70
+ * - Saturated colors get a compressed flip. A mid-lightness brand color
71
+ * (l ~ 0.5) should stay close to where it is rather than swing to the
72
+ * opposite extreme, so the result is pulled toward a legible band and floored
73
+ * so it never lands too dark to see on a dark surface.
74
+ *
75
+ * Alpha is carried through untouched.
76
+ *
77
+ * Returns `null` for anything that is not a single solid color — gradients,
78
+ * `transparent`, keywords, unparseable values. Those are left exactly as the
79
+ * author wrote them (see `token`).
80
+ */
81
+ export declare function deriveDarkColor(value: string): string | null;
82
+ export type TokenRegistry = {
83
+ /**
84
+ * Issue (or reuse) a token for `raw` and return the value a block should
85
+ * render.
86
+ *
87
+ * Returns `raw` unchanged when there is nothing to theme — null/undefined,
88
+ * `transparent`, `currentColor`, a gradient, or anything unparseable. Callers
89
+ * can therefore pipe every color through this without pre-checking, EXCEPT
90
+ * that a caller which BRANCHES on whether a value is a gradient must do that
91
+ * classification on the raw value first (see `isGradientColor` in
92
+ * blocks/helpers/blockStyleHelpers).
93
+ *
94
+ * GRADIENTS ARE NEVER THEMED. An author-picked gradient renders identically
95
+ * in light and dark mode — it is returned byte-for-byte unchanged, so the
96
+ * published CSS carries the author's exact value in both themes.
97
+ */
98
+ token(raw: string | null | undefined): string | undefined;
99
+ /** CSS defining every token issued so far. Empty when none, or theme light. */
100
+ css(theme: GeneratedTheme): string;
101
+ /** Number of distinct colors tokenized (for tests/diagnostics). */
102
+ size(): number;
103
+ };
104
+ export declare function createTokenRegistry(): TokenRegistry;
105
+ /**
106
+ * CSS for a fragment that issued no tokens (or chose light).
107
+ *
108
+ * Still worth emitting for `dark`/`auto`: `color-scheme` alone makes form
109
+ * controls, scrollbars and the canvas behind the fragment follow the theme.
110
+ */
111
+ export declare function baseThemeCss(theme: GeneratedTheme): string;
112
+ export declare const ThemeTokenProvider: import('react').Provider<TokenRegistry>;
113
+ /**
114
+ * Theme a single color value.
115
+ *
116
+ * Safe to call unconditionally: outside a publish render it returns `raw`
117
+ * unchanged. See `TokenRegistry.token` for what is and isn't themed — notably,
118
+ * gradients pass through byte-for-byte.
119
+ *
120
+ * A caller that BRANCHES on whether a color is a gradient must classify the
121
+ * RAW value first (via `isGradientColor`) and only then tokenize, or the
122
+ * branch will misfire on the returned `var(...)` string.
123
+ */
124
+ export declare function useColorToken(raw: string | null | undefined): string | undefined;
125
+ /**
126
+ * A themer for colors that live in a LIST.
127
+ *
128
+ * `useColorToken` is a hook, so it cannot be called from inside `.map()` or any
129
+ * other loop — blocks whose colors come from per-row data (breadcrumb items,
130
+ * menu entries, pagination buttons) have no fixed number of colors to theme and
131
+ * would break the rules of hooks. This returns a plain function instead: call
132
+ * the hook once at the top of the component, then apply the result per item.
133
+ *
134
+ * Outside a publish render it is the identity function, exactly like
135
+ * `useColorToken`.
136
+ */
137
+ export declare function useColorTokenizer(): (raw: string | null | undefined) => string | undefined;
138
+ export declare function themeAuthorHtml(html: string, registry: TokenRegistry | null): string;
139
+ /**
140
+ * Hook form of `themeAuthorHtml`, for blocks that render author HTML.
141
+ * Outside a publish render this returns the input unchanged.
142
+ */
143
+ export declare function useThemedHtml(html: string): string;
@@ -0,0 +1,5 @@
1
+ declare const settingsSelectors: {
2
+ selectSettings: (_state: unknown) => any;
3
+ selectBranding: (_state: unknown) => any;
4
+ };
5
+ export default settingsSelectors;
@@ -1,5 +1,4 @@
1
1
  import { CSSProperties } from 'react';
2
- export declare const menuEditorEmptyState: CSSProperties;
3
2
  type BlockPadding = {
4
3
  top: number;
5
4
  right: number;
@@ -12,6 +11,7 @@ type BlockMargin = {
12
11
  bottom: number;
13
12
  left: number;
14
13
  } | null | undefined;
14
+ export declare const isGradientValue: (value: string | null | undefined) => boolean;
15
15
  export declare const menuNav: (backgroundColor: string, position: string, hasSlots?: boolean, blockPadding?: BlockPadding, blockMargin?: BlockMargin) => CSSProperties;
16
16
  export declare const menuSlot: (align: "start" | "center" | "end", isCenter?: boolean) => CSSProperties;
17
17
  export declare const menuList: (orientation: string, level: number, gap: string) => CSSProperties;
@@ -28,6 +28,9 @@ export type MenuItemStyleOverride = {
28
28
  export declare const menuLink: (showIcons: boolean, hasIcon: boolean, textColor: string, fontSize: string, fontWeight: string, padding: string, fontFamily?: string, itemOverride?: MenuItemStyleOverride) => CSSProperties;
29
29
  export declare const menuIcon: (iconSize: string) => CSSProperties;
30
30
  export declare const menuChildrenWrapper: (level: number) => CSSProperties;
31
+ export declare const menuSubmenuPanel: (background: string, radius: number, borderColor?: string | null, padding?: BlockPadding, minWidth?: number | null) => CSSProperties;
32
+ export declare const menuCaret: (size: number) => CSSProperties;
33
+ export declare const MENU_SUBMENU_CHEVRON_PATH = "M6 9l6 6 6-6";
31
34
  export declare const menuToggleInput: CSSProperties;
32
35
  export declare const menuBurgerLabel: (textColor: string) => CSSProperties;
33
36
  export declare const menuItemHrefFieldSx: {
@@ -85,4 +88,5 @@ export declare const addTabButtonSx: {
85
88
  };
86
89
  readonly transition: "color 0.15s, border-color 0.15s";
87
90
  };
91
+ export declare const menuEditorEmptyState: CSSProperties;
88
92
  export {};
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_BRAND_FONT_KEY = "INTER";
2
+ export declare function resolveRootFontFamily(rootFontFamily?: string | null): string;
3
+ export declare function getBrandDefaultFontFamily(): string;
@@ -0,0 +1 @@
1
+ export declare function renderHighlightedCodeBlock(code: string, _language?: string): string;
@@ -1,4 +1,4 @@
1
- import { g as jl, c as fe } from "./index-Dk7bp7l0.js";
1
+ import { g as jl, c as fe } from "./index-DojXOBrb.js";
2
2
  import { c as It } from "./_commonjs-dynamic-modules-BpilXLfW.js";
3
3
  function Xl(e, n) {
4
4
  for (var t = 0; t < n.length; t++) {
@@ -1,4 +1,4 @@
1
- "use strict";const fe=require("./index-BNqa-SV3.cjs"),It=require("./_commonjs-dynamic-modules-DMkBISW1.cjs");function zl(e,n){for(var t=0;t<n.length;t++){const i=n[t];if(typeof i!="string"&&!Array.isArray(i)){for(const r in i)if(r!=="default"&&!(r in e)){const a=Object.getOwnPropertyDescriptor(i,r);a&&Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:()=>i[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var nn={},da="1.13.8",Ro=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},ui=Array.prototype,la=Object.prototype,No=typeof Symbol<"u"?Symbol.prototype:null,Xl=ui.push,Ft=ui.slice,mt=la.toString,Vl=la.hasOwnProperty,ku=typeof ArrayBuffer<"u",Hl=typeof DataView<"u",$l=Array.isArray,Io=Object.keys,Lo=Object.create,Mo=ku&&ArrayBuffer.isView,Gl=isNaN,Zl=isFinite,Wu=!{toString:null}.propertyIsEnumerable("toString"),qo=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],Yl=Math.pow(2,53)-1;function Me(e,n){return n=n==null?e.length-1:+n,function(){for(var t=Math.max(arguments.length-n,0),i=Array(t),r=0;r<t;r++)i[r]=arguments[r+n];switch(n){case 0:return e.call(this,i);case 1:return e.call(this,arguments[0],i);case 2:return e.call(this,arguments[0],arguments[1],i)}var a=Array(n+1);for(r=0;r<n;r++)a[r]=arguments[r];return a[n]=i,e.apply(this,a)}}function An(e){var n=typeof e;return n==="function"||n==="object"&&!!e}function Ou(e){return e===null}function fa(e){return e===void 0}function ha(e){return e===!0||e===!1||mt.call(e)==="[object Boolean]"}function Ru(e){return!!(e&&e.nodeType===1)}function Ie(e){var n="[object "+e+"]";return function(t){return mt.call(t)===n}}const si=Ie("String"),pa=Ie("Number"),Nu=Ie("Date"),Iu=Ie("RegExp"),Lu=Ie("Error"),ga=Ie("Symbol"),ma=Ie("ArrayBuffer");var Mu=Ie("Function"),Kl=Ro.document&&Ro.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof Kl!="function"&&(Mu=function(e){return typeof e=="function"||!1});const Ne=Mu,qu=Ie("Object");var Pu=Hl&&(!/\[native code\]/.test(String(DataView))||qu(new DataView(new ArrayBuffer(8)))),ba=typeof Map<"u"&&qu(new Map),Ql=Ie("DataView");function Jl(e){return e!=null&&Ne(e.getInt8)&&ma(e.buffer)}const bt=Pu?Jl:Ql,Fn=$l||Ie("Array");function Cn(e,n){return e!=null&&Vl.call(e,n)}var aa=Ie("Arguments");(function(){aa(arguments)||(aa=function(e){return Cn(e,"callee")})})();const di=aa;function ju(e){return!ga(e)&&Zl(e)&&!isNaN(parseFloat(e))}function ya(e){return pa(e)&&Gl(e)}function Da(e){return function(){return e}}function zu(e){return function(n){var t=e(n);return typeof t=="number"&&t>=0&&t<=Yl}}function Xu(e){return function(n){return n==null?void 0:n[e]}}const Zt=Xu("byteLength"),ef=zu(Zt);var nf=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function tf(e){return Mo?Mo(e)&&!bt(e):ef(e)&&nf.test(mt.call(e))}const va=ku?tf:Da(!1),Re=Xu("length");function rf(e){for(var n={},t=e.length,i=0;i<t;++i)n[e[i]]=!0;return{contains:function(r){return n[r]===!0},push:function(r){return n[r]=!0,e.push(r)}}}function Vu(e,n){n=rf(n);var t=qo.length,i=e.constructor,r=Ne(i)&&i.prototype||la,a="constructor";for(Cn(e,a)&&!n.contains(a)&&n.push(a);t--;)a=qo[t],a in e&&e[a]!==r[a]&&!n.contains(a)&&n.push(a)}function Ee(e){if(!An(e))return[];if(Io)return Io(e);var n=[];for(var t in e)Cn(e,t)&&n.push(t);return Wu&&Vu(e,n),n}function Hu(e){if(e==null)return!0;var n=Re(e);return typeof n=="number"&&(Fn(e)||si(e)||di(e))?n===0:Re(Ee(e))===0}function xa(e,n){var t=Ee(n),i=t.length;if(e==null)return!i;for(var r=Object(e),a=0;a<i;a++){var o=t[a];if(n[o]!==r[o]||!(o in r))return!1}return!0}function ye(e){if(e instanceof ye)return e;if(!(this instanceof ye))return new ye(e);this._wrapped=e}ye.VERSION=da;ye.prototype.value=function(){return this._wrapped};ye.prototype.valueOf=ye.prototype.toJSON=ye.prototype.value;ye.prototype.toString=function(){return String(this._wrapped)};function Po(e){return new Uint8Array(e.buffer||e,e.byteOffset||0,Zt(e))}var jo="[object DataView]";function $u(e,n){for(var t=[{a:e,b:n}],i=[],r=[];t.length;){var a=t.pop();if(a===!0){i.pop(),r.pop();continue}if(e=a.a,n=a.b,e===n){if(e!==0||1/e===1/n)continue;return!1}if(e==null||n==null)return!1;if(e!==e){if(n!==n)continue;return!1}var o=typeof e;if(o!=="function"&&o!=="object"&&typeof n!="object")return!1;e instanceof ye&&(e=e._wrapped),n instanceof ye&&(n=n._wrapped);var c=mt.call(e);if(c!==mt.call(n))return!1;if(Pu&&c=="[object Object]"&&bt(e)){if(!bt(n))return!1;c=jo}switch(c){case"[object RegExp]":case"[object String]":if(""+e==""+n)continue;return!1;case"[object Number]":t.push({a:+e,b:+n});continue;case"[object Date]":case"[object Boolean]":if(+e==+n)continue;return!1;case"[object Symbol]":if(No.valueOf.call(e)===No.valueOf.call(n))continue;return!1;case"[object ArrayBuffer]":case jo:t.push({a:Po(e),b:Po(n)});continue}var u=c==="[object Array]";if(!u&&va(e)){var s=Zt(e);if(s!==Zt(n))return!1;if(e.buffer===n.buffer&&e.byteOffset===n.byteOffset)continue;u=!0}if(!u){if(typeof e!="object"||typeof n!="object")return!1;var d=e.constructor,p=n.constructor;if(d!==p&&!(Ne(d)&&d instanceof d&&Ne(p)&&p instanceof p)&&"constructor"in e&&"constructor"in n)return!1}for(var b=i.length;b--;)if(i[b]===e){if(r[b]===n)break;return!1}if(!(b>=0))if(i.push(e),r.push(n),t.push(!0),u){if(b=e.length,b!==n.length)return!1;for(;b--;)t.push({a:e[b],b:n[b]})}else{var m=Ee(e),y;if(b=m.length,Ee(n).length!==b)return!1;for(;b--;){if(y=m[b],!Cn(n,y))return!1;t.push({a:e[y],b:n[y]})}}}return!0}function it(e){if(!An(e))return[];var n=[];for(var t in e)n.push(t);return Wu&&Vu(e,n),n}function _a(e){var n=Re(e);return function(t){if(t==null)return!1;var i=it(t);if(Re(i))return!1;for(var r=0;r<n;r++)if(!Ne(t[e[r]]))return!1;return e!==Yu||!Ne(t[Ua])}}var Ua="forEach",Gu="has",Ta=["clear","delete"],Zu=["get",Gu,"set"],af=Ta.concat(Ua,Zu),Yu=Ta.concat(Zu),of=["add"].concat(Ta,Ua,Gu);const Ku=ba?_a(af):Ie("Map"),Qu=ba?_a(Yu):Ie("WeakMap"),Ju=ba?_a(of):Ie("Set"),es=Ie("WeakSet");function Ln(e){for(var n=Ee(e),t=n.length,i=Array(t),r=0;r<t;r++)i[r]=e[n[r]];return i}function ns(e){for(var n=Ee(e),t=n.length,i=Array(t),r=0;r<t;r++)i[r]=[n[r],e[n[r]]];return i}function wa(e){for(var n={},t=Ee(e),i=0,r=t.length;i<r;i++)n[e[t[i]]]=t[i];return n}function yt(e){var n=[];for(var t in e)Ne(e[t])&&n.push(t);return n.sort()}function Ea(e,n){return function(t){var i=arguments.length;if(n&&(t=Object(t)),i<2||t==null)return t;for(var r=1;r<i;r++)for(var a=arguments[r],o=e(a),c=o.length,u=0;u<c;u++){var s=o[u];(!n||t[s]===void 0)&&(t[s]=a[s])}return t}}const Aa=Ea(it),Yn=Ea(Ee),Fa=Ea(it,!0);function cf(){return function(){}}function ts(e){if(!An(e))return{};if(Lo)return Lo(e);var n=cf();n.prototype=e;var t=new n;return n.prototype=null,t}function is(e,n){var t=ts(e);return n&&Yn(t,n),t}function rs(e){return An(e)?Fn(e)?e.slice():Aa({},e):e}function as(e,n){return n(e),e}function Ca(e){return Fn(e)?e:[e]}ye.toPath=Ca;function Ct(e){return ye.toPath(e)}function Sa(e,n){for(var t=n.length,i=0;i<t;i++){if(e==null)return;e=e[n[i]]}return t?e:void 0}function Ba(e,n,t){var i=Sa(e,Ct(n));return fa(i)?t:i}function os(e,n){n=Ct(n);for(var t=n.length,i=0;i<t;i++){var r=n[i];if(!Cn(e,r))return!1;e=e[r]}return!!t}function li(e){return e}function On(e){return e=Yn({},e),function(n){return xa(n,e)}}function fi(e){return e=Ct(e),function(n){return Sa(n,e)}}function St(e,n,t){if(n===void 0)return e;switch(t??3){case 1:return function(i){return e.call(n,i)};case 3:return function(i,r,a){return e.call(n,i,r,a)};case 4:return function(i,r,a,o){return e.call(n,i,r,a,o)}}return function(){return e.apply(n,arguments)}}function cs(e,n,t){return e==null?li:Ne(e)?St(e,n,t):An(e)&&!Fn(e)?On(e):fi(e)}function hi(e,n){return cs(e,n,1/0)}ye.iteratee=hi;function ze(e,n,t){return ye.iteratee!==hi?ye.iteratee(e,n):cs(e,n,t)}function us(e,n,t){n=ze(n,t);for(var i=Ee(e),r=i.length,a={},o=0;o<r;o++){var c=i[o];a[c]=n(e[c],c,e)}return a}function ka(){}function ss(e){return e==null?ka:function(n){return Ba(e,n)}}function ds(e,n,t){var i=Array(Math.max(0,e));n=St(n,t,1);for(var r=0;r<e;r++)i[r]=n(r);return i}function Yt(e,n){return n==null&&(n=e,e=0),e+Math.floor(Math.random()*(n-e+1))}const Kn=Date.now||function(){return new Date().getTime()};function ls(e){var n=function(a){return e[a]},t="(?:"+Ee(e).join("|")+")",i=RegExp(t),r=RegExp(t,"g");return function(a){return a=a==null?"":""+a,i.test(a)?a.replace(r,n):a}}const fs={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},hs=ls(fs),uf=wa(fs),ps=ls(uf),gs=ye.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var Yi=/(.)^/,sf={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},df=/\\|'|\r|\n|\u2028|\u2029/g;function lf(e){return"\\"+sf[e]}var ff=/^\s*(\w|\$)+\s*$/;function ms(e,n,t){!n&&t&&(n=t),n=Fa({},n,ye.templateSettings);var i=RegExp([(n.escape||Yi).source,(n.interpolate||Yi).source,(n.evaluate||Yi).source].join("|")+"|$","g"),r=0,a="__p+='";e.replace(i,function(s,d,p,b,m){return a+=e.slice(r,m).replace(df,lf),r=m+s.length,d?a+=`'+
1
+ "use strict";const fe=require("./index-DEBoxZlq.cjs"),It=require("./_commonjs-dynamic-modules-DMkBISW1.cjs");function zl(e,n){for(var t=0;t<n.length;t++){const i=n[t];if(typeof i!="string"&&!Array.isArray(i)){for(const r in i)if(r!=="default"&&!(r in e)){const a=Object.getOwnPropertyDescriptor(i,r);a&&Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:()=>i[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var nn={},da="1.13.8",Ro=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||Function("return this")()||{},ui=Array.prototype,la=Object.prototype,No=typeof Symbol<"u"?Symbol.prototype:null,Xl=ui.push,Ft=ui.slice,mt=la.toString,Vl=la.hasOwnProperty,ku=typeof ArrayBuffer<"u",Hl=typeof DataView<"u",$l=Array.isArray,Io=Object.keys,Lo=Object.create,Mo=ku&&ArrayBuffer.isView,Gl=isNaN,Zl=isFinite,Wu=!{toString:null}.propertyIsEnumerable("toString"),qo=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],Yl=Math.pow(2,53)-1;function Me(e,n){return n=n==null?e.length-1:+n,function(){for(var t=Math.max(arguments.length-n,0),i=Array(t),r=0;r<t;r++)i[r]=arguments[r+n];switch(n){case 0:return e.call(this,i);case 1:return e.call(this,arguments[0],i);case 2:return e.call(this,arguments[0],arguments[1],i)}var a=Array(n+1);for(r=0;r<n;r++)a[r]=arguments[r];return a[n]=i,e.apply(this,a)}}function An(e){var n=typeof e;return n==="function"||n==="object"&&!!e}function Ou(e){return e===null}function fa(e){return e===void 0}function ha(e){return e===!0||e===!1||mt.call(e)==="[object Boolean]"}function Ru(e){return!!(e&&e.nodeType===1)}function Ie(e){var n="[object "+e+"]";return function(t){return mt.call(t)===n}}const si=Ie("String"),pa=Ie("Number"),Nu=Ie("Date"),Iu=Ie("RegExp"),Lu=Ie("Error"),ga=Ie("Symbol"),ma=Ie("ArrayBuffer");var Mu=Ie("Function"),Kl=Ro.document&&Ro.document.childNodes;typeof/./!="function"&&typeof Int8Array!="object"&&typeof Kl!="function"&&(Mu=function(e){return typeof e=="function"||!1});const Ne=Mu,qu=Ie("Object");var Pu=Hl&&(!/\[native code\]/.test(String(DataView))||qu(new DataView(new ArrayBuffer(8)))),ba=typeof Map<"u"&&qu(new Map),Ql=Ie("DataView");function Jl(e){return e!=null&&Ne(e.getInt8)&&ma(e.buffer)}const bt=Pu?Jl:Ql,Fn=$l||Ie("Array");function Cn(e,n){return e!=null&&Vl.call(e,n)}var aa=Ie("Arguments");(function(){aa(arguments)||(aa=function(e){return Cn(e,"callee")})})();const di=aa;function ju(e){return!ga(e)&&Zl(e)&&!isNaN(parseFloat(e))}function ya(e){return pa(e)&&Gl(e)}function Da(e){return function(){return e}}function zu(e){return function(n){var t=e(n);return typeof t=="number"&&t>=0&&t<=Yl}}function Xu(e){return function(n){return n==null?void 0:n[e]}}const Zt=Xu("byteLength"),ef=zu(Zt);var nf=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;function tf(e){return Mo?Mo(e)&&!bt(e):ef(e)&&nf.test(mt.call(e))}const va=ku?tf:Da(!1),Re=Xu("length");function rf(e){for(var n={},t=e.length,i=0;i<t;++i)n[e[i]]=!0;return{contains:function(r){return n[r]===!0},push:function(r){return n[r]=!0,e.push(r)}}}function Vu(e,n){n=rf(n);var t=qo.length,i=e.constructor,r=Ne(i)&&i.prototype||la,a="constructor";for(Cn(e,a)&&!n.contains(a)&&n.push(a);t--;)a=qo[t],a in e&&e[a]!==r[a]&&!n.contains(a)&&n.push(a)}function Ee(e){if(!An(e))return[];if(Io)return Io(e);var n=[];for(var t in e)Cn(e,t)&&n.push(t);return Wu&&Vu(e,n),n}function Hu(e){if(e==null)return!0;var n=Re(e);return typeof n=="number"&&(Fn(e)||si(e)||di(e))?n===0:Re(Ee(e))===0}function xa(e,n){var t=Ee(n),i=t.length;if(e==null)return!i;for(var r=Object(e),a=0;a<i;a++){var o=t[a];if(n[o]!==r[o]||!(o in r))return!1}return!0}function ye(e){if(e instanceof ye)return e;if(!(this instanceof ye))return new ye(e);this._wrapped=e}ye.VERSION=da;ye.prototype.value=function(){return this._wrapped};ye.prototype.valueOf=ye.prototype.toJSON=ye.prototype.value;ye.prototype.toString=function(){return String(this._wrapped)};function Po(e){return new Uint8Array(e.buffer||e,e.byteOffset||0,Zt(e))}var jo="[object DataView]";function $u(e,n){for(var t=[{a:e,b:n}],i=[],r=[];t.length;){var a=t.pop();if(a===!0){i.pop(),r.pop();continue}if(e=a.a,n=a.b,e===n){if(e!==0||1/e===1/n)continue;return!1}if(e==null||n==null)return!1;if(e!==e){if(n!==n)continue;return!1}var o=typeof e;if(o!=="function"&&o!=="object"&&typeof n!="object")return!1;e instanceof ye&&(e=e._wrapped),n instanceof ye&&(n=n._wrapped);var c=mt.call(e);if(c!==mt.call(n))return!1;if(Pu&&c=="[object Object]"&&bt(e)){if(!bt(n))return!1;c=jo}switch(c){case"[object RegExp]":case"[object String]":if(""+e==""+n)continue;return!1;case"[object Number]":t.push({a:+e,b:+n});continue;case"[object Date]":case"[object Boolean]":if(+e==+n)continue;return!1;case"[object Symbol]":if(No.valueOf.call(e)===No.valueOf.call(n))continue;return!1;case"[object ArrayBuffer]":case jo:t.push({a:Po(e),b:Po(n)});continue}var u=c==="[object Array]";if(!u&&va(e)){var s=Zt(e);if(s!==Zt(n))return!1;if(e.buffer===n.buffer&&e.byteOffset===n.byteOffset)continue;u=!0}if(!u){if(typeof e!="object"||typeof n!="object")return!1;var d=e.constructor,p=n.constructor;if(d!==p&&!(Ne(d)&&d instanceof d&&Ne(p)&&p instanceof p)&&"constructor"in e&&"constructor"in n)return!1}for(var b=i.length;b--;)if(i[b]===e){if(r[b]===n)break;return!1}if(!(b>=0))if(i.push(e),r.push(n),t.push(!0),u){if(b=e.length,b!==n.length)return!1;for(;b--;)t.push({a:e[b],b:n[b]})}else{var m=Ee(e),y;if(b=m.length,Ee(n).length!==b)return!1;for(;b--;){if(y=m[b],!Cn(n,y))return!1;t.push({a:e[y],b:n[y]})}}}return!0}function it(e){if(!An(e))return[];var n=[];for(var t in e)n.push(t);return Wu&&Vu(e,n),n}function _a(e){var n=Re(e);return function(t){if(t==null)return!1;var i=it(t);if(Re(i))return!1;for(var r=0;r<n;r++)if(!Ne(t[e[r]]))return!1;return e!==Yu||!Ne(t[Ua])}}var Ua="forEach",Gu="has",Ta=["clear","delete"],Zu=["get",Gu,"set"],af=Ta.concat(Ua,Zu),Yu=Ta.concat(Zu),of=["add"].concat(Ta,Ua,Gu);const Ku=ba?_a(af):Ie("Map"),Qu=ba?_a(Yu):Ie("WeakMap"),Ju=ba?_a(of):Ie("Set"),es=Ie("WeakSet");function Ln(e){for(var n=Ee(e),t=n.length,i=Array(t),r=0;r<t;r++)i[r]=e[n[r]];return i}function ns(e){for(var n=Ee(e),t=n.length,i=Array(t),r=0;r<t;r++)i[r]=[n[r],e[n[r]]];return i}function wa(e){for(var n={},t=Ee(e),i=0,r=t.length;i<r;i++)n[e[t[i]]]=t[i];return n}function yt(e){var n=[];for(var t in e)Ne(e[t])&&n.push(t);return n.sort()}function Ea(e,n){return function(t){var i=arguments.length;if(n&&(t=Object(t)),i<2||t==null)return t;for(var r=1;r<i;r++)for(var a=arguments[r],o=e(a),c=o.length,u=0;u<c;u++){var s=o[u];(!n||t[s]===void 0)&&(t[s]=a[s])}return t}}const Aa=Ea(it),Yn=Ea(Ee),Fa=Ea(it,!0);function cf(){return function(){}}function ts(e){if(!An(e))return{};if(Lo)return Lo(e);var n=cf();n.prototype=e;var t=new n;return n.prototype=null,t}function is(e,n){var t=ts(e);return n&&Yn(t,n),t}function rs(e){return An(e)?Fn(e)?e.slice():Aa({},e):e}function as(e,n){return n(e),e}function Ca(e){return Fn(e)?e:[e]}ye.toPath=Ca;function Ct(e){return ye.toPath(e)}function Sa(e,n){for(var t=n.length,i=0;i<t;i++){if(e==null)return;e=e[n[i]]}return t?e:void 0}function Ba(e,n,t){var i=Sa(e,Ct(n));return fa(i)?t:i}function os(e,n){n=Ct(n);for(var t=n.length,i=0;i<t;i++){var r=n[i];if(!Cn(e,r))return!1;e=e[r]}return!!t}function li(e){return e}function On(e){return e=Yn({},e),function(n){return xa(n,e)}}function fi(e){return e=Ct(e),function(n){return Sa(n,e)}}function St(e,n,t){if(n===void 0)return e;switch(t??3){case 1:return function(i){return e.call(n,i)};case 3:return function(i,r,a){return e.call(n,i,r,a)};case 4:return function(i,r,a,o){return e.call(n,i,r,a,o)}}return function(){return e.apply(n,arguments)}}function cs(e,n,t){return e==null?li:Ne(e)?St(e,n,t):An(e)&&!Fn(e)?On(e):fi(e)}function hi(e,n){return cs(e,n,1/0)}ye.iteratee=hi;function ze(e,n,t){return ye.iteratee!==hi?ye.iteratee(e,n):cs(e,n,t)}function us(e,n,t){n=ze(n,t);for(var i=Ee(e),r=i.length,a={},o=0;o<r;o++){var c=i[o];a[c]=n(e[c],c,e)}return a}function ka(){}function ss(e){return e==null?ka:function(n){return Ba(e,n)}}function ds(e,n,t){var i=Array(Math.max(0,e));n=St(n,t,1);for(var r=0;r<e;r++)i[r]=n(r);return i}function Yt(e,n){return n==null&&(n=e,e=0),e+Math.floor(Math.random()*(n-e+1))}const Kn=Date.now||function(){return new Date().getTime()};function ls(e){var n=function(a){return e[a]},t="(?:"+Ee(e).join("|")+")",i=RegExp(t),r=RegExp(t,"g");return function(a){return a=a==null?"":""+a,i.test(a)?a.replace(r,n):a}}const fs={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},hs=ls(fs),uf=wa(fs),ps=ls(uf),gs=ye.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var Yi=/(.)^/,sf={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},df=/\\|'|\r|\n|\u2028|\u2029/g;function lf(e){return"\\"+sf[e]}var ff=/^\s*(\w|\$)+\s*$/;function ms(e,n,t){!n&&t&&(n=t),n=Fa({},n,ye.templateSettings);var i=RegExp([(n.escape||Yi).source,(n.interpolate||Yi).source,(n.evaluate||Yi).source].join("|")+"|$","g"),r=0,a="__p+='";e.replace(i,function(s,d,p,b,m){return a+=e.slice(r,m).replace(df,lf),r=m+s.length,d?a+=`'+
2
2
  ((__t=(`+d+`))==null?'':_.escape(__t))+
3
3
  '`:p?a+=`'+
4
4
  ((__t=(`+p+`))==null?'':__t)+