@amplitude/analytics-browser 0.4.1 → 0.6.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/README.md +1 -1
- package/lib/cjs/attribution/campaign-parser.d.ts +10 -0
- package/lib/cjs/attribution/campaign-parser.d.ts.map +1 -0
- package/lib/cjs/attribution/campaign-parser.js +56 -0
- package/lib/cjs/attribution/campaign-parser.js.map +1 -0
- package/lib/cjs/attribution/campaign-tracker.d.ts +72 -0
- package/lib/cjs/attribution/campaign-tracker.d.ts.map +1 -0
- package/lib/cjs/attribution/campaign-tracker.js +91 -0
- package/lib/cjs/attribution/campaign-tracker.js.map +1 -0
- package/lib/cjs/{constants.d.ts → attribution/constants.d.ts} +4 -0
- package/lib/cjs/attribution/constants.d.ts.map +1 -0
- package/lib/cjs/attribution/constants.js +28 -0
- package/lib/cjs/attribution/constants.js.map +1 -0
- package/lib/cjs/browser-client.d.ts +17 -6
- package/lib/cjs/browser-client.d.ts.map +1 -1
- package/lib/cjs/browser-client.js +54 -29
- package/lib/cjs/browser-client.js.map +1 -1
- package/lib/cjs/config.d.ts +16 -16
- package/lib/cjs/config.d.ts.map +1 -1
- package/lib/cjs/config.js +99 -51
- package/lib/cjs/config.js.map +1 -1
- package/lib/cjs/cookie-migration/index.js +2 -2
- package/lib/cjs/cookie-migration/index.js.map +1 -1
- package/lib/cjs/plugins/context.d.ts +1 -0
- package/lib/cjs/plugins/context.d.ts.map +1 -1
- package/lib/cjs/plugins/context.js +22 -14
- package/lib/cjs/plugins/context.js.map +1 -1
- package/lib/cjs/session-manager.d.ts +19 -5
- package/lib/cjs/session-manager.d.ts.map +1 -1
- package/lib/cjs/session-manager.js +51 -33
- package/lib/cjs/session-manager.js.map +1 -1
- package/lib/cjs/utils/cookie-name.d.ts +3 -0
- package/lib/cjs/utils/cookie-name.d.ts.map +1 -0
- package/lib/cjs/utils/cookie-name.js +14 -0
- package/lib/cjs/utils/cookie-name.js.map +1 -0
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/esm/attribution/campaign-parser.d.ts +10 -0
- package/lib/esm/attribution/campaign-parser.d.ts.map +1 -0
- package/lib/esm/attribution/campaign-parser.js +54 -0
- package/lib/esm/attribution/campaign-parser.js.map +1 -0
- package/lib/esm/attribution/campaign-tracker.d.ts +72 -0
- package/lib/esm/attribution/campaign-tracker.d.ts.map +1 -0
- package/lib/esm/attribution/campaign-tracker.js +89 -0
- package/lib/esm/attribution/campaign-tracker.js.map +1 -0
- package/lib/esm/{constants.d.ts → attribution/constants.d.ts} +4 -0
- package/lib/esm/attribution/constants.d.ts.map +1 -0
- package/lib/esm/{constants.js → attribution/constants.js} +13 -0
- package/lib/esm/attribution/constants.js.map +1 -0
- package/lib/esm/browser-client.d.ts +17 -6
- package/lib/esm/browser-client.d.ts.map +1 -1
- package/lib/esm/browser-client.js +55 -30
- package/lib/esm/browser-client.js.map +1 -1
- package/lib/esm/config.d.ts +16 -16
- package/lib/esm/config.d.ts.map +1 -1
- package/lib/esm/config.js +93 -45
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/cookie-migration/index.js +1 -1
- package/lib/esm/cookie-migration/index.js.map +1 -1
- package/lib/esm/plugins/context.d.ts +1 -0
- package/lib/esm/plugins/context.d.ts.map +1 -1
- package/lib/esm/plugins/context.js +22 -14
- package/lib/esm/plugins/context.js.map +1 -1
- package/lib/esm/session-manager.d.ts +19 -5
- package/lib/esm/session-manager.d.ts.map +1 -1
- package/lib/esm/session-manager.js +50 -28
- package/lib/esm/session-manager.js.map +1 -1
- package/lib/esm/utils/cookie-name.d.ts +3 -0
- package/lib/esm/utils/cookie-name.d.ts.map +1 -0
- package/lib/esm/utils/cookie-name.js +10 -0
- package/lib/esm/utils/cookie-name.js.map +1 -0
- package/lib/esm/version.d.ts +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.umd.js +1 -1
- package/lib/scripts/amplitude-min.umd.js.gz +0 -0
- package/lib/scripts/amplitude-snippet-instructions.html +1 -1
- package/lib/scripts/amplitude-snippet-min.js +1 -1
- package/package.json +5 -5
- package/lib/cjs/attribution.d.ts +0 -11
- package/lib/cjs/attribution.d.ts.map +0 -1
- package/lib/cjs/attribution.js +0 -64
- package/lib/cjs/attribution.js.map +0 -1
- package/lib/cjs/constants.d.ts.map +0 -1
- package/lib/cjs/constants.js +0 -15
- package/lib/cjs/constants.js.map +0 -1
- package/lib/cjs/storage/memory.d.ts +0 -11
- package/lib/cjs/storage/memory.d.ts.map +0 -1
- package/lib/cjs/storage/memory.js +0 -29
- package/lib/cjs/storage/memory.js.map +0 -1
- package/lib/cjs/utils/uuid.d.ts +0 -10
- package/lib/cjs/utils/uuid.d.ts.map +0 -1
- package/lib/cjs/utils/uuid.js +0 -31
- package/lib/cjs/utils/uuid.js.map +0 -1
- package/lib/esm/attribution.d.ts +0 -11
- package/lib/esm/attribution.d.ts.map +0 -1
- package/lib/esm/attribution.js +0 -57
- package/lib/esm/attribution.js.map +0 -1
- package/lib/esm/constants.d.ts.map +0 -1
- package/lib/esm/constants.js.map +0 -1
- package/lib/esm/storage/memory.d.ts +0 -11
- package/lib/esm/storage/memory.d.ts.map +0 -1
- package/lib/esm/storage/memory.js +0 -27
- package/lib/esm/storage/memory.js.map +0 -1
- package/lib/esm/utils/uuid.d.ts +0 -10
- package/lib/esm/utils/uuid.d.ts.map +0 -1
- package/lib/esm/utils/uuid.js +0 -28
- package/lib/esm/utils/uuid.js.map +0 -1
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
2
|
import { PluginType } from '@amplitude/analytics-types';
|
|
3
3
|
import UAParser from '@amplitude/ua-parser-js';
|
|
4
|
-
import { UUID } from '
|
|
4
|
+
import { UUID } from '@amplitude/analytics-core';
|
|
5
5
|
import { getLanguage } from '../utils/language';
|
|
6
6
|
import { VERSION } from '../version';
|
|
7
|
-
import { checkSessionExpiry, updateCookies } from '../session-manager';
|
|
8
7
|
var BROWSER_PLATFORM = 'Web';
|
|
9
8
|
var IP_ADDRESS = '$remote';
|
|
10
9
|
var Context = /** @class */ (function () {
|
|
@@ -25,18 +24,27 @@ var Context = /** @class */ (function () {
|
|
|
25
24
|
return Promise.resolve(undefined);
|
|
26
25
|
};
|
|
27
26
|
Context.prototype.execute = function (context) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Manages user session triggered by new events
|
|
29
|
+
*/
|
|
30
|
+
if (!this.isSessionValid()) {
|
|
31
|
+
// Creates new session
|
|
32
|
+
this.config.sessionId = Date.now();
|
|
33
|
+
} // else use previously creates session
|
|
34
|
+
// Updates last event time to extend time-based session
|
|
35
|
+
this.config.lastEventTime = Date.now();
|
|
36
|
+
var time = new Date().getTime();
|
|
37
|
+
var osName = this.uaResult.browser.name;
|
|
38
|
+
var osVersion = this.uaResult.browser.version;
|
|
39
|
+
var deviceModel = this.uaResult.device.model || this.uaResult.os.name;
|
|
40
|
+
var deviceVendor = this.uaResult.device.vendor;
|
|
41
|
+
var event = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ user_id: this.config.userId, device_id: this.config.deviceId, session_id: this.config.sessionId, time: time }, (this.config.appVersion && { app_version: this.config.appVersion })), (this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM })), (this.config.trackingOptions.osName && { os_name: osName })), (this.config.trackingOptions.osVersion && { os_version: osVersion })), (this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor })), (this.config.trackingOptions.deviceModel && { device_model: deviceModel })), (this.config.trackingOptions.language && { language: getLanguage() })), (this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS })), { insert_id: UUID(), partner_id: this.config.partnerId, plan: this.config.plan }), context), { event_id: this.eventId++, library: this.library });
|
|
42
|
+
return Promise.resolve(event);
|
|
43
|
+
};
|
|
44
|
+
Context.prototype.isSessionValid = function () {
|
|
45
|
+
var lastEventTime = this.config.lastEventTime || Date.now();
|
|
46
|
+
var timeSinceLastEvent = Date.now() - lastEventTime;
|
|
47
|
+
return timeSinceLastEvent < this.config.sessionTimeout;
|
|
40
48
|
};
|
|
41
49
|
return Context;
|
|
42
50
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAsC,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAsC,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,IAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,IAAM,UAAU,GAAG,SAAS,CAAC;AAE7B;IAYE;QAXA,SAAI,GAAG,SAAS,CAAC;QACjB,SAAI,GAAG,UAAU,CAAC,MAAe,CAAC;QAMlC,YAAO,GAAG,CAAC,CAAC;QAEZ,YAAO,GAAG,uBAAgB,OAAO,CAAE,CAAC;QAGlC,IAAI,KAAyB,CAAC;QAC9B,0BAA0B;QAC1B,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YACpC,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC;SAC7B;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,uBAAK,GAAL,UAAM,MAAqB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,yBAAO,GAAP,UAAQ,OAAc;QACpB;;WAEG;QACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,sBAAsB;YACtB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;SACpC,CAAC,sCAAsC;QACxC,uDAAuD;QACvD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,IAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAClC,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1C,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAChD,IAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;QACxE,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACjD,IAAM,KAAK,wGACT,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAC3B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EACjC,IAAI,MAAA,IACD,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GACnE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,GACxE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAC3D,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,GACpE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,kBAAkB,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC,GACzF,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,GAC1E,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,GACrE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,KAChE,SAAS,EAAE,IAAI,EAAE,EACjB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KACnB,OAAO,KACV,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,GACtB,CAAC;QAEF,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,gCAAc,GAAd;QACE,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9D,IAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;QACtD,OAAO,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACzD,CAAC;IACH,cAAC;AAAD,CAAC,AAvED,IAuEC","sourcesContent":["import { BeforePlugin, BrowserConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport UAParser from '@amplitude/ua-parser-js';\nimport { UUID } from '@amplitude/analytics-core';\nimport { getLanguage } from '../utils/language';\nimport { VERSION } from '../version';\n\nconst BROWSER_PLATFORM = 'Web';\nconst IP_ADDRESS = '$remote';\n\nexport class Context implements BeforePlugin {\n name = 'context';\n type = PluginType.BEFORE as const;\n\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n eventId = 0;\n uaResult: UAParser.IResult;\n library = `amplitude-ts/${VERSION}`;\n\n constructor() {\n let agent: string | undefined;\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n agent = navigator.userAgent;\n }\n this.uaResult = new UAParser(agent).getResult();\n }\n\n setup(config: BrowserConfig): Promise<undefined> {\n this.config = config;\n\n return Promise.resolve(undefined);\n }\n\n execute(context: Event): Promise<Event> {\n /**\n * Manages user session triggered by new events\n */\n if (!this.isSessionValid()) {\n // Creates new session\n this.config.sessionId = Date.now();\n } // else use previously creates session\n // Updates last event time to extend time-based session\n this.config.lastEventTime = Date.now();\n const time = new Date().getTime();\n const osName = this.uaResult.browser.name;\n const osVersion = this.uaResult.browser.version;\n const deviceModel = this.uaResult.device.model || this.uaResult.os.name;\n const deviceVendor = this.uaResult.device.vendor;\n const event: Event = {\n user_id: this.config.userId,\n device_id: this.config.deviceId,\n session_id: this.config.sessionId,\n time,\n ...(this.config.appVersion && { app_version: this.config.appVersion }),\n ...(this.config.trackingOptions.platform && { platform: BROWSER_PLATFORM }),\n ...(this.config.trackingOptions.osName && { os_name: osName }),\n ...(this.config.trackingOptions.osVersion && { os_version: osVersion }),\n ...(this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor }),\n ...(this.config.trackingOptions.deviceModel && { device_model: deviceModel }),\n ...(this.config.trackingOptions.language && { language: getLanguage() }),\n ...(this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS }),\n insert_id: UUID(),\n partner_id: this.config.partnerId,\n plan: this.config.plan,\n ...context,\n event_id: this.eventId++,\n library: this.library,\n };\n\n return Promise.resolve(event);\n }\n\n isSessionValid() {\n const lastEventTime = this.config.lastEventTime || Date.now();\n const timeSinceLastEvent = Date.now() - lastEventTime;\n return timeSinceLastEvent < this.config.sessionTimeout;\n }\n}\n"]}
|
|
@@ -1,6 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { UserSession, Storage, SessionManager as ISessionManager, SessionManagerOptions } from '@amplitude/analytics-types';
|
|
2
|
+
export declare class SessionManager implements ISessionManager {
|
|
3
|
+
private storage;
|
|
4
|
+
storageKey: string;
|
|
5
|
+
sessionTimeout: number;
|
|
6
|
+
cache: UserSession;
|
|
7
|
+
constructor(storage: Storage<UserSession>, options: SessionManagerOptions);
|
|
8
|
+
setSession(session: Partial<UserSession>): void;
|
|
9
|
+
getSessionId(): number | undefined;
|
|
10
|
+
setSessionId(sessionId: number): void;
|
|
11
|
+
getDeviceId(): string | undefined;
|
|
12
|
+
setDeviceId(deviceId: string): void;
|
|
13
|
+
getUserId(): string | undefined;
|
|
14
|
+
setUserId(userId: string): void;
|
|
15
|
+
getLastEventTime(): number | undefined;
|
|
16
|
+
setLastEventTime(lastEventTime: number): void;
|
|
17
|
+
getOptOut(): boolean;
|
|
18
|
+
setOptOut(optOut: boolean): void;
|
|
19
|
+
}
|
|
6
20
|
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,cAAc,IAAI,eAAe,EACjC,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAGpC,qBAAa,cAAe,YAAW,eAAe;IAKxC,OAAO,CAAC,OAAO;IAJ3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;gBAEC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,qBAAqB;IAQjF,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;IAKxC,YAAY;IAKZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,gBAAgB;IAIhB,gBAAgB,CAAC,aAAa,EAAE,MAAM;IAItC,SAAS,IAAI,OAAO;IAIpB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAGjC"}
|
|
@@ -1,30 +1,52 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
export var checkSessionExpiry = function (config) {
|
|
14
|
-
var _a;
|
|
15
|
-
var cookieName = getCookieName(config.apiKey);
|
|
16
|
-
var lastEventTime = (_a = config.cookieStorage.get(cookieName)) === null || _a === void 0 ? void 0 : _a.lastEventTime;
|
|
17
|
-
var now = Date.now();
|
|
18
|
-
if (lastEventTime && now - lastEventTime >= config.sessionTimeout) {
|
|
19
|
-
config.sessionId = now;
|
|
20
|
-
updateCookies(config);
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { getCookieName as getStorageKey } from './utils/cookie-name';
|
|
3
|
+
var SessionManager = /** @class */ (function () {
|
|
4
|
+
function SessionManager(storage, options) {
|
|
5
|
+
var _a;
|
|
6
|
+
this.storage = storage;
|
|
7
|
+
this.storageKey = getStorageKey(options.apiKey);
|
|
8
|
+
this.sessionTimeout = options.sessionTimeout;
|
|
9
|
+
this.cache = (_a = this.storage.get(this.storageKey)) !== null && _a !== void 0 ? _a : {
|
|
10
|
+
optOut: false,
|
|
11
|
+
};
|
|
21
12
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
13
|
+
SessionManager.prototype.setSession = function (session) {
|
|
14
|
+
this.cache = __assign(__assign({}, this.cache), session);
|
|
15
|
+
this.storage.set(this.storageKey, this.cache);
|
|
16
|
+
};
|
|
17
|
+
SessionManager.prototype.getSessionId = function () {
|
|
18
|
+
var _a;
|
|
19
|
+
// Note: always read directly from storage
|
|
20
|
+
return (_a = this.storage.get(this.storageKey)) === null || _a === void 0 ? void 0 : _a.sessionId;
|
|
21
|
+
};
|
|
22
|
+
SessionManager.prototype.setSessionId = function (sessionId) {
|
|
23
|
+
this.setSession({ sessionId: sessionId });
|
|
24
|
+
};
|
|
25
|
+
SessionManager.prototype.getDeviceId = function () {
|
|
26
|
+
return this.cache.deviceId;
|
|
27
|
+
};
|
|
28
|
+
SessionManager.prototype.setDeviceId = function (deviceId) {
|
|
29
|
+
this.setSession({ deviceId: deviceId });
|
|
30
|
+
};
|
|
31
|
+
SessionManager.prototype.getUserId = function () {
|
|
32
|
+
return this.cache.userId;
|
|
33
|
+
};
|
|
34
|
+
SessionManager.prototype.setUserId = function (userId) {
|
|
35
|
+
this.setSession({ userId: userId });
|
|
36
|
+
};
|
|
37
|
+
SessionManager.prototype.getLastEventTime = function () {
|
|
38
|
+
return this.cache.lastEventTime;
|
|
39
|
+
};
|
|
40
|
+
SessionManager.prototype.setLastEventTime = function (lastEventTime) {
|
|
41
|
+
this.setSession({ lastEventTime: lastEventTime });
|
|
42
|
+
};
|
|
43
|
+
SessionManager.prototype.getOptOut = function () {
|
|
44
|
+
return this.cache.optOut;
|
|
45
|
+
};
|
|
46
|
+
SessionManager.prototype.setOptOut = function (optOut) {
|
|
47
|
+
this.setSession({ optOut: optOut });
|
|
48
|
+
};
|
|
49
|
+
return SessionManager;
|
|
50
|
+
}());
|
|
51
|
+
export { SessionManager };
|
|
30
52
|
//# sourceMappingURL=session-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/session-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/session-manager.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAErE;IAKE,wBAAoB,OAA6B,EAAE,OAA8B;;QAA7D,YAAO,GAAP,OAAO,CAAsB;QAC/C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAI;YAChD,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAED,mCAAU,GAAV,UAAW,OAA6B;QACtC,IAAI,CAAC,KAAK,yBAAQ,IAAI,CAAC,KAAK,GAAK,OAAO,CAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,qCAAY,GAAZ;;QACE,0CAA0C;QAC1C,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,0CAAE,SAAS,CAAC;IACtD,CAAC;IAED,qCAAY,GAAZ,UAAa,SAAiB;QAC5B,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,oCAAW,GAAX;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,oCAAW,GAAX,UAAY,QAAgB;QAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,kCAAS,GAAT;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,kCAAS,GAAT,UAAU,MAAc;QACtB,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,yCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,yCAAgB,GAAhB,UAAiB,aAAqB;QACpC,IAAI,CAAC,UAAU,CAAC,EAAE,aAAa,eAAA,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,kCAAS,GAAT;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,kCAAS,GAAT,UAAU,MAAe;QACvB,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;IAC9B,CAAC;IACH,qBAAC;AAAD,CAAC,AA1DD,IA0DC","sourcesContent":["import {\n UserSession,\n Storage,\n SessionManager as ISessionManager,\n SessionManagerOptions,\n} from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from './utils/cookie-name';\n\nexport class SessionManager implements ISessionManager {\n storageKey: string;\n sessionTimeout: number;\n cache: UserSession;\n\n constructor(private storage: Storage<UserSession>, options: SessionManagerOptions) {\n this.storageKey = getStorageKey(options.apiKey);\n this.sessionTimeout = options.sessionTimeout;\n this.cache = this.storage.get(this.storageKey) ?? {\n optOut: false,\n };\n }\n\n setSession(session: Partial<UserSession>) {\n this.cache = { ...this.cache, ...session };\n this.storage.set(this.storageKey, this.cache);\n }\n\n getSessionId() {\n // Note: always read directly from storage\n return this.storage.get(this.storageKey)?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n this.setSession({ sessionId });\n }\n\n getDeviceId(): string | undefined {\n return this.cache.deviceId;\n }\n\n setDeviceId(deviceId: string): void {\n this.setSession({ deviceId });\n }\n\n getUserId(): string | undefined {\n return this.cache.userId;\n }\n\n setUserId(userId: string): void {\n this.setSession({ userId });\n }\n\n getLastEventTime() {\n return this.cache.lastEventTime;\n }\n\n setLastEventTime(lastEventTime: number) {\n this.setSession({ lastEventTime });\n }\n\n getOptOut(): boolean {\n return this.cache.optOut;\n }\n\n setOptOut(optOut: boolean): void {\n this.setSession({ optOut });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie-name.d.ts","sourceRoot":"","sources":["../../../src/utils/cookie-name.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,WAAY,MAAM,6CAE3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,MAAM,WAE9C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AMPLITUDE_PREFIX } from '@amplitude/analytics-core';
|
|
2
|
+
export var getCookieName = function (apiKey, postKey, limit) {
|
|
3
|
+
if (postKey === void 0) { postKey = ''; }
|
|
4
|
+
if (limit === void 0) { limit = 10; }
|
|
5
|
+
return [AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');
|
|
6
|
+
};
|
|
7
|
+
export var getOldCookieName = function (apiKey) {
|
|
8
|
+
return "".concat(AMPLITUDE_PREFIX.toLowerCase(), "_").concat(apiKey.substring(0, 6));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=cookie-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookie-name.js","sourceRoot":"","sources":["../../../src/utils/cookie-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAAY,EAAE,KAAU;IAAxB,wBAAA,EAAA,YAAY;IAAE,sBAAA,EAAA,UAAU;IACpE,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,MAAc;IAC7C,OAAO,UAAG,gBAAgB,CAAC,WAAW,EAAE,cAAI,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;AACvE,CAAC,CAAC","sourcesContent":["import { AMPLITUDE_PREFIX } from '@amplitude/analytics-core';\n\nexport const getCookieName = (apiKey: string, postKey = '', limit = 10) => {\n return [AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');\n};\n\nexport const getOldCookieName = (apiKey: string) => {\n return `${AMPLITUDE_PREFIX.toLowerCase()}_${apiKey.substring(0, 6)}`;\n};\n"]}
|
package/lib/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.6.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/lib/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var VERSION = '0.
|
|
1
|
+
export var VERSION = '0.6.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,OAAO,CAAC","sourcesContent":["export const VERSION = '0.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["export const VERSION = '0.6.0';\n"]}
|
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},t(e,i)};function i(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var n=function(){return n=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)};function r(e,t,i,n){return new(i||(i=Promise))((function(r,o){function s(e){try{u(n.next(e))}catch(e){o(e)}}function a(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}u((n=n.apply(e,t||[])).next())}))}function o(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function s(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function u(e,t,i){if(i||2===arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||Array.prototype.slice.call(t))}var l="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var d,p,f={},v={};d=v,Object.defineProperty(d,"__esModule",{value:!0}),d.ServerZone=void 0,(p=d.ServerZone||(d.ServerZone={})).US="US",p.EU="EU";var h={};!function(e){var t,i,n;Object.defineProperty(e,"__esModule",{value:!0}),e.SpecialEventType=e.RevenueProperty=e.IdentifyOperation=void 0,(t=e.IdentifyOperation||(e.IdentifyOperation={})).SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll",(i=e.RevenueProperty||(e.RevenueProperty={})).REVENUE_PRODUCT_ID="$productId",i.REVENUE_QUANTITY="$quantity",i.REVENUE_PRICE="$price",i.REVENUE_TYPE="$revenueType",i.REVENUE="$revenue",(n=e.SpecialEventType||(e.SpecialEventType={})).IDENTIFY="$identify",n.GROUP_IDENTIFY="$groupidentify",n.REVENUE="revenue_amount"}(h);var b={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.LogLevel=void 0,(t=e.LogLevel||(e.LogLevel={}))[t.None=0]="None",t[t.Error=1]="Error",t[t.Warn=2]="Warn",t[t.Verbose=3]="Verbose"}(b);var g={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.PluginType=void 0,(t=e.PluginType||(e.PluginType={})).BEFORE="before",t.ENRICHMENT="enrichment",t.DESTINATION="destination"}(g);var y={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.Status=void 0,(t=e.Status||(e.Status={})).Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"}(y);var w={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.TransportType=void 0,(t=e.TransportType||(e.TransportType={})).XHR="xhr",t.SendBeacon="beacon",t.Fetch="fetch"}(w),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TransportType=e.Status=e.PluginType=e.LogLevel=e.RevenueProperty=e.IdentifyOperation=e.SpecialEventType=e.ServerZone=void 0;var t=v;Object.defineProperty(e,"ServerZone",{enumerable:!0,get:function(){return t.ServerZone}});var i=h;Object.defineProperty(e,"SpecialEventType",{enumerable:!0,get:function(){return i.SpecialEventType}}),Object.defineProperty(e,"IdentifyOperation",{enumerable:!0,get:function(){return i.IdentifyOperation}}),Object.defineProperty(e,"RevenueProperty",{enumerable:!0,get:function(){return i.RevenueProperty}});var n=b;Object.defineProperty(e,"LogLevel",{enumerable:!0,get:function(){return n.LogLevel}});var r=g;Object.defineProperty(e,"PluginType",{enumerable:!0,get:function(){return r.PluginType}});var o=y;Object.defineProperty(e,"Status",{enumerable:!0,get:function(){return o.Status}});var s=w;Object.defineProperty(e,"TransportType",{enumerable:!0,get:function(){return s.TransportType}})}(f);var m=e({__proto__:null,default:c(f)},[f]),S="AMP",_="".concat(S,"_unsent"),E="https://api2.amplitude.com/2/httpapi",T=function(e){if(Object.keys(e).length>1e3)return!1;for(var t in e){var i=e[t];if(!I(t,i))return!1}return!0},I=function(e,t){var i,n;if("string"!=typeof e)return!1;if(Array.isArray(t)){var r=!0;try{for(var o=s(t),a=o.next();!a.done;a=o.next()){var u=a.value;if(Array.isArray(u))return!1;if("object"==typeof u)r=r&&T(u);else if(!["number","string"].includes(typeof u))return!1;if(!r)return!1}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}}else{if("object"==typeof t)return T(t);if(!["number","string","boolean"].includes(typeof t))return!1}return!0},k=function(){function e(){this._propertySet=new Set,this._properties={}}return e.prototype.getUserProperties=function(){return n({},this._properties)},e.prototype.set=function(e,t){return this._safeSet(f.IdentifyOperation.SET,e,t),this},e.prototype.setOnce=function(e,t){return this._safeSet(f.IdentifyOperation.SET_ONCE,e,t),this},e.prototype.append=function(e,t){return this._safeSet(f.IdentifyOperation.APPEND,e,t),this},e.prototype.prepend=function(e,t){return this._safeSet(f.IdentifyOperation.PREPEND,e,t),this},e.prototype.postInsert=function(e,t){return this._safeSet(f.IdentifyOperation.POSTINSERT,e,t),this},e.prototype.preInsert=function(e,t){return this._safeSet(f.IdentifyOperation.PREINSERT,e,t),this},e.prototype.remove=function(e,t){return this._safeSet(f.IdentifyOperation.REMOVE,e,t),this},e.prototype.add=function(e,t){return this._safeSet(f.IdentifyOperation.ADD,e,t),this},e.prototype.unset=function(e){return this._safeSet(f.IdentifyOperation.UNSET,e,"-"),this},e.prototype.clearAll=function(){return this._properties={},this._properties[f.IdentifyOperation.CLEAR_ALL]="-",this},e.prototype._safeSet=function(e,t,i){if(this._validate(e,t,i)){var n=this._properties[e];return void 0===n&&(n={},this._properties[e]=n),n[t]=i,this._propertySet.add(t),!0}return!1},e.prototype._validate=function(e,t,i){return void 0===this._properties[f.IdentifyOperation.CLEAR_ALL]&&(!this._propertySet.has(t)&&(e===f.IdentifyOperation.ADD?"number"==typeof i:e===f.IdentifyOperation.UNSET||e===f.IdentifyOperation.REMOVE||I(t,i)))},e}(),O=function(e,t,i){return void 0===t&&(t=0),void 0===i&&(i=f.Status.Unknown),{event:e,code:t,message:i}},P=[],x=!1,R=function(e,t){return r(void 0,void 0,void 0,(function(){return o(this,(function(i){switch(i.label){case 0:return[4,e.setup(t)];case 1:return i.sent(),t.plugins.push(e),[2]}}))}))},N=function(e,t){return t.plugins.splice(t.plugins.findIndex((function(t){return t.name===e})),1),Promise.resolve()},U=function(e,t){return new Promise((function(i){t.optOut?i(O(e,0,"Event skipped due to optOut config")):(P.push([e,i,t.plugins]),L(0))}))},L=function(e){x||(x=!0,setTimeout((function(){j().then((function(){x=!1,P.length>0&&L(0)}))}),e))},j=function(){return r(void 0,void 0,void 0,(function(){var e,t,i,r,u,l,c,d,p,v,h,b,g,y,w,m,S,_,E,T;return o(this,(function(o){switch(o.label){case 0:if(!(e=P.shift()))return[2];t=a(e,1),i=t[0],r=a(e,3),u=r[1],l=r[2],c=l.filter((function(e){return e.type===f.PluginType.BEFORE})),o.label=1;case 1:o.trys.push([1,6,7,8]),d=s(c),p=d.next(),o.label=2;case 2:return p.done?[3,5]:[4,p.value.execute(n({},i))];case 3:i=o.sent(),o.label=4;case 4:return p=d.next(),[3,2];case 5:return[3,8];case 6:return v=o.sent(),S={error:v},[3,8];case 7:try{p&&!p.done&&(_=d.return)&&_.call(d)}finally{if(S)throw S.error}return[7];case 8:h=l.filter((function(e){return e.type===f.PluginType.ENRICHMENT})),o.label=9;case 9:o.trys.push([9,14,15,16]),b=s(h),g=b.next(),o.label=10;case 10:return g.done?[3,13]:[4,g.value.execute(n({},i))];case 11:i=o.sent(),o.label=12;case 12:return g=b.next(),[3,10];case 13:return[3,16];case 14:return y=o.sent(),E={error:y},[3,16];case 15:try{g&&!g.done&&(T=b.return)&&T.call(b)}finally{if(E)throw E.error}return[7];case 16:return w=l.filter((function(e){return e.type===f.PluginType.DESTINATION})),m=w.map((function(e){var t=n({},i);return e.execute(t).catch((function(e){return O(t,0,String(e))}))})),Promise.all(m).then((function(e){var t=a(e,1)[0];u(t)})),[2]}}))}))},q=function(){function e(e){void 0===e&&(e="$default"),this.logEvent=this.track.bind(this),this.name=e}return e.prototype.init=function(e,t,i){return this.config=i,Promise.resolve()},e.prototype.track=function(e,t,i){var r=function(e,t,i){return n(n(n({},"string"==typeof e?{event_type:e}:e),i),t&&{event_properties:t})}(e,t,i);return this.dispatch(r)},e.prototype.identify=function(e,t,i,r){var o=function(e,t,i,r){var o=n(n({},r),{event_type:f.SpecialEventType.IDENTIFY,user_properties:i.getUserProperties(),user_id:e});return void 0!==t&&t.length>0&&(o.device_id=t),o}(i,r,e,t);return this.dispatch(o)},e.prototype.groupIdentify=function(e,t,i,r,o,s){var a=function(e,t,i,r,o,s){var a,u=n(n({},s),{event_type:f.SpecialEventType.GROUP_IDENTIFY,group_properties:o.getUserProperties(),groups:(a={},a[i]=r,a),user_id:e});return void 0!==t&&t.length>0&&(u.device_id=t),u}(o,s,e,t,i,r);return this.dispatch(a)},e.prototype.setGroup=function(e,t){var i=function(e,t){var i,n=new k;return n.set(e,t),{event_type:f.SpecialEventType.IDENTIFY,user_properties:n.getUserProperties(),groups:(i={},i[e]=t,i)}}(e,t);return this.dispatch(i)},e.prototype.revenue=function(e,t){var i=function(e,t){return n(n({},t),{event_type:f.SpecialEventType.REVENUE,event_properties:e.getEventProperties()})}(e,t);return this.dispatch(i)},e.prototype.add=function(e){return r(this,void 0,void 0,(function(){var t;return o(this,(function(i){return t=this.config,[2,R(e,t)]}))}))},e.prototype.remove=function(e){return r(this,void 0,void 0,(function(){var t;return o(this,(function(i){return t=this.config,[2,N(e,t)]}))}))},e.prototype.dispatch=function(e){return r(this,void 0,void 0,(function(){var t,i,n;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,U(e,this.config)];case 1:return 200===(t=r.sent()).code?this.config.loggerProvider.log(t.message):this.config.loggerProvider.error(t.message),[2,t];case 2:return i=r.sent(),n=String(i),this.config.loggerProvider.error(n),[2,O(e,0,n)];case 3:return[2]}}))}))},e.prototype.setOptOut=function(e){this.config.optOut=Boolean(e)},e}(),A=function(){function e(){this.productId="",this.quantity=1,this.price=0}return e.prototype.setProductId=function(e){return this.productId=e,this},e.prototype.setQuantity=function(e){return e>0&&(this.quantity=e),this},e.prototype.setPrice=function(e){return this.price=e,this},e.prototype.setRevenueType=function(e){return this.revenueType=e,this},e.prototype.setRevenue=function(e){return this.revenue=e,this},e.prototype.setEventProperties=function(e){return T(e)&&(this.properties=e),this},e.prototype.getEventProperties=function(){var e=this.properties?n({},this.properties):{};return e[f.RevenueProperty.REVENUE_PRODUCT_ID]=this.productId,e[f.RevenueProperty.REVENUE_QUANTITY]=this.quantity,e[f.RevenueProperty.REVENUE_PRICE]=this.price,e[f.RevenueProperty.REVENUE_TYPE]=this.revenueType,e[f.RevenueProperty.REVENUE]=this.revenue,e},e}(),D="Amplitude Logger ",C=function(){function e(){this.logLevel=f.LogLevel.None}return e.prototype.disable=function(){this.logLevel=f.LogLevel.None},e.prototype.enable=function(e){void 0===e&&(e=f.LogLevel.Warn),this.logLevel=e},e.prototype.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<f.LogLevel.Verbose||console.log("".concat(D,"[Log]: ").concat(e.join(" ")))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<f.LogLevel.Warn||console.warn("".concat(D,"[Warn]: ").concat(e.join(" ")))},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<f.LogLevel.Error||console.error("".concat(D,"[Error]: ").concat(e.join(" ")))},e}(),M=function(){return{flushMaxRetries:5,flushQueueSize:10,flushIntervalMillis:1e3,logLevel:f.LogLevel.Warn,loggerProvider:new C,saveEvents:!0,optOut:!1,plugins:[],serverUrl:E,serverZone:f.ServerZone.US,useBatch:!1}},B=function(e){var t,i,n,r,o=M();this.apiKey=e.apiKey,this.appVersion=e.appVersion,this.userId=e.userId,this.deviceId=e.deviceId,this.sessionId=e.sessionId,this.flushIntervalMillis=e.flushIntervalMillis||o.flushIntervalMillis,this.flushMaxRetries=e.flushMaxRetries||o.flushMaxRetries,this.flushQueueSize=e.flushQueueSize||o.flushQueueSize,this.loggerProvider=e.loggerProvider||o.loggerProvider,this.logLevel=null!==(t=e.logLevel)&&void 0!==t?t:o.logLevel,this.minIdLength=e.minIdLength,this.partnerId=e.partnerId,this.plugins=o.plugins,this.optOut=null!==(i=e.optOut)&&void 0!==i?i:o.optOut,this.saveEvents=null!==(n=e.saveEvents)&&void 0!==n?n:o.saveEvents,this.serverUrl=e.serverUrl,this.serverZone=e.serverZone||o.serverZone,this.storageProvider=e.storageProvider,this.transportProvider=e.transportProvider,this.useBatch=null!==(r=e.useBatch)&&void 0!==r?r:o.useBatch,this.loggerProvider.enable(this.logLevel);var s=F(e.serverUrl,e.serverZone,e.useBatch);this.serverZone=s.serverZone,this.serverUrl=s.serverUrl},z=function(e,t){return e===f.ServerZone.EU?t?"https://api.eu.amplitude.com/batch":"https://api.eu.amplitude.com/2/httpapi":t?"https://api2.amplitude.com/batch":E},F=function(e,t,i){if(void 0===e&&(e=""),void 0===t&&(t=M().serverZone),void 0===i&&(i=M().useBatch),e)return{serverUrl:e,serverZone:void 0};var n=[f.ServerZone.US,f.ServerZone.EU].includes(t)?t:M().serverZone;return{serverZone:n,serverUrl:z(n,i)}},V=function(){function e(){this.name="amplitude",this.type=f.PluginType.DESTINATION,this.backoff=1e3,this.throttle=3e4,this.storageKey="",this.backup=new Set,this.scheduled=!1,this.queue=[]}return e.prototype.setup=function(e){var t=this;this.config=e,this.storageKey="".concat(_,"_").concat(this.config.apiKey.substring(0,10));var i=this.config.storageProvider.get(this.storageKey);return this.snapshot(),i&&i.length>0&&Promise.all(i.map((function(e){return t.execute(e)}))).catch(),Promise.resolve(void 0)},e.prototype.execute=function(e){var t=this;return new Promise((function(i){var n={event:e,attempts:0,callback:function(e){return i(e)},delay:0};t.addToQueue(n)}))},e.prototype.addToQueue=function(){for(var e=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var n=t.filter((function(t){return t.attempts<e.config.flushMaxRetries||(e.fulfillRequest([t],500,f.Status.Unknown),!1)}));this.addToBackup.apply(this,u([],a(n.map((function(e){return e.event}))),!1)),n.forEach((function(t){t.attempts+=1;var i=t.delay;if(t.delay=0,1===t.attempts&&!t.delay)return e.queue=e.queue.concat(t),void e.schedule(e.config.flushIntervalMillis);setTimeout((function(){e.queue=e.queue.concat(t),e.schedule(e.config.flushIntervalMillis)}),i||t.attempts*e.backoff)}))},e.prototype.schedule=function(e){var t=this;this.scheduled||(this.scheduled=!0,setTimeout((function(){t.flush().then((function(){t.scheduled=!1,t.queue.length>0&&t.schedule(e)}))}),e))},e.prototype.flush=function(){return r(this,void 0,void 0,(function(){var e,t,i=this;return o(this,(function(n){switch(n.label){case 0:return e=this.queue,this.queue=[],r=e,o=this.config.flushQueueSize,s=Math.max(o,1),t=r.reduce((function(e,t,i){var n=Math.floor(i/s);return e[n]||(e[n]=[]),e[n].push(t),e}),[]),[4,Promise.all(t.map((function(e){return i.send(e)})))];case 1:return n.sent(),[2]}var r,o,s}))}))},e.prototype.send=function(e){return r(this,void 0,void 0,(function(){var t,i,n,r;return o(this,(function(o){switch(o.label){case 0:if(!this.config.apiKey)return[2,this.fulfillRequest(e,400,"Event rejected due to missing API key")];t={api_key:this.config.apiKey,events:e.map((function(e){return e.event})),options:{min_id_length:this.config.minIdLength}},o.label=1;case 1:return o.trys.push([1,3,,4]),i=F(this.config.serverUrl,this.config.serverZone,this.config.useBatch).serverUrl,[4,this.config.transportProvider.send(i,t)];case 2:return null===(n=o.sent())?(this.fulfillRequest(e,0,"Unexpected error occurred"),[2]):(this.handleReponse(n,e),[3,4]);case 3:return r=o.sent(),this.fulfillRequest(e,0,String(r)),[3,4];case 4:return[2]}}))}))},e.prototype.handleReponse=function(e,t){switch(e.status){case f.Status.Success:this.handleSuccessResponse(e,t);break;case f.Status.Invalid:this.handleInvalidResponse(e,t);break;case f.Status.PayloadTooLarge:this.handlePayloadTooLargeResponse(e,t);break;case f.Status.RateLimit:this.handleRateLimitResponse(e,t);break;default:this.handleOtherReponse(t)}},e.prototype.handleSuccessResponse=function(e,t){this.fulfillRequest(t,e.statusCode,"Event tracked successfully")},e.prototype.handleInvalidResponse=function(e,t){var i=this;if(e.body.missingField)this.fulfillRequest(t,e.statusCode,e.body.error);else{var n=u(u(u(u([],a(Object.values(e.body.eventsWithInvalidFields)),!1),a(Object.values(e.body.eventsWithMissingFields)),!1),a(Object.values(e.body.eventsWithInvalidIdLengths)),!1),a(e.body.silencedEvents),!1).flat(),r=new Set(n),o=t.filter((function(t,n){if(!r.has(n))return!0;i.fulfillRequest([t],e.statusCode,e.body.error)}));this.addToQueue.apply(this,u([],a(o),!1))}},e.prototype.handlePayloadTooLargeResponse=function(e,t){1!==t.length?(this.config.flushQueueSize/=2,this.addToQueue.apply(this,u([],a(t),!1))):this.fulfillRequest(t,e.statusCode,e.body.error)},e.prototype.handleRateLimitResponse=function(e,t){var i=this,n=Object.keys(e.body.exceededDailyQuotaUsers),r=Object.keys(e.body.exceededDailyQuotaDevices),o=e.body.throttledEvents,s=new Set(n),l=new Set(r),c=new Set(o),d=t.filter((function(t,n){if(!(t.event.user_id&&s.has(t.event.user_id)||t.event.device_id&&l.has(t.event.device_id)))return c.has(n)&&(t.delay=i.throttle),!0;i.fulfillRequest([t],e.statusCode,e.body.error)}));this.addToQueue.apply(this,u([],a(d),!1))},e.prototype.handleOtherReponse=function(e){this.addToQueue.apply(this,u([],a(e),!1))},e.prototype.fulfillRequest=function(e,t,i){this.removeFromBackup.apply(this,u([],a(e.map((function(e){return e.event}))),!1)),e.forEach((function(e){return e.callback(O(e.event,t,i))}))},e.prototype.addToBackup=function(){for(var e=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];this.config.saveEvents&&(t.forEach((function(t){return e.backup.add(t)})),this.snapshot())},e.prototype.removeFromBackup=function(){for(var e=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];this.config.saveEvents&&(t.forEach((function(t){return e.backup.delete(t)})),this.snapshot())},e.prototype.snapshot=function(){if(this.config.saveEvents){var e=Array.from(this.backup);this.config.storageProvider.set(this.storageKey,e)}},e}(),Z=function(e){return function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return{promise:e.apply(void 0,u([],a(t),!1))}}},$=function(){function e(){}return e.prototype.send=function(e,t){return Promise.resolve(null)},e.prototype.buildResponse=function(e){var t,i,n,r,o,s,a,u,l,c,d,p,v,h,b,g,y,w,m,S,_,E;if("object"!=typeof e)return null;var T=e.code||0,I=this.buildStatus(T);switch(I){case f.Status.Success:return{status:I,statusCode:T,body:{eventsIngested:null!==(t=e.events_ingested)&&void 0!==t?t:0,payloadSizeBytes:null!==(i=e.payload_size_bytes)&&void 0!==i?i:0,serverUploadTime:null!==(n=e.server_upload_time)&&void 0!==n?n:0}};case f.Status.Invalid:return{status:I,statusCode:T,body:{error:null!==(r=e.error)&&void 0!==r?r:"",missingField:null!==(o=e.missing_field)&&void 0!==o?o:"",eventsWithInvalidFields:null!==(s=e.events_with_invalid_fields)&&void 0!==s?s:{},eventsWithMissingFields:null!==(a=e.events_with_missing_fields)&&void 0!==a?a:{},eventsWithInvalidIdLengths:null!==(u=e.events_with_invalid_id_lengths)&&void 0!==u?u:{},epsThreshold:null!==(l=e.eps_threshold)&&void 0!==l?l:0,exceededDailyQuotaDevices:null!==(c=e.exceeded_daily_quota_devices)&&void 0!==c?c:{},silencedDevices:null!==(d=e.silenced_devices)&&void 0!==d?d:[],silencedEvents:null!==(p=e.silenced_events)&&void 0!==p?p:[],throttledDevices:null!==(v=e.throttled_devices)&&void 0!==v?v:{},throttledEvents:null!==(h=e.throttled_events)&&void 0!==h?h:[]}};case f.Status.PayloadTooLarge:return{status:I,statusCode:T,body:{error:null!==(b=e.error)&&void 0!==b?b:""}};case f.Status.RateLimit:return{status:I,statusCode:T,body:{error:null!==(g=e.error)&&void 0!==g?g:"",epsThreshold:null!==(y=e.eps_threshold)&&void 0!==y?y:0,throttledDevices:null!==(w=e.throttled_devices)&&void 0!==w?w:{},throttledUsers:null!==(m=e.throttled_users)&&void 0!==m?m:{},exceededDailyQuotaDevices:null!==(S=e.exceeded_daily_quota_devices)&&void 0!==S?S:{},exceededDailyQuotaUsers:null!==(_=e.exceeded_daily_quota_users)&&void 0!==_?_:{},throttledEvents:null!==(E=e.throttled_events)&&void 0!==E?E:[]}};case f.Status.Timeout:default:return{status:I,statusCode:T}}},e.prototype.buildStatus=function(e){return e>=200&&e<300?f.Status.Success:429===e?f.Status.RateLimit:413===e?f.Status.PayloadTooLarge:408===e?f.Status.Timeout:e>=400&&e<500?f.Status.Invalid:e>=500?f.Status.Failed:f.Status.Unknown},e}(),Q=function(e,t){W(e,t)},W=function(e,t){for(var i=0;i<t.length;i++){var n=t[i],r=n.name,o=n.args,s=n.resolve,a=e&&e[r];if("function"==typeof a){var u=a.apply(e,o);"function"==typeof s&&s(null==u?void 0:u.promise)}}return e},G=function(e){return e&&void 0!==e._q},H={exports:{}};!function(e,t){!function(i,n){var r="function",o="undefined",s="object",a="string",u="model",l="name",c="type",d="vendor",p="version",f="architecture",v="console",h="mobile",b="tablet",g="smarttv",y="wearable",w="embedded",m="Amazon",S="Apple",_="ASUS",E="BlackBerry",T="Firefox",I="Google",k="Huawei",O="LG",P="Microsoft",x="Motorola",R="Opera",N="Samsung",U="Sony",L="Xiaomi",j="Zebra",q=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t},A=function(e,t){return typeof e===a&&-1!==D(t).indexOf(D(e))},D=function(e){return e.toLowerCase()},C=function(e,t){if(typeof e===a)return e=e.replace(/^\s+|\s+$/g,""),typeof t===o?e:e.substring(0,255)},M=function(e,t){for(var i,o,a,u,l,c,d=0;d<t.length&&!l;){var p=t[d],f=t[d+1];for(i=o=0;i<p.length&&!l;)if(l=p[i++].exec(e))for(a=0;a<f.length;a++)c=l[++o],typeof(u=f[a])===s&&u.length>0?2==u.length?typeof u[1]==r?this[u[0]]=u[1].call(this,c):this[u[0]]=u[1]:3==u.length?typeof u[1]!==r||u[1].exec&&u[1].test?this[u[0]]=c?c.replace(u[1],u[2]):n:this[u[0]]=c?u[1].call(this,c,u[2]):n:4==u.length&&(this[u[0]]=c?u[3].call(this,c.replace(u[1],u[2])):n):this[u]=c||n;d+=2}},B=function(e,t){for(var i in t)if(typeof t[i]===s&&t[i].length>0){for(var r=0;r<t[i].length;r++)if(A(t[i][r],e))return"?"===i?n:i}else if(A(t[i],e))return"?"===i?n:i;return e},z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},F={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[l,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[l,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[l,p],[/opios[\/ ]+([\w\.]+)/i],[p,[l,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[p,[l,R]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[l,p],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[l,"UCBrowser"]],[/\bqbcore\/([\w\.]+)/i],[p,[l,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[p,[l,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[l,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[l,"IE"]],[/yabrowser\/([\w\.]+)/i],[p,[l,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[l,/(.+)/,"$1 Secure Browser"],p],[/\bfocus\/([\w\.]+)/i],[p,[l,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[p,[l,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[l,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[l,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[l,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[l,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[p,[l,T]],[/\bqihu|(qi?ho?o?|360)browser/i],[[l,"360 Browser"]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[l,/(.+)/,"$1 Browser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[l,p],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[l],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[l,"Facebook"],p],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[l,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[l,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[l,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[l,"Chrome WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[l,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[l,p],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[p,[l,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[p,l],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[l,[p,B,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[l,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[l,"Netscape"],p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[l,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[l,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,D]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",D]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,D]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[u,[d,N],[c,b]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[u,[d,N],[c,h]],[/((ipod|iphone)\d+,\d+)/i],[u,[d,S],[c,h]],[/(ipad\d+,\d+)/i],[u,[d,S],[c,b]],[/\((ip(?:hone|od)[\w ]*);/i],[u,[d,S],[c,h]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[u,[d,S],[c,b]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[u,[d,k],[c,b]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}-[atu]?[ln][01259x][012359][an]?)\b(?!.+d\/s)/i],[u,[d,k],[c,h]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[u,/_/g," "],[d,L],[c,h]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[u,/_/g," "],[d,L],[c,b]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007)\b/i],[u,[d,"OPPO"],[c,h]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[u,[d,"Vivo"],[c,h]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[u,[d,"Realme"],[c,h]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[u,[d,x],[c,h]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[u,[d,x],[c,b]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[u,[d,O],[c,b]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[u,[d,O],[c,h]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[u,[d,"Lenovo"],[c,b]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[u,/_/g," "],[d,"Nokia"],[c,h]],[/(pixel c)\b/i],[u,[d,I],[c,b]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[u,[d,I],[c,h]],[/droid.+ ([c-g]\d{4}|so[-l]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[u,[d,U],[c,h]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[u,"Xperia Tablet"],[d,U],[c,b]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[u,[d,"OnePlus"],[c,h]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[u,[d,m],[c,b]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[u,/(.+)/g,"Fire Phone $1"],[d,m],[c,h]],[/(playbook);[-\w\),; ]+(rim)/i],[u,d,[c,b]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[u,[d,E],[c,h]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[u,[d,_],[c,b]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[u,[d,_],[c,h]],[/(nexus 9)/i],[u,[d,"HTC"],[c,b]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony)[-_ ]?([-\w]*)/i],[d,[u,/_/g," "],[c,h]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[u,[d,"Acer"],[c,b]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[u,[d,"Meizu"],[c,h]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[u,[d,"Sharp"],[c,h]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[d,u,[c,h]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[d,u,[c,b]],[/(surface duo)/i],[u,[d,P],[c,b]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[u,[d,"Fairphone"],[c,h]],[/(u304aa)/i],[u,[d,"AT&T"],[c,h]],[/\bsie-(\w*)/i],[u,[d,"Siemens"],[c,h]],[/\b(rct\w+) b/i],[u,[d,"RCA"],[c,b]],[/\b(venue[\d ]{2,7}) b/i],[u,[d,"Dell"],[c,b]],[/\b(q(?:mv|ta)\w+) b/i],[u,[d,"Verizon"],[c,b]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[u,[d,"Barnes & Noble"],[c,b]],[/\b(tm\d{3}\w+) b/i],[u,[d,"NuVision"],[c,b]],[/\b(k88) b/i],[u,[d,"ZTE"],[c,b]],[/\b(nx\d{3}j) b/i],[u,[d,"ZTE"],[c,h]],[/\b(gen\d{3}) b.+49h/i],[u,[d,"Swiss"],[c,h]],[/\b(zur\d{3}) b/i],[u,[d,"Swiss"],[c,b]],[/\b((zeki)?tb.*\b) b/i],[u,[d,"Zeki"],[c,b]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[d,"Dragon Touch"],u,[c,b]],[/\b(ns-?\w{0,9}) b/i],[u,[d,"Insignia"],[c,b]],[/\b((nxa|next)-?\w{0,9}) b/i],[u,[d,"NextBook"],[c,b]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[d,"Voice"],u,[c,h]],[/\b(lvtel\-)?(v1[12]) b/i],[[d,"LvTel"],u,[c,h]],[/\b(ph-1) /i],[u,[d,"Essential"],[c,h]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[u,[d,"Envizen"],[c,b]],[/\b(trio[-\w\. ]+) b/i],[u,[d,"MachSpeed"],[c,b]],[/\btu_(1491) b/i],[u,[d,"Rotor"],[c,b]],[/(shield[\w ]+) b/i],[u,[d,"Nvidia"],[c,b]],[/(sprint) (\w+)/i],[d,u,[c,h]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[d,P],[c,h]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[u,[d,j],[c,b]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[u,[d,j],[c,h]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[d,u,[c,v]],[/droid.+; (shield) bui/i],[u,[d,"Nvidia"],[c,v]],[/(playstation [345portablevi]+)/i],[u,[d,U],[c,v]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[u,[d,P],[c,v]],[/smart-tv.+(samsung)/i],[d,[c,g]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[d,N],[c,g]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[d,O],[c,g]],[/(apple) ?tv/i],[d,[u,"Apple TV"],[c,g]],[/crkey/i],[[u,"Chromecast"],[d,I],[c,g]],[/droid.+aft(\w)( bui|\))/i],[u,[d,m],[c,g]],[/\(dtv[\);].+(aquos)/i],[u,[d,"Sharp"],[c,g]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[d,C],[u,C],[c,g]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[c,g]],[/((pebble))app/i],[d,u,[c,y]],[/droid.+; (glass) \d/i],[u,[d,I],[c,y]],[/droid.+; (wt63?0{2,3})\)/i],[u,[d,j],[c,y]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[d,[c,w]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[u,[c,h]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[u,[c,b]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[c,b]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[c,h]],[/(android[-\w\. ]{0,9});.+buil/i],[u,[d,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[l,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[l,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[l,p],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,l]],os:[[/microsoft (windows) (vista|xp)/i],[l,p],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[l,[p,B,z]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[l,"Windows"],[p,B,z]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[l,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[l,"Mac OS"],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[p,l],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[l,p],[/\(bb(10);/i],[p,[l,E]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[p,[l,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[l,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[l,"webOS"]],[/crkey\/([\d\.]+)/i],[p,[l,"Chromecast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[l,"Chromium OS"],p],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[l,p],[/(sunos) ?([\w\.\d]*)/i],[[l,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[l,p]]},V=function(e,t){if(typeof e===s&&(t=e,e=n),!(this instanceof V))return new V(e,t).getResult();var r=e||(typeof i!==o&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),u=t?function(e,t){var i={};for(var n in e)t[n]&&t[n].length%2==0?i[n]=t[n].concat(e[n]):i[n]=e[n];return i}(F,t):F;return this.getBrowser=function(){var e,t={};return t.name=n,t.version=n,M.call(t,r,u.browser),t.major=typeof(e=t.version)===a?e.replace(/[^\d\.]/g,"").split(".")[0]:n,t},this.getCPU=function(){var e={};return e.architecture=n,M.call(e,r,u.cpu),e},this.getDevice=function(){var e={};return e.vendor=n,e.model=n,e.type=n,M.call(e,r,u.device),e},this.getEngine=function(){var e={};return e.name=n,e.version=n,M.call(e,r,u.engine),e},this.getOS=function(){var e={};return e.name=n,e.version=n,M.call(e,r,u.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===a&&e.length>255?C(e,255):e,this},this.setUA(r),this};V.VERSION="0.7.28",V.BROWSER=q([l,p,"major"]),V.CPU=q([f]),V.DEVICE=q([u,d,c,v,h,g,b,y,w]),V.ENGINE=V.OS=q([l,p]),e.exports&&(t=e.exports=V),t.UAParser=V;var Z=typeof i!==o&&(i.jQuery||i.Zepto);if(Z&&!Z.ua){var $=new V;Z.ua=$.getResult(),Z.ua.get=function(){return $.getUA()},Z.ua.set=function(e){$.setUA(e);var t=$.getResult();for(var i in t)Z.ua[i]=t[i]}}}("object"==typeof window?window:l)}(H,H.exports);var K=H.exports,J=function(e){return e?(e^16*Math.random()>>e/4).toString(16):(String(1e7)+String(-1e3)+String(-4e3)+String(-8e3)+String(-1e11)).replace(/[018]/g,J)},Y=function(){var e,t,i,n;if("undefined"==typeof navigator)return"";var r=navigator.userLanguage;return null!==(n=null!==(i=null!==(t=null===(e=navigator.languages)||void 0===e?void 0:e[0])&&void 0!==t?t:navigator.language)&&void 0!==i?i:r)&&void 0!==n?n:""},X=function(e,t){var i,n=ee(e.apiKey);e.cookieStorage.set(n,{userId:e.userId,deviceId:e.deviceId,sessionId:e.sessionId,lastEventTime:null!=t?t:null===(i=e.cookieStorage.get(n))||void 0===i?void 0:i.lastEventTime,optOut:Boolean(e.optOut)})},ee=function(e,t){return void 0===t&&(t=10),"".concat(S,"_").concat(e.substring(0,t))},te=function(){function e(){var e;this.name="context",this.type=f.PluginType.BEFORE,this.eventId=0,this.library="amplitude-ts/".concat("0.4.1"),"undefined"!=typeof navigator&&(e=navigator.userAgent),this.uaResult=new K(e).getResult()}return e.prototype.setup=function(e){return this.config=e,Promise.resolve(void 0)},e.prototype.execute=function(e){var t=this;return new Promise((function(i){var r=(new Date).getTime(),o=t.uaResult.browser.name,s=t.uaResult.browser.version,a=t.uaResult.device.model||t.uaResult.os.name,u=t.uaResult.device.vendor;return function(e){var t,i=ee(e.apiKey),n=null===(t=e.cookieStorage.get(i))||void 0===t?void 0:t.lastEventTime,r=Date.now();n&&r-n>=e.sessionTimeout&&(e.sessionId=r,X(e))}(t.config),X(t.config,r),i(n(n(n(n(n(n(n(n(n(n(n({user_id:t.config.userId,device_id:t.config.deviceId,session_id:t.config.sessionId,time:r},t.config.appVersion&&{app_version:t.config.appVersion}),t.config.trackingOptions.platform&&{platform:"Web"}),t.config.trackingOptions.osName&&{os_name:o}),t.config.trackingOptions.osVersion&&{os_version:s}),t.config.trackingOptions.deviceManufacturer&&{device_manufacturer:u}),t.config.trackingOptions.deviceModel&&{device_model:a}),t.config.trackingOptions.language&&{language:Y()}),t.config.trackingOptions.ipAddress&&{ip:"$remote"}),{insert_id:J(),partner_id:t.config.partnerId}),e),{event_id:t.eventId++,library:t.library}))}))},e}(),ie=function(){function e(e){this.options=n({},e)}return e.prototype.isEnabled=function(){if("undefined"==typeof window)return!1;var t=String(Date.now()),i=new e,n="AMP_TEST";try{return i.set(n,t),i.get(n)===t}catch(e){return!1}finally{i.remove(n)}},e.prototype.get=function(e){var t=this.getRaw(e);if(t)try{return JSON.parse(t)}catch(e){return}},e.prototype.getRaw=function(e){var t=window.document.cookie.split("; ").find((function(t){return 0===t.indexOf(e+"=")}));if(t)return t.substring(e.length+1)},e.prototype.set=function(e,t){var i;try{var n=null!==(i=this.options.expirationDays)&&void 0!==i?i:0,r=null!==t?n:-1,o=void 0;if(r){var s=new Date;s.setTime(s.getTime()+24*r*60*60*1e3),o=s}var a="".concat(e,"=").concat(JSON.stringify(t));o&&(a+="; expires=".concat(o.toUTCString())),a+="; path=/",this.options.domain&&(a+="; domain=".concat(this.options.domain)),this.options.secure&&(a+="; Secure"),this.options.sameSite&&(a+="; SameSite=".concat(this.options.sameSite)),window.document.cookie=a}catch(e){}},e.prototype.remove=function(e){this.set(e,null)},e.prototype.reset=function(){},e}(),ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){var i,n;return o(this,(function(r){switch(r.label){case 0:if("undefined"==typeof fetch)throw new Error("FetchTransport is not supported");return i={headers:{"Content-Type":"application/json",Accept:"*/*"},body:JSON.stringify(t),method:"POST"},[4,fetch(e,i)];case 1:return[4,r.sent().json()];case 2:return n=r.sent(),[2,this.buildResponse(n)]}}))}))},t}($),re=function(){function e(){}return e.prototype.isEnabled=function(){if("undefined"==typeof window)return!1;var t=String(Date.now()),i=new e,n="AMP_TEST";try{return i.set(n,t),i.get(n)===t}catch(e){return!1}finally{i.remove(n)}},e.prototype.get=function(e){try{var t=this.getRaw(e);if(!t)return;return JSON.parse(t)}catch(e){return}},e.prototype.getRaw=function(e){return window.localStorage.getItem(e)||void 0},e.prototype.set=function(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}},e.prototype.remove=function(e){try{window.localStorage.removeItem(e)}catch(e){}},e.prototype.reset=function(){try{window.localStorage.clear()}catch(e){}},e}(),oe=function(){function e(){this.memoryStorage=new Map}return e.prototype.isEnabled=function(){return!0},e.prototype.get=function(e){return this.memoryStorage.get(e)},e.prototype.getRaw=function(e){var t=this.get(e);return t?JSON.stringify(t):void 0},e.prototype.set=function(e,t){this.memoryStorage.set(e,t)},e.prototype.remove=function(e){this.memoryStorage.delete(e)},e.prototype.reset=function(){this.memoryStorage.clear()},e}(),se=function(){return"undefined"==typeof window?{}:window.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var i=a(t.split("=",2),2),n=i[0],r=i[1],o=void 0===r?"":r;return o?(e[decodeURIComponent(n)]=decodeURIComponent(o),e):e}),{})},ae=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={done:4},t}return i(t,e),t.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){var i=this;return o(this,(function(n){return[2,new Promise((function(n,r){"undefined"==typeof XMLHttpRequest&&r(new Error("XHRTransport is not supported."));var o=new XMLHttpRequest;o.open("POST",e,!0),o.onreadystatechange=function(){if(o.readyState===i.state.done)try{var e=o.responseText,t=JSON.parse(e),s=i.buildResponse(t);n(s)}catch(e){r(e)}},o.setRequestHeader("Content-Type","application/json"),o.setRequestHeader("Accept","*/*"),o.send(JSON.stringify(t))}))]}))}))},t}($),ue=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){var i=this;return o(this,(function(n){return[2,new Promise((function(n,r){if("undefined"==typeof window||void 0===window.navigator||void 0===window.navigator.sendBeacon)throw new Error("SendBeaconTransport is not supported");try{var o=JSON.stringify(t);return n(window.navigator.sendBeacon(e,JSON.stringify(t))?i.buildResponse({code:200,events_ingested:t.events.length,payload_size_bytes:o.length,server_upload_time:Date.now()}):i.buildResponse({code:500}))}catch(e){r(e)}}))]}))}))},t}($),le=function(){return{cookieExpiration:365,cookieSameSite:"Lax",cookieSecure:!1,cookieStorage:new oe,disableCookies:!1,domain:"",includeGclid:!0,includeFbclid:!0,includeReferrer:!0,includeUtm:!0,sessionTimeout:18e5,storageProvider:new oe,trackingOptions:{city:!0,country:!0,carrier:!0,deviceManufacturer:!0,deviceModel:!0,dma:!0,ipAddress:!0,language:!0,osName:!0,osVersion:!0,platform:!0,region:!0,versionName:!0},transportProvider:new ne}},ce=function(e){function t(t,i,r){var o,s,a,u,l,c,d,p,f,v,h,b,g,y,w=this,m=le();return(w=e.call(this,n(n({},r),{apiKey:t,userId:i,optOut:Boolean(null==r?void 0:r.optOut),storageProvider:null!==(o=null==r?void 0:r.storageProvider)&&void 0!==o?o:m.storageProvider,transportProvider:null!==(s=null==r?void 0:r.transportProvider)&&void 0!==s?s:m.transportProvider}))||this).cookieExpiration=null!==(a=null==r?void 0:r.cookieExpiration)&&void 0!==a?a:m.cookieExpiration,w.cookieSameSite=null!==(u=null==r?void 0:r.cookieSameSite)&&void 0!==u?u:m.cookieSameSite,w.cookieSecure=null!==(l=null==r?void 0:r.cookieSecure)&&void 0!==l?l:m.cookieSecure,w.cookieStorage=null!==(c=null==r?void 0:r.cookieStorage)&&void 0!==c?c:m.cookieStorage,w.disableCookies=null!==(d=null==r?void 0:r.disableCookies)&&void 0!==d?d:m.disableCookies,w.domain=null!==(p=null==r?void 0:r.domain)&&void 0!==p?p:m.domain,w.includeGclid=null!==(f=null==r?void 0:r.includeGclid)&&void 0!==f?f:m.includeGclid,w.includeFbclid=null!==(v=null==r?void 0:r.includeFbclid)&&void 0!==v?v:m.includeFbclid,w.includeReferrer=null!==(h=null==r?void 0:r.includeReferrer)&&void 0!==h?h:m.includeReferrer,w.includeUtm=null!==(b=null==r?void 0:r.includeUtm)&&void 0!==b?b:m.includeUtm,w.sessionTimeout=null!==(g=null==r?void 0:r.sessionTimeout)&&void 0!==g?g:m.sessionTimeout,w.trackingOptions=null!==(y=null==r?void 0:r.trackingOptions)&&void 0!==y?y:m.trackingOptions,w}return i(t,e),t}(B),de=function(e,t){void 0===t&&(t=le());var i=n(n({},t),e),r=null==e?void 0:e.cookieStorage;return r&&r.isEnabled()||(r=new ie({domain:i.domain,expirationDays:i.cookieExpiration,sameSite:i.cookieSameSite,secure:i.cookieSecure}),!i.disableCookies&&r.isEnabled()||(r=new re).isEnabled()||(r=new oe)),r},pe=function(e){var t=null==e?void 0:e.storageProvider;return t&&t.isEnabled()||(t=new re).isEnabled()||(t=new oe),t},fe=function(e,t,i){return t||i||e||J()},ve=function(e,t,i,n){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===i&&(i=0),e&&Date.now()-i<n?e:t||Date.now()},he=function(e){return e===f.TransportType.XHR?new ae:e===f.TransportType.SendBeacon?new ue:le().transportProvider},be=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.get=function(e){try{var t=this.getRaw(e);if(!t)return;return t.split(".").splice(-1)[0].split("|").reduce((function(e,t){var i=a(t.split("=",2),2),n=i[0],r=i[1],o=void 0===r?"":r;return o?(e[n]=decodeURIComponent(o),e):e}),{})}catch(e){return}},t.prototype.set=function(){},t}(ie),ge=function(){var e=se(),t=new be,i=t.isEnabled()&&t.get("__utmz")||{},n=e.utm_source||i.utmcsr,r=e.utm_medium||i.utmcmd,o=e.utm_campaign||i.utmccn,s=e.utm_term||i.utmctr,a=e.utm_content||i.utmcct,u={};return n&&(u.utm_source=n),r&&(u.utm_medium=r),o&&(u.utm_campaign=o),s&&(u.utm_term=s),a&&(u.utm_content=a),u},ye=function(){var e,t={};try{var i=document.referrer||void 0,n=null!==(e=null==i?void 0:i.split("/")[2])&&void 0!==e?e:void 0;void 0!==i&&(t.referrer=i),void 0!==n&&(t.referring_domain=n)}catch(e){}return t},we=function(){var e,t=se();return n({},t.gclid&&((e={}).gclid=t.gclid,e))},me=function(){var e,t=se();return n({},t.fbclid&&((e={}).fbclid=t.fbclid,e))},Se=function(e,t){var i=new ie;if(i.isEnabled()&&!(null==t?void 0:t.disableCookies)||(i=new re),!i.isEnabled())return{optOut:!1};var n=function(e){return"".concat(S.toLowerCase(),"_").concat(e.substring(0,6))}(e),r=i.getRaw(n);if(!r)return{optOut:!1};i.remove(n);var o=a(r.split("."),5),s=o[0],u=o[1],l=o[2],c=o[3],d=o[4];return{deviceId:s,userId:Ee(u),sessionId:_e(c),lastEventTime:_e(d),optOut:Boolean(l)}},_e=function(e){var t=parseInt(e,32);if(!isNaN(t))return t},Ee=function(e){if(atob&&escape&&e)try{return decodeURIComponent(escape(atob(e)))}catch(e){return}},Te=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.init=function(t,i,s){var a,u,l;return r(this,void 0,void 0,(function(){var r,c;return o(this,(function(o){switch(o.label){case 0:return r=Se(t,s),c=function(e,t,i){var r,o,s,a=le(),u=de(i),l=ee(e),c=u.get(l),d=se(),p=null!==(r=null==i?void 0:i.sessionTimeout)&&void 0!==r?r:a.sessionTimeout;return new ce(e,null!=t?t:null==c?void 0:c.userId,n(n({},i),{cookieStorage:u,sessionTimeout:p,deviceId:fe(null==c?void 0:c.deviceId,null==i?void 0:i.deviceId,d.deviceId),optOut:null!==(o=null==i?void 0:i.optOut)&&void 0!==o?o:Boolean(null==c?void 0:c.optOut),sessionId:ve(null==c?void 0:c.sessionId,null==i?void 0:i.sessionId,null==c?void 0:c.lastEventTime,p),storageProvider:pe(i),trackingOptions:n(n({},a.trackingOptions),null==i?void 0:i.trackingOptions),transportProvider:null!==(s=null==i?void 0:i.transportProvider)&&void 0!==s?s:he(null==i?void 0:i.transport)}))}(t,i||r.userId,n(n({},s),{deviceId:null!==(a=r.deviceId)&&void 0!==a?a:null==s?void 0:s.deviceId,sessionId:null!==(u=r.sessionId)&&void 0!==u?u:null==s?void 0:s.sessionId,optOut:null!==(l=null==s?void 0:s.optOut)&&void 0!==l?l:r.optOut})),[4,e.prototype.init.call(this,void 0,void 0,c)];case 1:return o.sent(),X(this.config,r.lastEventTime),[4,this.add(new te)];case 2:return o.sent(),[4,this.add(new V)];case 3:return o.sent(),this.trackAttributions(),[2]}}))}))},t.prototype.getUserId=function(){return this.config.userId},t.prototype.setUserId=function(e){this.config.userId=e,X(this.config)},t.prototype.getDeviceId=function(){return this.config.deviceId},t.prototype.setDeviceId=function(e){this.config.deviceId=e,X(this.config)},t.prototype.getSessionId=function(){return this.config.sessionId},t.prototype.setSessionId=function(e){this.config.sessionId=e,X(this.config)},t.prototype.setOptOut=function(t){e.prototype.setOptOut.call(this,t),X(this.config)},t.prototype.setTransport=function(e){this.config.transportProvider=he(e)},t.prototype.identify=function(t,i){if(G(t)){var n=t._q;t._q=[],t=W(new k,n)}return e.prototype.identify.call(this,t,i)},t.prototype.groupIdentify=function(t,i,n,r){if(G(n)){var o=n._q;n._q=[],n=W(new k,o)}return e.prototype.groupIdentify.call(this,t,i,n,r)},t.prototype.revenue=function(t,i){if(G(t)){var n=t._q;t._q=[],t=W(new A,n)}return e.prototype.revenue.call(this,t,i)},t.prototype.trackAttributions=function(){var e=function(e){return n(n(n(n({},e.includeUtm&&ge()),e.includeReferrer&&ye()),e.includeGclid&&we()),e.includeFbclid&&me())}(this.config);if(0!==Object.keys(e).length){var t=new k;return Object.entries(e).forEach((function(e){var i=a(e,2),n=i[0],r=i[1];r&&(t.setOnce("initial_".concat(n),r),t.set(n,r))})),this.identify(t)}},t}(q),Ie=new Te,ke=Z(Ie.init.bind(Ie)),Oe=Z(Ie.add.bind(Ie)),Pe=Z(Ie.remove.bind(Ie)),xe=Z(Ie.track.bind(Ie)),Re=Z(Ie.logEvent.bind(Ie)),Ne=Z(Ie.identify.bind(Ie)),Ue=Z(Ie.groupIdentify.bind(Ie)),Le=Z(Ie.setGroup.bind(Ie)),je=Z(Ie.revenue.bind(Ie)),qe=Ie.getUserId.bind(Ie),Ae=Ie.setUserId.bind(Ie),De=Ie.getDeviceId.bind(Ie),Ce=Ie.setDeviceId.bind(Ie),Me=Ie.getSessionId.bind(Ie),Be=Ie.setSessionId.bind(Ie),ze=Ie.setOptOut.bind(Ie),Fe=Ie.setTransport.bind(Ie),Ve=Object.freeze({__proto__:null,Types:m,add:Oe,getDeviceId:De,getSessionId:Me,getUserId:qe,groupIdentify:Ue,identify:Ne,init:ke,logEvent:Re,remove:Pe,revenue:je,setDeviceId:Ce,setGroup:Le,setOptOut:ze,setSessionId:Be,setTransport:Fe,setUserId:Ae,track:xe,runQueuedFunctions:Q,Revenue:A,Identify:k});if(globalThis.amplitude=Object.assign(globalThis.amplitude||{},Ve),globalThis.amplitude.invoked){var Ze=globalThis.amplitude._q;globalThis.amplitude._q=[],Q(Ve,Ze)}}();
|
|
15
|
+
***************************************************************************** */var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])},t(e,i)};function i(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var n=function(){return n=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},n.apply(this,arguments)};function r(e,t,i,n){return new(i||(i=Promise))((function(r,o){function s(e){try{u(n.next(e))}catch(e){o(e)}}function a(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}u((n=n.apply(e,t||[])).next())}))}function o(e,t){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function s(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,o=i.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return s}function u(e,t,i){if(i||2===arguments.length)for(var n,r=0,o=t.length;r<o;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||Array.prototype.slice.call(t))}var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var d,p,f={},v={};d=v,Object.defineProperty(d,"__esModule",{value:!0}),d.ServerZone=void 0,(p=d.ServerZone||(d.ServerZone={})).US="US",p.EU="EU";var h={};!function(e){var t,i,n;Object.defineProperty(e,"__esModule",{value:!0}),e.SpecialEventType=e.RevenueProperty=e.IdentifyOperation=void 0,(t=e.IdentifyOperation||(e.IdentifyOperation={})).SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll",(i=e.RevenueProperty||(e.RevenueProperty={})).REVENUE_PRODUCT_ID="$productId",i.REVENUE_QUANTITY="$quantity",i.REVENUE_PRICE="$price",i.REVENUE_TYPE="$revenueType",i.REVENUE="$revenue",(n=e.SpecialEventType||(e.SpecialEventType={})).IDENTIFY="$identify",n.GROUP_IDENTIFY="$groupidentify",n.REVENUE="revenue_amount"}(h);var g={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.LogLevel=void 0,(t=e.LogLevel||(e.LogLevel={}))[t.None=0]="None",t[t.Error=1]="Error",t[t.Warn=2]="Warn",t[t.Verbose=3]="Verbose"}(g);var y={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.PluginType=void 0,(t=e.PluginType||(e.PluginType={})).BEFORE="before",t.ENRICHMENT="enrichment",t.DESTINATION="destination"}(y);var b={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.Status=void 0,(t=e.Status||(e.Status={})).Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"}(b);var m={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.TransportType=void 0,(t=e.TransportType||(e.TransportType={})).XHR="xhr",t.SendBeacon="beacon",t.Fetch="fetch"}(m),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TransportType=e.Status=e.PluginType=e.LogLevel=e.RevenueProperty=e.IdentifyOperation=e.SpecialEventType=e.ServerZone=void 0;var t=v;Object.defineProperty(e,"ServerZone",{enumerable:!0,get:function(){return t.ServerZone}});var i=h;Object.defineProperty(e,"SpecialEventType",{enumerable:!0,get:function(){return i.SpecialEventType}}),Object.defineProperty(e,"IdentifyOperation",{enumerable:!0,get:function(){return i.IdentifyOperation}}),Object.defineProperty(e,"RevenueProperty",{enumerable:!0,get:function(){return i.RevenueProperty}});var n=g;Object.defineProperty(e,"LogLevel",{enumerable:!0,get:function(){return n.LogLevel}});var r=y;Object.defineProperty(e,"PluginType",{enumerable:!0,get:function(){return r.PluginType}});var o=b;Object.defineProperty(e,"Status",{enumerable:!0,get:function(){return o.Status}});var s=m;Object.defineProperty(e,"TransportType",{enumerable:!0,get:function(){return s.TransportType}})}(f);var w=e({__proto__:null,default:l(f)},[f]),_="AMP",S="".concat(_,"_unsent"),E="https://api2.amplitude.com/2/httpapi",T=function(e){if(Object.keys(e).length>1e3)return!1;for(var t in e){var i=e[t];if(!I(t,i))return!1}return!0},I=function(e,t){var i,n;if("string"!=typeof e)return!1;if(Array.isArray(t)){var r=!0;try{for(var o=s(t),a=o.next();!a.done;a=o.next()){var u=a.value;if(Array.isArray(u))return!1;if("object"==typeof u)r=r&&T(u);else if(!["number","string"].includes(typeof u))return!1;if(!r)return!1}}catch(e){i={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}}else{if("object"==typeof t)return T(t);if(!["number","string","boolean"].includes(typeof t))return!1}return!0},O=function(){function e(){this._propertySet=new Set,this._properties={}}return e.prototype.getUserProperties=function(){return n({},this._properties)},e.prototype.set=function(e,t){return this._safeSet(f.IdentifyOperation.SET,e,t),this},e.prototype.setOnce=function(e,t){return this._safeSet(f.IdentifyOperation.SET_ONCE,e,t),this},e.prototype.append=function(e,t){return this._safeSet(f.IdentifyOperation.APPEND,e,t),this},e.prototype.prepend=function(e,t){return this._safeSet(f.IdentifyOperation.PREPEND,e,t),this},e.prototype.postInsert=function(e,t){return this._safeSet(f.IdentifyOperation.POSTINSERT,e,t),this},e.prototype.preInsert=function(e,t){return this._safeSet(f.IdentifyOperation.PREINSERT,e,t),this},e.prototype.remove=function(e,t){return this._safeSet(f.IdentifyOperation.REMOVE,e,t),this},e.prototype.add=function(e,t){return this._safeSet(f.IdentifyOperation.ADD,e,t),this},e.prototype.unset=function(e){return this._safeSet(f.IdentifyOperation.UNSET,e,"-"),this},e.prototype.clearAll=function(){return this._properties={},this._properties[f.IdentifyOperation.CLEAR_ALL]="-",this},e.prototype._safeSet=function(e,t,i){if(this._validate(e,t,i)){var n=this._properties[e];return void 0===n&&(n={},this._properties[e]=n),n[t]=i,this._propertySet.add(t),!0}return!1},e.prototype._validate=function(e,t,i){return void 0===this._properties[f.IdentifyOperation.CLEAR_ALL]&&(!this._propertySet.has(t)&&(e===f.IdentifyOperation.ADD?"number"==typeof i:e===f.IdentifyOperation.UNSET||e===f.IdentifyOperation.REMOVE||I(t,i)))},e}(),k=function(e,t){return n(n({},t),{event_type:f.SpecialEventType.IDENTIFY,user_properties:e.getUserProperties()})},P=function(e,t,i){return void 0===t&&(t=0),void 0===i&&(i=f.Status.Unknown),{event:e,code:t,message:i}},x=[],R=!1,N=function(e,t){return r(void 0,void 0,void 0,(function(){return o(this,(function(i){switch(i.label){case 0:return[4,e.setup(t)];case 1:return i.sent(),t.plugins.push(e),[2]}}))}))},U=function(e,t){return t.plugins.splice(t.plugins.findIndex((function(t){return t.name===e})),1),Promise.resolve()},L=function(e,t){return new Promise((function(i){t.optOut?i(P(e,0,"Event skipped due to optOut config")):(x.push([e,i,t.plugins]),C(0))}))},C=function(e){R||(R=!0,setTimeout((function(){D().then((function(){R=!1,x.length>0&&C(0)}))}),e))},D=function(){return r(void 0,void 0,void 0,(function(){var e,t,i,r,u,c,l,d,p,v,h,g,y,b,m,w,_,S,E,T;return o(this,(function(o){switch(o.label){case 0:if(!(e=x.shift()))return[2];t=a(e,1),i=t[0],r=a(e,3),u=r[1],c=r[2],l=c.filter((function(e){return e.type===f.PluginType.BEFORE})),o.label=1;case 1:o.trys.push([1,6,7,8]),d=s(l),p=d.next(),o.label=2;case 2:return p.done?[3,5]:[4,p.value.execute(n({},i))];case 3:i=o.sent(),o.label=4;case 4:return p=d.next(),[3,2];case 5:return[3,8];case 6:return v=o.sent(),_={error:v},[3,8];case 7:try{p&&!p.done&&(S=d.return)&&S.call(d)}finally{if(_)throw _.error}return[7];case 8:h=c.filter((function(e){return e.type===f.PluginType.ENRICHMENT})),o.label=9;case 9:o.trys.push([9,14,15,16]),g=s(h),y=g.next(),o.label=10;case 10:return y.done?[3,13]:[4,y.value.execute(n({},i))];case 11:i=o.sent(),o.label=12;case 12:return y=g.next(),[3,10];case 13:return[3,16];case 14:return b=o.sent(),E={error:b},[3,16];case 15:try{y&&!y.done&&(T=g.return)&&T.call(g)}finally{if(E)throw E.error}return[7];case 16:return m=c.filter((function(e){return e.type===f.PluginType.DESTINATION})),w=m.map((function(e){var t=n({},i);return e.execute(t).catch((function(e){return P(t,0,String(e))}))})),Promise.all(w).then((function(e){var t=a(e,1)[0];u(t)})),[2]}}))}))},q=function(){function e(e){void 0===e&&(e="$default"),this.logEvent=this.track.bind(this),this.name=e}return e.prototype.init=function(e,t,i){return this.config=i,Promise.resolve()},e.prototype.track=function(e,t,i){var r=function(e,t,i){return n(n(n({},"string"==typeof e?{event_type:e}:e),i),t&&{event_properties:t})}(e,t,i);return this.dispatch(r)},e.prototype.identify=function(e,t){var i=k(e,t);return this.dispatch(i)},e.prototype.groupIdentify=function(e,t,i,r){var o=function(e,t,i,r){var o;return n(n({},r),{event_type:f.SpecialEventType.GROUP_IDENTIFY,group_properties:i.getUserProperties(),groups:(o={},o[e]=t,o)})}(e,t,i,r);return this.dispatch(o)},e.prototype.setGroup=function(e,t){var i=function(e,t){var i,n=new O;return n.set(e,t),{event_type:f.SpecialEventType.IDENTIFY,user_properties:n.getUserProperties(),groups:(i={},i[e]=t,i)}}(e,t);return this.dispatch(i)},e.prototype.revenue=function(e,t){var i=function(e,t){return n(n({},t),{event_type:f.SpecialEventType.REVENUE,event_properties:e.getEventProperties()})}(e,t);return this.dispatch(i)},e.prototype.add=function(e){return r(this,void 0,void 0,(function(){var t;return o(this,(function(i){return t=this.config,[2,N(e,t)]}))}))},e.prototype.remove=function(e){return r(this,void 0,void 0,(function(){var t;return o(this,(function(i){return t=this.config,[2,U(e,t)]}))}))},e.prototype.dispatch=function(e){return r(this,void 0,void 0,(function(){var t,i,n;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,L(e,this.config)];case 1:return 200===(t=r.sent()).code?this.config.loggerProvider.log(t.message):this.config.loggerProvider.error(t.message),[2,t];case 2:return i=r.sent(),n=String(i),this.config.loggerProvider.error(n),[2,P(e,0,n)];case 3:return[2]}}))}))},e.prototype.setOptOut=function(e){this.config.optOut=Boolean(e)},e.prototype.flush=function(){return function(e){return r(void 0,void 0,void 0,(function(){var t,i;return o(this,(function(n){switch(n.label){case 0:return t=e.plugins.filter((function(e){return e.type===f.PluginType.DESTINATION})),i=t.map((function(e){return e.flush&&e.flush(!0)})),[4,Promise.all(i)];case 1:return n.sent(),[2]}}))}))}(this.config)},e}(),j=function(){function e(){this.productId="",this.quantity=1,this.price=0}return e.prototype.setProductId=function(e){return this.productId=e,this},e.prototype.setQuantity=function(e){return e>0&&(this.quantity=e),this},e.prototype.setPrice=function(e){return this.price=e,this},e.prototype.setRevenueType=function(e){return this.revenueType=e,this},e.prototype.setRevenue=function(e){return this.revenue=e,this},e.prototype.setEventProperties=function(e){return T(e)&&(this.properties=e),this},e.prototype.getEventProperties=function(){var e=this.properties?n({},this.properties):{};return e[f.RevenueProperty.REVENUE_PRODUCT_ID]=this.productId,e[f.RevenueProperty.REVENUE_QUANTITY]=this.quantity,e[f.RevenueProperty.REVENUE_PRICE]=this.price,e[f.RevenueProperty.REVENUE_TYPE]=this.revenueType,e[f.RevenueProperty.REVENUE]=this.revenue,e},e}(),M="Amplitude Logger ",A=function(){function e(){this.logLevel=f.LogLevel.None}return e.prototype.disable=function(){this.logLevel=f.LogLevel.None},e.prototype.enable=function(e){void 0===e&&(e=f.LogLevel.Warn),this.logLevel=e},e.prototype.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<f.LogLevel.Verbose||console.log("".concat(M,"[Log]: ").concat(e.join(" ")))},e.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<f.LogLevel.Warn||console.warn("".concat(M,"[Warn]: ").concat(e.join(" ")))},e.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.logLevel<f.LogLevel.Error||console.error("".concat(M,"[Error]: ").concat(e.join(" ")))},e}(),B=function(){return{flushMaxRetries:5,flushQueueSize:10,flushIntervalMillis:1e3,logLevel:f.LogLevel.Warn,loggerProvider:new A,saveEvents:!0,optOut:!1,plugins:[],serverUrl:E,serverZone:f.ServerZone.US,useBatch:!1}},V=function(){function e(e){var t,i,n,r;this._optOut=!1;var o=B();this.apiKey=e.apiKey,this.flushIntervalMillis=e.flushIntervalMillis||o.flushIntervalMillis,this.flushMaxRetries=e.flushMaxRetries||o.flushMaxRetries,this.flushQueueSize=e.flushQueueSize||o.flushQueueSize,this.loggerProvider=e.loggerProvider||o.loggerProvider,this.logLevel=null!==(t=e.logLevel)&&void 0!==t?t:o.logLevel,this.minIdLength=e.minIdLength,this.plan=e.plan,this.plugins=o.plugins,this.optOut=null!==(i=e.optOut)&&void 0!==i?i:o.optOut,this.saveEvents=null!==(n=e.saveEvents)&&void 0!==n?n:o.saveEvents,this.serverUrl=e.serverUrl,this.serverZone=e.serverZone||o.serverZone,this.storageProvider=e.storageProvider,this.transportProvider=e.transportProvider,this.useBatch=null!==(r=e.useBatch)&&void 0!==r?r:o.useBatch,this.loggerProvider.enable(this.logLevel);var s=F(e.serverUrl,e.serverZone,e.useBatch);this.serverZone=s.serverZone,this.serverUrl=s.serverUrl}return Object.defineProperty(e.prototype,"optOut",{get:function(){return this._optOut},set:function(e){this._optOut=e},enumerable:!1,configurable:!0}),e}(),z=function(e,t){return e===f.ServerZone.EU?t?"https://api.eu.amplitude.com/batch":"https://api.eu.amplitude.com/2/httpapi":t?"https://api2.amplitude.com/batch":E},F=function(e,t,i){if(void 0===e&&(e=""),void 0===t&&(t=B().serverZone),void 0===i&&(i=B().useBatch),e)return{serverUrl:e,serverZone:void 0};var n=[f.ServerZone.US,f.ServerZone.EU].includes(t)?t:B().serverZone;return{serverZone:n,serverUrl:z(n,i)}},Z=function(){function e(){this.name="amplitude",this.type=f.PluginType.DESTINATION,this.backoff=1e3,this.throttle=3e4,this.storageKey="",this.backup=new Set,this.scheduled=!1,this.queue=[],this.queueBuffer=new Set}return e.prototype.setup=function(e){var t=this;this.config=e,this.storageKey="".concat(S,"_").concat(this.config.apiKey.substring(0,10));var i=this.config.storageProvider.get(this.storageKey);return this.snapshot(),i&&i.length>0&&Promise.all(i.map((function(e){return t.execute(e)}))).catch(),Promise.resolve(void 0)},e.prototype.execute=function(e){var t=this;return new Promise((function(i){var n={event:e,attempts:0,callback:function(e){return i(e)},delay:0};t.addToQueue(n)}))},e.prototype.addToQueue=function(){for(var e=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var n=t.filter((function(t){return t.attempts<e.config.flushMaxRetries||(e.fulfillRequest([t],500,f.Status.Unknown),!1)}));this.addToBackup.apply(this,u([],a(n.map((function(e){return e.event}))),!1)),n.forEach((function(t){t.attempts+=1;var i=t.delay;if(t.delay=0,1===t.attempts&&!t.delay)return e.queue=e.queue.concat(t),void e.schedule(e.config.flushIntervalMillis);e.queueBuffer.add(t),setTimeout((function(){e.queueBuffer.has(t)&&(e.queueBuffer.delete(t),e.queue=e.queue.concat(t),e.schedule(e.config.flushIntervalMillis))}),i||t.attempts*e.backoff)}))},e.prototype.schedule=function(e){var t=this;this.scheduled||(this.scheduled=!0,setTimeout((function(){t.flush().then((function(){t.scheduled=!1,t.queue.length>0&&t.schedule(e)}))}),e))},e.prototype.flush=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,(function(){var t,i,n=this;return o(this,(function(r){switch(r.label){case 0:return t=this.queue,this.queue=[],e&&(t.push.apply(t,u([],a(this.queueBuffer.values()),!1)),this.queueBuffer.clear()),o=t,s=this.config.flushQueueSize,c=Math.max(s,1),i=o.reduce((function(e,t,i){var n=Math.floor(i/c);return e[n]||(e[n]=[]),e[n].push(t),e}),[]),[4,Promise.all(i.map((function(e){return n.send(e)})))];case 1:return r.sent(),[2]}var o,s,c}))}))},e.prototype.send=function(e){return r(this,void 0,void 0,(function(){var t,i,n,r;return o(this,(function(o){switch(o.label){case 0:if(!this.config.apiKey)return[2,this.fulfillRequest(e,400,"Event rejected due to missing API key")];t={api_key:this.config.apiKey,events:e.map((function(e){return e.event})),options:{min_id_length:this.config.minIdLength}},o.label=1;case 1:return o.trys.push([1,3,,4]),i=F(this.config.serverUrl,this.config.serverZone,this.config.useBatch).serverUrl,[4,this.config.transportProvider.send(i,t)];case 2:return null===(n=o.sent())?(this.fulfillRequest(e,0,"Unexpected error occurred"),[2]):(this.handleReponse(n,e),[3,4]);case 3:return r=o.sent(),this.fulfillRequest(e,0,String(r)),[3,4];case 4:return[2]}}))}))},e.prototype.handleReponse=function(e,t){switch(e.status){case f.Status.Success:this.handleSuccessResponse(e,t);break;case f.Status.Invalid:this.handleInvalidResponse(e,t);break;case f.Status.PayloadTooLarge:this.handlePayloadTooLargeResponse(e,t);break;case f.Status.RateLimit:this.handleRateLimitResponse(e,t);break;default:this.handleOtherReponse(t)}},e.prototype.handleSuccessResponse=function(e,t){this.fulfillRequest(t,e.statusCode,"Event tracked successfully")},e.prototype.handleInvalidResponse=function(e,t){var i=this;if(e.body.missingField)this.fulfillRequest(t,e.statusCode,e.body.error);else{var n=u(u(u(u([],a(Object.values(e.body.eventsWithInvalidFields)),!1),a(Object.values(e.body.eventsWithMissingFields)),!1),a(Object.values(e.body.eventsWithInvalidIdLengths)),!1),a(e.body.silencedEvents),!1).flat(),r=new Set(n),o=t.filter((function(t,n){if(!r.has(n))return!0;i.fulfillRequest([t],e.statusCode,e.body.error)}));this.addToQueue.apply(this,u([],a(o),!1))}},e.prototype.handlePayloadTooLargeResponse=function(e,t){1!==t.length?(this.config.flushQueueSize/=2,this.addToQueue.apply(this,u([],a(t),!1))):this.fulfillRequest(t,e.statusCode,e.body.error)},e.prototype.handleRateLimitResponse=function(e,t){var i=this,n=Object.keys(e.body.exceededDailyQuotaUsers),r=Object.keys(e.body.exceededDailyQuotaDevices),o=e.body.throttledEvents,s=new Set(n),c=new Set(r),l=new Set(o),d=t.filter((function(t,n){if(!(t.event.user_id&&s.has(t.event.user_id)||t.event.device_id&&c.has(t.event.device_id)))return l.has(n)&&(t.delay=i.throttle),!0;i.fulfillRequest([t],e.statusCode,e.body.error)}));this.addToQueue.apply(this,u([],a(d),!1))},e.prototype.handleOtherReponse=function(e){this.addToQueue.apply(this,u([],a(e),!1))},e.prototype.fulfillRequest=function(e,t,i){this.removeFromBackup.apply(this,u([],a(e.map((function(e){return e.event}))),!1)),e.forEach((function(e){return e.callback(P(e.event,t,i))}))},e.prototype.addToBackup=function(){for(var e=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];this.config.saveEvents&&(t.forEach((function(t){return e.backup.add(t)})),this.snapshot())},e.prototype.removeFromBackup=function(){for(var e=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];this.config.saveEvents&&(t.forEach((function(t){return e.backup.delete(t)})),this.snapshot())},e.prototype.snapshot=function(){if(this.config.saveEvents){var e=Array.from(this.backup);this.config.storageProvider.set(this.storageKey,e)}},e}(),$=function(e){return function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return{promise:e.apply(void 0,u([],a(t),!1))}}},K=function(e){return e?(e^16*Math.random()>>e/4).toString(16):(String(1e7)+String(-1e3)+String(-4e3)+String(-8e3)+String(-1e11)).replace(/[018]/g,K)},Q=function(){function e(){this.memoryStorage=new Map}return e.prototype.isEnabled=function(){return!0},e.prototype.get=function(e){return this.memoryStorage.get(e)},e.prototype.getRaw=function(e){var t=this.get(e);return t?JSON.stringify(t):void 0},e.prototype.set=function(e,t){this.memoryStorage.set(e,t)},e.prototype.remove=function(e){this.memoryStorage.delete(e)},e.prototype.reset=function(){this.memoryStorage.clear()},e}(),W=function(){function e(){}return e.prototype.send=function(e,t){return Promise.resolve(null)},e.prototype.buildResponse=function(e){var t,i,n,r,o,s,a,u,c,l,d,p,v,h,g,y,b,m,w,_,S,E;if("object"!=typeof e)return null;var T=e.code||0,I=this.buildStatus(T);switch(I){case f.Status.Success:return{status:I,statusCode:T,body:{eventsIngested:null!==(t=e.events_ingested)&&void 0!==t?t:0,payloadSizeBytes:null!==(i=e.payload_size_bytes)&&void 0!==i?i:0,serverUploadTime:null!==(n=e.server_upload_time)&&void 0!==n?n:0}};case f.Status.Invalid:return{status:I,statusCode:T,body:{error:null!==(r=e.error)&&void 0!==r?r:"",missingField:null!==(o=e.missing_field)&&void 0!==o?o:"",eventsWithInvalidFields:null!==(s=e.events_with_invalid_fields)&&void 0!==s?s:{},eventsWithMissingFields:null!==(a=e.events_with_missing_fields)&&void 0!==a?a:{},eventsWithInvalidIdLengths:null!==(u=e.events_with_invalid_id_lengths)&&void 0!==u?u:{},epsThreshold:null!==(c=e.eps_threshold)&&void 0!==c?c:0,exceededDailyQuotaDevices:null!==(l=e.exceeded_daily_quota_devices)&&void 0!==l?l:{},silencedDevices:null!==(d=e.silenced_devices)&&void 0!==d?d:[],silencedEvents:null!==(p=e.silenced_events)&&void 0!==p?p:[],throttledDevices:null!==(v=e.throttled_devices)&&void 0!==v?v:{},throttledEvents:null!==(h=e.throttled_events)&&void 0!==h?h:[]}};case f.Status.PayloadTooLarge:return{status:I,statusCode:T,body:{error:null!==(g=e.error)&&void 0!==g?g:""}};case f.Status.RateLimit:return{status:I,statusCode:T,body:{error:null!==(y=e.error)&&void 0!==y?y:"",epsThreshold:null!==(b=e.eps_threshold)&&void 0!==b?b:0,throttledDevices:null!==(m=e.throttled_devices)&&void 0!==m?m:{},throttledUsers:null!==(w=e.throttled_users)&&void 0!==w?w:{},exceededDailyQuotaDevices:null!==(_=e.exceeded_daily_quota_devices)&&void 0!==_?_:{},exceededDailyQuotaUsers:null!==(S=e.exceeded_daily_quota_users)&&void 0!==S?S:{},throttledEvents:null!==(E=e.throttled_events)&&void 0!==E?E:[]}};case f.Status.Timeout:default:return{status:I,statusCode:T}}},e.prototype.buildStatus=function(e){return e>=200&&e<300?f.Status.Success:429===e?f.Status.RateLimit:413===e?f.Status.PayloadTooLarge:408===e?f.Status.Timeout:e>=400&&e<500?f.Status.Invalid:e>=500?f.Status.Failed:f.Status.Unknown},e}(),H=function(e,t){G(e,t)},G=function(e,t){for(var i=0;i<t.length;i++){var n=t[i],r=n.name,o=n.args,s=n.resolve,a=e&&e[r];if("function"==typeof a){var u=a.apply(e,o);"function"==typeof s&&s(null==u?void 0:u.promise)}}return e},Y=function(e){return e&&void 0!==e._q},J={exports:{}};!function(e,t){!function(i,n){var r="function",o="undefined",s="object",a="string",u="model",c="name",l="type",d="vendor",p="version",f="architecture",v="console",h="mobile",g="tablet",y="smarttv",b="wearable",m="embedded",w="Amazon",_="Apple",S="ASUS",E="BlackBerry",T="Firefox",I="Google",O="Huawei",k="LG",P="Microsoft",x="Motorola",R="Opera",N="Samsung",U="Sony",L="Xiaomi",C="Zebra",D="Facebook",q=function(e){for(var t={},i=0;i<e.length;i++)t[e[i].toUpperCase()]=e[i];return t},j=function(e,t){return typeof e===a&&-1!==M(t).indexOf(M(e))},M=function(e){return e.toLowerCase()},A=function(e,t){if(typeof e===a)return e=e.replace(/^\s\s*/,"").replace(/\s\s*$/,""),typeof t===o?e:e.substring(0,275)},B=function(e,t){for(var i,o,a,u,c,l,d=0;d<t.length&&!c;){var p=t[d],f=t[d+1];for(i=o=0;i<p.length&&!c;)if(c=p[i++].exec(e))for(a=0;a<f.length;a++)l=c[++o],typeof(u=f[a])===s&&u.length>0?2===u.length?typeof u[1]==r?this[u[0]]=u[1].call(this,l):this[u[0]]=u[1]:3===u.length?typeof u[1]!==r||u[1].exec&&u[1].test?this[u[0]]=l?l.replace(u[1],u[2]):n:this[u[0]]=l?u[1].call(this,l,u[2]):n:4===u.length&&(this[u[0]]=l?u[3].call(this,l.replace(u[1],u[2])):n):this[u]=l||n;d+=2}},V=function(e,t){for(var i in t)if(typeof t[i]===s&&t[i].length>0){for(var r=0;r<t[i].length;r++)if(j(t[i][r],e))return"?"===i?n:i}else if(j(t[i],e))return"?"===i?n:i;return e},z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},F={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[c,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[c,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[c,p],[/opios[\/ ]+([\w\.]+)/i],[p,[c,"Opera Mini"]],[/\bopr\/([\w\.]+)/i],[p,[c,R]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[c,p],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[c,"UCBrowser"]],[/\bqbcore\/([\w\.]+)/i],[p,[c,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[p,[c,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[c,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[c,"IE"]],[/yabrowser\/([\w\.]+)/i],[p,[c,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[c,/(.+)/,"$1 Secure Browser"],p],[/\bfocus\/([\w\.]+)/i],[p,[c,"Firefox Focus"]],[/\bopt\/([\w\.]+)/i],[p,[c,"Opera Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[c,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[c,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[c,"Opera Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[c,"MIUI Browser"]],[/fxios\/([-\w\.]+)/i],[p,[c,T]],[/\bqihu|(qi?ho?o?|360)browser/i],[[c,"360 Browser"]],[/(oculus|samsung|sailfish)browser\/([\w\.]+)/i],[[c,/(.+)/,"$1 Browser"],p],[/(comodo_dragon)\/([\w\.]+)/i],[[c,/_/g," "],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[c,p],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i],[c],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[c,D],p],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[c,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[c,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[c,"Chrome Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[c,"Chrome WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[c,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[c,p],[/version\/([\w\.]+) .*mobile\/\w+ (safari)/i],[p,[c,"Mobile Safari"]],[/version\/([\w\.]+) .*(mobile ?safari|safari)/i],[p,c],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[c,[p,V,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[c,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[c,"Netscape"],p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[c,"Firefox Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[c,p]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,M]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",M]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,M]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[pt]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[u,[d,N],[l,g]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[u,[d,N],[l,h]],[/((ipod|iphone)\d+,\d+)/i],[u,[d,_],[l,h]],[/(ipad\d+,\d+)/i],[u,[d,_],[l,g]],[/\((ip(?:hone|od)[\w ]*);/i],[u,[d,_],[l,h]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[u,[d,_],[l,g]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[u,[d,O],[l,g]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[u,[d,O],[l,h]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[u,/_/g," "],[d,L],[l,h]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[u,/_/g," "],[d,L],[l,g]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[u,[d,"OPPO"],[l,h]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[u,[d,"Vivo"],[l,h]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[u,[d,"Realme"],[l,h]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[u,[d,x],[l,h]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[u,[d,x],[l,g]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[u,[d,k],[l,g]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[u,[d,k],[l,h]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[u,[d,"Lenovo"],[l,g]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[u,/_/g," "],[d,"Nokia"],[l,h]],[/(pixel c)\b/i],[u,[d,I],[l,g]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[u,[d,I],[l,h]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[u,[d,U],[l,h]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[u,"Xperia Tablet"],[d,U],[l,g]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[u,[d,"OnePlus"],[l,h]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[u,[d,w],[l,g]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[u,/(.+)/g,"Fire Phone $1"],[d,w],[l,h]],[/(playbook);[-\w\),; ]+(rim)/i],[u,d,[l,g]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[u,[d,E],[l,h]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[u,[d,S],[l,g]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[u,[d,S],[l,h]],[/(nexus 9)/i],[u,[d,"HTC"],[l,g]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\w]*)/i],[d,[u,/_/g," "],[l,h]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[u,[d,"Acer"],[l,g]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[u,[d,"Meizu"],[l,h]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[u,[d,"Sharp"],[l,h]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[d,u,[l,h]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[d,u,[l,g]],[/(surface duo)/i],[u,[d,P],[l,g]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[u,[d,"Fairphone"],[l,h]],[/(u304aa)/i],[u,[d,"AT&T"],[l,h]],[/\bsie-(\w*)/i],[u,[d,"Siemens"],[l,h]],[/\b(rct\w+) b/i],[u,[d,"RCA"],[l,g]],[/\b(venue[\d ]{2,7}) b/i],[u,[d,"Dell"],[l,g]],[/\b(q(?:mv|ta)\w+) b/i],[u,[d,"Verizon"],[l,g]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[u,[d,"Barnes & Noble"],[l,g]],[/\b(tm\d{3}\w+) b/i],[u,[d,"NuVision"],[l,g]],[/\b(k88) b/i],[u,[d,"ZTE"],[l,g]],[/\b(nx\d{3}j) b/i],[u,[d,"ZTE"],[l,h]],[/\b(gen\d{3}) b.+49h/i],[u,[d,"Swiss"],[l,h]],[/\b(zur\d{3}) b/i],[u,[d,"Swiss"],[l,g]],[/\b((zeki)?tb.*\b) b/i],[u,[d,"Zeki"],[l,g]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[d,"Dragon Touch"],u,[l,g]],[/\b(ns-?\w{0,9}) b/i],[u,[d,"Insignia"],[l,g]],[/\b((nxa|next)-?\w{0,9}) b/i],[u,[d,"NextBook"],[l,g]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[d,"Voice"],u,[l,h]],[/\b(lvtel\-)?(v1[12]) b/i],[[d,"LvTel"],u,[l,h]],[/\b(ph-1) /i],[u,[d,"Essential"],[l,h]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[u,[d,"Envizen"],[l,g]],[/\b(trio[-\w\. ]+) b/i],[u,[d,"MachSpeed"],[l,g]],[/\btu_(1491) b/i],[u,[d,"Rotor"],[l,g]],[/(shield[\w ]+) b/i],[u,[d,"Nvidia"],[l,g]],[/(sprint) (\w+)/i],[d,u,[l,h]],[/(kin\.[onetw]{3})/i],[[u,/\./g," "],[d,P],[l,h]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[u,[d,C],[l,g]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[u,[d,C],[l,h]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[d,u,[l,v]],[/droid.+; (shield) bui/i],[u,[d,"Nvidia"],[l,v]],[/(playstation [345portablevi]+)/i],[u,[d,U],[l,v]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[u,[d,P],[l,v]],[/smart-tv.+(samsung)/i],[d,[l,y]],[/hbbtv.+maple;(\d+)/i],[[u,/^/,"SmartTV"],[d,N],[l,y]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[d,k],[l,y]],[/(apple) ?tv/i],[d,[u,"Apple TV"],[l,y]],[/crkey/i],[[u,"Chromecast"],[d,I],[l,y]],[/droid.+aft(\w)( bui|\))/i],[u,[d,w],[l,y]],[/\(dtv[\);].+(aquos)/i],[u,[d,"Sharp"],[l,y]],[/(bravia[\w- ]+) bui/i],[u,[d,U],[l,y]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[d,A],[u,A],[l,y]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[l,y]],[/((pebble))app/i],[d,u,[l,b]],[/droid.+; (glass) \d/i],[u,[d,I],[l,b]],[/droid.+; (wt63?0{2,3})\)/i],[u,[d,C],[l,b]],[/(quest( 2)?)/i],[u,[d,D],[l,b]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[d,[l,m]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[u,[l,h]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[u,[l,g]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[l,g]],[/(phone|mobile(?:[;\/]| safari)|pda(?=.+windows ce))/i],[[l,h]],[/(android[-\w\. ]{0,9});.+buil/i],[u,[d,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[c,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[c,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[c,p],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,c]],os:[[/microsoft (windows) (vista|xp)/i],[c,p],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[c,[p,V,z]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[c,"Windows"],[p,V,z]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[c,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[c,"Mac OS"],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[p,c],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[c,p],[/\(bb(10);/i],[p,[c,E]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[p,[c,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[c,"Firefox OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[c,"webOS"]],[/crkey\/([\d\.]+)/i],[p,[c,"Chromecast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[c,"Chromium OS"],p],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[c,p],[/(sunos) ?([\w\.\d]*)/i],[[c,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[c,p]]},Z=function(e,t){if(typeof e===s&&(t=e,e=n),!(this instanceof Z))return new Z(e,t).getResult();var r=e||(typeof i!==o&&i.navigator&&i.navigator.userAgent?i.navigator.userAgent:""),u=t?function(e,t){var i={};for(var n in e)t[n]&&t[n].length%2==0?i[n]=t[n].concat(e[n]):i[n]=e[n];return i}(F,t):F;return this.getBrowser=function(){var e,t={};return t.name=n,t.version=n,B.call(t,r,u.browser),t.major=typeof(e=t.version)===a?e.replace(/[^\d\.]/g,"").split(".")[0]:n,t},this.getCPU=function(){var e={};return e.architecture=n,B.call(e,r,u.cpu),e},this.getDevice=function(){var e={};return e.vendor=n,e.model=n,e.type=n,B.call(e,r,u.device),e},this.getEngine=function(){var e={};return e.name=n,e.version=n,B.call(e,r,u.engine),e},this.getOS=function(){var e={};return e.name=n,e.version=n,B.call(e,r,u.os),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return r},this.setUA=function(e){return r=typeof e===a&&e.length>275?A(e,275):e,this},this.setUA(r),this};Z.VERSION="0.7.31",Z.BROWSER=q([c,p,"major"]),Z.CPU=q([f]),Z.DEVICE=q([u,d,l,v,h,y,g,b,m]),Z.ENGINE=Z.OS=q([c,p]),e.exports&&(t=e.exports=Z),t.UAParser=Z;var $=typeof i!==o&&(i.jQuery||i.Zepto);if($&&!$.ua){var K=new Z;$.ua=K.getResult(),$.ua.get=function(){return K.getUA()},$.ua.set=function(e){K.setUA(e);var t=K.getResult();for(var i in t)$.ua[i]=t[i]}}}("object"==typeof window?window:c)}(J,J.exports);var X=J.exports,ee=function(){var e,t,i,n;if("undefined"==typeof navigator)return"";var r=navigator.userLanguage;return null!==(n=null!==(i=null!==(t=null===(e=navigator.languages)||void 0===e?void 0:e[0])&&void 0!==t?t:navigator.language)&&void 0!==i?i:r)&&void 0!==n?n:""},te=function(){function e(){var e;this.name="context",this.type=f.PluginType.BEFORE,this.eventId=0,this.library="amplitude-ts/".concat("0.6.0"),"undefined"!=typeof navigator&&(e=navigator.userAgent),this.uaResult=new X(e).getResult()}return e.prototype.setup=function(e){return this.config=e,Promise.resolve(void 0)},e.prototype.execute=function(e){this.isSessionValid()||(this.config.sessionId=Date.now()),this.config.lastEventTime=Date.now();var t=(new Date).getTime(),i=this.uaResult.browser.name,r=this.uaResult.browser.version,o=this.uaResult.device.model||this.uaResult.os.name,s=this.uaResult.device.vendor,a=n(n(n(n(n(n(n(n(n(n(n({user_id:this.config.userId,device_id:this.config.deviceId,session_id:this.config.sessionId,time:t},this.config.appVersion&&{app_version:this.config.appVersion}),this.config.trackingOptions.platform&&{platform:"Web"}),this.config.trackingOptions.osName&&{os_name:i}),this.config.trackingOptions.osVersion&&{os_version:r}),this.config.trackingOptions.deviceManufacturer&&{device_manufacturer:s}),this.config.trackingOptions.deviceModel&&{device_model:o}),this.config.trackingOptions.language&&{language:ee()}),this.config.trackingOptions.ipAddress&&{ip:"$remote"}),{insert_id:K(),partner_id:this.config.partnerId,plan:this.config.plan}),e),{event_id:this.eventId++,library:this.library});return Promise.resolve(a)},e.prototype.isSessionValid=function(){var e=this.config.lastEventTime||Date.now();return Date.now()-e<this.config.sessionTimeout},e}(),ie=function(){function e(e){this.options=n({},e)}return e.prototype.isEnabled=function(){if("undefined"==typeof window)return!1;var t=String(Date.now()),i=new e,n="AMP_TEST";try{return i.set(n,t),i.get(n)===t}catch(e){return!1}finally{i.remove(n)}},e.prototype.get=function(e){var t=this.getRaw(e);if(t)try{return JSON.parse(t)}catch(e){return}},e.prototype.getRaw=function(e){var t=window.document.cookie.split("; ").find((function(t){return 0===t.indexOf(e+"=")}));if(t)return t.substring(e.length+1)},e.prototype.set=function(e,t){var i;try{var n=null!==(i=this.options.expirationDays)&&void 0!==i?i:0,r=null!==t?n:-1,o=void 0;if(r){var s=new Date;s.setTime(s.getTime()+24*r*60*60*1e3),o=s}var a="".concat(e,"=").concat(JSON.stringify(t));o&&(a+="; expires=".concat(o.toUTCString())),a+="; path=/",this.options.domain&&(a+="; domain=".concat(this.options.domain)),this.options.secure&&(a+="; Secure"),this.options.sameSite&&(a+="; SameSite=".concat(this.options.sameSite)),window.document.cookie=a}catch(e){}},e.prototype.remove=function(e){this.set(e,null)},e.prototype.reset=function(){},e}(),ne=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){var i,n;return o(this,(function(r){switch(r.label){case 0:if("undefined"==typeof fetch)throw new Error("FetchTransport is not supported");return i={headers:{"Content-Type":"application/json",Accept:"*/*"},body:JSON.stringify(t),method:"POST"},[4,fetch(e,i)];case 1:return[4,r.sent().json()];case 2:return n=r.sent(),[2,this.buildResponse(n)]}}))}))},t}(W),re=function(){function e(){}return e.prototype.isEnabled=function(){if("undefined"==typeof window)return!1;var t=String(Date.now()),i=new e,n="AMP_TEST";try{return i.set(n,t),i.get(n)===t}catch(e){return!1}finally{i.remove(n)}},e.prototype.get=function(e){try{var t=this.getRaw(e);if(!t)return;return JSON.parse(t)}catch(e){return}},e.prototype.getRaw=function(e){return window.localStorage.getItem(e)||void 0},e.prototype.set=function(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}},e.prototype.remove=function(e){try{window.localStorage.removeItem(e)}catch(e){}},e.prototype.reset=function(){try{window.localStorage.clear()}catch(e){}},e}(),oe=function(e,t,i){return void 0===t&&(t=""),void 0===i&&(i=10),[_,t,e.substring(0,i)].filter(Boolean).join("_")},se=function(){return"undefined"==typeof window?{}:window.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var i=a(t.split("=",2),2),n=i[0],r=i[1],o=void 0===r?"":r;return o?(e[decodeURIComponent(n)]=decodeURIComponent(o),e):e}),{})},ae=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={done:4},t}return i(t,e),t.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){var i=this;return o(this,(function(n){return[2,new Promise((function(n,r){"undefined"==typeof XMLHttpRequest&&r(new Error("XHRTransport is not supported."));var o=new XMLHttpRequest;o.open("POST",e,!0),o.onreadystatechange=function(){if(o.readyState===i.state.done)try{var e=o.responseText,t=JSON.parse(e),s=i.buildResponse(t);n(s)}catch(e){r(e)}},o.setRequestHeader("Content-Type","application/json"),o.setRequestHeader("Accept","*/*"),o.send(JSON.stringify(t))}))]}))}))},t}(W),ue=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){var i=this;return o(this,(function(n){return[2,new Promise((function(n,r){if("undefined"==typeof window||void 0===window.navigator||void 0===window.navigator.sendBeacon)throw new Error("SendBeaconTransport is not supported");try{var o=JSON.stringify(t);return n(window.navigator.sendBeacon(e,JSON.stringify(t))?i.buildResponse({code:200,events_ingested:t.events.length,payload_size_bytes:o.length,server_upload_time:Date.now()}):i.buildResponse({code:500}))}catch(e){r(e)}}))]}))}))},t}(W),ce=function(){function e(e,t){var i;this.storage=e,this.storageKey=oe(t.apiKey),this.sessionTimeout=t.sessionTimeout,this.cache=null!==(i=this.storage.get(this.storageKey))&&void 0!==i?i:{optOut:!1}}return e.prototype.setSession=function(e){this.cache=n(n({},this.cache),e),this.storage.set(this.storageKey,this.cache)},e.prototype.getSessionId=function(){var e;return null===(e=this.storage.get(this.storageKey))||void 0===e?void 0:e.sessionId},e.prototype.setSessionId=function(e){this.setSession({sessionId:e})},e.prototype.getDeviceId=function(){return this.cache.deviceId},e.prototype.setDeviceId=function(e){this.setSession({deviceId:e})},e.prototype.getUserId=function(){return this.cache.userId},e.prototype.setUserId=function(e){this.setSession({userId:e})},e.prototype.getLastEventTime=function(){return this.cache.lastEventTime},e.prototype.setLastEventTime=function(e){this.setSession({lastEventTime:e})},e.prototype.getOptOut=function(){return this.cache.optOut},e.prototype.setOptOut=function(e){this.setSession({optOut:e})},e}(),le=function(){return{cookieExpiration:365,cookieSameSite:"Lax",cookieSecure:!1,cookieStorage:new Q,disableCookies:!1,domain:"",sessionTimeout:18e5,storageProvider:new Q,trackingOptions:{city:!0,country:!0,carrier:!0,deviceManufacturer:!0,deviceModel:!0,dma:!0,ipAddress:!0,language:!0,osName:!0,osVersion:!0,platform:!0,region:!0,versionName:!0},transportProvider:new ne}},de=function(e){function t(t,i,r){var o,s,a,u,c,l,d,p,f,v,h,g=this,y=le();return(g=e.call(this,n(n({},r),{apiKey:t,storageProvider:null!==(o=null==r?void 0:r.storageProvider)&&void 0!==o?o:y.storageProvider,transportProvider:null!==(s=null==r?void 0:r.transportProvider)&&void 0!==s?s:y.transportProvider}))||this).cookieStorage=null!==(a=null==r?void 0:r.cookieStorage)&&void 0!==a?a:y.cookieStorage,g.sessionTimeout=null!==(u=null==r?void 0:r.sessionTimeout)&&void 0!==u?u:y.sessionTimeout,g.sessionManager=new ce(g.cookieStorage,{apiKey:t,sessionTimeout:g.sessionTimeout}),g.appVersion=null==r?void 0:r.appVersion,g.cookieExpiration=null!==(c=null==r?void 0:r.cookieExpiration)&&void 0!==c?c:y.cookieExpiration,g.cookieSameSite=null!==(l=null==r?void 0:r.cookieSameSite)&&void 0!==l?l:y.cookieSameSite,g.cookieSecure=null!==(d=null==r?void 0:r.cookieSecure)&&void 0!==d?d:y.cookieSecure,g.deviceId=null==r?void 0:r.deviceId,g.disableCookies=null!==(p=null==r?void 0:r.disableCookies)&&void 0!==p?p:y.disableCookies,g.domain=null!==(f=null==r?void 0:r.domain)&&void 0!==f?f:y.domain,g.lastEventTime=null!==(v=g.lastEventTime)&&void 0!==v?v:null==r?void 0:r.lastEventTime,g.optOut=Boolean(null==r?void 0:r.optOut),g.partnerId=null==r?void 0:r.partnerId,g.sessionId=null==r?void 0:r.sessionId,g.trackingOptions=null!==(h=null==r?void 0:r.trackingOptions)&&void 0!==h?h:y.trackingOptions,g.userId=i,g}return i(t,e),Object.defineProperty(t.prototype,"deviceId",{get:function(){return this.sessionManager.getDeviceId()},set:function(e){this.sessionManager.setDeviceId(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"userId",{get:function(){return this.sessionManager.getUserId()},set:function(e){this.sessionManager.setUserId(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sessionId",{get:function(){return this.sessionManager.getSessionId()},set:function(e){this.sessionManager.setSessionId(e)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"optOut",{get:function(){return this.sessionManager.getOptOut()},set:function(e){var t;null===(t=this.sessionManager)||void 0===t||t.setOptOut(Boolean(e))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lastEventTime",{get:function(){return this.sessionManager.getLastEventTime()},set:function(e){this.sessionManager.setLastEventTime(e)},enumerable:!1,configurable:!0}),t}(V),pe=function(e,t){void 0===t&&(t=le());var i=n(n({},t),e),r=null==e?void 0:e.cookieStorage;return r&&r.isEnabled()?r:fe(i)},fe=function(e){var t=new ie({domain:e.domain,expirationDays:e.cookieExpiration,sameSite:e.cookieSameSite,secure:e.cookieSecure});return!e.disableCookies&&t.isEnabled()||(t=new re).isEnabled()||(t=new Q),t},ve=function(e){var t=null==e?void 0:e.storageProvider;return t&&t.isEnabled()||(t=new re).isEnabled()||(t=new Q),t},he=function(e,t,i){return t||i||e||K()},ge=function(e){return e===f.TransportType.XHR?new ae:e===f.TransportType.SendBeacon?new ue:le().transportProvider},ye=function(e,t){var i=new ie;if(i.isEnabled()&&!(null==t?void 0:t.disableCookies)||(i=new re),!i.isEnabled())return{optOut:!1};var n=function(e){return"".concat(_.toLowerCase(),"_").concat(e.substring(0,6))}(e),r=i.getRaw(n);if(!r)return{optOut:!1};i.remove(n);var o=a(r.split("."),5),s=o[0],u=o[1],c=o[2],l=o[3],d=o[4];return{deviceId:s,userId:me(u),sessionId:be(l),lastEventTime:be(d),optOut:Boolean(c)}},be=function(e){var t=parseInt(e,32);if(!isNaN(t))return t},me=function(e){if(atob&&escape&&e)try{return decodeURIComponent(escape(atob(e)))}catch(e){return}},we=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.get=function(e){try{var t=this.getRaw(e);if(!t)return;return t.split(".").splice(-1)[0].split("|").reduce((function(e,t){var i=a(t.split("=",2),2),n=i[0],r=i[1],o=void 0===r?"":r;return o?(e[n]=decodeURIComponent(o),e):e}),{})}catch(e){return}},t.prototype.set=function(){},t}(ie),_e={utm_source:void 0,utm_medium:void 0,utm_campaign:void 0,utm_term:void 0,utm_content:void 0,referrer:void 0,referring_domain:void 0,gclid:void 0,fbclid:void 0},Se=function(){function e(){this.utmCookieStorage=new we}return e.prototype.parse=function(){return n(n(n(n({},_e),this.getUtmParam()),this.getReferrer()),this.getClickIds())},e.prototype.getUtmParam=function(){var e=se(),t=this.utmCookieStorage.isEnabled()&&this.utmCookieStorage.get("__utmz")||{};return{utm_source:e.utm_source||t.utmcsr,utm_medium:e.utm_medium||t.utmcmd,utm_campaign:e.utm_campaign||t.utmccn,utm_term:e.utm_term||t.utmctr,utm_content:e.utm_content||t.utmcct}},e.prototype.getReferrer=function(){var e,t,i={referrer:void 0,referring_domain:void 0};try{i.referrer=document.referrer||void 0,i.referring_domain=null!==(t=null===(e=i.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return i},e.prototype.getClickIds=function(){var e,t=se();return(e={}).gclid=t.gclid,e.fbclid=t.fbclid,e},e}(),Ee=function(){function e(e,t){var i,n;this.storage=t.storage,this.storageKey=oe(e,"MKTG"),this.parser=new Se,this.track=t.track,this.onNewCampaign=t.onNewCampaign,this.disabled=Boolean(t.disabled),this.trackNewCampaigns=Boolean(t.trackNewCampaigns),this.trackPageViews=void 0===t.trackPageViews||Boolean(t.trackPageViews),this.excludeReferrers=null!==(i=t.excludeReferrers)&&void 0!==i?i:[],"undefined"!=typeof location&&this.excludeReferrers.unshift(location.hostname),this.initialEmptyValue=null!==(n=t.initialEmptyValue)&&void 0!==n?n:"EMPTY"}return e.prototype.isNewCampaign=function(e,t){var i=Boolean(e.referring_domain&&this.excludeReferrers.includes(e.referring_domain)),n=t.utm_campaign!==e.utm_campaign||t.utm_source!==e.utm_source||t.utm_medium!==e.utm_medium||t.utm_term!==e.utm_term||t.utm_content!==e.utm_content,r=t.referring_domain!==e.referring_domain;return!i&&(n||r)},e.prototype.saveCampaignToStorage=function(e){this.storage.set(this.storageKey,e)},e.prototype.getCampaignFromStorage=function(){return this.storage.get(this.storageKey)||n({},_e)},e.prototype.createCampaignEvent=function(e){var t=this,i=n(n({},_e),e),r=Object.entries(i).reduce((function(e,i){var n=a(i,2),r=n[0],o=n[1];return e.setOnce("initial_".concat(r),o||t.initialEmptyValue),o?e.set(r,o):e.unset(r)}),new O),o={event_type:"Page View",event_properties:{page_title:"undefined"!=typeof document&&document.title||"",page_location:"undefined"!=typeof location&&location.href||"",page_path:"undefined"!=typeof location&&location.pathname||""}};return n(n({},k(r)),this.trackPageViews&&o)},e.prototype.send=function(e){return r(this,void 0,void 0,(function(){var t,i;return o(this,(function(n){switch(n.label){case 0:if(this.disabled)return[2];if(t=this.parser.parse(),i=this.getCampaignFromStorage(),!e){if(!this.trackNewCampaigns||!this.isNewCampaign(t,i))return[2];this.onNewCampaign(t)}return[4,this.track(this.createCampaignEvent(t))];case 1:return n.sent(),this.saveCampaignToStorage(t),[2]}}))}))},e}(),Te=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.init=function(t,i,s){var a,u,c;return r(this,void 0,void 0,(function(){var r,l,d;return o(this,(function(o){switch(o.label){case 0:return r=ye(t,s),l=function(e,t,i){var r,o,s,a,u,c=le(),l=pe(i),d=oe(e),p=l.get(d),f=se(),v=null!==(r=null==i?void 0:i.sessionTimeout)&&void 0!==r?r:c.sessionTimeout;return new de(e,null!=t?t:null==p?void 0:p.userId,n(n({},i),{cookieStorage:l,sessionTimeout:v,deviceId:he(null==p?void 0:p.deviceId,null==i?void 0:i.deviceId,f.deviceId),optOut:null!==(o=null==i?void 0:i.optOut)&&void 0!==o?o:Boolean(null==p?void 0:p.optOut),sessionId:null!==(a=null===(s=l.get(d))||void 0===s?void 0:s.sessionId)&&void 0!==a?a:null==i?void 0:i.sessionId,storageProvider:ve(i),trackingOptions:n(n({},c.trackingOptions),null==i?void 0:i.trackingOptions),transportProvider:null!==(u=null==i?void 0:i.transportProvider)&&void 0!==u?u:ge(null==i?void 0:i.transport)}))}(t,i||r.userId,n(n({},s),{deviceId:null!==(a=r.deviceId)&&void 0!==a?a:null==s?void 0:s.deviceId,sessionId:null!==(u=r.sessionId)&&void 0!==u?u:null==s?void 0:s.sessionId,optOut:null!==(c=null==s?void 0:s.optOut)&&void 0!==c?c:r.optOut,lastEventTime:r.lastEventTime})),[4,e.prototype.init.call(this,void 0,void 0,l)];case 1:return o.sent(),d=!1,(!this.config.sessionId||this.config.lastEventTime&&Date.now()-this.config.lastEventTime>this.config.sessionTimeout)&&(this.config.sessionId=Date.now(),d=!0),[4,this.add(new te)];case 2:return o.sent(),[4,this.add(new Z)];case 3:return o.sent(),[4,this.runAttributionStrategy(null==s?void 0:s.attribution,d)];case 4:return o.sent(),[2]}}))}))},t.prototype.runAttributionStrategy=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,(function(){var i,r,s;return o(this,(function(o){switch(o.label){case 0:return i=this.track.bind(this),r=this.setSessionId.bind(this,Date.now()),s=fe(this.config),[4,new Ee(this.config.apiKey,n(n({},e),{storage:s,track:i,onNewCampaign:r})).send(t)];case 1:return o.sent(),[2]}}))}))},t.prototype.getUserId=function(){return this.config.userId},t.prototype.setUserId=function(e){this.config.userId=e},t.prototype.getDeviceId=function(){return this.config.deviceId},t.prototype.setDeviceId=function(e){this.config.deviceId=e},t.prototype.regenerateDeviceId=function(){var e=he();this.setDeviceId(e)},t.prototype.getSessionId=function(){return this.config.sessionId},t.prototype.setSessionId=function(e){this.config.sessionId=e},t.prototype.setOptOut=function(e){this.config.optOut=e},t.prototype.setTransport=function(e){this.config.transportProvider=ge(e)},t.prototype.identify=function(t,i){if(Y(t)){var n=t._q;t._q=[],t=G(new O,n)}return e.prototype.identify.call(this,t,i)},t.prototype.groupIdentify=function(t,i,n,r){if(Y(n)){var o=n._q;n._q=[],n=G(new O,o)}return e.prototype.groupIdentify.call(this,t,i,n,r)},t.prototype.revenue=function(t,i){if(Y(t)){var n=t._q;t._q=[],t=G(new j,n)}return e.prototype.revenue.call(this,t,i)},t}(q),Ie=new Te,Oe=$(Ie.init.bind(Ie)),ke=$(Ie.add.bind(Ie)),Pe=$(Ie.remove.bind(Ie)),xe=$(Ie.track.bind(Ie)),Re=$(Ie.logEvent.bind(Ie)),Ne=$(Ie.identify.bind(Ie)),Ue=$(Ie.groupIdentify.bind(Ie)),Le=$(Ie.setGroup.bind(Ie)),Ce=$(Ie.revenue.bind(Ie)),De=Ie.getUserId.bind(Ie),qe=Ie.setUserId.bind(Ie),je=Ie.getDeviceId.bind(Ie),Me=Ie.setDeviceId.bind(Ie);Ie.regenerateDeviceId.bind(Ie);var Ae=Ie.getSessionId.bind(Ie),Be=Ie.setSessionId.bind(Ie),Ve=Ie.setOptOut.bind(Ie),ze=Ie.setTransport.bind(Ie),Fe=Object.freeze({__proto__:null,Types:w,add:ke,getDeviceId:je,getSessionId:Ae,getUserId:De,groupIdentify:Ue,identify:Ne,init:Oe,logEvent:Re,remove:Pe,revenue:Ce,setDeviceId:Me,setGroup:Le,setOptOut:Ve,setSessionId:Be,setTransport:ze,setUserId:qe,track:xe,runQueuedFunctions:H,Revenue:j,Identify:O});if(globalThis.amplitude=Object.assign(globalThis.amplitude||{},Fe),globalThis.amplitude.invoked){var Ze=globalThis.amplitude._q;globalThis.amplitude._q=[],H(Fe,Ze)}}();
|
|
Binary file
|