@amplitude/plugin-autocapture-browser 1.27.4 → 1.28.0-element-path-v1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/autocapture-plugin.d.ts.map +1 -1
- package/lib/cjs/autocapture-plugin.js +6 -1
- package/lib/cjs/autocapture-plugin.js.map +1 -1
- package/lib/cjs/data-extractor.d.ts +23 -0
- package/lib/cjs/data-extractor.d.ts.map +1 -1
- package/lib/cjs/data-extractor.js +53 -2
- package/lib/cjs/data-extractor.js.map +1 -1
- package/lib/cjs/element-selector-config.d.ts +22 -0
- package/lib/cjs/element-selector-config.d.ts.map +1 -0
- package/lib/cjs/element-selector-config.js +43 -0
- package/lib/cjs/element-selector-config.js.map +1 -0
- package/lib/cjs/frustration-plugin.d.ts.map +1 -1
- package/lib/cjs/frustration-plugin.js +6 -1
- package/lib/cjs/frustration-plugin.js.map +1 -1
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.d.ts.map +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/esm/autocapture-plugin.d.ts.map +1 -1
- package/lib/esm/autocapture-plugin.js +6 -1
- package/lib/esm/autocapture-plugin.js.map +1 -1
- package/lib/esm/data-extractor.d.ts +23 -0
- package/lib/esm/data-extractor.d.ts.map +1 -1
- package/lib/esm/data-extractor.js +53 -2
- package/lib/esm/data-extractor.js.map +1 -1
- package/lib/esm/element-selector-config.d.ts +22 -0
- package/lib/esm/element-selector-config.d.ts.map +1 -0
- package/lib/esm/element-selector-config.js +39 -0
- package/lib/esm/element-selector-config.js.map +1 -0
- package/lib/esm/frustration-plugin.d.ts.map +1 -1
- package/lib/esm/frustration-plugin.js +6 -1
- package/lib/esm/frustration-plugin.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.d.ts.map +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/esm/version.js.map +1 -1
- package/lib/scripts/amplitude-min.js +1 -1
- package/lib/scripts/amplitude-min.js.gz +0 -0
- package/lib/scripts/amplitude-min.js.map +1 -1
- package/lib/scripts/amplitude-min.umd.js +1 -1
- package/lib/scripts/amplitude-min.umd.js.gz +0 -0
- package/lib/scripts/autocapture-plugin.d.ts.map +1 -1
- package/lib/scripts/data-extractor.d.ts +23 -0
- package/lib/scripts/data-extractor.d.ts.map +1 -1
- package/lib/scripts/element-selector-config.d.ts +22 -0
- package/lib/scripts/element-selector-config.d.ts.map +1 -0
- package/lib/scripts/frustration-plugin.d.ts.map +1 -1
- package/lib/scripts/version.d.ts +1 -1
- package/lib/scripts/version.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remote-config key for the element-selector engine payload. Nested under the
|
|
3
|
+
* browser SDK autocapture namespace alongside other autocapture toggles
|
|
4
|
+
* (elementInteractions, frustrationInteractions, etc.). The payload shape is
|
|
5
|
+
* `ElementSelectorRemoteConfig`.
|
|
6
|
+
*/
|
|
7
|
+
export var ELEMENT_SELECTOR_REMOTE_CONFIG_KEY = 'configs.analyticsSDK.browserSDK.autocapture.elementSelector';
|
|
8
|
+
/**
|
|
9
|
+
* Subscribe a plugin's {@link DataExtractor} to element-selector remote config.
|
|
10
|
+
*
|
|
11
|
+
* On each delivery, the resolved config is pushed into the extractor's engine,
|
|
12
|
+
* which changes what `getElementPath` (and therefore every selector-bearing
|
|
13
|
+
* autocapture event) emits. When remote config is disabled or unavailable, this
|
|
14
|
+
* is a no-op and the engine stays on the dormant defaults.
|
|
15
|
+
*
|
|
16
|
+
* @returns an unsubscribe function when a subscription was created, otherwise
|
|
17
|
+
* `undefined`.
|
|
18
|
+
*/
|
|
19
|
+
export function subscribeToElementSelectorConfig(config, dataExtractor) {
|
|
20
|
+
var remoteConfigClient = config.remoteConfigClient;
|
|
21
|
+
if (!config.fetchRemoteConfig || !remoteConfigClient) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
config.loggerProvider.debug("@amplitude/plugin-autocapture-browser: subscribing to element-selector remote config at \"".concat(ELEMENT_SELECTOR_REMOTE_CONFIG_KEY, "\""));
|
|
25
|
+
var subscriptionId = remoteConfigClient.subscribe(ELEMENT_SELECTOR_REMOTE_CONFIG_KEY, 'all', function (remoteConfig) {
|
|
26
|
+
var _a;
|
|
27
|
+
var payload = remoteConfig;
|
|
28
|
+
config.loggerProvider.debug('@amplitude/plugin-autocapture-browser: element-selector remote config delivered', {
|
|
29
|
+
enabled: (_a = payload === null || payload === void 0 ? void 0 : payload.enabled) !== null && _a !== void 0 ? _a : 'default (false)',
|
|
30
|
+
hasPayload: payload !== null && payload !== undefined,
|
|
31
|
+
});
|
|
32
|
+
dataExtractor.updateSelectorConfig(payload, config.loggerProvider);
|
|
33
|
+
});
|
|
34
|
+
return function () {
|
|
35
|
+
config.loggerProvider.debug("@amplitude/plugin-autocapture-browser: unsubscribing from element-selector remote config (subscription ".concat(subscriptionId, ")"));
|
|
36
|
+
remoteConfigClient.unsubscribe(subscriptionId);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=element-selector-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-selector-config.js","sourceRoot":"","sources":["../../src/element-selector-config.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,CAAC,IAAM,kCAAkC,GAAG,6DAA6D,CAAC;AAEhH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gCAAgC,CAC9C,MAAqB,EACrB,aAA4B;IAE5B,IAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,EAAE;QACpD,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,CAAC,cAAc,CAAC,KAAK,CACzB,oGAA4F,kCAAkC,OAAG,CAClI,CAAC;IAEF,IAAM,cAAc,GAAG,kBAAkB,CAAC,SAAS,CAAC,kCAAkC,EAAE,KAAK,EAAE,UAAC,YAAY;;QAC1G,IAAM,OAAO,GAAG,YAAkD,CAAC;QACnE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iFAAiF,EAAE;YAC7G,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,iBAAiB;YAC9C,UAAU,EAAE,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;SACtD,CAAC,CAAC;QACH,aAAa,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,CAAC,cAAc,CAAC,KAAK,CACzB,iHAA0G,cAAc,MAAG,CAC5H,CAAC;QACF,kBAAkB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { BrowserConfig } from '@amplitude/analytics-core';\nimport { ElementSelectorRemoteConfig } from '@amplitude/element-selector';\nimport { DataExtractor } from './data-extractor';\n\n/**\n * Remote-config key for the element-selector engine payload. Nested under the\n * browser SDK autocapture namespace alongside other autocapture toggles\n * (elementInteractions, frustrationInteractions, etc.). The payload shape is\n * `ElementSelectorRemoteConfig`.\n */\nexport const ELEMENT_SELECTOR_REMOTE_CONFIG_KEY = 'configs.analyticsSDK.browserSDK.autocapture.elementSelector';\n\n/**\n * Subscribe a plugin's {@link DataExtractor} to element-selector remote config.\n *\n * On each delivery, the resolved config is pushed into the extractor's engine,\n * which changes what `getElementPath` (and therefore every selector-bearing\n * autocapture event) emits. When remote config is disabled or unavailable, this\n * is a no-op and the engine stays on the dormant defaults.\n *\n * @returns an unsubscribe function when a subscription was created, otherwise\n * `undefined`.\n */\nexport function subscribeToElementSelectorConfig(\n config: BrowserConfig,\n dataExtractor: DataExtractor,\n): (() => void) | undefined {\n const remoteConfigClient = config.remoteConfigClient;\n if (!config.fetchRemoteConfig || !remoteConfigClient) {\n return undefined;\n }\n\n config.loggerProvider.debug(\n `@amplitude/plugin-autocapture-browser: subscribing to element-selector remote config at \"${ELEMENT_SELECTOR_REMOTE_CONFIG_KEY}\"`,\n );\n\n const subscriptionId = remoteConfigClient.subscribe(ELEMENT_SELECTOR_REMOTE_CONFIG_KEY, 'all', (remoteConfig) => {\n const payload = remoteConfig as ElementSelectorRemoteConfig | null;\n config.loggerProvider.debug('@amplitude/plugin-autocapture-browser: element-selector remote config delivered', {\n enabled: payload?.enabled ?? 'default (false)',\n hasPayload: payload !== null && payload !== undefined,\n });\n dataExtractor.updateSelectorConfig(payload, config.loggerProvider);\n });\n\n return () => {\n config.loggerProvider.debug(\n `@amplitude/plugin-autocapture-browser: unsubscribing from element-selector remote config (subscription ${subscriptionId})`,\n );\n remoteConfigClient.unsubscribe(subscriptionId);\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frustration-plugin.d.ts","sourceRoot":"","sources":["../../src/frustration-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAG9B,UAAU,EAKX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAA0B,4BAA4B,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EAKlB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"frustration-plugin.d.ts","sourceRoot":"","sources":["../../src/frustration-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAG9B,UAAU,EAKX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAA0B,4BAA4B,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGlH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EAKlB,MAAM,eAAe,CAAC;AAMvB,MAAM,WAAW,oBAAoB;IACnC,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,CAAC;IACxF,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,eAAe,CAAC,sBAAsB,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1F,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;IACnF,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;CAC/D;AAED,KAAK,uBAAuB,GAAG,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AA+B9E,eAAO,MAAM,iBAAiB,aAAa,8BAA8B,KAAQ,uBAkQhF,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { trackRageClicks } from './autocapture/track-rage-click';
|
|
|
8
8
|
import { ObservablesEnum } from './autocapture-plugin';
|
|
9
9
|
import { createClickObservable, createErrorObservable, createMutationObservable, createMouseMoveObservable, } from './observables';
|
|
10
10
|
import { DataExtractor } from './data-extractor';
|
|
11
|
+
import { subscribeToElementSelectorConfig } from './element-selector-config';
|
|
11
12
|
import { trackErrorClicks } from './autocapture/track-error-click';
|
|
12
13
|
import { trackThrashedCursor } from './autocapture/track-thrashed-cursor';
|
|
13
14
|
/**
|
|
@@ -131,7 +132,7 @@ export var frustrationPlugin = function (options) {
|
|
|
131
132
|
_a;
|
|
132
133
|
};
|
|
133
134
|
var setup = function (config, amplitude) { return __awaiter(void 0, void 0, void 0, function () {
|
|
134
|
-
var allObservables, shouldTrackRageClick, rageClickSubscription, shouldTrackDeadClick, deadClickSubscription, shouldTrackErrorClick, errorClickSubscription, directionChanges, thresholdMs, thrashedCursorSubscription;
|
|
135
|
+
var allObservables, elementSelectorConfigCleanup, shouldTrackRageClick, rageClickSubscription, shouldTrackDeadClick, deadClickSubscription, shouldTrackErrorClick, errorClickSubscription, directionChanges, thresholdMs, thrashedCursorSubscription;
|
|
135
136
|
var _a;
|
|
136
137
|
return __generator(this, function (_b) {
|
|
137
138
|
/* istanbul ignore if */
|
|
@@ -139,6 +140,10 @@ export var frustrationPlugin = function (options) {
|
|
|
139
140
|
return [2 /*return*/];
|
|
140
141
|
}
|
|
141
142
|
allObservables = createObservables();
|
|
143
|
+
elementSelectorConfigCleanup = subscribeToElementSelectorConfig(config, dataExtractor);
|
|
144
|
+
if (elementSelectorConfigCleanup) {
|
|
145
|
+
subscriptions.push({ unsubscribe: elementSelectorConfigCleanup });
|
|
146
|
+
}
|
|
142
147
|
// Create subscriptions only for enabled features
|
|
143
148
|
if (rageClicksEnabled) {
|
|
144
149
|
shouldTrackRageClick = createShouldTrackEvent(options, rageCssSelectors);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frustration-plugin.js","sourceRoot":"","sources":["../../src/frustration-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-restricted-globals */\nimport {\n BrowserClient,\n BrowserConfig,\n EnrichmentPlugin,\n FrustrationInteractionsOptions,\n DEFAULT_DATA_ATTRIBUTE_PREFIX,\n multicast,\n Observable,\n Unsubscribable,\n DEFAULT_RAGE_CLICK_ALLOWLIST,\n DEFAULT_DEAD_CLICK_ALLOWLIST,\n DEFAULT_ERROR_CLICK_ALLOWLIST,\n} from '@amplitude/analytics-core';\nimport * as constants from './constants';\nimport { createShouldTrackEvent, ElementBasedTimestampedEvent, NavigateEvent, TimestampedEvent } from './helpers';\nimport { trackDeadClick } from './autocapture/track-dead-click';\nimport { trackRageClicks } from './autocapture/track-rage-click';\nimport { ObservablesEnum } from './autocapture-plugin';\nimport {\n BrowserErrorEvent,\n createClickObservable,\n createErrorObservable,\n createMutationObservable,\n createMouseMoveObservable,\n} from './observables';\nimport { DataExtractor } from './data-extractor';\nimport { trackErrorClicks } from './autocapture/track-error-click';\nimport { trackThrashedCursor } from './autocapture/track-thrashed-cursor';\n\nexport interface AllWindowObservables {\n [ObservablesEnum.ClickObservable]: Observable<ElementBasedTimestampedEvent<MouseEvent>>;\n [ObservablesEnum.MutationObservable]: Observable<TimestampedEvent<MutationRecord[]>>;\n [ObservablesEnum.BrowserErrorObservable]: Observable<TimestampedEvent<BrowserErrorEvent>>;\n [ObservablesEnum.NavigateObservable]?: Observable<TimestampedEvent<NavigateEvent>>;\n [ObservablesEnum.SelectionObservable]?: Observable<void>;\n [ObservablesEnum.MouseMoveObservable]: Observable<MouseEvent>;\n}\n\ntype BrowserEnrichmentPlugin = EnrichmentPlugin<BrowserClient, BrowserConfig>;\n\n/**\n * Helper function to extract the css selector allowlist\n * from the frustration interactions options for a specific\n * autocapture feature.\n */\nfunction getCssSelectorAllowlist(\n options: FrustrationInteractionsOptions,\n attribute: keyof FrustrationInteractionsOptions,\n defaultAllowlist: string[],\n enabled: boolean,\n): string[] {\n if (!enabled) {\n return [];\n }\n const config = options[attribute];\n if (\n typeof config === 'object' &&\n config !== null &&\n 'cssSelectorAllowlist' in config &&\n Array.isArray(config.cssSelectorAllowlist)\n ) {\n return config.cssSelectorAllowlist;\n }\n return defaultAllowlist;\n}\n\nconst MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES = 5;\nconst MAXIMUM_THRASHED_CURSOR_THRESHOLD = 4000;\n\nexport const frustrationPlugin = (options: FrustrationInteractionsOptions = {}): BrowserEnrichmentPlugin => {\n const name = constants.FRUSTRATION_PLUGIN_NAME;\n const type = 'enrichment';\n\n const subscriptions: Unsubscribable[] = [];\n\n let isErrorClicksEnabled = options.errorClicks !== false;\n\n // if errorClicks is not defined, disable it\n // change this once it moves out of @experimental\n if (!options.errorClicks) {\n isErrorClicksEnabled = false;\n }\n\n // Check if each feature is enabled\n const deadClicksEnabled = options.deadClicks !== false && options.deadClicks !== null;\n const rageClicksEnabled = options.rageClicks !== false && options.rageClicks !== null;\n\n let thrashedCursorEnabled = options.thrashedCursor !== false && options.thrashedCursor !== null;\n if (!options.thrashedCursor) {\n thrashedCursorEnabled = false;\n }\n\n // Get CSS selectors for enabled features\n const rageCssSelectors = getCssSelectorAllowlist(\n options,\n 'rageClicks',\n DEFAULT_RAGE_CLICK_ALLOWLIST,\n rageClicksEnabled,\n );\n\n const deadCssSelectors = getCssSelectorAllowlist(\n options,\n 'deadClicks',\n DEFAULT_DEAD_CLICK_ALLOWLIST,\n deadClicksEnabled,\n );\n\n const errorCssSelectors = getCssSelectorAllowlist(\n options,\n 'errorClicks',\n DEFAULT_ERROR_CLICK_ALLOWLIST,\n isErrorClicksEnabled,\n );\n\n const dataAttributePrefix = options.dataAttributePrefix ?? DEFAULT_DATA_ATTRIBUTE_PREFIX;\n\n const dataExtractor = new DataExtractor(options);\n\n // combine the selector lists from enabled features to determine which clicked elements should be filtered\n const combinedCssSelectors = [...new Set([...rageCssSelectors, ...deadCssSelectors, ...errorCssSelectors])];\n\n // Create observables on events on the window\n const createObservables = (): AllWindowObservables => {\n const clickObservable = multicast(\n createClickObservable('pointerdown').map((click) => {\n return dataExtractor.addAdditionalEventProperties(\n click,\n 'click',\n combinedCssSelectors,\n dataAttributePrefix,\n true, // capture when cursor is pointer\n );\n }),\n );\n\n const browserErrorObservables = multicast(\n createErrorObservable().map((error) => {\n return dataExtractor.addTypeAndTimestamp(error, 'error');\n }),\n );\n\n const enrichedMutationObservable = multicast<TimestampedEvent<MutationRecord[]>>(\n createMutationObservable().map((mutation) =>\n dataExtractor.addAdditionalEventProperties(mutation, 'mutation', combinedCssSelectors, dataAttributePrefix),\n ),\n );\n\n let enrichedNavigateObservable: Observable<TimestampedEvent<NavigateEvent>> | undefined;\n\n if (window.navigation) {\n const navigateObservable = new Observable<Event>((observer) => {\n const handler = (event: Event): void => {\n observer.next({\n ...event,\n type: 'navigate',\n });\n };\n window.navigation.addEventListener('navigate', handler);\n return () => {\n window.navigation.removeEventListener('navigate', handler);\n };\n });\n enrichedNavigateObservable = multicast<TimestampedEvent<NavigateEvent>>(\n navigateObservable.map<TimestampedEvent<NavigateEvent>>(\n (navigate) =>\n dataExtractor.addAdditionalEventProperties(\n navigate,\n 'navigate',\n combinedCssSelectors,\n dataAttributePrefix,\n ) as TimestampedEvent<NavigateEvent>,\n ),\n );\n }\n\n const selectionObservable = multicast(\n new Observable<void>((observer) => {\n const handler = () => {\n const el: HTMLElement | null = document.activeElement as HTMLElement;\n\n // handle input and textarea\n\n // if the selectionStart and selectionEnd are the same, it means\n // nothing is selected (collapsed) and the cursor position is one point\n if (el && (el.tagName === 'TEXTAREA' || el.tagName === 'INPUT')) {\n let start: number | null | undefined;\n let end: number | null | undefined;\n try {\n start = (el as HTMLInputElement | HTMLTextAreaElement).selectionStart;\n end = (el as HTMLInputElement | HTMLTextAreaElement).selectionEnd;\n if (start === end) return; // collapsed\n } catch (error) {\n // input that doesn't support selectionStart/selectionEnd (like checkbox)\n // do nothing here\n return;\n }\n return observer.next();\n }\n\n // handle non-input elements\n\n // non-input elements have an attribute called \"isCollapsed\" which\n // if true, indicates there \"is currently not any text selected\"\n // (see https://developer.mozilla.org/en-US/docs/Web/API/Selection/isCollapsed)\n const selection = window.getSelection();\n if (!selection || selection.isCollapsed) return;\n return observer.next();\n };\n window.document.addEventListener('selectionchange', handler);\n return () => {\n window.document.removeEventListener('selectionchange', handler);\n };\n }),\n );\n\n const mouseMoveObservable = multicast(createMouseMoveObservable());\n\n return {\n [ObservablesEnum.ClickObservable]: clickObservable as Observable<ElementBasedTimestampedEvent<MouseEvent>>,\n [ObservablesEnum.MutationObservable]: enrichedMutationObservable,\n [ObservablesEnum.NavigateObservable]: enrichedNavigateObservable,\n [ObservablesEnum.BrowserErrorObservable]: browserErrorObservables,\n [ObservablesEnum.SelectionObservable]: selectionObservable,\n [ObservablesEnum.MouseMoveObservable]: mouseMoveObservable,\n };\n };\n\n const setup: BrowserEnrichmentPlugin['setup'] = async (config, amplitude) => {\n /* istanbul ignore if */\n if (typeof document === 'undefined') {\n return;\n }\n\n // Create observables for events on the window\n const allObservables = createObservables();\n\n // Create subscriptions only for enabled features\n if (rageClicksEnabled) {\n const shouldTrackRageClick = createShouldTrackEvent(options, rageCssSelectors);\n const rageClickSubscription = trackRageClicks({\n allObservables,\n amplitude,\n shouldTrackRageClick,\n });\n subscriptions.push(rageClickSubscription);\n }\n\n if (deadClicksEnabled) {\n const shouldTrackDeadClick = createShouldTrackEvent(options, deadCssSelectors);\n const deadClickSubscription = trackDeadClick({\n amplitude,\n allObservables,\n getEventProperties: (actionType, element) =>\n dataExtractor.getEventProperties(actionType, element, dataAttributePrefix),\n shouldTrackDeadClick,\n });\n subscriptions.push(deadClickSubscription);\n }\n\n if (isErrorClicksEnabled) {\n const shouldTrackErrorClick = createShouldTrackEvent(options, errorCssSelectors);\n const errorClickSubscription = trackErrorClicks({\n amplitude,\n allObservables,\n shouldTrackErrorClick,\n });\n subscriptions.push(errorClickSubscription);\n }\n\n if (thrashedCursorEnabled) {\n let directionChanges, thresholdMs;\n if (typeof options.thrashedCursor === 'object') {\n directionChanges = options.thrashedCursor.directionChanges;\n thresholdMs = options.thrashedCursor.threshold;\n\n if (directionChanges && directionChanges < MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES) {\n config.loggerProvider.warn(\n `'thrashedCursor.directionChanges' of ${directionChanges} is below the minimum of ${MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES}, setting to ${MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES}`,\n );\n directionChanges = MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES;\n }\n if (thresholdMs && thresholdMs > MAXIMUM_THRASHED_CURSOR_THRESHOLD) {\n config.loggerProvider.warn(\n `'thrashedCursor.threshold' of ${thresholdMs} is above the maximum of ${MAXIMUM_THRASHED_CURSOR_THRESHOLD}, setting to ${MAXIMUM_THRASHED_CURSOR_THRESHOLD}`,\n );\n thresholdMs = MAXIMUM_THRASHED_CURSOR_THRESHOLD;\n }\n }\n const thrashedCursorSubscription = trackThrashedCursor({\n amplitude,\n options,\n allObservables,\n directionChanges,\n thresholdMs,\n });\n subscriptions.push(thrashedCursorSubscription);\n }\n\n /* istanbul ignore next */\n config?.loggerProvider?.log(`${name} has been successfully added.`);\n };\n\n const execute: BrowserEnrichmentPlugin['execute'] = async (event) => {\n return event;\n };\n\n const teardown = async () => {\n for (const subscription of subscriptions) {\n subscription.unsubscribe();\n }\n };\n\n return {\n name,\n type,\n setup,\n execute,\n teardown,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"frustration-plugin.js","sourceRoot":"","sources":["../../src/frustration-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-restricted-globals */\nimport {\n BrowserClient,\n BrowserConfig,\n EnrichmentPlugin,\n FrustrationInteractionsOptions,\n DEFAULT_DATA_ATTRIBUTE_PREFIX,\n multicast,\n Observable,\n Unsubscribable,\n DEFAULT_RAGE_CLICK_ALLOWLIST,\n DEFAULT_DEAD_CLICK_ALLOWLIST,\n DEFAULT_ERROR_CLICK_ALLOWLIST,\n} from '@amplitude/analytics-core';\nimport * as constants from './constants';\nimport { createShouldTrackEvent, ElementBasedTimestampedEvent, NavigateEvent, TimestampedEvent } from './helpers';\nimport { trackDeadClick } from './autocapture/track-dead-click';\nimport { trackRageClicks } from './autocapture/track-rage-click';\nimport { ObservablesEnum } from './autocapture-plugin';\nimport {\n BrowserErrorEvent,\n createClickObservable,\n createErrorObservable,\n createMutationObservable,\n createMouseMoveObservable,\n} from './observables';\nimport { DataExtractor } from './data-extractor';\nimport { subscribeToElementSelectorConfig } from './element-selector-config';\nimport { trackErrorClicks } from './autocapture/track-error-click';\nimport { trackThrashedCursor } from './autocapture/track-thrashed-cursor';\n\nexport interface AllWindowObservables {\n [ObservablesEnum.ClickObservable]: Observable<ElementBasedTimestampedEvent<MouseEvent>>;\n [ObservablesEnum.MutationObservable]: Observable<TimestampedEvent<MutationRecord[]>>;\n [ObservablesEnum.BrowserErrorObservable]: Observable<TimestampedEvent<BrowserErrorEvent>>;\n [ObservablesEnum.NavigateObservable]?: Observable<TimestampedEvent<NavigateEvent>>;\n [ObservablesEnum.SelectionObservable]?: Observable<void>;\n [ObservablesEnum.MouseMoveObservable]: Observable<MouseEvent>;\n}\n\ntype BrowserEnrichmentPlugin = EnrichmentPlugin<BrowserClient, BrowserConfig>;\n\n/**\n * Helper function to extract the css selector allowlist\n * from the frustration interactions options for a specific\n * autocapture feature.\n */\nfunction getCssSelectorAllowlist(\n options: FrustrationInteractionsOptions,\n attribute: keyof FrustrationInteractionsOptions,\n defaultAllowlist: string[],\n enabled: boolean,\n): string[] {\n if (!enabled) {\n return [];\n }\n const config = options[attribute];\n if (\n typeof config === 'object' &&\n config !== null &&\n 'cssSelectorAllowlist' in config &&\n Array.isArray(config.cssSelectorAllowlist)\n ) {\n return config.cssSelectorAllowlist;\n }\n return defaultAllowlist;\n}\n\nconst MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES = 5;\nconst MAXIMUM_THRASHED_CURSOR_THRESHOLD = 4000;\n\nexport const frustrationPlugin = (options: FrustrationInteractionsOptions = {}): BrowserEnrichmentPlugin => {\n const name = constants.FRUSTRATION_PLUGIN_NAME;\n const type = 'enrichment';\n\n const subscriptions: Unsubscribable[] = [];\n\n let isErrorClicksEnabled = options.errorClicks !== false;\n\n // if errorClicks is not defined, disable it\n // change this once it moves out of @experimental\n if (!options.errorClicks) {\n isErrorClicksEnabled = false;\n }\n\n // Check if each feature is enabled\n const deadClicksEnabled = options.deadClicks !== false && options.deadClicks !== null;\n const rageClicksEnabled = options.rageClicks !== false && options.rageClicks !== null;\n\n let thrashedCursorEnabled = options.thrashedCursor !== false && options.thrashedCursor !== null;\n if (!options.thrashedCursor) {\n thrashedCursorEnabled = false;\n }\n\n // Get CSS selectors for enabled features\n const rageCssSelectors = getCssSelectorAllowlist(\n options,\n 'rageClicks',\n DEFAULT_RAGE_CLICK_ALLOWLIST,\n rageClicksEnabled,\n );\n\n const deadCssSelectors = getCssSelectorAllowlist(\n options,\n 'deadClicks',\n DEFAULT_DEAD_CLICK_ALLOWLIST,\n deadClicksEnabled,\n );\n\n const errorCssSelectors = getCssSelectorAllowlist(\n options,\n 'errorClicks',\n DEFAULT_ERROR_CLICK_ALLOWLIST,\n isErrorClicksEnabled,\n );\n\n const dataAttributePrefix = options.dataAttributePrefix ?? DEFAULT_DATA_ATTRIBUTE_PREFIX;\n\n const dataExtractor = new DataExtractor(options);\n\n // combine the selector lists from enabled features to determine which clicked elements should be filtered\n const combinedCssSelectors = [...new Set([...rageCssSelectors, ...deadCssSelectors, ...errorCssSelectors])];\n\n // Create observables on events on the window\n const createObservables = (): AllWindowObservables => {\n const clickObservable = multicast(\n createClickObservable('pointerdown').map((click) => {\n return dataExtractor.addAdditionalEventProperties(\n click,\n 'click',\n combinedCssSelectors,\n dataAttributePrefix,\n true, // capture when cursor is pointer\n );\n }),\n );\n\n const browserErrorObservables = multicast(\n createErrorObservable().map((error) => {\n return dataExtractor.addTypeAndTimestamp(error, 'error');\n }),\n );\n\n const enrichedMutationObservable = multicast<TimestampedEvent<MutationRecord[]>>(\n createMutationObservable().map((mutation) =>\n dataExtractor.addAdditionalEventProperties(mutation, 'mutation', combinedCssSelectors, dataAttributePrefix),\n ),\n );\n\n let enrichedNavigateObservable: Observable<TimestampedEvent<NavigateEvent>> | undefined;\n\n if (window.navigation) {\n const navigateObservable = new Observable<Event>((observer) => {\n const handler = (event: Event): void => {\n observer.next({\n ...event,\n type: 'navigate',\n });\n };\n window.navigation.addEventListener('navigate', handler);\n return () => {\n window.navigation.removeEventListener('navigate', handler);\n };\n });\n enrichedNavigateObservable = multicast<TimestampedEvent<NavigateEvent>>(\n navigateObservable.map<TimestampedEvent<NavigateEvent>>(\n (navigate) =>\n dataExtractor.addAdditionalEventProperties(\n navigate,\n 'navigate',\n combinedCssSelectors,\n dataAttributePrefix,\n ) as TimestampedEvent<NavigateEvent>,\n ),\n );\n }\n\n const selectionObservable = multicast(\n new Observable<void>((observer) => {\n const handler = () => {\n const el: HTMLElement | null = document.activeElement as HTMLElement;\n\n // handle input and textarea\n\n // if the selectionStart and selectionEnd are the same, it means\n // nothing is selected (collapsed) and the cursor position is one point\n if (el && (el.tagName === 'TEXTAREA' || el.tagName === 'INPUT')) {\n let start: number | null | undefined;\n let end: number | null | undefined;\n try {\n start = (el as HTMLInputElement | HTMLTextAreaElement).selectionStart;\n end = (el as HTMLInputElement | HTMLTextAreaElement).selectionEnd;\n if (start === end) return; // collapsed\n } catch (error) {\n // input that doesn't support selectionStart/selectionEnd (like checkbox)\n // do nothing here\n return;\n }\n return observer.next();\n }\n\n // handle non-input elements\n\n // non-input elements have an attribute called \"isCollapsed\" which\n // if true, indicates there \"is currently not any text selected\"\n // (see https://developer.mozilla.org/en-US/docs/Web/API/Selection/isCollapsed)\n const selection = window.getSelection();\n if (!selection || selection.isCollapsed) return;\n return observer.next();\n };\n window.document.addEventListener('selectionchange', handler);\n return () => {\n window.document.removeEventListener('selectionchange', handler);\n };\n }),\n );\n\n const mouseMoveObservable = multicast(createMouseMoveObservable());\n\n return {\n [ObservablesEnum.ClickObservable]: clickObservable as Observable<ElementBasedTimestampedEvent<MouseEvent>>,\n [ObservablesEnum.MutationObservable]: enrichedMutationObservable,\n [ObservablesEnum.NavigateObservable]: enrichedNavigateObservable,\n [ObservablesEnum.BrowserErrorObservable]: browserErrorObservables,\n [ObservablesEnum.SelectionObservable]: selectionObservable,\n [ObservablesEnum.MouseMoveObservable]: mouseMoveObservable,\n };\n };\n\n const setup: BrowserEnrichmentPlugin['setup'] = async (config, amplitude) => {\n /* istanbul ignore if */\n if (typeof document === 'undefined') {\n return;\n }\n\n // Create observables for events on the window\n const allObservables = createObservables();\n\n // Keep the data extractor's selector engine in sync with element-selector\n // remote config so frustration events emit the same selectors as the rest\n // of autocapture when an org enables the engine.\n const elementSelectorConfigCleanup = subscribeToElementSelectorConfig(config, dataExtractor);\n if (elementSelectorConfigCleanup) {\n subscriptions.push({ unsubscribe: elementSelectorConfigCleanup });\n }\n\n // Create subscriptions only for enabled features\n if (rageClicksEnabled) {\n const shouldTrackRageClick = createShouldTrackEvent(options, rageCssSelectors);\n const rageClickSubscription = trackRageClicks({\n allObservables,\n amplitude,\n shouldTrackRageClick,\n });\n subscriptions.push(rageClickSubscription);\n }\n\n if (deadClicksEnabled) {\n const shouldTrackDeadClick = createShouldTrackEvent(options, deadCssSelectors);\n const deadClickSubscription = trackDeadClick({\n amplitude,\n allObservables,\n getEventProperties: (actionType, element) =>\n dataExtractor.getEventProperties(actionType, element, dataAttributePrefix),\n shouldTrackDeadClick,\n });\n subscriptions.push(deadClickSubscription);\n }\n\n if (isErrorClicksEnabled) {\n const shouldTrackErrorClick = createShouldTrackEvent(options, errorCssSelectors);\n const errorClickSubscription = trackErrorClicks({\n amplitude,\n allObservables,\n shouldTrackErrorClick,\n });\n subscriptions.push(errorClickSubscription);\n }\n\n if (thrashedCursorEnabled) {\n let directionChanges, thresholdMs;\n if (typeof options.thrashedCursor === 'object') {\n directionChanges = options.thrashedCursor.directionChanges;\n thresholdMs = options.thrashedCursor.threshold;\n\n if (directionChanges && directionChanges < MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES) {\n config.loggerProvider.warn(\n `'thrashedCursor.directionChanges' of ${directionChanges} is below the minimum of ${MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES}, setting to ${MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES}`,\n );\n directionChanges = MINIMUM_THRASHED_CURSOR_DIRECTION_CHANGES;\n }\n if (thresholdMs && thresholdMs > MAXIMUM_THRASHED_CURSOR_THRESHOLD) {\n config.loggerProvider.warn(\n `'thrashedCursor.threshold' of ${thresholdMs} is above the maximum of ${MAXIMUM_THRASHED_CURSOR_THRESHOLD}, setting to ${MAXIMUM_THRASHED_CURSOR_THRESHOLD}`,\n );\n thresholdMs = MAXIMUM_THRASHED_CURSOR_THRESHOLD;\n }\n }\n const thrashedCursorSubscription = trackThrashedCursor({\n amplitude,\n options,\n allObservables,\n directionChanges,\n thresholdMs,\n });\n subscriptions.push(thrashedCursorSubscription);\n }\n\n /* istanbul ignore next */\n config?.loggerProvider?.log(`${name} has been successfully added.`);\n };\n\n const execute: BrowserEnrichmentPlugin['execute'] = async (event) => {\n return event;\n };\n\n const teardown = async () => {\n for (const subscription of subscriptions) {\n subscription.unsubscribe();\n }\n };\n\n return {\n name,\n type,\n setup,\n execute,\n teardown,\n };\n};\n"]}
|
package/lib/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "1.
|
|
1
|
+
export declare const VERSION = "1.28.0-element-path-v1.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/lib/esm/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,6BAA6B,CAAC"}
|
package/lib/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var VERSION = '1.
|
|
1
|
+
export var VERSION = '1.28.0-element-path-v1.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/lib/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,0BAA0B,CAAC","sourcesContent":["export const VERSION = '1.28.0-element-path-v1.0';\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var amplitudeAutocapturePlugin=function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function n(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function l(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,l)}u((r=r.apply(e,t||[])).next())})}function r(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function i(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function o(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function a(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var l=function(){var e="ampIntegrationContext";return"undefined"!=typeof globalThis&&void 0!==globalThis[e]?globalThis[e]:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0},u=function(e,t){return!t||!t.length||t.some(function(t){return"string"==typeof t?e===t:e.match(t)})},c=function(e,t){var n=e;try{n=decodeURI(e)}catch(e){null==t||t.error("Malformed URI sequence: ",e)}return n},s=l(),d=null==s?void 0:s.console,v={},f={},p=!1;var h={addListener:function(e,t){var n,r=(n=e,!!d&&"function"==typeof d[n]&&(f[n]||(f[n]=d[n],d[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{if(v[n]&&!p){p=!0;var r=v[n];r&&r.forEach(function(t){try{t(n,e)}catch(e){}})}}catch(e){}return p=!1,f[n].apply(d,e)}),!0));if(!r)return new Error("Console override failed");v[e]?v[e].push(t):v[e]=[t]},removeListener:function(e){var t,n;try{for(var r=i(Object.values(v)),o=r.next();!o.done;o=r.next())for(var a=o.value,l=a.length-1;l>=0;l--)if(a[l]===e){a.splice(l,1);break}}catch(e){t={error:e}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}},_restoreConsole:function(){var e,t;try{for(var n=i(Object.entries(f)),r=n.next();!r.done;r=n.next()){var a=o(r.value,2),l=a[0],u=a[1];u&&(d[l]=u)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}f={},v={}}},m=["a","button","input","select","textarea","label","video","audio",'[contenteditable="true" i]',"[data-amp-default-track]",".amp-default-track"],g="data-amp-track-",b=["div","span","h1","h2","h3","h4","h5","h6"],y=a(['input[type="button"]','input[type="submit"]','input[type="reset"]','input[type="image"]','input[type="file"]'],o(["a","button",'[role="button"]','[role="link"]','[role="menuitem"]','[role="menuitemcheckbox"]','[role="menuitemradio"]','[role="option"]','[role="tab"]','[role="treeitem"]','[contenteditable="true" i]']),!1),w=y,E=y,T=["*"],x="data-amp-mask",k="*****",A=/\b(?:\d[ -]*?){13,16}\b/,S=/(\d{3}-?\d{2}-?\d{4})/g,O=/[^\s@]+@[^\s@.]+\.[^\s@]+/g,C={};Object.defineProperty(C,"__esModule",{value:!0}),C.Observable=void 0;const M=e=>Boolean(Symbol[e]),P=e=>M(e)?Symbol[e]:"@@"+e,_=P("iterator"),L=P("observable"),N=P("species");function D(e,t){let n=e[t];if(null!=n){if("function"!=typeof n)throw new TypeError(n+" is not a function");return n}}function I(e){let t=e.constructor;return void 0!==t&&(t=t[N],null===t&&(t=void 0)),void 0!==t?t:Y}function R(e){R.log?R.log(e):setTimeout(()=>{throw e})}function B(e){Promise.resolve().then(()=>{try{e()}catch(e){R(e)}})}function j(e){let t=e._cleanup;if(void 0!==t&&(e._cleanup=void 0,t))try{if("function"==typeof t)t();else{let e=D(t,"unsubscribe");e&&e.call(t)}}catch(e){R(e)}}function H(e){e._observer=void 0,e._queue=void 0,e._state="closed"}function U(e,t,n){e._state="running";let r=e._observer;try{let i=D(r,t);switch(t){case"next":i&&i.call(r,n);break;case"error":if(H(e),!i)throw n;i.call(r,n);break;case"complete":H(e),i&&i.call(r)}}catch(e){R(e)}"closed"===e._state?j(e):"running"===e._state&&(e._state="ready")}function q(e,t,n){if("closed"!==e._state){if("buffering"!==e._state)return"ready"!==e._state?(e._state="buffering",e._queue=[{type:t,value:n}],void B(()=>function(e){let t=e._queue;if(t){e._queue=void 0,e._state="ready";for(let n=0;n<t.length&&(U(e,t[n].type,t[n].value),"closed"!==e._state);++n);}}(e))):void U(e,t,n);e._queue.push({type:t,value:n})}}class X{constructor(e,t){this._cleanup=void 0,this._observer=e,this._queue=void 0,this._state="initializing";let n=this,r={get closed(){return"closed"===n._state},next(e){q(n,"next",e)},error(e){q(n,"error",e)},complete(){q(n,"complete")}};try{this._cleanup=t.call(void 0,r)}catch(e){r.error(e)}"initializing"===this._state&&(this._state="ready")}get closed(){return"closed"===this._state}unsubscribe(){"closed"!==this._state&&(H(this),j(this))}}class Y{constructor(e){if(!(this instanceof Y))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}subscribe(e){return"object"==typeof e&&null!==e||(e={next:e,error:arguments[1],complete:arguments[2]}),new X(e,this._subscriber)}forEach(e){return new Promise((t,n)=>{if("function"!=typeof e)return void n(new TypeError(e+" is not a function"));function r(){i.unsubscribe(),t()}let i=this.subscribe({next(t){try{e(t,r)}catch(e){n(e),i.unsubscribe()}},error:n,complete:t})})}map(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(I(this))(t=>this.subscribe({next(n){try{n=e(n)}catch(e){return t.error(e)}t.next(n)},error(e){t.error(e)},complete(){t.complete()}}))}filter(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(I(this))(t=>this.subscribe({next(n){try{if(!e(n))return}catch(e){return t.error(e)}t.next(n)},error(e){t.error(e)},complete(){t.complete()}}))}reduce(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=I(this),n=arguments.length>1,r=!1,i=arguments[1];return new t(t=>this.subscribe({next(o){let a=!r;if(r=!0,!a||n)try{i=e(i,o)}catch(e){return t.error(e)}else i=o},error(e){t.error(e)},complete(){if(!r&&!n)return t.error(new TypeError("Cannot reduce an empty sequence"));t.next(i),t.complete()}}))}async all(){let e=[];return await this.forEach(t=>e.push(t)),e}concat(...e){let t=I(this);return new t(n=>{let r,i=0;return function o(a){r=a.subscribe({next(e){n.next(e)},error(e){n.error(e)},complete(){i===e.length?(r=void 0,n.complete()):o(t.from(e[i++]))}})}(this),()=>{r&&(r.unsubscribe(),r=void 0)}})}flatMap(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=I(this);return new t(n=>{let r=[],i=this.subscribe({next(i){if(e)try{i=e(i)}catch(e){return n.error(e)}let a=t.from(i).subscribe({next(e){n.next(e)},error(e){n.error(e)},complete(){let e=r.indexOf(a);e>=0&&r.splice(e,1),o()}});r.push(a)},error(e){n.error(e)},complete(){o()}});function o(){i.closed&&0===r.length&&n.complete()}return()=>{r.forEach(e=>e.unsubscribe()),i.unsubscribe()}})}[L](){return this}static from(e){let t="function"==typeof this?this:Y;if(null==e)throw new TypeError(e+" is not an object");let n=D(e,L);if(n){let r=n.call(e);if(Object(r)!==r)throw new TypeError(r+" is not an object");return function(e){return e instanceof Y}(r)&&r.constructor===t?r:new t(e=>r.subscribe(e))}if(M("iterator")&&(n=D(e,_),n))return new t(t=>{B(()=>{if(!t.closed){for(let r of n.call(e))if(t.next(r),t.closed)return;t.complete()}})});if(Array.isArray(e))return new t(t=>{B(()=>{if(!t.closed){for(let n=0;n<e.length;++n)if(t.next(e[n]),t.closed)return;t.complete()}})});throw new TypeError(e+" is not observable")}static of(...e){return new("function"==typeof this?this:Y)(t=>{B(()=>{if(!t.closed){for(let n=0;n<e.length;++n)if(t.next(e[n]),t.closed)return;t.complete()}})})}static get[N](){return this}}C.Observable=Y,Object.defineProperty(Y,Symbol("extensions"),{value:{symbol:L,hostReportError:R},configurable:!0});var G=C.Observable;function z(e,t){return new G(function(n){e.subscribe({next:function(e){t(e).then(function(e){return n.next(e)}).catch(function(e){return n.error(e)})},error:function(e){n.error(e)},complete:function(){n.complete()}})})}function F(e,t){return new G(function(n){var r=!1,o=new Set,a=function(){var e,t;r=!0;try{for(var n=i(o),a=n.next();!a.done;a=n.next()){var l=a.value;try{l.unsubscribe()}catch(e){}}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}o.clear()},l=function(e){var t=e.subscribe({next:function(e){r||n.next(e)},error:function(e){r||(r=!0,n.error(e),a())},complete:function(){o.delete(t),r||0!==o.size||(n.complete(),a(),r=!0)}});o.add(t)};return l(e),l(t),a})}function V(e){var t=new Set,n=null;function r(){null==n||n.unsubscribe(),n=null,t.clear()}return new G(function(o){return t.add(o),null===n&&(n=e.subscribe({next:function(e){var n,r,o;try{for(var a=i(t),l=a.next();!l.done;l=a.next()){var u=l.value;null===(o=u.next)||void 0===o||o.call(u,e)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}},error:function(e){var n,o,a;try{for(var l=i(t),u=l.next();!u.done;u=l.next()){var c=u.value;null===(a=c.error)||void 0===a||a.call(c,e)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}r()},complete:function(){var e,n,o;try{for(var a=i(t),l=a.next();!l.done;l=a.next()){var u=l.value;null===(o=u.complete)||void 0===o||o.call(u)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}r()}})),function(){t.delete(o),0===t.size&&n&&(n.unsubscribe(),n=null)}})}var W,J="https://app.amplitude.com",K={US:J,EU:"https://app.eu.amplitude.com",STAGING:"https://apps.stag2.amplitude.com"};var Z="__AMPLITUDE_MESSENGER_INSTANCE__",$="__AMPLITUDE_MESSENGER__",Q=function(){function e(e){var t=(void 0===e?{}:e).origin,n=void 0===t?J:t;this[W]=!0,this.isSetup=!1,this.messageHandler=null,this.requestCallbacks={},this.actionHandlers=new Map,this.pendingMessages=new Map,this.scriptLoadPromises=new Map,this.endpoint=n}return e.prototype.notify=function(e){var t,n,r,i;null===(n=null===(t=this.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Message sent: ",JSON.stringify(e)),null===(i=null===(r=window.opener)||void 0===r?void 0:r.postMessage)||void 0===i||i.call(r,e,this.endpoint)},e.prototype.sendRequest=function(e,t,n){var r=this;void 0===n&&(n={timeout:15e3});var i="".concat(Date.now(),"-").concat(Math.random().toString(36).substr(2,9)),o={id:i,action:e,args:t};return new Promise(function(t,a){r.requestCallbacks[i]={resolve:t,reject:a},r.notify(o),n.timeout>0&&setTimeout(function(){a(new Error("".concat(e," timed out (id: ").concat(i,")"))),delete r.requestCallbacks[i]},n.timeout)})},e.prototype.handleResponse=function(e){var t;this.requestCallbacks[e.id]?(this.requestCallbacks[e.id].resolve(e.responseData),delete this.requestCallbacks[e.id]):null===(t=this.logger)||void 0===t||t.warn("No callback found for request id: ".concat(e.id))},e.prototype.registerActionHandler=function(e,t){var n,r,o,a;this.actionHandlers.has(e)&&(null===(a=null===(o=this.logger)||void 0===o?void 0:o.warn)||void 0===a||a.call(o,"Overwriting existing action handler for: ".concat(e))),this.actionHandlers.set(e,t);var l=this.pendingMessages.get(e);if(l){this.pendingMessages.delete(e);try{for(var u=i(l),c=u.next();!c.done;c=u.next()){t(c.value)}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}},e.prototype.loadScriptOnce=function(e){return n(this,void 0,void 0,function(){var t,n,i;return r(this,function(r){switch(r.label){case 0:if(t=this.scriptLoadPromises.get(e))return[2,t];n=function(e){return document.querySelector('script[src="'.concat(CSS.escape(e),'"]'))?Promise.resolve({status:!0}):new Promise(function(t,n){var r;try{var i=document.createElement("script");i.type="text/javascript",i.async=!0,i.src=e,i.addEventListener("load",function(){t({status:!0})},{once:!0}),i.addEventListener("error",function(){n({status:!1,message:"Failed to load the script ".concat(e)})}),null===(r=document.head)||void 0===r||r.appendChild(i)}catch(e){n(e)}})}(e).then(function(){}),this.scriptLoadPromises.set(e,n),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,n];case 2:return r.sent(),[3,4];case 3:throw i=r.sent(),this.scriptLoadPromises.delete(e),i;case 4:return[2]}})})},e.prototype.setup=function(e){var t,n,r=this,i=void 0===e?{}:e,o=i.logger,a=i.endpoint;o&&(this.logger=o),a&&this.endpoint===J&&(this.endpoint=a),this.isSetup||(this.isSetup=!0,null===(n=null===(t=this.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Setting up messenger"),this.messageHandler=function(e){var t,n,i,o,a;if(null===(n=null===(t=r.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Message received: ",JSON.stringify(e)),r.endpoint===e.origin){var l=e.data,u=null==l?void 0:l.action;if(u)if("id"in l&&l.id)null===(o=null===(i=r.logger)||void 0===i?void 0:i.debug)||void 0===o||o.call(i,"Received Response to previous request: ",JSON.stringify(e)),r.handleResponse(l);else{if("ping"===u)return void r.notify({action:"pong"});var c=r.actionHandlers.get(u);if(c)c(l.data);else{var s=null!==(a=r.pendingMessages.get(u))&&void 0!==a?a:[];s.push(l.data),r.pendingMessages.set(u,s)}}}},window.addEventListener("message",this.messageHandler),this.notify({action:"page-loaded"}))},e.prototype.destroy=function(){this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.isSetup=!1,this.actionHandlers.clear(),this.pendingMessages.clear(),this.requestCallbacks={},this.scriptLoadPromises.clear();var e=l();(null==e?void 0:e[$])===this&&delete e[$]},e}();function ee(e){var t,n=l(),r=null==n?void 0:n[$];if("object"==typeof(t=r)&&null!==t&&Z in t&&!0===t[Z])return r;var i=new Q(e);return n&&(n[$]=i),i}W=Z;var te="__AMPLITUDE_BACKGROUND_CAPTURE__";var ne,re="1.27.4",ie="[Amplitude] Element Clicked",oe="[Amplitude] Element Tag",ae="[Amplitude] Element Text",le="[Amplitude] Page URL",ue="[Amplitude] Viewport Height",ce="[Amplitude] Viewport Width",se="[Amplitude] Page View ID",de="data-amp-mask-attributes",ve=["input","select","textarea"],fe=function(e){var t=e.pageUrlAllowlist,n=e.pageUrlExcludelist;return!(n&&n.length>0&&u(window.location.href,n))&&!!u(window.location.href,t)},pe=function(e,t){return function(n,r){var i,o,a=e.shouldTrackEventResolver,l=null===(o=null===(i=null==r?void 0:r.tagName)||void 0===i?void 0:i.toLowerCase)||void 0===o?void 0:o.call(i);if(!l)return!1;if(a)return a(n,r);if(!fe(e))return!1;var u=String(null==r?void 0:r.getAttribute("type"))||"";if("string"==typeof u)switch(u.toLowerCase()){case"hidden":case"password":return!1}if(t){var c=t.some(function(e){var t;return!!(null===(t=null==r?void 0:r.matches)||void 0===t?void 0:t.call(r,e))});if(!c)return!1}switch(l){case"input":case"select":case"textarea":return"change"===n||"click"===n;default:return"click"===n}}},he=function(e){return e?e.split(",").map(function(e){return e.trim()}).filter(function(e){return e.length>0&&"id"!==e&&"class"!==e}):[]},me=function(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return function(e){return null==e||"object"==typeof e&&0===Object.keys(e).length||"string"==typeof e&&0===e.trim().length}(r)||(t[n]=r),t},{})},ge=function(){var e;try{var t=l(),n=null===(e=null==t?void 0:t.sessionStorage)||void 0===e?void 0:e.getItem("AMP_PAGE_VIEW");if(!n)return;var r=JSON.parse(n);if("string"==typeof r.pageViewId)return r.pageViewId}catch(e){}},be=function(e,t){return e?t.some(function(t){var n;return null===(n=null==e?void 0:e.matches)||void 0===n?void 0:n.call(e,t)})?e:be(null==e?void 0:e.parentElement,t):null},ye=function(e){return!(null===e.event.target||!e.closestTrackedAncestor)};!function(e){e[e.LEFT_OR_TOUCH_CONTACT=0]="LEFT_OR_TOUCH_CONTACT",e[e.MIDDLE=1]="MIDDLE",e[e.RIGHT=2]="RIGHT"}(ne||(ne={}));var we="__AMPLITUDE_VISUAL_TAGGING__";function Ee(e,t){var n=e;if(!0!==n[we]){n[we]=!0;var r=t.dataExtractor,i=t.isElementSelectable,o=t.cssSelectorAllowlist,a=t.actionClickAllowlist,l=null,u=function(t){e.notify({action:"element-selected",data:t})},c=function(t,n){"selector-mode-changed"===t?e.notify({action:"track-selector-mode-changed",data:n}):"selector-moved"===t&&e.notify({action:"track-selector-moved",data:n})};e.registerActionHandler("initialize-visual-tagging-selector",function(t){e.loadScriptOnce("https://cdn.amplitude.com/libs/visual-tagging-selector-1.0.0-alpha.js.gz").then(function(){var n;l=null===(n=null===window||void 0===window?void 0:window.amplitudeVisualTaggingSelector)||void 0===n?void 0:n.call(window,{getEventTagProps:r.getEventTagProps,isElementSelectable:function(e){return!i||i((null==t?void 0:t.actionType)||"click",e)},onTrack:c,onSelect:u,visualHighlightClass:"amp-visual-tagging-selector-highlight",messenger:e,cssSelectorAllowlist:o,actionClickAllowlist:a,extractDataFromDataSource:r.extractDataFromDataSource,dataExtractor:r,diagnostics:{autocapture:{version:re}}}),e.notify({action:"selector-loaded"})}).catch(function(){var t;null===(t=e.logger)||void 0===t||t.warn("Failed to initialize visual tagging selector")})}),e.registerActionHandler("close-visual-tagging-selector",function(){var e;null===(e=null==l?void 0:l.close)||void 0===e||e.call(l)})}}var Te=l(),xe=function(){return new G(function(e){var t=new MutationObserver(function(t){e.next(t)});return document.body&&t.observe(document.body,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),function(){return t.disconnect()}})},ke=function(e){return void 0===e&&(e="click"),new G(function(t){var n,r=function(e){t.next(e)};return null===(n=l())||void 0===n||n.document.addEventListener(e,r,{capture:!0}),function(){var t;null===(t=l())||void 0===t||t.document.removeEventListener(e,r,{capture:!0})}})},Ae=function(){var e=F(new G(function(e){var n=function(n){if(n instanceof ErrorEvent){var r={kind:"error"};n.error instanceof Error||n.error instanceof DOMException?r=t(t({},r),{message:n.error.message,stack:n.error.stack,filename:n.filename,lineNumber:n.lineno,columnNumber:n.colno}):"string"==typeof n.error&&(r.message=n.error),e.next(r)}};return Te.addEventListener("error",n),function(){Te.removeEventListener("error",n)}}),new G(function(e){var t=function(t){var n={kind:"unhandledrejection"};t.reason instanceof Error||t.reason instanceof DOMException?(n.message=t.reason.message,n.stack=t.reason.stack):"string"==typeof t.reason&&(n.message=t.reason),e.next(n)};return Te.addEventListener("unhandledrejection",t),function(){Te.removeEventListener("unhandledrejection",t)}}));return F(e,new G(function(e){var t=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=void 0;Array.isArray(n[0])&&"string"==typeof n[0][0]&&(i=n[0][0]),e.next({kind:"console",message:i})};return h.addListener("error",t),function(){h.removeListener(t)}}))},Se=function(e,t,n){e.forEach(function(e){if("string"!=typeof e&&"ATTACH_EVENT_PROPERTY"===e.actionType){var r=n.extractDataFromDataSource(e.dataSource,t.closestTrackedAncestor);t.targetElementProperties[e.destinationKey]=r}})},Oe={"[Amplitude] Element Clicked":"click","[Amplitude] Element Changed":"change"},Ce=function(e){var t,n,r,o,a=Object.values(Oe).reduce(function(e,t){return e[t]=new Set,e},{});if(!e)return a;try{for(var l=i(e),u=l.next();!u.done;u=l.next()){var c=u.value;try{try{for(var s=(r=void 0,i(c.definition)),d=s.next();!d.done;d=s.next()){var v=d.value,f=Oe[v.event_type];f&&a[f].add(c.id)}}catch(e){r={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}}catch(e){console.warn("Skipping Labeled Event due to malformed definition",null==c?void 0:c.id,e)}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return a},Me=function(e){var t,n,r,o,a=new Map;try{for(var l=i(e),u=l.next();!u.done;u=l.next()){var c=u.value;try{for(var s=(r=void 0,i(c.conditions)),d=s.next();!d.done;d=s.next()){var v=d.value;if("LABELED_EVENT"===v.type){var f=v.match.eventId,p=a.get(f);p||(p=[],a.set(f,p)),p.push(c)}}}catch(e){r={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return a},Pe=function(e,t){return t.filter(function(t){return t.definition.some(function(t){return Oe[t.event_type]===e.type&&t.filters.every(function(t){return function(e,t){try{if("[Amplitude] Element Text"===t.subprop_key)return"is"===t.subprop_op&&t.subprop_value.includes(e.targetElementProperties["[Amplitude] Element Text"]);if("[Amplitude] Element Hierarchy"===t.subprop_key)return"autotrack css match"===t.subprop_op&&!!e.closestTrackedAncestor.closest(t.subprop_value.toString())}catch(e){return console.error("Error matching event to filter",e),!1}return!1}(e,t)})})})},_e=function(){function e(e,t,n,r){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=t,this.dataExtractor=n,this.options=r}return e.prototype.evaluate=function(e){var t,n,r=this.options.pageActions;if(!r)return e;var o=function(e,t){var n,r,o,a,l=new Set;try{for(var u=i(e),c=u.next();!c.done;c=u.next()){var s=c.value,d=t.get(s.id);if(d)try{for(var v=(o=void 0,i(d)),f=v.next();!f.done;f=v.next()){var p=f.value;l.add(p)}}catch(e){o={error:e}}finally{try{f&&!f.done&&(a=v.return)&&a.call(v)}finally{if(o)throw o.error}}}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return Array.from(l)}(Pe(e,Array.from(this.groupedLabeledEvents[e.type]).map(function(e){return r.labeledEvents[e]})),this.labeledEventToTriggerMap);try{for(var a=i(o),l=a.next();!l.done;l=a.next()){var u=l.value;Se(u.actions,e,this.dataExtractor)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return e},e.prototype.update=function(e,t,n){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=t,this.options=n},e}(),Le=new Set(["id","class","style","value","onclick","onchange","oninput","onblur","onsubmit","onfocus","onkeydown","onkeyup","onkeypress","data-reactid","data-react-checksum","data-reactroot",de,x]),Ne=["type"],De=["svg","path","g"],Ie=["password","hidden"];function Re(e,t){var n,r,o,a,l,u;if(null===e)return null;var c=String(e.tagName).toLowerCase(),s={tag:c},d=Array.from(null!==(a=null===(o=e.parentElement)||void 0===o?void 0:o.children)&&void 0!==a?a:[]);d.length&&(s.index=d.indexOf(e),s.indexOfType=d.filter(function(t){return t.tagName===e.tagName}).indexOf(e));var v=null===(u=null===(l=e.previousElementSibling)||void 0===l?void 0:l.tagName)||void 0===u?void 0:u.toLowerCase();v&&(s.prevSib=String(v));var f=e.getAttribute("id");f&&(s.id=String(f));var p=Array.from(e.classList);p.length&&(s.classes=p);var h={},m=Array.from(e.attributes).filter(function(e){return!Le.has(e.name)}),g=!function(e){var t,n,r,i=null===(n=null===(t=null==e?void 0:e.tagName)||void 0===t?void 0:t.toLowerCase)||void 0===n?void 0:n.call(t),o=e instanceof HTMLElement&&"true"===(null===(r=e.getAttribute("contenteditable"))||void 0===r?void 0:r.toLowerCase());return!ve.includes(i)&&!o}(e);if(!Ie.includes(String(e.getAttribute("type")))&&!De.includes(c))try{for(var b=i(m),y=b.next();!y.done;y=b.next()){var w=y.value;g&&!Ne.includes(w.name)||(t.has(w.name)?h[w.name]=k:h[w.name]=String(w.value).substring(0,128))}}catch(e){n={error:e}}finally{try{y&&!y.done&&(r=b.return)&&r.call(b)}finally{if(n)throw n.error}}return Object.keys(h).length&&(s.attrs=h),s}var Be,je=function(){function e(e,t){this.value=e,this.optimized=t}return e.prototype.toString=function(){return this.value},e}(),He=function(e,t,n){var r,o;if(e.nodeType!==Node.ELEMENT_NODE)return null;var a=e.getAttribute("id");if(t){if(a)return new je(d(a),!0);var l=e.tagName.toLowerCase();if("body"===l||"head"===l||"html"===l)return new je(l,!0)}var u=e.tagName.toLowerCase();if(a)return new je(u+d(a),!0);var c=e.parentNode;if(!c||c.nodeType===Node.DOCUMENT_NODE)return new je(u,!0);function s(e){var t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]}function d(e){return"#"+CSS.escape(e)}for(var v=s(e),f=!1,p=!1,h=-1,m=-1,g=c.children,b=0;g&&(-1===h||!p)&&b<g.length;++b){var y=g[b];if(y.nodeType===Node.ELEMENT_NODE)if(m+=1,y!==e){if(!p&&y.tagName.toLowerCase()===u){f=!0;var w=new Set(v);if(w.size)for(var E=s(y),T=0;T<E.length;++T){var x=E[T];if(w.has(x)&&(w.delete(x),!w.size)){p=!0;break}}else p=!0}}else h=m}var k=u;if(n&&"input"===u.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(k+="[type="+CSS.escape(e.getAttribute("type")||"")+"]"),p)k+=":nth-child("+String(h+1)+")";else if(f)try{for(var A=i(v),S=A.next();!S.done;S=A.next()){var O=S.value;k+="."+CSS.escape(O.slice(1))}}catch(e){r={error:e}}finally{try{S&&!S.done&&(o=A.return)&&o.call(A)}finally{if(r)throw r.error}}return new je(k,!1)},Ue=function(e,t){var n,r,l,u=this;this.replaceSensitiveString=function(e){return function(e,t){var n,r;if(void 0===t&&(t=[]),"string"!=typeof e)return"";var o=e;o=(o=(o=o.replace(A,k)).replace(S,k)).replace(O,k);try{for(var a=i(t),l=a.next();!l.done;l=a.next()){var u=l.value;try{o=o.replace(u,k)}catch(e){}}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return o}(e,u.additionalMaskTextPatterns)},this.getHierarchy=function(e){var t,n,r,l,c,s=performance.now();if(!e)return[];for(var d=function(e){var t=[];if(!e)return t;t.push(e);for(var n=e.parentElement;n&&"HTML"!==n.tagName;)t.push(n),n=n.parentElement;return t}(e),v=new Map,f=d.length-1;f>=0;f--){var p=d[f];if(p){var h=he(p.getAttribute(de)),m=f===d.length-1?[]:null!==(r=v.get(d[f+1]))&&void 0!==r?r:new Set,g=new Set(a(a([],o(m),!1),o(h),!1));v.set(p,g)}}c=d.map(function(e){var t;return Re(e,null!==(t=v.get(e))&&void 0!==t?t:new Set)});var b=function(e){(null==e?void 0:e.attrs)&&Object.entries(e.attrs).forEach(function(t){var n=o(t,2),r=n[0],i=n[1];e.attrs&&(e.attrs[r]=u.replaceSensitiveString(i))})};try{for(var y=i(c),w=y.next();!w.done;w=y.next())b(w.value)}catch(e){t={error:e}}finally{try{w&&!w.done&&(n=y.return)&&n.call(y)}finally{if(t)throw t.error}}var E=performance.now();return null===(l=u.diagnosticsClient)||void 0===l||l.recordHistogram("autocapturePlugin.getHierarchy",E-s),c},this.getNearestLabel=function(e){var t,n=e.parentElement;if(!n)return"";try{t=n.querySelector(":scope>span,h1,h2,h3,h4,h5,h6")}catch(e){t=null}return t?u.getText(t):u.getNearestLabel(n)},this.getElementPath=function(e){var t;if(!e)return"";var n=performance.now(),r=function(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return"";for(var n=[],r=e;r;){var i=He(r,Boolean(t),r===e);if(!i)break;if(n.push(i),i.optimized)break;r=r.parentElement}return n.reverse(),n.join(" > ")}(e),i=performance.now();return null===(t=u.diagnosticsClient)||void 0===t||t.recordHistogram("autocapturePlugin.getElementPath",i-n),r},this.getEventProperties=function(e,t,n){var r,i,a,l,s,d,v=null===(a=null===(i=null==t?void 0:t.tagName)||void 0===i?void 0:i.toLowerCase)||void 0===a?void 0:a.call(i),f="function"==typeof t.getBoundingClientRect?t.getBoundingClientRect():{left:null,top:null},p=u.getHierarchy(t),h=null===(l=p[0])||void 0===l?void 0:l.attrs,m=u.getNearestLabel(t),g=(s=null!=h?h:{},d=n,Object.entries(s).reduce(function(e,t){var n=o(t,2),r=n[0],i=n[1];if(r.startsWith(d)){var a=r.replace(d,"");a&&(e[a]=i||"")}return e},{})),b=((r={})["[Amplitude] Element Hierarchy"]=p,r[oe]=v,r[ae]=u.getText(t),r["[Amplitude] Element Position Left"]=null==f.left?null:Math.round(f.left),r["[Amplitude] Element Position Top"]=null==f.top?null:Math.round(f.top),r["[Amplitude] Element Attributes"]=g,r["[Amplitude] Element Path"]=u.getElementPath(t),r["[Amplitude] Element Parent Label"]=m,r[le]=c(window.location.href.split("?")[0]),r["[Amplitude] Page Title"]=function(e){if("undefined"==typeof document||!document.title)return"";var t=document.querySelector("title");return t&&t.hasAttribute(x)?k:e?e(document.title):document.title}(u.replaceSensitiveString),r[ue]=window.innerHeight,r[ce]=window.innerWidth,r),y=ge();if(y&&(b[se]=y),b["[Amplitude] Element ID"]=t.getAttribute("id")||"",b["[Amplitude] Element Class"]=t.getAttribute("class"),b["[Amplitude] Element Aria Label"]=null==h?void 0:h["aria-label"],"a"===v&&"click"===e&&t instanceof HTMLAnchorElement){var w=t.href.substring(0,128);b["[Amplitude] Element Href"]=u.replaceSensitiveString(w)}return me(b)},this.addTypeAndTimestamp=function(e,t){return{event:e,timestamp:Date.now(),type:t}},this.addAdditionalEventProperties=function(e,t,n,r,i){void 0===i&&(i=!1);var o=u.addTypeAndTimestamp(e,t);if(function(e){return"click"===e.type||"change"===e.type}(o)&&null!==o.event.target){if(i){var a=function(e,t){var n,r=null===(n=null===window||void 0===window?void 0:window.getComputedStyle)||void 0===n?void 0:n.call(window,e);return"pointer"===(null==r?void 0:r.getPropertyValue("cursor"))&&"click"===t}(o.event.target,o.type);if(a)return o.closestTrackedAncestor=o.event.target,o.targetElementProperties=u.getEventProperties(o.type,o.closestTrackedAncestor,r),o}var l=be(o.event.target,n);return l&&(o.closestTrackedAncestor=l,o.targetElementProperties=u.getEventProperties(o.type,l,r)),o}return o},this.extractDataFromDataSource=function(e,t){if("DOM_ELEMENT"===e.sourceType){var n=function(e,t){try{if("DOM_ELEMENT"===e.sourceType){var n=document.documentElement;return e.scope&&t&&(n=t.closest(e.scope)),n&&e.selector?n.querySelector(e.selector):n}}catch(e){return}}(e,t);if(!n)return;return"TEXT"===e.elementExtractType?u.getText(n):"ATTRIBUTE"===e.elementExtractType&&e.attribute?n.getAttribute(e.attribute):void 0}},this.getTextWithMaskedDescendants=function(e){var t,n,r="[".concat(x,"], [contenteditable]");if(!e.querySelector(r))return e.innerText;var o="",a=Array.from(e.childNodes);try{for(var l=i(a),c=l.next();!c.done;c=l.next()){var s=c.value;s.nodeType!==Node.TEXT_NODE?s instanceof Element&&(s.hasAttribute(x)||s.hasAttribute("contenteditable")?o+=k:o+=u.getTextWithMaskedDescendants(s)):o+=s.textContent||""}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return o},this.getText=function(e){if(null!==e.closest("[".concat(x,"]")))return k;var t="";return t=e.querySelector("[".concat(x,"], [contenteditable]"))?u.getTextWithMaskedDescendants(e):e.innerText||"",u.replaceSensitiveString(t.substring(0,255)).replace(/\s+/g," ").trim()},this.getEventTagProps=function(e){var t,n,r;if(!e)return{};var i=null===(r=null===(n=null==e?void 0:e.tagName)||void 0===n?void 0:n.toLowerCase)||void 0===r?void 0:r.call(n),o=((t={})[oe]=i,t[ae]=u.getText(e),t[le]=window.location.href.split("?")[0],t);return me(o)},this.diagnosticsClient=null==t?void 0:t.diagnosticsClient;var s=null!==(l=e.maskTextRegex)&&void 0!==l?l:[],d=[];try{for(var v=i(s),f=v.next();!f.done;f=v.next()){var p=f.value;if(d.length>=25)break;if(p instanceof RegExp)d.push(p);else if("pattern"in p&&"string"==typeof p.pattern)try{d.push(new RegExp(p.pattern,"i"))}catch(e){}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=v.return)&&r.call(v)}finally{if(n)throw n.error}}this.additionalMaskTextPatterns=d};!function(e){e.ClickObservable="clickObservable",e.ChangeObservable="changeObservable",e.NavigateObservable="navigateObservable",e.MutationObservable="mutationObservable",e.ScrollObservable="scrollObservable",e.ExposureObservable="exposureObservable",e.BrowserErrorObservable="browserErrorObservable",e.SelectionObservable="selectionObservable",e.MouseMoveObservable="mouseMoveObservable"}(Be||(Be={}));var qe=function(e,u){var s,d,v,f,p,h,y,w,E,T,x,k;void 0===e&&(e={}),null==u||u.diagnosticsClient.setTag("plugin.autocapture.version",re);var A=e.dataAttributePrefix,S=void 0===A?g:A,O=e.visualTaggingOptions,C=void 0===O?{enabled:!0}:O;e.cssSelectorAllowlist=null!==(s=e.cssSelectorAllowlist)&&void 0!==s?s:m,e.actionClickAllowlist=null!==(d=e.actionClickAllowlist)&&void 0!==d?d:b,e.debounceTime=null!==(v=e.debounceTime)&&void 0!==v?v:0;var M=!1!==(null===(f=e.viewportContentUpdated)||void 0===f?void 0:f.enabled),P=null!==(y=null!==(h=null===(p=e.viewportContentUpdated)||void 0===p?void 0:p.exposureDuration)&&void 0!==h?h:e.exposureDuration)&&void 0!==y?y:150;e.viewportContentUpdated=t(t({},e.viewportContentUpdated),{exposureDuration:P}),e.pageUrlExcludelist=null===(w=e.pageUrlExcludelist)||void 0===w?void 0:w.reduce(function(e,t){if("string"==typeof t&&e.push(t),t instanceof RegExp&&e.push(t),"object"==typeof t&&null!==t&&"pattern"in t)try{e.push(new RegExp(t.pattern))}catch(n){return console.warn("Invalid regex pattern: ".concat(t.pattern),n),e}return e},[]);var _,L="@amplitude/plugin-autocapture-browser",N=[],D=new Ue(e,u),I=new Set,R=new Set,B=function(){var t,n,r=V(ke().map(function(t){return D.addAdditionalEventProperties(t,"click",e.cssSelectorAllowlist,S)})),i=V(new G(function(t){var n,r=function(n){var r=D.addAdditionalEventProperties(n,"change",e.cssSelectorAllowlist,S);t.next(r)};return null===(n=l())||void 0===n||n.document.addEventListener("change",r,{capture:!0}),function(){var e;return null===(e=l())||void 0===e?void 0:e.document.removeEventListener("change",r)}}));window.navigation&&(n=V(new G(function(t){var n=function(n){var r=D.addAdditionalEventProperties(n,"navigate",e.cssSelectorAllowlist,S);t.next(r)};return window.navigation.addEventListener("navigate",n),function(){window.navigation.removeEventListener("navigate",n)}})));var o=V(xe().map(function(t){return D.addAdditionalEventProperties(t,"mutation",e.cssSelectorAllowlist,S)})),a=new G(function(e){var t,n=function(t){e.next(t)};return null===(t=l())||void 0===t||t.addEventListener("scroll",n),function(){var e;null===(e=l())||void 0===e||e.removeEventListener("scroll",n)}}),u=function(e,t){return new G(function(n){var r,i=l();if(!(null==i?void 0:i.IntersectionObserver))return function(){};var o=new IntersectionObserver(function(e){e.forEach(function(e){n.next(e)})},{root:null,rootMargin:"0px",threshold:1}),a=t.join(",");(null!==(r=null==i?void 0:i.document.querySelectorAll(a))&&void 0!==r?r:[]).forEach(function(e){o.observe(e)});var u=e.subscribe(function(e){return e.event.forEach(function(e){return e.addedNodes.forEach(function(e){e instanceof Element&&(e.matches(a)&&o.observe(e),e.querySelectorAll(a).forEach(function(e){o.observe(e)}))})})});return function(){u.unsubscribe(),o.disconnect()}})}(o,e.cssSelectorAllowlist);return(t={})[Be.ChangeObservable]=i,t[Be.ClickObservable]=r,t[Be.MutationObservable]=o,t[Be.NavigateObservable]=n,t[Be.ScrollObservable]=a,t[Be.ExposureObservable]=u,t},j=Ce(Object.values(null!==(T=null===(E=e.pageActions)||void 0===E?void 0:E.labeledEvents)&&void 0!==T?T:{})),H=Me(null!==(k=null===(x=e.pageActions)||void 0===x?void 0:x.triggers)&&void 0!==k?k:[]),U=function(e,t,n,r){return new _e(e,t,n,r)}(j,H,D,e);return{name:L,type:"enrichment",setup:function(i,u){return n(void 0,void 0,void 0,function(){var n,s,d,v,f,p,h,m,g,b,y,w,E,T,x,k,A,O,q,X,Y;return r(this,function(r){return"undefined"==typeof document||(n=!1,s={maxX:void 0,maxY:void 0},i.fetchRemoteConfig&&(i.remoteConfigClient?i.remoteConfigClient.subscribe("configs.analyticsSDK.pageActions","all",function(n){!function(n){var r,i;n&&(e.pageActions=t(t({},e.pageActions),n),j=Ce(Object.values(null!==(r=e.pageActions.labeledEvents)&&void 0!==r?r:{})),H=Me(null!==(i=e.pageActions.triggers)&&void 0!==i?i:[]),U.update(j,H,e))}(n)}):i.loggerProvider.debug("Remote config client is not provided, skipping remote config fetch")),d=pe(e,e.cssSelectorAllowlist),v=pe(e,e.actionClickAllowlist),f=B(),p=function(e){var t=e.amplitude,n=e.allObservables,r=e.shouldTrackEvent,i=e.evaluateTriggers;return n.clickObservable.filter(ye).filter(function(e){return r("click",e.closestTrackedAncestor)}).map(function(e){return i(e)}).subscribe(function(e){null==t||t.track(ie,e.targetElementProperties)})}({allObservables:f,amplitude:u,shouldTrackEvent:d,evaluateTriggers:U.evaluate.bind(U)}),N.push(p),h=function(e){var t=e.amplitude,n=e.allObservables,r=e.getEventProperties,i=e.shouldTrackEvent,o=e.evaluateTriggers;return n.changeObservable.filter(ye).filter(function(e){return i("change",e.closestTrackedAncestor)}).map(function(e){return o(e)}).subscribe(function(e){null==t||t.track("[Amplitude] Element Changed",r("change",e.closestTrackedAncestor))})}({allObservables:f,getEventProperties:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return D.getEventProperties.apply(D,a(a([],o(e),!1),[S],!1))},amplitude:u,shouldTrackEvent:d,evaluateTriggers:U.evaluate.bind(U)}),N.push(h),m=function(e){var t=e.amplitude,n=e.allObservables,r=e.options,i=e.getEventProperties,o=e.shouldTrackEvent,a=e.shouldTrackActionClick,l=n.clickObservable,u=n.mutationObservable,c=n.navigateObservable,s=l.filter(function(e){return!o("click",e.closestTrackedAncestor)}).map(function(e){var t=be(e.event.target,r.actionClickAllowlist);return e.closestTrackedAncestor=t,null!==e.closestTrackedAncestor&&(e.targetElementProperties=i(e.type,e.closestTrackedAncestor)),e}).filter(ye).filter(function(e){return a("click",e.closestTrackedAncestor)}),d=c?F(u,c):u,v=F(s,d),f=null,p=null;return z(v,function(e){if(f&&(clearTimeout(f),f=null),"click"===e.type)return p=e,f=setTimeout(function(){f=null,p=null},500),Promise.resolve(null);if(p){var t=p;return p=null,Promise.resolve(t)}return Promise.resolve(null)}).subscribe(function(e){e&&(null==t||t.track(ie,i("click",e.closestTrackedAncestor)))})}({allObservables:f,options:e,getEventProperties:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return D.getEventProperties.apply(D,a(a([],o(e),!1),[S],!1))},amplitude:u,shouldTrackEvent:d,shouldTrackActionClick:v}),m&&N.push(m),g=function(e){e.amplitude;var t=e.allObservables.scrollObservable,n={maxX:0,maxY:0},r=t.subscribe(function(){var e,t,r,i,o=l(),a=Math.floor(null!==(t=null!==(e=null==o?void 0:o.scrollX)&&void 0!==e?e:null==o?void 0:o.pageXOffset)&&void 0!==t?t:0),u=Math.floor(null!==(i=null!==(r=null==o?void 0:o.scrollY)&&void 0!==r?r:null==o?void 0:o.pageYOffset)&&void 0!==i?i:0);n.maxX=Math.max(n.maxX,a),n.maxY=Math.max(n.maxY,u)});return{unsubscribe:function(){r.unsubscribe()},getState:function(){return n},reset:function(){n.maxX=0,n.maxY=0}}}({allObservables:f,amplitude:u}),N.push(g),b={},y=l(),w=function(e){e&&n||(setTimeout(function(){n=!1},100),n=!0,function(e){var t,n,r,i,o,a,u=e.amplitude,s=e.scrollTracker,d=e.currentElementExposed,v=e.elementExposedForPage,f=e.exposureTracker,p=e.isPageEnd,h=e.lastScroll,m=s.getState(),g=l(),b=null!==(n=null==g?void 0:g.innerWidth)&&void 0!==n?n:0,y=null!==(r=null==g?void 0:g.innerHeight)&&void 0!==r?r:0,w=((t={})[le]=c(null!==(a=null===(o=null===(i=null==g?void 0:g.location)||void 0===i?void 0:i.href)||void 0===o?void 0:o.split("?")[0])&&void 0!==a?a:""),t["[Amplitude] Max Page X"]=m.maxX+b,t["[Amplitude] Max Page Y"]=m.maxY+y,t[ue]=y,t[ce]=b,t["[Amplitude] Element Exposed"]=Array.from(d),t),E=ge();E&&(w[se]=E),0!==d.size||m.maxX!==h.maxX||m.maxY!==h.maxY?(null==u||u.track("[Amplitude] Viewport Content Updated",w),h.maxX=m.maxX,h.maxY=m.maxY,d.clear(),p&&(s.reset(),v.clear(),null==f||f.reset())):p&&(s.reset(),v.clear(),null==f||f.reset())}({amplitude:u,scrollTracker:g,currentElementExposed:R,elementExposedForPage:I,exposureTracker:b.exposure,isPageEnd:e,lastScroll:s}))},E=function(e){!function(e,t,n,r){if(!t.has(e)){t.add(e),n.add(e);var i=Array.from(n);JSON.stringify(i).length>=18e3&&r(!1)}}(e,I,R,w)},M&&(b.exposure=function(e){var t=e.allObservables,n=e.onExposure,r=e.dataExtractor,i=e.exposureDuration,o=void 0===i?150:i,a=new Map,l=new Map,u=t.exposureObservable.subscribe(function(e){var t=e,i=t.target;if(t.isIntersecting){if(!a.get(i)){var u=setTimeout(function(){a.set(i,!0);var e=r.getElementPath(i);n(e),l.set(i,null)},o);l.set(i,u)}}else!t.isIntersecting&&t.intersectionRatio<1&&(u=l.get(i))&&(clearTimeout(u),l.set(i,null))});return{unsubscribe:function(){u.unsubscribe()},reset:function(){l.forEach(function(e){e&&clearTimeout(e)}),l.clear(),a.clear()}}}({allObservables:f,onExposure:E,dataExtractor:D,exposureDuration:P}),b.exposure&&N.push(b.exposure),T=function(){w(!0)},null==y||y.addEventListener("beforeunload",T),_=function(){null==y||y.removeEventListener("beforeunload",T)},N.push({unsubscribe:function(){return _()}}),(x=f[Be.NavigateObservable])?N.push(x.subscribe(function(){w(!0)})):y&&(k=function(){w(!0)},y.addEventListener("popstate",k),A=y.history.pushState,y.history&&A&&(y.history.pushState=new Proxy(A,{apply:function(e,t,n){var r=o(n,3),i=r[0],a=r[1],l=r[2];e.apply(t,[i,a,l]),w(!0)}})),N.push({unsubscribe:function(){y.removeEventListener("popstate",k),y.history&&A&&(y.history.pushState=A)}}))),null===(Y=null==i?void 0:i.loggerProvider)||void 0===Y||Y.log("".concat(L," has been successfully added.")),window.opener&&C.enabled&&(O=e.cssSelectorAllowlist,q=e.actionClickAllowlist,Ee(X=ee(),{dataExtractor:D,isElementSelectable:pe(e,a(a([],o(O),!1),o(q),!1)),cssSelectorAllowlist:O,actionClickAllowlist:q}),function(e,t){var n,r=e;if(!0!==r[te]){r[te]=!0;var i=null!==(n=null==t?void 0:t.scriptUrl)&&void 0!==n?n:"https://cdn.amplitude.com/libs/background-capture-1.0.1.js.gz",o=null,a=function(t,n){var r,i;"background-capture-complete"===t&&(null===(i=null===(r=e.logger)||void 0===r?void 0:r.debug)||void 0===i||i.call(r,"Background capture complete"),e.notify({action:"background-capture-complete",data:n}))};e.registerActionHandler("initialize-background-capture",function(){var t,n;null===(n=null===(t=e.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Initializing background capture (external script)");var r=new URL(i,e.endpoint).toString();e.loadScriptOnce(r).then(function(){var t,n,r;null===(n=null===(t=e.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Background capture script loaded (external)"),o=null===(r=null===window||void 0===window?void 0:window.amplitudeBackgroundCapture)||void 0===r?void 0:r.call(window,{messenger:e,onBackgroundCapture:a}),e.notify({action:"background-capture-loaded"})}).catch(function(){var t;null===(t=e.logger)||void 0===t||t.warn("Failed to initialize background capture")})}),e.registerActionHandler("close-background-capture",function(){var e;null===(e=null==o?void 0:o.close)||void 0===e||e.call(o),o=null})}}(X),X.setup(t({logger:null==i?void 0:i.loggerProvider},(null==i?void 0:i.serverZone)&&{endpoint:K[i.serverZone]})))),[2]})})},execute:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(t){return[2,e]})})},teardown:function(){return n(void 0,void 0,void 0,function(){var e,t,n,o;return r(this,function(r){try{for(e=i(N),t=e.next();!t.done;t=e.next())t.value.unsubscribe()}catch(e){n={error:e}}finally{try{t&&!t.done&&(o=e.return)&&o.call(e)}finally{if(n)throw n.error}}return[2]})})}}},Xe=["mutation","navigate"];function Ye(e,t){var n,r,i,o,a=t.event,l=a.pageX,u=a.pageY;e.yMin=Math.min(null!==(n=e.yMin)&&void 0!==n?n:u,u),e.yMax=Math.max(null!==(r=e.yMax)&&void 0!==r?r:u,u),e.xMin=Math.min(null!==(i=e.xMin)&&void 0!==i?i:l,l),e.xMax=Math.max(null!==(o=e.xMax)&&void 0!==o?o:l,l),e.isOutOfBounds=e.yMax-e.yMin>50||e.xMax-e.xMin>50}function Ge(e){if(0===e.length)return null;var n=e[0],r=e[e.length-1];return{rageClickEvent:t({"[Amplitude] Begin Time":new Date(n.timestamp).toISOString(),"[Amplitude] End Time":new Date(r.timestamp).toISOString(),"[Amplitude] Duration":r.timestamp-n.timestamp,"[Amplitude] Clicks":e.map(function(e){return{X:e.event.pageX,Y:e.event.pageY,Time:e.timestamp}}),"[Amplitude] Click Count":e.length},n.targetElementProperties),time:n.timestamp}}function ze(e){var t=this,i=e.amplitude,o=e.allObservables,a=e.shouldTrackRageClick,l=o.clickObservable,u=o.selectionObservable,c=[],s={},d=null;function v(e){c=[],s={},e&&(Ye(s,e),c.push(e))}var f=z(l.filter(function(e){return a("click",e.closestTrackedAncestor)}),function(e){return n(t,void 0,void 0,function(){var t;return r(this,function(n){return Ye(s,e),t=null,0===c.length||function(e,t){return e.length>0&&e[e.length-1].closestTrackedAncestor!==t.closestTrackedAncestor}(c,e)||function(e,t){var n=e[Math.max(0,e.length-4+1)];return t.timestamp-n.timestamp>=1e3}(c,e)||s.isOutOfBounds?(d&&(t=Ge(c)),v(e)):c.push(e),d&&(clearTimeout(d.timerId),d.resolve(t),d=null),c.length>=4?[2,new Promise(function(e){d={resolve:e,timerId:setTimeout(function(){e(Ge(c))},1e3)}})]:[2,null]})})}),p=null==u?void 0:u.subscribe(function(){v()}),h=f.subscribe(function(e){null!==e&&i.track("[Amplitude] Rage Click",e.rageClickEvent,{time:e.time})});return{unsubscribe:function(){h.unsubscribe(),null==p||p.unsubscribe()}}}var Fe,Ve;!function(e){e.INCREASING="increasing",e.DECREASING="decreasing"}(Fe||(Fe={})),function(e){e.X="x",e.Y="y"}(Ve||(Ve={}));function We(e){var t=e.changes,n=e.changesThreshold,r=e.thresholdMs;return!(t.length<n)&&t[t.length-1]-t[0]<r}function Je(e){e.changes=[],e.startTime=void 0}function Ke(e){for(var t=e.changes,n=e.thresholdMs,r=0,i=t[t.length-1];r<t.length;r++){if(i-t[r]<n)break}0!==r&&(e.startTime=t[r],e.changes.splice(0,r))}var Ze=function(e){var t=e.mouseDirectionChangeObservable,n=e.directionChanges,r=void 0===n?20:n,i=e.thresholdMs,o=void 0===i?2e3:i;return new G(function(e){var n={changes:[],changesThreshold:r,thresholdMs:o},i={changes:[],changesThreshold:r,thresholdMs:o},a=void 0,l=null;function u(){void 0!==a&&(e.next(a),a=void 0,null!==l&&clearTimeout(l),Je(n),Je(i))}return t.subscribe(function(e){null!==l&&clearTimeout(l),function(e){var t=+Date.now();e.startTime=e.startTime||t;var n=e.changes,r=e.changesThreshold;n.push(t),n.length>r&&n.shift()}(e===Ve.X?n:i);var t=function(e,t){var n=void 0;if(We(e)&&(n=e.startTime),We(t)){var r=t.startTime;r&&(!n||r<n)&&(n=r)}return n}(n,i);return t?(a=a||t,l=setTimeout(function(){u(),l=null},o)):u(),Ke(n),Ke(i),function(){null!==l&&(clearTimeout(l),l=null)}})})},$e=function(e){var t=e.amplitude,n=e.options,r=e.allObservables,i=e.directionChanges,o=void 0===i?20:i,a=e.thresholdMs,l=void 0===a?2e3:a,u=function(e){var t=e.allWindowObservables.mouseMoveObservable;return new G(function(e){var n=null,r=null,i=null;return t.subscribe(function(t){var o={x:t.clientX,y:t.clientY};null!==n?(o.x>n.x?(r===Fe.DECREASING&&e.next(Ve.X),r=Fe.INCREASING):o.x<n.x&&(r===Fe.INCREASING&&e.next(Ve.X),r=Fe.DECREASING),o.y>n.y?(i===Fe.DECREASING&&e.next(Ve.Y),i=Fe.INCREASING):o.y<n.y&&(i===Fe.INCREASING&&e.next(Ve.Y),i=Fe.DECREASING),n=o):n=o})})}({allWindowObservables:r});return Ze({mouseDirectionChangeObservable:u,directionChanges:o,thresholdMs:l}).subscribe(function(e){fe(n)&&t.track("[Amplitude] Thrashed Cursor",void 0,{time:e})})};function Qe(e,t,n,r){if(!r)return[];var i=e[t];return"object"==typeof i&&null!==i&&"cssSelectorAllowlist"in i&&Array.isArray(i.cssSelectorAllowlist)?i.cssSelectorAllowlist:n}var et=4e3;function tt(e,t){var n=e.startTime+e.duration;return t.filter(function(t){return t.startTime<n&&t.startTime+t.duration>e.startTime}).map(function(e){return e.name})}function nt(e,n){var r,i=tt(e,n),o=null!==(r=e.scripts)&&void 0!==r?r:[],a=o.map(function(e){return e.sourceURL}).filter(Boolean),l=o.map(function(e){return e.sourceFunctionName}).filter(Boolean),u=o.map(function(e){return e.sourceCharPosition}).filter(function(e){return"number"==typeof e&&e>=0}),c=o.map(function(e){return e.invokerType}).filter(Boolean),s=o.map(function(e){return e.invoker}).filter(Boolean);return t(t(t(t(t(t(t({"[Amplitude] Main Thread Block Source":"long-animation-frame","[Amplitude] Main Thread Block Duration":e.duration,"[Amplitude] Main Thread Block Blocking Duration":e.blockingDuration,"[Amplitude] Main Thread Block Start Time":e.startTime},i.length>0&&{"[Amplitude] Main Thread Block Measures":i}),{"[Amplitude] Main Thread Block Render Start":e.renderStart,"[Amplitude] Main Thread Block Style And Layout Start":e.styleAndLayoutStart,"[Amplitude] Main Thread Block Script Count":o.length}),a.length>0&&{"[Amplitude] Main Thread Block Script URLs":a}),l.length>0&&{"[Amplitude] Main Thread Block Script Functions":l}),u.length>0&&{"[Amplitude] Main Thread Block Script Positions":u}),c.length>0&&{"[Amplitude] Main Thread Block Invoker Types":c}),s.length>0&&{"[Amplitude] Main Thread Block Invokers":s})}function rt(e,n){var r,i=tt(e,n),o=null!==(r=e.attribution)&&void 0!==r?r:[];return t(t({"[Amplitude] Main Thread Block Source":"long-task","[Amplitude] Main Thread Block Duration":e.duration,"[Amplitude] Main Thread Block Blocking Duration":e.duration,"[Amplitude] Main Thread Block Start Time":e.startTime},i.length>0&&{"[Amplitude] Main Thread Block Measures":i}),o.length>0&&{"[Amplitude] Main Thread Block Attribution":o.map(function(e){return e.name})})}function it(e){var t=e.amplitude,n=e.options,r=e.durationThreshold,o=void 0===r?100:r,a=function(){if("undefined"==typeof PerformanceObserver)return null;try{var e=PerformanceObserver.supportedEntryTypes;if(e.includes("long-animation-frame"))return"long-animation-frame";if(e.includes("longtask"))return"longtask"}catch(e){}return null}();if(!a)return{unsubscribe:function(){}};var l=[],u=new PerformanceObserver(function(e){var t,n,r=performance.now();try{for(var o=i(e.getEntries()),a=o.next();!a.done;a=o.next()){var u=a.value;l.push(u)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}for(var c=r-1e4;l.length>0&&l[0].startTime<c;)l.shift()});try{u.observe({entryTypes:["measure"]})}catch(e){}var c=new PerformanceObserver(function(e){var r,u;try{for(var c=i(e.getEntries()),s=c.next();!s.done;s=c.next()){var d=s.value;if(!fe(n))return;if(!(d.duration<o)){var v="long-animation-frame"===a?nt(d,l):rt(d,l);t.track("[Amplitude] Main Thread Block",v)}}}catch(e){r={error:e}}finally{try{s&&!s.done&&(u=c.return)&&u.call(c)}finally{if(r)throw r.error}}});try{c.observe({entryTypes:[a]})}catch(e){return u.disconnect(),{unsubscribe:function(){}}}return{unsubscribe:function(){c.disconnect(),u.disconnect()}}}return e.DataExtractor=Ue,e.autocapturePlugin=qe,e.enableVisualTagging=Ee,e.frustrationPlugin=function(e){var l;void 0===e&&(e={});var u="@amplitude/plugin-frustration-browser",c=[],s=!1!==e.errorClicks;e.errorClicks||(s=!1);var d=!1!==e.deadClicks&&null!==e.deadClicks,v=!1!==e.rageClicks&&null!==e.rageClicks,f=!1!==e.thrashedCursor&&null!==e.thrashedCursor;e.thrashedCursor||(f=!1);var p=Qe(e,"rageClicks",T,v),h=Qe(e,"deadClicks",w,d),m=Qe(e,"errorClicks",E,s),b=null!==(l=e.dataAttributePrefix)&&void 0!==l?l:g,y=new Ue(e),x=a([],o(new Set(a(a(a([],o(p),!1),o(h),!1),o(m),!1))),!1),k=function(){var e,n,r=V(ke("pointerdown").map(function(e){return y.addAdditionalEventProperties(e,"click",x,b,!0)})),i=V(Ae().map(function(e){return y.addTypeAndTimestamp(e,"error")})),o=V(xe().map(function(e){return y.addAdditionalEventProperties(e,"mutation",x,b)}));window.navigation&&(n=V(new G(function(e){var n=function(n){e.next(t(t({},n),{type:"navigate"}))};return window.navigation.addEventListener("navigate",n),function(){window.navigation.removeEventListener("navigate",n)}}).map(function(e){return y.addAdditionalEventProperties(e,"navigate",x,b)})));var a=V(new G(function(e){var t=function(){var t=document.activeElement;if(t&&("TEXTAREA"===t.tagName||"INPUT"===t.tagName)){try{if(t.selectionStart===t.selectionEnd)return}catch(e){return}return e.next()}var n=window.getSelection();if(n&&!n.isCollapsed)return e.next()};return window.document.addEventListener("selectionchange",t),function(){window.document.removeEventListener("selectionchange",t)}})),l=V(new G(function(e){var t=function(t){e.next(t)},n={capture:!0};return Te.document.addEventListener("mousemove",t,n),function(){Te.document.removeEventListener("mousemove",t,n)}}));return(e={})[Be.ClickObservable]=r,e[Be.MutationObservable]=o,e[Be.NavigateObservable]=n,e[Be.BrowserErrorObservable]=i,e[Be.SelectionObservable]=a,e[Be.MouseMoveObservable]=l,e};return{name:u,type:"enrichment",setup:function(i,o){return n(void 0,void 0,void 0,function(){var n,a,l,g,w,E,T,x,A,S,O;return r(this,function(r){return"undefined"==typeof document||(n=k(),v&&(a=pe(e,p),l=ze({allObservables:n,amplitude:o,shouldTrackRageClick:a}),c.push(l)),d&&(g=pe(e,h),w=function(e){var n=e.amplitude,r=e.allObservables,i=e.getEventProperties,o=e.shouldTrackDeadClick,a=r.clickObservable,l=r.mutationObservable,u=r.navigateObservable,c=a.filter(function(e){return ye(e)&&o("click",e.closestTrackedAncestor)&&e.event.target instanceof Element&&null===e.event.target.closest('a[target="_blank"]')&&e.event.button===ne.LEFT_OR_TOUCH_CONTACT}),s=u?F(l,u):l,d=F(c,s),v=null;return z(d,function(e){return v&&Xe.includes(e.type)?(clearTimeout(v),v=null,Promise.resolve(null)):"click"===e.type?v?Promise.resolve(null):new Promise(function(t){v=setTimeout(function(){t(e),v=null},3e3)}):Promise.resolve(null)}).subscribe(function(e){if(e){var r={"[Amplitude] X":e.event.clientX,"[Amplitude] Y":e.event.clientY};n.track("[Amplitude] Dead Click",t(t({},i("click",e.closestTrackedAncestor)),r),{time:e.timestamp})}})}({amplitude:o,allObservables:n,getEventProperties:function(e,t){return y.getEventProperties(e,t,b)},shouldTrackDeadClick:g}),c.push(w)),s&&(E=pe(e,m),T=function(e){var n=e.amplitude,r=e.allObservables,i=e.shouldTrackErrorClick,o=r.clickObservable,a=r.browserErrorObservable,l=o.filter(function(e){return ye(e)&&i("click",e.closestTrackedAncestor)&&e.event.target instanceof Element&&null===e.event.target.closest('a[target="_blank"]')&&e.event.button===ne.LEFT_OR_TOUCH_CONTACT}),u=null,c=null,s=function(){null!==u&&(clearTimeout(u),u=null),c=null};return F(l,a).subscribe(function(e){var r;if("click"===e.type)return s(),c=e,void(u=setTimeout(s,2e3));"error"===e.type&&c&&(n.track("[Amplitude] Error Click",t(((r={})["[Amplitude] Kind"]=e.event.kind,r["[Amplitude] Message"]=e.event.message,r["[Amplitude] Stack"]=e.event.stack,r["[Amplitude] Filename"]=e.event.filename,r["[Amplitude] Line Number"]=e.event.lineNumber,r["[Amplitude] Column Number"]=e.event.columnNumber,r),c.targetElementProperties)),s())})}({amplitude:o,allObservables:n,shouldTrackErrorClick:E}),c.push(T)),f&&(x=void 0,A=void 0,"object"==typeof e.thrashedCursor&&(x=e.thrashedCursor.directionChanges,A=e.thrashedCursor.threshold,x&&x<5&&(i.loggerProvider.warn("'thrashedCursor.directionChanges' of ".concat(x," is below the minimum of ").concat(5,", setting to ").concat(5)),x=5),A&&A>et&&(i.loggerProvider.warn("'thrashedCursor.threshold' of ".concat(A," is above the maximum of ").concat(et,", setting to ").concat(et)),A=et)),S=$e({amplitude:o,options:e,allObservables:n,directionChanges:x,thresholdMs:A}),c.push(S)),null===(O=null==i?void 0:i.loggerProvider)||void 0===O||O.log("".concat(u," has been successfully added."))),[2]})})},execute:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(t){return[2,e]})})},teardown:function(){return n(void 0,void 0,void 0,function(){var e,t,n,o;return r(this,function(r){try{for(e=i(c),t=e.next();!t.done;t=e.next())t.value.unsubscribe()}catch(e){n={error:e}}finally{try{t&&!t.done&&(o=e.return)&&o.call(e)}finally{if(n)throw n.error}}return[2]})})}}},e.performancePlugin=function(e){void 0===e&&(e={});var t="@amplitude/plugin-performance-browser",o=[],a=!0===e.mainThreadBlock||"object"==typeof e.mainThreadBlock&&null!==e.mainThreadBlock;return{name:t,type:"enrichment",setup:function(i,l){return n(void 0,void 0,void 0,function(){var n,u,c;return r(this,function(r){return"undefined"==typeof document||(a&&(n=100,"object"==typeof e.mainThreadBlock&&void 0!==e.mainThreadBlock.durationThreshold&&(n=e.mainThreadBlock.durationThreshold),u=it({amplitude:l,options:e,durationThreshold:n}),o.push(u)),null===(c=null==i?void 0:i.loggerProvider)||void 0===c||c.log("".concat(t," performance tracking has been successfully added."))),[2]})})},execute:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(t){return[2,e]})})},teardown:function(){return n(void 0,void 0,void 0,function(){var e,t,n,a;return r(this,function(r){try{for(e=i(o),t=e.next();!t.done;t=e.next())t.value.unsubscribe()}catch(e){n={error:e}}finally{try{t&&!t.done&&(a=e.return)&&a.call(e)}finally{if(n)throw n.error}}return[2]})})}}},e.plugin=qe,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|
|
1
|
+
var amplitudeAutocapturePlugin=function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function n(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{u(r.next(e))}catch(e){o(e)}}function l(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,l)}u((r=r.apply(e,t||[])).next())})}function r(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return a.next=l(0),a.throw=l(1),a.return=l(2),"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function i(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function o(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function a(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var l=function(){var e="ampIntegrationContext";return"undefined"!=typeof globalThis&&void 0!==globalThis[e]?globalThis[e]:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0},u=function(e,t){return!t||!t.length||t.some(function(t){return"string"==typeof t?e===t:e.match(t)})},c=function(e,t){var n=e;try{n=decodeURI(e)}catch(e){null==t||t.error("Malformed URI sequence: ",e)}return n},s=l(),d=null==s?void 0:s.console,f={},v={},p=!1;var g={addListener:function(e,t){var n,r=(n=e,!!d&&"function"==typeof d[n]&&(v[n]||(v[n]=d[n],d[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{if(f[n]&&!p){p=!0;var r=f[n];r&&r.forEach(function(t){try{t(n,e)}catch(e){}})}}catch(e){}return p=!1,v[n].apply(d,e)}),!0));if(!r)return new Error("Console override failed");f[e]?f[e].push(t):f[e]=[t]},removeListener:function(e){var t,n;try{for(var r=i(Object.values(f)),o=r.next();!o.done;o=r.next())for(var a=o.value,l=a.length-1;l>=0;l--)if(a[l]===e){a.splice(l,1);break}}catch(e){t={error:e}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}},_restoreConsole:function(){var e,t;try{for(var n=i(Object.entries(v)),r=n.next();!r.done;r=n.next()){var a=o(r.value,2),l=a[0],u=a[1];u&&(d[l]=u)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}v={},f={}}},h=["a","button","input","select","textarea","label","video","audio",'[contenteditable="true" i]',"[data-amp-default-track]",".amp-default-track"],m="data-amp-track-",b=["div","span","h1","h2","h3","h4","h5","h6"],y=a(['input[type="button"]','input[type="submit"]','input[type="reset"]','input[type="image"]','input[type="file"]'],o(["a","button",'[role="button"]','[role="link"]','[role="menuitem"]','[role="menuitemcheckbox"]','[role="menuitemradio"]','[role="option"]','[role="tab"]','[role="treeitem"]','[contenteditable="true" i]']),!1),w=y,E=y,x=["*"],T="data-amp-mask",A="*****",k=/\b(?:\d[ -]*?){13,16}\b/,C=/(\d{3}-?\d{2}-?\d{4})/g,S=/[^\s@]+@[^\s@.]+\.[^\s@]+/g,O={};Object.defineProperty(O,"__esModule",{value:!0}),O.Observable=void 0;const P=e=>Boolean(Symbol[e]),M=e=>P(e)?Symbol[e]:"@@"+e,_=M("iterator"),N=M("observable"),L=M("species");function D(e,t){let n=e[t];if(null!=n){if("function"!=typeof n)throw new TypeError(n+" is not a function");return n}}function I(e){let t=e.constructor;return void 0!==t&&(t=t[L],null===t&&(t=void 0)),void 0!==t?t:X}function R(e){R.log?R.log(e):setTimeout(()=>{throw e})}function B(e){Promise.resolve().then(()=>{try{e()}catch(e){R(e)}})}function j(e){let t=e._cleanup;if(void 0!==t&&(e._cleanup=void 0,t))try{if("function"==typeof t)t();else{let e=D(t,"unsubscribe");e&&e.call(t)}}catch(e){R(e)}}function H(e){e._observer=void 0,e._queue=void 0,e._state="closed"}function U(e,t,n){e._state="running";let r=e._observer;try{let i=D(r,t);switch(t){case"next":i&&i.call(r,n);break;case"error":if(H(e),!i)throw n;i.call(r,n);break;case"complete":H(e),i&&i.call(r)}}catch(e){R(e)}"closed"===e._state?j(e):"running"===e._state&&(e._state="ready")}function q(e,t,n){if("closed"!==e._state){if("buffering"!==e._state)return"ready"!==e._state?(e._state="buffering",e._queue=[{type:t,value:n}],void B(()=>function(e){let t=e._queue;if(t){e._queue=void 0,e._state="ready";for(let n=0;n<t.length&&(U(e,t[n].type,t[n].value),"closed"!==e._state);++n);}}(e))):void U(e,t,n);e._queue.push({type:t,value:n})}}class z{constructor(e,t){this._cleanup=void 0,this._observer=e,this._queue=void 0,this._state="initializing";let n=this,r={get closed(){return"closed"===n._state},next(e){q(n,"next",e)},error(e){q(n,"error",e)},complete(){q(n,"complete")}};try{this._cleanup=t.call(void 0,r)}catch(e){r.error(e)}"initializing"===this._state&&(this._state="ready")}get closed(){return"closed"===this._state}unsubscribe(){"closed"!==this._state&&(H(this),j(this))}}class X{constructor(e){if(!(this instanceof X))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof e)throw new TypeError("Observable initializer must be a function");this._subscriber=e}subscribe(e){return"object"==typeof e&&null!==e||(e={next:e,error:arguments[1],complete:arguments[2]}),new z(e,this._subscriber)}forEach(e){return new Promise((t,n)=>{if("function"!=typeof e)return void n(new TypeError(e+" is not a function"));function r(){i.unsubscribe(),t()}let i=this.subscribe({next(t){try{e(t,r)}catch(e){n(e),i.unsubscribe()}},error:n,complete:t})})}map(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(I(this))(t=>this.subscribe({next(n){try{n=e(n)}catch(e){return t.error(e)}t.next(n)},error(e){t.error(e)},complete(){t.complete()}}))}filter(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(I(this))(t=>this.subscribe({next(n){try{if(!e(n))return}catch(e){return t.error(e)}t.next(n)},error(e){t.error(e)},complete(){t.complete()}}))}reduce(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=I(this),n=arguments.length>1,r=!1,i=arguments[1];return new t(t=>this.subscribe({next(o){let a=!r;if(r=!0,!a||n)try{i=e(i,o)}catch(e){return t.error(e)}else i=o},error(e){t.error(e)},complete(){if(!r&&!n)return t.error(new TypeError("Cannot reduce an empty sequence"));t.next(i),t.complete()}}))}async all(){let e=[];return await this.forEach(t=>e.push(t)),e}concat(...e){let t=I(this);return new t(n=>{let r,i=0;return function o(a){r=a.subscribe({next(e){n.next(e)},error(e){n.error(e)},complete(){i===e.length?(r=void 0,n.complete()):o(t.from(e[i++]))}})}(this),()=>{r&&(r.unsubscribe(),r=void 0)}})}flatMap(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");let t=I(this);return new t(n=>{let r=[],i=this.subscribe({next(i){if(e)try{i=e(i)}catch(e){return n.error(e)}let a=t.from(i).subscribe({next(e){n.next(e)},error(e){n.error(e)},complete(){let e=r.indexOf(a);e>=0&&r.splice(e,1),o()}});r.push(a)},error(e){n.error(e)},complete(){o()}});function o(){i.closed&&0===r.length&&n.complete()}return()=>{r.forEach(e=>e.unsubscribe()),i.unsubscribe()}})}[N](){return this}static from(e){let t="function"==typeof this?this:X;if(null==e)throw new TypeError(e+" is not an object");let n=D(e,N);if(n){let r=n.call(e);if(Object(r)!==r)throw new TypeError(r+" is not an object");return function(e){return e instanceof X}(r)&&r.constructor===t?r:new t(e=>r.subscribe(e))}if(P("iterator")&&(n=D(e,_),n))return new t(t=>{B(()=>{if(!t.closed){for(let r of n.call(e))if(t.next(r),t.closed)return;t.complete()}})});if(Array.isArray(e))return new t(t=>{B(()=>{if(!t.closed){for(let n=0;n<e.length;++n)if(t.next(e[n]),t.closed)return;t.complete()}})});throw new TypeError(e+" is not observable")}static of(...e){return new("function"==typeof this?this:X)(t=>{B(()=>{if(!t.closed){for(let n=0;n<e.length;++n)if(t.next(e[n]),t.closed)return;t.complete()}})})}static get[L](){return this}}O.Observable=X,Object.defineProperty(X,Symbol("extensions"),{value:{symbol:N,hostReportError:R},configurable:!0});var Y=O.Observable;function G(e,t){return new Y(function(n){e.subscribe({next:function(e){t(e).then(function(e){return n.next(e)}).catch(function(e){return n.error(e)})},error:function(e){n.error(e)},complete:function(){n.complete()}})})}function W(e,t){return new Y(function(n){var r=!1,o=new Set,a=function(){var e,t;r=!0;try{for(var n=i(o),a=n.next();!a.done;a=n.next()){var l=a.value;try{l.unsubscribe()}catch(e){}}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}o.clear()},l=function(e){var t=e.subscribe({next:function(e){r||n.next(e)},error:function(e){r||(r=!0,n.error(e),a())},complete:function(){o.delete(t),r||0!==o.size||(n.complete(),a(),r=!0)}});o.add(t)};return l(e),l(t),a})}function F(e){var t=new Set,n=null;function r(){null==n||n.unsubscribe(),n=null,t.clear()}return new Y(function(o){return t.add(o),null===n&&(n=e.subscribe({next:function(e){var n,r,o;try{for(var a=i(t),l=a.next();!l.done;l=a.next()){var u=l.value;null===(o=u.next)||void 0===o||o.call(u,e)}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}},error:function(e){var n,o,a;try{for(var l=i(t),u=l.next();!u.done;u=l.next()){var c=u.value;null===(a=c.error)||void 0===a||a.call(c,e)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}r()},complete:function(){var e,n,o;try{for(var a=i(t),l=a.next();!l.done;l=a.next()){var u=l.value;null===(o=u.complete)||void 0===o||o.call(u)}}catch(t){e={error:t}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}r()}})),function(){t.delete(o),0===t.size&&n&&(n.unsubscribe(),n=null)}})}var V,$="https://app.amplitude.com",Z={US:$,EU:"https://app.eu.amplitude.com",STAGING:"https://apps.stag2.amplitude.com"};var J="__AMPLITUDE_MESSENGER_INSTANCE__",K="__AMPLITUDE_MESSENGER__",Q=function(){function e(e){var t=(void 0===e?{}:e).origin,n=void 0===t?$:t;this[V]=!0,this.isSetup=!1,this.messageHandler=null,this.requestCallbacks={},this.actionHandlers=new Map,this.pendingMessages=new Map,this.scriptLoadPromises=new Map,this.endpoint=n}return e.prototype.notify=function(e){var t,n,r,i;null===(n=null===(t=this.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Message sent: ",JSON.stringify(e)),null===(i=null===(r=window.opener)||void 0===r?void 0:r.postMessage)||void 0===i||i.call(r,e,this.endpoint)},e.prototype.sendRequest=function(e,t,n){var r=this;void 0===n&&(n={timeout:15e3});var i="".concat(Date.now(),"-").concat(Math.random().toString(36).substr(2,9)),o={id:i,action:e,args:t};return new Promise(function(t,a){r.requestCallbacks[i]={resolve:t,reject:a},r.notify(o),n.timeout>0&&setTimeout(function(){a(new Error("".concat(e," timed out (id: ").concat(i,")"))),delete r.requestCallbacks[i]},n.timeout)})},e.prototype.handleResponse=function(e){var t;this.requestCallbacks[e.id]?(this.requestCallbacks[e.id].resolve(e.responseData),delete this.requestCallbacks[e.id]):null===(t=this.logger)||void 0===t||t.warn("No callback found for request id: ".concat(e.id))},e.prototype.registerActionHandler=function(e,t){var n,r,o,a;this.actionHandlers.has(e)&&(null===(a=null===(o=this.logger)||void 0===o?void 0:o.warn)||void 0===a||a.call(o,"Overwriting existing action handler for: ".concat(e))),this.actionHandlers.set(e,t);var l=this.pendingMessages.get(e);if(l){this.pendingMessages.delete(e);try{for(var u=i(l),c=u.next();!c.done;c=u.next()){t(c.value)}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}},e.prototype.loadScriptOnce=function(e){return n(this,void 0,void 0,function(){var t,n,i;return r(this,function(r){switch(r.label){case 0:if(t=this.scriptLoadPromises.get(e))return[2,t];n=function(e){return document.querySelector('script[src="'.concat(CSS.escape(e),'"]'))?Promise.resolve({status:!0}):new Promise(function(t,n){var r;try{var i=document.createElement("script");i.type="text/javascript",i.async=!0,i.src=e,i.addEventListener("load",function(){t({status:!0})},{once:!0}),i.addEventListener("error",function(){n({status:!1,message:"Failed to load the script ".concat(e)})}),null===(r=document.head)||void 0===r||r.appendChild(i)}catch(e){n(e)}})}(e).then(function(){}),this.scriptLoadPromises.set(e,n),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,n];case 2:return r.sent(),[3,4];case 3:throw i=r.sent(),this.scriptLoadPromises.delete(e),i;case 4:return[2]}})})},e.prototype.setup=function(e){var t,n,r=this,i=void 0===e?{}:e,o=i.logger,a=i.endpoint;o&&(this.logger=o),a&&this.endpoint===$&&(this.endpoint=a),this.isSetup||(this.isSetup=!0,null===(n=null===(t=this.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Setting up messenger"),this.messageHandler=function(e){var t,n,i,o,a;if(null===(n=null===(t=r.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Message received: ",JSON.stringify(e)),r.endpoint===e.origin){var l=e.data,u=null==l?void 0:l.action;if(u)if("id"in l&&l.id)null===(o=null===(i=r.logger)||void 0===i?void 0:i.debug)||void 0===o||o.call(i,"Received Response to previous request: ",JSON.stringify(e)),r.handleResponse(l);else{if("ping"===u)return void r.notify({action:"pong"});var c=r.actionHandlers.get(u);if(c)c(l.data);else{var s=null!==(a=r.pendingMessages.get(u))&&void 0!==a?a:[];s.push(l.data),r.pendingMessages.set(u,s)}}}},window.addEventListener("message",this.messageHandler),this.notify({action:"page-loaded"}))},e.prototype.destroy=function(){this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=null),this.isSetup=!1,this.actionHandlers.clear(),this.pendingMessages.clear(),this.requestCallbacks={},this.scriptLoadPromises.clear();var e=l();(null==e?void 0:e[K])===this&&delete e[K]},e}();function ee(e){var t,n=l(),r=null==n?void 0:n[K];if("object"==typeof(t=r)&&null!==t&&J in t&&!0===t[J])return r;var i=new Q(e);return n&&(n[K]=i),i}V=J;var te="__AMPLITUDE_BACKGROUND_CAPTURE__";var ne,re="1.28.0-element-path-v1.0",ie="[Amplitude] Element Clicked",oe="[Amplitude] Element Tag",ae="[Amplitude] Element Text",le="[Amplitude] Page URL",ue="[Amplitude] Viewport Height",ce="[Amplitude] Viewport Width",se="[Amplitude] Page View ID",de="data-amp-mask-attributes",fe=["input","select","textarea"],ve=function(e){var t=e.pageUrlAllowlist,n=e.pageUrlExcludelist;return!(n&&n.length>0&&u(window.location.href,n))&&!!u(window.location.href,t)},pe=function(e,t){return function(n,r){var i,o,a=e.shouldTrackEventResolver,l=null===(o=null===(i=null==r?void 0:r.tagName)||void 0===i?void 0:i.toLowerCase)||void 0===o?void 0:o.call(i);if(!l)return!1;if(a)return a(n,r);if(!ve(e))return!1;var u=String(null==r?void 0:r.getAttribute("type"))||"";if("string"==typeof u)switch(u.toLowerCase()){case"hidden":case"password":return!1}if(t){var c=t.some(function(e){var t;return!!(null===(t=null==r?void 0:r.matches)||void 0===t?void 0:t.call(r,e))});if(!c)return!1}switch(l){case"input":case"select":case"textarea":return"change"===n||"click"===n;default:return"click"===n}}},ge=function(e){return e?e.split(",").map(function(e){return e.trim()}).filter(function(e){return e.length>0&&"id"!==e&&"class"!==e}):[]},he=function(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return function(e){return null==e||"object"==typeof e&&0===Object.keys(e).length||"string"==typeof e&&0===e.trim().length}(r)||(t[n]=r),t},{})},me=function(){var e;try{var t=l(),n=null===(e=null==t?void 0:t.sessionStorage)||void 0===e?void 0:e.getItem("AMP_PAGE_VIEW");if(!n)return;var r=JSON.parse(n);if("string"==typeof r.pageViewId)return r.pageViewId}catch(e){}},be=function(e,t){return e?t.some(function(t){var n;return null===(n=null==e?void 0:e.matches)||void 0===n?void 0:n.call(e,t)})?e:be(null==e?void 0:e.parentElement,t):null},ye=function(e){return!(null===e.event.target||!e.closestTrackedAncestor)};!function(e){e[e.LEFT_OR_TOUCH_CONTACT=0]="LEFT_OR_TOUCH_CONTACT",e[e.MIDDLE=1]="MIDDLE",e[e.RIGHT=2]="RIGHT"}(ne||(ne={}));var we="__AMPLITUDE_VISUAL_TAGGING__";function Ee(e,t){var n=e;if(!0!==n[we]){n[we]=!0;var r=t.dataExtractor,i=t.isElementSelectable,o=t.cssSelectorAllowlist,a=t.actionClickAllowlist,l=null,u=function(t){e.notify({action:"element-selected",data:t})},c=function(t,n){"selector-mode-changed"===t?e.notify({action:"track-selector-mode-changed",data:n}):"selector-moved"===t&&e.notify({action:"track-selector-moved",data:n})};e.registerActionHandler("initialize-visual-tagging-selector",function(t){e.loadScriptOnce("https://cdn.amplitude.com/libs/visual-tagging-selector-1.0.0-alpha.js.gz").then(function(){var n;l=null===(n=null===window||void 0===window?void 0:window.amplitudeVisualTaggingSelector)||void 0===n?void 0:n.call(window,{getEventTagProps:r.getEventTagProps,isElementSelectable:function(e){return!i||i((null==t?void 0:t.actionType)||"click",e)},onTrack:c,onSelect:u,visualHighlightClass:"amp-visual-tagging-selector-highlight",messenger:e,cssSelectorAllowlist:o,actionClickAllowlist:a,extractDataFromDataSource:r.extractDataFromDataSource,dataExtractor:r,diagnostics:{autocapture:{version:re}}}),e.notify({action:"selector-loaded"})}).catch(function(){var t;null===(t=e.logger)||void 0===t||t.warn("Failed to initialize visual tagging selector")})}),e.registerActionHandler("close-visual-tagging-selector",function(){var e;null===(e=null==l?void 0:l.close)||void 0===e||e.call(l)})}}var xe=l(),Te=function(){return new Y(function(e){var t=new MutationObserver(function(t){e.next(t)});return document.body&&t.observe(document.body,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),function(){return t.disconnect()}})},Ae=function(e){return void 0===e&&(e="click"),new Y(function(t){var n,r=function(e){t.next(e)};return null===(n=l())||void 0===n||n.document.addEventListener(e,r,{capture:!0}),function(){var t;null===(t=l())||void 0===t||t.document.removeEventListener(e,r,{capture:!0})}})},ke=function(){var e=W(new Y(function(e){var n=function(n){if(n instanceof ErrorEvent){var r={kind:"error"};n.error instanceof Error||n.error instanceof DOMException?r=t(t({},r),{message:n.error.message,stack:n.error.stack,filename:n.filename,lineNumber:n.lineno,columnNumber:n.colno}):"string"==typeof n.error&&(r.message=n.error),e.next(r)}};return xe.addEventListener("error",n),function(){xe.removeEventListener("error",n)}}),new Y(function(e){var t=function(t){var n={kind:"unhandledrejection"};t.reason instanceof Error||t.reason instanceof DOMException?(n.message=t.reason.message,n.stack=t.reason.stack):"string"==typeof t.reason&&(n.message=t.reason),e.next(n)};return xe.addEventListener("unhandledrejection",t),function(){xe.removeEventListener("unhandledrejection",t)}}));return W(e,new Y(function(e){var t=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];var i=void 0;Array.isArray(n[0])&&"string"==typeof n[0][0]&&(i=n[0][0]),e.next({kind:"console",message:i})};return g.addListener("error",t),function(){g.removeListener(t)}}))},Ce=function(e,t,n){e.forEach(function(e){if("string"!=typeof e&&"ATTACH_EVENT_PROPERTY"===e.actionType){var r=n.extractDataFromDataSource(e.dataSource,t.closestTrackedAncestor);t.targetElementProperties[e.destinationKey]=r}})},Se={"[Amplitude] Element Clicked":"click","[Amplitude] Element Changed":"change"},Oe=function(e){var t,n,r,o,a=Object.values(Se).reduce(function(e,t){return e[t]=new Set,e},{});if(!e)return a;try{for(var l=i(e),u=l.next();!u.done;u=l.next()){var c=u.value;try{try{for(var s=(r=void 0,i(c.definition)),d=s.next();!d.done;d=s.next()){var f=d.value,v=Se[f.event_type];v&&a[v].add(c.id)}}catch(e){r={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}}catch(e){console.warn("Skipping Labeled Event due to malformed definition",null==c?void 0:c.id,e)}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return a},Pe=function(e){var t,n,r,o,a=new Map;try{for(var l=i(e),u=l.next();!u.done;u=l.next()){var c=u.value;try{for(var s=(r=void 0,i(c.conditions)),d=s.next();!d.done;d=s.next()){var f=d.value;if("LABELED_EVENT"===f.type){var v=f.match.eventId,p=a.get(v);p||(p=[],a.set(v,p)),p.push(c)}}}catch(e){r={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return a},Me=function(e,t){return t.filter(function(t){return t.definition.some(function(t){return Se[t.event_type]===e.type&&t.filters.every(function(t){return function(e,t){try{if("[Amplitude] Element Text"===t.subprop_key)return"is"===t.subprop_op&&t.subprop_value.includes(e.targetElementProperties["[Amplitude] Element Text"]);if("[Amplitude] Element Hierarchy"===t.subprop_key)return"autotrack css match"===t.subprop_op&&!!e.closestTrackedAncestor.closest(t.subprop_value.toString())}catch(e){return console.error("Error matching event to filter",e),!1}return!1}(e,t)})})})},_e=function(){function e(e,t,n,r){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=t,this.dataExtractor=n,this.options=r}return e.prototype.evaluate=function(e){var t,n,r=this.options.pageActions;if(!r)return e;var o=function(e,t){var n,r,o,a,l=new Set;try{for(var u=i(e),c=u.next();!c.done;c=u.next()){var s=c.value,d=t.get(s.id);if(d)try{for(var f=(o=void 0,i(d)),v=f.next();!v.done;v=f.next()){var p=v.value;l.add(p)}}catch(e){o={error:e}}finally{try{v&&!v.done&&(a=f.return)&&a.call(f)}finally{if(o)throw o.error}}}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}return Array.from(l)}(Me(e,Array.from(this.groupedLabeledEvents[e.type]).map(function(e){return r.labeledEvents[e]})),this.labeledEventToTriggerMap);try{for(var a=i(o),l=a.next();!l.done;l=a.next()){var u=l.value;Ce(u.actions,e,this.dataExtractor)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return e},e.prototype.update=function(e,t,n){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=t,this.options=n},e}(),Ne=new Set(["id","class","style","value","onclick","onchange","oninput","onblur","onsubmit","onfocus","onkeydown","onkeyup","onkeypress","data-reactid","data-react-checksum","data-reactroot",de,T]),Le=["type"],De=["svg","path","g"],Ie=["password","hidden"];function Re(e,t){var n,r,o,a,l,u;if(null===e)return null;var c=String(e.tagName).toLowerCase(),s={tag:c},d=Array.from(null!==(a=null===(o=e.parentElement)||void 0===o?void 0:o.children)&&void 0!==a?a:[]);d.length&&(s.index=d.indexOf(e),s.indexOfType=d.filter(function(t){return t.tagName===e.tagName}).indexOf(e));var f=null===(u=null===(l=e.previousElementSibling)||void 0===l?void 0:l.tagName)||void 0===u?void 0:u.toLowerCase();f&&(s.prevSib=String(f));var v=e.getAttribute("id");v&&(s.id=String(v));var p=Array.from(e.classList);p.length&&(s.classes=p);var g={},h=Array.from(e.attributes).filter(function(e){return!Ne.has(e.name)}),m=!function(e){var t,n,r,i=null===(n=null===(t=null==e?void 0:e.tagName)||void 0===t?void 0:t.toLowerCase)||void 0===n?void 0:n.call(t),o=e instanceof HTMLElement&&"true"===(null===(r=e.getAttribute("contenteditable"))||void 0===r?void 0:r.toLowerCase());return!fe.includes(i)&&!o}(e);if(!Ie.includes(String(e.getAttribute("type")))&&!De.includes(c))try{for(var b=i(h),y=b.next();!y.done;y=b.next()){var w=y.value;m&&!Le.includes(w.name)||(t.has(w.name)?g[w.name]=A:g[w.name]=String(w.value).substring(0,128))}}catch(e){n={error:e}}finally{try{y&&!y.done&&(r=b.return)&&r.call(b)}finally{if(n)throw n.error}}return Object.keys(g).length&&(s.attrs=g),s}function Be(e,t){var n=e.getAttribute(t.explicitTrackingAttribute);if(null!==n&&""===n)return null;var r=e.getAttribute("id");return null===r||""===r?null:function(e,t){var n,r;if(null==e||""===e)return!1;try{for(var o=i(t),a=o.next();!a.done;a=o.next())if(a.value.test(e))return!1}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return!0}(r,t.autogeneratedIdPatterns)?r:null}function je(e,t){return t.map(He).join(" > ")}function He(e){var t=e.tagName.toLowerCase(),n=e.parentElement;if(null===n)return t;var r=function(e,t){for(var n=0,r=0;r<t.children.length;r++){var i=t.children[r];if(i.tagName===e.tagName&&(n+=1,i===e))return n}return 1}(e,n);return"".concat(t,":nth-of-type(").concat(r,")")}function Ue(e){var t=globalThis.CSS;if(t&&"function"==typeof t.escape)return t.escape(e);for(var n=String(e),r=n.length,i="",o=0;o<r;o++){var a=n.charCodeAt(o);0!==a?a>=1&&a<=31||127===a||0===o&&a>=48&&a<=57||1===o&&a>=48&&a<=57&&45===n.charCodeAt(0)?i+="\\".concat(a.toString(16)," "):i+=0!==o||1!==r||45!==a?a>=128||45===a||95===a||a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122?n.charAt(o):"\\".concat(n.charAt(o)):"\\-":i+="�"}return i}function qe(e){return Ue(e)}var ze=[{name:"explicitTrackingAttribute",try:function(e,t){var n=t.config.explicitTrackingAttribute,r=e.getAttribute(n);return null===r||""===r?null:"[".concat(n,"=").concat(JSON.stringify(r),"]")}},{name:"stableId",try:function(e,t){var n=Be(e,t.config);return null===n?null:"".concat(e.tagName.toLowerCase(),"#").concat(qe(n))}}];function Xe(e,t,n){var r,o,a,l,u;void 0===n&&(n={});var c=null!==(a=n.strategies)&&void 0!==a?a:ze,s=null!==(u=null!==(l=n.scope)&&void 0!==l?l:e.ownerDocument)&&void 0!==u?u:document,d={scope:s,config:t},f=function(e,t){var n=[],r=e;for(;null!==r&&(n.push(r),!(void 0!==t&&n.length>t));)r=r.parentElement;return n}(e,t.maxAncestorWalkDepth);try{for(var v=i(c),p=v.next();!p.done;p=v.next())for(var g=p.value,h=0;h<f.length;h++){var m=f[h],b=g.try(m,d);if(null!==b)if(0!==h){var y=je(0,f.slice(0,h).reverse()),w="".concat(b," > ").concat(y);if(Ye(s,w,e,g.name,n.logger))return w}else if(Ye(s,b,e,g.name,n.logger))return b}}catch(e){r={error:e}}finally{try{p&&!p.done&&(o=v.return)&&o.call(v)}finally{if(r)throw r.error}}return null}function Ye(e,t,n,r,i){var o;try{o=e.querySelectorAll(t)}catch(e){var a=e instanceof Error?e.message:String(e);return null==i||i.debug('@amplitude/element-selector: strategy "'.concat(r,'" emitted a malformed selector "').concat(t,'" (').concat(a,")")),!1}return 1===o.length&&o[0]===n}function Ge(e){var t=e.tagName.toLowerCase(),n=e.parentElement;if(null===n)return t;var r=function(e,t){for(var n=0,r=0;r<t.children.length;r++){var i=t.children[r];if(i.tagName===e.tagName&&(n+=1,i===e))return n}return 1}(e,n);return"".concat(t,":nth-of-type(").concat(r,")")}function We(e,t,n){var r;try{r=e.querySelectorAll(t)}catch(e){return!1}return 1===r.length&&r[0]===n}var Fe=function(){function e(e,t){this.value=e,this.optimized=t}return e.prototype.toString=function(){return this.value},e}(),Ve=function(e,t,n){var r,o;if(e.nodeType!==Node.ELEMENT_NODE)return null;var a=e.getAttribute("id");if(t){if(a)return new Fe(Ze(a),!0);var l=e.tagName.toLowerCase();if("body"===l||"head"===l||"html"===l)return new Fe(l,!0)}var u=e.tagName.toLowerCase();if(a)return new Fe(u+Ze(a),!0);var c=e.parentNode;if(!c||c.nodeType===Node.DOCUMENT_NODE)return new Fe(u,!0);for(var s=$e(e),d=!1,f=!1,v=-1,p=-1,g=c.children,h=0;g&&(-1===v||!f)&&h<g.length;++h){var m=g[h];if(m.nodeType===Node.ELEMENT_NODE)if(p+=1,m!==e){if(!f&&m.tagName.toLowerCase()===u){d=!0;var b=new Set(s);if(b.size)for(var y=$e(m),w=0;w<y.length;++w){var E=y[w];if(b.has(E)&&(b.delete(E),!b.size)){f=!0;break}}else f=!0}}else v=p}var x=u;if(n&&"input"===u.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(x+="[type="+Ue(e.getAttribute("type")||"")+"]"),f)x+=":nth-child("+String(v+1)+")";else if(d)try{for(var T=i(s),A=T.next();!A.done;A=T.next()){x+="."+Ue(A.value.slice(1))}}catch(e){r={error:e}}finally{try{A&&!A.done&&(o=T.return)&&o.call(T)}finally{if(r)throw r.error}}return new Fe(x,!1)},$e=function(e){var t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]},Ze=function(e){return"#"+Ue(e)};function Je(e,t){try{return function(e,t){if(e.nodeType!==Node.ELEMENT_NODE)return"";for(var n=[],r=e;r;){var i=Ve(r,Boolean(t),r===e);if(!i)break;if(n.push(i),i.optimized)break;r=r.parentElement}return n.reverse(),n.join(" > ")}(e)}catch(e){var n=e instanceof Error?e.message:String(e);return null==t||t.warn("@amplitude/element-selector: legacyCssPath threw — emitting empty selector: ".concat(n)),""}}var Ke,Qe,et=Object.freeze({enabled:!1,explicitTrackingAttribute:"data-amp-track-id",autogeneratedIdPatterns:a([],o([/^:r[0-9a-z]+:$/,/^radix-/,/^headlessui-/,/^mui-/,/^[a-f0-9]{16,}$/i,/-\d{8,}$/,/\d{4,}/]),!1),unstableClassPatterns:a([],o([/^(p|m|px|py|mx|my|pt|pb|pl|pr|mt|mb|ml|mr)-\d+$/,/^(w|h|min-w|max-w|min-h|max-h)-/,/^(text|bg|border|ring|fill|stroke)-/,/^(hover|focus|active|disabled|group-hover):/,/^(sm|md|lg|xl|2xl):/,/^z-\d+$/,/^data-\[/,/^\[/,/^css-[a-z0-9]{6,}$/,/^[a-zA-Z]+_[a-zA-Z0-9]{3,}__[a-zA-Z0-9]{5,}$/,/^sc-[a-zA-Z0-9]{6,}$/,/^jsx-\d+$/,/^swiper-slide-(visible|fully-visible|active|prev|next|duplicate)$/,/^is-(active|open|selected|hovered|focused|expanded)$/,/^Mui[A-Z][a-zA-Z]+-(focused|selected|disabled|expanded|focusVisible|active|checked)$/,/^Mui-(selected|focused|disabled|expanded|focusVisible|active|checked)$/,/^data-state-/]),!1),maxAncestorWalkDepth:void 0});function tt(e,t){if(!e)return nt();var n,r=nt();return"boolean"==typeof e.enabled&&(r.enabled=e.enabled),"string"==typeof e.explicitTrackingAttribute&&""!==e.explicitTrackingAttribute&&(r.explicitTrackingAttribute=e.explicitTrackingAttribute),Array.isArray(e.autogeneratedIdPatterns)&&(r.autogeneratedIdPatterns=function(e,t){var n,r,o=[];try{for(var a=i(e),l=a.next();!l.done;l=a.next()){var u=l.value;try{o.push(new RegExp(u))}catch(e){var c=e instanceof Error?e.message:String(e);null==t||t.warn('@amplitude/element-selector: ignoring invalid autogenerated-id pattern "'.concat(u,'" (').concat(c,")"))}}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return o}(e.autogeneratedIdPatterns,t)),Array.isArray(e.unstableClassPatterns)&&(r.unstableClassPatterns=function(e,t){var n,r,o=[];try{for(var a=i(e),l=a.next();!l.done;l=a.next()){var u=l.value;try{o.push(new RegExp(u))}catch(e){var c=e instanceof Error?e.message:String(e);null==t||t.warn('@amplitude/element-selector: ignoring invalid unstable-class pattern "'.concat(u,'" (').concat(c,")"))}}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return o}(e.unstableClassPatterns,t)),r.maxAncestorWalkDepth="number"!=typeof(n=e.maxAncestorWalkDepth)?void 0:Number.isFinite(n)?n<=0?void 0:Math.floor(n):void 0,r}function nt(){return{enabled:et.enabled,explicitTrackingAttribute:et.explicitTrackingAttribute,autogeneratedIdPatterns:a([],o(et.autogeneratedIdPatterns),!1),unstableClassPatterns:a([],o(et.unstableClassPatterns),!1),maxAncestorWalkDepth:et.maxAncestorWalkDepth}}function rt(e,t){void 0===t&&(t={});var n=e,r=new Set,l=t.logger,u={strategies:t.strategies,scope:t.scope,logger:l};return{generate:function(e){var r,i;if(!n.enabled)return Je(e,l);try{var c=Xe(e,n,u);return null!==c?c:function(e,t,n){var r,i;void 0===n&&(n={});for(var l=null!==(i=null!==(r=n.scope)&&void 0!==r?r:e.ownerDocument)&&void 0!==i?i:document,u=[],c=e,s=0;null!==c&&!(void 0!==t.maxAncestorWalkDepth&&s>t.maxAncestorWalkDepth);){var d=Be(c,t);if(null!==d){var f=a(["".concat(c.tagName.toLowerCase(),"#").concat(qe(d))],o(u),!1).join(" > ");if(We(l,f,e))return f}u.unshift(Ge(c)),c=c.parentElement,s+=1}return u.join(" > ")}(e,n,{scope:null!==(i=null!==(r=t.scope)&&void 0!==r?r:e.ownerDocument)&&void 0!==i?i:document})}catch(t){var s=t instanceof Error?t.message:String(t);return null==l||l.warn("@amplitude/element-selector: strategy chain threw — falling back to legacy cssPath: ".concat(s)),Je(e,l)}},getConfig:function(){return n},updateConfig:function(e){var t,o;n=e;try{for(var a=i(r),u=a.next();!u.done;u=a.next()){var c=u.value;try{c(e)}catch(e){var s=e instanceof Error?e.message:String(e);null==l||l.warn("@amplitude/element-selector: onConfigChange subscriber threw — ".concat(s))}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}},onConfigChange:function(e){return r.add(e),function(){r.delete(e)}}}}function it(){return Ke||(Ke=rt(tt(),{logger:Qe})),Ke}var ot,at=function(e,t){var n,r,l,u=this;this.replaceSensitiveString=function(e){return function(e,t){var n,r;if(void 0===t&&(t=[]),"string"!=typeof e)return"";var o=e;o=(o=(o=o.replace(k,A)).replace(C,A)).replace(S,A);try{for(var a=i(t),l=a.next();!l.done;l=a.next()){var u=l.value;try{o=o.replace(u,A)}catch(e){}}}catch(e){n={error:e}}finally{try{l&&!l.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}return o}(e,u.additionalMaskTextPatterns)},this.getHierarchy=function(e){var t,n,r,l,c,s=performance.now();if(!e)return[];for(var d=function(e){var t=[];if(!e)return t;t.push(e);for(var n=e.parentElement;n&&"HTML"!==n.tagName;)t.push(n),n=n.parentElement;return t}(e),f=new Map,v=d.length-1;v>=0;v--){var p=d[v];if(p){var g=ge(p.getAttribute(de)),h=v===d.length-1?[]:null!==(r=f.get(d[v+1]))&&void 0!==r?r:new Set,m=new Set(a(a([],o(h),!1),o(g),!1));f.set(p,m)}}c=d.map(function(e){var t;return Re(e,null!==(t=f.get(e))&&void 0!==t?t:new Set)});var b=function(e){(null==e?void 0:e.attrs)&&Object.entries(e.attrs).forEach(function(t){var n=o(t,2),r=n[0],i=n[1];e.attrs&&(e.attrs[r]=u.replaceSensitiveString(i))})};try{for(var y=i(c),w=y.next();!w.done;w=y.next())b(w.value)}catch(e){t={error:e}}finally{try{w&&!w.done&&(n=y.return)&&n.call(y)}finally{if(t)throw t.error}}var E=performance.now();return null===(l=u.diagnosticsClient)||void 0===l||l.recordHistogram("autocapturePlugin.getHierarchy",E-s),c},this.getNearestLabel=function(e){var t,n=e.parentElement;if(!n)return"";try{t=n.querySelector(":scope>span,h1,h2,h3,h4,h5,h6")}catch(e){t=null}return t?u.getText(t):u.getNearestLabel(n)},this.getElementPath=function(e){var t;if(!e)return"";var n=performance.now(),r=u.selectorEngine.getConfig(),i=u.selectorEngine.generate(e);if(r.enabled&&Qe){var o=e.getAttribute("id");Qe.debug("@amplitude/plugin-autocapture-browser: element-selector engine enabled",{elementPath:i,tag:e.tagName.toLowerCase(),id:o||void 0})}var a=performance.now();return null===(t=u.diagnosticsClient)||void 0===t||t.recordHistogram("autocapturePlugin.getElementPath",a-n),i},this.updateSelectorConfig=function(e,t){t&&(Qe=t);var n=tt(null!=e?e:void 0,t),r=it(),i=r.getConfig().enabled;r.updateConfig(n),null==t||t.debug("@amplitude/plugin-autocapture-browser: element-selector config updated",{enabled:n.enabled,wasEnabled:i,toggled:i!==n.enabled,explicitTrackingAttribute:n.explicitTrackingAttribute,autogeneratedIdPatternCount:n.autogeneratedIdPatterns.length,unstableClassPatternCount:n.unstableClassPatterns.length,maxAncestorWalkDepth:n.maxAncestorWalkDepth})},this.getEventProperties=function(e,t,n){var r,i,a,l,s,d,f=null===(a=null===(i=null==t?void 0:t.tagName)||void 0===i?void 0:i.toLowerCase)||void 0===a?void 0:a.call(i),v="function"==typeof t.getBoundingClientRect?t.getBoundingClientRect():{left:null,top:null},p=u.getHierarchy(t),g=null===(l=p[0])||void 0===l?void 0:l.attrs,h=u.getNearestLabel(t),m=(s=null!=g?g:{},d=n,Object.entries(s).reduce(function(e,t){var n=o(t,2),r=n[0],i=n[1];if(r.startsWith(d)){var a=r.replace(d,"");a&&(e[a]=i||"")}return e},{})),b=((r={})["[Amplitude] Element Hierarchy"]=p,r[oe]=f,r[ae]=u.getText(t),r["[Amplitude] Element Position Left"]=null==v.left?null:Math.round(v.left),r["[Amplitude] Element Position Top"]=null==v.top?null:Math.round(v.top),r["[Amplitude] Element Attributes"]=m,r["[Amplitude] Element Path"]=u.getElementPath(t),r["[Amplitude] Element Parent Label"]=h,r[le]=c(window.location.href.split("?")[0]),r["[Amplitude] Page Title"]=function(e){if("undefined"==typeof document||!document.title)return"";var t=document.querySelector("title");return t&&t.hasAttribute(T)?A:e?e(document.title):document.title}(u.replaceSensitiveString),r[ue]=window.innerHeight,r[ce]=window.innerWidth,r),y=me();if(y&&(b[se]=y),b["[Amplitude] Element ID"]=t.getAttribute("id")||"",b["[Amplitude] Element Class"]=t.getAttribute("class"),b["[Amplitude] Element Aria Label"]=null==g?void 0:g["aria-label"],"a"===f&&"click"===e&&t instanceof HTMLAnchorElement){var w=t.href.substring(0,128);b["[Amplitude] Element Href"]=u.replaceSensitiveString(w)}return he(b)},this.addTypeAndTimestamp=function(e,t){return{event:e,timestamp:Date.now(),type:t}},this.addAdditionalEventProperties=function(e,t,n,r,i){void 0===i&&(i=!1);var o=u.addTypeAndTimestamp(e,t);if(function(e){return"click"===e.type||"change"===e.type}(o)&&null!==o.event.target){if(i){var a=function(e,t){var n,r=null===(n=null===window||void 0===window?void 0:window.getComputedStyle)||void 0===n?void 0:n.call(window,e);return"pointer"===(null==r?void 0:r.getPropertyValue("cursor"))&&"click"===t}(o.event.target,o.type);if(a)return o.closestTrackedAncestor=o.event.target,o.targetElementProperties=u.getEventProperties(o.type,o.closestTrackedAncestor,r),o}var l=be(o.event.target,n);return l&&(o.closestTrackedAncestor=l,o.targetElementProperties=u.getEventProperties(o.type,l,r)),o}return o},this.extractDataFromDataSource=function(e,t){if("DOM_ELEMENT"===e.sourceType){var n=function(e,t){try{if("DOM_ELEMENT"===e.sourceType){var n=document.documentElement;return e.scope&&t&&(n=t.closest(e.scope)),n&&e.selector?n.querySelector(e.selector):n}}catch(e){return}}(e,t);if(!n)return;return"TEXT"===e.elementExtractType?u.getText(n):"ATTRIBUTE"===e.elementExtractType&&e.attribute?n.getAttribute(e.attribute):void 0}},this.getTextWithMaskedDescendants=function(e){var t,n,r="[".concat(T,"], [contenteditable]");if(!e.querySelector(r))return e.innerText;var o="",a=Array.from(e.childNodes);try{for(var l=i(a),c=l.next();!c.done;c=l.next()){var s=c.value;s.nodeType!==Node.TEXT_NODE?s instanceof Element&&(s.hasAttribute(T)||s.hasAttribute("contenteditable")?o+=A:o+=u.getTextWithMaskedDescendants(s)):o+=s.textContent||""}}catch(e){t={error:e}}finally{try{c&&!c.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}return o},this.getText=function(e){if(null!==e.closest("[".concat(T,"]")))return A;var t="";return t=e.querySelector("[".concat(T,"], [contenteditable]"))?u.getTextWithMaskedDescendants(e):e.innerText||"",u.replaceSensitiveString(t.substring(0,255)).replace(/\s+/g," ").trim()},this.getEventTagProps=function(e){var t,n,r;if(!e)return{};var i=null===(r=null===(n=null==e?void 0:e.tagName)||void 0===n?void 0:n.toLowerCase)||void 0===r?void 0:r.call(n),o=((t={})[oe]=i,t[ae]=u.getText(e),t[le]=window.location.href.split("?")[0],t);return he(o)},this.diagnosticsClient=null==t?void 0:t.diagnosticsClient,this.selectorEngine=it();var s=null!==(l=e.maskTextRegex)&&void 0!==l?l:[],d=[];try{for(var f=i(s),v=f.next();!v.done;v=f.next()){var p=v.value;if(d.length>=25)break;if(p instanceof RegExp)d.push(p);else if("pattern"in p&&"string"==typeof p.pattern)try{d.push(new RegExp(p.pattern,"i"))}catch(e){}}}catch(e){n={error:e}}finally{try{v&&!v.done&&(r=f.return)&&r.call(f)}finally{if(n)throw n.error}}this.additionalMaskTextPatterns=d},lt="configs.analyticsSDK.browserSDK.autocapture.elementSelector";function ut(e,t){var n=e.remoteConfigClient;if(e.fetchRemoteConfig&&n){e.loggerProvider.debug('@amplitude/plugin-autocapture-browser: subscribing to element-selector remote config at "'.concat(lt,'"'));var r=n.subscribe(lt,"all",function(n){var r,i=n;e.loggerProvider.debug("@amplitude/plugin-autocapture-browser: element-selector remote config delivered",{enabled:null!==(r=null==i?void 0:i.enabled)&&void 0!==r?r:"default (false)",hasPayload:null!=i}),t.updateSelectorConfig(i,e.loggerProvider)});return function(){e.loggerProvider.debug("@amplitude/plugin-autocapture-browser: unsubscribing from element-selector remote config (subscription ".concat(r,")")),n.unsubscribe(r)}}}!function(e){e.ClickObservable="clickObservable",e.ChangeObservable="changeObservable",e.NavigateObservable="navigateObservable",e.MutationObservable="mutationObservable",e.ScrollObservable="scrollObservable",e.ExposureObservable="exposureObservable",e.BrowserErrorObservable="browserErrorObservable",e.SelectionObservable="selectionObservable",e.MouseMoveObservable="mouseMoveObservable"}(ot||(ot={}));var ct=function(e,u){var s,d,f,v,p,g,y,w,E,x,T,A;void 0===e&&(e={}),null==u||u.diagnosticsClient.setTag("plugin.autocapture.version",re);var k=e.dataAttributePrefix,C=void 0===k?m:k,S=e.visualTaggingOptions,O=void 0===S?{enabled:!0}:S;e.cssSelectorAllowlist=null!==(s=e.cssSelectorAllowlist)&&void 0!==s?s:h,e.actionClickAllowlist=null!==(d=e.actionClickAllowlist)&&void 0!==d?d:b,e.debounceTime=null!==(f=e.debounceTime)&&void 0!==f?f:0;var P=!1!==(null===(v=e.viewportContentUpdated)||void 0===v?void 0:v.enabled),M=null!==(y=null!==(g=null===(p=e.viewportContentUpdated)||void 0===p?void 0:p.exposureDuration)&&void 0!==g?g:e.exposureDuration)&&void 0!==y?y:150;e.viewportContentUpdated=t(t({},e.viewportContentUpdated),{exposureDuration:M}),e.pageUrlExcludelist=null===(w=e.pageUrlExcludelist)||void 0===w?void 0:w.reduce(function(e,t){if("string"==typeof t&&e.push(t),t instanceof RegExp&&e.push(t),"object"==typeof t&&null!==t&&"pattern"in t)try{e.push(new RegExp(t.pattern))}catch(n){return console.warn("Invalid regex pattern: ".concat(t.pattern),n),e}return e},[]);var _,N="@amplitude/plugin-autocapture-browser",L=[],D=new at(e,u),I=new Set,R=new Set,B=function(){var t,n,r=F(Ae().map(function(t){return D.addAdditionalEventProperties(t,"click",e.cssSelectorAllowlist,C)})),i=F(new Y(function(t){var n,r=function(n){var r=D.addAdditionalEventProperties(n,"change",e.cssSelectorAllowlist,C);t.next(r)};return null===(n=l())||void 0===n||n.document.addEventListener("change",r,{capture:!0}),function(){var e;return null===(e=l())||void 0===e?void 0:e.document.removeEventListener("change",r)}}));window.navigation&&(n=F(new Y(function(t){var n=function(n){var r=D.addAdditionalEventProperties(n,"navigate",e.cssSelectorAllowlist,C);t.next(r)};return window.navigation.addEventListener("navigate",n),function(){window.navigation.removeEventListener("navigate",n)}})));var o=F(Te().map(function(t){return D.addAdditionalEventProperties(t,"mutation",e.cssSelectorAllowlist,C)})),a=new Y(function(e){var t,n=function(t){e.next(t)};return null===(t=l())||void 0===t||t.addEventListener("scroll",n),function(){var e;null===(e=l())||void 0===e||e.removeEventListener("scroll",n)}}),u=function(e,t){return new Y(function(n){var r,i=l();if(!(null==i?void 0:i.IntersectionObserver))return function(){};var o=new IntersectionObserver(function(e){e.forEach(function(e){n.next(e)})},{root:null,rootMargin:"0px",threshold:1}),a=t.join(",");(null!==(r=null==i?void 0:i.document.querySelectorAll(a))&&void 0!==r?r:[]).forEach(function(e){o.observe(e)});var u=e.subscribe(function(e){return e.event.forEach(function(e){return e.addedNodes.forEach(function(e){e instanceof Element&&(e.matches(a)&&o.observe(e),e.querySelectorAll(a).forEach(function(e){o.observe(e)}))})})});return function(){u.unsubscribe(),o.disconnect()}})}(o,e.cssSelectorAllowlist);return(t={})[ot.ChangeObservable]=i,t[ot.ClickObservable]=r,t[ot.MutationObservable]=o,t[ot.NavigateObservable]=n,t[ot.ScrollObservable]=a,t[ot.ExposureObservable]=u,t},j=Oe(Object.values(null!==(x=null===(E=e.pageActions)||void 0===E?void 0:E.labeledEvents)&&void 0!==x?x:{})),H=Pe(null!==(A=null===(T=e.pageActions)||void 0===T?void 0:T.triggers)&&void 0!==A?A:[]),U=function(e,t,n,r){return new _e(e,t,n,r)}(j,H,D,e);return{name:N,type:"enrichment",setup:function(i,u){return n(void 0,void 0,void 0,function(){var n,s,d,f,v,p,g,h,m,b,y,w,E,x,T,A,k,S,q,z,X,Y;return r(this,function(r){return"undefined"==typeof document||(n=!1,s={maxX:void 0,maxY:void 0},i.fetchRemoteConfig&&(i.remoteConfigClient?i.remoteConfigClient.subscribe("configs.analyticsSDK.pageActions","all",function(n){!function(n){var r,i;n&&(e.pageActions=t(t({},e.pageActions),n),j=Oe(Object.values(null!==(r=e.pageActions.labeledEvents)&&void 0!==r?r:{})),H=Pe(null!==(i=e.pageActions.triggers)&&void 0!==i?i:[]),U.update(j,H,e))}(n)}):i.loggerProvider.debug("Remote config client is not provided, skipping remote config fetch")),(d=ut(i,D))&&L.push({unsubscribe:d}),f=pe(e,e.cssSelectorAllowlist),v=pe(e,e.actionClickAllowlist),p=B(),g=function(e){var t=e.amplitude,n=e.allObservables,r=e.shouldTrackEvent,i=e.evaluateTriggers;return n.clickObservable.filter(ye).filter(function(e){return r("click",e.closestTrackedAncestor)}).map(function(e){return i(e)}).subscribe(function(e){null==t||t.track(ie,e.targetElementProperties)})}({allObservables:p,amplitude:u,shouldTrackEvent:f,evaluateTriggers:U.evaluate.bind(U)}),L.push(g),h=function(e){var t=e.amplitude,n=e.allObservables,r=e.getEventProperties,i=e.shouldTrackEvent,o=e.evaluateTriggers;return n.changeObservable.filter(ye).filter(function(e){return i("change",e.closestTrackedAncestor)}).map(function(e){return o(e)}).subscribe(function(e){null==t||t.track("[Amplitude] Element Changed",r("change",e.closestTrackedAncestor))})}({allObservables:p,getEventProperties:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return D.getEventProperties.apply(D,a(a([],o(e),!1),[C],!1))},amplitude:u,shouldTrackEvent:f,evaluateTriggers:U.evaluate.bind(U)}),L.push(h),m=function(e){var t=e.amplitude,n=e.allObservables,r=e.options,i=e.getEventProperties,o=e.shouldTrackEvent,a=e.shouldTrackActionClick,l=n.clickObservable,u=n.mutationObservable,c=n.navigateObservable,s=l.filter(function(e){return!o("click",e.closestTrackedAncestor)}).map(function(e){var t=be(e.event.target,r.actionClickAllowlist);return e.closestTrackedAncestor=t,null!==e.closestTrackedAncestor&&(e.targetElementProperties=i(e.type,e.closestTrackedAncestor)),e}).filter(ye).filter(function(e){return a("click",e.closestTrackedAncestor)}),d=c?W(u,c):u,f=W(s,d),v=null,p=null;return G(f,function(e){if(v&&(clearTimeout(v),v=null),"click"===e.type)return p=e,v=setTimeout(function(){v=null,p=null},500),Promise.resolve(null);if(p){var t=p;return p=null,Promise.resolve(t)}return Promise.resolve(null)}).subscribe(function(e){e&&(null==t||t.track(ie,i("click",e.closestTrackedAncestor)))})}({allObservables:p,options:e,getEventProperties:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return D.getEventProperties.apply(D,a(a([],o(e),!1),[C],!1))},amplitude:u,shouldTrackEvent:f,shouldTrackActionClick:v}),m&&L.push(m),b=function(e){e.amplitude;var t=e.allObservables.scrollObservable,n={maxX:0,maxY:0},r=t.subscribe(function(){var e,t,r,i,o=l(),a=Math.floor(null!==(t=null!==(e=null==o?void 0:o.scrollX)&&void 0!==e?e:null==o?void 0:o.pageXOffset)&&void 0!==t?t:0),u=Math.floor(null!==(i=null!==(r=null==o?void 0:o.scrollY)&&void 0!==r?r:null==o?void 0:o.pageYOffset)&&void 0!==i?i:0);n.maxX=Math.max(n.maxX,a),n.maxY=Math.max(n.maxY,u)});return{unsubscribe:function(){r.unsubscribe()},getState:function(){return n},reset:function(){n.maxX=0,n.maxY=0}}}({allObservables:p,amplitude:u}),L.push(b),y={},w=l(),E=function(e){e&&n||(setTimeout(function(){n=!1},100),n=!0,function(e){var t,n,r,i,o,a,u=e.amplitude,s=e.scrollTracker,d=e.currentElementExposed,f=e.elementExposedForPage,v=e.exposureTracker,p=e.isPageEnd,g=e.lastScroll,h=s.getState(),m=l(),b=null!==(n=null==m?void 0:m.innerWidth)&&void 0!==n?n:0,y=null!==(r=null==m?void 0:m.innerHeight)&&void 0!==r?r:0,w=((t={})[le]=c(null!==(a=null===(o=null===(i=null==m?void 0:m.location)||void 0===i?void 0:i.href)||void 0===o?void 0:o.split("?")[0])&&void 0!==a?a:""),t["[Amplitude] Max Page X"]=h.maxX+b,t["[Amplitude] Max Page Y"]=h.maxY+y,t[ue]=y,t[ce]=b,t["[Amplitude] Element Exposed"]=Array.from(d),t),E=me();E&&(w[se]=E),0!==d.size||h.maxX!==g.maxX||h.maxY!==g.maxY?(null==u||u.track("[Amplitude] Viewport Content Updated",w),g.maxX=h.maxX,g.maxY=h.maxY,d.clear(),p&&(s.reset(),f.clear(),null==v||v.reset())):p&&(s.reset(),f.clear(),null==v||v.reset())}({amplitude:u,scrollTracker:b,currentElementExposed:R,elementExposedForPage:I,exposureTracker:y.exposure,isPageEnd:e,lastScroll:s}))},x=function(e){!function(e,t,n,r){if(!t.has(e)){t.add(e),n.add(e);var i=Array.from(n);JSON.stringify(i).length>=18e3&&r(!1)}}(e,I,R,E)},P&&(y.exposure=function(e){var t=e.allObservables,n=e.onExposure,r=e.dataExtractor,i=e.exposureDuration,o=void 0===i?150:i,a=new Map,l=new Map,u=t.exposureObservable.subscribe(function(e){var t=e,i=t.target;if(t.isIntersecting){if(!a.get(i)){var u=setTimeout(function(){a.set(i,!0);var e=r.getElementPath(i);n(e),l.set(i,null)},o);l.set(i,u)}}else!t.isIntersecting&&t.intersectionRatio<1&&(u=l.get(i))&&(clearTimeout(u),l.set(i,null))});return{unsubscribe:function(){u.unsubscribe()},reset:function(){l.forEach(function(e){e&&clearTimeout(e)}),l.clear(),a.clear()}}}({allObservables:p,onExposure:x,dataExtractor:D,exposureDuration:M}),y.exposure&&L.push(y.exposure),T=function(){E(!0)},null==w||w.addEventListener("beforeunload",T),_=function(){null==w||w.removeEventListener("beforeunload",T)},L.push({unsubscribe:function(){return _()}}),(A=p[ot.NavigateObservable])?L.push(A.subscribe(function(){E(!0)})):w&&(k=function(){E(!0)},w.addEventListener("popstate",k),S=w.history.pushState,w.history&&S&&(w.history.pushState=new Proxy(S,{apply:function(e,t,n){var r=o(n,3),i=r[0],a=r[1],l=r[2];e.apply(t,[i,a,l]),E(!0)}})),L.push({unsubscribe:function(){w.removeEventListener("popstate",k),w.history&&S&&(w.history.pushState=S)}}))),null===(Y=null==i?void 0:i.loggerProvider)||void 0===Y||Y.log("".concat(N," has been successfully added.")),window.opener&&O.enabled&&(q=e.cssSelectorAllowlist,z=e.actionClickAllowlist,Ee(X=ee(),{dataExtractor:D,isElementSelectable:pe(e,a(a([],o(q),!1),o(z),!1)),cssSelectorAllowlist:q,actionClickAllowlist:z}),function(e,t){var n,r=e;if(!0!==r[te]){r[te]=!0;var i=null!==(n=null==t?void 0:t.scriptUrl)&&void 0!==n?n:"https://cdn.amplitude.com/libs/background-capture-1.0.1.js.gz",o=null,a=function(t,n){var r,i;"background-capture-complete"===t&&(null===(i=null===(r=e.logger)||void 0===r?void 0:r.debug)||void 0===i||i.call(r,"Background capture complete"),e.notify({action:"background-capture-complete",data:n}))};e.registerActionHandler("initialize-background-capture",function(){var t,n;null===(n=null===(t=e.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Initializing background capture (external script)");var r=new URL(i,e.endpoint).toString();e.loadScriptOnce(r).then(function(){var t,n,r;null===(n=null===(t=e.logger)||void 0===t?void 0:t.debug)||void 0===n||n.call(t,"Background capture script loaded (external)"),o=null===(r=null===window||void 0===window?void 0:window.amplitudeBackgroundCapture)||void 0===r?void 0:r.call(window,{messenger:e,onBackgroundCapture:a}),e.notify({action:"background-capture-loaded"})}).catch(function(){var t;null===(t=e.logger)||void 0===t||t.warn("Failed to initialize background capture")})}),e.registerActionHandler("close-background-capture",function(){var e;null===(e=null==o?void 0:o.close)||void 0===e||e.call(o),o=null})}}(X),X.setup(t({logger:null==i?void 0:i.loggerProvider},(null==i?void 0:i.serverZone)&&{endpoint:Z[i.serverZone]})))),[2]})})},execute:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(t){return[2,e]})})},teardown:function(){return n(void 0,void 0,void 0,function(){var e,t,n,o;return r(this,function(r){try{for(e=i(L),t=e.next();!t.done;t=e.next())t.value.unsubscribe()}catch(e){n={error:e}}finally{try{t&&!t.done&&(o=e.return)&&o.call(e)}finally{if(n)throw n.error}}return[2]})})}}},st=["mutation","navigate"];function dt(e,t){var n,r,i,o,a=t.event,l=a.pageX,u=a.pageY;e.yMin=Math.min(null!==(n=e.yMin)&&void 0!==n?n:u,u),e.yMax=Math.max(null!==(r=e.yMax)&&void 0!==r?r:u,u),e.xMin=Math.min(null!==(i=e.xMin)&&void 0!==i?i:l,l),e.xMax=Math.max(null!==(o=e.xMax)&&void 0!==o?o:l,l),e.isOutOfBounds=e.yMax-e.yMin>50||e.xMax-e.xMin>50}function ft(e){if(0===e.length)return null;var n=e[0],r=e[e.length-1];return{rageClickEvent:t({"[Amplitude] Begin Time":new Date(n.timestamp).toISOString(),"[Amplitude] End Time":new Date(r.timestamp).toISOString(),"[Amplitude] Duration":r.timestamp-n.timestamp,"[Amplitude] Clicks":e.map(function(e){return{X:e.event.pageX,Y:e.event.pageY,Time:e.timestamp}}),"[Amplitude] Click Count":e.length},n.targetElementProperties),time:n.timestamp}}function vt(e){var t=this,i=e.amplitude,o=e.allObservables,a=e.shouldTrackRageClick,l=o.clickObservable,u=o.selectionObservable,c=[],s={},d=null;function f(e){c=[],s={},e&&(dt(s,e),c.push(e))}var v=G(l.filter(function(e){return a("click",e.closestTrackedAncestor)}),function(e){return n(t,void 0,void 0,function(){var t;return r(this,function(n){return dt(s,e),t=null,0===c.length||function(e,t){return e.length>0&&e[e.length-1].closestTrackedAncestor!==t.closestTrackedAncestor}(c,e)||function(e,t){var n=e[Math.max(0,e.length-4+1)];return t.timestamp-n.timestamp>=1e3}(c,e)||s.isOutOfBounds?(d&&(t=ft(c)),f(e)):c.push(e),d&&(clearTimeout(d.timerId),d.resolve(t),d=null),c.length>=4?[2,new Promise(function(e){d={resolve:e,timerId:setTimeout(function(){e(ft(c))},1e3)}})]:[2,null]})})}),p=null==u?void 0:u.subscribe(function(){f()}),g=v.subscribe(function(e){null!==e&&i.track("[Amplitude] Rage Click",e.rageClickEvent,{time:e.time})});return{unsubscribe:function(){g.unsubscribe(),null==p||p.unsubscribe()}}}var pt,gt;!function(e){e.INCREASING="increasing",e.DECREASING="decreasing"}(pt||(pt={})),function(e){e.X="x",e.Y="y"}(gt||(gt={}));function ht(e){var t=e.changes,n=e.changesThreshold,r=e.thresholdMs;return!(t.length<n)&&t[t.length-1]-t[0]<r}function mt(e){e.changes=[],e.startTime=void 0}function bt(e){for(var t=e.changes,n=e.thresholdMs,r=0,i=t[t.length-1];r<t.length;r++){if(i-t[r]<n)break}0!==r&&(e.startTime=t[r],e.changes.splice(0,r))}var yt=function(e){var t=e.mouseDirectionChangeObservable,n=e.directionChanges,r=void 0===n?20:n,i=e.thresholdMs,o=void 0===i?2e3:i;return new Y(function(e){var n={changes:[],changesThreshold:r,thresholdMs:o},i={changes:[],changesThreshold:r,thresholdMs:o},a=void 0,l=null;function u(){void 0!==a&&(e.next(a),a=void 0,null!==l&&clearTimeout(l),mt(n),mt(i))}return t.subscribe(function(e){null!==l&&clearTimeout(l),function(e){var t=+Date.now();e.startTime=e.startTime||t;var n=e.changes,r=e.changesThreshold;n.push(t),n.length>r&&n.shift()}(e===gt.X?n:i);var t=function(e,t){var n=void 0;if(ht(e)&&(n=e.startTime),ht(t)){var r=t.startTime;r&&(!n||r<n)&&(n=r)}return n}(n,i);return t?(a=a||t,l=setTimeout(function(){u(),l=null},o)):u(),bt(n),bt(i),function(){null!==l&&(clearTimeout(l),l=null)}})})},wt=function(e){var t=e.amplitude,n=e.options,r=e.allObservables,i=e.directionChanges,o=void 0===i?20:i,a=e.thresholdMs,l=void 0===a?2e3:a,u=function(e){var t=e.allWindowObservables.mouseMoveObservable;return new Y(function(e){var n=null,r=null,i=null;return t.subscribe(function(t){var o={x:t.clientX,y:t.clientY};null!==n?(o.x>n.x?(r===pt.DECREASING&&e.next(gt.X),r=pt.INCREASING):o.x<n.x&&(r===pt.INCREASING&&e.next(gt.X),r=pt.DECREASING),o.y>n.y?(i===pt.DECREASING&&e.next(gt.Y),i=pt.INCREASING):o.y<n.y&&(i===pt.INCREASING&&e.next(gt.Y),i=pt.DECREASING),n=o):n=o})})}({allWindowObservables:r});return yt({mouseDirectionChangeObservable:u,directionChanges:o,thresholdMs:l}).subscribe(function(e){ve(n)&&t.track("[Amplitude] Thrashed Cursor",void 0,{time:e})})};function Et(e,t,n,r){if(!r)return[];var i=e[t];return"object"==typeof i&&null!==i&&"cssSelectorAllowlist"in i&&Array.isArray(i.cssSelectorAllowlist)?i.cssSelectorAllowlist:n}var xt=4e3;function Tt(e,t){var n=e.startTime+e.duration;return t.filter(function(t){return t.startTime<n&&t.startTime+t.duration>e.startTime}).map(function(e){return e.name})}function At(e,n){var r,i=Tt(e,n),o=null!==(r=e.scripts)&&void 0!==r?r:[],a=o.map(function(e){return e.sourceURL}).filter(Boolean),l=o.map(function(e){return e.sourceFunctionName}).filter(Boolean),u=o.map(function(e){return e.sourceCharPosition}).filter(function(e){return"number"==typeof e&&e>=0}),c=o.map(function(e){return e.invokerType}).filter(Boolean),s=o.map(function(e){return e.invoker}).filter(Boolean);return t(t(t(t(t(t(t({"[Amplitude] Main Thread Block Source":"long-animation-frame","[Amplitude] Main Thread Block Duration":e.duration,"[Amplitude] Main Thread Block Blocking Duration":e.blockingDuration,"[Amplitude] Main Thread Block Start Time":e.startTime},i.length>0&&{"[Amplitude] Main Thread Block Measures":i}),{"[Amplitude] Main Thread Block Render Start":e.renderStart,"[Amplitude] Main Thread Block Style And Layout Start":e.styleAndLayoutStart,"[Amplitude] Main Thread Block Script Count":o.length}),a.length>0&&{"[Amplitude] Main Thread Block Script URLs":a}),l.length>0&&{"[Amplitude] Main Thread Block Script Functions":l}),u.length>0&&{"[Amplitude] Main Thread Block Script Positions":u}),c.length>0&&{"[Amplitude] Main Thread Block Invoker Types":c}),s.length>0&&{"[Amplitude] Main Thread Block Invokers":s})}function kt(e,n){var r,i=Tt(e,n),o=null!==(r=e.attribution)&&void 0!==r?r:[];return t(t({"[Amplitude] Main Thread Block Source":"long-task","[Amplitude] Main Thread Block Duration":e.duration,"[Amplitude] Main Thread Block Blocking Duration":e.duration,"[Amplitude] Main Thread Block Start Time":e.startTime},i.length>0&&{"[Amplitude] Main Thread Block Measures":i}),o.length>0&&{"[Amplitude] Main Thread Block Attribution":o.map(function(e){return e.name})})}function Ct(e){var t=e.amplitude,n=e.options,r=e.durationThreshold,o=void 0===r?100:r,a=function(){if("undefined"==typeof PerformanceObserver)return null;try{var e=PerformanceObserver.supportedEntryTypes;if(e.includes("long-animation-frame"))return"long-animation-frame";if(e.includes("longtask"))return"longtask"}catch(e){}return null}();if(!a)return{unsubscribe:function(){}};var l=[],u=new PerformanceObserver(function(e){var t,n,r=performance.now();try{for(var o=i(e.getEntries()),a=o.next();!a.done;a=o.next()){var u=a.value;l.push(u)}}catch(e){t={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}for(var c=r-1e4;l.length>0&&l[0].startTime<c;)l.shift()});try{u.observe({entryTypes:["measure"]})}catch(e){}var c=new PerformanceObserver(function(e){var r,u;try{for(var c=i(e.getEntries()),s=c.next();!s.done;s=c.next()){var d=s.value;if(!ve(n))return;if(!(d.duration<o)){var f="long-animation-frame"===a?At(d,l):kt(d,l);t.track("[Amplitude] Main Thread Block",f)}}}catch(e){r={error:e}}finally{try{s&&!s.done&&(u=c.return)&&u.call(c)}finally{if(r)throw r.error}}});try{c.observe({entryTypes:[a]})}catch(e){return u.disconnect(),{unsubscribe:function(){}}}return{unsubscribe:function(){c.disconnect(),u.disconnect()}}}return e.DataExtractor=at,e.autocapturePlugin=ct,e.enableVisualTagging=Ee,e.frustrationPlugin=function(e){var l;void 0===e&&(e={});var u="@amplitude/plugin-frustration-browser",c=[],s=!1!==e.errorClicks;e.errorClicks||(s=!1);var d=!1!==e.deadClicks&&null!==e.deadClicks,f=!1!==e.rageClicks&&null!==e.rageClicks,v=!1!==e.thrashedCursor&&null!==e.thrashedCursor;e.thrashedCursor||(v=!1);var p=Et(e,"rageClicks",x,f),g=Et(e,"deadClicks",w,d),h=Et(e,"errorClicks",E,s),b=null!==(l=e.dataAttributePrefix)&&void 0!==l?l:m,y=new at(e),T=a([],o(new Set(a(a(a([],o(p),!1),o(g),!1),o(h),!1))),!1),A=function(){var e,n,r=F(Ae("pointerdown").map(function(e){return y.addAdditionalEventProperties(e,"click",T,b,!0)})),i=F(ke().map(function(e){return y.addTypeAndTimestamp(e,"error")})),o=F(Te().map(function(e){return y.addAdditionalEventProperties(e,"mutation",T,b)}));window.navigation&&(n=F(new Y(function(e){var n=function(n){e.next(t(t({},n),{type:"navigate"}))};return window.navigation.addEventListener("navigate",n),function(){window.navigation.removeEventListener("navigate",n)}}).map(function(e){return y.addAdditionalEventProperties(e,"navigate",T,b)})));var a=F(new Y(function(e){var t=function(){var t=document.activeElement;if(t&&("TEXTAREA"===t.tagName||"INPUT"===t.tagName)){try{if(t.selectionStart===t.selectionEnd)return}catch(e){return}return e.next()}var n=window.getSelection();if(n&&!n.isCollapsed)return e.next()};return window.document.addEventListener("selectionchange",t),function(){window.document.removeEventListener("selectionchange",t)}})),l=F(new Y(function(e){var t=function(t){e.next(t)},n={capture:!0};return xe.document.addEventListener("mousemove",t,n),function(){xe.document.removeEventListener("mousemove",t,n)}}));return(e={})[ot.ClickObservable]=r,e[ot.MutationObservable]=o,e[ot.NavigateObservable]=n,e[ot.BrowserErrorObservable]=i,e[ot.SelectionObservable]=a,e[ot.MouseMoveObservable]=l,e};return{name:u,type:"enrichment",setup:function(i,o){return n(void 0,void 0,void 0,function(){var n,a,l,m,w,E,x,T,k,C,S,O;return r(this,function(r){return"undefined"==typeof document||(n=A(),(a=ut(i,y))&&c.push({unsubscribe:a}),f&&(l=pe(e,p),m=vt({allObservables:n,amplitude:o,shouldTrackRageClick:l}),c.push(m)),d&&(w=pe(e,g),E=function(e){var n=e.amplitude,r=e.allObservables,i=e.getEventProperties,o=e.shouldTrackDeadClick,a=r.clickObservable,l=r.mutationObservable,u=r.navigateObservable,c=a.filter(function(e){return ye(e)&&o("click",e.closestTrackedAncestor)&&e.event.target instanceof Element&&null===e.event.target.closest('a[target="_blank"]')&&e.event.button===ne.LEFT_OR_TOUCH_CONTACT}),s=u?W(l,u):l,d=W(c,s),f=null;return G(d,function(e){return f&&st.includes(e.type)?(clearTimeout(f),f=null,Promise.resolve(null)):"click"===e.type?f?Promise.resolve(null):new Promise(function(t){f=setTimeout(function(){t(e),f=null},3e3)}):Promise.resolve(null)}).subscribe(function(e){if(e){var r={"[Amplitude] X":e.event.clientX,"[Amplitude] Y":e.event.clientY};n.track("[Amplitude] Dead Click",t(t({},i("click",e.closestTrackedAncestor)),r),{time:e.timestamp})}})}({amplitude:o,allObservables:n,getEventProperties:function(e,t){return y.getEventProperties(e,t,b)},shouldTrackDeadClick:w}),c.push(E)),s&&(x=pe(e,h),T=function(e){var n=e.amplitude,r=e.allObservables,i=e.shouldTrackErrorClick,o=r.clickObservable,a=r.browserErrorObservable,l=o.filter(function(e){return ye(e)&&i("click",e.closestTrackedAncestor)&&e.event.target instanceof Element&&null===e.event.target.closest('a[target="_blank"]')&&e.event.button===ne.LEFT_OR_TOUCH_CONTACT}),u=null,c=null,s=function(){null!==u&&(clearTimeout(u),u=null),c=null};return W(l,a).subscribe(function(e){var r;if("click"===e.type)return s(),c=e,void(u=setTimeout(s,2e3));"error"===e.type&&c&&(n.track("[Amplitude] Error Click",t(((r={})["[Amplitude] Kind"]=e.event.kind,r["[Amplitude] Message"]=e.event.message,r["[Amplitude] Stack"]=e.event.stack,r["[Amplitude] Filename"]=e.event.filename,r["[Amplitude] Line Number"]=e.event.lineNumber,r["[Amplitude] Column Number"]=e.event.columnNumber,r),c.targetElementProperties)),s())})}({amplitude:o,allObservables:n,shouldTrackErrorClick:x}),c.push(T)),v&&(k=void 0,C=void 0,"object"==typeof e.thrashedCursor&&(k=e.thrashedCursor.directionChanges,C=e.thrashedCursor.threshold,k&&k<5&&(i.loggerProvider.warn("'thrashedCursor.directionChanges' of ".concat(k," is below the minimum of ").concat(5,", setting to ").concat(5)),k=5),C&&C>xt&&(i.loggerProvider.warn("'thrashedCursor.threshold' of ".concat(C," is above the maximum of ").concat(xt,", setting to ").concat(xt)),C=xt)),S=wt({amplitude:o,options:e,allObservables:n,directionChanges:k,thresholdMs:C}),c.push(S)),null===(O=null==i?void 0:i.loggerProvider)||void 0===O||O.log("".concat(u," has been successfully added."))),[2]})})},execute:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(t){return[2,e]})})},teardown:function(){return n(void 0,void 0,void 0,function(){var e,t,n,o;return r(this,function(r){try{for(e=i(c),t=e.next();!t.done;t=e.next())t.value.unsubscribe()}catch(e){n={error:e}}finally{try{t&&!t.done&&(o=e.return)&&o.call(e)}finally{if(n)throw n.error}}return[2]})})}}},e.performancePlugin=function(e){void 0===e&&(e={});var t="@amplitude/plugin-performance-browser",o=[],a=!0===e.mainThreadBlock||"object"==typeof e.mainThreadBlock&&null!==e.mainThreadBlock;return{name:t,type:"enrichment",setup:function(i,l){return n(void 0,void 0,void 0,function(){var n,u,c;return r(this,function(r){return"undefined"==typeof document||(a&&(n=100,"object"==typeof e.mainThreadBlock&&void 0!==e.mainThreadBlock.durationThreshold&&(n=e.mainThreadBlock.durationThreshold),u=Ct({amplitude:l,options:e,durationThreshold:n}),o.push(u)),null===(c=null==i?void 0:i.loggerProvider)||void 0===c||c.log("".concat(t," performance tracking has been successfully added."))),[2]})})},execute:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(t){return[2,e]})})},teardown:function(){return n(void 0,void 0,void 0,function(){var e,t,n,a;return r(this,function(r){try{for(e=i(o),t=e.next();!t.done;t=e.next())t.value.unsubscribe()}catch(e){n={error:e}}finally{try{t&&!t.done&&(a=e.return)&&a.call(e)}finally{if(n)throw n.error}}return[2]})})}}},e.plugin=ct,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
|
|
2
2
|
//# sourceMappingURL=amplitude-min.js.map
|
|
Binary file
|