appium-xcuitest-driver 4.13.4 → 4.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +21 -7
- package/build/lib/commands/execute.js +3 -2
- package/build/lib/commands/execute.js.map +1 -1
- package/build/lib/commands/web.js +14 -1
- package/build/lib/commands/web.js.map +1 -1
- package/build/lib/desired-caps.js +4 -7
- package/build/lib/desired-caps.js.map +1 -1
- package/build/lib/driver.js +16 -28
- package/build/lib/driver.js.map +1 -1
- package/build/lib/simulator-management.js +41 -131
- package/build/lib/simulator-management.js.map +1 -1
- package/lib/commands/execute.js +2 -0
- package/lib/commands/web.js +32 -0
- package/lib/desired-caps.js +3 -6
- package/lib/driver.js +17 -38
- package/lib/simulator-management.js +60 -152
- package/npm-shrinkwrap.json +11 -11
- package/package.json +2 -2
- package/build/lib/cert-utils.js +0 -36
- package/build/lib/cert-utils.js.map +0 -1
- package/lib/cert-utils.js +0 -61
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [4.15.0](https://github.com/appium/appium-xcuitest-driver/compare/v4.14.0...v4.15.0) (2022-12-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* add reduceTransparency ([#1464](https://github.com/appium/appium-xcuitest-driver/issues/1464)) ([82e7c23](https://github.com/appium/appium-xcuitest-driver/commit/82e7c237dcf8dcd5ee23c2bd57c2f831f4083a03))
|
|
7
|
+
|
|
8
|
+
## [4.14.0](https://github.com/appium/appium-xcuitest-driver/compare/v4.13.4...v4.14.0) (2022-12-13)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* Streamline changing of Simulator preferences ([#1463](https://github.com/appium/appium-xcuitest-driver/issues/1463)) ([79c2e36](https://github.com/appium/appium-xcuitest-driver/commit/79c2e3626d550a2d04ace00d840d7b8e4d14614b))
|
|
14
|
+
|
|
1
15
|
## [4.13.4](https://github.com/appium/appium-xcuitest-driver/compare/v4.13.3...v4.13.4) (2022-12-10)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -151,8 +151,10 @@ Capability | Description
|
|
|
151
151
|
`appium:app` | Full path to the application to be tested (the app must be located on the same machine where the server is running). `.ipa` and `.app` application extensions are supported. Zipped `.app` bundles are supported as well. Could also be an URL to a remote location. If neither of the `app` or `bundleId` capabilities are provided then the driver starts from the Home screen and expects the test to know what to do next. Do not provide both `app` and `browserName` capabilities at once.
|
|
152
152
|
`appium:localizableStringsDir` | Where to look for localizable strings in the application bundle. Defaults to `en.lproj`
|
|
153
153
|
`appium:otherApps` | App or list of apps (as a JSON array) to install prior to running tests. Note that it will not work with iOS real devices. Fore example: `["http://appium.github.io/appium/assets/TestApp9.4.app.zip", "/path/to/app-b.app"]`
|
|
154
|
-
`appium:language` | Language to set for iOS, for example `fr`. Please read [Language IDs](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html) to get more details
|
|
155
|
-
`appium:locale` | Locale to set for iOS, for example `fr_CA`. Please read [Locale IDs](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html#//apple_ref/doc/uid/10000171i-CH15-SW9) to get more details
|
|
154
|
+
`appium:language` | Language to set for iOS app, for example `fr`. Please read [Language IDs](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html) to get more details about available values for this capability. If a test is executed on a Simulator then UI language is changed as well. You can also change Simulator language in runtime using [mobile: configureLocalization](#mobile-configurelocalization) extension.
|
|
155
|
+
`appium:locale` | Locale to set for iOS app, for example `fr_CA`. Please read [Locale IDs](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/LanguageandLocaleIDs/LanguageandLocaleIDs.html#//apple_ref/doc/uid/10000171i-CH15-SW9) to get more details about available values for this capability.
|
|
156
|
+
If a test is executed on a Simulator then UI locale is changed as well. You can also change Simulator locale in runtime using [mobile: configureLocalization](#mobile-configurelocalization) extension.
|
|
157
|
+
`appium:calendarFormat` | Calendar format to set for iOS Simulator, for example `gregorian` or `persian`. Can only be set in conjunction with `appium:locale`.
|
|
156
158
|
`appium:appPushTimeout` | The timeout for application upload in milliseconds. Works for real devices only. The default value is `30000`ms
|
|
157
159
|
`appium:appInstallStrategy` | Select application installation strategy for real devices. The following strategies are supported: `serial` (default) - pushes app files to the device in a sequential order; this is the least performant strategy, although the most reliable; `parallel` - pushes app files simultaneously; this is usually the the most performant strategy, but sometimes could not be very stable; `ios-deploy` - tells the driver to use a third-party tool [ios-deploy](https://www.npmjs.com/package/ios-deploy) to install the app; obviously the tool must be installed separately first and must be present in PATH before it could be used. | parallel
|
|
158
160
|
|
|
@@ -219,12 +221,14 @@ Capability | Description
|
|
|
219
221
|
|`appium:keepKeyChains`|Set the capability to `true` in order to preserve Simulator keychains folder after full reset. This feature has no effect on real devices. Defaults to `false`|e.g. `true`|
|
|
220
222
|
|`appium:keychainsExcludePatterns`|This capability accepts comma-separated path patterns, which are going to be excluded from keychains restore while full reset is being performed on Simulator. It might be useful if you want to exclude only particular keychain types from being restored, like the applications keychain. This feature has no effect on real devices.|e.g. `*keychain*.db*` to exclude applications keychain from being restored|
|
|
221
223
|
|`appium:reduceMotion`| It allows to turn on/off reduce motion accessibility preference. Setting reduceMotion `on` helps to reduce flakiness during tests. Only on simulators | e.g `true` |
|
|
224
|
+
|`appium:reduceTransparency`| It allows you to turn on/off reduce transparency accessibility preference. Setting reduceTransparency `on` helps to reduce screenshot image distortion during tests. Only on simulators | e.g `true` |
|
|
222
225
|
|`appium:permissions`| Allows to set permissions for the specified application bundle on Simulator only. The capability value is expected to be a valid JSON string with `{"<bundleId1>": {"<serviceName1>": "<serviceStatus1>", ...}, ...}` format. Since Xcode SDK 11.4 Apple provides native APIs to interact with application settings. Check the output of `xcrun simctl privacy booted` command to get the list of available permission names. Use `yes`, `no` and `unset` as values in order to `grant`, `revoke` or `reset` the corresponding permission. Below Xcode SDK 11.4 it is required that `applesimutils` package is installed and available in PATH. The list of available service names and statuses can be found at https://github.com/wix/AppleSimulatorUtils. | e. g. `{"com.apple.mobilecal": {"calendar": "YES"}}` |
|
|
223
226
|
|`appium:iosSimulatorLogsPredicate`|Set the `--predicate` flag in the ios simulator logs|e.g.: `'process != "locationd" AND process != "DTServiceHub"' AND process != "mobileassetd"`|
|
|
224
227
|
|`appium:simulatorPasteboardAutomaticSync`| Handle the `-PasteboardAutomaticSync` flag when simulator process launches. It could improve launching simulator performance not to sync pasteboard with the system when this value is `off`. `on` forces the flag enabled. `system` does not provide the flag to the launching command. `on`, `off`, or `system` is available. They are case insensitive. Defaults to `off` | e.g. `system` |
|
|
225
228
|
|`appium:simulatorDevicesSetPath`| This capability allows to set an alternative path to the simulator devices set in case you have multiple sets deployed on your local system. Such feature could be useful if you, for example, would like to save disk space on the main system volume. | e.g. `/MyVolume/Devices` |
|
|
226
229
|
|`appium:customSSLCert`| Adds a root SSL certificate to IOS Simulators and real devices. Real devices only work if [py-ios-device](https://github.com/YueChen-C/py-ios-device) tool is available on the server machine. The certificate content must be provided in [PEM](https://knowledge.digicert.com/quovadis/ssl-certificates/ssl-general-topics/what-is-pem-format.html) format | e.g. ```-----BEGIN CERTIFICATE-----MIIFWjCCBEKg...-----END CERTIFICATE-----```|
|
|
227
230
|
|`appium:webkitResponseTimeout`| (Real device only) Set the time, in ms, to wait for a response from WebKit in a Safari session. Defaults to `5000` | e.g., `10000`|
|
|
231
|
+
|`appium:safariGlobalPreferences`| (Simulator only) Allows changing of Mobile Safari's preferences at the session startup. Check the documentation on arguments of [mobile: updateSafariPreferences](#mobile-updatesafaripreferences) extension to get more details on the value type requirements. | { ShowTabBar: 0, WarnAboutFraudulentWebsites: 0 } |
|
|
228
232
|
|
|
229
233
|
### Web Context
|
|
230
234
|
|
|
@@ -240,12 +244,12 @@ Capability | Description
|
|
|
240
244
|
|`appium:additionalWebviewBundleIds`|Array (or JSON array) of possible bundle identifiers for webviews. This is sometimes necessary if the Web Inspector is found to be returning a modified bundle identifier for the app. Defaults to `[]`|e.g., `['io.appium.modifiedId', 'ABCDEF']`|
|
|
241
245
|
|`appium:webviewConnectTimeout`|The time to wait, in `ms`, for the initial presence of webviews in MobileSafari or hybrid apps. Defaults to `0`|e.g., '5000'|
|
|
242
246
|
|`appium:safariIgnoreWebHostnames`| Provide a list of hostnames (comma-separated) that the Safari automation tools should ignore. This is to provide a workaround to prevent a webkit bug where the web context is unintentionally changed to a 3rd party website and the test gets stuck. The common culprits are search engines (yahoo, bing, google) and `about:blank` |e.g. `'www.yahoo.com, www.bing.com, www.google.com, about:blank'`|
|
|
243
|
-
|`appium:nativeWebTap
|
|
244
|
-
|`appium:nativeWebTapStrict
|
|
247
|
+
|`appium:nativeWebTap`| Enable native, non-javascript-based taps being in web context mode. Defaults to `false`. Warning: sometimes the preciseness of native taps could be broken, because there is no reliable way to map web element coordinates to native ones. | `true` |
|
|
248
|
+
|`appium:nativeWebTapStrict`| Enforce native taps to be done by XCUITest driver rather than WebDriverAgent. Only applicable if `nativeWebTap` is enabled. `false` by default | `false` |
|
|
245
249
|
|`appium:safariInitialUrl`| Initial safari url, default is a local welcome page. Setting it to an empty string will skip the initial navigation. | e.g. `https://www.github.com` |
|
|
246
|
-
|`appium:safariAllowPopups`| Allow javascript to open new windows in Safari. Default keeps current sim setting|`true` or `false`|
|
|
247
|
-
|`appium:safariIgnoreFraudWarning`| Prevent Safari from showing a fraudulent website warning. Default keeps current sim setting
|
|
248
|
-
|`appium:safariOpenLinksInBackground`| Whether Safari should allow links to open in new windows. Default keeps current sim setting
|
|
250
|
+
|`appium:safariAllowPopups`| (Simulator only) Allow javascript to open new windows in Safari. Default keeps current sim setting. |`true` or `false`|
|
|
251
|
+
|`appium:safariIgnoreFraudWarning`| (Simulator only) Prevent Safari from showing a fraudulent website warning. Default keeps current sim setting. |`true` or `false`|
|
|
252
|
+
|`appium:safariOpenLinksInBackground`| (Simulator only) Whether Safari should allow links to open in new windows. Default keeps current sim setting. |`true` or `false`|
|
|
249
253
|
|`appium:webviewConnectRetries`| Number of times to send connection message to remote debugger, to get webview. Default: `8` |e.g., `12`|
|
|
250
254
|
|`appium:webkitResponseTimeout`| (Real device only) Set the time, in ms, to wait for a response from WebKit in a Safari session. Defaults to `5000`|e.g., `10000`|
|
|
251
255
|
|`appium:enableAsyncExecuteFromHttps`| Capability to allow simulators to execute asynchronous JavaScript on pages using HTTPS. Defaults to `false` | `true` or `false` |
|
|
@@ -1526,6 +1530,16 @@ If the connection is disconnected, condition inducer will be automatically disab
|
|
|
1526
1530
|
|
|
1527
1531
|
Either `true` or `false`, where `true` means disabling of the condition inducer has been successful
|
|
1528
1532
|
|
|
1533
|
+
### mobile: updateSafariPreferences
|
|
1534
|
+
|
|
1535
|
+
Updates preferences of Mobile Safari on Simulator
|
|
1536
|
+
|
|
1537
|
+
#### Arguments
|
|
1538
|
+
|
|
1539
|
+
Name | Type | Required | Description | Example
|
|
1540
|
+
--- | --- | --- | --- | ---
|
|
1541
|
+
preferences | map | yes | An object containing Mobile Safari preferences to be updated. The list of available setting names and their values could be retrieved by changing the corresponding Safari settings under Preferences->Safari and then inspecting `Library/Preferences/com.apple.mobilesafari.plist` file inside of `com.apple.mobilesafari` app container. The full path to the Mobile Safari's container could be retrieved from `xcrun simctl get_app_container <sim_udid> com.apple.mobilesafari data` command output. Use the `xcrun simctl spawn <sim_udid> defaults read <path_to_plist>` command to print the actual .plist content to the Terminal. | { ShowTabBar: 0, WarnAboutFraudulentWebsites: 0 }
|
|
1542
|
+
|
|
1529
1543
|
## Known issues
|
|
1530
1544
|
|
|
1531
1545
|
* `shake` is implemented via AppleScript and works only on Simulator due to lack of support from Apple
|
|
@@ -119,7 +119,8 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
119
119
|
stopPcap: 'mobileStopPcap',
|
|
120
120
|
listConditionInducers: 'mobileListConditionInducers',
|
|
121
121
|
enableConditionInducer: 'mobileEnableConditionInducer',
|
|
122
|
-
disableConditionInducer: 'mobileDisableConditionInducer'
|
|
122
|
+
disableConditionInducer: 'mobileDisableConditionInducer',
|
|
123
|
+
updateSafariPreferences: 'mobileUpdateSafariPreferences'
|
|
123
124
|
};
|
|
124
125
|
if (!_lodash.default.has(commandMap, mobileCommand)) {
|
|
125
126
|
throw new _driver.errors.UnknownCommandError(`Unknown mobile command '${mobileCommand}'. Only ${_lodash.default.keys(commandMap).join(', ')} commands are supported.`);
|
|
@@ -128,4 +129,4 @@ extensions.executeMobile = async function executeMobile(mobileCommand, opts = {}
|
|
|
128
129
|
};
|
|
129
130
|
var _default = extensions;
|
|
130
131
|
exports.default = _default;
|
|
131
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHRlbnNpb25zIiwicmVjZWl2ZUFzeW5jUmVzcG9uc2UiLCJzdGF0dXMiLCJ2YWx1ZSIsImxvZyIsImRlYnVnIiwiSlNPTiIsInN0cmluZ2lmeSIsInV0aWwiLCJoYXNWYWx1ZSIsImFzeW5jUHJvbWlzZSIsIndhcm4iLCJyZWplY3QiLCJlcnJvckZyb21Db2RlIiwibWVzc2FnZSIsIl8iLCJpc1N0cmluZyIsImVycm9yIiwiZXJyb3JGcm9tVzNDSnNvbkNvZGUiLCJzdGFja3RyYWNlIiwicmVzb2x2ZSIsImV4ZWN1dGUiLCJzY3JpcHQiLCJhcmdzIiwibWF0Y2giLCJyZXBsYWNlIiwidHJpbSIsImV4ZWN1dGVNb2JpbGUiLCJpc0FycmF5IiwiaXNXZWJDb250ZXh0IiwiY29udmVydEVsZW1lbnRzRm9yQXRvbXMiLCJyZXN1bHQiLCJleGVjdXRlQXRvbSIsImNhY2hlV2ViRWxlbWVudHMiLCJlcnJvcnMiLCJOb3RJbXBsZW1lbnRlZEVycm9yIiwiZXhlY3V0ZUFzeW5jIiwiYXN5bmNXYWl0TXMiLCJwcm9taXNlIiwicmVtb3RlIiwiZXhlY3V0ZUF0b21Bc3luYyIsImN1cldlYkZyYW1lcyIsIndhaXRGb3JBdG9tIiwibW9iaWxlQ29tbWFuZCIsIm9wdHMiLCJjb21tYW5kTWFwIiwidGFwIiwic2Nyb2xsIiwic2VsZWN0UGlja2VyV2hlZWxWYWx1ZSIsInN3aXBlIiwicGluY2giLCJkb3VibGVUYXAiLCJ0d29GaW5nZXJUYXAiLCJ0YXBXaXRoTnVtYmVyT2ZUYXBzIiwidG91Y2hBbmRIb2xkIiwiZHJhZ0Zyb21Ub0ZvckR1cmF0aW9uIiwicm90YXRlRWxlbWVudCIsImRyYWdGcm9tVG9XaXRoVmVsb2NpdHkiLCJmb3JjZVByZXNzIiwic2Nyb2xsVG9FbGVtZW50IiwiYWxlcnQiLCJzZXRQYXN0ZWJvYXJkIiwiZ2V0UGFzdGVib2FyZCIsInNvdXJjZSIsImdldENvbnRleHRzIiwiaW5zdGFsbEFwcCIsImlzQXBwSW5zdGFsbGVkIiwicmVtb3ZlQXBwIiwibGF1bmNoQXBwIiwidGVybWluYXRlQXBwIiwia2lsbEFwcCIsInF1ZXJ5QXBwU3RhdGUiLCJhY3RpdmF0ZUFwcCIsImxpc3RBcHBzIiwidmlld3BvcnRTY3JlZW5zaG90Iiwidmlld3BvcnRSZWN0Iiwic3RhcnRQZXJmUmVjb3JkIiwic3RvcFBlcmZSZWNvcmQiLCJpbnN0YWxsQ2VydGlmaWNhdGUiLCJsaXN0Q2VydGlmaWNhdGVzIiwic3RhcnRMb2dzQnJvYWRjYXN0Iiwic3RvcExvZ3NCcm9hZGNhc3QiLCJiYXR0ZXJ5SW5mbyIsImRldmljZUluZm8iLCJnZXREZXZpY2VUaW1lIiwiYWN0aXZlQXBwSW5mbyIsImRldmljZVNjcmVlbkluZm8iLCJwcmVzc0J1dHRvbiIsImVucm9sbEJpb21ldHJpYyIsInNlbmRCaW9tZXRyaWNNYXRjaCIsImlzQmlvbWV0cmljRW5yb2xsZWQiLCJjbGVhcktleWNoYWlucyIsImdldFBlcm1pc3Npb24iLCJzZXRQZXJtaXNzaW9uIiwicmVzZXRQZXJtaXNzaW9uIiwiZ2V0QXBwZWFyYW5jZSIsInNldEFwcGVhcmFuY2UiLCJzaXJpQ29tbWFuZCIsInB1c2hGaWxlIiwicHVsbEZpbGUiLCJwdWxsRm9sZGVyIiwiZGVsZXRlRmlsZSIsImRlbGV0ZUZvbGRlciIsInN0YXJ0QXVkaW9SZWNvcmRpbmciLCJzdG9wQXVkaW9SZWNvcmRpbmciLCJydW5YQ1Rlc3QiLCJpbnN0YWxsWENUZXN0QnVuZGxlIiwibGlzdFhDVGVzdEJ1bmRsZXMiLCJsaXN0WENUZXN0c0luVGVzdEJ1bmRsZSIsInB1c2hOb3RpZmljYXRpb24iLCJleHBlY3ROb3RpZmljYXRpb24iLCJwZXJmb3JtSW9IaWRFdmVudCIsImNvbmZpZ3VyZUxvY2FsaXphdGlvbiIsInJlc2V0TG9jYXRpb25TZXJ2aWNlIiwic3RhcnRQY2FwIiwic3RvcFBjYXAiLCJsaXN0Q29uZGl0aW9uSW5kdWNlcnMiLCJlbmFibGVDb25kaXRpb25JbmR1Y2VyIiwiZGlzYWJsZUNvbmRpdGlvbkluZHVjZXIiLCJoYXMiLCJVbmtub3duQ29tbWFuZEVycm9yIiwia2V5cyIsImpvaW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tbWFuZHMvZXhlY3V0ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtcbiAgZXJyb3JzLCBlcnJvckZyb21Db2RlLCBlcnJvckZyb21XM0NKc29uQ29kZVxufSBmcm9tICdhcHBpdW0vZHJpdmVyJztcbmltcG9ydCB7IHV0aWwgfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5cbmNvbnN0IGV4dGVuc2lvbnMgPSB7fTtcblxuZXh0ZW5zaW9ucy5yZWNlaXZlQXN5bmNSZXNwb25zZSA9IGFzeW5jIGZ1bmN0aW9uIHJlY2VpdmVBc3luY1Jlc3BvbnNlIChzdGF0dXMsIHZhbHVlKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVxdWlyZS1hd2FpdFxuICB0aGlzLmxvZy5kZWJ1ZyhgUmVjZWl2ZWQgYXN5bmMgcmVzcG9uc2U6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xuICBpZiAoIXV0aWwuaGFzVmFsdWUodGhpcy5hc3luY1Byb21pc2UpKSB7XG4gICAgdGhpcy5sb2cud2FybihgUmVjZWl2ZWQgYXN5bmMgcmVzcG9uc2Ugd2hlbiB3ZSB3ZXJlIG5vdCBleHBlY3Rpbmcgb25lISBgICtcbiAgICAgIGBSZXNwb25zZSB3YXM6ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICh1dGlsLmhhc1ZhbHVlKHN0YXR1cykgJiYgc3RhdHVzICE9PSAwKSB7XG4gICAgLy8gTUpTT05XUFxuICAgIHJldHVybiB0aGlzLmFzeW5jUHJvbWlzZS5yZWplY3QoZXJyb3JGcm9tQ29kZShzdGF0dXMsIHZhbHVlLm1lc3NhZ2UpKTtcbiAgfVxuICBpZiAoIXV0aWwuaGFzVmFsdWUoc3RhdHVzKSAmJiB2YWx1ZSAmJiBfLmlzU3RyaW5nKHZhbHVlLmVycm9yKSkge1xuICAgIC8vIFczQ1xuICAgIHJldHVybiB0aGlzLmFzeW5jUHJvbWlzZS5yZWplY3QoZXJyb3JGcm9tVzNDSnNvbkNvZGUodmFsdWUuZXJyb3IsIHZhbHVlLm1lc3NhZ2UsIHZhbHVlLnN0YWNrdHJhY2UpKTtcbiAgfVxuICByZXR1cm4gdGhpcy5hc3luY1Byb21pc2UucmVzb2x2ZSh2YWx1ZSk7XG59O1xuXG5leHRlbnNpb25zLmV4ZWN1dGUgPSBhc3luYyBmdW5jdGlvbiBleGVjdXRlIChzY3JpcHQsIGFyZ3MpIHtcbiAgaWYgKHNjcmlwdC5tYXRjaCgvXm1vYmlsZTovKSkge1xuICAgIHNjcmlwdCA9IHNjcmlwdC5yZXBsYWNlKC9ebW9iaWxlOi8sICcnKS50cmltKCk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZXhlY3V0ZU1vYmlsZShzY3JpcHQsIF8uaXNBcnJheShhcmdzKSA/IGFyZ3NbMF0gOiBhcmdzKTtcbiAgfSBlbHNlIGlmICh0aGlzLmlzV2ViQ29udGV4dCgpKSB7XG4gICAgYXJncyA9IHRoaXMuY29udmVydEVsZW1lbnRzRm9yQXRvbXMoYXJncyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5leGVjdXRlQXRvbSgnZXhlY3V0ZV9zY3JpcHQnLCBbc2NyaXB0LCBhcmdzXSk7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVXZWJFbGVtZW50cyhyZXN1bHQpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBlcnJvcnMuTm90SW1wbGVtZW50ZWRFcnJvcigpO1xuICB9XG59O1xuXG5leHRlbnNpb25zLmV4ZWN1dGVBc3luYyA9IGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVBc3luYyAoc2NyaXB0LCBhcmdzKSB7XG4gIGlmICghdGhpcy5pc1dlYkNvbnRleHQoKSkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuTm90SW1wbGVtZW50ZWRFcnJvcigpO1xuICB9XG5cbiAgYXJncyA9IHRoaXMuY29udmVydEVsZW1lbnRzRm9yQXRvbXMoYXJncyk7XG4gIHRoaXMuYXN5bmNXYWl0TXMgPSB0aGlzLmFzeW5jV2FpdE1zIHx8IDA7XG4gIGNvbnN0IHByb21pc2UgPSB0aGlzLnJlbW90ZS5leGVjdXRlQXRvbUFzeW5jKCdleGVjdXRlX2FzeW5jX3NjcmlwdCcsIFtcbiAgICBzY3JpcHQsIGFyZ3MsIHRoaXMuYXN5bmNXYWl0TXNcbiAgXSwgdGhpcy5jdXJXZWJGcmFtZXMpO1xuICByZXR1cm4gdGhpcy5jYWNoZVdlYkVsZW1lbnRzKGF3YWl0IHRoaXMud2FpdEZvckF0b20ocHJvbWlzZSkpO1xufTtcblxuZXh0ZW5zaW9ucy5leGVjdXRlTW9iaWxlID0gYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZU1vYmlsZSAobW9iaWxlQ29tbWFuZCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IGNvbW1hbmRNYXAgPSB7XG4gICAgLy9yZWdpb24gZ2VzdHVyZXMgc3VwcG9ydFxuICAgIHRhcDogJ21vYmlsZVRhcCcsXG4gICAgc2Nyb2xsOiAnbW9iaWxlU2Nyb2xsJyxcbiAgICBzZWxlY3RQaWNrZXJXaGVlbFZhbHVlOiAnbW9iaWxlU2VsZWN0UGlja2VyV2hlZWxWYWx1ZScsXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWllbGVtZW50LzE2MTg2Njgtc3dpcGVsZWZ0P2xhbmd1YWdlPW9iamNcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY3NC1zd2lwZXJpZ2h0P2xhbmd1YWdlPW9iamNcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY2Ny1zd2lwZXVwP2xhbmd1YWdlPW9iamNcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY2NC1zd2lwZWRvd24/bGFuZ3VhZ2U9b2JqY1xuICAgIHN3aXBlOiAnbW9iaWxlU3dpcGUnLFxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4NjY5LXBpbmNod2l0aHNjYWxlP2xhbmd1YWdlPW9iamNcbiAgICBwaW5jaDogJ21vYmlsZVBpbmNoJyxcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY3My1kb3VibGV0YXA/bGFuZ3VhZ2U9b2JqY1xuICAgIGRvdWJsZVRhcDogJ21vYmlsZURvdWJsZVRhcCcsXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWllbGVtZW50LzE2MTg2NzUtdHdvZmluZ2VydGFwP2xhbmd1YWdlPW9iamNcbiAgICB0d29GaW5nZXJUYXA6ICdtb2JpbGVUd29GaW5nZXJUYXAnLFxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4NjcxLXRhcHdpdGhudW1iZXJvZnRhcHM/bGFuZ3VhZ2U9b2JqY1xuICAgIHRhcFdpdGhOdW1iZXJPZlRhcHM6ICdtb2JpbGVUYXBXaXRoTnVtYmVyT2ZUYXBzJyxcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY2My1wcmVzc2ZvcmR1cmF0aW9uP2xhbmd1YWdlPW9iamNcbiAgICB0b3VjaEFuZEhvbGQ6ICdtb2JpbGVUb3VjaEFuZEhvbGQnLFxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4NjcwLXByZXNzZm9yZHVyYXRpb24/bGFuZ3VhZ2U9b2JqY1xuICAgIGRyYWdGcm9tVG9Gb3JEdXJhdGlvbjogJ21vYmlsZURyYWdGcm9tVG9Gb3JEdXJhdGlvbicsXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWllbGVtZW50LzE2MTg2NjUtcm90YXRlP2xhbmd1YWdlPW9iamNcbiAgICByb3RhdGVFbGVtZW50OiAnbW9iaWxlUm90YXRlRWxlbWVudCcsXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWljb29yZGluYXRlLzM1NTE2OTItcHJlc3Nmb3JkdXJhdGlvbj9sYW5ndWFnZT1vYmpjXG4gICAgZHJhZ0Zyb21Ub1dpdGhWZWxvY2l0eTogJ21vYmlsZURyYWdGcm9tVG9XaXRoVmVsb2NpdHknLFxuICAgIGZvcmNlUHJlc3M6ICdtb2JpbGVGb3JjZVByZXNzJyxcbiAgICBzY3JvbGxUb0VsZW1lbnQ6ICdtb2JpbGVTY3JvbGxUb0VsZW1lbnQnLFxuXG4gICAgLy9lbmRyZWdpb24gZ2VzdHVyZXMgc3VwcG9ydFxuICAgIGFsZXJ0OiAnbW9iaWxlSGFuZGxlQWxlcnQnLFxuXG4gICAgc2V0UGFzdGVib2FyZDogJ21vYmlsZVNldFBhc3RlYm9hcmQnLFxuICAgIGdldFBhc3RlYm9hcmQ6ICdtb2JpbGVHZXRQYXN0ZWJvYXJkJyxcblxuICAgIHNvdXJjZTogJ21vYmlsZUdldFNvdXJjZScsXG4gICAgZ2V0Q29udGV4dHM6ICdtb2JpbGVHZXRDb250ZXh0cycsXG5cbiAgICAvL3JlZ2lvbiBtdWx0aXBsZSBhcHBzIG1hbmFnZW1lbnRcbiAgICBpbnN0YWxsQXBwOiAnbW9iaWxlSW5zdGFsbEFwcCcsXG4gICAgaXNBcHBJbnN0YWxsZWQ6ICdtb2JpbGVJc0FwcEluc3RhbGxlZCcsXG4gICAgcmVtb3ZlQXBwOiAnbW9iaWxlUmVtb3ZlQXBwJyxcbiAgICBsYXVuY2hBcHA6ICdtb2JpbGVMYXVuY2hBcHAnLFxuICAgIHRlcm1pbmF0ZUFwcDogJ21vYmlsZVRlcm1pbmF0ZUFwcCcsXG4gICAga2lsbEFwcDogJ21vYmlsZUtpbGxBcHAnLFxuICAgIHF1ZXJ5QXBwU3RhdGU6ICdtb2JpbGVRdWVyeUFwcFN0YXRlJyxcbiAgICBhY3RpdmF0ZUFwcDogJ21vYmlsZUFjdGl2YXRlQXBwJyxcbiAgICBsaXN0QXBwczogJ21vYmlsZUxpc3RBcHBzJyxcbiAgICAvL2VuZHJlZ2lvbiBtdWx0aXBsZSBhcHBzIG1hbmFnZW1lbnRcblxuICAgIHZpZXdwb3J0U2NyZWVuc2hvdDogJ2dldFZpZXdwb3J0U2NyZWVuc2hvdCcsXG4gICAgdmlld3BvcnRSZWN0OiAnZ2V0Vmlld3BvcnRSZWN0JyxcblxuICAgIHN0YXJ0UGVyZlJlY29yZDogJ21vYmlsZVN0YXJ0UGVyZlJlY29yZCcsXG4gICAgc3RvcFBlcmZSZWNvcmQ6ICdtb2JpbGVTdG9wUGVyZlJlY29yZCcsXG5cbiAgICBpbnN0YWxsQ2VydGlmaWNhdGU6ICdtb2JpbGVJbnN0YWxsQ2VydGlmaWNhdGUnLFxuICAgIGxpc3RDZXJ0aWZpY2F0ZXM6ICdtb2JpbGVMaXN0Q2VydGlmaWNhdGVzJyxcblxuICAgIHN0YXJ0TG9nc0Jyb2FkY2FzdDogJ21vYmlsZVN0YXJ0TG9nc0Jyb2FkY2FzdCcsXG4gICAgc3RvcExvZ3NCcm9hZGNhc3Q6ICdtb2JpbGVTdG9wTG9nc0Jyb2FkY2FzdCcsXG5cbiAgICBiYXR0ZXJ5SW5mbzogJ21vYmlsZUdldEJhdHRlcnlJbmZvJyxcbiAgICBkZXZpY2VJbmZvOiAnbW9iaWxlR2V0RGV2aWNlSW5mbycsXG4gICAgZ2V0RGV2aWNlVGltZTogJ21vYmlsZUdldERldmljZVRpbWUnLFxuICAgIGFjdGl2ZUFwcEluZm86ICdtb2JpbGVHZXRBY3RpdmVBcHBJbmZvJyxcbiAgICBkZXZpY2VTY3JlZW5JbmZvOiAnZ2V0U2NyZWVuSW5mbycsXG5cbiAgICBwcmVzc0J1dHRvbjogJ21vYmlsZVByZXNzQnV0dG9uJyxcblxuICAgIGVucm9sbEJpb21ldHJpYzogJ21vYmlsZUVucm9sbEJpb21ldHJpYycsXG4gICAgc2VuZEJpb21ldHJpY01hdGNoOiAnbW9iaWxlU2VuZEJpb21ldHJpY01hdGNoJyxcbiAgICBpc0Jpb21ldHJpY0Vucm9sbGVkOiAnbW9iaWxlSXNCaW9tZXRyaWNFbnJvbGxlZCcsXG5cbiAgICBjbGVhcktleWNoYWluczogJ21vYmlsZUNsZWFyS2V5Y2hhaW5zJyxcblxuICAgIGdldFBlcm1pc3Npb246ICdtb2JpbGVHZXRQZXJtaXNzaW9uJyxcbiAgICBzZXRQZXJtaXNzaW9uOiAnbW9iaWxlU2V0UGVybWlzc2lvbnMnLFxuICAgIHJlc2V0UGVybWlzc2lvbjogJ21vYmlsZVJlc2V0UGVybWlzc2lvbicsXG5cbiAgICBnZXRBcHBlYXJhbmNlOiAnbW9iaWxlR2V0QXBwZWFyYW5jZScsXG4gICAgc2V0QXBwZWFyYW5jZTogJ21vYmlsZVNldEFwcGVhcmFuY2UnLFxuXG4gICAgc2lyaUNvbW1hbmQ6ICdtb2JpbGVTaXJpQ29tbWFuZCcsXG5cbiAgICBwdXNoRmlsZTogJ21vYmlsZVB1c2hGaWxlJyxcbiAgICBwdWxsRmlsZTogJ21vYmlsZVB1bGxGaWxlJyxcbiAgICBwdWxsRm9sZGVyOiAnbW9iaWxlUHVsbEZvbGRlcicsXG4gICAgZGVsZXRlRmlsZTogJ21vYmlsZURlbGV0ZUZpbGUnLFxuICAgIGRlbGV0ZUZvbGRlcjogJ21vYmlsZURlbGV0ZUZvbGRlcicsXG5cbiAgICBzdGFydEF1ZGlvUmVjb3JkaW5nOiAnc3RhcnRBdWRpb1JlY29yZGluZycsXG4gICAgc3RvcEF1ZGlvUmVjb3JkaW5nOiAnc3RvcEF1ZGlvUmVjb3JkaW5nJyxcblxuICAgIC8vIFhDVGVzdFxuICAgIHJ1blhDVGVzdDogJ21vYmlsZVJ1blhDVGVzdCcsXG4gICAgaW5zdGFsbFhDVGVzdEJ1bmRsZTogJ21vYmlsZUluc3RhbGxYQ1Rlc3RCdW5kbGUnLFxuICAgIGxpc3RYQ1Rlc3RCdW5kbGVzOiAnbW9iaWxlTGlzdFhDVGVzdEJ1bmRsZXMnLFxuICAgIGxpc3RYQ1Rlc3RzSW5UZXN0QnVuZGxlOiAnbW9iaWxlTGlzdFhDVGVzdHNJblRlc3RCdW5kbGUnLFxuXG4gICAgcHVzaE5vdGlmaWNhdGlvbjogJ21vYmlsZVB1c2hOb3RpZmljYXRpb24nLFxuICAgIGV4cGVjdE5vdGlmaWNhdGlvbjogJ21vYmlsZUV4cGVjdE5vdGlmaWNhdGlvbicsXG5cbiAgICBwZXJmb3JtSW9IaWRFdmVudDogJ21vYmlsZVBlcmZvcm1Jb0hpZEV2ZW50JyxcblxuICAgIGNvbmZpZ3VyZUxvY2FsaXphdGlvbjogJ21vYmlsZUNvbmZpZ3VyZUxvY2FsaXphdGlvbicsXG5cbiAgICByZXNldExvY2F0aW9uU2VydmljZTogJ21vYmlsZVJlc2V0TG9jYXRpb25TZXJ2aWNlJyxcblxuICAgIHN0YXJ0UGNhcDogJ21vYmlsZVN0YXJ0UGNhcCcsXG4gICAgc3RvcFBjYXA6ICdtb2JpbGVTdG9wUGNhcCcsXG4gICAgbGlzdENvbmRpdGlvbkluZHVjZXJzOiAnbW9iaWxlTGlzdENvbmRpdGlvbkluZHVjZXJzJyxcbiAgICBlbmFibGVDb25kaXRpb25JbmR1Y2VyOiAnbW9iaWxlRW5hYmxlQ29uZGl0aW9uSW5kdWNlcicsXG4gICAgZGlzYWJsZUNvbmRpdGlvbkluZHVjZXI6ICdtb2JpbGVEaXNhYmxlQ29uZGl0aW9uSW5kdWNlcicsXG4gIH07XG5cbiAgaWYgKCFfLmhhcyhjb21tYW5kTWFwLCBtb2JpbGVDb21tYW5kKSkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuVW5rbm93bkNvbW1hbmRFcnJvcihgVW5rbm93biBtb2JpbGUgY29tbWFuZCAnJHttb2JpbGVDb21tYW5kfScuIE9ubHkgJHtfLmtleXMoY29tbWFuZE1hcCkuam9pbignLCAnKX0gY29tbWFuZHMgYXJlIHN1cHBvcnRlZC5gKTtcbiAgfVxuICByZXR1cm4gYXdhaXQgdGhpc1tjb21tYW5kTWFwW21vYmlsZUNvbW1hbmRdXShvcHRzKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGV4dGVuc2lvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUdBO0FBRUEsTUFBTUEsVUFBVSxHQUFHLENBQUMsQ0FBQztBQUVyQkEsVUFBVSxDQUFDQyxvQkFBb0IsR0FBRyxlQUFlQSxvQkFBb0IsQ0FBRUMsTUFB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
|
|
132
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleHRlbnNpb25zIiwicmVjZWl2ZUFzeW5jUmVzcG9uc2UiLCJzdGF0dXMiLCJ2YWx1ZSIsImxvZyIsImRlYnVnIiwiSlNPTiIsInN0cmluZ2lmeSIsInV0aWwiLCJoYXNWYWx1ZSIsImFzeW5jUHJvbWlzZSIsIndhcm4iLCJyZWplY3QiLCJlcnJvckZyb21Db2RlIiwibWVzc2FnZSIsIl8iLCJpc1N0cmluZyIsImVycm9yIiwiZXJyb3JGcm9tVzNDSnNvbkNvZGUiLCJzdGFja3RyYWNlIiwicmVzb2x2ZSIsImV4ZWN1dGUiLCJzY3JpcHQiLCJhcmdzIiwibWF0Y2giLCJyZXBsYWNlIiwidHJpbSIsImV4ZWN1dGVNb2JpbGUiLCJpc0FycmF5IiwiaXNXZWJDb250ZXh0IiwiY29udmVydEVsZW1lbnRzRm9yQXRvbXMiLCJyZXN1bHQiLCJleGVjdXRlQXRvbSIsImNhY2hlV2ViRWxlbWVudHMiLCJlcnJvcnMiLCJOb3RJbXBsZW1lbnRlZEVycm9yIiwiZXhlY3V0ZUFzeW5jIiwiYXN5bmNXYWl0TXMiLCJwcm9taXNlIiwicmVtb3RlIiwiZXhlY3V0ZUF0b21Bc3luYyIsImN1cldlYkZyYW1lcyIsIndhaXRGb3JBdG9tIiwibW9iaWxlQ29tbWFuZCIsIm9wdHMiLCJjb21tYW5kTWFwIiwidGFwIiwic2Nyb2xsIiwic2VsZWN0UGlja2VyV2hlZWxWYWx1ZSIsInN3aXBlIiwicGluY2giLCJkb3VibGVUYXAiLCJ0d29GaW5nZXJUYXAiLCJ0YXBXaXRoTnVtYmVyT2ZUYXBzIiwidG91Y2hBbmRIb2xkIiwiZHJhZ0Zyb21Ub0ZvckR1cmF0aW9uIiwicm90YXRlRWxlbWVudCIsImRyYWdGcm9tVG9XaXRoVmVsb2NpdHkiLCJmb3JjZVByZXNzIiwic2Nyb2xsVG9FbGVtZW50IiwiYWxlcnQiLCJzZXRQYXN0ZWJvYXJkIiwiZ2V0UGFzdGVib2FyZCIsInNvdXJjZSIsImdldENvbnRleHRzIiwiaW5zdGFsbEFwcCIsImlzQXBwSW5zdGFsbGVkIiwicmVtb3ZlQXBwIiwibGF1bmNoQXBwIiwidGVybWluYXRlQXBwIiwia2lsbEFwcCIsInF1ZXJ5QXBwU3RhdGUiLCJhY3RpdmF0ZUFwcCIsImxpc3RBcHBzIiwidmlld3BvcnRTY3JlZW5zaG90Iiwidmlld3BvcnRSZWN0Iiwic3RhcnRQZXJmUmVjb3JkIiwic3RvcFBlcmZSZWNvcmQiLCJpbnN0YWxsQ2VydGlmaWNhdGUiLCJsaXN0Q2VydGlmaWNhdGVzIiwic3RhcnRMb2dzQnJvYWRjYXN0Iiwic3RvcExvZ3NCcm9hZGNhc3QiLCJiYXR0ZXJ5SW5mbyIsImRldmljZUluZm8iLCJnZXREZXZpY2VUaW1lIiwiYWN0aXZlQXBwSW5mbyIsImRldmljZVNjcmVlbkluZm8iLCJwcmVzc0J1dHRvbiIsImVucm9sbEJpb21ldHJpYyIsInNlbmRCaW9tZXRyaWNNYXRjaCIsImlzQmlvbWV0cmljRW5yb2xsZWQiLCJjbGVhcktleWNoYWlucyIsImdldFBlcm1pc3Npb24iLCJzZXRQZXJtaXNzaW9uIiwicmVzZXRQZXJtaXNzaW9uIiwiZ2V0QXBwZWFyYW5jZSIsInNldEFwcGVhcmFuY2UiLCJzaXJpQ29tbWFuZCIsInB1c2hGaWxlIiwicHVsbEZpbGUiLCJwdWxsRm9sZGVyIiwiZGVsZXRlRmlsZSIsImRlbGV0ZUZvbGRlciIsInN0YXJ0QXVkaW9SZWNvcmRpbmciLCJzdG9wQXVkaW9SZWNvcmRpbmciLCJydW5YQ1Rlc3QiLCJpbnN0YWxsWENUZXN0QnVuZGxlIiwibGlzdFhDVGVzdEJ1bmRsZXMiLCJsaXN0WENUZXN0c0luVGVzdEJ1bmRsZSIsInB1c2hOb3RpZmljYXRpb24iLCJleHBlY3ROb3RpZmljYXRpb24iLCJwZXJmb3JtSW9IaWRFdmVudCIsImNvbmZpZ3VyZUxvY2FsaXphdGlvbiIsInJlc2V0TG9jYXRpb25TZXJ2aWNlIiwic3RhcnRQY2FwIiwic3RvcFBjYXAiLCJsaXN0Q29uZGl0aW9uSW5kdWNlcnMiLCJlbmFibGVDb25kaXRpb25JbmR1Y2VyIiwiZGlzYWJsZUNvbmRpdGlvbkluZHVjZXIiLCJ1cGRhdGVTYWZhcmlQcmVmZXJlbmNlcyIsImhhcyIsIlVua25vd25Db21tYW5kRXJyb3IiLCJrZXlzIiwiam9pbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9leGVjdXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1xuICBlcnJvcnMsIGVycm9yRnJvbUNvZGUsIGVycm9yRnJvbVczQ0pzb25Db2RlXG59IGZyb20gJ2FwcGl1bS9kcml2ZXInO1xuaW1wb3J0IHsgdXRpbCB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcblxuY29uc3QgZXh0ZW5zaW9ucyA9IHt9O1xuXG5leHRlbnNpb25zLnJlY2VpdmVBc3luY1Jlc3BvbnNlID0gYXN5bmMgZnVuY3Rpb24gcmVjZWl2ZUFzeW5jUmVzcG9uc2UgKHN0YXR1cywgdmFsdWUpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByZXF1aXJlLWF3YWl0XG4gIHRoaXMubG9nLmRlYnVnKGBSZWNlaXZlZCBhc3luYyByZXNwb25zZTogJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gIGlmICghdXRpbC5oYXNWYWx1ZSh0aGlzLmFzeW5jUHJvbWlzZSkpIHtcbiAgICB0aGlzLmxvZy53YXJuKGBSZWNlaXZlZCBhc3luYyByZXNwb25zZSB3aGVuIHdlIHdlcmUgbm90IGV4cGVjdGluZyBvbmUhIGAgK1xuICAgICAgYFJlc3BvbnNlIHdhczogJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHV0aWwuaGFzVmFsdWUoc3RhdHVzKSAmJiBzdGF0dXMgIT09IDApIHtcbiAgICAvLyBNSlNPTldQXG4gICAgcmV0dXJuIHRoaXMuYXN5bmNQcm9taXNlLnJlamVjdChlcnJvckZyb21Db2RlKHN0YXR1cywgdmFsdWUubWVzc2FnZSkpO1xuICB9XG4gIGlmICghdXRpbC5oYXNWYWx1ZShzdGF0dXMpICYmIHZhbHVlICYmIF8uaXNTdHJpbmcodmFsdWUuZXJyb3IpKSB7XG4gICAgLy8gVzNDXG4gICAgcmV0dXJuIHRoaXMuYXN5bmNQcm9taXNlLnJlamVjdChlcnJvckZyb21XM0NKc29uQ29kZSh2YWx1ZS5lcnJvciwgdmFsdWUubWVzc2FnZSwgdmFsdWUuc3RhY2t0cmFjZSkpO1xuICB9XG4gIHJldHVybiB0aGlzLmFzeW5jUHJvbWlzZS5yZXNvbHZlKHZhbHVlKTtcbn07XG5cbmV4dGVuc2lvbnMuZXhlY3V0ZSA9IGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGUgKHNjcmlwdCwgYXJncykge1xuICBpZiAoc2NyaXB0Lm1hdGNoKC9ebW9iaWxlOi8pKSB7XG4gICAgc2NyaXB0ID0gc2NyaXB0LnJlcGxhY2UoL15tb2JpbGU6LywgJycpLnRyaW0oKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlTW9iaWxlKHNjcmlwdCwgXy5pc0FycmF5KGFyZ3MpID8gYXJnc1swXSA6IGFyZ3MpO1xuICB9IGVsc2UgaWYgKHRoaXMuaXNXZWJDb250ZXh0KCkpIHtcbiAgICBhcmdzID0gdGhpcy5jb252ZXJ0RWxlbWVudHNGb3JBdG9tcyhhcmdzKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmV4ZWN1dGVBdG9tKCdleGVjdXRlX3NjcmlwdCcsIFtzY3JpcHQsIGFyZ3NdKTtcbiAgICByZXR1cm4gdGhpcy5jYWNoZVdlYkVsZW1lbnRzKHJlc3VsdCk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cbn07XG5cbmV4dGVuc2lvbnMuZXhlY3V0ZUFzeW5jID0gYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUFzeW5jIChzY3JpcHQsIGFyZ3MpIHtcbiAgaWYgKCF0aGlzLmlzV2ViQ29udGV4dCgpKSB7XG4gICAgdGhyb3cgbmV3IGVycm9ycy5Ob3RJbXBsZW1lbnRlZEVycm9yKCk7XG4gIH1cblxuICBhcmdzID0gdGhpcy5jb252ZXJ0RWxlbWVudHNGb3JBdG9tcyhhcmdzKTtcbiAgdGhpcy5hc3luY1dhaXRNcyA9IHRoaXMuYXN5bmNXYWl0TXMgfHwgMDtcbiAgY29uc3QgcHJvbWlzZSA9IHRoaXMucmVtb3RlLmV4ZWN1dGVBdG9tQXN5bmMoJ2V4ZWN1dGVfYXN5bmNfc2NyaXB0JywgW1xuICAgIHNjcmlwdCwgYXJncywgdGhpcy5hc3luY1dhaXRNc1xuICBdLCB0aGlzLmN1cldlYkZyYW1lcyk7XG4gIHJldHVybiB0aGlzLmNhY2hlV2ViRWxlbWVudHMoYXdhaXQgdGhpcy53YWl0Rm9yQXRvbShwcm9taXNlKSk7XG59O1xuXG5leHRlbnNpb25zLmV4ZWN1dGVNb2JpbGUgPSBhc3luYyBmdW5jdGlvbiBleGVjdXRlTW9iaWxlIChtb2JpbGVDb21tYW5kLCBvcHRzID0ge30pIHtcbiAgY29uc3QgY29tbWFuZE1hcCA9IHtcbiAgICAvL3JlZ2lvbiBnZXN0dXJlcyBzdXBwb3J0XG4gICAgdGFwOiAnbW9iaWxlVGFwJyxcbiAgICBzY3JvbGw6ICdtb2JpbGVTY3JvbGwnLFxuICAgIHNlbGVjdFBpY2tlcldoZWVsVmFsdWU6ICdtb2JpbGVTZWxlY3RQaWNrZXJXaGVlbFZhbHVlJyxcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY2OC1zd2lwZWxlZnQ/bGFuZ3VhZ2U9b2JqY1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4Njc0LXN3aXBlcmlnaHQ/bGFuZ3VhZ2U9b2JqY1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4NjY3LXN3aXBldXA/bGFuZ3VhZ2U9b2JqY1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4NjY0LXN3aXBlZG93bj9sYW5ndWFnZT1vYmpjXG4gICAgc3dpcGU6ICdtb2JpbGVTd2lwZScsXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWllbGVtZW50LzE2MTg2NjktcGluY2h3aXRoc2NhbGU/bGFuZ3VhZ2U9b2JqY1xuICAgIHBpbmNoOiAnbW9iaWxlUGluY2gnLFxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4NjczLWRvdWJsZXRhcD9sYW5ndWFnZT1vYmpjXG4gICAgZG91YmxlVGFwOiAnbW9iaWxlRG91YmxlVGFwJyxcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY3NS10d29maW5nZXJ0YXA/bGFuZ3VhZ2U9b2JqY1xuICAgIHR3b0ZpbmdlclRhcDogJ21vYmlsZVR3b0ZpbmdlclRhcCcsXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWllbGVtZW50LzE2MTg2NzEtdGFwd2l0aG51bWJlcm9mdGFwcz9sYW5ndWFnZT1vYmpjXG4gICAgdGFwV2l0aE51bWJlck9mVGFwczogJ21vYmlsZVRhcFdpdGhOdW1iZXJPZlRhcHMnLFxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL3hjdGVzdC94Y3VpZWxlbWVudC8xNjE4NjYzLXByZXNzZm9yZHVyYXRpb24/bGFuZ3VhZ2U9b2JqY1xuICAgIHRvdWNoQW5kSG9sZDogJ21vYmlsZVRvdWNoQW5kSG9sZCcsXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGN0ZXN0L3hjdWllbGVtZW50LzE2MTg2NzAtcHJlc3Nmb3JkdXJhdGlvbj9sYW5ndWFnZT1vYmpjXG4gICAgZHJhZ0Zyb21Ub0ZvckR1cmF0aW9uOiAnbW9iaWxlRHJhZ0Zyb21Ub0ZvckR1cmF0aW9uJyxcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWVsZW1lbnQvMTYxODY2NS1yb3RhdGU/bGFuZ3VhZ2U9b2JqY1xuICAgIHJvdGF0ZUVsZW1lbnQ6ICdtb2JpbGVSb3RhdGVFbGVtZW50JyxcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1lbnRhdGlvbi94Y3Rlc3QveGN1aWNvb3JkaW5hdGUvMzU1MTY5Mi1wcmVzc2ZvcmR1cmF0aW9uP2xhbmd1YWdlPW9iamNcbiAgICBkcmFnRnJvbVRvV2l0aFZlbG9jaXR5OiAnbW9iaWxlRHJhZ0Zyb21Ub1dpdGhWZWxvY2l0eScsXG4gICAgZm9yY2VQcmVzczogJ21vYmlsZUZvcmNlUHJlc3MnLFxuICAgIHNjcm9sbFRvRWxlbWVudDogJ21vYmlsZVNjcm9sbFRvRWxlbWVudCcsXG5cbiAgICAvL2VuZHJlZ2lvbiBnZXN0dXJlcyBzdXBwb3J0XG4gICAgYWxlcnQ6ICdtb2JpbGVIYW5kbGVBbGVydCcsXG5cbiAgICBzZXRQYXN0ZWJvYXJkOiAnbW9iaWxlU2V0UGFzdGVib2FyZCcsXG4gICAgZ2V0UGFzdGVib2FyZDogJ21vYmlsZUdldFBhc3RlYm9hcmQnLFxuXG4gICAgc291cmNlOiAnbW9iaWxlR2V0U291cmNlJyxcbiAgICBnZXRDb250ZXh0czogJ21vYmlsZUdldENvbnRleHRzJyxcblxuICAgIC8vcmVnaW9uIG11bHRpcGxlIGFwcHMgbWFuYWdlbWVudFxuICAgIGluc3RhbGxBcHA6ICdtb2JpbGVJbnN0YWxsQXBwJyxcbiAgICBpc0FwcEluc3RhbGxlZDogJ21vYmlsZUlzQXBwSW5zdGFsbGVkJyxcbiAgICByZW1vdmVBcHA6ICdtb2JpbGVSZW1vdmVBcHAnLFxuICAgIGxhdW5jaEFwcDogJ21vYmlsZUxhdW5jaEFwcCcsXG4gICAgdGVybWluYXRlQXBwOiAnbW9iaWxlVGVybWluYXRlQXBwJyxcbiAgICBraWxsQXBwOiAnbW9iaWxlS2lsbEFwcCcsXG4gICAgcXVlcnlBcHBTdGF0ZTogJ21vYmlsZVF1ZXJ5QXBwU3RhdGUnLFxuICAgIGFjdGl2YXRlQXBwOiAnbW9iaWxlQWN0aXZhdGVBcHAnLFxuICAgIGxpc3RBcHBzOiAnbW9iaWxlTGlzdEFwcHMnLFxuICAgIC8vZW5kcmVnaW9uIG11bHRpcGxlIGFwcHMgbWFuYWdlbWVudFxuXG4gICAgdmlld3BvcnRTY3JlZW5zaG90OiAnZ2V0Vmlld3BvcnRTY3JlZW5zaG90JyxcbiAgICB2aWV3cG9ydFJlY3Q6ICdnZXRWaWV3cG9ydFJlY3QnLFxuXG4gICAgc3RhcnRQZXJmUmVjb3JkOiAnbW9iaWxlU3RhcnRQZXJmUmVjb3JkJyxcbiAgICBzdG9wUGVyZlJlY29yZDogJ21vYmlsZVN0b3BQZXJmUmVjb3JkJyxcblxuICAgIGluc3RhbGxDZXJ0aWZpY2F0ZTogJ21vYmlsZUluc3RhbGxDZXJ0aWZpY2F0ZScsXG4gICAgbGlzdENlcnRpZmljYXRlczogJ21vYmlsZUxpc3RDZXJ0aWZpY2F0ZXMnLFxuXG4gICAgc3RhcnRMb2dzQnJvYWRjYXN0OiAnbW9iaWxlU3RhcnRMb2dzQnJvYWRjYXN0JyxcbiAgICBzdG9wTG9nc0Jyb2FkY2FzdDogJ21vYmlsZVN0b3BMb2dzQnJvYWRjYXN0JyxcblxuICAgIGJhdHRlcnlJbmZvOiAnbW9iaWxlR2V0QmF0dGVyeUluZm8nLFxuICAgIGRldmljZUluZm86ICdtb2JpbGVHZXREZXZpY2VJbmZvJyxcbiAgICBnZXREZXZpY2VUaW1lOiAnbW9iaWxlR2V0RGV2aWNlVGltZScsXG4gICAgYWN0aXZlQXBwSW5mbzogJ21vYmlsZUdldEFjdGl2ZUFwcEluZm8nLFxuICAgIGRldmljZVNjcmVlbkluZm86ICdnZXRTY3JlZW5JbmZvJyxcblxuICAgIHByZXNzQnV0dG9uOiAnbW9iaWxlUHJlc3NCdXR0b24nLFxuXG4gICAgZW5yb2xsQmlvbWV0cmljOiAnbW9iaWxlRW5yb2xsQmlvbWV0cmljJyxcbiAgICBzZW5kQmlvbWV0cmljTWF0Y2g6ICdtb2JpbGVTZW5kQmlvbWV0cmljTWF0Y2gnLFxuICAgIGlzQmlvbWV0cmljRW5yb2xsZWQ6ICdtb2JpbGVJc0Jpb21ldHJpY0Vucm9sbGVkJyxcblxuICAgIGNsZWFyS2V5Y2hhaW5zOiAnbW9iaWxlQ2xlYXJLZXljaGFpbnMnLFxuXG4gICAgZ2V0UGVybWlzc2lvbjogJ21vYmlsZUdldFBlcm1pc3Npb24nLFxuICAgIHNldFBlcm1pc3Npb246ICdtb2JpbGVTZXRQZXJtaXNzaW9ucycsXG4gICAgcmVzZXRQZXJtaXNzaW9uOiAnbW9iaWxlUmVzZXRQZXJtaXNzaW9uJyxcblxuICAgIGdldEFwcGVhcmFuY2U6ICdtb2JpbGVHZXRBcHBlYXJhbmNlJyxcbiAgICBzZXRBcHBlYXJhbmNlOiAnbW9iaWxlU2V0QXBwZWFyYW5jZScsXG5cbiAgICBzaXJpQ29tbWFuZDogJ21vYmlsZVNpcmlDb21tYW5kJyxcblxuICAgIHB1c2hGaWxlOiAnbW9iaWxlUHVzaEZpbGUnLFxuICAgIHB1bGxGaWxlOiAnbW9iaWxlUHVsbEZpbGUnLFxuICAgIHB1bGxGb2xkZXI6ICdtb2JpbGVQdWxsRm9sZGVyJyxcbiAgICBkZWxldGVGaWxlOiAnbW9iaWxlRGVsZXRlRmlsZScsXG4gICAgZGVsZXRlRm9sZGVyOiAnbW9iaWxlRGVsZXRlRm9sZGVyJyxcblxuICAgIHN0YXJ0QXVkaW9SZWNvcmRpbmc6ICdzdGFydEF1ZGlvUmVjb3JkaW5nJyxcbiAgICBzdG9wQXVkaW9SZWNvcmRpbmc6ICdzdG9wQXVkaW9SZWNvcmRpbmcnLFxuXG4gICAgLy8gWENUZXN0XG4gICAgcnVuWENUZXN0OiAnbW9iaWxlUnVuWENUZXN0JyxcbiAgICBpbnN0YWxsWENUZXN0QnVuZGxlOiAnbW9iaWxlSW5zdGFsbFhDVGVzdEJ1bmRsZScsXG4gICAgbGlzdFhDVGVzdEJ1bmRsZXM6ICdtb2JpbGVMaXN0WENUZXN0QnVuZGxlcycsXG4gICAgbGlzdFhDVGVzdHNJblRlc3RCdW5kbGU6ICdtb2JpbGVMaXN0WENUZXN0c0luVGVzdEJ1bmRsZScsXG5cbiAgICBwdXNoTm90aWZpY2F0aW9uOiAnbW9iaWxlUHVzaE5vdGlmaWNhdGlvbicsXG4gICAgZXhwZWN0Tm90aWZpY2F0aW9uOiAnbW9iaWxlRXhwZWN0Tm90aWZpY2F0aW9uJyxcblxuICAgIHBlcmZvcm1Jb0hpZEV2ZW50OiAnbW9iaWxlUGVyZm9ybUlvSGlkRXZlbnQnLFxuXG4gICAgY29uZmlndXJlTG9jYWxpemF0aW9uOiAnbW9iaWxlQ29uZmlndXJlTG9jYWxpemF0aW9uJyxcblxuICAgIHJlc2V0TG9jYXRpb25TZXJ2aWNlOiAnbW9iaWxlUmVzZXRMb2NhdGlvblNlcnZpY2UnLFxuXG4gICAgc3RhcnRQY2FwOiAnbW9iaWxlU3RhcnRQY2FwJyxcbiAgICBzdG9wUGNhcDogJ21vYmlsZVN0b3BQY2FwJyxcbiAgICBsaXN0Q29uZGl0aW9uSW5kdWNlcnM6ICdtb2JpbGVMaXN0Q29uZGl0aW9uSW5kdWNlcnMnLFxuICAgIGVuYWJsZUNvbmRpdGlvbkluZHVjZXI6ICdtb2JpbGVFbmFibGVDb25kaXRpb25JbmR1Y2VyJyxcbiAgICBkaXNhYmxlQ29uZGl0aW9uSW5kdWNlcjogJ21vYmlsZURpc2FibGVDb25kaXRpb25JbmR1Y2VyJyxcblxuICAgIHVwZGF0ZVNhZmFyaVByZWZlcmVuY2VzOiAnbW9iaWxlVXBkYXRlU2FmYXJpUHJlZmVyZW5jZXMnLFxuICB9O1xuXG4gIGlmICghXy5oYXMoY29tbWFuZE1hcCwgbW9iaWxlQ29tbWFuZCkpIHtcbiAgICB0aHJvdyBuZXcgZXJyb3JzLlVua25vd25Db21tYW5kRXJyb3IoYFVua25vd24gbW9iaWxlIGNvbW1hbmQgJyR7bW9iaWxlQ29tbWFuZH0nLiBPbmx5ICR7Xy5rZXlzKGNvbW1hbmRNYXApLmpvaW4oJywgJyl9IGNvbW1hbmRzIGFyZSBzdXBwb3J0ZWQuYCk7XG4gIH1cbiAgcmV0dXJuIGF3YWl0IHRoaXNbY29tbWFuZE1hcFttb2JpbGVDb21tYW5kXV0ob3B0cyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBleHRlbnNpb25zO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","names":["extensions","receiveAsyncResponse","status","value","log","debug","JSON","stringify","util","hasValue","asyncPromise","warn","reject","errorFromCode","message","_","isString","error","errorFromW3CJsonCode","stacktrace","resolve","execute","script","args","match","replace","trim","executeMobile","isArray","isWebContext","convertElementsForAtoms","result","executeAtom","cacheWebElements","errors","NotImplementedError","executeAsync","asyncWaitMs","promise","remote","executeAtomAsync","curWebFrames","waitForAtom","mobileCommand","opts","commandMap","tap","scroll","selectPickerWheelValue","swipe","pinch","doubleTap","twoFingerTap","tapWithNumberOfTaps","touchAndHold","dragFromToForDuration","rotateElement","dragFromToWithVelocity","forcePress","scrollToElement","alert","setPasteboard","getPasteboard","source","getContexts","installApp","isAppInstalled","removeApp","launchApp","terminateApp","killApp","queryAppState","activateApp","listApps","viewportScreenshot","viewportRect","startPerfRecord","stopPerfRecord","installCertificate","listCertificates","startLogsBroadcast","stopLogsBroadcast","batteryInfo","deviceInfo","getDeviceTime","activeAppInfo","deviceScreenInfo","pressButton","enrollBiometric","sendBiometricMatch","isBiometricEnrolled","clearKeychains","getPermission","setPermission","resetPermission","getAppearance","setAppearance","siriCommand","pushFile","pullFile","pullFolder","deleteFile","deleteFolder","startAudioRecording","stopAudioRecording","runXCTest","installXCTestBundle","listXCTestBundles","listXCTestsInTestBundle","pushNotification","expectNotification","performIoHidEvent","configureLocalization","resetLocationService","startPcap","stopPcap","listConditionInducers","enableConditionInducer","disableConditionInducer","has","UnknownCommandError","keys","join"],"sources":["../../../lib/commands/execute.js"],"sourcesContent":["import _ from 'lodash';\nimport {\n errors, errorFromCode, errorFromW3CJsonCode\n} from 'appium/driver';\nimport { util } from 'appium/support';\n\nconst extensions = {};\n\nextensions.receiveAsyncResponse = async function receiveAsyncResponse (status, value) { // eslint-disable-line require-await\n this.log.debug(`Received async response: ${JSON.stringify(value)}`);\n if (!util.hasValue(this.asyncPromise)) {\n this.log.warn(`Received async response when we were not expecting one! ` +\n `Response was: ${JSON.stringify(value)}`);\n return;\n }\n\n if (util.hasValue(status) && status !== 0) {\n // MJSONWP\n return this.asyncPromise.reject(errorFromCode(status, value.message));\n }\n if (!util.hasValue(status) && value && _.isString(value.error)) {\n // W3C\n return this.asyncPromise.reject(errorFromW3CJsonCode(value.error, value.message, value.stacktrace));\n }\n return this.asyncPromise.resolve(value);\n};\n\nextensions.execute = async function execute (script, args) {\n if (script.match(/^mobile:/)) {\n script = script.replace(/^mobile:/, '').trim();\n return await this.executeMobile(script, _.isArray(args) ? args[0] : args);\n } else if (this.isWebContext()) {\n args = this.convertElementsForAtoms(args);\n const result = await this.executeAtom('execute_script', [script, args]);\n return this.cacheWebElements(result);\n } else {\n throw new errors.NotImplementedError();\n }\n};\n\nextensions.executeAsync = async function executeAsync (script, args) {\n if (!this.isWebContext()) {\n throw new errors.NotImplementedError();\n }\n\n args = this.convertElementsForAtoms(args);\n this.asyncWaitMs = this.asyncWaitMs || 0;\n const promise = this.remote.executeAtomAsync('execute_async_script', [\n script, args, this.asyncWaitMs\n ], this.curWebFrames);\n return this.cacheWebElements(await this.waitForAtom(promise));\n};\n\nextensions.executeMobile = async function executeMobile (mobileCommand, opts = {}) {\n const commandMap = {\n //region gestures support\n tap: 'mobileTap',\n scroll: 'mobileScroll',\n selectPickerWheelValue: 'mobileSelectPickerWheelValue',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618668-swipeleft?language=objc\n // https://developer.apple.com/documentation/xctest/xcuielement/1618674-swiperight?language=objc\n // https://developer.apple.com/documentation/xctest/xcuielement/1618667-swipeup?language=objc\n // https://developer.apple.com/documentation/xctest/xcuielement/1618664-swipedown?language=objc\n swipe: 'mobileSwipe',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618669-pinchwithscale?language=objc\n pinch: 'mobilePinch',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618673-doubletap?language=objc\n doubleTap: 'mobileDoubleTap',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618675-twofingertap?language=objc\n twoFingerTap: 'mobileTwoFingerTap',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618671-tapwithnumberoftaps?language=objc\n tapWithNumberOfTaps: 'mobileTapWithNumberOfTaps',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618663-pressforduration?language=objc\n touchAndHold: 'mobileTouchAndHold',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618670-pressforduration?language=objc\n dragFromToForDuration: 'mobileDragFromToForDuration',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618665-rotate?language=objc\n rotateElement: 'mobileRotateElement',\n // https://developer.apple.com/documentation/xctest/xcuicoordinate/3551692-pressforduration?language=objc\n dragFromToWithVelocity: 'mobileDragFromToWithVelocity',\n forcePress: 'mobileForcePress',\n scrollToElement: 'mobileScrollToElement',\n\n //endregion gestures support\n alert: 'mobileHandleAlert',\n\n setPasteboard: 'mobileSetPasteboard',\n getPasteboard: 'mobileGetPasteboard',\n\n source: 'mobileGetSource',\n getContexts: 'mobileGetContexts',\n\n //region multiple apps management\n installApp: 'mobileInstallApp',\n isAppInstalled: 'mobileIsAppInstalled',\n removeApp: 'mobileRemoveApp',\n launchApp: 'mobileLaunchApp',\n terminateApp: 'mobileTerminateApp',\n killApp: 'mobileKillApp',\n queryAppState: 'mobileQueryAppState',\n activateApp: 'mobileActivateApp',\n listApps: 'mobileListApps',\n //endregion multiple apps management\n\n viewportScreenshot: 'getViewportScreenshot',\n viewportRect: 'getViewportRect',\n\n startPerfRecord: 'mobileStartPerfRecord',\n stopPerfRecord: 'mobileStopPerfRecord',\n\n installCertificate: 'mobileInstallCertificate',\n listCertificates: 'mobileListCertificates',\n\n startLogsBroadcast: 'mobileStartLogsBroadcast',\n stopLogsBroadcast: 'mobileStopLogsBroadcast',\n\n batteryInfo: 'mobileGetBatteryInfo',\n deviceInfo: 'mobileGetDeviceInfo',\n getDeviceTime: 'mobileGetDeviceTime',\n activeAppInfo: 'mobileGetActiveAppInfo',\n deviceScreenInfo: 'getScreenInfo',\n\n pressButton: 'mobilePressButton',\n\n enrollBiometric: 'mobileEnrollBiometric',\n sendBiometricMatch: 'mobileSendBiometricMatch',\n isBiometricEnrolled: 'mobileIsBiometricEnrolled',\n\n clearKeychains: 'mobileClearKeychains',\n\n getPermission: 'mobileGetPermission',\n setPermission: 'mobileSetPermissions',\n resetPermission: 'mobileResetPermission',\n\n getAppearance: 'mobileGetAppearance',\n setAppearance: 'mobileSetAppearance',\n\n siriCommand: 'mobileSiriCommand',\n\n pushFile: 'mobilePushFile',\n pullFile: 'mobilePullFile',\n pullFolder: 'mobilePullFolder',\n deleteFile: 'mobileDeleteFile',\n deleteFolder: 'mobileDeleteFolder',\n\n startAudioRecording: 'startAudioRecording',\n stopAudioRecording: 'stopAudioRecording',\n\n // XCTest\n runXCTest: 'mobileRunXCTest',\n installXCTestBundle: 'mobileInstallXCTestBundle',\n listXCTestBundles: 'mobileListXCTestBundles',\n listXCTestsInTestBundle: 'mobileListXCTestsInTestBundle',\n\n pushNotification: 'mobilePushNotification',\n expectNotification: 'mobileExpectNotification',\n\n performIoHidEvent: 'mobilePerformIoHidEvent',\n\n configureLocalization: 'mobileConfigureLocalization',\n\n resetLocationService: 'mobileResetLocationService',\n\n startPcap: 'mobileStartPcap',\n stopPcap: 'mobileStopPcap',\n listConditionInducers: 'mobileListConditionInducers',\n enableConditionInducer: 'mobileEnableConditionInducer',\n disableConditionInducer: 'mobileDisableConditionInducer',\n };\n\n if (!_.has(commandMap, mobileCommand)) {\n throw new errors.UnknownCommandError(`Unknown mobile command '${mobileCommand}'. Only ${_.keys(commandMap).join(', ')} commands are supported.`);\n }\n return await this[commandMap[mobileCommand]](opts);\n};\n\nexport default extensions;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","names":["extensions","receiveAsyncResponse","status","value","log","debug","JSON","stringify","util","hasValue","asyncPromise","warn","reject","errorFromCode","message","_","isString","error","errorFromW3CJsonCode","stacktrace","resolve","execute","script","args","match","replace","trim","executeMobile","isArray","isWebContext","convertElementsForAtoms","result","executeAtom","cacheWebElements","errors","NotImplementedError","executeAsync","asyncWaitMs","promise","remote","executeAtomAsync","curWebFrames","waitForAtom","mobileCommand","opts","commandMap","tap","scroll","selectPickerWheelValue","swipe","pinch","doubleTap","twoFingerTap","tapWithNumberOfTaps","touchAndHold","dragFromToForDuration","rotateElement","dragFromToWithVelocity","forcePress","scrollToElement","alert","setPasteboard","getPasteboard","source","getContexts","installApp","isAppInstalled","removeApp","launchApp","terminateApp","killApp","queryAppState","activateApp","listApps","viewportScreenshot","viewportRect","startPerfRecord","stopPerfRecord","installCertificate","listCertificates","startLogsBroadcast","stopLogsBroadcast","batteryInfo","deviceInfo","getDeviceTime","activeAppInfo","deviceScreenInfo","pressButton","enrollBiometric","sendBiometricMatch","isBiometricEnrolled","clearKeychains","getPermission","setPermission","resetPermission","getAppearance","setAppearance","siriCommand","pushFile","pullFile","pullFolder","deleteFile","deleteFolder","startAudioRecording","stopAudioRecording","runXCTest","installXCTestBundle","listXCTestBundles","listXCTestsInTestBundle","pushNotification","expectNotification","performIoHidEvent","configureLocalization","resetLocationService","startPcap","stopPcap","listConditionInducers","enableConditionInducer","disableConditionInducer","updateSafariPreferences","has","UnknownCommandError","keys","join"],"sources":["../../../lib/commands/execute.js"],"sourcesContent":["import _ from 'lodash';\nimport {\n errors, errorFromCode, errorFromW3CJsonCode\n} from 'appium/driver';\nimport { util } from 'appium/support';\n\nconst extensions = {};\n\nextensions.receiveAsyncResponse = async function receiveAsyncResponse (status, value) { // eslint-disable-line require-await\n this.log.debug(`Received async response: ${JSON.stringify(value)}`);\n if (!util.hasValue(this.asyncPromise)) {\n this.log.warn(`Received async response when we were not expecting one! ` +\n `Response was: ${JSON.stringify(value)}`);\n return;\n }\n\n if (util.hasValue(status) && status !== 0) {\n // MJSONWP\n return this.asyncPromise.reject(errorFromCode(status, value.message));\n }\n if (!util.hasValue(status) && value && _.isString(value.error)) {\n // W3C\n return this.asyncPromise.reject(errorFromW3CJsonCode(value.error, value.message, value.stacktrace));\n }\n return this.asyncPromise.resolve(value);\n};\n\nextensions.execute = async function execute (script, args) {\n if (script.match(/^mobile:/)) {\n script = script.replace(/^mobile:/, '').trim();\n return await this.executeMobile(script, _.isArray(args) ? args[0] : args);\n } else if (this.isWebContext()) {\n args = this.convertElementsForAtoms(args);\n const result = await this.executeAtom('execute_script', [script, args]);\n return this.cacheWebElements(result);\n } else {\n throw new errors.NotImplementedError();\n }\n};\n\nextensions.executeAsync = async function executeAsync (script, args) {\n if (!this.isWebContext()) {\n throw new errors.NotImplementedError();\n }\n\n args = this.convertElementsForAtoms(args);\n this.asyncWaitMs = this.asyncWaitMs || 0;\n const promise = this.remote.executeAtomAsync('execute_async_script', [\n script, args, this.asyncWaitMs\n ], this.curWebFrames);\n return this.cacheWebElements(await this.waitForAtom(promise));\n};\n\nextensions.executeMobile = async function executeMobile (mobileCommand, opts = {}) {\n const commandMap = {\n //region gestures support\n tap: 'mobileTap',\n scroll: 'mobileScroll',\n selectPickerWheelValue: 'mobileSelectPickerWheelValue',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618668-swipeleft?language=objc\n // https://developer.apple.com/documentation/xctest/xcuielement/1618674-swiperight?language=objc\n // https://developer.apple.com/documentation/xctest/xcuielement/1618667-swipeup?language=objc\n // https://developer.apple.com/documentation/xctest/xcuielement/1618664-swipedown?language=objc\n swipe: 'mobileSwipe',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618669-pinchwithscale?language=objc\n pinch: 'mobilePinch',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618673-doubletap?language=objc\n doubleTap: 'mobileDoubleTap',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618675-twofingertap?language=objc\n twoFingerTap: 'mobileTwoFingerTap',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618671-tapwithnumberoftaps?language=objc\n tapWithNumberOfTaps: 'mobileTapWithNumberOfTaps',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618663-pressforduration?language=objc\n touchAndHold: 'mobileTouchAndHold',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618670-pressforduration?language=objc\n dragFromToForDuration: 'mobileDragFromToForDuration',\n // https://developer.apple.com/documentation/xctest/xcuielement/1618665-rotate?language=objc\n rotateElement: 'mobileRotateElement',\n // https://developer.apple.com/documentation/xctest/xcuicoordinate/3551692-pressforduration?language=objc\n dragFromToWithVelocity: 'mobileDragFromToWithVelocity',\n forcePress: 'mobileForcePress',\n scrollToElement: 'mobileScrollToElement',\n\n //endregion gestures support\n alert: 'mobileHandleAlert',\n\n setPasteboard: 'mobileSetPasteboard',\n getPasteboard: 'mobileGetPasteboard',\n\n source: 'mobileGetSource',\n getContexts: 'mobileGetContexts',\n\n //region multiple apps management\n installApp: 'mobileInstallApp',\n isAppInstalled: 'mobileIsAppInstalled',\n removeApp: 'mobileRemoveApp',\n launchApp: 'mobileLaunchApp',\n terminateApp: 'mobileTerminateApp',\n killApp: 'mobileKillApp',\n queryAppState: 'mobileQueryAppState',\n activateApp: 'mobileActivateApp',\n listApps: 'mobileListApps',\n //endregion multiple apps management\n\n viewportScreenshot: 'getViewportScreenshot',\n viewportRect: 'getViewportRect',\n\n startPerfRecord: 'mobileStartPerfRecord',\n stopPerfRecord: 'mobileStopPerfRecord',\n\n installCertificate: 'mobileInstallCertificate',\n listCertificates: 'mobileListCertificates',\n\n startLogsBroadcast: 'mobileStartLogsBroadcast',\n stopLogsBroadcast: 'mobileStopLogsBroadcast',\n\n batteryInfo: 'mobileGetBatteryInfo',\n deviceInfo: 'mobileGetDeviceInfo',\n getDeviceTime: 'mobileGetDeviceTime',\n activeAppInfo: 'mobileGetActiveAppInfo',\n deviceScreenInfo: 'getScreenInfo',\n\n pressButton: 'mobilePressButton',\n\n enrollBiometric: 'mobileEnrollBiometric',\n sendBiometricMatch: 'mobileSendBiometricMatch',\n isBiometricEnrolled: 'mobileIsBiometricEnrolled',\n\n clearKeychains: 'mobileClearKeychains',\n\n getPermission: 'mobileGetPermission',\n setPermission: 'mobileSetPermissions',\n resetPermission: 'mobileResetPermission',\n\n getAppearance: 'mobileGetAppearance',\n setAppearance: 'mobileSetAppearance',\n\n siriCommand: 'mobileSiriCommand',\n\n pushFile: 'mobilePushFile',\n pullFile: 'mobilePullFile',\n pullFolder: 'mobilePullFolder',\n deleteFile: 'mobileDeleteFile',\n deleteFolder: 'mobileDeleteFolder',\n\n startAudioRecording: 'startAudioRecording',\n stopAudioRecording: 'stopAudioRecording',\n\n // XCTest\n runXCTest: 'mobileRunXCTest',\n installXCTestBundle: 'mobileInstallXCTestBundle',\n listXCTestBundles: 'mobileListXCTestBundles',\n listXCTestsInTestBundle: 'mobileListXCTestsInTestBundle',\n\n pushNotification: 'mobilePushNotification',\n expectNotification: 'mobileExpectNotification',\n\n performIoHidEvent: 'mobilePerformIoHidEvent',\n\n configureLocalization: 'mobileConfigureLocalization',\n\n resetLocationService: 'mobileResetLocationService',\n\n startPcap: 'mobileStartPcap',\n stopPcap: 'mobileStopPcap',\n listConditionInducers: 'mobileListConditionInducers',\n enableConditionInducer: 'mobileEnableConditionInducer',\n disableConditionInducer: 'mobileDisableConditionInducer',\n\n updateSafariPreferences: 'mobileUpdateSafariPreferences',\n };\n\n if (!_.has(commandMap, mobileCommand)) {\n throw new errors.UnknownCommandError(`Unknown mobile command '${mobileCommand}'. Only ${_.keys(commandMap).join(', ')} commands are supported.`);\n }\n return await this[commandMap[mobileCommand]](opts);\n};\n\nexport default extensions;\n"],"mappings":";;;;;;;;AAAA;AACA;AAGA;AAEA,MAAMA,UAAU,GAAG,CAAC,CAAC;AAErBA,UAAU,CAACC,oBAAoB,GAAG,eAAeA,oBAAoB,CAAEC,MAAM,EAAEC,KAAK,EAAE;EACpF,IAAI,CAACC,GAAG,CAACC,KAAK,CAAE,4BAA2BC,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAE,EAAC,CAAC;EACnE,IAAI,CAACK,aAAI,CAACC,QAAQ,CAAC,IAAI,CAACC,YAAY,CAAC,EAAE;IACrC,IAAI,CAACN,GAAG,CAACO,IAAI,CAAE,0DAAyD,GACrE,iBAAgBL,IAAI,CAACC,SAAS,CAACJ,KAAK,CAAE,EAAC,CAAC;IAC3C;EACF;EAEA,IAAIK,aAAI,CAACC,QAAQ,CAACP,MAAM,CAAC,IAAIA,MAAM,KAAK,CAAC,EAAE;IAEzC,OAAO,IAAI,CAACQ,YAAY,CAACE,MAAM,CAAC,IAAAC,qBAAa,EAACX,MAAM,EAAEC,KAAK,CAACW,OAAO,CAAC,CAAC;EACvE;EACA,IAAI,CAACN,aAAI,CAACC,QAAQ,CAACP,MAAM,CAAC,IAAIC,KAAK,IAAIY,eAAC,CAACC,QAAQ,CAACb,KAAK,CAACc,KAAK,CAAC,EAAE;IAE9D,OAAO,IAAI,CAACP,YAAY,CAACE,MAAM,CAAC,IAAAM,4BAAoB,EAACf,KAAK,CAACc,KAAK,EAAEd,KAAK,CAACW,OAAO,EAAEX,KAAK,CAACgB,UAAU,CAAC,CAAC;EACrG;EACA,OAAO,IAAI,CAACT,YAAY,CAACU,OAAO,CAACjB,KAAK,CAAC;AACzC,CAAC;AAEDH,UAAU,CAACqB,OAAO,GAAG,eAAeA,OAAO,CAAEC,MAAM,EAAEC,IAAI,EAAE;EACzD,IAAID,MAAM,CAACE,KAAK,CAAC,UAAU,CAAC,EAAE;IAC5BF,MAAM,GAAGA,MAAM,CAACG,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAACC,IAAI,EAAE;IAC9C,OAAO,MAAM,IAAI,CAACC,aAAa,CAACL,MAAM,EAAEP,eAAC,CAACa,OAAO,CAACL,IAAI,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC;EAC3E,CAAC,MAAM,IAAI,IAAI,CAACM,YAAY,EAAE,EAAE;IAC9BN,IAAI,GAAG,IAAI,CAACO,uBAAuB,CAACP,IAAI,CAAC;IACzC,MAAMQ,MAAM,GAAG,MAAM,IAAI,CAACC,WAAW,CAAC,gBAAgB,EAAE,CAACV,MAAM,EAAEC,IAAI,CAAC,CAAC;IACvE,OAAO,IAAI,CAACU,gBAAgB,CAACF,MAAM,CAAC;EACtC,CAAC,MAAM;IACL,MAAM,IAAIG,cAAM,CAACC,mBAAmB,EAAE;EACxC;AACF,CAAC;AAEDnC,UAAU,CAACoC,YAAY,GAAG,eAAeA,YAAY,CAAEd,MAAM,EAAEC,IAAI,EAAE;EACnE,IAAI,CAAC,IAAI,CAACM,YAAY,EAAE,EAAE;IACxB,MAAM,IAAIK,cAAM,CAACC,mBAAmB,EAAE;EACxC;EAEAZ,IAAI,GAAG,IAAI,CAACO,uBAAuB,CAACP,IAAI,CAAC;EACzC,IAAI,CAACc,WAAW,GAAG,IAAI,CAACA,WAAW,IAAI,CAAC;EACxC,MAAMC,OAAO,GAAG,IAAI,CAACC,MAAM,CAACC,gBAAgB,CAAC,sBAAsB,EAAE,CACnElB,MAAM,EAAEC,IAAI,EAAE,IAAI,CAACc,WAAW,CAC/B,EAAE,IAAI,CAACI,YAAY,CAAC;EACrB,OAAO,IAAI,CAACR,gBAAgB,CAAC,MAAM,IAAI,CAACS,WAAW,CAACJ,OAAO,CAAC,CAAC;AAC/D,CAAC;AAEDtC,UAAU,CAAC2B,aAAa,GAAG,eAAeA,aAAa,CAAEgB,aAAa,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;EACjF,MAAMC,UAAU,GAAG;IAEjBC,GAAG,EAAE,WAAW;IAChBC,MAAM,EAAE,cAAc;IACtBC,sBAAsB,EAAE,8BAA8B;IAKtDC,KAAK,EAAE,aAAa;IAEpBC,KAAK,EAAE,aAAa;IAEpBC,SAAS,EAAE,iBAAiB;IAE5BC,YAAY,EAAE,oBAAoB;IAElCC,mBAAmB,EAAE,2BAA2B;IAEhDC,YAAY,EAAE,oBAAoB;IAElCC,qBAAqB,EAAE,6BAA6B;IAEpDC,aAAa,EAAE,qBAAqB;IAEpCC,sBAAsB,EAAE,8BAA8B;IACtDC,UAAU,EAAE,kBAAkB;IAC9BC,eAAe,EAAE,uBAAuB;IAGxCC,KAAK,EAAE,mBAAmB;IAE1BC,aAAa,EAAE,qBAAqB;IACpCC,aAAa,EAAE,qBAAqB;IAEpCC,MAAM,EAAE,iBAAiB;IACzBC,WAAW,EAAE,mBAAmB;IAGhCC,UAAU,EAAE,kBAAkB;IAC9BC,cAAc,EAAE,sBAAsB;IACtCC,SAAS,EAAE,iBAAiB;IAC5BC,SAAS,EAAE,iBAAiB;IAC5BC,YAAY,EAAE,oBAAoB;IAClCC,OAAO,EAAE,eAAe;IACxBC,aAAa,EAAE,qBAAqB;IACpCC,WAAW,EAAE,mBAAmB;IAChCC,QAAQ,EAAE,gBAAgB;IAG1BC,kBAAkB,EAAE,uBAAuB;IAC3CC,YAAY,EAAE,iBAAiB;IAE/BC,eAAe,EAAE,uBAAuB;IACxCC,cAAc,EAAE,sBAAsB;IAEtCC,kBAAkB,EAAE,0BAA0B;IAC9CC,gBAAgB,EAAE,wBAAwB;IAE1CC,kBAAkB,EAAE,0BAA0B;IAC9CC,iBAAiB,EAAE,yBAAyB;IAE5CC,WAAW,EAAE,sBAAsB;IACnCC,UAAU,EAAE,qBAAqB;IACjCC,aAAa,EAAE,qBAAqB;IACpCC,aAAa,EAAE,wBAAwB;IACvCC,gBAAgB,EAAE,eAAe;IAEjCC,WAAW,EAAE,mBAAmB;IAEhCC,eAAe,EAAE,uBAAuB;IACxCC,kBAAkB,EAAE,0BAA0B;IAC9CC,mBAAmB,EAAE,2BAA2B;IAEhDC,cAAc,EAAE,sBAAsB;IAEtCC,aAAa,EAAE,qBAAqB;IACpCC,aAAa,EAAE,sBAAsB;IACrCC,eAAe,EAAE,uBAAuB;IAExCC,aAAa,EAAE,qBAAqB;IACpCC,aAAa,EAAE,qBAAqB;IAEpCC,WAAW,EAAE,mBAAmB;IAEhCC,QAAQ,EAAE,gBAAgB;IAC1BC,QAAQ,EAAE,gBAAgB;IAC1BC,UAAU,EAAE,kBAAkB;IAC9BC,UAAU,EAAE,kBAAkB;IAC9BC,YAAY,EAAE,oBAAoB;IAElCC,mBAAmB,EAAE,qBAAqB;IAC1CC,kBAAkB,EAAE,oBAAoB;IAGxCC,SAAS,EAAE,iBAAiB;IAC5BC,mBAAmB,EAAE,2BAA2B;IAChDC,iBAAiB,EAAE,yBAAyB;IAC5CC,uBAAuB,EAAE,+BAA+B;IAExDC,gBAAgB,EAAE,wBAAwB;IAC1CC,kBAAkB,EAAE,0BAA0B;IAE9CC,iBAAiB,EAAE,yBAAyB;IAE5CC,qBAAqB,EAAE,6BAA6B;IAEpDC,oBAAoB,EAAE,4BAA4B;IAElDC,SAAS,EAAE,iBAAiB;IAC5BC,QAAQ,EAAE,gBAAgB;IAC1BC,qBAAqB,EAAE,6BAA6B;IACpDC,sBAAsB,EAAE,8BAA8B;IACtDC,uBAAuB,EAAE,+BAA+B;IAExDC,uBAAuB,EAAE;EAC3B,CAAC;EAED,IAAI,CAACxG,eAAC,CAACyG,GAAG,CAAC3E,UAAU,EAAEF,aAAa,CAAC,EAAE;IACrC,MAAM,IAAIT,cAAM,CAACuF,mBAAmB,CAAE,2BAA0B9E,aAAc,WAAU5B,eAAC,CAAC2G,IAAI,CAAC7E,UAAU,CAAC,CAAC8E,IAAI,CAAC,IAAI,CAAE,0BAAyB,CAAC;EAClJ;EACA,OAAO,MAAM,IAAI,CAAC9E,UAAU,CAACF,aAAa,CAAC,CAAC,CAACC,IAAI,CAAC;AACpD,CAAC;AAAC,eAEa5C,UAAU;AAAA"}
|