@appium/driver-test-support 0.3.6 → 0.4.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/build/lib/e2e-suite.d.ts +4 -4
- package/build/lib/e2e-suite.d.ts.map +1 -1
- package/build/lib/e2e-suite.js +8 -8
- package/build/lib/index.d.ts +1 -0
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +2 -0
- package/build/lib/index.js.map +1 -1
- package/build/lib/stoppable.d.ts +33 -0
- package/build/lib/stoppable.d.ts.map +1 -0
- package/build/lib/stoppable.js +38 -0
- package/build/lib/stoppable.js.map +1 -0
- package/build/test/e2e/stoppable.e2e.spec.d.ts +2 -0
- package/build/test/e2e/stoppable.e2e.spec.d.ts.map +1 -0
- package/build/test/e2e/stoppable.e2e.spec.js +42 -0
- package/build/test/e2e/stoppable.e2e.spec.js.map +1 -0
- package/build/test/unit/index.spec.d.ts +2 -0
- package/build/test/unit/index.spec.d.ts.map +1 -0
- package/build/test/unit/index.spec.js +41 -0
- package/build/test/unit/index.spec.js.map +1 -0
- package/lib/e2e-suite.js +8 -8
- package/lib/index.js +3 -0
- package/lib/stoppable.ts +57 -0
- package/package.json +9 -6
- package/tsconfig.json +1 -1
- package/build/tsconfig.tsbuildinfo +0 -1
package/build/lib/e2e-suite.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type DriverStatic = import("@appium/types").DriverStatic<any>;
|
|
|
25
25
|
export type StringRecord = import('@appium/types').StringRecord;
|
|
26
26
|
export type BaseDriverCapConstraints = import('@appium/types').BaseDriverCapConstraints;
|
|
27
27
|
export type BaseNSCapabilities = import('@appium/types').BaseNSCapabilities;
|
|
28
|
-
export type
|
|
28
|
+
export type RawAxiosRequestConfig = import('axios').RawAxiosRequestConfig;
|
|
29
29
|
export type SingularSessionData = import('@appium/types').SingularSessionData;
|
|
30
30
|
export type AxiosResponse<T, D> = import('axios').AxiosResponse<T, D>;
|
|
31
31
|
export type NewSessionData<C extends Readonly<Record<string, import("@appium/types").Constraint>> = typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, Extra extends void | import("@appium/types").StringRecord = void> = {
|
|
@@ -50,7 +50,7 @@ export type SessionHelpers<CommandData = unknown, ResponseData = any> = {
|
|
|
50
50
|
/**
|
|
51
51
|
* - Begin a session
|
|
52
52
|
*/
|
|
53
|
-
startSession: (data: NewSessionData, config?:
|
|
53
|
+
startSession: (data: NewSessionData, config?: RawAxiosRequestConfig) => Promise<NewSessionResponse>;
|
|
54
54
|
/**
|
|
55
55
|
* - End a session. _Note: resolves with raw response object_
|
|
56
56
|
*/
|
|
@@ -68,10 +68,10 @@ export type SessionHelpers<CommandData = unknown, ResponseData = any> = {
|
|
|
68
68
|
/**
|
|
69
69
|
* - Send an arbitrary command via `POST`.
|
|
70
70
|
*/
|
|
71
|
-
postCommand: (sessionId: string, cmdName: string, data?: CommandData, config?:
|
|
71
|
+
postCommand: (sessionId: string, cmdName: string, data?: CommandData, config?: RawAxiosRequestConfig) => Promise<ResponseData>;
|
|
72
72
|
/**
|
|
73
73
|
* - Send an arbitrary command via `GET`. Optional `sessionId`.
|
|
74
74
|
*/
|
|
75
|
-
getCommand: (sessionIdOrCmdName: string, cmdNameOrConfig: string |
|
|
75
|
+
getCommand: (sessionIdOrCmdName: string, cmdNameOrConfig: string | RawAxiosRequestConfig, config?: RawAxiosRequestConfig) => Promise<ResponseData>;
|
|
76
76
|
};
|
|
77
77
|
//# sourceMappingURL=e2e-suite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e-suite.d.ts","sourceRoot":"","sources":["../../lib/e2e-suite.js"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,sFAJW,MAAM,2EAmFhB;AAED;;;;;GAKG;AACH,mZAyTC;;;;;4KAMY,OAAO,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;qBAItC,OAAO,eAAe,EAAE,MAAM;0BAC9B,OAAO,eAAe,EAAE,WAAW;;2BAEnC,OAAO,eAAe,EAAE,YAAY;uCACpC,OAAO,eAAe,EAAE,wBAAwB;iCAChD,OAAO,eAAe,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"e2e-suite.d.ts","sourceRoot":"","sources":["../../lib/e2e-suite.js"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,sFAJW,MAAM,2EAmFhB;AAED;;;;;GAKG;AACH,mZAyTC;;;;;4KAMY,OAAO,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;qBAItC,OAAO,eAAe,EAAE,MAAM;0BAC9B,OAAO,eAAe,EAAE,WAAW;;2BAEnC,OAAO,eAAe,EAAE,YAAY;uCACpC,OAAO,eAAe,EAAE,wBAAwB;iCAChD,OAAO,eAAe,EAAE,kBAAkB;oCAC1C,OAAO,OAAO,EAAE,qBAAqB;kCACrC,OAAO,eAAe,EAAE,mBAAmB;kCAK3C,OAAO,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;kBAOlC,OAAO,WAAW,EAAE,iBAAiB,CAAC,OAAO,eAAe,EAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,GAAC,aAAa,CAAC;;;;;;eAOpH,MAAM;kBACN,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;;;;;;;;;;mBAS9C,MAAM;;;;yBACC,cAAc,WAAW,qBAAqB,KAAK,QAAQ,kBAAkB,CAAC;;;;4BACzE,MAAM,KAAK,QAAQ,cAAc;QAAC,KAAK,EAAE;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAC,QAAC;KAAC,EAAE;QAAC,cAAc,EAAE,IAAI,CAAA;KAAC,CAAC,CAAC;;;;4BACrF,MAAM,KAAK,QAAQ,mBAAmB,CAAC;;;;6BACvC,MAAM,WAAW,MAAM,SAAS,WAAW,WAAW,qBAAqB,KAAK,QAAQ,YAAY,CAAC;;;;qCAC5F,MAAM,mBAAmB,MAAM,GAAC,qBAAqB,WAAW,qBAAqB,KAAK,QAAQ,YAAY,CAAC"}
|
package/build/lib/e2e-suite.js
CHANGED
|
@@ -33,7 +33,7 @@ function createSessionHelpers(port, address = helpers_1.TEST_HOST) {
|
|
|
33
33
|
* @param {string} sessionId
|
|
34
34
|
* @param {string} cmdName
|
|
35
35
|
* @param {any} [data]
|
|
36
|
-
* @param {
|
|
36
|
+
* @param {RawAxiosRequestConfig} [config]
|
|
37
37
|
* @returns {Promise<any>}
|
|
38
38
|
*/
|
|
39
39
|
postCommand: async (sessionId, cmdName, data = {}, config = {}) => {
|
|
@@ -44,8 +44,8 @@ function createSessionHelpers(port, address = helpers_1.TEST_HOST) {
|
|
|
44
44
|
/**
|
|
45
45
|
*
|
|
46
46
|
* @param {string} sessionIdOrCmdName
|
|
47
|
-
* @param {string|
|
|
48
|
-
* @param {
|
|
47
|
+
* @param {string|RawAxiosRequestConfig} cmdNameOrConfig
|
|
48
|
+
* @param {RawAxiosRequestConfig} [config]
|
|
49
49
|
* @returns {Promise<any>}
|
|
50
50
|
*/
|
|
51
51
|
getCommand: async (sessionIdOrCmdName, cmdNameOrConfig, config = {}) => {
|
|
@@ -64,7 +64,7 @@ function createSessionHelpers(port, address = helpers_1.TEST_HOST) {
|
|
|
64
64
|
/**
|
|
65
65
|
*
|
|
66
66
|
* @param {NewSessionData} data
|
|
67
|
-
* @param {
|
|
67
|
+
* @param {RawAxiosRequestConfig} [config]
|
|
68
68
|
*/
|
|
69
69
|
startSession: async (data, config = {}) => {
|
|
70
70
|
data = lodash_1.default.defaultsDeep(data, {
|
|
@@ -381,7 +381,7 @@ exports.driverE2ETestSuite = driverE2ETestSuite;
|
|
|
381
381
|
* @typedef {import('@appium/types').StringRecord} StringRecord
|
|
382
382
|
* @typedef {import('@appium/types').BaseDriverCapConstraints} BaseDriverCapConstraints
|
|
383
383
|
* @typedef {import('@appium/types').BaseNSCapabilities} BaseNSCapabilities
|
|
384
|
-
* @typedef {import('axios').
|
|
384
|
+
* @typedef {import('axios').RawAxiosRequestConfig} RawAxiosRequestConfig
|
|
385
385
|
* @typedef {import('@appium/types').SingularSessionData} SingularSessionData
|
|
386
386
|
*/
|
|
387
387
|
/**
|
|
@@ -408,10 +408,10 @@ exports.driverE2ETestSuite = driverE2ETestSuite;
|
|
|
408
408
|
* @template [ResponseData=any]
|
|
409
409
|
* @typedef SessionHelpers
|
|
410
410
|
* @property {string} newSessionURL - URL to create a new session. Can be used with raw `axios` requests to fully inspect raw response. Mostly, this will not be used.
|
|
411
|
-
* @property {(data: NewSessionData, config?:
|
|
411
|
+
* @property {(data: NewSessionData, config?: RawAxiosRequestConfig) => Promise<NewSessionResponse>} startSession - Begin a session
|
|
412
412
|
* @property {(sessionId: string) => Promise<AxiosResponse<{value: {error?: string}?}, {validateStatus: null}>>} endSession - End a session. _Note: resolves with raw response object_
|
|
413
413
|
* @property {(sessionId: string) => Promise<SingularSessionData>} getSession - Get info about a session
|
|
414
|
-
* @property {(sessionId: string, cmdName: string, data?: CommandData, config?:
|
|
415
|
-
* @property {(sessionIdOrCmdName: string, cmdNameOrConfig: string|
|
|
414
|
+
* @property {(sessionId: string, cmdName: string, data?: CommandData, config?: RawAxiosRequestConfig) => Promise<ResponseData>} postCommand - Send an arbitrary command via `POST`.
|
|
415
|
+
* @property {(sessionIdOrCmdName: string, cmdNameOrConfig: string|RawAxiosRequestConfig, config?: RawAxiosRequestConfig) => Promise<ResponseData>} getCommand - Send an arbitrary command via `GET`. Optional `sessionId`.
|
|
416
416
|
*/
|
|
417
417
|
//# sourceMappingURL=e2e-suite.js.map
|
package/build/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./unit-suite";
|
|
2
2
|
export * from "./helpers";
|
|
3
|
+
export * from "./stoppable";
|
|
3
4
|
export type DriverClass = import('@appium/types').DriverClass;
|
|
4
5
|
export type BaseNSCapabilities = import('@appium/types').BaseNSCapabilities;
|
|
5
6
|
export type W3CCapabilities<C extends Readonly<Record<string, import("@appium/types").Constraint>> = typeof import("@appium/types").BASE_DESIRED_CAP_CONSTRAINTS, Extra extends void | import("@appium/types").StringRecord = void> = import('@appium/types').W3CCapabilities<C, Extra>;
|
package/build/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;0BAQa,OAAO,eAAe,EAAE,WAAW;iCACnC,OAAO,eAAe,EAAE,kBAAkB;sOAM1C,OAAO,eAAe,EAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC"}
|
package/build/lib/index.js
CHANGED
|
@@ -20,6 +20,8 @@ Object.defineProperty(exports, "createSessionHelpers", { enumerable: true, get:
|
|
|
20
20
|
Object.defineProperty(exports, "driverE2ETestSuite", { enumerable: true, get: function () { return e2e_suite_1.driverE2ETestSuite; } });
|
|
21
21
|
__exportStar(require("./unit-suite"), exports);
|
|
22
22
|
__exportStar(require("./helpers"), exports);
|
|
23
|
+
// eslint-disable-next-line import/no-unresolved
|
|
24
|
+
__exportStar(require("./stoppable"), exports);
|
|
23
25
|
/**
|
|
24
26
|
* @typedef {import('@appium/types').DriverClass} DriverClass
|
|
25
27
|
* @typedef {import('@appium/types').BaseNSCapabilities} BaseNSCapabilities
|
package/build/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAqE;AAA7D,iHAAA,oBAAoB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAChD,+CAA6B;AAC7B,4CAA0B;AAE1B;;;GAGG;AAEH;;;;GAIG"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAqE;AAA7D,iHAAA,oBAAoB,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAChD,+CAA6B;AAC7B,4CAA0B;AAE1B,gDAAgD;AAChD,8CAA4B;AAE5B;;;GAGG;AAEH;;;;GAIG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { AppiumServer } from '@appium/types';
|
|
3
|
+
import type { Args, CliCommandServer } from 'appium/types';
|
|
4
|
+
import type { Server } from 'node:http';
|
|
5
|
+
import stoppable from 'stoppable';
|
|
6
|
+
import type { Asyncify } from 'type-fest';
|
|
7
|
+
/**
|
|
8
|
+
* Options for {@linkcode startStoppableAppium}
|
|
9
|
+
*/
|
|
10
|
+
export type AppiumServerOpts = Args<CliCommandServer>;
|
|
11
|
+
/**
|
|
12
|
+
* An {@linkcode AppiumServer} with a method `stop() => Promise<void>`, which closes all sockets and fully stops the server.
|
|
13
|
+
*
|
|
14
|
+
* Returned by {@linkcode startStoppableAppium}
|
|
15
|
+
*/
|
|
16
|
+
export type TestAppiumServer = Omit<NormativeAppiumServer, 'close'> & {
|
|
17
|
+
stop: Asyncify<stoppable.WithStop['stop']>;
|
|
18
|
+
close: (callback: (err?: Error) => void) => Promise<void>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The {@linkcode AppiumServer} type, but with the `close` method normalized to a callback-style function.
|
|
22
|
+
*/
|
|
23
|
+
export type NormativeAppiumServer = Omit<AppiumServer, 'close'> & {
|
|
24
|
+
close: Server['close'];
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Coerces {@linkcode AppiumServer} into a {@linkcode TestAppiumServer}.
|
|
28
|
+
* @param opts Options for {@linkcode startAppium}
|
|
29
|
+
* @todo This should be moved into `@appium/driver-test-support` or something
|
|
30
|
+
* @returns A stoppable Appium server
|
|
31
|
+
*/
|
|
32
|
+
export declare function startStoppableAppium(opts: AppiumServerOpts): Promise<TestAppiumServer>;
|
|
33
|
+
//# sourceMappingURL=stoppable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stoppable.d.ts","sourceRoot":"","sources":["../../lib/stoppable.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACtC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAAG;IACpE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAChE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoB5F"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.startStoppableAppium = void 0;
|
|
7
|
+
const appium_1 = require("appium");
|
|
8
|
+
const bluebird_1 = __importDefault(require("bluebird"));
|
|
9
|
+
const stoppable_1 = __importDefault(require("stoppable"));
|
|
10
|
+
/**
|
|
11
|
+
* Coerces {@linkcode AppiumServer} into a {@linkcode TestAppiumServer}.
|
|
12
|
+
* @param opts Options for {@linkcode startAppium}
|
|
13
|
+
* @todo This should be moved into `@appium/driver-test-support` or something
|
|
14
|
+
* @returns A stoppable Appium server
|
|
15
|
+
*/
|
|
16
|
+
async function startStoppableAppium(opts) {
|
|
17
|
+
const appiumServer = (await (0, appium_1.main)(opts));
|
|
18
|
+
const stoppableServer = (0, stoppable_1.default)(appiumServer, 0);
|
|
19
|
+
const originalAsyncClose = appiumServer.close;
|
|
20
|
+
stoppableServer.close = async function (callback) {
|
|
21
|
+
if (callback) {
|
|
22
|
+
try {
|
|
23
|
+
await originalAsyncClose.call(this);
|
|
24
|
+
callback();
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
callback(err);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
await originalAsyncClose.call(this);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
stoppableServer.stop = bluebird_1.default.promisify(stoppableServer.stop, { context: stoppableServer });
|
|
35
|
+
return stoppableServer;
|
|
36
|
+
}
|
|
37
|
+
exports.startStoppableAppium = startStoppableAppium;
|
|
38
|
+
//# sourceMappingURL=stoppable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stoppable.js","sourceRoot":"","sources":["../../lib/stoppable.ts"],"names":[],"mappings":";;;;;;AACA,mCAA2C;AAE3C,wDAAyB;AAEzB,0DAAkC;AAyBlC;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,IAAsB;IAC/D,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,aAAW,EAAC,IAAI,CAAC,CAAiB,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAA,mBAAS,EAAC,YAAgD,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;IAC7C,eAA+C,CAAC,KAAK,GAAG,KAAK,WAC5D,QAAgC;QAEhC,IAAI,QAAQ,EAAE;YACZ,IAAI;gBACF,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,QAAQ,EAAE,CAAC;aACZ;YAAC,OAAO,GAAG,EAAE;gBACZ,QAAQ,CAAC,GAAG,CAAC,CAAC;aACf;SACF;aAAM;YACL,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;IACH,CAAC,CAAC;IACF,eAAe,CAAC,IAAI,GAAG,kBAAC,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC;IACrF,OAAO,eAA8C,CAAC;AACxD,CAAC;AApBD,oDAoBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stoppable.e2e.spec.d.ts","sourceRoot":"","sources":["../../../test/e2e/stoppable.e2e.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const axios_1 = __importDefault(require("axios"));
|
|
7
|
+
const bluebird_1 = __importDefault(require("bluebird"));
|
|
8
|
+
const node_http_1 = require("node:http");
|
|
9
|
+
const lib_1 = require("../../lib");
|
|
10
|
+
const get_port_1 = __importDefault(require("get-port"));
|
|
11
|
+
const { expect } = chai;
|
|
12
|
+
describe('startStoppableAppium()', function () {
|
|
13
|
+
it('should start an Appium server', async function () {
|
|
14
|
+
let server;
|
|
15
|
+
try {
|
|
16
|
+
server = await (0, lib_1.startStoppableAppium)({ port: await (0, get_port_1.default)() });
|
|
17
|
+
expect(server, 'to be an object');
|
|
18
|
+
}
|
|
19
|
+
finally {
|
|
20
|
+
if (server) {
|
|
21
|
+
await expect(server.stop()).to.be.fulfilled;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
describe('when the server has connections', function () {
|
|
26
|
+
it('should stop the server and resolve with a boolean', async function () {
|
|
27
|
+
const port = await (0, get_port_1.default)();
|
|
28
|
+
const server = await (0, lib_1.startStoppableAppium)({ port });
|
|
29
|
+
const getConnections = bluebird_1.default.promisify(server.getConnections, { context: server });
|
|
30
|
+
await axios_1.default.get(`http://127.0.0.1:${port}/status`, {
|
|
31
|
+
httpAgent: new node_http_1.Agent({ keepAlive: true }),
|
|
32
|
+
});
|
|
33
|
+
try {
|
|
34
|
+
await expect(getConnections()).to.eventually.be.greaterThan(0);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
await expect(server.stop()).to.eventually.be.a('boolean');
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=stoppable.e2e.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stoppable.e2e.spec.js","sourceRoot":"","sources":["../../../test/e2e/stoppable.e2e.spec.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,wDAAyB;AACzB,yCAAgC;AAChC,mCAAiE;AACjE,wDAA+B;AAE/B,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;AAEtB,QAAQ,CAAC,wBAAwB,EAAE;IACjC,EAAE,CAAC,+BAA+B,EAAE,KAAK;QACvC,IAAI,MAAoC,CAAC;QACzC,IAAI;YACF,MAAM,GAAG,MAAM,IAAA,0BAAoB,EAAC,EAAC,IAAI,EAAE,MAAM,IAAA,kBAAO,GAAE,EAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;SACnC;gBAAS;YACR,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;aAC7C;SACF;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE;QAC1C,EAAE,CAAC,mDAAmD,EAAE,KAAK;YAC3D,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAO,GAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAoB,EAAC,EAAC,IAAI,EAAC,CAAC,CAAC;YAClD,MAAM,cAAc,GAAG,kBAAC,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;YAC7E,MAAM,eAAK,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS,EAAE;gBACjD,SAAS,EAAE,IAAI,iBAAK,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC;aACxC,CAAC,CAAC;YACH,IAAI;gBACF,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aAChE;oBAAS;gBACR,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../../test/unit/index.spec.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lib_1 = require("../../lib");
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const { expect } = chai;
|
|
9
|
+
describe('TEST_HOST', function () {
|
|
10
|
+
it('should be localhost', function () {
|
|
11
|
+
expect(lib_1.TEST_HOST).to.equal('127.0.0.1');
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
describe('getTestPort()', function () {
|
|
15
|
+
it('should get a free test port', async function () {
|
|
16
|
+
const port = await (0, lib_1.getTestPort)();
|
|
17
|
+
expect(port).to.be.a('number');
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('createAppiumURL()', function () {
|
|
21
|
+
it('should create a "new session" URL', function () {
|
|
22
|
+
const actual = (0, lib_1.createAppiumURL)(lib_1.TEST_HOST, 31337, '', 'session');
|
|
23
|
+
const expected = `http://${lib_1.TEST_HOST}:31337/session`;
|
|
24
|
+
expect(actual).to.equal(expected);
|
|
25
|
+
});
|
|
26
|
+
it('should create a URL to get an existing session', function () {
|
|
27
|
+
const sessionId = '12345';
|
|
28
|
+
const createGetSessionURL = (0, lib_1.createAppiumURL)(lib_1.TEST_HOST, 31337, lodash_1.default, 'session');
|
|
29
|
+
const actual = createGetSessionURL(sessionId);
|
|
30
|
+
const expected = `http://${lib_1.TEST_HOST}:31337/session/${sessionId}/session`;
|
|
31
|
+
expect(actual).to.equal(expected);
|
|
32
|
+
});
|
|
33
|
+
it('should create a URL for a command using an existing session', function () {
|
|
34
|
+
const sessionId = '12345';
|
|
35
|
+
const createURLWithPath = (0, lib_1.createAppiumURL)('127.0.0.1', 31337, sessionId);
|
|
36
|
+
const actual = createURLWithPath('moocow');
|
|
37
|
+
const expected = `http://${lib_1.TEST_HOST}:31337/session/${sessionId}/moocow`;
|
|
38
|
+
expect(actual).to.equal(expected);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=index.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../test/unit/index.spec.js"],"names":[],"mappings":";;;;;AAAA,mCAAkE;AAClE,oDAAuB;AAEvB,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;AAEtB,QAAQ,CAAC,WAAW,EAAE;IACpB,EAAE,CAAC,qBAAqB,EAAE;QACxB,MAAM,CAAC,eAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE;IACxB,EAAE,CAAC,6BAA6B,EAAE,KAAK;QACrC,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAW,GAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE;IAC5B,EAAE,CAAC,mCAAmC,EAAE;QACtC,MAAM,MAAM,GAAG,IAAA,qBAAe,EAAC,eAAS,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,UAAU,eAAS,gBAAgB,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE;QACnD,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,MAAM,mBAAmB,GAAG,IAAA,qBAAe,EAAC,eAAS,EAAE,KAAK,EAAE,gBAAC,EAAE,SAAS,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,UAAU,eAAS,kBAAkB,SAAS,UAAU,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE;QAChE,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,MAAM,iBAAiB,GAAG,IAAA,qBAAe,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,eAAS,kBAAkB,SAAS,SAAS,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/lib/e2e-suite.js
CHANGED
|
@@ -32,7 +32,7 @@ export function createSessionHelpers(port, address = TEST_HOST) {
|
|
|
32
32
|
* @param {string} sessionId
|
|
33
33
|
* @param {string} cmdName
|
|
34
34
|
* @param {any} [data]
|
|
35
|
-
* @param {
|
|
35
|
+
* @param {RawAxiosRequestConfig} [config]
|
|
36
36
|
* @returns {Promise<any>}
|
|
37
37
|
*/
|
|
38
38
|
postCommand: async (sessionId, cmdName, data = {}, config = {}) => {
|
|
@@ -43,8 +43,8 @@ export function createSessionHelpers(port, address = TEST_HOST) {
|
|
|
43
43
|
/**
|
|
44
44
|
*
|
|
45
45
|
* @param {string} sessionIdOrCmdName
|
|
46
|
-
* @param {string|
|
|
47
|
-
* @param {
|
|
46
|
+
* @param {string|RawAxiosRequestConfig} cmdNameOrConfig
|
|
47
|
+
* @param {RawAxiosRequestConfig} [config]
|
|
48
48
|
* @returns {Promise<any>}
|
|
49
49
|
*/
|
|
50
50
|
getCommand: async (sessionIdOrCmdName, cmdNameOrConfig, config = {}) => {
|
|
@@ -63,7 +63,7 @@ export function createSessionHelpers(port, address = TEST_HOST) {
|
|
|
63
63
|
/**
|
|
64
64
|
*
|
|
65
65
|
* @param {NewSessionData} data
|
|
66
|
-
* @param {
|
|
66
|
+
* @param {RawAxiosRequestConfig} [config]
|
|
67
67
|
*/
|
|
68
68
|
startSession: async (data, config = {}) => {
|
|
69
69
|
data = _.defaultsDeep(data, {
|
|
@@ -432,7 +432,7 @@ export function driverE2ETestSuite(DriverClass, defaultCaps = {}) {
|
|
|
432
432
|
* @typedef {import('@appium/types').StringRecord} StringRecord
|
|
433
433
|
* @typedef {import('@appium/types').BaseDriverCapConstraints} BaseDriverCapConstraints
|
|
434
434
|
* @typedef {import('@appium/types').BaseNSCapabilities} BaseNSCapabilities
|
|
435
|
-
* @typedef {import('axios').
|
|
435
|
+
* @typedef {import('axios').RawAxiosRequestConfig} RawAxiosRequestConfig
|
|
436
436
|
* @typedef {import('@appium/types').SingularSessionData} SingularSessionData
|
|
437
437
|
*/
|
|
438
438
|
|
|
@@ -463,9 +463,9 @@ export function driverE2ETestSuite(DriverClass, defaultCaps = {}) {
|
|
|
463
463
|
* @template [ResponseData=any]
|
|
464
464
|
* @typedef SessionHelpers
|
|
465
465
|
* @property {string} newSessionURL - URL to create a new session. Can be used with raw `axios` requests to fully inspect raw response. Mostly, this will not be used.
|
|
466
|
-
* @property {(data: NewSessionData, config?:
|
|
466
|
+
* @property {(data: NewSessionData, config?: RawAxiosRequestConfig) => Promise<NewSessionResponse>} startSession - Begin a session
|
|
467
467
|
* @property {(sessionId: string) => Promise<AxiosResponse<{value: {error?: string}?}, {validateStatus: null}>>} endSession - End a session. _Note: resolves with raw response object_
|
|
468
468
|
* @property {(sessionId: string) => Promise<SingularSessionData>} getSession - Get info about a session
|
|
469
|
-
* @property {(sessionId: string, cmdName: string, data?: CommandData, config?:
|
|
470
|
-
* @property {(sessionIdOrCmdName: string, cmdNameOrConfig: string|
|
|
469
|
+
* @property {(sessionId: string, cmdName: string, data?: CommandData, config?: RawAxiosRequestConfig) => Promise<ResponseData>} postCommand - Send an arbitrary command via `POST`.
|
|
470
|
+
* @property {(sessionIdOrCmdName: string, cmdNameOrConfig: string|RawAxiosRequestConfig, config?: RawAxiosRequestConfig) => Promise<ResponseData>} getCommand - Send an arbitrary command via `GET`. Optional `sessionId`.
|
|
471
471
|
*/
|
package/lib/index.js
CHANGED
|
@@ -2,6 +2,9 @@ export {createSessionHelpers, driverE2ETestSuite} from './e2e-suite';
|
|
|
2
2
|
export * from './unit-suite';
|
|
3
3
|
export * from './helpers';
|
|
4
4
|
|
|
5
|
+
// eslint-disable-next-line import/no-unresolved
|
|
6
|
+
export * from './stoppable';
|
|
7
|
+
|
|
5
8
|
/**
|
|
6
9
|
* @typedef {import('@appium/types').DriverClass} DriverClass
|
|
7
10
|
* @typedef {import('@appium/types').BaseNSCapabilities} BaseNSCapabilities
|
package/lib/stoppable.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type {AppiumServer} from '@appium/types';
|
|
2
|
+
import {main as startAppium} from 'appium';
|
|
3
|
+
import type {Args, CliCommandServer} from 'appium/types';
|
|
4
|
+
import B from 'bluebird';
|
|
5
|
+
import type {Server} from 'node:http';
|
|
6
|
+
import stoppable from 'stoppable';
|
|
7
|
+
import type {Asyncify} from 'type-fest';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Options for {@linkcode startStoppableAppium}
|
|
11
|
+
*/
|
|
12
|
+
export type AppiumServerOpts = Args<CliCommandServer>;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* An {@linkcode AppiumServer} with a method `stop() => Promise<void>`, which closes all sockets and fully stops the server.
|
|
16
|
+
*
|
|
17
|
+
* Returned by {@linkcode startStoppableAppium}
|
|
18
|
+
*/
|
|
19
|
+
export type TestAppiumServer = Omit<NormativeAppiumServer, 'close'> & {
|
|
20
|
+
stop: Asyncify<stoppable.WithStop['stop']>;
|
|
21
|
+
close: (callback: (err?: Error) => void) => Promise<void>;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The {@linkcode AppiumServer} type, but with the `close` method normalized to a callback-style function.
|
|
26
|
+
*/
|
|
27
|
+
export type NormativeAppiumServer = Omit<AppiumServer, 'close'> & {
|
|
28
|
+
close: Server['close'];
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Coerces {@linkcode AppiumServer} into a {@linkcode TestAppiumServer}.
|
|
33
|
+
* @param opts Options for {@linkcode startAppium}
|
|
34
|
+
* @todo This should be moved into `@appium/driver-test-support` or something
|
|
35
|
+
* @returns A stoppable Appium server
|
|
36
|
+
*/
|
|
37
|
+
export async function startStoppableAppium(opts: AppiumServerOpts): Promise<TestAppiumServer> {
|
|
38
|
+
const appiumServer = (await startAppium(opts)) as AppiumServer;
|
|
39
|
+
const stoppableServer = stoppable(appiumServer as unknown as NormativeAppiumServer, 0);
|
|
40
|
+
const originalAsyncClose = appiumServer.close;
|
|
41
|
+
(stoppableServer as unknown as TestAppiumServer).close = async function (
|
|
42
|
+
callback?: (err?: Error) => void
|
|
43
|
+
) {
|
|
44
|
+
if (callback) {
|
|
45
|
+
try {
|
|
46
|
+
await originalAsyncClose.call(this);
|
|
47
|
+
callback();
|
|
48
|
+
} catch (err) {
|
|
49
|
+
callback(err);
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
await originalAsyncClose.call(this);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
stoppableServer.stop = B.promisify(stoppableServer.stop, {context: stoppableServer});
|
|
56
|
+
return stoppableServer as unknown as TestAppiumServer;
|
|
57
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appium/driver-test-support",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Test utilities for Appium drivers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
"index.js",
|
|
32
32
|
"lib",
|
|
33
33
|
"build",
|
|
34
|
-
"tsconfig.json"
|
|
34
|
+
"tsconfig.json",
|
|
35
|
+
"!build/tsconfig.tsbuildinfo"
|
|
35
36
|
],
|
|
36
37
|
"scripts": {
|
|
37
38
|
"test": "npm run test:unit",
|
|
@@ -40,16 +41,18 @@
|
|
|
40
41
|
},
|
|
41
42
|
"types": "./build/lib/index.d.ts",
|
|
42
43
|
"dependencies": {
|
|
43
|
-
"@appium/types": "^0.
|
|
44
|
+
"@appium/types": "^0.10.0",
|
|
44
45
|
"@types/lodash": "4.14.191",
|
|
45
|
-
"
|
|
46
|
+
"@types/stoppable": "1.1.1",
|
|
47
|
+
"axios": "1.3.4",
|
|
46
48
|
"bluebird": "3.7.2",
|
|
47
49
|
"chai": "4.3.7",
|
|
48
50
|
"get-port": "5.1.1",
|
|
49
51
|
"lodash": "4.17.21",
|
|
50
52
|
"sinon": "15.0.1",
|
|
51
53
|
"source-map-support": "0.5.21",
|
|
52
|
-
"
|
|
54
|
+
"stoppable": "1.1.0",
|
|
55
|
+
"type-fest": "3.6.0"
|
|
53
56
|
},
|
|
54
57
|
"peerDependencies": {
|
|
55
58
|
"appium": "^2.0.0-beta.43",
|
|
@@ -62,5 +65,5 @@
|
|
|
62
65
|
"publishConfig": {
|
|
63
66
|
"access": "public"
|
|
64
67
|
},
|
|
65
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "7b4935632222123a4fa7422461f6312f1f0dfbe4"
|
|
66
69
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/async-lock/index.d.ts","../../../node_modules/@types/node/ts4.8/assert.d.ts","../../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../../node_modules/@types/node/ts4.8/globals.d.ts","../../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../node_modules/@types/node/ts4.8/buffer.d.ts","../../../node_modules/@types/node/ts4.8/child_process.d.ts","../../../node_modules/@types/node/ts4.8/cluster.d.ts","../../../node_modules/@types/node/ts4.8/console.d.ts","../../../node_modules/@types/node/ts4.8/constants.d.ts","../../../node_modules/@types/node/ts4.8/crypto.d.ts","../../../node_modules/@types/node/ts4.8/dgram.d.ts","../../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../../node_modules/@types/node/ts4.8/dns.d.ts","../../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../../node_modules/@types/node/ts4.8/domain.d.ts","../../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../../node_modules/@types/node/ts4.8/events.d.ts","../../../node_modules/@types/node/ts4.8/fs.d.ts","../../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../node_modules/@types/node/ts4.8/http.d.ts","../../../node_modules/@types/node/ts4.8/http2.d.ts","../../../node_modules/@types/node/ts4.8/https.d.ts","../../../node_modules/@types/node/ts4.8/inspector.d.ts","../../../node_modules/@types/node/ts4.8/module.d.ts","../../../node_modules/@types/node/ts4.8/net.d.ts","../../../node_modules/@types/node/ts4.8/os.d.ts","../../../node_modules/@types/node/ts4.8/path.d.ts","../../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../node_modules/@types/node/ts4.8/process.d.ts","../../../node_modules/@types/node/ts4.8/punycode.d.ts","../../../node_modules/@types/node/ts4.8/querystring.d.ts","../../../node_modules/@types/node/ts4.8/readline.d.ts","../../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../../node_modules/@types/node/ts4.8/repl.d.ts","../../../node_modules/@types/node/ts4.8/stream.d.ts","../../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../node_modules/@types/node/ts4.8/test.d.ts","../../../node_modules/@types/node/ts4.8/timers.d.ts","../../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../../node_modules/@types/node/ts4.8/tls.d.ts","../../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../../node_modules/@types/node/ts4.8/tty.d.ts","../../../node_modules/@types/node/ts4.8/url.d.ts","../../../node_modules/@types/node/ts4.8/util.d.ts","../../../node_modules/@types/node/ts4.8/v8.d.ts","../../../node_modules/@types/node/ts4.8/vm.d.ts","../../../node_modules/@types/node/ts4.8/wasi.d.ts","../../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../node_modules/@types/node/ts4.8/zlib.d.ts","../../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../../node_modules/@types/node/ts4.8/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/npmlog/index.d.ts","../../../node_modules/type-fest/source/primitive.d.ts","../../../node_modules/type-fest/source/typed-array.d.ts","../../../node_modules/type-fest/source/basic.d.ts","../../../node_modules/type-fest/source/observable-like.d.ts","../../../node_modules/type-fest/source/empty-object.d.ts","../../../node_modules/type-fest/source/is-equal.d.ts","../../../node_modules/type-fest/source/except.d.ts","../../../node_modules/type-fest/source/simplify.d.ts","../../../node_modules/type-fest/source/writable.d.ts","../../../node_modules/type-fest/source/omit-index-signature.d.ts","../../../node_modules/type-fest/source/pick-index-signature.d.ts","../../../node_modules/type-fest/source/enforce-optional.d.ts","../../../node_modules/type-fest/source/merge.d.ts","../../../node_modules/type-fest/source/conditional-simplify.d.ts","../../../node_modules/type-fest/source/trim.d.ts","../../../node_modules/type-fest/source/internal.d.ts","../../../node_modules/type-fest/source/merge-deep.d.ts","../../../node_modules/type-fest/source/merge-exclusive.d.ts","../../../node_modules/type-fest/source/require-at-least-one.d.ts","../../../node_modules/type-fest/source/require-exactly-one.d.ts","../../../node_modules/type-fest/source/require-all-or-none.d.ts","../../../node_modules/type-fest/source/partial-deep.d.ts","../../../node_modules/type-fest/source/partial-on-undefined-deep.d.ts","../../../node_modules/type-fest/source/readonly-deep.d.ts","../../../node_modules/type-fest/source/literal-union.d.ts","../../../node_modules/type-fest/source/promisable.d.ts","../../../node_modules/type-fest/source/opaque.d.ts","../../../node_modules/type-fest/source/invariant-of.d.ts","../../../node_modules/type-fest/source/set-optional.d.ts","../../../node_modules/type-fest/source/set-required.d.ts","../../../node_modules/type-fest/source/set-non-nullable.d.ts","../../../node_modules/type-fest/source/value-of.d.ts","../../../node_modules/type-fest/source/async-return-type.d.ts","../../../node_modules/type-fest/source/conditional-keys.d.ts","../../../node_modules/type-fest/source/conditional-except.d.ts","../../../node_modules/type-fest/source/conditional-pick.d.ts","../../../node_modules/type-fest/source/conditional-pick-deep.d.ts","../../../node_modules/type-fest/source/union-to-intersection.d.ts","../../../node_modules/type-fest/source/stringified.d.ts","../../../node_modules/type-fest/source/fixed-length-array.d.ts","../../../node_modules/type-fest/source/multidimensional-array.d.ts","../../../node_modules/type-fest/source/multidimensional-readonly-array.d.ts","../../../node_modules/type-fest/source/iterable-element.d.ts","../../../node_modules/type-fest/source/entry.d.ts","../../../node_modules/type-fest/source/entries.d.ts","../../../node_modules/type-fest/source/set-return-type.d.ts","../../../node_modules/type-fest/source/asyncify.d.ts","../../../node_modules/type-fest/source/numeric.d.ts","../../../node_modules/type-fest/source/jsonify.d.ts","../../../node_modules/type-fest/source/jsonifiable.d.ts","../../../node_modules/type-fest/source/schema.d.ts","../../../node_modules/type-fest/source/literal-to-primitive.d.ts","../../../node_modules/type-fest/source/string-key-of.d.ts","../../../node_modules/type-fest/source/exact.d.ts","../../../node_modules/type-fest/source/readonly-tuple.d.ts","../../../node_modules/type-fest/source/optional-keys-of.d.ts","../../../node_modules/type-fest/source/has-optional-keys.d.ts","../../../node_modules/type-fest/source/required-keys-of.d.ts","../../../node_modules/type-fest/source/has-required-keys.d.ts","../../../node_modules/type-fest/source/spread.d.ts","../../../node_modules/type-fest/source/tuple-to-union.d.ts","../../../node_modules/type-fest/source/split-words.d.ts","../../../node_modules/type-fest/source/camel-case.d.ts","../../../node_modules/type-fest/source/camel-cased-properties.d.ts","../../../node_modules/type-fest/source/camel-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/delimiter-case.d.ts","../../../node_modules/type-fest/source/kebab-case.d.ts","../../../node_modules/type-fest/source/delimiter-cased-properties.d.ts","../../../node_modules/type-fest/source/kebab-cased-properties.d.ts","../../../node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/kebab-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/pascal-case.d.ts","../../../node_modules/type-fest/source/pascal-cased-properties.d.ts","../../../node_modules/type-fest/source/pascal-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/snake-case.d.ts","../../../node_modules/type-fest/source/snake-cased-properties.d.ts","../../../node_modules/type-fest/source/snake-cased-properties-deep.d.ts","../../../node_modules/type-fest/source/includes.d.ts","../../../node_modules/type-fest/source/screaming-snake-case.d.ts","../../../node_modules/type-fest/source/join.d.ts","../../../node_modules/type-fest/source/split.d.ts","../../../node_modules/type-fest/source/replace.d.ts","../../../node_modules/type-fest/source/get.d.ts","../../../node_modules/type-fest/source/last-array-element.d.ts","../../../node_modules/type-fest/source/global-this.d.ts","../../../node_modules/type-fest/source/package-json.d.ts","../../../node_modules/type-fest/source/tsconfig-json.d.ts","../../../node_modules/type-fest/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../schema/build/appium-config-schema.d.ts","../../schema/build/index.d.ts","../../types/build/lib/appium-config.d.ts","../../types/build/lib/config.d.ts","../../types/build/lib/action.d.ts","../../types/build/lib/driver.d.ts","../../types/build/lib/plugin.d.ts","../../types/build/lib/standard-caps.d.ts","../../types/build/lib/constraints.d.ts","../../types/build/lib/capabilities.d.ts","../../types/build/lib/index.d.ts","../../base-driver/build/lib/basedriver/device-settings.d.ts","../../base-driver/build/lib/basedriver/core.d.ts","../../base-driver/build/lib/express/server.d.ts","../../base-driver/build/lib/protocol/protocol.d.ts","../../../node_modules/es6-error/typings/index.d.ts","../../../node_modules/http-status-codes/build/cjs/utils-functions.d.ts","../../../node_modules/http-status-codes/build/cjs/status-codes.d.ts","../../../node_modules/http-status-codes/build/cjs/reason-phrases.d.ts","../../../node_modules/http-status-codes/build/cjs/legacy.d.ts","../../../node_modules/http-status-codes/build/cjs/index.d.ts","../../base-driver/build/lib/protocol/errors.d.ts","../../base-driver/build/lib/protocol/routes.d.ts","../../base-driver/build/lib/protocol/index.d.ts","../../base-driver/build/lib/express/static.d.ts","../../base-driver/build/lib/jsonwp-proxy/protocol-converter.d.ts","../../base-driver/build/lib/jsonwp-proxy/proxy.d.ts","../../base-driver/build/lib/express/websocket.d.ts","../../base-driver/build/lib/basedriver/commands/timeout.d.ts","../../base-driver/build/lib/basedriver/commands/event.d.ts","../../base-driver/build/lib/basedriver/commands/find.d.ts","../../base-driver/build/lib/basedriver/commands/log.d.ts","../../base-driver/build/lib/basedriver/commands/settings.d.ts","../../base-driver/build/lib/basedriver/commands/session.d.ts","../../base-driver/build/lib/basedriver/commands/execute.d.ts","../../base-driver/build/lib/basedriver/driver.d.ts","../../base-driver/build/lib/constants.d.ts","../../base-driver/build/lib/jsonwp-status/status.d.ts","../../base-driver/build/lib/basedriver/capabilities.d.ts","../../base-driver/build/lib/index.d.ts","../../../node_modules/axios/index.d.ts","../../../node_modules/@types/bluebird/index.d.ts","../../../node_modules/get-port/index.d.ts","../lib/helpers.js","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../lib/e2e-suite.js","../lib/unit-suite.js","../lib/index.js","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"72978f1a73910441c6d0f39bd3f9f77d430764df6b51c47c93a0e37e84ab5ef6","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"c0db280fa6b09d7b8d6720a19a47f485956a41ee0e6914f1b704033eb69c6058","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"ae3fe461989bbd951344efc1f1fe932360ce7392e6126bdb225a82a1bbaf15ee","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f47887b61c6cf2f48746980390d6cb5b8013518951d912cfb37fe748071942be","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","df38da6685578ac3d0e4ce2d20f3d59462ee53959b8263d2532ec9cec48ae098","cd51ceafea7762ad639afb3ca5b68e1e4ffeaacaa402d7ef2cae17016e29e098","1b8357b3fef5be61b5de6d6a4805a534d68fe3e040c11f1944e27d4aec85936a","f1f0ab91eacf5fe45d4b9c0fc67b7510f490bd292505bc4baeba3bb43d17ec68",{"version":"4f24c2781b21b6cd65eede543669327d68a8cf0c6d9cf106a1146b164a7c8ef9","affectsGlobalScope":true},"86b484bcf6344a27a9ee19dd5cef1a5afbbd96aeb07708cc6d8b43d7dfa8466c","7873594f89f40867f1c033609db4052bb2e03a5d128f9b12c8ca657f83d293e4","47df64bd7286fa0b26b23c10f0a2c9221535a67934b8aecb6ed179688ee4d3c7","cb26f195564ee703a68161f88e57e33e6e76e630b999e582d0a4328435d7f84e","d274da8ba27079a593a7de4fbe82f3aab664724bf4f1b080e977f6e745e690e1","4502caaa3fff6c9766bfc145b1b586ef26d53e5f104271db046122b8eef57fd1","382f061a24f63ef8bfb1f7a748e1a2568ea62fb91ed1328901a6cf5ad129d61c","952c4a8d2338e19ef26c1c0758815b1de6c082a485f88368f5bece1e555f39d4","ce01848c6682d9e7653bfa653b28ca9294beeabb85cf99bcc6168f10c6e3f436","ef4c9ef3ec432ccbf6508f8aa12fbb8b7f4d535c8b484258a3888476de2c6c36","8504003e88870caa5474ab8bd270f318d0985ba7ede4ee30fe37646768b5362a","5c9b5707bc76b8285c068695b5ea50bad2dcf11f7f2cbec974372c244844f4c8","dee75c873b20a13839a8ce9ea9d32696682c6db4b1e9f4fb6bc431ed31b0fb8a","f981ffdbd651f67db134479a5352dac96648ca195f981284e79dc0a1dbc53fd5","865f3db83300a1303349cc49ed80943775a858e0596e7e5a052cc65ac03b10bb","a1c85a61ff2b66291676ab84ae03c1b1ff7139ffde1942173f6aee8dc4ee357b","a24c4fe21d5b13a9ecbbb39b5e22f5d4c6fe5feebb074865ba2de273381a73ae","48a9a38d31f33ba5a969cc7028907691e01c26d5341c558b051d27ef302602e9","2169cdcb2e85ec18274590018fc1a12b8fe02708813692d9a1531695c17d3198","9392e1e62ee32e9b9334fa9bf93c27be2d7227ded895a984532cb155dc776f95","da2aa652d2bf03cc042e2ff31e4194f4f18f042b8344dcb2568f761daaf7869f","03ed68319c97cd4ce8f1c4ded110d9b40b8a283c3242b9fe934ccfa834e45572","de2b56099545de410af72a7e430ead88894e43e4f959de29663d4d0ba464944d","eec9e706eef30b4f1c6ff674738d3fca572829b7fa1715f37742863dabb3d2f2","b0cefbc19466a38f5883079f0845babcb856637f7d4f3f594b746d39b74390f7","1e86d750ab0d4fbde7213aa28174f8838e38fe755bc75d8ab05795c58164082c","1f0ee5ddb64540632c6f9a5b63e242b06e49dd6472f3f5bd7dfeb96d12543e15","18b86125c67d99150f54225df07349ddd07acde086b55f3eeac1c34c81e424d8","2d3f23c577a913d0f396184f31998507e18c8712bc74303a433cf47f94fd7e07","4d397c276bd0d41f8a5a0d67a674d5cf3f79b79b0f4df13a0fbefdf0e88f0519","aa79b64f5b3690c66892f292e63dfe3e84eb678a886df86521f67c109d57a0c5","a692e092c3b9860c9554698d84baf308ba51fc8f32ddd6646e01a287810b16c6","3c2e543e5913aca16ba24e406cebbf84bac298f79c249ea255016fabaf8be744","0b9bcc98884f81d8adda2c5d2ebb0361c7a53af6713e72138c4457e6016ff708","1848ebe5252ccb5ca1ca4ff52114516bdbbc7512589d6d0839beeea768bfb400","31073e7d0e51f33b1456ff2ab7f06546c95e24e11c29d5b39a634bc51f86d914","f60149e188145ebf3e6edf735576a2c26e805ac575bfdfa839a27929175e0855","31d18349ccfc45ce4f82990c71aed8901272a8edc9c6d1b2d330aabf36f50aec","a90339d50728b60f761127fe75192e632aa07055712a377acd8d20bb5d61e80c","37569cc8f21262ca62ec9d3aa8eb5740f96e1f325fad3d6aa00a19403bd27b96","fa18c6fe108031717db1ada404c14dc75b8b38c54daa3bb3af4c4999861ca653","bb01ebb9b76c4eb319208a744c0d63a1fd9093c26b8a78aa3c661db3a22d4b22","efa00be58e65b88ea17c1eafd3efe3bc02ea403be1ee858f128ed79e7b880bd4","4f0781ec008bb24dc1923285d25d648ea48fb5a3c36d0786e2ee82eb00eff426","0aa5e0000438b420fa0222347d822c5699d24b5a188026ac364cadf1cc3d26f0","cd8aa48c26b3de057cfd76706c0cff88ace0f23f548b8dee974088497780e5ae","abf140fdc3db44c2cac9415426544d8c2a89e73f13f7838376b2b6d36d74a582","e79e530a8216ee171b4aca8fc7b99bd37f5e84555cba57dc3de4cd57580ff21a","f351eaa598ba2046e3078e5480a7533be7051e4db9212bb40f4eeb84279aa24d","c63a0620a7fa59bbcac4ae218d477fdeafac72b689fede1e3acbbb1b8d90f36c","4ce53edb8fb1d2f8b2f6814084b773cdf5846f49bf5a426fbe4029327bda95bf","1edc9192dfc277c60b92525cdfa1980e1bfd161ae77286c96777d10db36be73c","0a0bf0cb43af5e0ac1703b48325ebc18ad86f6bf796bdbe96a429c0e95ca4486","75a7db3b7ddf0ca49651629bb665e0294fda8d19ba04fddc8a14d32bb35eb248","eb31477c87de3309cbe4e9984fa74a052f31581edb89103f8590f01874b4e271","587ce54f0e8ad1eea0c9174d6f274fb859648cebb2b8535c7adb3975aee74c21","1502a23e43fd7e9976a83195dc4eaf54acaff044687e0988a3bd4f19fc26b02b","11e4e2be18385fa1b4ffa0244c6c626f767058f445bbc66f1c7155cc8e1ec5b4","f47280c45ddbc8aa4909396e1d8b526f64dfad4a845aec2356a6c1dc7b6fe722","7b7f39411329342a28ea19a4ca3aa4c7f7d888c9f01a411b05e4126280026ea6","7f89aebd8a6aa9ff7dfc72d12352478f1db227e2d79d5b5f9d8a59cf1b5c6b48","7d936e6db7d5d73c02471a8e872739f1ddbacf213c159e97d1d94cca315ea3f2","a86492d82baf906c071536e8de073e601eaa5deed138c2d9c42d471d72395d7e","789110b95e963c99ace4e9ad8b60901201ddc4cab59f32bde5458c1359a4d887","92eb8a98444729aa61be5e6e489602363d763da27d1bcfdf89356c1d360484da","074343ca788a38f572d8bdb0985956c0ad1a4d8ca8b6ef8c1a19a0e11cf09db0","d729b8b400507b9b51ff40d11e012379dbf0acd6e2f66bf596a3bc59444d9bf1","fc3ee92b81a6188a545cba5c15dc7c5d38ee0aaca3d8adc29af419d9bdb1fdb9","7d05ac926705ce932b6e41e5e273333b380d08b6a036ad0c8b01139586b34548","0bc13111c65ef1373c84c86c039416127579469828f0e01e03ffe00fb8fd6785","c00b402135ef36fb09d59519e34d03445fd6541c09e68b189abb64151f211b12","e08e58ac493a27b29ceee80da90bb31ec64341b520907d480df6244cdbec01f8","c0fe2b1135ca803efa203408c953e1e12645b8065e1a4c1336ad8bb11ea1101b","d82c245bfb76da44dd573948eca299ff75759b9714f8410468d2d055145a4b64","25b1108faedaf2043a97a76218240b1b537459bbca5ae9e2207c236c40dcfdef","d3752f9a8387c9c6938e7f68aba40fd8f9ade46bd50001e3c4f12b4abae0b6b4","5a4d0b09de173c391d5d50064fc20166becc194248b1ce738e8a56af5196d28c","0e0b8353d6d7f7cc3344adbabf3866e64f2f2813b23477254ba51f69e8fdf0eb","008ed9b6d1fdb68f9d98e6fd238d99be77e738892c3a1c6cf8b7616de4f8b114","08f95bee0619072d2c49854434af3e53d94e7e762fc082b49cea59e77db06905","9e5c7463fc0259a38938c9afbdeda92e802cff87560277fd3e385ad24663f214","e2b3d1e59ccc94f5c6bd3cac408fbe98344b4a42e50b924918d7d24afa68545a","288f78bb86d191e35b95b60396ba413f13768968c98e1904723b912348274f5a","63c66d9a40ef7d388fd747d4e6a814e534aae35a3edb9e1388227f7ebf942f61","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","2483bc7046beeeb4cc644cdc84dc605ff97f755b859315e976966dcb1cb4321a","6101949945c252c5706da566e06b7be2a4cc48e73f25165add3c081d0dd37578","f4f1a89f5e2e6d2520d46e18a95eba7d1572f9c39389ee52383eb0bb6ac2db1e","8f55068da250ce5c00ce636f4c33b7e50fb15a75a84bf6092595e419e678dc2a","b7e64651c85c710d82161ad78be0ff7c95e9ecc82b23ea21244b62753d549ea3","3a02e6c937525e312631d59a3fa5cdf5bf6bad6d4d46d9d4e0f11461bde0cd09","ab30a5134436db633212caaf0cf07c1576c6b6a819942cb83cf10b374ef55dea","1125be4dca9d364168c471952a6f18b0d0a3d0d9bbef5bd1db7ef017151e6e27","db579a65541b7e79862fe5e2147fbfc7750f6e9e895d99edae2c7c300df716a9","817c25a3fa5806fd1ee956698cfaddc45d81460fc082070bc4d883289f3993c2","0760b17a1d706fdfa5fe76324142b90e21c8a2d617741393ddc014dde0746770","d0c3f69853b08d50e442522622c52e1c80fd1150eb22b96e78290f0faf8ab346","ca0240367335d2d9e8f2e58691578742e3a2ce7ec5fd9935b3cc08eb1e1eba45","c4f8ac2738813acc382a16b79ade0e75950de38aa533137241f92a013ccdb974","8b27da13cbef7b3b5dd75d052a54ffe6a87683aee161630ee5bc5085359f828b","87dc4aa712e5fc14d93d1a91919b0105aac5dc6c04259fcb28a5d57a1347fba3","1bc146fb8f5cf8f67d0bb651c2237196ab42d7bae6eff9c079f254c3a4b2dc9f","fcb175cbc3a5f91152314cabe52625d495da9a3c4e9b4578dfcb1018b10b5bd1","66b458867662fd10111e8241abfd372570816317b456b712979826b0d784df37","de743c53fbbaa917b418cff186394602074f211fdeeedc27c3a2ddd83993c043","bf028cb4dfbaa3e027a2d8935a48d323ba5c98c68f8197f38bf341b64c8c467f","ee46d52ba868464ad9a543e259d92dc478983d3698ee460495d8213f2daa41a8","16742ae260bd651bb9e8c55cc63d531178db21abb5b61f32765f6b02fcb96c6d","7eaa5c9ae989744029103bbab3b2fb228d6ccf2d42e6ea77791fbe925b4fa48e","4947905cda1cd79956a972a2eb6844e364d5204396732bf3831a1176e08742be","d7da4a1744d9516461b0301a70f5ff5a4d9372e5dfbcb95cbb55c45ca316efa0","c8a667992ef6ad695e4ca8e2831786deb95875a49f495e1bdba4a38341fe9935","3cf55b882e251da3fac1c15ab2f02bf981c633733080b39ce7d9490f9d2a6066","55fdd8cc7abc6bac5406ef24a3ac4c8f3d1abad7857b69d928a6576169434777","919317d645261fe174dcb24c0c5300dc900da8b0984ff4297658f790bd04da45","a2032daf7e0f5cfe7760323e929114a8ef1404bfe987915cf0a9d50fa5923374","5651dc1773fd86d69f3e62e0385f749093b9513653802d9b6b7a8bb7c5d803d8","156d84d5de48f721eb314e21fd93d2d1acfa7a5366917501c416fd3ba957a2c4","b4d01899dae5a204197c26a88901b677e0420bcd7dc92f500c65b93904a8f2b2","29a949f1a2c5e6be77c89f4ee31ea2d1db2fe8c7619fee13a4850d3eaac39b61","b0f4380c295b58e772d5364026e796806c8aad78980a407ddab995790aa08c10","7ca56e4c578c8688979ac94aaed8ee4815c9406db9b5970de232f9a99e550366","c8865994df8b62fcd7a50c958ecc8dc949240bdb5b8a9e6b99e633df587da94f","52d347ad7dbf010646992ec10bd7be3b9543484f5ce4cf2b7c2230a5a444723a","bd89566e61ba0185fbc927f4a945a4dc50e37082d41aa55ec66850822e592dcb","06dee36c2eb08a5af99fb07f2c9f5a5d3a2a2a5642a429398c3697a4b0d0a7bd","338bd7c3518b05b4c473971be0e5f8f854aca7cdb00d1b97192c14860f4ebf2f","58ca66ecec099ab769ce4fef62f4cc93718d93c9d0d4b67dfa7ba20c9a7c50ed",{"version":"6d48e64d6615ea7ad8f672c6ef1463ce1d475173b7c63bb8e5e934fb7889ce37","signature":"40faa61a9ab5e9e4259f5ebfd69c513ea0b3cee192f682fbdc52dbd02681bf64"},{"version":"b9734142a4b241cfb505be4a2eb0261d211647df7c73043f817f4fdd8d96c846","affectsGlobalScope":true},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","354abbae08f72ea982b1a767a8908f1b3efe8bbe53955c64f9c0c249c8832d5d",{"version":"b7b901fc4a9a7f2e010c21b4f947bd7c80584a0dad8d30058d4077c032a50562","signature":"c444b01199b0f97b79bf92e4f5659b2177edd75899d17d0edd1b2e6b7ea7b385"},{"version":"df3210150efb1c86ee192d279265a9e9221c0835fa0296041980b71e2158a500","signature":"87c4f9e1b13c1a660f0d28c83f1e46fe49d5984588f288f01d948ca60329314a"},{"version":"21ff5f0badb4901647e579c065f3f11525bc883e233c4e88ec95a537c74081e8","signature":"4b52db0494f6f3cadaf54c1897d72a454bd0dc508bf9a44bbad72a7fc50c3e9c"},{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./","removeComments":false,"rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":false,"strictNullChecks":true,"stripInternal":true,"target":7},"fileIdsList":[[101],[74,101,108,115],[101,253],[74,101,108],[71,74,101,108,109,110],[101,110,111,114,116],[41,43,44,45,46,47,48,49,50,51,52,53,101],[41,42,44,45,46,47,48,49,50,51,52,53,101],[42,43,44,45,46,47,48,49,50,51,52,53,101],[41,42,43,45,46,47,48,49,50,51,52,53,101],[41,42,43,44,46,47,48,49,50,51,52,53,101],[41,42,43,44,45,47,48,49,50,51,52,53,101],[41,42,43,44,45,46,48,49,50,51,52,53,101],[41,42,43,44,45,46,47,49,50,51,52,53,101],[41,42,43,44,45,46,47,48,50,51,52,53,101],[41,42,43,44,45,46,47,48,49,51,52,53,101],[41,42,43,44,45,46,47,48,49,50,52,53,101],[41,42,43,44,45,46,47,48,49,50,51,53,101],[41,42,43,44,45,46,47,48,49,50,51,52,101],[101,112],[101,113],[55,101],[58,101],[59,64,92,101],[60,71,72,79,89,100,101],[60,61,71,79,101],[62,101],[63,64,72,80,101],[64,89,97,101],[65,67,71,79,101],[66,101],[67,68,101],[71,101],[69,71,101],[71,72,73,89,100,101],[71,72,73,86,89,92,101],[101,105],[67,74,79,89,100,101],[71,72,74,75,79,89,97,100,101],[74,76,89,97,100,101],[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],[71,77,101],[78,100,101],[67,71,79,89,101],[80,101],[81,101],[58,82,101],[83,99,101,105],[84,101],[85,101],[71,86,87,101],[86,88,101,103],[59,71,89,90,91,92,101],[59,89,91,101],[89,90,101],[92,101],[93,101],[71,95,96,101],[95,96,101],[64,79,89,97,101],[98,101],[79,99,101],[59,74,85,100,101],[64,101],[89,101,102],[101,103],[101,104],[59,64,71,73,82,89,100,101,103,105],[89,101,106],[74,101,108,113],[101,254],[71,74,76,89,97,100,101,106,108],[79,101,108],[101,225,226,227,228],[101,119,120,121,122,123,124,125,126,127,128,129,131,133,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[101,164],[101,180],[101,181],[101,125,152],[101,124,132,145,153],[101,152],[101,134],[101,184],[101,126],[101,162],[101,124,134,145],[101,124],[101,134,171,199],[101,174],[101,176],[101,119,126,133],[101,145],[101,121],[101,120,121,123,134,166],[101,188],[101,186],[101,119],[101,128,129,130,131,132,134],[101,128,129,130],[101,124,134],[101,121,143],[101,131,134],[101,190],[101,125],[101,184,193,196],[101,125,126],[101,125,126,176],[101,130,131,206,219],[101,219,237,244],[101,219,242,244],[101,219,238,244],[101,219,239,244],[101,219,241,244],[101,219,240,244],[101,219,244],[54,71,101,219,220],[101,219],[101,117,206,219,221,230,243],[74,101,117,219],[101,207,219],[101,220,221,222,232,233,235,236,244,245,246,247],[74,76,101,108,206,219,229,234],[101,224,229],[101,223,230,231],[101,219,222],[53,101,206,219,248,249,250,252,253,255],[53,101,251],[101,219,252,256,257],[53,101,219,250,253,255],[101,208],[101,209],[101,216,217,219],[101,210,211],[71,101,108,206,212,213,219],[74,79,101,108,117,118,206,207,211,212,213,214,215,217,218],[101,214,219],[206,219,249],[53],[219]],"referencedMap":[[54,1],[250,1],[116,2],[260,3],[253,1],[115,4],[111,5],[117,6],[208,1],[42,7],[43,8],[41,9],[44,10],[45,11],[46,12],[47,13],[48,14],[49,15],[50,16],[51,17],[52,18],[53,19],[113,20],[112,21],[259,1],[55,22],[56,22],[58,23],[59,24],[60,25],[61,26],[62,27],[63,28],[64,29],[65,30],[66,31],[67,32],[68,32],[70,33],[69,34],[71,33],[72,35],[73,36],[57,37],[107,1],[74,38],[75,39],[76,40],[108,41],[77,42],[78,43],[79,44],[80,45],[81,46],[82,47],[83,48],[84,49],[85,50],[86,51],[87,51],[88,52],[89,53],[91,54],[90,55],[92,56],[93,57],[94,1],[95,58],[96,59],[97,60],[98,61],[99,62],[100,63],[101,64],[102,65],[103,66],[104,67],[105,68],[106,69],[118,33],[110,1],[109,1],[114,70],[255,71],[254,1],[207,72],[249,1],[224,1],[251,73],[229,74],[228,1],[227,1],[226,1],[225,1],[206,75],[151,1],[165,76],[121,1],[181,77],[183,78],[182,78],[153,79],[152,1],[155,80],[154,81],[132,1],[184,82],[188,83],[186,83],[123,1],[130,84],[163,85],[162,1],[172,86],[125,87],[158,1],[201,88],[203,1],[175,89],[177,90],[196,87],[134,91],[146,92],[124,1],[161,1],[198,1],[168,93],[167,94],[185,83],[189,95],[187,96],[202,1],[170,1],[143,97],[135,98],[136,1],[131,99],[159,100],[160,100],[166,1],[122,1],[128,1],[145,1],[174,1],[204,101],[140,82],[141,102],[190,78],[192,103],[191,103],[129,1],[119,1],[144,1],[142,82],[173,1],[200,1],[139,1],[137,104],[138,1],[176,1],[169,1],[197,105],[149,1],[147,106],[148,106],[164,82],[126,1],[193,83],[195,95],[194,96],[180,82],[199,1],[178,107],[171,1],[157,1],[133,82],[205,1],[179,1],[120,1],[156,1],[150,1],[127,106],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[33,1],[38,1],[39,1],[34,1],[35,1],[36,1],[37,1],[1,1],[40,1],[247,108],[238,109],[243,110],[239,111],[240,112],[242,113],[241,114],[237,115],[221,116],[220,117],[244,118],[245,1],[222,119],[233,1],[236,120],[248,121],[234,1],[235,122],[246,1],[230,123],[232,124],[223,125],[231,117],[256,126],[252,127],[258,128],[257,129],[209,130],[210,131],[213,1],[211,1],[218,132],[212,133],[217,1],[214,134],[219,135],[215,136],[216,1]],"exportedModulesMap":[[54,1],[250,1],[116,2],[260,3],[253,1],[115,4],[111,5],[117,6],[208,1],[42,7],[43,8],[41,9],[44,10],[45,11],[46,12],[47,13],[48,14],[49,15],[50,16],[51,17],[52,18],[53,19],[113,20],[112,21],[259,1],[55,22],[56,22],[58,23],[59,24],[60,25],[61,26],[62,27],[63,28],[64,29],[65,30],[66,31],[67,32],[68,32],[70,33],[69,34],[71,33],[72,35],[73,36],[57,37],[107,1],[74,38],[75,39],[76,40],[108,41],[77,42],[78,43],[79,44],[80,45],[81,46],[82,47],[83,48],[84,49],[85,50],[86,51],[87,51],[88,52],[89,53],[91,54],[90,55],[92,56],[93,57],[94,1],[95,58],[96,59],[97,60],[98,61],[99,62],[100,63],[101,64],[102,65],[103,66],[104,67],[105,68],[106,69],[118,33],[110,1],[109,1],[114,70],[255,71],[254,1],[207,72],[249,1],[224,1],[251,73],[229,74],[228,1],[227,1],[226,1],[225,1],[206,75],[151,1],[165,76],[121,1],[181,77],[183,78],[182,78],[153,79],[152,1],[155,80],[154,81],[132,1],[184,82],[188,83],[186,83],[123,1],[130,84],[163,85],[162,1],[172,86],[125,87],[158,1],[201,88],[203,1],[175,89],[177,90],[196,87],[134,91],[146,92],[124,1],[161,1],[198,1],[168,93],[167,94],[185,83],[189,95],[187,96],[202,1],[170,1],[143,97],[135,98],[136,1],[131,99],[159,100],[160,100],[166,1],[122,1],[128,1],[145,1],[174,1],[204,101],[140,82],[141,102],[190,78],[192,103],[191,103],[129,1],[119,1],[144,1],[142,82],[173,1],[200,1],[139,1],[137,104],[138,1],[176,1],[169,1],[197,105],[149,1],[147,106],[148,106],[164,82],[126,1],[193,83],[195,95],[194,96],[180,82],[199,1],[178,107],[171,1],[157,1],[133,82],[205,1],[179,1],[120,1],[156,1],[150,1],[127,106],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[4,1],[21,1],[18,1],[19,1],[20,1],[22,1],[23,1],[24,1],[5,1],[25,1],[26,1],[27,1],[28,1],[6,1],[29,1],[30,1],[31,1],[32,1],[7,1],[33,1],[38,1],[39,1],[34,1],[35,1],[36,1],[37,1],[1,1],[40,1],[247,108],[238,109],[243,110],[239,111],[240,112],[242,113],[241,114],[237,115],[221,116],[220,117],[244,118],[245,1],[222,119],[233,1],[236,120],[248,121],[234,1],[235,122],[246,1],[230,123],[232,124],[223,125],[231,117],[256,137],[252,138],[258,139],[257,139],[209,130],[210,131],[213,1],[211,1],[218,132],[212,133],[217,1],[214,134],[219,135],[215,136],[216,1]],"semanticDiagnosticsPerFile":[54,250,116,260,253,115,111,117,208,42,43,41,44,45,46,47,48,49,50,51,52,53,113,112,259,55,56,58,59,60,61,62,63,64,65,66,67,68,70,69,71,72,73,57,107,74,75,76,108,77,78,79,80,81,82,83,84,85,86,87,88,89,91,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,118,110,109,114,255,254,207,249,224,251,229,228,227,226,225,206,151,165,121,181,183,182,153,152,155,154,132,184,188,186,123,130,163,162,172,125,158,201,203,175,177,196,134,146,124,161,198,168,167,185,189,187,202,170,143,135,136,131,159,160,166,122,128,145,174,204,140,141,190,192,191,129,119,144,142,173,200,139,137,138,176,169,197,149,147,148,164,126,193,195,194,180,199,178,171,157,133,205,179,120,156,150,127,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,33,38,39,34,35,36,37,1,40,247,238,243,239,240,242,241,237,221,220,244,245,222,233,236,248,234,235,246,230,232,223,231,256,252,258,257,209,210,213,211,218,212,217,214,219,215,216]},"version":"4.7.4"}
|