@appium/base-driver 8.6.0 → 8.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/basedriver/commands/execute.d.ts +11 -0
- package/build/lib/basedriver/commands/execute.d.ts.map +1 -0
- package/build/lib/basedriver/commands/execute.js +62 -0
- package/build/lib/basedriver/commands/index.d.ts +1 -1
- package/build/lib/basedriver/commands/index.d.ts.map +1 -1
- package/build/lib/basedriver/commands/index.js +5 -2
- package/build/lib/basedriver/core.d.ts +5 -2
- package/build/lib/basedriver/core.d.ts.map +1 -1
- package/build/lib/basedriver/core.js +2 -1
- package/build/lib/express/server.d.ts +1 -0
- package/build/lib/express/server.d.ts.map +1 -1
- package/build/lib/express/server.js +3 -2
- package/build/lib/index.d.ts +1 -0
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +1 -1
- package/build/lib/protocol/index.d.ts +3 -1
- package/build/lib/protocol/index.js +13 -1
- package/build/lib/protocol/protocol.d.ts +2 -0
- package/build/lib/protocol/protocol.d.ts.map +1 -1
- package/build/lib/protocol/protocol.js +3 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/basedriver/commands/execute.js +65 -0
- package/lib/basedriver/commands/index.js +3 -1
- package/lib/basedriver/core.js +5 -1
- package/lib/express/server.js +3 -1
- package/lib/index.js +4 -0
- package/lib/protocol/index.js +4 -0
- package/lib/protocol/protocol.js +2 -2
- package/package.json +7 -7
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {SessionBase} Base
|
|
3
|
+
* @returns {ExecuteBase}
|
|
4
|
+
*/
|
|
5
|
+
export function ExecuteMixin(Base: SessionBase): ExecuteBase;
|
|
6
|
+
export type IExecuteCommands = import('@appium/types').ExecuteCommands;
|
|
7
|
+
export type Driver = import('@appium/types').Driver;
|
|
8
|
+
export type DriverClass = import('@appium/types').DriverClass;
|
|
9
|
+
export type SessionBase = import('./session').SessionBase;
|
|
10
|
+
export type ExecuteBase = import('../driver').BaseDriverBase<import('@appium/types').TimeoutCommands & import('@appium/types').EventCommands & import('@appium/types').FindCommands & import('@appium/types').LogCommands & import('@appium/types').SettingsCommands & import('@appium/types').SessionCommands & IExecuteCommands>;
|
|
11
|
+
//# sourceMappingURL=execute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/execute.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH,mCAHW,WAAW,GACT,WAAW,CAmDvB;+BAGY,OAAO,eAAe,EAAE,eAAe;qBACvC,OAAO,eAAe,EAAE,MAAM;0BAC9B,OAAO,eAAe,EAAE,WAAW;0BACnC,OAAO,WAAW,EAAE,WAAW;0BAC/B,OAAO,WAAW,EAAE,cAAc,CAAC,OAAO,eAAe,EAAE,eAAe,GAAG,OAAO,eAAe,EAAE,aAAa,GAAG,OAAO,eAAe,EAAE,YAAY,GAAG,OAAO,eAAe,EAAE,WAAW,GAAG,OAAO,eAAe,EAAE,gBAAgB,GAAG,OAAO,eAAe,EAAE,eAAe,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ExecuteMixin = ExecuteMixin;
|
|
9
|
+
|
|
10
|
+
require("source-map-support/register");
|
|
11
|
+
|
|
12
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
13
|
+
|
|
14
|
+
var _protocol = require("../../protocol");
|
|
15
|
+
|
|
16
|
+
function ExecuteMixin(Base) {
|
|
17
|
+
class ExecuteCommands extends Base {
|
|
18
|
+
async executeMethod(script, protoArgs) {
|
|
19
|
+
if (!protoArgs || !_lodash.default.isArray(protoArgs) || protoArgs.length > 1) {
|
|
20
|
+
throw new _protocol.errors.InvalidArgumentError(`Did not get correct format of arguments for execute method. Expected zero or one ` + `arguments to execute script and instead received: ${JSON.stringify(protoArgs)}`);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
let args = protoArgs[0] ?? {};
|
|
24
|
+
|
|
25
|
+
if (!_lodash.default.isPlainObject(args)) {
|
|
26
|
+
throw new _protocol.errors.InvalidArgumentError(`Did not receive an appropriate execute method parameters object. It needs to be ` + `deserializable as a plain JS object`);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const Driver = this.constructor;
|
|
30
|
+
|
|
31
|
+
const availableScripts = _lodash.default.keys(Driver.executeMethodMap);
|
|
32
|
+
|
|
33
|
+
const commandMetadata = Driver.executeMethodMap[script];
|
|
34
|
+
|
|
35
|
+
if (!commandMetadata) {
|
|
36
|
+
throw new _protocol.errors.UnsupportedOperationError(`Unsupported execute method '${script}'. Available methods ` + `are: ${availableScripts.join(', ')}`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let argsToApply = [];
|
|
40
|
+
|
|
41
|
+
if (!commandMetadata.params) {
|
|
42
|
+
commandMetadata.params = {
|
|
43
|
+
required: [],
|
|
44
|
+
optional: []
|
|
45
|
+
};
|
|
46
|
+
} else {
|
|
47
|
+
var _commandMetadata$para, _commandMetadata$para2;
|
|
48
|
+
|
|
49
|
+
(_commandMetadata$para = commandMetadata.params).required ?? (_commandMetadata$para.required = []);
|
|
50
|
+
(_commandMetadata$para2 = commandMetadata.params).optional ?? (_commandMetadata$para2.optional = []);
|
|
51
|
+
(0, _protocol.checkParams)(commandMetadata.params, args, null);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
argsToApply = (0, _protocol.makeArgs)({}, args, commandMetadata.params, null);
|
|
55
|
+
return await this[Driver.executeMethodMap[script].command](...argsToApply);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return ExecuteCommands;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFeGVjdXRlTWl4aW4iLCJCYXNlIiwiRXhlY3V0ZUNvbW1hbmRzIiwiZXhlY3V0ZU1ldGhvZCIsInNjcmlwdCIsInByb3RvQXJncyIsIl8iLCJpc0FycmF5IiwibGVuZ3RoIiwiZXJyb3JzIiwiSW52YWxpZEFyZ3VtZW50RXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiYXJncyIsImlzUGxhaW5PYmplY3QiLCJEcml2ZXIiLCJjb25zdHJ1Y3RvciIsImF2YWlsYWJsZVNjcmlwdHMiLCJrZXlzIiwiZXhlY3V0ZU1ldGhvZE1hcCIsImNvbW1hbmRNZXRhZGF0YSIsIlVuc3VwcG9ydGVkT3BlcmF0aW9uRXJyb3IiLCJqb2luIiwiYXJnc1RvQXBwbHkiLCJwYXJhbXMiLCJyZXF1aXJlZCIsIm9wdGlvbmFsIiwiY2hlY2tQYXJhbXMiLCJtYWtlQXJncyIsImNvbW1hbmQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvYmFzZWRyaXZlci9jb21tYW5kcy9leGVjdXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge2Vycm9ycywgbWFrZUFyZ3MsIGNoZWNrUGFyYW1zfSBmcm9tICcuLi8uLi9wcm90b2NvbCc7XG5cbi8qKlxuICogQHBhcmFtIHtTZXNzaW9uQmFzZX0gQmFzZVxuICogQHJldHVybnMge0V4ZWN1dGVCYXNlfVxuICovXG5leHBvcnQgZnVuY3Rpb24gRXhlY3V0ZU1peGluKEJhc2UpIHtcbiAgLyoqXG4gICAqIEBpbXBsZW1lbnRzIHtJRXhlY3V0ZUNvbW1hbmRzfVxuICAgKi9cbiAgY2xhc3MgRXhlY3V0ZUNvbW1hbmRzIGV4dGVuZHMgQmFzZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHNjcmlwdFxuICAgICAqIEBwYXJhbSB7W1JlY29yZDxzdHJpbmcsIGFueT5dfFtdfSBwcm90b0FyZ3NcbiAgICAgKi9cbiAgICBhc3luYyBleGVjdXRlTWV0aG9kKHNjcmlwdCwgcHJvdG9BcmdzKSB7XG4gICAgICAvLyB0aGUgdzNjIHByb3RvY29sIHdpbGwgZ2l2ZSB1cyBhbiBhcnJheSBvZiBhcmd1bWVudHMgdG8gYXBwbHkgdG8gYSBqYXZhc2NyaXB0IGZ1bmN0aW9uLlxuICAgICAgLy8gdGhhdCdzIG5vdCB3aGF0IHdlJ3JlIGRvaW5nLiB3ZSdyZSBnb2luZyB0byBsb29rIGZvciBhIEpTIG9iamVjdCBhcyB0aGUgZmlyc3QgYXJnLCBzbyB3ZVxuICAgICAgLy8gY2FuIHBlcmZvcm0gdmFsaWRhdGlvbiBvbiBpdC4gd2UnbGwgaWdub3JlIGV2ZXJ5dGhpbmcgZWxzZS5cbiAgICAgIGlmICghcHJvdG9BcmdzIHx8ICFfLmlzQXJyYXkocHJvdG9BcmdzKSB8fCBwcm90b0FyZ3MubGVuZ3RoID4gMSkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLkludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICAgIGBEaWQgbm90IGdldCBjb3JyZWN0IGZvcm1hdCBvZiBhcmd1bWVudHMgZm9yIGV4ZWN1dGUgbWV0aG9kLiBFeHBlY3RlZCB6ZXJvIG9yIG9uZSBgICtcbiAgICAgICAgICAgIGBhcmd1bWVudHMgdG8gZXhlY3V0ZSBzY3JpcHQgYW5kIGluc3RlYWQgcmVjZWl2ZWQ6ICR7SlNPTi5zdHJpbmdpZnkocHJvdG9BcmdzKX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBsZXQgYXJncyA9IHByb3RvQXJnc1swXSA/PyB7fTtcbiAgICAgIGlmICghXy5pc1BsYWluT2JqZWN0KGFyZ3MpKSB7XG4gICAgICAgIHRocm93IG5ldyBlcnJvcnMuSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAgICAgYERpZCBub3QgcmVjZWl2ZSBhbiBhcHByb3ByaWF0ZSBleGVjdXRlIG1ldGhvZCBwYXJhbWV0ZXJzIG9iamVjdC4gSXQgbmVlZHMgdG8gYmUgYCArXG4gICAgICAgICAgICBgZGVzZXJpYWxpemFibGUgYXMgYSBwbGFpbiBKUyBvYmplY3RgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IERyaXZlciA9IC8qKiBAdHlwZSB7RHJpdmVyQ2xhc3N9ICovICh0aGlzLmNvbnN0cnVjdG9yKTtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZVNjcmlwdHMgPSBfLmtleXMoRHJpdmVyLmV4ZWN1dGVNZXRob2RNYXApO1xuICAgICAgY29uc3QgY29tbWFuZE1ldGFkYXRhID0gRHJpdmVyLmV4ZWN1dGVNZXRob2RNYXBbc2NyaXB0XTtcbiAgICAgIGlmICghY29tbWFuZE1ldGFkYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBlcnJvcnMuVW5zdXBwb3J0ZWRPcGVyYXRpb25FcnJvcihcbiAgICAgICAgICBgVW5zdXBwb3J0ZWQgZXhlY3V0ZSBtZXRob2QgJyR7c2NyaXB0fScuIEF2YWlsYWJsZSBtZXRob2RzIGAgK1xuICAgICAgICAgICAgYGFyZTogJHthdmFpbGFibGVTY3JpcHRzLmpvaW4oJywgJyl9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgbGV0IGFyZ3NUb0FwcGx5ID0gW107XG4gICAgICBpZiAoIWNvbW1hbmRNZXRhZGF0YS5wYXJhbXMpIHtcbiAgICAgICAgY29tbWFuZE1ldGFkYXRhLnBhcmFtcyA9IHtyZXF1aXJlZDogW10sIG9wdGlvbmFsOiBbXX07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21tYW5kTWV0YWRhdGEucGFyYW1zLnJlcXVpcmVkID8/PSBbXTtcbiAgICAgICAgY29tbWFuZE1ldGFkYXRhLnBhcmFtcy5vcHRpb25hbCA/Pz0gW107XG4gICAgICAgIGNoZWNrUGFyYW1zKGNvbW1hbmRNZXRhZGF0YS5wYXJhbXMsIGFyZ3MsIG51bGwpO1xuICAgICAgfVxuICAgICAgYXJnc1RvQXBwbHkgPSBtYWtlQXJncyh7fSwgYXJncywgY29tbWFuZE1ldGFkYXRhLnBhcmFtcywgbnVsbCk7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpc1tEcml2ZXIuZXhlY3V0ZU1ldGhvZE1hcFtzY3JpcHRdLmNvbW1hbmRdKC4uLmFyZ3NUb0FwcGx5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIEV4ZWN1dGVDb21tYW5kcztcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRXhlY3V0ZUNvbW1hbmRzfSBJRXhlY3V0ZUNvbW1hbmRzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRHJpdmVyfSBEcml2ZXJcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Ecml2ZXJDbGFzc30gRHJpdmVyQ2xhc3NcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJy4vc2Vzc2lvbicpLlNlc3Npb25CYXNlfSBTZXNzaW9uQmFzZVxuICogQHR5cGVkZWYge2ltcG9ydCgnLi4vZHJpdmVyJykuQmFzZURyaXZlckJhc2U8aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuVGltZW91dENvbW1hbmRzICYgaW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRXZlbnRDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkZpbmRDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkxvZ0NvbW1hbmRzICYgaW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuU2V0dGluZ3NDb21tYW5kcyAmIGltcG9ydCgnQGFwcGl1bS90eXBlcycpLlNlc3Npb25Db21tYW5kcyAmIElFeGVjdXRlQ29tbWFuZHM+fSBFeGVjdXRlQmFzZVxuICovXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBTU8sU0FBU0EsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNEI7RUFJakMsTUFBTUMsZUFBTixTQUE4QkQsSUFBOUIsQ0FBbUM7SUFLZCxNQUFiRSxhQUFhLENBQUNDLE1BQUQsRUFBU0MsU0FBVCxFQUFvQjtNQUlyQyxJQUFJLENBQUNBLFNBQUQsSUFBYyxDQUFDQyxlQUFBLENBQUVDLE9BQUYsQ0FBVUYsU0FBVixDQUFmLElBQXVDQSxTQUFTLENBQUNHLE1BQVYsR0FBbUIsQ0FBOUQsRUFBaUU7UUFDL0QsTUFBTSxJQUFJQyxnQkFBQSxDQUFPQyxvQkFBWCxDQUNILG1GQUFELEdBQ0cscURBQW9EQyxJQUFJLENBQUNDLFNBQUwsQ0FBZVAsU0FBZixDQUEwQixFQUY3RSxDQUFOO01BSUQ7O01BQ0QsSUFBSVEsSUFBSSxHQUFHUixTQUFTLENBQUMsQ0FBRCxDQUFULElBQWdCLEVBQTNCOztNQUNBLElBQUksQ0FBQ0MsZUFBQSxDQUFFUSxhQUFGLENBQWdCRCxJQUFoQixDQUFMLEVBQTRCO1FBQzFCLE1BQU0sSUFBSUosZ0JBQUEsQ0FBT0Msb0JBQVgsQ0FDSCxrRkFBRCxHQUNHLHFDQUZDLENBQU47TUFJRDs7TUFFRCxNQUFNSyxNQUFNLEdBQStCLEtBQUtDLFdBQWhEOztNQUNBLE1BQU1DLGdCQUFnQixHQUFHWCxlQUFBLENBQUVZLElBQUYsQ0FBT0gsTUFBTSxDQUFDSSxnQkFBZCxDQUF6Qjs7TUFDQSxNQUFNQyxlQUFlLEdBQUdMLE1BQU0sQ0FBQ0ksZ0JBQVAsQ0FBd0JmLE1BQXhCLENBQXhCOztNQUNBLElBQUksQ0FBQ2dCLGVBQUwsRUFBc0I7UUFDcEIsTUFBTSxJQUFJWCxnQkFBQSxDQUFPWSx5QkFBWCxDQUNILCtCQUE4QmpCLE1BQU8sdUJBQXRDLEdBQ0csUUFBT2EsZ0JBQWdCLENBQUNLLElBQWpCLENBQXNCLElBQXRCLENBQTRCLEVBRmxDLENBQU47TUFJRDs7TUFDRCxJQUFJQyxXQUFXLEdBQUcsRUFBbEI7O01BQ0EsSUFBSSxDQUFDSCxlQUFlLENBQUNJLE1BQXJCLEVBQTZCO1FBQzNCSixlQUFlLENBQUNJLE1BQWhCLEdBQXlCO1VBQUNDLFFBQVEsRUFBRSxFQUFYO1VBQWVDLFFBQVEsRUFBRTtRQUF6QixDQUF6QjtNQUNELENBRkQsTUFFTztRQUFBOztRQUNMLHlCQUFBTixlQUFlLENBQUNJLE1BQWhCLEVBQXVCQyxRQUF2QiwyQkFBdUJBLFFBQXZCLEdBQW9DLEVBQXBDO1FBQ0EsMEJBQUFMLGVBQWUsQ0FBQ0ksTUFBaEIsRUFBdUJFLFFBQXZCLDRCQUF1QkEsUUFBdkIsR0FBb0MsRUFBcEM7UUFDQSxJQUFBQyxxQkFBQSxFQUFZUCxlQUFlLENBQUNJLE1BQTVCLEVBQW9DWCxJQUFwQyxFQUEwQyxJQUExQztNQUNEOztNQUNEVSxXQUFXLEdBQUcsSUFBQUssa0JBQUEsRUFBUyxFQUFULEVBQWFmLElBQWIsRUFBbUJPLGVBQWUsQ0FBQ0ksTUFBbkMsRUFBMkMsSUFBM0MsQ0FBZDtNQUNBLE9BQU8sTUFBTSxLQUFLVCxNQUFNLENBQUNJLGdCQUFQLENBQXdCZixNQUF4QixFQUFnQ3lCLE9BQXJDLEVBQThDLEdBQUdOLFdBQWpELENBQWI7SUFDRDs7RUExQ2dDOztFQTRDbkMsT0FBT3JCLGVBQVA7QUFDRCJ9
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* Returns a `BaseDriver` class.
|
|
4
4
|
* @param {BaseDriverBase} Base
|
|
5
5
|
*/
|
|
6
|
-
export function createBaseDriverClass(Base: BaseDriverBase): import("./
|
|
6
|
+
export function createBaseDriverClass(Base: BaseDriverBase): import("./execute").ExecuteBase;
|
|
7
7
|
export type BaseDriverBase<T = {}> = import('../driver').BaseDriverBase<T>;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/basedriver/commands/index.js"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,4CAFW,cAAc,mCAWxB;qCAIY,OAAO,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC"}
|
|
@@ -19,6 +19,8 @@ var _settings = require("./settings");
|
|
|
19
19
|
|
|
20
20
|
var _timeout = require("./timeout");
|
|
21
21
|
|
|
22
|
+
var _execute = require("./execute");
|
|
23
|
+
|
|
22
24
|
function createBaseDriverClass(Base) {
|
|
23
25
|
const WithTimeoutCommands = (0, _timeout.TimeoutMixin)(Base);
|
|
24
26
|
const WithEventCommands = (0, _event.EventMixin)(WithTimeoutCommands);
|
|
@@ -26,6 +28,7 @@ function createBaseDriverClass(Base) {
|
|
|
26
28
|
const WithLogCommands = (0, _log.LogMixin)(WithFindCommands);
|
|
27
29
|
const WithSettingsCommands = (0, _settings.SettingsMixin)(WithLogCommands);
|
|
28
30
|
const WithSessionCommands = (0, _session.SessionMixin)(WithSettingsCommands);
|
|
29
|
-
|
|
31
|
+
const WithExecuteCommands = (0, _execute.ExecuteMixin)(WithSessionCommands);
|
|
32
|
+
return WithExecuteCommands;
|
|
30
33
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVCYXNlRHJpdmVyQ2xhc3MiLCJCYXNlIiwiV2l0aFRpbWVvdXRDb21tYW5kcyIsIlRpbWVvdXRNaXhpbiIsIldpdGhFdmVudENvbW1hbmRzIiwiRXZlbnRNaXhpbiIsIldpdGhGaW5kQ29tbWFuZHMiLCJGaW5kTWl4aW4iLCJXaXRoTG9nQ29tbWFuZHMiLCJMb2dNaXhpbiIsIldpdGhTZXR0aW5nc0NvbW1hbmRzIiwiU2V0dGluZ3NNaXhpbiIsIldpdGhTZXNzaW9uQ29tbWFuZHMiLCJTZXNzaW9uTWl4aW4iLCJXaXRoRXhlY3V0ZUNvbW1hbmRzIiwiRXhlY3V0ZU1peGluIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2Jhc2Vkcml2ZXIvY29tbWFuZHMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7RXZlbnRNaXhpbn0gZnJvbSAnLi9ldmVudCc7XG5pbXBvcnQge0ZpbmRNaXhpbn0gZnJvbSAnLi9maW5kJztcbmltcG9ydCB7TG9nTWl4aW59IGZyb20gJy4vbG9nJztcbmltcG9ydCB7U2Vzc2lvbk1peGlufSBmcm9tICcuL3Nlc3Npb24nO1xuaW1wb3J0IHtTZXR0aW5nc01peGlufSBmcm9tICcuL3NldHRpbmdzJztcbmltcG9ydCB7VGltZW91dE1peGlufSBmcm9tICcuL3RpbWVvdXQnO1xuaW1wb3J0IHtFeGVjdXRlTWl4aW59IGZyb20gJy4vZXhlY3V0ZSc7XG5cbi8qKlxuICogQXBwbGllcyBhbGwgdGhlIG1peGlucyB0byB0aGUgYEJhc2VEcml2ZXJCYXNlYCBjbGFzcy5cbiAqIFJldHVybnMgYSBgQmFzZURyaXZlcmAgY2xhc3MuXG4gKiBAcGFyYW0ge0Jhc2VEcml2ZXJCYXNlfSBCYXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCYXNlRHJpdmVyQ2xhc3MoQmFzZSkge1xuICBjb25zdCBXaXRoVGltZW91dENvbW1hbmRzID0gVGltZW91dE1peGluKEJhc2UpO1xuICBjb25zdCBXaXRoRXZlbnRDb21tYW5kcyA9IEV2ZW50TWl4aW4oV2l0aFRpbWVvdXRDb21tYW5kcyk7XG4gIGNvbnN0IFdpdGhGaW5kQ29tbWFuZHMgPSBGaW5kTWl4aW4oV2l0aEV2ZW50Q29tbWFuZHMpO1xuICBjb25zdCBXaXRoTG9nQ29tbWFuZHMgPSBMb2dNaXhpbihXaXRoRmluZENvbW1hbmRzKTtcbiAgY29uc3QgV2l0aFNldHRpbmdzQ29tbWFuZHMgPSBTZXR0aW5nc01peGluKFdpdGhMb2dDb21tYW5kcyk7XG4gIGNvbnN0IFdpdGhTZXNzaW9uQ29tbWFuZHMgPSBTZXNzaW9uTWl4aW4oV2l0aFNldHRpbmdzQ29tbWFuZHMpO1xuICBjb25zdCBXaXRoRXhlY3V0ZUNvbW1hbmRzID0gRXhlY3V0ZU1peGluKFdpdGhTZXNzaW9uQ29tbWFuZHMpO1xuICByZXR1cm4gV2l0aEV4ZWN1dGVDb21tYW5kcztcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgW1Q9e31dXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCcuLi9kcml2ZXInKS5CYXNlRHJpdmVyQmFzZTxUPn0gQmFzZURyaXZlckJhc2VcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFPTyxTQUFTQSxxQkFBVCxDQUErQkMsSUFBL0IsRUFBcUM7RUFDMUMsTUFBTUMsbUJBQW1CLEdBQUcsSUFBQUMscUJBQUEsRUFBYUYsSUFBYixDQUE1QjtFQUNBLE1BQU1HLGlCQUFpQixHQUFHLElBQUFDLGlCQUFBLEVBQVdILG1CQUFYLENBQTFCO0VBQ0EsTUFBTUksZ0JBQWdCLEdBQUcsSUFBQUMsZUFBQSxFQUFVSCxpQkFBVixDQUF6QjtFQUNBLE1BQU1JLGVBQWUsR0FBRyxJQUFBQyxhQUFBLEVBQVNILGdCQUFULENBQXhCO0VBQ0EsTUFBTUksb0JBQW9CLEdBQUcsSUFBQUMsdUJBQUEsRUFBY0gsZUFBZCxDQUE3QjtFQUNBLE1BQU1JLG1CQUFtQixHQUFHLElBQUFDLHFCQUFBLEVBQWFILG9CQUFiLENBQTVCO0VBQ0EsTUFBTUksbUJBQW1CLEdBQUcsSUFBQUMscUJBQUEsRUFBYUgsbUJBQWIsQ0FBNUI7RUFDQSxPQUFPRSxtQkFBUDtBQUNEIn0=
|
|
@@ -2,6 +2,7 @@ export type Capabilities = import('@appium/types').Capabilities;
|
|
|
2
2
|
export type W3CCapabilities = import('@appium/types').W3CCapabilities;
|
|
3
3
|
export type Driver = import('@appium/types').Driver;
|
|
4
4
|
export type Core = import('@appium/types').Core;
|
|
5
|
+
export type ExecuteMethodMap = import('@appium/types').ExecuteMethodMap;
|
|
5
6
|
export type ServerArgs = import('@appium/types').ServerArgs;
|
|
6
7
|
export type EventHistory = import('@appium/types').EventHistory;
|
|
7
8
|
export type AppiumLogger = import('@appium/types').AppiumLogger;
|
|
@@ -14,6 +15,8 @@ export class DriverCore implements Core {
|
|
|
14
15
|
* know which version of basedriver it inherited from
|
|
15
16
|
*/
|
|
16
17
|
static baseVersion: any;
|
|
18
|
+
/** @type {ExecuteMethodMap} */
|
|
19
|
+
static executeMethodMap: ExecuteMethodMap;
|
|
17
20
|
constructor(opts?: import("@appium/types").ServerArgs, shouldValidateCaps?: boolean);
|
|
18
21
|
/**
|
|
19
22
|
* @type {string?}
|
|
@@ -187,9 +190,9 @@ export class DriverCore implements Core {
|
|
|
187
190
|
/**
|
|
188
191
|
*
|
|
189
192
|
* @param {string} sessionId
|
|
190
|
-
* @returns {[
|
|
193
|
+
* @returns {import('@appium/types').RouteMatcher[]}
|
|
191
194
|
*/
|
|
192
|
-
getProxyAvoidList(sessionId: string): [
|
|
195
|
+
getProxyAvoidList(sessionId: string): import('@appium/types').RouteMatcher[];
|
|
193
196
|
/**
|
|
194
197
|
*
|
|
195
198
|
* @param {string} [sessionId]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/core.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../lib/basedriver/core.js"],"names":[],"mappings":"2BAwaa,OAAO,eAAe,EAAE,YAAY;8BACpC,OAAO,eAAe,EAAE,eAAe;qBACvC,OAAO,eAAe,EAAE,MAAM;mBAC9B,OAAO,eAAe,EAAE,IAAI;+BAC5B,OAAO,eAAe,EAAE,gBAAgB;yBACxC,OAAO,eAAe,EAAE,UAAU;2BAClC,OAAO,eAAe,EAAE,YAAY;2BACpC,OAAO,eAAe,EAAE,YAAY;AA5ZjD;;GAEG;AACH;IACE;;;OAGG;IACH,wBAAoC;IAEpC,+BAA+B;IAC/B,yBADW,gBAAgB,CACE;IAkG7B,qFAiBC;IAjHD;;OAEG;IACH,WAFU,MAAM,QAEC;IAEjB;;OAEG;IACH,MAFU,OAAO,eAAe,EAAE,UAAU,CAEvC;IAEL;;OAEG;IACH,aAFU,UAAU,CAER;IAEZ;;OAEG;IACH,MAFU,YAAY,CAEjB;IAEL;;OAEG;IACH,cAFU,eAAe,CAEZ;IAEb,+CAAkB;IAElB;;;;;;;OAOG;IACH,iBAA6B;IAE7B,gCAA+B;IAE/B,uBAAuB;IACvB,eADW,MAAM,EAAE,CACA;IAEnB,uBAAuB;IACvB,cADW,MAAM,EAAE,CACD;IAElB,4BAA6C;IAE7C,uBAAmB;IAEnB,uBAAuB;IACvB,mBADW,MAAM,EAAE,CACI;IAEvB,uBAAuB;IACvB,sBADW,MAAM,EAAE,CACO;IAE1B,uBAAuB;IACvB,gBADW,MAAM,EAAE,CACC;IAEpB,8BAA8B;IAC9B,gBADW,OAAO,OAAO,QACH;IAEtB,2BAA2B;IAC3B,eADW,YAAY,CACQ;IAG/B,kCAAkC;IAClC,cADW,mBAAmB,CACI;IAElC;;OAEG;IACH,MAFU,YAAY,CAEjB;IAEL;;OAEG;IACH,wCAA6B;IAE7B;;OAEG;IACH,oBAFU,OAAO,CAEE;IAEnB;;OAEG;IACH,wCAAqC;IAErC;;;;;OAKG;IACH,8BAAgC;IAqBhC,gDAEC;IAED;;;;;;;;OAQG;IACH,wCAJqB,GAAG,EAAE,KAAK,IAAI,QAMlC;IAED;;;;;;;OAOG;IACH,0CAEC;IAED;;;;;;;;;;OAUG;IACH,sCAEC;IAMD,yDAEC;IAED;;;OAGG;IACH,oBAFW,MAAM,QAgBhB;IAED;;;OAGG;IACH,yBAEC;IAED;;;;;OAKG;IACH,+CAFa,OAAO,CAKnB;IAED;;;;;OAKG;IACH,4BAHW,MAAM,GACJ,IAAI,GAAG,IAAI,CAIvB;IAED,6BAEC;IAED,yBAEC;IAED,2BAEC;IADC,6BAAiC;IAGnC,uBAEC;IAED;;;;;;OAMG;IACH,uBAJW,MAAM,WAuBhB;IAED;;;;;;OAMG;IACH,2BAHW,MAAM,QAKhB;IAED;;;;;OAKG;IACH,2BAFW,MAAM,QAYhB;IAED;;;;OAIG;IACH,kCAHW,MAAM,0CAgBhB;IAED;;;;OAIG;IACH,6CAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,6BAHW,MAAM,GACJ,OAAO,eAAe,EAAE,YAAY,EAAE,CAIlD;IAED;;;;OAIG;IACH,0CAFa,OAAO,CAInB;IAED;;;;;;;;;;;;OAYG;IACH,+BATW,MAAM,UAGN,OAAO,eAAe,EAAE,UAAU,OAClC,MAAM,SACN,GAAG,GAED,OAAO,CAoBnB;IAED;;;OAGG;IACH,yBAFW,MAAM,QAIhB;IAED,sDAEC;IAED,wCAKC;CACF"}
|
|
@@ -36,6 +36,7 @@ const ON_UNEXPECTED_SHUTDOWN_EVENT = 'onUnexpectedShutdown';
|
|
|
36
36
|
|
|
37
37
|
class DriverCore {
|
|
38
38
|
static baseVersion = BASEDRIVER_VER;
|
|
39
|
+
static executeMethodMap = {};
|
|
39
40
|
sessionId = null;
|
|
40
41
|
opts;
|
|
41
42
|
initialOpts;
|
|
@@ -236,4 +237,4 @@ class DriverCore {
|
|
|
236
237
|
}
|
|
237
238
|
|
|
238
239
|
exports.DriverCore = DriverCore;
|
|
239
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ2ZXJzaW9uIiwiQkFTRURSSVZFUl9WRVIiLCJmcyIsInJlYWRQYWNrYWdlSnNvbkZyb20iLCJfX2Rpcm5hbWUiLCJORVdfQ09NTUFORF9USU1FT1VUX01TIiwiT05fVU5FWFBFQ1RFRF9TSFVURE9XTl9FVkVOVCIsIkRyaXZlckNvcmUiLCJiYXNlVmVyc2lvbiIsInNlc3Npb25JZCIsIm9wdHMiLCJpbml0aWFsT3B0cyIsImNhcHMiLCJvcmlnaW5hbENhcHMiLCJoZWxwZXJzIiwiYmFzZVBhdGgiLCJERUZBVUxUX0JBU0VfUEFUSCIsInJlbGF4ZWRTZWN1cml0eUVuYWJsZWQiLCJhbGxvd0luc2VjdXJlIiwiZGVueUluc2VjdXJlIiwibmV3Q29tbWFuZFRpbWVvdXRNcyIsImltcGxpY2l0V2FpdE1zIiwibG9jYXRvclN0cmF0ZWdpZXMiLCJ3ZWJMb2NhdG9yU3RyYXRlZ2llcyIsIm1hbmFnZWREcml2ZXJzIiwibm9Db21tYW5kVGltZXIiLCJfZXZlbnRIaXN0b3J5IiwiY29tbWFuZHMiLCJldmVudEVtaXR0ZXIiLCJFdmVudEVtaXR0ZXIiLCJfbG9nIiwic2h1dGRvd25VbmV4cGVjdGVkbHkiLCJzaG91bGRWYWxpZGF0ZUNhcHMiLCJjb21tYW5kc1F1ZXVlR3VhcmQiLCJBc3luY0xvY2siLCJzZXR0aW5ncyIsIkRldmljZVNldHRpbmdzIiwiY29uc3RydWN0b3IiLCJsb2dnZXIiLCJnZXRMb2dnZXIiLCJnZW5lcmF0ZURyaXZlckxvZ1ByZWZpeCIsInRtcERpciIsInByb2Nlc3MiLCJlbnYiLCJBUFBJVU1fVE1QX0RJUiIsIm9zIiwidG1wZGlyIiwiXyIsImNsb25lRGVlcCIsImxvZyIsIm9uVW5leHBlY3RlZFNodXRkb3duIiwiaGFuZGxlciIsIm9uIiwiZHJpdmVyRGF0YSIsImlzQ29tbWFuZHNRdWV1ZUVuYWJsZWQiLCJldmVudEhpc3RvcnkiLCJsb2dFdmVudCIsImV2ZW50TmFtZSIsIkVycm9yIiwidHMiLCJEYXRlIiwibm93IiwibG9nVGltZSIsInRvVGltZVN0cmluZyIsInB1c2giLCJkZWJ1ZyIsImdldFN0YXR1cyIsInNlc3Npb25FeGlzdHMiLCJkcml2ZXJGb3JTZXNzaW9uIiwiaXNNanNvbndwUHJvdG9jb2wiLCJwcm90b2NvbCIsIlBST1RPQ09MUyIsIk1KU09OV1AiLCJpc1czQ1Byb3RvY29sIiwiVzNDIiwic2V0UHJvdG9jb2xNSlNPTldQIiwic2V0UHJvdG9jb2xXM0MiLCJpc0ZlYXR1cmVFbmFibGVkIiwibmFtZSIsImluY2x1ZGVzIiwiZW5zdXJlRmVhdHVyZUVuYWJsZWQiLCJhc3NlcnRGZWF0dXJlRW5hYmxlZCIsInZhbGlkYXRlTG9jYXRvclN0cmF0ZWd5Iiwic3RyYXRlZ3kiLCJ3ZWJDb250ZXh0IiwidmFsaWRTdHJhdGVnaWVzIiwiam9pbiIsImNvbmNhdCIsImVycm9ycyIsIkludmFsaWRTZWxlY3RvckVycm9yIiwicHJveHlBY3RpdmUiLCJnZXRQcm94eUF2b2lkTGlzdCIsImNhblByb3h5IiwicHJveHlSb3V0ZUlzQXZvaWRlZCIsIm1ldGhvZCIsInVybCIsImJvZHkiLCJhdm9pZFNjaGVtYSIsImlzQXJyYXkiLCJsZW5ndGgiLCJhdm9pZE1ldGhvZCIsImF2b2lkUGF0aFJlZ2V4IiwiaXNSZWdFeHAiLCJub3JtYWxpemVkVXJsIiwicmVwbGFjZSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsInRlc3QiLCJhZGRNYW5hZ2VkRHJpdmVyIiwiZHJpdmVyIiwiZ2V0TWFuYWdlZERyaXZlcnMiLCJjbGVhck5ld0NvbW1hbmRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2Jhc2Vkcml2ZXIvY29yZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVxdWlyZS1hd2FpdCAqL1xuXG5pbXBvcnQge2ZzLCBsb2dnZXJ9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgQXN5bmNMb2NrIGZyb20gJ2FzeW5jLWxvY2snO1xuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG9zIGZyb20gJ29zJztcbmltcG9ydCB7REVGQVVMVF9CQVNFX1BBVEgsIFBST1RPQ09MU30gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7ZXJyb3JzfSBmcm9tICcuLi9wcm90b2NvbCc7XG5pbXBvcnQgRGV2aWNlU2V0dGluZ3MgZnJvbSAnLi9kZXZpY2Utc2V0dGluZ3MnO1xuaW1wb3J0IGhlbHBlcnMgZnJvbSAnLi9oZWxwZXJzJztcblxuLy8gZm9yIGNvbXBhdCB3aXRoIHJ1bm5pbmcgdGVzdHMgdHJhbnNwaWxlZCBhbmQgaW4tcGxhY2VcbmNvbnN0IHt2ZXJzaW9uOiBCQVNFRFJJVkVSX1ZFUn0gPSBmcy5yZWFkUGFja2FnZUpzb25Gcm9tKF9fZGlybmFtZSk7XG5cbmNvbnN0IE5FV19DT01NQU5EX1RJTUVPVVRfTVMgPSA2MCAqIDEwMDA7XG5cbmNvbnN0IE9OX1VORVhQRUNURURfU0hVVERPV05fRVZFTlQgPSAnb25VbmV4cGVjdGVkU2h1dGRvd24nO1xuLyoqXG4gKiBAaW1wbGVtZW50cyB7Q29yZX1cbiAqL1xuY2xhc3MgRHJpdmVyQ29yZSB7XG4gIC8qKlxuICAgKiBNYWtlIHRoZSBiYXNlZHJpdmVyIHZlcnNpb24gYXZhaWxhYmxlIHNvIGZvciBhbnkgZHJpdmVyIHdoaWNoIGluaGVyaXRzIGZyb20gdGhpcyBwYWNrYWdlLCB3ZVxuICAgKiBrbm93IHdoaWNoIHZlcnNpb24gb2YgYmFzZWRyaXZlciBpdCBpbmhlcml0ZWQgZnJvbVxuICAgKi9cbiAgc3RhdGljIGJhc2VWZXJzaW9uID0gQkFTRURSSVZFUl9WRVI7XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtzdHJpbmc/fVxuICAgKi9cbiAgc2Vzc2lvbklkID0gbnVsbDtcblxuICAvKipcbiAgICogQHR5cGUge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkRyaXZlck9wdHN9XG4gICAqL1xuICBvcHRzO1xuXG4gIC8qKlxuICAgKiBAdHlwZSB7U2VydmVyQXJnc31cbiAgICovXG4gIGluaXRpYWxPcHRzO1xuXG4gIC8qKlxuICAgKiBAdHlwZSB7Q2FwYWJpbGl0aWVzfVxuICAgKi9cbiAgY2FwcztcblxuICAvKipcbiAgICogQHR5cGUge1czQ0NhcGFiaWxpdGllc31cbiAgICovXG4gIG9yaWdpbmFsQ2FwcztcblxuICBoZWxwZXJzID0gaGVscGVycztcblxuICAvKipcbiAgICogYmFzZVBhdGggaXMgdXNlZCBmb3Igc2V2ZXJhbCBwdXJwb3NlcywgZm9yIGV4YW1wbGUgaW4gc2V0dGluZyB1cFxuICAgKiBwcm94eWluZyB0byBvdGhlciBkcml2ZXJzLCBzaW5jZSB3ZSBuZWVkIHRvIGtub3cgd2hhdCB0aGUgYmFzZSBwYXRoXG4gICAqIG9mIGFueSBpbmNvbWluZyByZXF1ZXN0IG1pZ2h0IGxvb2sgbGlrZS4gV2Ugc2V0IGl0IHRvIHRoZSBkZWZhdWx0XG4gICAqIGluaXRpYWxseSBidXQgaXQgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGR1cmluZyBhbnkgYWN0dWFsIHByb2dyYW1cbiAgICogZXhlY3V0aW9uIGJ5IHRoZSByb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb24sIHdoaWNoIGlzIG5lY2Vzc2FyaWx5IHJ1biBhc1xuICAgKiB0aGUgZW50cnlwb2ludCBmb3IgYW55IEFwcGl1bSBzZXJ2ZXJcbiAgICovXG4gIGJhc2VQYXRoID0gREVGQVVMVF9CQVNFX1BBVEg7XG5cbiAgcmVsYXhlZFNlY3VyaXR5RW5hYmxlZCA9IGZhbHNlO1xuXG4gIC8qKiBAdHlwZSB7c3RyaW5nW119ICovXG4gIGFsbG93SW5zZWN1cmUgPSBbXTtcblxuICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICBkZW55SW5zZWN1cmUgPSBbXTtcblxuICBuZXdDb21tYW5kVGltZW91dE1zID0gTkVXX0NPTU1BTkRfVElNRU9VVF9NUztcblxuICBpbXBsaWNpdFdhaXRNcyA9IDA7XG5cbiAgLyoqIEB0eXBlIHtzdHJpbmdbXX0gKi9cbiAgbG9jYXRvclN0cmF0ZWdpZXMgPSBbXTtcblxuICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICB3ZWJMb2NhdG9yU3RyYXRlZ2llcyA9IFtdO1xuXG4gIC8qKiBAdHlwZSB7RHJpdmVyW119ICovXG4gIG1hbmFnZWREcml2ZXJzID0gW107XG5cbiAgLyoqIEB0eXBlIHtOb2RlSlMuVGltZW91dD99ICovXG4gIG5vQ29tbWFuZFRpbWVyID0gbnVsbDtcblxuICAvKiogQHR5cGUge0V2ZW50SGlzdG9yeX0gKi9cbiAgX2V2ZW50SGlzdG9yeSA9IHtjb21tYW5kczogW119O1xuXG4gIC8vIHVzZWQgdG8gaGFuZGxlIGRyaXZlciBldmVudHNcbiAgLyoqIEB0eXBlIHtOb2RlSlMuRXZlbnRFbWl0dGVyfSAqL1xuICBldmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtBcHBpdW1Mb2dnZXJ9XG4gICAqL1xuICBfbG9nO1xuXG4gIC8qKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBzaHV0ZG93blVuZXhwZWN0ZWRseSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHNob3VsZFZhbGlkYXRlQ2FwcztcblxuICAvKipcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgY29tbWFuZHNRdWV1ZUd1YXJkID0gbmV3IEFzeW5jTG9jaygpO1xuXG4gIC8qKlxuICAgKiBzZXR0aW5ncyBzaG91bGQgYmUgaW5zdGFudGlhdGVkIGJ5IGRyaXZlcnMgd2hpY2ggZXh0ZW5kIEJhc2VEcml2ZXIsIGJ1dFxuICAgKiB3ZSBzZXQgaXQgdG8gYW4gZW1wdHkgRGV2aWNlU2V0dGluZ3MgaW5zdGFuY2UgaGVyZSB0byBtYWtlIHN1cmUgdGhhdCB0aGVcbiAgICogZGVmYXVsdCBzZXR0aW5ncyBhcmUgYXBwbGllZCBldmVuIGlmIGFuIGV4dGVuZGluZyBkcml2ZXIgZG9lc24ndCB1dGlsaXplXG4gICAqIHRoZSBzZXR0aW5ncyBmdW5jdGlvbmFsaXR5IGl0c2VsZlxuICAgKi9cbiAgc2V0dGluZ3MgPSBuZXcgRGV2aWNlU2V0dGluZ3MoKTtcblxuICBjb25zdHJ1Y3RvcihvcHRzID0gLyoqIEB0eXBlIHtTZXJ2ZXJBcmdzfSAqLyAoe30pLCBzaG91bGRWYWxpZGF0ZUNhcHMgPSB0cnVlKSB7XG4gICAgdGhpcy5fbG9nID0gbG9nZ2VyLmdldExvZ2dlcihoZWxwZXJzLmdlbmVyYXRlRHJpdmVyTG9nUHJlZml4KHRoaXMpKTtcblxuICAgIC8vIHNldHVwIHN0YXRlXG4gICAgdGhpcy5vcHRzID0gb3B0cztcblxuICAgIC8vIHVzZSBhIGN1c3RvbSB0bXAgZGlyIHRvIGF2b2lkIGxvc2luZyBkYXRhIGFuZCBhcHAgd2hlbiBjb21wdXRlciBpc1xuICAgIC8vIHJlc3RhcnRlZFxuICAgIHRoaXMub3B0cy50bXBEaXIgPSB0aGlzLm9wdHMudG1wRGlyIHx8IHByb2Nlc3MuZW52LkFQUElVTV9UTVBfRElSIHx8IG9zLnRtcGRpcigpO1xuXG4gICAgLy8gYmFzZS1kcml2ZXIgaW50ZXJuYWxzXG4gICAgdGhpcy5zaG91bGRWYWxpZGF0ZUNhcHMgPSBzaG91bGRWYWxpZGF0ZUNhcHM7XG5cbiAgICAvLyBrZWVwaW5nIHRyYWNrIG9mIGluaXRpYWwgb3B0c1xuICAgIHRoaXMuaW5pdGlhbE9wdHMgPSBfLmNsb25lRGVlcCh0aGlzLm9wdHMpO1xuXG4gICAgdGhpcy5zZXNzaW9uSWQgPSBudWxsO1xuICB9XG5cbiAgZ2V0IGxvZygpIHtcbiAgICByZXR1cm4gdGhpcy5fbG9nO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIGNhbGxiYWNrIGhhbmRsZXIgaWYgbmVlZGVkIHRvIGV4ZWN1dGUgYSBjdXN0b20gcGllY2Ugb2YgY29kZVxuICAgKiB3aGVuIHRoZSBkcml2ZXIgaXMgc2h1dCBkb3duIHVuZXhwZWN0ZWRseS4gTXVsdGlwbGUgY2FsbHMgdG8gdGhpcyBtZXRob2RcbiAgICogd2lsbCBjYXVzZSB0aGUgaGFuZGxlciB0byBiZSBleGVjdXRlZCBtdXRpcGxlIHRpbWVzXG4gICAqXG4gICAqIEBwYXJhbSB7KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSBoYW5kbGVyIFRoZSBjb2RlIHRvIGJlIGV4ZWN1dGVkIG9uIHVuZXhwZWN0ZWQgc2h1dGRvd24uXG4gICAqIFRoZSBmdW5jdGlvbiBtYXkgYWNjZXB0IG9uZSBhcmd1bWVudCwgd2hpY2ggaXMgdGhlIGFjdHVhbCBlcnJvciBpbnN0YW5jZSwgd2hpY2hcbiAgICogY2F1c2VkIHRoZSBkcml2ZXIgdG8gc2h1dCBkb3duLlxuICAgKi9cbiAgb25VbmV4cGVjdGVkU2h1dGRvd24oaGFuZGxlcikge1xuICAgIHRoaXMuZXZlbnRFbWl0dGVyLm9uKE9OX1VORVhQRUNURURfU0hVVERPV05fRVZFTlQsIGhhbmRsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgdXNlZCBieSBBcHBpdW1Ecml2ZXIgdG8gc3RvcmUgdGhlIGRhdGEgb2YgdGhlXG4gICAqIHNwZWNpZmljIGRyaXZlciBzZXNzaW9ucy4gVGhpcyBkYXRhIGNhbiBiZSBsYXRlciB1c2VkIHRvIGFkanVzdFxuICAgKiBwcm9wZXJ0aWVzIGZvciBkcml2ZXIgaW5zdGFuY2VzIHJ1bm5pbmcgaW4gcGFyYWxsZWwuXG4gICAqIE92ZXJyaWRlIGl0IGluIGluaGVyaXRlZCBkcml2ZXIgY2xhc3NlcyBpZiBuZWNlc3NhcnkuXG4gICAqXG4gICAqIEByZXR1cm4ge1JlY29yZDxzdHJpbmcsdW5rbm93bj59IERyaXZlciBwcm9wZXJ0aWVzIG1hcHBpbmdcbiAgICovXG4gIGdldCBkcml2ZXJEYXRhKCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGNvbnRyb2xzIHRoZSB3YXkgeyNleGVjdXRlQ29tbWFuZH0gbWV0aG9kXG4gICAqIGhhbmRsZXMgbmV3IGRyaXZlciBjb21tYW5kcyByZWNlaXZlZCBmcm9tIHRoZSBjbGllbnQuXG4gICAqIE92ZXJyaWRlIGl0IGZvciBpbmhlcml0ZWQgY2xhc3NlcyBvbmx5IGluIHNwZWNpYWwgY2FzZXMuXG4gICAqXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IElmIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB0cnVlIChkZWZhdWx0KSB0aGVuIGFsbCB0aGUgY29tbWFuZHNcbiAgICogICByZWNlaXZlZCBieSB0aGUgcGFydGljdWxhciBkcml2ZXIgaW5zdGFuY2UgYXJlIGdvaW5nIHRvIGJlIHB1dCBpbnRvIHRoZSBxdWV1ZSxcbiAgICogICBzbyBlYWNoIGZvbGxvd2luZyBjb21tYW5kIHdpbGwgbm90IGJlIGV4ZWN1dGVkIHVudGlsIHRoZSBwcmV2aW91cyBjb21tYW5kXG4gICAqICAgZXhlY3V0aW9uIGlzIGNvbXBsZXRlZC4gRmFsc2UgdmFsdWUgZGlzYWJsZXMgdGhhdCBxdWV1ZSwgc28gZWFjaCBkcml2ZXIgY29tbWFuZFxuICAgKiAgIGlzIGV4ZWN1dGVkIGluZGVwZW5kZW50bHkgYW5kIGRvZXMgbm90IHdhaXQgZm9yIGFueXRoaW5nLlxuICAgKi9cbiAgZ2V0IGlzQ29tbWFuZHNRdWV1ZUVuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKlxuICAgKiBtYWtlIGV2ZW50SGlzdG9yeSBhIHByb3BlcnR5IGFuZCByZXR1cm4gYSBjbG9uZWQgb2JqZWN0IHNvIGEgY29uc3VtZXIgY2FuJ3RcbiAgICogaW5hZHZlcnRlbnRseSBjaGFuZ2UgZGF0YSBvdXRzaWRlIG9mIGxvZ0V2ZW50XG4gICAqL1xuICBnZXQgZXZlbnRIaXN0b3J5KCkge1xuICAgIHJldHVybiBfLmNsb25lRGVlcCh0aGlzLl9ldmVudEhpc3RvcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFQSSBtZXRob2QgZm9yIGRyaXZlciBkZXZlbG9wZXJzIHRvIGxvZyB0aW1pbmdzIGZvciBpbXBvcnRhbnQgZXZlbnRzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAgICovXG4gIGxvZ0V2ZW50KGV2ZW50TmFtZSkge1xuICAgIGlmIChldmVudE5hbWUgPT09ICdjb21tYW5kcycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGxvZyBjb21tYW5kcyBkaXJlY3RseScpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGV2ZW50TmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBldmVudE5hbWUgJHtldmVudE5hbWV9YCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fZXZlbnRIaXN0b3J5W2V2ZW50TmFtZV0pIHtcbiAgICAgIHRoaXMuX2V2ZW50SGlzdG9yeVtldmVudE5hbWVdID0gW107XG4gICAgfVxuICAgIGNvbnN0IHRzID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBsb2dUaW1lID0gbmV3IERhdGUodHMpLnRvVGltZVN0cmluZygpO1xuICAgIHRoaXMuX2V2ZW50SGlzdG9yeVtldmVudE5hbWVdLnB1c2godHMpO1xuICAgIHRoaXMubG9nLmRlYnVnKGBFdmVudCAnJHtldmVudE5hbWV9JyBsb2dnZWQgYXQgJHt0c30gKCR7bG9nVGltZX0pYCk7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGRlbiBpbiBhcHBpdW0gZHJpdmVyLCBidXQgaGVyZSBzbyB0aGF0IGluZGl2aWR1YWwgZHJpdmVycyBjYW4gYmVcbiAgICogdGVzdGVkIHdpdGggY2xpZW50cyB0aGF0IHBvbGxcbiAgICovXG4gIGFzeW5jIGdldFN0YXR1cygpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogbWV0aG9kIHJlcXVpcmVkIGJ5IE1KU09OV1AgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgaXQgc2hvdWxkXG4gICAqIHJlc3BvbmQgd2l0aCBhbiBpbnZhbGlkIHNlc3Npb24gcmVzcG9uc2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzZXNzaW9uSWRdXG4gICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgKi9cbiAgc2Vzc2lvbkV4aXN0cyhzZXNzaW9uSWQpIHtcbiAgICBpZiAoIXNlc3Npb25JZCkgcmV0dXJuIGZhbHNlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG4gICAgcmV0dXJuIHNlc3Npb25JZCA9PT0gdGhpcy5zZXNzaW9uSWQ7XG4gIH1cblxuICAvKipcbiAgICogbWV0aG9kIHJlcXVpcmVkIGJ5IE1KU09OV1AgaW4gb3JkZXIgdG8gZGV0ZXJtaW5lIGlmIHRoZSBjb21tYW5kIHNob3VsZFxuICAgKiBiZSBwcm94aWVkIGRpcmVjdGx5IHRvIHRoZSBkcml2ZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlc3Npb25JZFxuICAgKiBAcmV0dXJucyB7Q29yZSB8IG51bGx9XG4gICAqL1xuICBkcml2ZXJGb3JTZXNzaW9uKHNlc3Npb25JZCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaXNNanNvbndwUHJvdG9jb2woKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvdG9jb2wgPT09IFBST1RPQ09MUy5NSlNPTldQO1xuICB9XG5cbiAgaXNXM0NQcm90b2NvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm90b2NvbCA9PT0gUFJPVE9DT0xTLlczQztcbiAgfVxuXG4gIHNldFByb3RvY29sTUpTT05XUCgpIHtcbiAgICB0aGlzLnByb3RvY29sID0gUFJPVE9DT0xTLk1KU09OV1A7XG4gIH1cblxuICBzZXRQcm90b2NvbFczQygpIHtcbiAgICB0aGlzLnByb3RvY29sID0gUFJPVE9DT0xTLlczQztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB3aGV0aGVyIGEgZ2l2ZW4gZmVhdHVyZSBpcyBlbmFibGVkIHZpYSBpdHMgbmFtZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIG5hbWUgb2YgZmVhdHVyZS9jb21tYW5kXG4gICAqXG4gICAqIEByZXR1cm5zIHtCb29sZWFufVxuICAgKi9cbiAgaXNGZWF0dXJlRW5hYmxlZChuYW1lKSB7XG4gICAgLy8gaWYgd2UgaGF2ZSBleHBsaWNpdGx5IGRlbmllZCB0aGlzIGZlYXR1cmUsIHJldHVybiBmYWxzZSBpbW1lZGlhdGVseVxuICAgIGlmICh0aGlzLmRlbnlJbnNlY3VyZSAmJiBfLmluY2x1ZGVzKHRoaXMuZGVueUluc2VjdXJlLCBuYW1lKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIHNwZWNpZmljYWxseSBoYXZlIGFsbG93ZWQgdGhlIGZlYXR1cmUsIHJldHVybiB0cnVlXG4gICAgaWYgKHRoaXMuYWxsb3dJbnNlY3VyZSAmJiBfLmluY2x1ZGVzKHRoaXMuYWxsb3dJbnNlY3VyZSwgbmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIG90aGVyd2lzZSwgaWYgd2UndmUgZ2xvYmFsbHkgYWxsb3dlZCBpbnNlY3VyZSBmZWF0dXJlcyBhbmQgbm90IGRlbmllZFxuICAgIC8vIHRoaXMgb25lLCByZXR1cm4gdHJ1ZVxuICAgIGlmICh0aGlzLnJlbGF4ZWRTZWN1cml0eUVuYWJsZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGhhdmVuJ3QgYWxsb3dlZCBhbnl0aGluZyBpbnNlY3VyZSwgdGhlbiByZWplY3RcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQXNzZXJ0IHRoYXQgYSBnaXZlbiBmZWF0dXJlIGlzIGVuYWJsZWQgYW5kIHRocm93IGEgaGVscGZ1bCBlcnJvciBpZiBpdCdzXG4gICAqIG5vdFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIG5hbWUgb2YgZmVhdHVyZS9jb21tYW5kXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBlbnN1cmVGZWF0dXJlRW5hYmxlZChuYW1lKSB7XG4gICAgdGhpcy5hc3NlcnRGZWF0dXJlRW5hYmxlZChuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NlcnQgdGhhdCBhIGdpdmVuIGZlYXR1cmUgaXMgZW5hYmxlZCBhbmQgdGhyb3cgYSBoZWxwZnVsIGVycm9yIGlmIGl0J3NcbiAgICogbm90XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gbmFtZSBvZiBmZWF0dXJlL2NvbW1hbmRcbiAgICovXG4gIGFzc2VydEZlYXR1cmVFbmFibGVkKG5hbWUpIHtcbiAgICBpZiAoIXRoaXMuaXNGZWF0dXJlRW5hYmxlZChuYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgUG90ZW50aWFsbHkgaW5zZWN1cmUgZmVhdHVyZSAnJHtuYW1lfScgaGFzIG5vdCBiZWVuIGAgK1xuICAgICAgICAgIGBlbmFibGVkLiBJZiB5b3Ugd2FudCB0byBlbmFibGUgdGhpcyBmZWF0dXJlIGFuZCBhY2NlcHQgYCArXG4gICAgICAgICAgYHRoZSBzZWN1cml0eSByYW1pZmljYXRpb25zLCBwbGVhc2UgZG8gc28gYnkgZm9sbG93aW5nIGAgK1xuICAgICAgICAgIGB0aGUgZG9jdW1lbnRlZCBpbnN0cnVjdGlvbnMgYXQgaHR0cHM6Ly9naXRodWIuY29tL2FwcGl1bWAgK1xuICAgICAgICAgIGAvYXBwaXVtL2Jsb2IvbWFzdGVyL2RvY3MvZW4vd3JpdGluZy1ydW5uaW5nLWFwcGl1bS9zZWN1cml0eS5tZGBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJhdGVneVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFt3ZWJDb250ZXh0XVxuICAgKi9cbiAgdmFsaWRhdGVMb2NhdG9yU3RyYXRlZ3koc3RyYXRlZ3ksIHdlYkNvbnRleHQgPSBmYWxzZSkge1xuICAgIGxldCB2YWxpZFN0cmF0ZWdpZXMgPSB0aGlzLmxvY2F0b3JTdHJhdGVnaWVzO1xuICAgIHRoaXMubG9nLmRlYnVnKGBWYWxpZCBsb2NhdG9yIHN0cmF0ZWdpZXMgZm9yIHRoaXMgcmVxdWVzdDogJHt2YWxpZFN0cmF0ZWdpZXMuam9pbignLCAnKX1gKTtcblxuICAgIGlmICh3ZWJDb250ZXh0KSB7XG4gICAgICB2YWxpZFN0cmF0ZWdpZXMgPSB2YWxpZFN0cmF0ZWdpZXMuY29uY2F0KHRoaXMud2ViTG9jYXRvclN0cmF0ZWdpZXMpO1xuICAgIH1cblxuICAgIGlmICghXy5pbmNsdWRlcyh2YWxpZFN0cmF0ZWdpZXMsIHN0cmF0ZWd5KSkge1xuICAgICAgdGhyb3cgbmV3IGVycm9ycy5JbnZhbGlkU2VsZWN0b3JFcnJvcihcbiAgICAgICAgYExvY2F0b3IgU3RyYXRlZ3kgJyR7c3RyYXRlZ3l9JyBpcyBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIHNlc3Npb25gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3Nlc3Npb25JZF1cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBwcm94eUFjdGl2ZShzZXNzaW9uSWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlc3Npb25JZFxuICAgKiBAcmV0dXJucyB7W3N0cmluZywgUmVnRXhwXVtdfVxuICAgKi9cbiAgZ2V0UHJveHlBdm9pZExpc3Qoc2Vzc2lvbklkKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc2Vzc2lvbklkXVxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGNhblByb3h5KHNlc3Npb25JZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGEgZ2l2ZW4gY29tbWFuZCByb3V0ZSAoZXhwcmVzc2VkIGFzIG1ldGhvZCBhbmQgdXJsKSBzaG91bGQgbm90IGJlXG4gICAqIHByb3hpZWQgYWNjb3JkaW5nIHRvIHRoaXMgZHJpdmVyXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZXNzaW9uSWQgLSB0aGUgY3VycmVudCBzZXNzaW9uSWQgKGluIGNhc2UgdGhlIGRyaXZlciBydW5zXG4gICAqIG11bHRpcGxlIHNlc3Npb24gaWRzIGFuZCByZXF1aXJlcyBpdCkuIFRoaXMgaXMgbm90IHVzZWQgaW4gdGhpcyBtZXRob2QgYnV0XG4gICAqIHNob3VsZCBiZSBtYWRlIGF2YWlsYWJsZSB0byBvdmVycmlkZGVuIG1ldGhvZHMuXG4gICAqIEBwYXJhbSB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuSFRUUE1ldGhvZH0gbWV0aG9kIC0gSFRUUCBtZXRob2Qgb2YgdGhlIHJvdXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwgLSB1cmwgb2YgdGhlIHJvdXRlXG4gICAqIEBwYXJhbSB7YW55fSBbYm9keV0gLSB3ZWJkcml2ZXIgcmVxdWVzdCBib2R5XG4gICAqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIHdoZXRoZXIgdGhlIHJvdXRlIHNob3VsZCBiZSBhdm9pZGVkXG4gICAqL1xuICBwcm94eVJvdXRlSXNBdm9pZGVkKHNlc3Npb25JZCwgbWV0aG9kLCB1cmwsIGJvZHkpIHtcbiAgICBmb3IgKGxldCBhdm9pZFNjaGVtYSBvZiB0aGlzLmdldFByb3h5QXZvaWRMaXN0KHNlc3Npb25JZCkpIHtcbiAgICAgIGlmICghXy5pc0FycmF5KGF2b2lkU2NoZW1hKSB8fCBhdm9pZFNjaGVtYS5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm94eSBhdm9pZGFuY2UgbXVzdCBiZSBhIGxpc3Qgb2YgcGFpcnMnKTtcbiAgICAgIH1cbiAgICAgIGxldCBbYXZvaWRNZXRob2QsIGF2b2lkUGF0aFJlZ2V4XSA9IGF2b2lkU2NoZW1hO1xuICAgICAgaWYgKCFfLmluY2x1ZGVzKFsnR0VUJywgJ1BPU1QnLCAnREVMRVRFJ10sIGF2b2lkTWV0aG9kKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCBwcm94eSBhdm9pZGFuY2UgbWV0aG9kICcke2F2b2lkTWV0aG9kfSdgKTtcbiAgICAgIH1cbiAgICAgIGlmICghXy5pc1JlZ0V4cChhdm9pZFBhdGhSZWdleCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm94eSBhdm9pZGFuY2UgcGF0aCBtdXN0IGJlIGEgcmVndWxhciBleHByZXNzaW9uJyk7XG4gICAgICB9XG4gICAgICBsZXQgbm9ybWFsaXplZFVybCA9IHVybC5yZXBsYWNlKG5ldyBSZWdFeHAoYF4ke18uZXNjYXBlUmVnRXhwKHRoaXMuYmFzZVBhdGgpfWApLCAnJyk7XG4gICAgICBpZiAoYXZvaWRNZXRob2QgPT09IG1ldGhvZCAmJiBhdm9pZFBhdGhSZWdleC50ZXN0KG5vcm1hbGl6ZWRVcmwpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtEcml2ZXJ9IGRyaXZlclxuICAgKi9cbiAgYWRkTWFuYWdlZERyaXZlcihkcml2ZXIpIHtcbiAgICB0aGlzLm1hbmFnZWREcml2ZXJzLnB1c2goZHJpdmVyKTtcbiAgfVxuXG4gIGdldE1hbmFnZWREcml2ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLm1hbmFnZWREcml2ZXJzO1xuICB9XG5cbiAgYXN5bmMgY2xlYXJOZXdDb21tYW5kVGltZW91dCgpIHtcbiAgICBpZiAodGhpcy5ub0NvbW1hbmRUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubm9Db21tYW5kVGltZXIpO1xuICAgICAgdGhpcy5ub0NvbW1hbmRUaW1lciA9IG51bGw7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7RHJpdmVyQ29yZX07XG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkNhcGFiaWxpdGllc30gQ2FwYWJpbGl0aWVzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuVzNDQ2FwYWJpbGl0aWVzfSBXM0NDYXBhYmlsaXRpZXNcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Ecml2ZXJ9IERyaXZlclxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkNvcmV9IENvcmVcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5TZXJ2ZXJBcmdzfSBTZXJ2ZXJBcmdzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRXZlbnRIaXN0b3J5fSBFdmVudEhpc3RvcnlcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5BcHBpdW1Mb2dnZXJ9IEFwcGl1bUxvZ2dlclxuICovXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTTtFQUFDQSxPQUFPLEVBQUVDO0FBQVYsSUFBNEJDLFdBQUEsQ0FBR0MsbUJBQUgsQ0FBdUJDLFNBQXZCLENBQWxDOztBQUVBLE1BQU1DLHNCQUFzQixHQUFHLEtBQUssSUFBcEM7QUFFQSxNQUFNQyw0QkFBNEIsR0FBRyxzQkFBckM7O0FBSUEsTUFBTUMsVUFBTixDQUFpQjtFQUtHLE9BQVhDLFdBQVcsR0FBR1AsY0FBSDtFQUtsQlEsU0FBUyxHQUFHLElBQUg7RUFLVEMsSUFBSTtFQUtKQyxXQUFXO0VBS1hDLElBQUk7RUFLSkMsWUFBWTtFQUVaQyxPQUFPLEdBQUdBLGdCQUFIO0VBVVBDLFFBQVEsR0FBR0MsNEJBQUg7RUFFUkMsc0JBQXNCLEdBQUcsS0FBSDtFQUd0QkMsYUFBYSxHQUFHLEVBQUg7RUFHYkMsWUFBWSxHQUFHLEVBQUg7RUFFWkMsbUJBQW1CLEdBQUdmLHNCQUFIO0VBRW5CZ0IsY0FBYyxHQUFHLENBQUg7RUFHZEMsaUJBQWlCLEdBQUcsRUFBSDtFQUdqQkMsb0JBQW9CLEdBQUcsRUFBSDtFQUdwQkMsY0FBYyxHQUFHLEVBQUg7RUFHZEMsY0FBYyxHQUFHLElBQUg7RUFHZEMsYUFBYSxHQUFHO0lBQUNDLFFBQVEsRUFBRTtFQUFYLENBQUg7RUFJYkMsWUFBWSxHQUFHLElBQUlDLG9CQUFKLEVBQUg7RUFLWkMsSUFBSTtFQUtK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
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ2ZXJzaW9uIiwiQkFTRURSSVZFUl9WRVIiLCJmcyIsInJlYWRQYWNrYWdlSnNvbkZyb20iLCJfX2Rpcm5hbWUiLCJORVdfQ09NTUFORF9USU1FT1VUX01TIiwiT05fVU5FWFBFQ1RFRF9TSFVURE9XTl9FVkVOVCIsIkRyaXZlckNvcmUiLCJiYXNlVmVyc2lvbiIsImV4ZWN1dGVNZXRob2RNYXAiLCJzZXNzaW9uSWQiLCJvcHRzIiwiaW5pdGlhbE9wdHMiLCJjYXBzIiwib3JpZ2luYWxDYXBzIiwiaGVscGVycyIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJyZWxheGVkU2VjdXJpdHlFbmFibGVkIiwiYWxsb3dJbnNlY3VyZSIsImRlbnlJbnNlY3VyZSIsIm5ld0NvbW1hbmRUaW1lb3V0TXMiLCJpbXBsaWNpdFdhaXRNcyIsImxvY2F0b3JTdHJhdGVnaWVzIiwid2ViTG9jYXRvclN0cmF0ZWdpZXMiLCJtYW5hZ2VkRHJpdmVycyIsIm5vQ29tbWFuZFRpbWVyIiwiX2V2ZW50SGlzdG9yeSIsImNvbW1hbmRzIiwiZXZlbnRFbWl0dGVyIiwiRXZlbnRFbWl0dGVyIiwiX2xvZyIsInNodXRkb3duVW5leHBlY3RlZGx5Iiwic2hvdWxkVmFsaWRhdGVDYXBzIiwiY29tbWFuZHNRdWV1ZUd1YXJkIiwiQXN5bmNMb2NrIiwic2V0dGluZ3MiLCJEZXZpY2VTZXR0aW5ncyIsImNvbnN0cnVjdG9yIiwibG9nZ2VyIiwiZ2V0TG9nZ2VyIiwiZ2VuZXJhdGVEcml2ZXJMb2dQcmVmaXgiLCJ0bXBEaXIiLCJwcm9jZXNzIiwiZW52IiwiQVBQSVVNX1RNUF9ESVIiLCJvcyIsInRtcGRpciIsIl8iLCJjbG9uZURlZXAiLCJsb2ciLCJvblVuZXhwZWN0ZWRTaHV0ZG93biIsImhhbmRsZXIiLCJvbiIsImRyaXZlckRhdGEiLCJpc0NvbW1hbmRzUXVldWVFbmFibGVkIiwiZXZlbnRIaXN0b3J5IiwibG9nRXZlbnQiLCJldmVudE5hbWUiLCJFcnJvciIsInRzIiwiRGF0ZSIsIm5vdyIsImxvZ1RpbWUiLCJ0b1RpbWVTdHJpbmciLCJwdXNoIiwiZGVidWciLCJnZXRTdGF0dXMiLCJzZXNzaW9uRXhpc3RzIiwiZHJpdmVyRm9yU2Vzc2lvbiIsImlzTWpzb253cFByb3RvY29sIiwicHJvdG9jb2wiLCJQUk9UT0NPTFMiLCJNSlNPTldQIiwiaXNXM0NQcm90b2NvbCIsIlczQyIsInNldFByb3RvY29sTUpTT05XUCIsInNldFByb3RvY29sVzNDIiwiaXNGZWF0dXJlRW5hYmxlZCIsIm5hbWUiLCJpbmNsdWRlcyIsImVuc3VyZUZlYXR1cmVFbmFibGVkIiwiYXNzZXJ0RmVhdHVyZUVuYWJsZWQiLCJ2YWxpZGF0ZUxvY2F0b3JTdHJhdGVneSIsInN0cmF0ZWd5Iiwid2ViQ29udGV4dCIsInZhbGlkU3RyYXRlZ2llcyIsImpvaW4iLCJjb25jYXQiLCJlcnJvcnMiLCJJbnZhbGlkU2VsZWN0b3JFcnJvciIsInByb3h5QWN0aXZlIiwiZ2V0UHJveHlBdm9pZExpc3QiLCJjYW5Qcm94eSIsInByb3h5Um91dGVJc0F2b2lkZWQiLCJtZXRob2QiLCJ1cmwiLCJib2R5IiwiYXZvaWRTY2hlbWEiLCJpc0FycmF5IiwibGVuZ3RoIiwiYXZvaWRNZXRob2QiLCJhdm9pZFBhdGhSZWdleCIsImlzUmVnRXhwIiwibm9ybWFsaXplZFVybCIsInJlcGxhY2UiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJ0ZXN0IiwiYWRkTWFuYWdlZERyaXZlciIsImRyaXZlciIsImdldE1hbmFnZWREcml2ZXJzIiwiY2xlYXJOZXdDb21tYW5kVGltZW91dCIsImNsZWFyVGltZW91dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9iYXNlZHJpdmVyL2NvcmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlcXVpcmUtYXdhaXQgKi9cblxuaW1wb3J0IHtmcywgbG9nZ2VyfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IEFzeW5jTG9jayBmcm9tICdhc3luYy1sb2NrJztcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5pbXBvcnQge0RFRkFVTFRfQkFTRV9QQVRILCBQUk9UT0NPTFN9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge2Vycm9yc30gZnJvbSAnLi4vcHJvdG9jb2wnO1xuaW1wb3J0IERldmljZVNldHRpbmdzIGZyb20gJy4vZGV2aWNlLXNldHRpbmdzJztcbmltcG9ydCBoZWxwZXJzIGZyb20gJy4vaGVscGVycyc7XG5cbi8vIGZvciBjb21wYXQgd2l0aCBydW5uaW5nIHRlc3RzIHRyYW5zcGlsZWQgYW5kIGluLXBsYWNlXG5jb25zdCB7dmVyc2lvbjogQkFTRURSSVZFUl9WRVJ9ID0gZnMucmVhZFBhY2thZ2VKc29uRnJvbShfX2Rpcm5hbWUpO1xuXG5jb25zdCBORVdfQ09NTUFORF9USU1FT1VUX01TID0gNjAgKiAxMDAwO1xuXG5jb25zdCBPTl9VTkVYUEVDVEVEX1NIVVRET1dOX0VWRU5UID0gJ29uVW5leHBlY3RlZFNodXRkb3duJztcbi8qKlxuICogQGltcGxlbWVudHMge0NvcmV9XG4gKi9cbmNsYXNzIERyaXZlckNvcmUge1xuICAvKipcbiAgICogTWFrZSB0aGUgYmFzZWRyaXZlciB2ZXJzaW9uIGF2YWlsYWJsZSBzbyBmb3IgYW55IGRyaXZlciB3aGljaCBpbmhlcml0cyBmcm9tIHRoaXMgcGFja2FnZSwgd2VcbiAgICoga25vdyB3aGljaCB2ZXJzaW9uIG9mIGJhc2Vkcml2ZXIgaXQgaW5oZXJpdGVkIGZyb21cbiAgICovXG4gIHN0YXRpYyBiYXNlVmVyc2lvbiA9IEJBU0VEUklWRVJfVkVSO1xuXG4gIC8qKiBAdHlwZSB7RXhlY3V0ZU1ldGhvZE1hcH0gKi9cbiAgc3RhdGljIGV4ZWN1dGVNZXRob2RNYXAgPSB7fTtcblxuICAvKipcbiAgICogQHR5cGUge3N0cmluZz99XG4gICAqL1xuICBzZXNzaW9uSWQgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBAdHlwZSB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRHJpdmVyT3B0c31cbiAgICovXG4gIG9wdHM7XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtTZXJ2ZXJBcmdzfVxuICAgKi9cbiAgaW5pdGlhbE9wdHM7XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtDYXBhYmlsaXRpZXN9XG4gICAqL1xuICBjYXBzO1xuXG4gIC8qKlxuICAgKiBAdHlwZSB7VzNDQ2FwYWJpbGl0aWVzfVxuICAgKi9cbiAgb3JpZ2luYWxDYXBzO1xuXG4gIGhlbHBlcnMgPSBoZWxwZXJzO1xuXG4gIC8qKlxuICAgKiBiYXNlUGF0aCBpcyB1c2VkIGZvciBzZXZlcmFsIHB1cnBvc2VzLCBmb3IgZXhhbXBsZSBpbiBzZXR0aW5nIHVwXG4gICAqIHByb3h5aW5nIHRvIG90aGVyIGRyaXZlcnMsIHNpbmNlIHdlIG5lZWQgdG8ga25vdyB3aGF0IHRoZSBiYXNlIHBhdGhcbiAgICogb2YgYW55IGluY29taW5nIHJlcXVlc3QgbWlnaHQgbG9vayBsaWtlLiBXZSBzZXQgaXQgdG8gdGhlIGRlZmF1bHRcbiAgICogaW5pdGlhbGx5IGJ1dCBpdCBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIGFueSBhY3R1YWwgcHJvZ3JhbVxuICAgKiBleGVjdXRpb24gYnkgdGhlIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiwgd2hpY2ggaXMgbmVjZXNzYXJpbHkgcnVuIGFzXG4gICAqIHRoZSBlbnRyeXBvaW50IGZvciBhbnkgQXBwaXVtIHNlcnZlclxuICAgKi9cbiAgYmFzZVBhdGggPSBERUZBVUxUX0JBU0VfUEFUSDtcblxuICByZWxheGVkU2VjdXJpdHlFbmFibGVkID0gZmFsc2U7XG5cbiAgLyoqIEB0eXBlIHtzdHJpbmdbXX0gKi9cbiAgYWxsb3dJbnNlY3VyZSA9IFtdO1xuXG4gIC8qKiBAdHlwZSB7c3RyaW5nW119ICovXG4gIGRlbnlJbnNlY3VyZSA9IFtdO1xuXG4gIG5ld0NvbW1hbmRUaW1lb3V0TXMgPSBORVdfQ09NTUFORF9USU1FT1VUX01TO1xuXG4gIGltcGxpY2l0V2FpdE1zID0gMDtcblxuICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICBsb2NhdG9yU3RyYXRlZ2llcyA9IFtdO1xuXG4gIC8qKiBAdHlwZSB7c3RyaW5nW119ICovXG4gIHdlYkxvY2F0b3JTdHJhdGVnaWVzID0gW107XG5cbiAgLyoqIEB0eXBlIHtEcml2ZXJbXX0gKi9cbiAgbWFuYWdlZERyaXZlcnMgPSBbXTtcblxuICAvKiogQHR5cGUge05vZGVKUy5UaW1lb3V0P30gKi9cbiAgbm9Db21tYW5kVGltZXIgPSBudWxsO1xuXG4gIC8qKiBAdHlwZSB7RXZlbnRIaXN0b3J5fSAqL1xuICBfZXZlbnRIaXN0b3J5ID0ge2NvbW1hbmRzOiBbXX07XG5cbiAgLy8gdXNlZCB0byBoYW5kbGUgZHJpdmVyIGV2ZW50c1xuICAvKiogQHR5cGUge05vZGVKUy5FdmVudEVtaXR0ZXJ9ICovXG4gIGV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogQHR5cGUge0FwcGl1bUxvZ2dlcn1cbiAgICovXG4gIF9sb2c7XG5cbiAgLyoqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHNodXRkb3duVW5leHBlY3RlZGx5ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgc2hvdWxkVmFsaWRhdGVDYXBzO1xuXG4gIC8qKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBjb21tYW5kc1F1ZXVlR3VhcmQgPSBuZXcgQXN5bmNMb2NrKCk7XG5cbiAgLyoqXG4gICAqIHNldHRpbmdzIHNob3VsZCBiZSBpbnN0YW50aWF0ZWQgYnkgZHJpdmVycyB3aGljaCBleHRlbmQgQmFzZURyaXZlciwgYnV0XG4gICAqIHdlIHNldCBpdCB0byBhbiBlbXB0eSBEZXZpY2VTZXR0aW5ncyBpbnN0YW5jZSBoZXJlIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZVxuICAgKiBkZWZhdWx0IHNldHRpbmdzIGFyZSBhcHBsaWVkIGV2ZW4gaWYgYW4gZXh0ZW5kaW5nIGRyaXZlciBkb2Vzbid0IHV0aWxpemVcbiAgICogdGhlIHNldHRpbmdzIGZ1bmN0aW9uYWxpdHkgaXRzZWxmXG4gICAqL1xuICBzZXR0aW5ncyA9IG5ldyBEZXZpY2VTZXR0aW5ncygpO1xuXG4gIGNvbnN0cnVjdG9yKG9wdHMgPSAvKiogQHR5cGUge1NlcnZlckFyZ3N9ICovICh7fSksIHNob3VsZFZhbGlkYXRlQ2FwcyA9IHRydWUpIHtcbiAgICB0aGlzLl9sb2cgPSBsb2dnZXIuZ2V0TG9nZ2VyKGhlbHBlcnMuZ2VuZXJhdGVEcml2ZXJMb2dQcmVmaXgodGhpcykpO1xuXG4gICAgLy8gc2V0dXAgc3RhdGVcbiAgICB0aGlzLm9wdHMgPSBvcHRzO1xuXG4gICAgLy8gdXNlIGEgY3VzdG9tIHRtcCBkaXIgdG8gYXZvaWQgbG9zaW5nIGRhdGEgYW5kIGFwcCB3aGVuIGNvbXB1dGVyIGlzXG4gICAgLy8gcmVzdGFydGVkXG4gICAgdGhpcy5vcHRzLnRtcERpciA9IHRoaXMub3B0cy50bXBEaXIgfHwgcHJvY2Vzcy5lbnYuQVBQSVVNX1RNUF9ESVIgfHwgb3MudG1wZGlyKCk7XG5cbiAgICAvLyBiYXNlLWRyaXZlciBpbnRlcm5hbHNcbiAgICB0aGlzLnNob3VsZFZhbGlkYXRlQ2FwcyA9IHNob3VsZFZhbGlkYXRlQ2FwcztcblxuICAgIC8vIGtlZXBpbmcgdHJhY2sgb2YgaW5pdGlhbCBvcHRzXG4gICAgdGhpcy5pbml0aWFsT3B0cyA9IF8uY2xvbmVEZWVwKHRoaXMub3B0cyk7XG5cbiAgICB0aGlzLnNlc3Npb25JZCA9IG51bGw7XG4gIH1cblxuICBnZXQgbG9nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2c7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgY2FsbGJhY2sgaGFuZGxlciBpZiBuZWVkZWQgdG8gZXhlY3V0ZSBhIGN1c3RvbSBwaWVjZSBvZiBjb2RlXG4gICAqIHdoZW4gdGhlIGRyaXZlciBpcyBzaHV0IGRvd24gdW5leHBlY3RlZGx5LiBNdWx0aXBsZSBjYWxscyB0byB0aGlzIG1ldGhvZFxuICAgKiB3aWxsIGNhdXNlIHRoZSBoYW5kbGVyIHRvIGJlIGV4ZWN1dGVkIG11dGlwbGUgdGltZXNcbiAgICpcbiAgICogQHBhcmFtIHsoLi4uYXJnczogYW55W10pID0+IHZvaWR9IGhhbmRsZXIgVGhlIGNvZGUgdG8gYmUgZXhlY3V0ZWQgb24gdW5leHBlY3RlZCBzaHV0ZG93bi5cbiAgICogVGhlIGZ1bmN0aW9uIG1heSBhY2NlcHQgb25lIGFyZ3VtZW50LCB3aGljaCBpcyB0aGUgYWN0dWFsIGVycm9yIGluc3RhbmNlLCB3aGljaFxuICAgKiBjYXVzZWQgdGhlIGRyaXZlciB0byBzaHV0IGRvd24uXG4gICAqL1xuICBvblVuZXhwZWN0ZWRTaHV0ZG93bihoYW5kbGVyKSB7XG4gICAgdGhpcy5ldmVudEVtaXR0ZXIub24oT05fVU5FWFBFQ1RFRF9TSFVURE9XTl9FVkVOVCwgaGFuZGxlcik7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIGJ5IEFwcGl1bURyaXZlciB0byBzdG9yZSB0aGUgZGF0YSBvZiB0aGVcbiAgICogc3BlY2lmaWMgZHJpdmVyIHNlc3Npb25zLiBUaGlzIGRhdGEgY2FuIGJlIGxhdGVyIHVzZWQgdG8gYWRqdXN0XG4gICAqIHByb3BlcnRpZXMgZm9yIGRyaXZlciBpbnN0YW5jZXMgcnVubmluZyBpbiBwYXJhbGxlbC5cbiAgICogT3ZlcnJpZGUgaXQgaW4gaW5oZXJpdGVkIGRyaXZlciBjbGFzc2VzIGlmIG5lY2Vzc2FyeS5cbiAgICpcbiAgICogQHJldHVybiB7UmVjb3JkPHN0cmluZyx1bmtub3duPn0gRHJpdmVyIHByb3BlcnRpZXMgbWFwcGluZ1xuICAgKi9cbiAgZ2V0IGRyaXZlckRhdGEoKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgY29udHJvbHMgdGhlIHdheSB7I2V4ZWN1dGVDb21tYW5kfSBtZXRob2RcbiAgICogaGFuZGxlcyBuZXcgZHJpdmVyIGNvbW1hbmRzIHJlY2VpdmVkIGZyb20gdGhlIGNsaWVudC5cbiAgICogT3ZlcnJpZGUgaXQgZm9yIGluaGVyaXRlZCBjbGFzc2VzIG9ubHkgaW4gc3BlY2lhbCBjYXNlcy5cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gSWYgdGhlIHJldHVybmVkIHZhbHVlIGlzIHRydWUgKGRlZmF1bHQpIHRoZW4gYWxsIHRoZSBjb21tYW5kc1xuICAgKiAgIHJlY2VpdmVkIGJ5IHRoZSBwYXJ0aWN1bGFyIGRyaXZlciBpbnN0YW5jZSBhcmUgZ29pbmcgdG8gYmUgcHV0IGludG8gdGhlIHF1ZXVlLFxuICAgKiAgIHNvIGVhY2ggZm9sbG93aW5nIGNvbW1hbmQgd2lsbCBub3QgYmUgZXhlY3V0ZWQgdW50aWwgdGhlIHByZXZpb3VzIGNvbW1hbmRcbiAgICogICBleGVjdXRpb24gaXMgY29tcGxldGVkLiBGYWxzZSB2YWx1ZSBkaXNhYmxlcyB0aGF0IHF1ZXVlLCBzbyBlYWNoIGRyaXZlciBjb21tYW5kXG4gICAqICAgaXMgZXhlY3V0ZWQgaW5kZXBlbmRlbnRseSBhbmQgZG9lcyBub3Qgd2FpdCBmb3IgYW55dGhpbmcuXG4gICAqL1xuICBnZXQgaXNDb21tYW5kc1F1ZXVlRW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qXG4gICAqIG1ha2UgZXZlbnRIaXN0b3J5IGEgcHJvcGVydHkgYW5kIHJldHVybiBhIGNsb25lZCBvYmplY3Qgc28gYSBjb25zdW1lciBjYW4ndFxuICAgKiBpbmFkdmVydGVudGx5IGNoYW5nZSBkYXRhIG91dHNpZGUgb2YgbG9nRXZlbnRcbiAgICovXG4gIGdldCBldmVudEhpc3RvcnkoKSB7XG4gICAgcmV0dXJuIF8uY2xvbmVEZWVwKHRoaXMuX2V2ZW50SGlzdG9yeSk7XG4gIH1cblxuICAvKipcbiAgICogQVBJIG1ldGhvZCBmb3IgZHJpdmVyIGRldmVsb3BlcnMgdG8gbG9nIHRpbWluZ3MgZm9yIGltcG9ydGFudCBldmVudHNcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICAgKi9cbiAgbG9nRXZlbnQoZXZlbnROYW1lKSB7XG4gICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2NvbW1hbmRzJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgbG9nIGNvbW1hbmRzIGRpcmVjdGx5Jyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZXZlbnROYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV2ZW50TmFtZSAke2V2ZW50TmFtZX1gKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9ldmVudEhpc3RvcnlbZXZlbnROYW1lXSkge1xuICAgICAgdGhpcy5fZXZlbnRIaXN0b3J5W2V2ZW50TmFtZV0gPSBbXTtcbiAgICB9XG4gICAgY29uc3QgdHMgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IGxvZ1RpbWUgPSBuZXcgRGF0ZSh0cykudG9UaW1lU3RyaW5nKCk7XG4gICAgdGhpcy5fZXZlbnRIaXN0b3J5W2V2ZW50TmFtZV0ucHVzaCh0cyk7XG4gICAgdGhpcy5sb2cuZGVidWcoYEV2ZW50ICcke2V2ZW50TmFtZX0nIGxvZ2dlZCBhdCAke3RzfSAoJHtsb2dUaW1lfSlgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZGVuIGluIGFwcGl1bSBkcml2ZXIsIGJ1dCBoZXJlIHNvIHRoYXQgaW5kaXZpZHVhbCBkcml2ZXJzIGNhbiBiZVxuICAgKiB0ZXN0ZWQgd2l0aCBjbGllbnRzIHRoYXQgcG9sbFxuICAgKi9cbiAgYXN5bmMgZ2V0U3RhdHVzKCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtZXRob2QgcmVxdWlyZWQgYnkgTUpTT05XUCBpbiBvcmRlciB0byBkZXRlcm1pbmUgd2hldGhlciBpdCBzaG91bGRcbiAgICogcmVzcG9uZCB3aXRoIGFuIGludmFsaWQgc2Vzc2lvbiByZXNwb25zZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3Nlc3Npb25JZF1cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBzZXNzaW9uRXhpc3RzKHNlc3Npb25JZCkge1xuICAgIGlmICghc2Vzc2lvbklkKSByZXR1cm4gZmFsc2U7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICByZXR1cm4gc2Vzc2lvbklkID09PSB0aGlzLnNlc3Npb25JZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBtZXRob2QgcmVxdWlyZWQgYnkgTUpTT05XUCBpbiBvcmRlciB0byBkZXRlcm1pbmUgaWYgdGhlIGNvbW1hbmQgc2hvdWxkXG4gICAqIGJlIHByb3hpZWQgZGlyZWN0bHkgdG8gdGhlIGRyaXZlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2Vzc2lvbklkXG4gICAqIEByZXR1cm5zIHtDb3JlIHwgbnVsbH1cbiAgICovXG4gIGRyaXZlckZvclNlc3Npb24oc2Vzc2lvbklkKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBpc01qc29ud3BQcm90b2NvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm90b2NvbCA9PT0gUFJPVE9DT0xTLk1KU09OV1A7XG4gIH1cblxuICBpc1czQ1Byb3RvY29sKCkge1xuICAgIHJldHVybiB0aGlzLnByb3RvY29sID09PSBQUk9UT0NPTFMuVzNDO1xuICB9XG5cbiAgc2V0UHJvdG9jb2xNSlNPTldQKCkge1xuICAgIHRoaXMucHJvdG9jb2wgPSBQUk9UT0NPTFMuTUpTT05XUDtcbiAgfVxuXG4gIHNldFByb3RvY29sVzNDKCkge1xuICAgIHRoaXMucHJvdG9jb2wgPSBQUk9UT0NPTFMuVzNDO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgYSBnaXZlbiBmZWF0dXJlIGlzIGVuYWJsZWQgdmlhIGl0cyBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gbmFtZSBvZiBmZWF0dXJlL2NvbW1hbmRcbiAgICpcbiAgICogQHJldHVybnMge0Jvb2xlYW59XG4gICAqL1xuICBpc0ZlYXR1cmVFbmFibGVkKG5hbWUpIHtcbiAgICAvLyBpZiB3ZSBoYXZlIGV4cGxpY2l0bHkgZGVuaWVkIHRoaXMgZmVhdHVyZSwgcmV0dXJuIGZhbHNlIGltbWVkaWF0ZWx5XG4gICAgaWYgKHRoaXMuZGVueUluc2VjdXJlICYmIF8uaW5jbHVkZXModGhpcy5kZW55SW5zZWN1cmUsIG5hbWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gaWYgd2Ugc3BlY2lmaWNhbGx5IGhhdmUgYWxsb3dlZCB0aGUgZmVhdHVyZSwgcmV0dXJuIHRydWVcbiAgICBpZiAodGhpcy5hbGxvd0luc2VjdXJlICYmIF8uaW5jbHVkZXModGhpcy5hbGxvd0luc2VjdXJlLCBuYW1lKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gb3RoZXJ3aXNlLCBpZiB3ZSd2ZSBnbG9iYWxseSBhbGxvd2VkIGluc2VjdXJlIGZlYXR1cmVzIGFuZCBub3QgZGVuaWVkXG4gICAgLy8gdGhpcyBvbmUsIHJldHVybiB0cnVlXG4gICAgaWYgKHRoaXMucmVsYXhlZFNlY3VyaXR5RW5hYmxlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgaGF2ZW4ndCBhbGxvd2VkIGFueXRoaW5nIGluc2VjdXJlLCB0aGVuIHJlamVjdFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NlcnQgdGhhdCBhIGdpdmVuIGZlYXR1cmUgaXMgZW5hYmxlZCBhbmQgdGhyb3cgYSBoZWxwZnVsIGVycm9yIGlmIGl0J3NcbiAgICogbm90XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gbmFtZSBvZiBmZWF0dXJlL2NvbW1hbmRcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGVuc3VyZUZlYXR1cmVFbmFibGVkKG5hbWUpIHtcbiAgICB0aGlzLmFzc2VydEZlYXR1cmVFbmFibGVkKG5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc2VydCB0aGF0IGEgZ2l2ZW4gZmVhdHVyZSBpcyBlbmFibGVkIGFuZCB0aHJvdyBhIGhlbHBmdWwgZXJyb3IgaWYgaXQnc1xuICAgKiBub3RcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBuYW1lIG9mIGZlYXR1cmUvY29tbWFuZFxuICAgKi9cbiAgYXNzZXJ0RmVhdHVyZUVuYWJsZWQobmFtZSkge1xuICAgIGlmICghdGhpcy5pc0ZlYXR1cmVFbmFibGVkKG5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQb3RlbnRpYWxseSBpbnNlY3VyZSBmZWF0dXJlICcke25hbWV9JyBoYXMgbm90IGJlZW4gYCArXG4gICAgICAgICAgYGVuYWJsZWQuIElmIHlvdSB3YW50IHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUgYW5kIGFjY2VwdCBgICtcbiAgICAgICAgICBgdGhlIHNlY3VyaXR5IHJhbWlmaWNhdGlvbnMsIHBsZWFzZSBkbyBzbyBieSBmb2xsb3dpbmcgYCArXG4gICAgICAgICAgYHRoZSBkb2N1bWVudGVkIGluc3RydWN0aW9ucyBhdCBodHRwczovL2dpdGh1Yi5jb20vYXBwaXVtYCArXG4gICAgICAgICAgYC9hcHBpdW0vYmxvYi9tYXN0ZXIvZG9jcy9lbi93cml0aW5nLXJ1bm5pbmctYXBwaXVtL3NlY3VyaXR5Lm1kYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmF0ZWd5XG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3dlYkNvbnRleHRdXG4gICAqL1xuICB2YWxpZGF0ZUxvY2F0b3JTdHJhdGVneShzdHJhdGVneSwgd2ViQ29udGV4dCA9IGZhbHNlKSB7XG4gICAgbGV0IHZhbGlkU3RyYXRlZ2llcyA9IHRoaXMubG9jYXRvclN0cmF0ZWdpZXM7XG4gICAgdGhpcy5sb2cuZGVidWcoYFZhbGlkIGxvY2F0b3Igc3RyYXRlZ2llcyBmb3IgdGhpcyByZXF1ZXN0OiAke3ZhbGlkU3RyYXRlZ2llcy5qb2luKCcsICcpfWApO1xuXG4gICAgaWYgKHdlYkNvbnRleHQpIHtcbiAgICAgIHZhbGlkU3RyYXRlZ2llcyA9IHZhbGlkU3RyYXRlZ2llcy5jb25jYXQodGhpcy53ZWJMb2NhdG9yU3RyYXRlZ2llcyk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmluY2x1ZGVzKHZhbGlkU3RyYXRlZ2llcywgc3RyYXRlZ3kpKSB7XG4gICAgICB0aHJvdyBuZXcgZXJyb3JzLkludmFsaWRTZWxlY3RvckVycm9yKFxuICAgICAgICBgTG9jYXRvciBTdHJhdGVneSAnJHtzdHJhdGVneX0nIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgc2Vzc2lvbmBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbc2Vzc2lvbklkXVxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIHByb3h5QWN0aXZlKHNlc3Npb25JZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2Vzc2lvbklkXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Sb3V0ZU1hdGNoZXJbXX1cbiAgICovXG4gIGdldFByb3h5QXZvaWRMaXN0KHNlc3Npb25JZCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3Nlc3Npb25JZF1cbiAgICogQHJldHVybnMge2Jvb2xlYW59XG4gICAqL1xuICBjYW5Qcm94eShzZXNzaW9uSWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBhIGdpdmVuIGNvbW1hbmQgcm91dGUgKGV4cHJlc3NlZCBhcyBtZXRob2QgYW5kIHVybCkgc2hvdWxkIG5vdCBiZVxuICAgKiBwcm94aWVkIGFjY29yZGluZyB0byB0aGlzIGRyaXZlclxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2Vzc2lvbklkIC0gdGhlIGN1cnJlbnQgc2Vzc2lvbklkIChpbiBjYXNlIHRoZSBkcml2ZXIgcnVuc1xuICAgKiBtdWx0aXBsZSBzZXNzaW9uIGlkcyBhbmQgcmVxdWlyZXMgaXQpLiBUaGlzIGlzIG5vdCB1c2VkIGluIHRoaXMgbWV0aG9kIGJ1dFxuICAgKiBzaG91bGQgYmUgbWFkZSBhdmFpbGFibGUgdG8gb3ZlcnJpZGRlbiBtZXRob2RzLlxuICAgKiBAcGFyYW0ge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkhUVFBNZXRob2R9IG1ldGhvZCAtIEhUVFAgbWV0aG9kIG9mIHRoZSByb3V0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gdXJsIG9mIHRoZSByb3V0ZVxuICAgKiBAcGFyYW0ge2FueX0gW2JvZHldIC0gd2ViZHJpdmVyIHJlcXVlc3QgYm9keVxuICAgKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSB3aGV0aGVyIHRoZSByb3V0ZSBzaG91bGQgYmUgYXZvaWRlZFxuICAgKi9cbiAgcHJveHlSb3V0ZUlzQXZvaWRlZChzZXNzaW9uSWQsIG1ldGhvZCwgdXJsLCBib2R5KSB7XG4gICAgZm9yIChsZXQgYXZvaWRTY2hlbWEgb2YgdGhpcy5nZXRQcm94eUF2b2lkTGlzdChzZXNzaW9uSWQpKSB7XG4gICAgICBpZiAoIV8uaXNBcnJheShhdm9pZFNjaGVtYSkgfHwgYXZvaWRTY2hlbWEubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUHJveHkgYXZvaWRhbmNlIG11c3QgYmUgYSBsaXN0IG9mIHBhaXJzJyk7XG4gICAgICB9XG4gICAgICBsZXQgW2F2b2lkTWV0aG9kLCBhdm9pZFBhdGhSZWdleF0gPSBhdm9pZFNjaGVtYTtcbiAgICAgIGlmICghXy5pbmNsdWRlcyhbJ0dFVCcsICdQT1NUJywgJ0RFTEVURSddLCBhdm9pZE1ldGhvZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgcHJveHkgYXZvaWRhbmNlIG1ldGhvZCAnJHthdm9pZE1ldGhvZH0nYCk7XG4gICAgICB9XG4gICAgICBpZiAoIV8uaXNSZWdFeHAoYXZvaWRQYXRoUmVnZXgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUHJveHkgYXZvaWRhbmNlIHBhdGggbXVzdCBiZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbicpO1xuICAgICAgfVxuICAgICAgbGV0IG5vcm1hbGl6ZWRVcmwgPSB1cmwucmVwbGFjZShuZXcgUmVnRXhwKGBeJHtfLmVzY2FwZVJlZ0V4cCh0aGlzLmJhc2VQYXRoKX1gKSwgJycpO1xuICAgICAgaWYgKGF2b2lkTWV0aG9kID09PSBtZXRob2QgJiYgYXZvaWRQYXRoUmVnZXgudGVzdChub3JtYWxpemVkVXJsKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSB7RHJpdmVyfSBkcml2ZXJcbiAgICovXG4gIGFkZE1hbmFnZWREcml2ZXIoZHJpdmVyKSB7XG4gICAgdGhpcy5tYW5hZ2VkRHJpdmVycy5wdXNoKGRyaXZlcik7XG4gIH1cblxuICBnZXRNYW5hZ2VkRHJpdmVycygpIHtcbiAgICByZXR1cm4gdGhpcy5tYW5hZ2VkRHJpdmVycztcbiAgfVxuXG4gIGFzeW5jIGNsZWFyTmV3Q29tbWFuZFRpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMubm9Db21tYW5kVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLm5vQ29tbWFuZFRpbWVyKTtcbiAgICAgIHRoaXMubm9Db21tYW5kVGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQge0RyaXZlckNvcmV9O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5DYXBhYmlsaXRpZXN9IENhcGFiaWxpdGllc1xuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLlczQ0NhcGFiaWxpdGllc30gVzNDQ2FwYWJpbGl0aWVzXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRHJpdmVyfSBEcml2ZXJcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5Db3JlfSBDb3JlXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuRXhlY3V0ZU1ldGhvZE1hcH0gRXhlY3V0ZU1ldGhvZE1hcFxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLlNlcnZlckFyZ3N9IFNlcnZlckFyZ3NcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5FdmVudEhpc3Rvcnl9IEV2ZW50SGlzdG9yeVxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkFwcGl1bUxvZ2dlcn0gQXBwaXVtTG9nZ2VyXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNO0VBQUNBLE9BQU8sRUFBRUM7QUFBVixJQUE0QkMsV0FBQSxDQUFHQyxtQkFBSCxDQUF1QkMsU0FBdkIsQ0FBbEM7O0FBRUEsTUFBTUMsc0JBQXNCLEdBQUcsS0FBSyxJQUFwQztBQUVBLE1BQU1DLDRCQUE0QixHQUFHLHNCQUFyQzs7QUFJQSxNQUFNQyxVQUFOLENBQWlCO0VBS0csT0FBWEMsV0FBVyxHQUFHUCxjQUFIO0VBR0ssT0FBaEJRLGdCQUFnQixHQUFHLEVBQUg7RUFLdkJDLFNBQVMsR0FBRyxJQUFIO0VBS1RDLElBQUk7RUFLSkMsV0FBVztFQUtYQyxJQUFJO0VBS0pDLFlBQVk7RUFFWkMsT0FBTyxHQUFHQSxnQkFBSDtFQVVQQyxRQUFRLEdBQUdDLDRCQUFIO0VBRVJDLHNCQUFzQixHQUFHLEtBQUg7RUFHdEJDLGFBQWEsR0FBRyxFQUFIO0VBR2JDLFlBQVksR0FBRyxFQUFIO0VBRVpDLG1CQUFtQixHQUFH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
|
|
@@ -45,6 +45,7 @@ export type ConfigureHttpOpts = {
|
|
|
45
45
|
export type ServerOpts = {
|
|
46
46
|
routeConfiguringFunction: RouteConfiguringFunction;
|
|
47
47
|
port: number;
|
|
48
|
+
cliArgs: import('@appium/types').ServerArgs;
|
|
48
49
|
hostname?: string | undefined;
|
|
49
50
|
allowCors?: boolean | undefined;
|
|
50
51
|
basePath?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/express/server.js"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/express/server.js"],"names":[],"mappings":";;;;;;;gBA8Qc,OAAO,MAAM,EAAE,MAAM;;;;UACrB,MAAM;;;;sBACN,MAAM;;;;;;2BAKP,OAAO,eAAe,EAAE,YAAY;iCACpC,OAAO,eAAe,EAAE,kBAAkB;wBAC1C,OAAO,eAAe,EAAE,SAAS;;;;;;;;gBAMhC,OAAO,MAAM,EAAE,MAAM;;;;qBACZ,GAAG,KAAK,IAAI;;;;sBACrB,MAAM;;;;;;8BAMN,wBAAwB;UACxB,MAAM;aACN,OAAO,eAAe,EAAE,UAAU;;;;;;;;;;;6CAYrC,OAAO,SAAS,EAAE,OAAO,sDAEvB,IAAI;;;;;;;;;;;;SAaH,OAAO,SAAS,EAAE,OAAO;eACzB,wBAAwB;;;;;AAnStC;;;;GAIG;AACH,6BAHW,UAAU,GACR,QAAQ,YAAY,CAAC,CAsDjC;AAED;;;GAGG;AACH,0FAFW,mBAAmB,QA+C7B;AAsGD;;;;GAIG;AACH,4CAHW,MAAM,GACJ,MAAM,CAkBlB"}
|
|
@@ -50,6 +50,7 @@ async function server(opts) {
|
|
|
50
50
|
routeConfiguringFunction,
|
|
51
51
|
port,
|
|
52
52
|
hostname,
|
|
53
|
+
cliArgs,
|
|
53
54
|
allowCors = true,
|
|
54
55
|
basePath = _constants.DEFAULT_BASE_PATH,
|
|
55
56
|
extraMethodMap = {},
|
|
@@ -76,7 +77,7 @@ async function server(opts) {
|
|
|
76
77
|
});
|
|
77
78
|
|
|
78
79
|
for (const updater of serverUpdaters) {
|
|
79
|
-
await updater(app, appiumServer);
|
|
80
|
+
await updater(app, appiumServer, cliArgs);
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
app.all('*', _middleware.catch404Handler);
|
|
@@ -231,4 +232,4 @@ function normalizeBasePath(basePath) {
|
|
|
231
232
|
|
|
232
233
|
return basePath;
|
|
233
234
|
}
|
|
234
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJLRUVQX0FMSVZFX1RJTUVPVVRfTVMiLCJzZXJ2ZXIiLCJvcHRzIiwicm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIiwicG9ydCIsImhvc3RuYW1lIiwiYWxsb3dDb3JzIiwiYmFzZVBhdGgiLCJERUZBVUxUX0JBU0VfUEFUSCIsImV4dHJhTWV0aG9kTWFwIiwic2VydmVyVXBkYXRlcnMiLCJrZWVwQWxpdmVUaW1lb3V0IiwiYXBwIiwiZXhwcmVzcyIsImh0dHBTZXJ2ZXIiLCJodHRwIiwiY3JlYXRlU2VydmVyIiwiQiIsInJlc29sdmUiLCJyZWplY3QiLCJhcHBpdW1TZXJ2ZXIiLCJjb25maWd1cmVIdHRwIiwiY29uZmlndXJlU2VydmVyIiwiYWRkUm91dGVzIiwidXBkYXRlciIsImFsbCIsImNhdGNoNDA0SGFuZGxlciIsInN0YXJ0U2VydmVyIiwiZXJyIiwibm9ybWFsaXplQmFzZVBhdGgiLCJ1c2UiLCJlbmRMb2dGb3JtYXR0ZXIiLCJmYXZpY29uIiwicGF0aCIsIlNUQVRJQ19ESVIiLCJzdGF0aWMiLCJwcm9kdWNlRXJyb3IiLCJwcm9kdWNlQ3Jhc2giLCJhbGxvd0Nyb3NzRG9tYWluIiwiYWxsb3dDcm9zc0RvbWFpbkFzeW5jRXhlY3V0ZSIsImhhbmRsZUlkZW1wb3RlbmN5IiwiZml4UHl0aG9uQ29udGVudFR5cGUiLCJkZWZhdWx0VG9KU09OQ29udGVudFR5cGUiLCJib2R5UGFyc2VyIiwidXJsZW5jb2RlZCIsImV4dGVuZGVkIiwibWV0aG9kT3ZlcnJpZGUiLCJjYXRjaEFsbEhhbmRsZXIiLCJqc29uIiwibGltaXQiLCJzdGFydExvZ0Zvcm1hdHRlciIsIndlbGNvbWUiLCJndWluZWFQaWciLCJndWluZWFQaWdTY3JvbGxhYmxlIiwiZ3VpbmVhUGlnQXBwQmFubmVyIiwic2VydmVyU3RhdGUiLCJub3RpZmllciIsIkV2ZW50RW1pdHRlciIsImNsb3NlZCIsImFkZFdlYlNvY2tldEhhbmRsZXIiLCJyZW1vdmVXZWJTb2NrZXRIYW5kbGVyIiwicmVtb3ZlQWxsV2ViU29ja2V0SGFuZGxlcnMiLCJnZXRXZWJTb2NrZXRIYW5kbGVycyIsImNsb3NlIiwiYmluZCIsImVtaXQiLCJsb2ciLCJpbmZvIiwib24iLCJjb2RlIiwiZXJyb3IiLCJzb2NrZXQiLCJzZXRUaW1lb3V0IiwiZGVzdHJveSIsIl9vcGVuUmVxQ291bnQiLCJvbmNlIiwicmVtb3ZlTGlzdGVuZXIiLCJyZXEiLCJyZXMiLCJjb25uZWN0aW9uIiwic3RhcnQiLCJwcm9taXNpZnkiLCJsaXN0ZW4iLCJjb250ZXh0Iiwic3RhcnRQcm9taXNlIiwiaGVhZGVyc1RpbWVvdXQiLCJfIiwiaXNTdHJpbmciLCJFcnJvciIsInJlcGxhY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZXhwcmVzcy9zZXJ2ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IGV4cHJlc3MgZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgaHR0cCBmcm9tICdodHRwJztcbmltcG9ydCBmYXZpY29uIGZyb20gJ3NlcnZlLWZhdmljb24nO1xuaW1wb3J0IGJvZHlQYXJzZXIgZnJvbSAnYm9keS1wYXJzZXInO1xuaW1wb3J0IG1ldGhvZE92ZXJyaWRlIGZyb20gJ21ldGhvZC1vdmVycmlkZSc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7c3RhcnRMb2dGb3JtYXR0ZXIsIGVuZExvZ0Zvcm1hdHRlcn0gZnJvbSAnLi9leHByZXNzLWxvZ2dpbmcnO1xuaW1wb3J0IHtcbiAgYWxsb3dDcm9zc0RvbWFpbixcbiAgZml4UHl0aG9uQ29udGVudFR5cGUsXG4gIGRlZmF1bHRUb0pTT05Db250ZW50VHlwZSxcbiAgY2F0Y2hBbGxIYW5kbGVyLFxuICBhbGxvd0Nyb3NzRG9tYWluQXN5bmNFeGVjdXRlLFxuICBoYW5kbGVJZGVtcG90ZW5jeSxcbiAgY2F0Y2g0MDRIYW5kbGVyLFxufSBmcm9tICcuL21pZGRsZXdhcmUnO1xuaW1wb3J0IHtndWluZWFQaWcsIGd1aW5lYVBpZ1Njcm9sbGFibGUsIGd1aW5lYVBpZ0FwcEJhbm5lciwgd2VsY29tZSwgU1RBVElDX0RJUn0gZnJvbSAnLi9zdGF0aWMnO1xuaW1wb3J0IHtwcm9kdWNlRXJyb3IsIHByb2R1Y2VDcmFzaH0gZnJvbSAnLi9jcmFzaCc7XG5pbXBvcnQge1xuICBhZGRXZWJTb2NrZXRIYW5kbGVyLFxuICByZW1vdmVXZWJTb2NrZXRIYW5kbGVyLFxuICByZW1vdmVBbGxXZWJTb2NrZXRIYW5kbGVycyxcbiAgZ2V0V2ViU29ja2V0SGFuZGxlcnMsXG59IGZyb20gJy4vd2Vic29ja2V0JztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcbmltcG9ydCB7REVGQVVMVF9CQVNFX1BBVEh9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSAnZXZlbnRzJztcblxuY29uc3QgS0VFUF9BTElWRV9USU1FT1VUX01TID0gMTAgKiA2MCAqIDEwMDA7IC8vIDEwIG1pbnV0ZXNcblxuLyoqXG4gKlxuICogQHBhcmFtIHtTZXJ2ZXJPcHRzfSBvcHRzXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxBcHBpdW1TZXJ2ZXI+fVxuICovXG5hc3luYyBmdW5jdGlvbiBzZXJ2ZXIob3B0cykge1xuICBjb25zdCB7XG4gICAgcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uLFxuICAgIHBvcnQsXG4gICAgaG9zdG5hbWUsXG4gICAgYWxsb3dDb3JzID0gdHJ1ZSxcbiAgICBiYXNlUGF0aCA9IERFRkFVTFRfQkFTRV9QQVRILFxuICAgIGV4dHJhTWV0aG9kTWFwID0ge30sXG4gICAgc2VydmVyVXBkYXRlcnMgPSBbXSxcbiAgICBrZWVwQWxpdmVUaW1lb3V0ID0gS0VFUF9BTElWRV9USU1FT1VUX01TLFxuICB9ID0gb3B0cztcblxuICAvLyBjcmVhdGUgdGhlIGFjdHVhbCBodHRwIHNlcnZlclxuICBjb25zdCBhcHAgPSBleHByZXNzKCk7XG4gIGNvbnN0IGh0dHBTZXJ2ZXIgPSBodHRwLmNyZWF0ZVNlcnZlcihhcHApO1xuICByZXR1cm4gYXdhaXQgbmV3IEIoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIC8vIHdlIHB1dCBhbiBhc3luYyBmdW5jdGlvbiBhcyB0aGUgcHJvbWlzZSBjb25zdHJ1Y3RvciBiZWNhdXNlIHdlIHdhbnQgc29tZSB0aGluZ3MgdG8gaGFwcGVuIGluXG4gICAgLy8gc2VyaWFsIChhcHBsaWNhdGlvbiBvZiBwbHVnaW4gdXBkYXRlcywgZm9yIGV4YW1wbGUpLiBCdXQgd2Ugc3RpbGwgbmVlZCB0byB1c2UgYSBwcm9taXNlIGhlcmVcbiAgICAvLyBiZWNhdXNlIHNvbWUgZWxlbWVudHMgb2Ygc2VydmVyIHN0YXJ0IGZhaWx1cmUgb25seSBoYXBwZW4gaW4gaHR0cFNlcnZlciBsaXN0ZW5lcnMuIFNvIHRoZVxuICAgIC8vIHdheSB3ZSByZXNvbHZlIGl0IGlzIHRvIHVzZSBhbiBhc3luYyBmdW5jdGlvbiBoZXJlIGJ1dCB0byB3cmFwIGFsbCB0aGUgaW5uZXIgbG9naWMgaW5cbiAgICAvLyB0cnkvY2F0Y2ggc28gYW55IGVycm9ycyBjYW4gYmUgcGFzc2VkIHRvIHJlamVjdC5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYXBwaXVtU2VydmVyID0gY29uZmlndXJlSHR0cCh7XG4gICAgICAgIGh0dHBTZXJ2ZXIsXG4gICAgICAgIHJlamVjdCxcbiAgICAgICAga2VlcEFsaXZlVGltZW91dCxcbiAgICAgIH0pO1xuICAgICAgY29uZmlndXJlU2VydmVyKHtcbiAgICAgICAgYXBwLFxuICAgICAgICBhZGRSb3V0ZXM6IHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbixcbiAgICAgICAgYWxsb3dDb3JzLFxuICAgICAgICBiYXNlUGF0aCxcbiAgICAgICAgZXh0cmFNZXRob2RNYXAsXG4gICAgICB9KTtcbiAgICAgIC8vIGFsbG93IGV4dGVuc2lvbnMgdG8gdXBkYXRlIHRoZSBhcHAgYW5kIGh0dHAgc2VydmVyIG9iamVjdHNcbiAgICAgIGZvciAoY29uc3QgdXBkYXRlciBvZiBzZXJ2ZXJVcGRhdGVycykge1xuICAgICAgICBhd2FpdCB1cGRhdGVyKGFwcCwgYXBwaXVtU2VydmVyKTtcbiAgICAgIH1cblxuICAgICAgLy8gb25jZSBhbGwgY29uZmlndXJhdGlvbnMgYW5kIHVwZGF0ZXJzIGhhdmUgYmVlbiBhcHBsaWVkLCBtYWtlIHN1cmUgdG8gc2V0IHVwIGEgY2F0Y2hhbGxcbiAgICAgIC8vIGhhbmRsZXIgc28gdGhhdCBhbnl0aGluZyB1bmtub3duIDQwNHMuIEJ1dCBkbyB0aGlzIGFmdGVyIGV2ZXJ5dGhpbmcgZWxzZSBzaW5jZSB3ZSBkb24ndFxuICAgICAgLy8gd2FudCB0byBibG9jayBleHRlbnNpb25zJyBhYmlsaXR5IHRvIGFkZCByb3V0ZXMgaWYgdGhleSB3YW50LlxuICAgICAgYXBwLmFsbCgnKicsIGNhdGNoNDA0SGFuZGxlcik7XG5cbiAgICAgIGF3YWl0IHN0YXJ0U2VydmVyKHtodHRwU2VydmVyLCBob3N0bmFtZSwgcG9ydCwga2VlcEFsaXZlVGltZW91dH0pO1xuXG4gICAgICByZXNvbHZlKGFwcGl1bVNlcnZlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZWplY3QoZXJyKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFNldHMgdXAgc29tZSBFeHByZXNzIG1pZGRsZXdhcmUgYW5kIHN0dWZmXG4gKiBAcGFyYW0ge0NvbmZpZ3VyZVNlcnZlck9wdHN9IG9wdHNcbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlU2VydmVyKHtcbiAgYXBwLFxuICBhZGRSb3V0ZXMsXG4gIGFsbG93Q29ycyA9IHRydWUsXG4gIGJhc2VQYXRoID0gREVGQVVMVF9CQVNFX1BBVEgsXG4gIGV4dHJhTWV0aG9kTWFwID0ge30sXG59KSB7XG4gIGJhc2VQYXRoID0gbm9ybWFsaXplQmFzZVBhdGgoYmFzZVBhdGgpO1xuXG4gIGFwcC51c2UoZW5kTG9nRm9ybWF0dGVyKTtcblxuICAvLyBzZXQgdXAgc3RhdGljIGFzc2V0c1xuICBhcHAudXNlKGZhdmljb24ocGF0aC5yZXNvbHZlKFNUQVRJQ19ESVIsICdmYXZpY29uLmljbycpKSk7XG4gIGFwcC51c2UoZXhwcmVzcy5zdGF0aWMoU1RBVElDX0RJUikpO1xuXG4gIC8vIGNyYXNoIHJvdXRlcywgZm9yIHRlc3RpbmdcbiAgYXBwLnVzZShgJHtiYXNlUGF0aH0vcHJvZHVjZV9lcnJvcmAsIHByb2R1Y2VFcnJvcik7XG4gIGFwcC51c2UoYCR7YmFzZVBhdGh9L2NyYXNoYCwgcHJvZHVjZUNyYXNoKTtcblxuICAvLyBhZGQgbWlkZGxld2FyZXNcbiAgaWYgKGFsbG93Q29ycykge1xuICAgIGFwcC51c2UoYWxsb3dDcm9zc0RvbWFpbik7XG4gIH0gZWxzZSB7XG4gICAgYXBwLnVzZShhbGxvd0Nyb3NzRG9tYWluQXN5bmNFeGVjdXRlKGJhc2VQYXRoKSk7XG4gIH1cbiAgYXBwLnVzZShoYW5kbGVJZGVtcG90ZW5jeSk7XG4gIGFwcC51c2UoZml4UHl0aG9uQ29udGVudFR5cGUoYmFzZVBhdGgpKTtcbiAgYXBwLnVzZShkZWZhdWx0VG9KU09OQ29udGVudFR5cGUpO1xuICBhcHAudXNlKGJvZHlQYXJzZXIudXJsZW5jb2RlZCh7ZXh0ZW5kZWQ6IHRydWV9KSk7XG4gIGFwcC51c2UobWV0aG9kT3ZlcnJpZGUoKSk7XG4gIGFwcC51c2UoY2F0Y2hBbGxIYW5kbGVyKTtcblxuICAvLyBtYWtlIHN1cmUgYXBwaXVtIG5ldmVyIGZhaWxzIGJlY2F1c2Ugb2YgYSBmaWxlIHNpemUgdXBsb2FkIGxpbWl0XG4gIGFwcC51c2UoYm9keVBhcnNlci5qc29uKHtsaW1pdDogJzFnYid9KSk7XG5cbiAgLy8gc2V0IHVwIHN0YXJ0IGxvZ2dpbmcgKHdoaWNoIGRlcGVuZHMgb24gYm9keVBhcnNlciBkb2luZyBpdHMgdGhpbmcpXG4gIGFwcC51c2Uoc3RhcnRMb2dGb3JtYXR0ZXIpO1xuXG4gIGFkZFJvdXRlcyhhcHAsIHtiYXNlUGF0aCwgZXh0cmFNZXRob2RNYXB9KTtcblxuICAvLyBkeW5hbWljIHJvdXRlcyBmb3IgdGVzdGluZywgZXRjLlxuICBhcHAuYWxsKCcvd2VsY29tZScsIHdlbGNvbWUpO1xuICBhcHAuYWxsKCcvdGVzdC9ndWluZWEtcGlnJywgZ3VpbmVhUGlnKTtcbiAgYXBwLmFsbCgnL3Rlc3QvZ3VpbmVhLXBpZy1zY3JvbGxhYmxlJywgZ3VpbmVhUGlnU2Nyb2xsYWJsZSk7XG4gIGFwcC5hbGwoJy90ZXN0L2d1aW5lYS1waWctYXBwLWJhbm5lcicsIGd1aW5lYVBpZ0FwcEJhbm5lcik7XG59XG5cbi8qKlxuICogTW9ua2V5cGF0Y2hlcyB0aGUgYGh0dHAuU2VydmVyYCBpbnN0YW5jZSBhbmQgcmV0dXJucyBhIHtAbGlua2NvZGUgQXBwaXVtU2VydmVyfS5cbiAqIFRoaXMgZnVuY3Rpb24gX211dGF0ZXNfIHRoZSBgaHR0cFNlcnZlcmAgcGFyYW1ldGVyLlxuICogQHBhcmFtIHtDb25maWd1cmVIdHRwT3B0c30gb3B0c1xuICogQHJldHVybnMge0FwcGl1bVNlcnZlcn1cbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlSHR0cCh7aHR0cFNlcnZlciwgcmVqZWN0LCBrZWVwQWxpdmVUaW1lb3V0fSkge1xuICBjb25zdCBzZXJ2ZXJTdGF0ZSA9IHtcbiAgICBub3RpZmllcjogbmV3IEV2ZW50RW1pdHRlcigpLFxuICAgIGNsb3NlZDogZmFsc2UsXG4gIH07XG4gIC8vIFRTIGRvZXMgbm90IGxvdmUgbW9ua2V5cGF0Y2hpbmcuXG4gIGNvbnN0IGFwcGl1bVNlcnZlciA9IC8qKiBAdHlwZSB7QXBwaXVtU2VydmVyfSAqLyAoLyoqIEB0eXBlIHt1bmtub3dufSAqLyAoaHR0cFNlcnZlcikpO1xuICBhcHBpdW1TZXJ2ZXIuYWRkV2ViU29ja2V0SGFuZGxlciA9IGFkZFdlYlNvY2tldEhhbmRsZXI7XG4gIGFwcGl1bVNlcnZlci5yZW1vdmVXZWJTb2NrZXRIYW5kbGVyID0gcmVtb3ZlV2ViU29ja2V0SGFuZGxlcjtcbiAgYXBwaXVtU2VydmVyLnJlbW92ZUFsbFdlYlNvY2tldEhhbmRsZXJzID0gcmVtb3ZlQWxsV2ViU29ja2V0SGFuZGxlcnM7XG4gIGFwcGl1bVNlcnZlci5nZXRXZWJTb2NrZXRIYW5kbGVycyA9IGdldFdlYlNvY2tldEhhbmRsZXJzO1xuXG4gIC8vIGh0dHAuU2VydmVyLmNsb3NlKCkgb25seSBzdG9wcyBuZXcgY29ubmVjdGlvbnMsIGJ1dCB3ZSBuZWVkIHRvIHdhaXQgdW50aWxcbiAgLy8gYWxsIGNvbm5lY3Rpb25zIGFyZSBjbG9zZWQgYW5kIHRoZSBgY2xvc2VgIGV2ZW50IGlzIGVtaXR0ZWRcbiAgY29uc3QgY2xvc2UgPSBhcHBpdW1TZXJ2ZXIuY2xvc2UuYmluZChhcHBpdW1TZXJ2ZXIpO1xuICBhcHBpdW1TZXJ2ZXIuY2xvc2UgPSBhc3luYyAoKSA9PlxuICAgIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS12MC54LWFyY2hpdmUvaXNzdWVzLzkwNjYjaXNzdWVjb21tZW50LTEyNDIxMDU3NlxuICAgICAgc2VydmVyU3RhdGUuY2xvc2VkID0gdHJ1ZTtcbiAgICAgIHNlcnZlclN0YXRlLm5vdGlmaWVyLmVtaXQoJ3NodXRkb3duJyk7XG4gICAgICBsb2cuaW5mbygnV2FpdGluZyB1bnRpbCB0aGUgc2VydmVyIGlzIGNsb3NlZCcpO1xuICAgICAgaHR0cFNlcnZlci5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICAgIGxvZy5pbmZvKCdSZWNlaXZlZCBzZXJ2ZXIgY2xvc2UgZXZlbnQnKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgICBjbG9zZSgoZXJyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHJlamVjdChlcnIpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG4gICAgICB9KTtcbiAgICB9KTtcblxuICBhcHBpdW1TZXJ2ZXIub24oXG4gICAgJ2Vycm9yJyxcbiAgICAvKiogQHBhcmFtIHtOb2RlSlMuRXJybm9FeGNlcHRpb259IGVyciAqLyAoZXJyKSA9PiB7XG4gICAgICBpZiAoZXJyLmNvZGUgPT09ICdFQUREUk5PVEFWQUlMJykge1xuICAgICAgICBsb2cuZXJyb3IoXG4gICAgICAgICAgJ0NvdWxkIG5vdCBzdGFydCBSRVNUIGh0dHAgaW50ZXJmYWNlIGxpc3RlbmVyLiAnICsgJ1JlcXVlc3RlZCBhZGRyZXNzIGlzIG5vdCBhdmFpbGFibGUuJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmVycm9yKFxuICAgICAgICAgICdDb3VsZCBub3Qgc3RhcnQgUkVTVCBodHRwIGludGVyZmFjZSBsaXN0ZW5lci4gVGhlIHJlcXVlc3RlZCAnICtcbiAgICAgICAgICAgICdwb3J0IG1heSBhbHJlYWR5IGJlIGluIHVzZS4gUGxlYXNlIG1ha2Ugc3VyZSB0aGVyZSBpcyBubyAnICtcbiAgICAgICAgICAgICdvdGhlciBpbnN0YW5jZSBvZiB0aGlzIHNlcnZlciBydW5uaW5nIGFscmVhZHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmVqZWN0KGVycik7XG4gICAgfVxuICApO1xuXG4gIGFwcGl1bVNlcnZlci5vbihcbiAgICAnY29ubmVjdGlvbicsXG4gICAgLyoqIEBwYXJhbSB7QXBwaXVtU2VydmVyU29ja2V0fSBzb2NrZXQgKi8gKHNvY2tldCkgPT4ge1xuICAgICAgc29ja2V0LnNldFRpbWVvdXQoa2VlcEFsaXZlVGltZW91dCk7XG4gICAgICBzb2NrZXQub24oJ2Vycm9yJywgcmVqZWN0KTtcblxuICAgICAgZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgICAgc29ja2V0LmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICAgIHNvY2tldC5fb3BlblJlcUNvdW50ID0gMDtcbiAgICAgIHNvY2tldC5vbmNlKCdjbG9zZScsICgpID0+IHNlcnZlclN0YXRlLm5vdGlmaWVyLnJlbW92ZUxpc3RlbmVyKCdzaHV0ZG93bicsIGRlc3Ryb3kpKTtcbiAgICAgIHNlcnZlclN0YXRlLm5vdGlmaWVyLm9uY2UoJ3NodXRkb3duJywgZGVzdHJveSk7XG4gICAgfVxuICApO1xuXG4gIGFwcGl1bVNlcnZlci5vbigncmVxdWVzdCcsIGZ1bmN0aW9uIChyZXEsIHJlcykge1xuICAgIGNvbnN0IHNvY2tldCA9IC8qKiBAdHlwZSB7QXBwaXVtU2VydmVyU29ja2V0fSAqLyAocmVxLmNvbm5lY3Rpb24gfHwgcmVxLnNvY2tldCk7XG4gICAgc29ja2V0Ll9vcGVuUmVxQ291bnQrKztcbiAgICByZXMub24oJ2ZpbmlzaCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNvY2tldC5fb3BlblJlcUNvdW50LS07XG4gICAgICBpZiAoc2VydmVyU3RhdGUuY2xvc2VkICYmIHNvY2tldC5fb3BlblJlcUNvdW50ID09PSAwKSB7XG4gICAgICAgIHNvY2tldC5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBhcHBpdW1TZXJ2ZXI7XG59XG5cbi8qKlxuICogU3RhcnRzIGFuIHtAbGlua2NvZGUgQXBwaXVtU2VydmVyfVxuICogQHBhcmFtIHtTdGFydFNlcnZlck9wdHN9IG9wdHNcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICovXG5hc3luYyBmdW5jdGlvbiBzdGFydFNlcnZlcih7aHR0cFNlcnZlciwgcG9ydCwgaG9zdG5hbWUsIGtlZXBBbGl2ZVRpbWVvdXR9KSB7XG4gIC8vIElmIHRoZSBob3N0bmFtZSBpcyBvbWl0dGVkLCB0aGUgc2VydmVyIHdpbGwgYWNjZXB0XG4gIC8vIGNvbm5lY3Rpb25zIG9uIGFueSBJUCBhZGRyZXNzXG4gIC8qKiBAdHlwZSB7KHBvcnQ6IG51bWJlciwgaG9zdG5hbWU/OiBzdHJpbmcpID0+IEI8aHR0cC5TZXJ2ZXI+fSAqL1xuICBjb25zdCBzdGFydCA9IEIucHJvbWlzaWZ5KGh0dHBTZXJ2ZXIubGlzdGVuLCB7Y29udGV4dDogaHR0cFNlcnZlcn0pO1xuICBjb25zdCBzdGFydFByb21pc2UgPSBzdGFydChwb3J0LCBob3N0bmFtZSk7XG4gIGh0dHBTZXJ2ZXIua2VlcEFsaXZlVGltZW91dCA9IGtlZXBBbGl2ZVRpbWVvdXQ7XG4gIC8vIGhlYWRlcnMgdGltZW91dCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBrZWVwQWxpdmVUaW1lb3V0XG4gIGh0dHBTZXJ2ZXIuaGVhZGVyc1RpbWVvdXQgPSBrZWVwQWxpdmVUaW1lb3V0ICsgNSAqIDEwMDA7XG4gIGF3YWl0IHN0YXJ0UHJvbWlzZTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgYmFzZSBwYXRoIHN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IGJhc2VQYXRoXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVCYXNlUGF0aChiYXNlUGF0aCkge1xuICBpZiAoIV8uaXNTdHJpbmcoYmFzZVBhdGgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhdGggcHJlZml4ICR7YmFzZVBhdGh9YCk7XG4gIH1cblxuICAvLyBlbnN1cmUgdGhlIHBhdGggcHJlZml4IGRvZXMgbm90IGVuZCBpbiAnLycsIHNpbmNlIG91ciBtZXRob2QgbWFwXG4gIC8vIHN0YXJ0cyBhbGwgcGF0aHMgd2l0aCAnLydcbiAgYmFzZVBhdGggPSBiYXNlUGF0aC5yZXBsYWNlKC9cXC8kLywgJycpO1xuXG4gIC8vIGxpa2V3aXNlLCBlbnN1cmUgdGhlIHBhdGggcHJlZml4IGRvZXMgYWx3YXlzIFNUQVJUIHdpdGggLywgdW5sZXNzIHRoZSBwYXRoXG4gIC8vIGlzIGVtcHR5IG1lYW5pbmcgbm8gYmFzZSBwYXRoIGF0IGFsbFxuICBpZiAoYmFzZVBhdGggIT09ICcnICYmIGJhc2VQYXRoWzBdICE9PSAnLycpIHtcbiAgICBiYXNlUGF0aCA9IGAvJHtiYXNlUGF0aH1gO1xuICB9XG5cbiAgcmV0dXJuIGJhc2VQYXRoO1xufVxuXG5leHBvcnQge3NlcnZlciwgY29uZmlndXJlU2VydmVyLCBub3JtYWxpemVCYXNlUGF0aH07XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rY29kZSBzdGFydFNlcnZlcn0uXG4gKiBAdHlwZWRlZiBTdGFydFNlcnZlck9wdHNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KCdodHRwJykuU2VydmVyfSBodHRwU2VydmVyIC0gSFRUUCBzZXJ2ZXIgaW5zdGFuY2VcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwb3J0IC0gUG9ydCB0byBydW4gb25cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBrZWVwQWxpdmVUaW1lb3V0IC0gS2VlcC1hbGl2ZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtob3N0bmFtZV0gLSBPcHRpb25hbCBob3N0bmFtZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkFwcGl1bVNlcnZlcn0gQXBwaXVtU2VydmVyXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuQXBwaXVtU2VydmVyU29ja2V0fSBBcHBpdW1TZXJ2ZXJTb2NrZXRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5NZXRob2RNYXB9IE1ldGhvZE1hcFxuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rY29kZSBjb25maWd1cmVIdHRwfVxuICogQHR5cGVkZWYgQ29uZmlndXJlSHR0cE9wdHNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KCdodHRwJykuU2VydmVyfSBodHRwU2VydmVyIC0gSFRUUCBzZXJ2ZXIgaW5zdGFuY2VcbiAqIEBwcm9wZXJ0eSB7KGVycm9yPzogYW55KSA9PiB2b2lkfSByZWplY3QgLSBSZWplY3Rpb24gZnVuY3Rpb24gZnJvbSBgUHJvbWlzZWAgY29uc3RydWN0b3JcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBrZWVwQWxpdmVUaW1lb3V0IC0gS2VlcC1hbGl2ZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kc1xuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rY29kZSBzZXJ2ZXJ9XG4gKiBAdHlwZWRlZiBTZXJ2ZXJPcHRzXG4gKiBAcHJvcGVydHkge1JvdXRlQ29uZmlndXJpbmdGdW5jdGlvbn0gcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uXG4gKiBAcHJvcGVydHkge251bWJlcn0gcG9ydFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtob3N0bmFtZV1cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2FsbG93Q29yc11cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYmFzZVBhdGhdXG4gKiBAcHJvcGVydHkge01ldGhvZE1hcH0gW2V4dHJhTWV0aG9kTWFwXVxuICogQHByb3BlcnR5IHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5VcGRhdGVTZXJ2ZXJDYWxsYmFja1tdfSBbc2VydmVyVXBkYXRlcnNdXG4gKiBAcHJvcGVydHkge251bWJlcn0gW2tlZXBBbGl2ZVRpbWVvdXRdXG4gKi9cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHdoaWNoIGNvbmZpZ3VyZXMgcm91dGVzXG4gKiBAY2FsbGJhY2sgUm91dGVDb25maWd1cmluZ0Z1bmN0aW9uXG4gKiBAcGFyYW0ge2ltcG9ydCgnZXhwcmVzcycpLkV4cHJlc3N9IGFwcFxuICogQHBhcmFtIHtSb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb25PcHRzfSBbb3B0c11cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYSB7QGxpbmtjb2RlIFJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbn1cbiAqIEB0eXBlZGVmIFJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbk9wdHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbYmFzZVBhdGhdXG4gKiBAcHJvcGVydHkge01ldGhvZE1hcH0gW2V4dHJhTWV0aG9kTWFwXVxuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rY29kZSBjb25maWd1cmVTZXJ2ZXJ9XG4gKiBAdHlwZWRlZiBDb25maWd1cmVTZXJ2ZXJPcHRzXG4gKiBAcHJvcGVydHkge2ltcG9ydCgnZXhwcmVzcycpLkV4cHJlc3N9IGFwcFxuICogQHByb3BlcnR5IHtSb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb259IGFkZFJvdXRlc1xuICogQHByb3BlcnR5IHtib29sZWFufSBbYWxsb3dDb3JzXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtiYXNlUGF0aF1cbiAqIEBwcm9wZXJ0eSB7TWV0aG9kTWFwfSBbZXh0cmFNZXRob2RNYXBdXG4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVNBOztBQUNBOztBQUNBOztBQU1BOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLHFCQUFxQixHQUFHLEtBQUssRUFBTCxHQUFVLElBQXhDOztBQU9BLGVBQWVDLE1BQWYsQ0FBc0JDLElBQXRCLEVBQTRCO0VBQzFCLE1BQU07SUFDSkMsd0JBREk7SUFFSkMsSUFGSTtJQUdKQyxRQUhJO0lBSUpDLFNBQVMsR0FBRyxJQUpSO0lBS0pDLFFBQVEsR0FBR0MsNEJBTFA7SUFNSkMsY0FBYyxHQUFHLEVBTmI7SUFPSkMsY0FBYyxHQUFHLEVBUGI7SUFRSkMsZ0JBQWdCLEdBQUdYO0VBUmYsSUFTRkUsSUFUSjtFQVlBLE1BQU1VLEdBQUcsR0FBRyxJQUFBQyxnQkFBQSxHQUFaOztFQUNBLE1BQU1DLFVBQVUsR0FBR0MsYUFBQSxDQUFLQyxZQUFMLENBQWtCSixHQUFsQixDQUFuQjs7RUFDQSxPQUFPLE1BQU0sSUFBSUssaUJBQUosQ0FBTSxPQUFPQyxPQUFQLEVBQWdCQyxNQUFoQixLQUEyQjtJQU01QyxJQUFJO01BQ0YsTUFBTUMsWUFBWSxHQUFHQyxhQUFhLENBQUM7UUFDakNQLFVBRGlDO1FBRWpDSyxNQUZpQztRQUdqQ1I7TUFIaUMsQ0FBRCxDQUFsQztNQUtBVyxlQUFlLENBQUM7UUFDZFYsR0FEYztRQUVkVyxTQUFTLEVBQUVwQix3QkFGRztRQUdkRyxTQUhjO1FBSWRDLFFBSmM7UUFLZEU7TUFMYyxDQUFELENBQWY7O01BUUEsS0FBSyxNQUFNZSxPQUFYLElBQXNCZCxjQUF0QixFQUFzQztRQUNw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
|
|
235
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJLRUVQX0FMSVZFX1RJTUVPVVRfTVMiLCJzZXJ2ZXIiLCJvcHRzIiwicm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIiwicG9ydCIsImhvc3RuYW1lIiwiY2xpQXJncyIsImFsbG93Q29ycyIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJleHRyYU1ldGhvZE1hcCIsInNlcnZlclVwZGF0ZXJzIiwia2VlcEFsaXZlVGltZW91dCIsImFwcCIsImV4cHJlc3MiLCJodHRwU2VydmVyIiwiaHR0cCIsImNyZWF0ZVNlcnZlciIsIkIiLCJyZXNvbHZlIiwicmVqZWN0IiwiYXBwaXVtU2VydmVyIiwiY29uZmlndXJlSHR0cCIsImNvbmZpZ3VyZVNlcnZlciIsImFkZFJvdXRlcyIsInVwZGF0ZXIiLCJhbGwiLCJjYXRjaDQwNEhhbmRsZXIiLCJzdGFydFNlcnZlciIsImVyciIsIm5vcm1hbGl6ZUJhc2VQYXRoIiwidXNlIiwiZW5kTG9nRm9ybWF0dGVyIiwiZmF2aWNvbiIsInBhdGgiLCJTVEFUSUNfRElSIiwic3RhdGljIiwicHJvZHVjZUVycm9yIiwicHJvZHVjZUNyYXNoIiwiYWxsb3dDcm9zc0RvbWFpbiIsImFsbG93Q3Jvc3NEb21haW5Bc3luY0V4ZWN1dGUiLCJoYW5kbGVJZGVtcG90ZW5jeSIsImZpeFB5dGhvbkNvbnRlbnRUeXBlIiwiZGVmYXVsdFRvSlNPTkNvbnRlbnRUeXBlIiwiYm9keVBhcnNlciIsInVybGVuY29kZWQiLCJleHRlbmRlZCIsIm1ldGhvZE92ZXJyaWRlIiwiY2F0Y2hBbGxIYW5kbGVyIiwianNvbiIsImxpbWl0Iiwic3RhcnRMb2dGb3JtYXR0ZXIiLCJ3ZWxjb21lIiwiZ3VpbmVhUGlnIiwiZ3VpbmVhUGlnU2Nyb2xsYWJsZSIsImd1aW5lYVBpZ0FwcEJhbm5lciIsInNlcnZlclN0YXRlIiwibm90aWZpZXIiLCJFdmVudEVtaXR0ZXIiLCJjbG9zZWQiLCJhZGRXZWJTb2NrZXRIYW5kbGVyIiwicmVtb3ZlV2ViU29ja2V0SGFuZGxlciIsInJlbW92ZUFsbFdlYlNvY2tldEhhbmRsZXJzIiwiZ2V0V2ViU29ja2V0SGFuZGxlcnMiLCJjbG9zZSIsImJpbmQiLCJlbWl0IiwibG9nIiwiaW5mbyIsIm9uIiwiY29kZSIsImVycm9yIiwic29ja2V0Iiwic2V0VGltZW91dCIsImRlc3Ryb3kiLCJfb3BlblJlcUNvdW50Iiwib25jZSIsInJlbW92ZUxpc3RlbmVyIiwicmVxIiwicmVzIiwiY29ubmVjdGlvbiIsInN0YXJ0IiwicHJvbWlzaWZ5IiwibGlzdGVuIiwiY29udGV4dCIsInN0YXJ0UHJvbWlzZSIsImhlYWRlcnNUaW1lb3V0IiwiXyIsImlzU3RyaW5nIiwiRXJyb3IiLCJyZXBsYWNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2V4cHJlc3Mvc2VydmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGh0dHAgZnJvbSAnaHR0cCc7XG5pbXBvcnQgZmF2aWNvbiBmcm9tICdzZXJ2ZS1mYXZpY29uJztcbmltcG9ydCBib2R5UGFyc2VyIGZyb20gJ2JvZHktcGFyc2VyJztcbmltcG9ydCBtZXRob2RPdmVycmlkZSBmcm9tICdtZXRob2Qtb3ZlcnJpZGUnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQge3N0YXJ0TG9nRm9ybWF0dGVyLCBlbmRMb2dGb3JtYXR0ZXJ9IGZyb20gJy4vZXhwcmVzcy1sb2dnaW5nJztcbmltcG9ydCB7XG4gIGFsbG93Q3Jvc3NEb21haW4sXG4gIGZpeFB5dGhvbkNvbnRlbnRUeXBlLFxuICBkZWZhdWx0VG9KU09OQ29udGVudFR5cGUsXG4gIGNhdGNoQWxsSGFuZGxlcixcbiAgYWxsb3dDcm9zc0RvbWFpbkFzeW5jRXhlY3V0ZSxcbiAgaGFuZGxlSWRlbXBvdGVuY3ksXG4gIGNhdGNoNDA0SGFuZGxlcixcbn0gZnJvbSAnLi9taWRkbGV3YXJlJztcbmltcG9ydCB7Z3VpbmVhUGlnLCBndWluZWFQaWdTY3JvbGxhYmxlLCBndWluZWFQaWdBcHBCYW5uZXIsIHdlbGNvbWUsIFNUQVRJQ19ESVJ9IGZyb20gJy4vc3RhdGljJztcbmltcG9ydCB7cHJvZHVjZUVycm9yLCBwcm9kdWNlQ3Jhc2h9IGZyb20gJy4vY3Jhc2gnO1xuaW1wb3J0IHtcbiAgYWRkV2ViU29ja2V0SGFuZGxlcixcbiAgcmVtb3ZlV2ViU29ja2V0SGFuZGxlcixcbiAgcmVtb3ZlQWxsV2ViU29ja2V0SGFuZGxlcnMsXG4gIGdldFdlYlNvY2tldEhhbmRsZXJzLFxufSBmcm9tICcuL3dlYnNvY2tldCc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQge0RFRkFVTFRfQkFTRV9QQVRIfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gJ2V2ZW50cyc7XG5cbmNvbnN0IEtFRVBfQUxJVkVfVElNRU9VVF9NUyA9IDEwICogNjAgKiAxMDAwOyAvLyAxMCBtaW51dGVzXG5cbi8qKlxuICpcbiAqIEBwYXJhbSB7U2VydmVyT3B0c30gb3B0c1xuICogQHJldHVybnMge1Byb21pc2U8QXBwaXVtU2VydmVyPn1cbiAqL1xuYXN5bmMgZnVuY3Rpb24gc2VydmVyKG9wdHMpIHtcbiAgY29uc3Qge1xuICAgIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbixcbiAgICBwb3J0LFxuICAgIGhvc3RuYW1lLFxuICAgIGNsaUFyZ3MsXG4gICAgYWxsb3dDb3JzID0gdHJ1ZSxcbiAgICBiYXNlUGF0aCA9IERFRkFVTFRfQkFTRV9QQVRILFxuICAgIGV4dHJhTWV0aG9kTWFwID0ge30sXG4gICAgc2VydmVyVXBkYXRlcnMgPSBbXSxcbiAgICBrZWVwQWxpdmVUaW1lb3V0ID0gS0VFUF9BTElWRV9USU1FT1VUX01TLFxuICB9ID0gb3B0cztcblxuICAvLyBjcmVhdGUgdGhlIGFjdHVhbCBodHRwIHNlcnZlclxuICBjb25zdCBhcHAgPSBleHByZXNzKCk7XG4gIGNvbnN0IGh0dHBTZXJ2ZXIgPSBodHRwLmNyZWF0ZVNlcnZlcihhcHApO1xuICByZXR1cm4gYXdhaXQgbmV3IEIoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIC8vIHdlIHB1dCBhbiBhc3luYyBmdW5jdGlvbiBhcyB0aGUgcHJvbWlzZSBjb25zdHJ1Y3RvciBiZWNhdXNlIHdlIHdhbnQgc29tZSB0aGluZ3MgdG8gaGFwcGVuIGluXG4gICAgLy8gc2VyaWFsIChhcHBsaWNhdGlvbiBvZiBwbHVnaW4gdXBkYXRlcywgZm9yIGV4YW1wbGUpLiBCdXQgd2Ugc3RpbGwgbmVlZCB0byB1c2UgYSBwcm9taXNlIGhlcmVcbiAgICAvLyBiZWNhdXNlIHNvbWUgZWxlbWVudHMgb2Ygc2VydmVyIHN0YXJ0IGZhaWx1cmUgb25seSBoYXBwZW4gaW4gaHR0cFNlcnZlciBsaXN0ZW5lcnMuIFNvIHRoZVxuICAgIC8vIHdheSB3ZSByZXNvbHZlIGl0IGlzIHRvIHVzZSBhbiBhc3luYyBmdW5jdGlvbiBoZXJlIGJ1dCB0byB3cmFwIGFsbCB0aGUgaW5uZXIgbG9naWMgaW5cbiAgICAvLyB0cnkvY2F0Y2ggc28gYW55IGVycm9ycyBjYW4gYmUgcGFzc2VkIHRvIHJlamVjdC5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYXBwaXVtU2VydmVyID0gY29uZmlndXJlSHR0cCh7XG4gICAgICAgIGh0dHBTZXJ2ZXIsXG4gICAgICAgIHJlamVjdCxcbiAgICAgICAga2VlcEFsaXZlVGltZW91dCxcbiAgICAgIH0pO1xuICAgICAgY29uZmlndXJlU2VydmVyKHtcbiAgICAgICAgYXBwLFxuICAgICAgICBhZGRSb3V0ZXM6IHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbixcbiAgICAgICAgYWxsb3dDb3JzLFxuICAgICAgICBiYXNlUGF0aCxcbiAgICAgICAgZXh0cmFNZXRob2RNYXAsXG4gICAgICB9KTtcbiAgICAgIC8vIGFsbG93IGV4dGVuc2lvbnMgdG8gdXBkYXRlIHRoZSBhcHAgYW5kIGh0dHAgc2VydmVyIG9iamVjdHNcbiAgICAgIGZvciAoY29uc3QgdXBkYXRlciBvZiBzZXJ2ZXJVcGRhdGVycykge1xuICAgICAgICBhd2FpdCB1cGRhdGVyKGFwcCwgYXBwaXVtU2VydmVyLCBjbGlBcmdzKTtcbiAgICAgIH1cblxuICAgICAgLy8gb25jZSBhbGwgY29uZmlndXJhdGlvbnMgYW5kIHVwZGF0ZXJzIGhhdmUgYmVlbiBhcHBsaWVkLCBtYWtlIHN1cmUgdG8gc2V0IHVwIGEgY2F0Y2hhbGxcbiAgICAgIC8vIGhhbmRsZXIgc28gdGhhdCBhbnl0aGluZyB1bmtub3duIDQwNHMuIEJ1dCBkbyB0aGlzIGFmdGVyIGV2ZXJ5dGhpbmcgZWxzZSBzaW5jZSB3ZSBkb24ndFxuICAgICAgLy8gd2FudCB0byBibG9jayBleHRlbnNpb25zJyBhYmlsaXR5IHRvIGFkZCByb3V0ZXMgaWYgdGhleSB3YW50LlxuICAgICAgYXBwLmFsbCgnKicsIGNhdGNoNDA0SGFuZGxlcik7XG5cbiAgICAgIGF3YWl0IHN0YXJ0U2VydmVyKHtodHRwU2VydmVyLCBob3N0bmFtZSwgcG9ydCwga2VlcEFsaXZlVGltZW91dH0pO1xuXG4gICAgICByZXNvbHZlKGFwcGl1bVNlcnZlcik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZWplY3QoZXJyKTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFNldHMgdXAgc29tZSBFeHByZXNzIG1pZGRsZXdhcmUgYW5kIHN0dWZmXG4gKiBAcGFyYW0ge0NvbmZpZ3VyZVNlcnZlck9wdHN9IG9wdHNcbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlU2VydmVyKHtcbiAgYXBwLFxuICBhZGRSb3V0ZXMsXG4gIGFsbG93Q29ycyA9IHRydWUsXG4gIGJhc2VQYXRoID0gREVGQVVMVF9CQVNFX1BBVEgsXG4gIGV4dHJhTWV0aG9kTWFwID0ge30sXG59KSB7XG4gIGJhc2VQYXRoID0gbm9ybWFsaXplQmFzZVBhdGgoYmFzZVBhdGgpO1xuXG4gIGFwcC51c2UoZW5kTG9nRm9ybWF0dGVyKTtcblxuICAvLyBzZXQgdXAgc3RhdGljIGFzc2V0c1xuICBhcHAudXNlKGZhdmljb24ocGF0aC5yZXNvbHZlKFNUQVRJQ19ESVIsICdmYXZpY29uLmljbycpKSk7XG4gIGFwcC51c2UoZXhwcmVzcy5zdGF0aWMoU1RBVElDX0RJUikpO1xuXG4gIC8vIGNyYXNoIHJvdXRlcywgZm9yIHRlc3RpbmdcbiAgYXBwLnVzZShgJHtiYXNlUGF0aH0vcHJvZHVjZV9lcnJvcmAsIHByb2R1Y2VFcnJvcik7XG4gIGFwcC51c2UoYCR7YmFzZVBhdGh9L2NyYXNoYCwgcHJvZHVjZUNyYXNoKTtcblxuICAvLyBhZGQgbWlkZGxld2FyZXNcbiAgaWYgKGFsbG93Q29ycykge1xuICAgIGFwcC51c2UoYWxsb3dDcm9zc0RvbWFpbik7XG4gIH0gZWxzZSB7XG4gICAgYXBwLnVzZShhbGxvd0Nyb3NzRG9tYWluQXN5bmNFeGVjdXRlKGJhc2VQYXRoKSk7XG4gIH1cbiAgYXBwLnVzZShoYW5kbGVJZGVtcG90ZW5jeSk7XG4gIGFwcC51c2UoZml4UHl0aG9uQ29udGVudFR5cGUoYmFzZVBhdGgpKTtcbiAgYXBwLnVzZShkZWZhdWx0VG9KU09OQ29udGVudFR5cGUpO1xuICBhcHAudXNlKGJvZHlQYXJzZXIudXJsZW5jb2RlZCh7ZXh0ZW5kZWQ6IHRydWV9KSk7XG4gIGFwcC51c2UobWV0aG9kT3ZlcnJpZGUoKSk7XG4gIGFwcC51c2UoY2F0Y2hBbGxIYW5kbGVyKTtcblxuICAvLyBtYWtlIHN1cmUgYXBwaXVtIG5ldmVyIGZhaWxzIGJlY2F1c2Ugb2YgYSBmaWxlIHNpemUgdXBsb2FkIGxpbWl0XG4gIGFwcC51c2UoYm9keVBhcnNlci5qc29uKHtsaW1pdDogJzFnYid9KSk7XG5cbiAgLy8gc2V0IHVwIHN0YXJ0IGxvZ2dpbmcgKHdoaWNoIGRlcGVuZHMgb24gYm9keVBhcnNlciBkb2luZyBpdHMgdGhpbmcpXG4gIGFwcC51c2Uoc3RhcnRMb2dGb3JtYXR0ZXIpO1xuXG4gIGFkZFJvdXRlcyhhcHAsIHtiYXNlUGF0aCwgZXh0cmFNZXRob2RNYXB9KTtcblxuICAvLyBkeW5hbWljIHJvdXRlcyBmb3IgdGVzdGluZywgZXRjLlxuICBhcHAuYWxsKCcvd2VsY29tZScsIHdlbGNvbWUpO1xuICBhcHAuYWxsKCcvdGVzdC9ndWluZWEtcGlnJywgZ3VpbmVhUGlnKTtcbiAgYXBwLmFsbCgnL3Rlc3QvZ3VpbmVhLXBpZy1zY3JvbGxhYmxlJywgZ3VpbmVhUGlnU2Nyb2xsYWJsZSk7XG4gIGFwcC5hbGwoJy90ZXN0L2d1aW5lYS1waWctYXBwLWJhbm5lcicsIGd1aW5lYVBpZ0FwcEJhbm5lcik7XG59XG5cbi8qKlxuICogTW9ua2V5cGF0Y2hlcyB0aGUgYGh0dHAuU2VydmVyYCBpbnN0YW5jZSBhbmQgcmV0dXJucyBhIHtAbGlua2NvZGUgQXBwaXVtU2VydmVyfS5cbiAqIFRoaXMgZnVuY3Rpb24gX211dGF0ZXNfIHRoZSBgaHR0cFNlcnZlcmAgcGFyYW1ldGVyLlxuICogQHBhcmFtIHtDb25maWd1cmVIdHRwT3B0c30gb3B0c1xuICogQHJldHVybnMge0FwcGl1bVNlcnZlcn1cbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlSHR0cCh7aHR0cFNlcnZlciwgcmVqZWN0LCBrZWVwQWxpdmVUaW1lb3V0fSkge1xuICBjb25zdCBzZXJ2ZXJTdGF0ZSA9IHtcbiAgICBub3RpZmllcjogbmV3IEV2ZW50RW1pdHRlcigpLFxuICAgIGNsb3NlZDogZmFsc2UsXG4gIH07XG4gIC8vIFRTIGRvZXMgbm90IGxvdmUgbW9ua2V5cGF0Y2hpbmcuXG4gIGNvbnN0IGFwcGl1bVNlcnZlciA9IC8qKiBAdHlwZSB7QXBwaXVtU2VydmVyfSAqLyAoLyoqIEB0eXBlIHt1bmtub3dufSAqLyAoaHR0cFNlcnZlcikpO1xuICBhcHBpdW1TZXJ2ZXIuYWRkV2ViU29ja2V0SGFuZGxlciA9IGFkZFdlYlNvY2tldEhhbmRsZXI7XG4gIGFwcGl1bVNlcnZlci5yZW1vdmVXZWJTb2NrZXRIYW5kbGVyID0gcmVtb3ZlV2ViU29ja2V0SGFuZGxlcjtcbiAgYXBwaXVtU2VydmVyLnJlbW92ZUFsbFdlYlNvY2tldEhhbmRsZXJzID0gcmVtb3ZlQWxsV2ViU29ja2V0SGFuZGxlcnM7XG4gIGFwcGl1bVNlcnZlci5nZXRXZWJTb2NrZXRIYW5kbGVycyA9IGdldFdlYlNvY2tldEhhbmRsZXJzO1xuXG4gIC8vIGh0dHAuU2VydmVyLmNsb3NlKCkgb25seSBzdG9wcyBuZXcgY29ubmVjdGlvbnMsIGJ1dCB3ZSBuZWVkIHRvIHdhaXQgdW50aWxcbiAgLy8gYWxsIGNvbm5lY3Rpb25zIGFyZSBjbG9zZWQgYW5kIHRoZSBgY2xvc2VgIGV2ZW50IGlzIGVtaXR0ZWRcbiAgY29uc3QgY2xvc2UgPSBhcHBpdW1TZXJ2ZXIuY2xvc2UuYmluZChhcHBpdW1TZXJ2ZXIpO1xuICBhcHBpdW1TZXJ2ZXIuY2xvc2UgPSBhc3luYyAoKSA9PlxuICAgIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS12MC54LWFyY2hpdmUvaXNzdWVzLzkwNjYjaXNzdWVjb21tZW50LTEyNDIxMDU3NlxuICAgICAgc2VydmVyU3RhdGUuY2xvc2VkID0gdHJ1ZTtcbiAgICAgIHNlcnZlclN0YXRlLm5vdGlmaWVyLmVtaXQoJ3NodXRkb3duJyk7XG4gICAgICBsb2cuaW5mbygnV2FpdGluZyB1bnRpbCB0aGUgc2VydmVyIGlzIGNsb3NlZCcpO1xuICAgICAgaHR0cFNlcnZlci5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICAgIGxvZy5pbmZvKCdSZWNlaXZlZCBzZXJ2ZXIgY2xvc2UgZXZlbnQnKTtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgICBjbG9zZSgoZXJyKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHJlamVjdChlcnIpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG4gICAgICB9KTtcbiAgICB9KTtcblxuICBhcHBpdW1TZXJ2ZXIub24oXG4gICAgJ2Vycm9yJyxcbiAgICAvKiogQHBhcmFtIHtOb2RlSlMuRXJybm9FeGNlcHRpb259IGVyciAqLyAoZXJyKSA9PiB7XG4gICAgICBpZiAoZXJyLmNvZGUgPT09ICdFQUREUk5PVEFWQUlMJykge1xuICAgICAgICBsb2cuZXJyb3IoXG4gICAgICAgICAgJ0NvdWxkIG5vdCBzdGFydCBSRVNUIGh0dHAgaW50ZXJmYWNlIGxpc3RlbmVyLiAnICsgJ1JlcXVlc3RlZCBhZGRyZXNzIGlzIG5vdCBhdmFpbGFibGUuJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmVycm9yKFxuICAgICAgICAgICdDb3VsZCBub3Qgc3RhcnQgUkVTVCBodHRwIGludGVyZmFjZSBsaXN0ZW5lci4gVGhlIHJlcXVlc3RlZCAnICtcbiAgICAgICAgICAgICdwb3J0IG1heSBhbHJlYWR5IGJlIGluIHVzZS4gUGxlYXNlIG1ha2Ugc3VyZSB0aGVyZSBpcyBubyAnICtcbiAgICAgICAgICAgICdvdGhlciBpbnN0YW5jZSBvZiB0aGlzIHNlcnZlciBydW5uaW5nIGFscmVhZHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmVqZWN0KGVycik7XG4gICAgfVxuICApO1xuXG4gIGFwcGl1bVNlcnZlci5vbihcbiAgICAnY29ubmVjdGlvbicsXG4gICAgLyoqIEBwYXJhbSB7QXBwaXVtU2VydmVyU29ja2V0fSBzb2NrZXQgKi8gKHNvY2tldCkgPT4ge1xuICAgICAgc29ja2V0LnNldFRpbWVvdXQoa2VlcEFsaXZlVGltZW91dCk7XG4gICAgICBzb2NrZXQub24oJ2Vycm9yJywgcmVqZWN0KTtcblxuICAgICAgZnVuY3Rpb24gZGVzdHJveSgpIHtcbiAgICAgICAgc29ja2V0LmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICAgIHNvY2tldC5fb3BlblJlcUNvdW50ID0gMDtcbiAgICAgIHNvY2tldC5vbmNlKCdjbG9zZScsICgpID0+IHNlcnZlclN0YXRlLm5vdGlmaWVyLnJlbW92ZUxpc3RlbmVyKCdzaHV0ZG93bicsIGRlc3Ryb3kpKTtcbiAgICAgIHNlcnZlclN0YXRlLm5vdGlmaWVyLm9uY2UoJ3NodXRkb3duJywgZGVzdHJveSk7XG4gICAgfVxuICApO1xuXG4gIGFwcGl1bVNlcnZlci5vbigncmVxdWVzdCcsIGZ1bmN0aW9uIChyZXEsIHJlcykge1xuICAgIGNvbnN0IHNvY2tldCA9IC8qKiBAdHlwZSB7QXBwaXVtU2VydmVyU29ja2V0fSAqLyAocmVxLmNvbm5lY3Rpb24gfHwgcmVxLnNvY2tldCk7XG4gICAgc29ja2V0Ll9vcGVuUmVxQ291bnQrKztcbiAgICByZXMub24oJ2ZpbmlzaCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHNvY2tldC5fb3BlblJlcUNvdW50LS07XG4gICAgICBpZiAoc2VydmVyU3RhdGUuY2xvc2VkICYmIHNvY2tldC5fb3BlblJlcUNvdW50ID09PSAwKSB7XG4gICAgICAgIHNvY2tldC5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBhcHBpdW1TZXJ2ZXI7XG59XG5cbi8qKlxuICogU3RhcnRzIGFuIHtAbGlua2NvZGUgQXBwaXVtU2VydmVyfVxuICogQHBhcmFtIHtTdGFydFNlcnZlck9wdHN9IG9wdHNcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICovXG5hc3luYyBmdW5jdGlvbiBzdGFydFNlcnZlcih7aHR0cFNlcnZlciwgcG9ydCwgaG9zdG5hbWUsIGtlZXBBbGl2ZVRpbWVvdXR9KSB7XG4gIC8vIElmIHRoZSBob3N0bmFtZSBpcyBvbWl0dGVkLCB0aGUgc2VydmVyIHdpbGwgYWNjZXB0XG4gIC8vIGNvbm5lY3Rpb25zIG9uIGFueSBJUCBhZGRyZXNzXG4gIC8qKiBAdHlwZSB7KHBvcnQ6IG51bWJlciwgaG9zdG5hbWU/OiBzdHJpbmcpID0+IEI8aHR0cC5TZXJ2ZXI+fSAqL1xuICBjb25zdCBzdGFydCA9IEIucHJvbWlzaWZ5KGh0dHBTZXJ2ZXIubGlzdGVuLCB7Y29udGV4dDogaHR0cFNlcnZlcn0pO1xuICBjb25zdCBzdGFydFByb21pc2UgPSBzdGFydChwb3J0LCBob3N0bmFtZSk7XG4gIGh0dHBTZXJ2ZXIua2VlcEFsaXZlVGltZW91dCA9IGtlZXBBbGl2ZVRpbWVvdXQ7XG4gIC8vIGhlYWRlcnMgdGltZW91dCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBrZWVwQWxpdmVUaW1lb3V0XG4gIGh0dHBTZXJ2ZXIuaGVhZGVyc1RpbWVvdXQgPSBrZWVwQWxpdmVUaW1lb3V0ICsgNSAqIDEwMDA7XG4gIGF3YWl0IHN0YXJ0UHJvbWlzZTtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgYmFzZSBwYXRoIHN0cmluZ1xuICogQHBhcmFtIHtzdHJpbmd9IGJhc2VQYXRoXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVCYXNlUGF0aChiYXNlUGF0aCkge1xuICBpZiAoIV8uaXNTdHJpbmcoYmFzZVBhdGgpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhdGggcHJlZml4ICR7YmFzZVBhdGh9YCk7XG4gIH1cblxuICAvLyBlbnN1cmUgdGhlIHBhdGggcHJlZml4IGRvZXMgbm90IGVuZCBpbiAnLycsIHNpbmNlIG91ciBtZXRob2QgbWFwXG4gIC8vIHN0YXJ0cyBhbGwgcGF0aHMgd2l0aCAnLydcbiAgYmFzZVBhdGggPSBiYXNlUGF0aC5yZXBsYWNlKC9cXC8kLywgJycpO1xuXG4gIC8vIGxpa2V3aXNlLCBlbnN1cmUgdGhlIHBhdGggcHJlZml4IGRvZXMgYWx3YXlzIFNUQVJUIHdpdGggLywgdW5sZXNzIHRoZSBwYXRoXG4gIC8vIGlzIGVtcHR5IG1lYW5pbmcgbm8gYmFzZSBwYXRoIGF0IGFsbFxuICBpZiAoYmFzZVBhdGggIT09ICcnICYmIGJhc2VQYXRoWzBdICE9PSAnLycpIHtcbiAgICBiYXNlUGF0aCA9IGAvJHtiYXNlUGF0aH1gO1xuICB9XG5cbiAgcmV0dXJuIGJhc2VQYXRoO1xufVxuXG5leHBvcnQge3NlcnZlciwgY29uZmlndXJlU2VydmVyLCBub3JtYWxpemVCYXNlUGF0aH07XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rY29kZSBzdGFydFNlcnZlcn0uXG4gKiBAdHlwZWRlZiBTdGFydFNlcnZlck9wdHNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KCdodHRwJykuU2VydmVyfSBodHRwU2VydmVyIC0gSFRUUCBzZXJ2ZXIgaW5zdGFuY2VcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwb3J0IC0gUG9ydCB0byBydW4gb25cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBrZWVwQWxpdmVUaW1lb3V0IC0gS2VlcC1hbGl2ZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtob3N0bmFtZV0gLSBPcHRpb25hbCBob3N0bmFtZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLkFwcGl1bVNlcnZlcn0gQXBwaXVtU2VydmVyXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdAYXBwaXVtL3R5cGVzJykuQXBwaXVtU2VydmVyU29ja2V0fSBBcHBpdW1TZXJ2ZXJTb2NrZXRcbiAqIEB0eXBlZGVmIHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5NZXRob2RNYXB9IE1ldGhvZE1hcFxuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rY29kZSBjb25maWd1cmVIdHRwfVxuICogQHR5cGVkZWYgQ29uZmlndXJlSHR0cE9wdHNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KCdodHRwJykuU2VydmVyfSBodHRwU2VydmVyIC0gSFRUUCBzZXJ2ZXIgaW5zdGFuY2VcbiAqIEBwcm9wZXJ0eSB7KGVycm9yPzogYW55KSA9PiB2b2lkfSByZWplY3QgLSBSZWplY3Rpb24gZnVuY3Rpb24gZnJvbSBgUHJvbWlzZWAgY29uc3RydWN0b3JcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBrZWVwQWxpdmVUaW1lb3V0IC0gS2VlcC1hbGl2ZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kc1xuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rY29kZSBzZXJ2ZXJ9XG4gKiBAdHlwZWRlZiBTZXJ2ZXJPcHRzXG4gKiBAcHJvcGVydHkge1JvdXRlQ29uZmlndXJpbmdGdW5jdGlvbn0gcm91dGVDb25maWd1cmluZ0Z1bmN0aW9uXG4gKiBAcHJvcGVydHkge251bWJlcn0gcG9ydFxuICogQHByb3BlcnR5IHtpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5TZXJ2ZXJBcmdzfSBjbGlBcmdzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2hvc3RuYW1lXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbYWxsb3dDb3JzXVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtiYXNlUGF0aF1cbiAqIEBwcm9wZXJ0eSB7TWV0aG9kTWFwfSBbZXh0cmFNZXRob2RNYXBdXG4gKiBAcHJvcGVydHkge2ltcG9ydCgnQGFwcGl1bS90eXBlcycpLlVwZGF0ZVNlcnZlckNhbGxiYWNrW119IFtzZXJ2ZXJVcGRhdGVyc11cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBba2VlcEFsaXZlVGltZW91dF1cbiAqL1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gd2hpY2ggY29uZmlndXJlcyByb3V0ZXNcbiAqIEBjYWxsYmFjayBSb3V0ZUNvbmZpZ3VyaW5nRnVuY3Rpb25cbiAqIEBwYXJhbSB7aW1wb3J0KCdleHByZXNzJykuRXhwcmVzc30gYXBwXG4gKiBAcGFyYW0ge1JvdXRlQ29uZmlndXJpbmdGdW5jdGlvbk9wdHN9IFtvcHRzXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cblxuLyoqXG4gKiBPcHRpb25zIGZvciBhIHtAbGlua2NvZGUgUm91dGVDb25maWd1cmluZ0Z1bmN0aW9ufVxuICogQHR5cGVkZWYgUm91dGVDb25maWd1cmluZ0Z1bmN0aW9uT3B0c1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtiYXNlUGF0aF1cbiAqIEBwcm9wZXJ0eSB7TWV0aG9kTWFwfSBbZXh0cmFNZXRob2RNYXBdXG4gKi9cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmtjb2RlIGNvbmZpZ3VyZVNlcnZlcn1cbiAqIEB0eXBlZGVmIENvbmZpZ3VyZVNlcnZlck9wdHNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KCdleHByZXNzJykuRXhwcmVzc30gYXBwXG4gKiBAcHJvcGVydHkge1JvdXRlQ29uZmlndXJpbmdGdW5jdGlvbn0gYWRkUm91dGVzXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthbGxvd0NvcnNdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Jhc2VQYXRoXVxuICogQHByb3BlcnR5IHtNZXRob2RNYXB9IFtleHRyYU1ldGhvZE1hcF1cbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBU0E7O0FBQ0E7O0FBQ0E7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBRUEsTUFBTUEscUJBQXFCLEdBQUcsS0FBSyxFQUFMLEdBQVUsSUFBeEM7O0FBT0EsZUFBZUMsTUFBZixDQUFzQkMsSUFBdEIsRUFBNEI7RUFDMUIsTUFBTTtJQUNKQyx3QkFESTtJQUVKQyxJQUZJO0lBR0pDLFFBSEk7SUFJSkMsT0FKSTtJQUtKQyxTQUFTLEdBQUcsSUFMUjtJQU1KQyxRQUFRLEdBQUdDLDRCQU5QO0lBT0pDLGNBQWMsR0FBRyxFQVBiO0lBUUpDLGNBQWMsR0FBRyxFQVJiO0lBU0pDLGdCQUFnQixHQUFHWjtFQVRmLElBVUZFLElBVko7RUFhQSxNQUFNVyxHQUFHLEdBQUcsSUFBQUMsZ0JBQUEsR0FBWjs7RUFDQSxNQUFNQyxVQUFVLEdBQUdDLGFBQUEsQ0FBS0MsWUFBTCxDQUFrQkosR0FBbEIsQ0FBbkI7O0VBQ0EsT0FBTyxNQUFNLElBQUlLLGlCQUFKLENBQU0sT0FBT0MsT0FBUCxFQUFnQkMsTUFBaEIsS0FBMkI7SUFNNUMsSUFBSTtNQUNGLE1BQU1DLFlBQVksR0FBR0MsYUFBYSxDQUFDO1FBQ2pDUCxVQURpQztRQUVqQ0ssTUFGaUM7UUFHakNSO01BSGlDLENBQUQsQ0FBbEM7TUFLQVcsZUFBZSxDQUFDO1FBQ2RWLEdBRGM7UUFFZFcsU0FB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
|
package/build/lib/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { errorFromMJSONWPStatusCode as errorFromCode } from "./protocol";
|
|
|
7
7
|
export { STATIC_DIR } from "./express/static";
|
|
8
8
|
export { JWProxy } from "./jsonwp-proxy/proxy";
|
|
9
9
|
export { DEFAULT_WS_PATHNAME_PREFIX } from "./express/websocket";
|
|
10
|
+
export type ServerOpts = import('./express/server').ServerOpts;
|
|
10
11
|
import { BaseDriver } from "./basedriver/driver";
|
|
11
12
|
export { DEFAULT_BASE_PATH, PROTOCOLS } from "./constants";
|
|
12
13
|
export { server, normalizeBasePath } from "./express/server";
|
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":";;;;;;;;;yBAyCa,OAAO,kBAAkB,EAAE,UAAU"}
|
package/build/lib/index.js
CHANGED
|
@@ -172,4 +172,4 @@ _bluebird.default.config({
|
|
|
172
172
|
|
|
173
173
|
var _default = _driver.BaseDriver;
|
|
174
174
|
exports.default = _default;
|
|
175
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
175
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCIiwiY29uZmlnIiwiY2FuY2VsbGF0aW9uIiwiQmFzZURyaXZlciJdLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5cbkIuY29uZmlnKHtcbiAgY2FuY2VsbGF0aW9uOiB0cnVlLFxufSk7XG5cbi8vIEJhc2VEcml2ZXIgZXhwb3J0c1xuaW1wb3J0IHtCYXNlRHJpdmVyfSBmcm9tICcuL2Jhc2Vkcml2ZXIvZHJpdmVyJztcbmV4cG9ydCB7RHJpdmVyQ29yZX0gZnJvbSAnLi9iYXNlZHJpdmVyL2NvcmUnO1xuZXhwb3J0IHtEZXZpY2VTZXR0aW5nc30gZnJvbSAnLi9iYXNlZHJpdmVyL2RldmljZS1zZXR0aW5ncyc7XG5cbmV4cG9ydCB7QmFzZURyaXZlcn07XG5leHBvcnQgZGVmYXVsdCBCYXNlRHJpdmVyO1xuXG4vLyBNSlNPTldQIGV4cG9ydHNcbmV4cG9ydCAqIGZyb20gJy4vcHJvdG9jb2wnO1xuZXhwb3J0IHtlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZSBhcyBlcnJvckZyb21Db2RlfSBmcm9tICcuL3Byb3RvY29sJztcbmV4cG9ydCB7REVGQVVMVF9CQVNFX1BBVEgsIFBST1RPQ09MU30gZnJvbSAnLi9jb25zdGFudHMnO1xuXG4vLyBFeHByZXNzIGV4cG9ydHNcbmV4cG9ydCB7U1RBVElDX0RJUn0gZnJvbSAnLi9leHByZXNzL3N0YXRpYyc7XG5leHBvcnQge3NlcnZlciwgbm9ybWFsaXplQmFzZVBhdGh9IGZyb20gJy4vZXhwcmVzcy9zZXJ2ZXInO1xuXG4vLyBqc29ud3AtcHJveHkgZXhwb3J0c1xuZXhwb3J0IHtKV1Byb3h5fSBmcm9tICcuL2pzb253cC1wcm94eS9wcm94eSc7XG5cbi8vIGpzb253cC1zdGF0dXMgZXhwb3J0c1xuZXhwb3J0IHtnZXRTdW1tYXJ5QnlDb2RlLCBjb2RlcyBhcyBzdGF0dXNDb2Rlc30gZnJvbSAnLi9qc29ud3Atc3RhdHVzL3N0YXR1cyc7XG5cbi8vIFczQyBjYXBhYmlsaXRpZXMgcGFyc2VyXG5leHBvcnQge1xuICBQUkVGSVhFRF9BUFBJVU1fT1BUU19DQVAsXG4gIHByb2Nlc3NDYXBhYmlsaXRpZXMsXG4gIGlzU3RhbmRhcmRDYXAsXG4gIHZhbGlkYXRlQ2Fwcyxcbn0gZnJvbSAnLi9iYXNlZHJpdmVyL2NhcGFiaWxpdGllcyc7XG5cbi8vIFdlYiBzb2NrZXQgaGVscGVyc1xuZXhwb3J0IHtERUZBVUxUX1dTX1BBVEhOQU1FX1BSRUZJWH0gZnJvbSAnLi9leHByZXNzL3dlYnNvY2tldCc7XG5cbi8qKlxuICogQHR5cGVkZWYge2ltcG9ydCgnLi9leHByZXNzL3NlcnZlcicpLlNlcnZlck9wdHN9IFNlcnZlck9wdHNcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFNQTs7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0lBQUE7SUFBQTtNQUFBO0lBQUE7RUFBQTtBQUFBOztBQUVBOztBQUdBOztBQUNBOztBQUdBOztBQUdBOztBQUdBOztBQVFBOztBQXBDQUEsaUJBQUEsQ0FBRUMsTUFBRixDQUFTO0VBQ1BDLFlBQVksRUFBRTtBQURQLENBQVQ7O2VBVWVDLGtCIn0=
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { routeConfiguringFunction } from "./protocol";
|
|
2
2
|
import { errors } from "./errors";
|
|
3
3
|
import { isErrorType } from "./errors";
|
|
4
|
+
import { makeArgs } from "./protocol";
|
|
5
|
+
import { checkParams } from "./protocol";
|
|
4
6
|
import { errorFromMJSONWPStatusCode } from "./errors";
|
|
5
7
|
import { errorFromW3CJsonCode } from "./errors";
|
|
6
8
|
import { ALL_COMMANDS } from "./routes";
|
|
@@ -12,5 +14,5 @@ import { determineProtocol } from "./protocol";
|
|
|
12
14
|
import { CREATE_SESSION_COMMAND } from "./protocol";
|
|
13
15
|
import { DELETE_SESSION_COMMAND } from "./protocol";
|
|
14
16
|
import { GET_STATUS_COMMAND } from "./protocol";
|
|
15
|
-
export { routeConfiguringFunction, errors, isErrorType, errorFromMJSONWPStatusCode, errorFromW3CJsonCode, ALL_COMMANDS, METHOD_MAP, routeToCommandName, NO_SESSION_ID_COMMANDS, isSessionCommand, determineProtocol, CREATE_SESSION_COMMAND, DELETE_SESSION_COMMAND, GET_STATUS_COMMAND };
|
|
17
|
+
export { routeConfiguringFunction, errors, isErrorType, makeArgs, checkParams, errorFromMJSONWPStatusCode, errorFromW3CJsonCode, ALL_COMMANDS, METHOD_MAP, routeToCommandName, NO_SESSION_ID_COMMANDS, isSessionCommand, determineProtocol, CREATE_SESSION_COMMAND, DELETE_SESSION_COMMAND, GET_STATUS_COMMAND };
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "NO_SESSION_ID_COMMANDS", {
|
|
|
39
39
|
return _routes.NO_SESSION_ID_COMMANDS;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "checkParams", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _protocol.checkParams;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
42
48
|
Object.defineProperty(exports, "determineProtocol", {
|
|
43
49
|
enumerable: true,
|
|
44
50
|
get: function () {
|
|
@@ -75,6 +81,12 @@ Object.defineProperty(exports, "isSessionCommand", {
|
|
|
75
81
|
return _protocol.isSessionCommand;
|
|
76
82
|
}
|
|
77
83
|
});
|
|
84
|
+
Object.defineProperty(exports, "makeArgs", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _protocol.makeArgs;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
78
90
|
Object.defineProperty(exports, "routeConfiguringFunction", {
|
|
79
91
|
enumerable: true,
|
|
80
92
|
get: function () {
|
|
@@ -95,4 +107,4 @@ var _protocol = require("./protocol");
|
|
|
95
107
|
var _routes = require("./routes");
|
|
96
108
|
|
|
97
109
|
var _errors = require("./errors");
|
|
98
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3Byb3RvY29sL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGlzU2Vzc2lvbkNvbW1hbmQsXG4gIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbixcbiAgZGV0ZXJtaW5lUHJvdG9jb2wsXG4gIENSRUFURV9TRVNTSU9OX0NPTU1BTkQsXG4gIERFTEVURV9TRVNTSU9OX0NPTU1BTkQsXG4gIEdFVF9TVEFUVVNfQ09NTUFORCxcbiAgbWFrZUFyZ3MsXG4gIGNoZWNrUGFyYW1zLFxufSBmcm9tICcuL3Byb3RvY29sJztcbmltcG9ydCB7Tk9fU0VTU0lPTl9JRF9DT01NQU5EUywgQUxMX0NPTU1BTkRTLCBNRVRIT0RfTUFQLCByb3V0ZVRvQ29tbWFuZE5hbWV9IGZyb20gJy4vcm91dGVzJztcbmltcG9ydCB7ZXJyb3JzLCBpc0Vycm9yVHlwZSwgZXJyb3JGcm9tTUpTT05XUFN0YXR1c0NvZGUsIGVycm9yRnJvbVczQ0pzb25Db2RlfSBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCB7XG4gIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbixcbiAgZXJyb3JzLFxuICBpc0Vycm9yVHlwZSxcbiAgbWFrZUFyZ3MsXG4gIGNoZWNrUGFyYW1zLFxuICBlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZSxcbiAgZXJyb3JGcm9tVzNDSnNvbkNvZGUsXG4gIEFMTF9DT01NQU5EUyxcbiAgTUVUSE9EX01BUCxcbiAgcm91dGVUb0NvbW1hbmROYW1lLFxuICBOT19TRVNTSU9OX0lEX0NPTU1BTkRTLFxuICBpc1Nlc3Npb25Db21tYW5kLFxuICBkZXRlcm1pbmVQcm90b2NvbCxcbiAgQ1JFQVRFX1NFU1NJT05fQ09NTUFORCxcbiAgREVMRVRFX1NFU1NJT05fQ09NTUFORCxcbiAgR0VUX1NUQVRVU19DT01NQU5ELFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFVQTs7QUFDQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../lib/protocol/protocol.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../lib/protocol/protocol.js"],"names":[],"mappings":"AAgGA,+EA2DC;AASD,mGAgDC;AAED;;;;GAIG;AACH,iDAHW,OAAO,eAAe,EAAE,IAAI,GAC1B,OAAO,mBAAmB,EAAE,wBAAwB,CAoChE;AAtND,wDAEC;AAwaD,qFAmBC;AAhdD,kEAEC;AAND,qDAA+C;AAC/C,qDAA+C;AAC/C,6CAAuC"}
|