node-simctl 7.2.0 → 7.2.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/CHANGELOG.md +7 -0
- package/build/lib/simctl.js +2 -2
- package/build/lib/simctl.js.map +1 -1
- package/lib/simctl.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [7.2.1](https://github.com/appium/node-simctl/compare/v7.2.0...v7.2.1) (2023-08-10)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* Construct proper execution arguments ([68295e8](https://github.com/appium/node-simctl/commit/68295e8247c0b11620fc231cc7e5f4ec143e363d))
|
|
7
|
+
|
|
1
8
|
## [7.2.0](https://github.com/appium/node-simctl/compare/v7.1.17...v7.2.0) (2023-08-09)
|
|
2
9
|
|
|
3
10
|
|
package/build/lib/simctl.js
CHANGED
|
@@ -84,7 +84,7 @@ class Simctl {
|
|
|
84
84
|
let execArgs = [xcrun, args, execOpts];
|
|
85
85
|
if (!_lodash.default.isEmpty(architectures)) {
|
|
86
86
|
const archArgs = _lodash.default.flatMap((_lodash.default.isArray(architectures) ? architectures : [architectures]).map(arch => ['-arch', arch]));
|
|
87
|
-
execArgs = ['arch', ...archArgs, ...
|
|
87
|
+
execArgs = ['arch', [...archArgs, xcrun, ...args], execOpts];
|
|
88
88
|
}
|
|
89
89
|
return asynchronous ? new _teen_process.SubProcess(...execArgs) : await (0, _teen_process.exec)(...execArgs);
|
|
90
90
|
} catch (e) {
|
|
@@ -105,4 +105,4 @@ for (const [fnName, fn] of _lodash.default.toPairs(_index.default)) {
|
|
|
105
105
|
}
|
|
106
106
|
var _default = Simctl;
|
|
107
107
|
exports.default = _default;
|
|
108
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfaW5kZXgiLCJfd2hpY2giLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaGVscGVycyIsIl90ZWVuX3Byb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiU0lNQ1RMX0VOVl9QUkVGSVgiLCJERUZBVUxUX09QVFMiLCJ4Y3J1biIsInBhdGgiLCJleGVjVGltZW91dCIsIkRFRkFVTFRfRVhFQ19USU1FT1VUIiwibG9nRXJyb3JzIiwiU2ltY3RsIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiXyIsImNsb25lRGVlcCIsImRlZmF1bHRzRGVlcCIsImtleXMiLCJfdWRpZCIsImlzTmlsIiwidWRpZCIsIl9kZXZpY2VzU2V0UGF0aCIsImRldmljZXNTZXRQYXRoIiwidmFsdWUiLCJyZXF1aXJlVWRpZCIsImNvbW1hbmROYW1lIiwiRXJyb3IiLCJyZXF1aXJlWGNydW4iLCJ4Y3J1bkJpbmFyeSIsImdldFhjcnVuQmluYXJ5Iiwid2hpY2giLCJlIiwiZXhlYyIsInN1YmNvbW1hbmQiLCJhcmdzIiwiZW52IiwiYXN5bmNocm9ub3VzIiwiZW5jb2RpbmciLCJhcmNoaXRlY3R1cmVzIiwiZGVmYXVsdHMiLCJtYXBLZXlzIiwic3RhcnRzV2l0aCIsInByb2Nlc3MiLCJleGVjT3B0cyIsInRpbWVvdXQiLCJleGVjQXJncyIsImlzRW1wdHkiLCJhcmNoQXJncyIsImZsYXRNYXAiLCJpc0FycmF5IiwibWFwIiwiYXJjaCIsIlN1YlByb2Nlc3MiLCJ0cEV4ZWMiLCJzdGRlcnIiLCJtc2ciLCJ0cmltIiwibG9nIiwiZGVidWciLCJMT0dfUFJFRklYIiwibWVzc2FnZSIsImV4cG9ydHMiLCJmbk5hbWUiLCJmbiIsInRvUGFpcnMiLCJzdWJjb21tYW5kcyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NpbWN0bC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHN1YmNvbW1hbmRzIGZyb20gJy4vc3ViY29tbWFuZHMvaW5kZXguanMnO1xuaW1wb3J0IHdoaWNoIGZyb20gJ3doaWNoJztcbmltcG9ydCBsb2csIHsgTE9HX1BSRUZJWCB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRVhFQ19USU1FT1VULCBnZXRYY3J1bkJpbmFyeSxcbn0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGV4ZWMgYXMgdHBFeGVjLCBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcblxuY29uc3QgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NISUxEXyc7XG5jb25zdCBERUZBVUxUX09QVFMgPSB7XG4gIHhjcnVuOiB7XG4gICAgcGF0aDogbnVsbCxcbiAgfSxcbiAgZXhlY1RpbWVvdXQ6IERFRkFVTFRfRVhFQ19USU1FT1VULFxuICBsb2dFcnJvcnM6IHRydWUsXG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNPcHRzXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBhcmdzIFtbXV0gLSBUaGUgbGlzdCBvZiBhZGRpdGlvbmFsIHN1YmNvbW1hbmQgYXJndW1lbnRzLlxuICogSXQncyBlbXB0eSBieSBkZWZhdWx0LlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudiBbe31dIC0gRW52aXJvbm1lbnQgdmFyaWFibGVzIG1hcHBpbmcuIEFsbCB0aGVzZSB2YXJpYWJsZXNcbiAqIHdpbGwgYmUgcGFzc2VkIFNpbXVsYXRvciBhbmQgdXNlZCBpbiB0aGUgZXhlY3V0aW5nIGZ1bmN0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gU2V0IGl0IHRvIF9mYWxzZV8gdG8gdGhyb3cgZXhlY3V0aW9uIGVycm9yc1xuICogaW1tZWRpYXRlbHkgd2l0aG91dCBsb2dnaW5nIGFueSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBhc3luY2hyb25vdXMgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gZXhlY3V0ZSB0aGUgZ2l2ZW4gY29tbWFuZFxuICogJ3N5bmNocm9ub3VzbHknIG9yICdhc3luY2hyb25vdXNseScuIEFmZmVjdHMgdGhlIHJldHVybmVkIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGVuY29kaW5nIC0gRXhwbGljaXRseSBzZXRzIHN0cmVhbXMgZW5jb2RpbmcgZm9yIHRoZSBleGVjdXRlZFxuICogY29tbWFuZCBpbnB1dCBhbmQgb3V0cHV0cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfHN0cmluZ1tdfSBhcmNoaXRlY3R1cmVzIC0gT25lIG9yIG1vcmUgYXJjaGl0ZWN0dXJlIG5hbWVzIHRvIGJlIGVuZm9yY2VkIHdoaWxlXG4gKiBleGVjdXRpbmcgeGNydW4uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXBwaXVtL2FwcGl1bS9pc3N1ZXMvMTg5NjYgZm9yIG1vcmUgZGV0YWlscy5cbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU2ltY3RsT3B0c1xuICogQHByb3BlcnR5IHtPYmplY3Q/fSB4Y3J1biAtIFRoZSB4Y3J1biBwcm9wZXJ0aWVzLiBDdXJyZW50bHkgb25seSBvbmUgcHJvcGVydHlcbiAqIGlzIHN1cHBvcnRlZCwgd2hpY2ggaXMgYHBhdGhgIGFuZCBpdCBieSBkZWZhdWx0IGNvbnRhaW5zIGBudWxsYCwgd2hpY2ggZW5mb3JjZXNcbiAqIHRoZSBpbnN0YW5jZSB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUgZnVsbCBwYXRoIHRvIGB4Y3J1bmAgdG9vbCBhbmQgdG8gdGhyb3dcbiAqIGFuIGV4Y2VwdGlvbiBpZiBpdCBjYW5ub3QgYmUgZGV0ZWN0ZWQuIElmIHRoZSBwYXRoIGlzIHNldCB1cG9uIGluc3RhbmNlIGNyZWF0aW9uXG4gKiB0aGVuIGl0IGlzIGdvaW5nIHRvIGJlIHVzZWQgYnkgYGV4ZWNgIGFuZCBubyBhdXRvZGV0ZWN0aW9uIHdpbGwgaGFwcGVuLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGV4ZWNUaW1lb3V0IFs2MDAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBXaGV0aGVyIHRvIHdpcmUgeGNydW4gZXJyb3IgbWVzc2FnZXNcbiAqIGludG8gZGVidWcgbG9nIGJlZm9yZSB0aHJvd2luZyB0aGVtLlxuICogQHByb3BlcnR5IHtzdHJpbmc/fSB1ZGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjdXJyZW50IGRldmljZSwgd2hpY2ggaXNcbiAqIGdvaW5nIHRvIGJlIGltcGxpY2l0bHkgcGFzc2VkIHRvIGFsbCBtZXRob2RzLCB3aGljaCByZXF1aXJlIGl0LiBJdCBjYW4gZWl0aGVyIGJlIHNldFxuICogdXBvbiBpbnN0YW5jZSBjcmVhdGlvbiBpZiBpdCBpcyBhbHJlYWR5IGtub3duIGluIGFkdmFuY2Ugb3IgbGF0ZXIgd2hlbi9pZiBuZWVkZWQgdmlhIHRoZVxuICogY29ycmVzcG9uZGluZyBpbnN0YW5jZSBzZXR0ZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGRldmljZXNTZXRQYXRoIC0gRnVsbCBwYXRoIHRvIHRoZSBzZXQgb2YgZGV2aWNlcyB0aGF0IHlvdSB3YW50IHRvIG1hbmFnZS5cbiAqIEJ5IGRlZmF1bHQgdGhpcyBwYXRoIHVzdWFsbHkgZXF1YWxzIHRvIH4vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9EZXZpY2VzXG4gKi9cblxuXG5jbGFzcyBTaW1jdGwge1xuICAvKipcbiAgICogQHBhcmFtIHtTaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSBfLmlzTmlsKG9wdHMuZGV2aWNlc1NldFBhdGgpID8gbnVsbCA6IG9wdHMuZGV2aWNlc1NldFBhdGg7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICBzZXQgZGV2aWNlc1NldFBhdGggKHZhbHVlKSB7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkZXZpY2VzU2V0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGNvbnN0IHhjcnVuQmluYXJ5ID0gZ2V0WGNydW5CaW5hcnkoKTtcblxuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaCh4Y3J1bkJpbmFyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt4Y3J1bkJpbmFyeX0gdG9vbCBoYXMgbm90IGJlZW4gZm91bmQgaW4gUEFUSC4gYCArXG4gICAgICAgICAgYEFyZSBYY29kZSBkZXZlbG9wZXJzIHRvb2xzIGluc3RhbGxlZD9gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueGNydW4ucGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ViY29tbWFuZCAtIE9uZSBvZiBhdmFpbGFibGUgc2ltY3RsIHN1YmNvbW1hbmRzLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGUgYHhjcnVuIHNpbWN0bGAgaW4gVGVybWluYWwgdG8gc2VlIHRoZSBmdWxsIGxpc3RcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhdmFpbGFibGUgc3ViY29tbWFuZHMuXG4gICAqIEBwYXJhbSB7RXhlY09wdHM/fSBvcHRzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8RXhlY1Jlc3VsdHxTdWJQcm9jZXNzPn0gRWl0aGVyIHRoZSByZXN1bHQgb2YgdGVlbiBwcm9jZXNzJ3MgYGV4ZWNgIG9yXG4gICAqIGBTdWJQcm9jZXNzYCBpbnN0YW5jZSBkZXBlbmRpbmcgb2YgYG9wdHMuYXN5bmNocm9ub3VzYCB2YWx1ZS5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gICAqL1xuICBhc3luYyBleGVjIChzdWJjb21tYW5kLCBvcHRzID0ge30pIHtcbiAgICBsZXQge1xuICAgICAgYXJncyA9IFtdLFxuICAgICAgZW52ID0ge30sXG4gICAgICBhc3luY2hyb25vdXMgPSBmYWxzZSxcbiAgICAgIGVuY29kaW5nLFxuICAgICAgbG9nRXJyb3JzID0gdHJ1ZSxcbiAgICAgIGFyY2hpdGVjdHVyZXMsXG4gICAgfSA9IG9wdHM7XG4gICAgLy8gcnVuIGEgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZFxuICAgIGFyZ3MgPSBbJ3NpbWN0bCcsXG4gICAgICAuLi4odGhpcy5kZXZpY2VzU2V0UGF0aCA/IFsnLS1zZXQnLCB0aGlzLmRldmljZXNTZXRQYXRoXSA6IFtdKSxcbiAgICAgIHN1YmNvbW1hbmQsXG4gICAgICAuLi5hcmdzXG4gICAgXTtcbiAgICAvLyBQcmVmaXggYWxsIHBhc3NlZCBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCAnU0lNQ1RMX0NISUxEXycsIHNpbWN0bFxuICAgIC8vIHdpbGwgdGhlbiBwYXNzIHRoZXNlIHRvIHRoZSBjaGlsZCAoc3Bhd25lZCkgcHJvY2Vzcy5cbiAgICBlbnYgPSBfLmRlZmF1bHRzKFxuICAgICAgXy5tYXBLZXlzKGVudixcbiAgICAgICAgKHZhbHVlLCBrZXkpID0+IF8uc3RhcnRzV2l0aChrZXksIFNJTUNUTF9FTlZfUFJFRklYKSA/IGtleSA6IGAke1NJTUNUTF9FTlZfUFJFRklYfSR7a2V5fWApLFxuICAgICAgcHJvY2Vzcy5lbnYpO1xuXG4gICAgY29uc3QgZXhlY09wdHMgPSB7XG4gICAgICBlbnYsXG4gICAgICBlbmNvZGluZyxcbiAgICB9O1xuICAgIGlmICghYXN5bmNocm9ub3VzKSB7XG4gICAgICBleGVjT3B0cy50aW1lb3V0ID0gdGhpcy5leGVjVGltZW91dDtcbiAgICB9XG4gICAgY29uc3QgeGNydW4gPSBhd2FpdCB0aGlzLnJlcXVpcmVYY3J1bigpO1xuICAgIHRyeSB7XG4gICAgICBsZXQgZXhlY0FyZ3MgPSBbeGNydW4sIGFyZ3MsIGV4ZWNPcHRzXTtcbiAgICAgIGlmICghXy5pc0VtcHR5KGFyY2hpdGVjdHVyZXMpKSB7XG4gICAgICAgIGNvbnN0IGFyY2hBcmdzID0gXy5mbGF0TWFwKFxuICAgICAgICAgIChfLmlzQXJyYXkoYXJjaGl0ZWN0dXJlcykgPyBhcmNoaXRlY3R1cmVzIDogW2FyY2hpdGVjdHVyZXNdKS5tYXAoKGFyY2gpID0+IFsnLWFyY2gnLCBhcmNoXSlcbiAgICAgICAgKTtcbiAgICAgICAgZXhlY0FyZ3MgPSBbJ2FyY2gnLCAuLi5hcmNoQXJncywgLi4uZXhlY0FyZ3NdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFzeW5jaHJvbm91cyA/IG5ldyBTdWJQcm9jZXNzKC4uLmV4ZWNBcmdzKSA6IGF3YWl0IHRwRXhlYyguLi5leGVjQXJncyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycyB8fCAhbG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICBlLm1lc3NhZ2UgPSBtc2c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUEwRCxTQUFBTyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBSix3QkFBQVEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFB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
|
|
108
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfaW5kZXgiLCJfd2hpY2giLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaGVscGVycyIsIl90ZWVuX3Byb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiU0lNQ1RMX0VOVl9QUkVGSVgiLCJERUZBVUxUX09QVFMiLCJ4Y3J1biIsInBhdGgiLCJleGVjVGltZW91dCIsIkRFRkFVTFRfRVhFQ19USU1FT1VUIiwibG9nRXJyb3JzIiwiU2ltY3RsIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiXyIsImNsb25lRGVlcCIsImRlZmF1bHRzRGVlcCIsImtleXMiLCJfdWRpZCIsImlzTmlsIiwidWRpZCIsIl9kZXZpY2VzU2V0UGF0aCIsImRldmljZXNTZXRQYXRoIiwidmFsdWUiLCJyZXF1aXJlVWRpZCIsImNvbW1hbmROYW1lIiwiRXJyb3IiLCJyZXF1aXJlWGNydW4iLCJ4Y3J1bkJpbmFyeSIsImdldFhjcnVuQmluYXJ5Iiwid2hpY2giLCJlIiwiZXhlYyIsInN1YmNvbW1hbmQiLCJhcmdzIiwiZW52IiwiYXN5bmNocm9ub3VzIiwiZW5jb2RpbmciLCJhcmNoaXRlY3R1cmVzIiwiZGVmYXVsdHMiLCJtYXBLZXlzIiwic3RhcnRzV2l0aCIsInByb2Nlc3MiLCJleGVjT3B0cyIsInRpbWVvdXQiLCJleGVjQXJncyIsImlzRW1wdHkiLCJhcmNoQXJncyIsImZsYXRNYXAiLCJpc0FycmF5IiwibWFwIiwiYXJjaCIsIlN1YlByb2Nlc3MiLCJ0cEV4ZWMiLCJzdGRlcnIiLCJtc2ciLCJ0cmltIiwibG9nIiwiZGVidWciLCJMT0dfUFJFRklYIiwibWVzc2FnZSIsImV4cG9ydHMiLCJmbk5hbWUiLCJmbiIsInRvUGFpcnMiLCJzdWJjb21tYW5kcyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NpbWN0bC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHN1YmNvbW1hbmRzIGZyb20gJy4vc3ViY29tbWFuZHMvaW5kZXguanMnO1xuaW1wb3J0IHdoaWNoIGZyb20gJ3doaWNoJztcbmltcG9ydCBsb2csIHsgTE9HX1BSRUZJWCB9IGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRVhFQ19USU1FT1VULCBnZXRYY3J1bkJpbmFyeSxcbn0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGV4ZWMgYXMgdHBFeGVjLCBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcblxuY29uc3QgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NISUxEXyc7XG5jb25zdCBERUZBVUxUX09QVFMgPSB7XG4gIHhjcnVuOiB7XG4gICAgcGF0aDogbnVsbCxcbiAgfSxcbiAgZXhlY1RpbWVvdXQ6IERFRkFVTFRfRVhFQ19USU1FT1VULFxuICBsb2dFcnJvcnM6IHRydWUsXG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNPcHRzXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBhcmdzIFtbXV0gLSBUaGUgbGlzdCBvZiBhZGRpdGlvbmFsIHN1YmNvbW1hbmQgYXJndW1lbnRzLlxuICogSXQncyBlbXB0eSBieSBkZWZhdWx0LlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudiBbe31dIC0gRW52aXJvbm1lbnQgdmFyaWFibGVzIG1hcHBpbmcuIEFsbCB0aGVzZSB2YXJpYWJsZXNcbiAqIHdpbGwgYmUgcGFzc2VkIFNpbXVsYXRvciBhbmQgdXNlZCBpbiB0aGUgZXhlY3V0aW5nIGZ1bmN0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gU2V0IGl0IHRvIF9mYWxzZV8gdG8gdGhyb3cgZXhlY3V0aW9uIGVycm9yc1xuICogaW1tZWRpYXRlbHkgd2l0aG91dCBsb2dnaW5nIGFueSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBhc3luY2hyb25vdXMgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gZXhlY3V0ZSB0aGUgZ2l2ZW4gY29tbWFuZFxuICogJ3N5bmNocm9ub3VzbHknIG9yICdhc3luY2hyb25vdXNseScuIEFmZmVjdHMgdGhlIHJldHVybmVkIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGVuY29kaW5nIC0gRXhwbGljaXRseSBzZXRzIHN0cmVhbXMgZW5jb2RpbmcgZm9yIHRoZSBleGVjdXRlZFxuICogY29tbWFuZCBpbnB1dCBhbmQgb3V0cHV0cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfHN0cmluZ1tdfSBhcmNoaXRlY3R1cmVzIC0gT25lIG9yIG1vcmUgYXJjaGl0ZWN0dXJlIG5hbWVzIHRvIGJlIGVuZm9yY2VkIHdoaWxlXG4gKiBleGVjdXRpbmcgeGNydW4uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXBwaXVtL2FwcGl1bS9pc3N1ZXMvMTg5NjYgZm9yIG1vcmUgZGV0YWlscy5cbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU2ltY3RsT3B0c1xuICogQHByb3BlcnR5IHtPYmplY3Q/fSB4Y3J1biAtIFRoZSB4Y3J1biBwcm9wZXJ0aWVzLiBDdXJyZW50bHkgb25seSBvbmUgcHJvcGVydHlcbiAqIGlzIHN1cHBvcnRlZCwgd2hpY2ggaXMgYHBhdGhgIGFuZCBpdCBieSBkZWZhdWx0IGNvbnRhaW5zIGBudWxsYCwgd2hpY2ggZW5mb3JjZXNcbiAqIHRoZSBpbnN0YW5jZSB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUgZnVsbCBwYXRoIHRvIGB4Y3J1bmAgdG9vbCBhbmQgdG8gdGhyb3dcbiAqIGFuIGV4Y2VwdGlvbiBpZiBpdCBjYW5ub3QgYmUgZGV0ZWN0ZWQuIElmIHRoZSBwYXRoIGlzIHNldCB1cG9uIGluc3RhbmNlIGNyZWF0aW9uXG4gKiB0aGVuIGl0IGlzIGdvaW5nIHRvIGJlIHVzZWQgYnkgYGV4ZWNgIGFuZCBubyBhdXRvZGV0ZWN0aW9uIHdpbGwgaGFwcGVuLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGV4ZWNUaW1lb3V0IFs2MDAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBXaGV0aGVyIHRvIHdpcmUgeGNydW4gZXJyb3IgbWVzc2FnZXNcbiAqIGludG8gZGVidWcgbG9nIGJlZm9yZSB0aHJvd2luZyB0aGVtLlxuICogQHByb3BlcnR5IHtzdHJpbmc/fSB1ZGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBjdXJyZW50IGRldmljZSwgd2hpY2ggaXNcbiAqIGdvaW5nIHRvIGJlIGltcGxpY2l0bHkgcGFzc2VkIHRvIGFsbCBtZXRob2RzLCB3aGljaCByZXF1aXJlIGl0LiBJdCBjYW4gZWl0aGVyIGJlIHNldFxuICogdXBvbiBpbnN0YW5jZSBjcmVhdGlvbiBpZiBpdCBpcyBhbHJlYWR5IGtub3duIGluIGFkdmFuY2Ugb3IgbGF0ZXIgd2hlbi9pZiBuZWVkZWQgdmlhIHRoZVxuICogY29ycmVzcG9uZGluZyBpbnN0YW5jZSBzZXR0ZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZz99IGRldmljZXNTZXRQYXRoIC0gRnVsbCBwYXRoIHRvIHRoZSBzZXQgb2YgZGV2aWNlcyB0aGF0IHlvdSB3YW50IHRvIG1hbmFnZS5cbiAqIEJ5IGRlZmF1bHQgdGhpcyBwYXRoIHVzdWFsbHkgZXF1YWxzIHRvIH4vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9EZXZpY2VzXG4gKi9cblxuXG5jbGFzcyBTaW1jdGwge1xuICAvKipcbiAgICogQHBhcmFtIHtTaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSBfLmlzTmlsKG9wdHMuZGV2aWNlc1NldFBhdGgpID8gbnVsbCA6IG9wdHMuZGV2aWNlc1NldFBhdGg7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICBzZXQgZGV2aWNlc1NldFBhdGggKHZhbHVlKSB7XG4gICAgdGhpcy5fZGV2aWNlc1NldFBhdGggPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkZXZpY2VzU2V0UGF0aCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RldmljZXNTZXRQYXRoO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGNvbnN0IHhjcnVuQmluYXJ5ID0gZ2V0WGNydW5CaW5hcnkoKTtcblxuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaCh4Y3J1bkJpbmFyeSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt4Y3J1bkJpbmFyeX0gdG9vbCBoYXMgbm90IGJlZW4gZm91bmQgaW4gUEFUSC4gYCArXG4gICAgICAgICAgYEFyZSBYY29kZSBkZXZlbG9wZXJzIHRvb2xzIGluc3RhbGxlZD9gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMueGNydW4ucGF0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ViY29tbWFuZCAtIE9uZSBvZiBhdmFpbGFibGUgc2ltY3RsIHN1YmNvbW1hbmRzLlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4ZWN1dGUgYHhjcnVuIHNpbWN0bGAgaW4gVGVybWluYWwgdG8gc2VlIHRoZSBmdWxsIGxpc3RcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhdmFpbGFibGUgc3ViY29tbWFuZHMuXG4gICAqIEBwYXJhbSB7RXhlY09wdHM/fSBvcHRzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8RXhlY1Jlc3VsdHxTdWJQcm9jZXNzPn0gRWl0aGVyIHRoZSByZXN1bHQgb2YgdGVlbiBwcm9jZXNzJ3MgYGV4ZWNgIG9yXG4gICAqIGBTdWJQcm9jZXNzYCBpbnN0YW5jZSBkZXBlbmRpbmcgb2YgYG9wdHMuYXN5bmNocm9ub3VzYCB2YWx1ZS5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gICAqL1xuICBhc3luYyBleGVjIChzdWJjb21tYW5kLCBvcHRzID0ge30pIHtcbiAgICBsZXQge1xuICAgICAgYXJncyA9IFtdLFxuICAgICAgZW52ID0ge30sXG4gICAgICBhc3luY2hyb25vdXMgPSBmYWxzZSxcbiAgICAgIGVuY29kaW5nLFxuICAgICAgbG9nRXJyb3JzID0gdHJ1ZSxcbiAgICAgIGFyY2hpdGVjdHVyZXMsXG4gICAgfSA9IG9wdHM7XG4gICAgLy8gcnVuIGEgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZFxuICAgIGFyZ3MgPSBbJ3NpbWN0bCcsXG4gICAgICAuLi4odGhpcy5kZXZpY2VzU2V0UGF0aCA/IFsnLS1zZXQnLCB0aGlzLmRldmljZXNTZXRQYXRoXSA6IFtdKSxcbiAgICAgIHN1YmNvbW1hbmQsXG4gICAgICAuLi5hcmdzXG4gICAgXTtcbiAgICAvLyBQcmVmaXggYWxsIHBhc3NlZCBpbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2l0aCAnU0lNQ1RMX0NISUxEXycsIHNpbWN0bFxuICAgIC8vIHdpbGwgdGhlbiBwYXNzIHRoZXNlIHRvIHRoZSBjaGlsZCAoc3Bhd25lZCkgcHJvY2Vzcy5cbiAgICBlbnYgPSBfLmRlZmF1bHRzKFxuICAgICAgXy5tYXBLZXlzKGVudixcbiAgICAgICAgKHZhbHVlLCBrZXkpID0+IF8uc3RhcnRzV2l0aChrZXksIFNJTUNUTF9FTlZfUFJFRklYKSA/IGtleSA6IGAke1NJTUNUTF9FTlZfUFJFRklYfSR7a2V5fWApLFxuICAgICAgcHJvY2Vzcy5lbnYpO1xuXG4gICAgY29uc3QgZXhlY09wdHMgPSB7XG4gICAgICBlbnYsXG4gICAgICBlbmNvZGluZyxcbiAgICB9O1xuICAgIGlmICghYXN5bmNocm9ub3VzKSB7XG4gICAgICBleGVjT3B0cy50aW1lb3V0ID0gdGhpcy5leGVjVGltZW91dDtcbiAgICB9XG4gICAgY29uc3QgeGNydW4gPSBhd2FpdCB0aGlzLnJlcXVpcmVYY3J1bigpO1xuICAgIHRyeSB7XG4gICAgICBsZXQgZXhlY0FyZ3MgPSBbeGNydW4sIGFyZ3MsIGV4ZWNPcHRzXTtcbiAgICAgIGlmICghXy5pc0VtcHR5KGFyY2hpdGVjdHVyZXMpKSB7XG4gICAgICAgIGNvbnN0IGFyY2hBcmdzID0gXy5mbGF0TWFwKFxuICAgICAgICAgIChfLmlzQXJyYXkoYXJjaGl0ZWN0dXJlcykgPyBhcmNoaXRlY3R1cmVzIDogW2FyY2hpdGVjdHVyZXNdKS5tYXAoKGFyY2gpID0+IFsnLWFyY2gnLCBhcmNoXSlcbiAgICAgICAgKTtcbiAgICAgICAgZXhlY0FyZ3MgPSBbJ2FyY2gnLCBbLi4uYXJjaEFyZ3MsIHhjcnVuLCAuLi5hcmdzXSwgZXhlY09wdHNdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFzeW5jaHJvbm91cyA/IG5ldyBTdWJQcm9jZXNzKC4uLmV4ZWNBcmdzKSA6IGF3YWl0IHRwRXhlYyguLi5leGVjQXJncyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycyB8fCAhbG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICBlLm1lc3NhZ2UgPSBtc2c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLGFBQUEsR0FBQU4sT0FBQTtBQUEwRCxTQUFBTyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBSix3QkFBQVEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEs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
|
package/build/lib/simctl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simctl.js","names":["_lodash","_interopRequireDefault","require","_index","_which","_logger","_interopRequireWildcard","_helpers","_teen_process","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SIMCTL_ENV_PREFIX","DEFAULT_OPTS","xcrun","path","execTimeout","DEFAULT_EXEC_TIMEOUT","logErrors","Simctl","constructor","opts","_","cloneDeep","defaultsDeep","keys","_udid","isNil","udid","_devicesSetPath","devicesSetPath","value","requireUdid","commandName","Error","requireXcrun","xcrunBinary","getXcrunBinary","which","e","exec","subcommand","args","env","asynchronous","encoding","architectures","defaults","mapKeys","startsWith","process","execOpts","timeout","execArgs","isEmpty","archArgs","flatMap","isArray","map","arch","SubProcess","tpExec","stderr","msg","trim","log","debug","LOG_PREFIX","message","exports","fnName","fn","toPairs","subcommands","_default"],"sources":["../../lib/simctl.js"],"sourcesContent":["import _ from 'lodash';\nimport subcommands from './subcommands/index.js';\nimport which from 'which';\nimport log, { LOG_PREFIX } from './logger';\nimport {\n DEFAULT_EXEC_TIMEOUT, getXcrunBinary,\n} from './helpers';\nimport { exec as tpExec, SubProcess } from 'teen_process';\n\nconst SIMCTL_ENV_PREFIX = 'SIMCTL_CHILD_';\nconst DEFAULT_OPTS = {\n xcrun: {\n path: null,\n },\n execTimeout: DEFAULT_EXEC_TIMEOUT,\n logErrors: true,\n};\n\n/**\n * @typedef {Object} ExecOpts\n * @property {string[]} args [[]] - The list of additional subcommand arguments.\n * It's empty by default.\n * @property {Object} env [{}] - Environment variables mapping. All these variables\n * will be passed Simulator and used in the executing function.\n * @property {boolean} logErrors [true] - Set it to _false_ to throw execution errors\n * immediately without logging any additional information.\n * @property {boolean} asynchronous [false] - Whether to execute the given command\n * 'synchronously' or 'asynchronously'. Affects the returned result of the function.\n * @property {string?} encoding - Explicitly sets streams encoding for the executed\n * command input and outputs.\n * @property {string|string[]} architectures - One or more architecture names to be enforced while\n * executing xcrun. See https://github.com/appium/appium/issues/18966 for more details.\n */\n\n\n/**\n * @typedef {Object} SimctlOpts\n * @property {Object?} xcrun - The xcrun properties. Currently only one property\n * is supported, which is `path` and it by default contains `null`, which enforces\n * the instance to automatically detect the full path to `xcrun` tool and to throw\n * an exception if it cannot be detected. If the path is set upon instance creation\n * then it is going to be used by `exec` and no autodetection will happen.\n * @property {number} execTimeout [600000] - The maximum number of milliseconds\n * to wait for single synchronous xcrun command.\n * @property {boolean} logErrors [true] - Whether to wire xcrun error messages\n * into debug log before throwing them.\n * @property {string?} udid - The unique identifier of the current device, which is\n * going to be implicitly passed to all methods, which require it. It can either be set\n * upon instance creation if it is already known in advance or later when/if needed via the\n * corresponding instance setter.\n * @property {string?} devicesSetPath - Full path to the set of devices that you want to manage.\n * By default this path usually equals to ~/Library/Developer/CoreSimulator/Devices\n */\n\n\nclass Simctl {\n /**\n * @param {SimctlOpts} opts\n */\n constructor (opts = {}) {\n opts = _.cloneDeep(opts);\n _.defaultsDeep(opts, DEFAULT_OPTS);\n for (const key of _.keys(DEFAULT_OPTS)) {\n this[key] = opts[key];\n }\n this._udid = _.isNil(opts.udid) ? null : opts.udid;\n this._devicesSetPath = _.isNil(opts.devicesSetPath) ? null : opts.devicesSetPath;\n }\n\n set udid (value) {\n this._udid = value;\n }\n\n get udid () {\n return this._udid;\n }\n\n set devicesSetPath (value) {\n this._devicesSetPath = value;\n }\n\n get devicesSetPath () {\n return this._devicesSetPath;\n }\n\n requireUdid (commandName = null) {\n if (!this.udid) {\n throw new Error(`udid is required to be set for ` +\n (commandName ? `the '${commandName}' command` : 'this simctl command'));\n }\n return this.udid;\n }\n\n async requireXcrun () {\n const xcrunBinary = getXcrunBinary();\n\n if (!this.xcrun.path) {\n try {\n this.xcrun.path = await which(xcrunBinary);\n } catch (e) {\n throw new Error(`${xcrunBinary} tool has not been found in PATH. ` +\n `Are Xcode developers tools installed?`);\n }\n }\n return this.xcrun.path;\n }\n\n /**\n * Execute the particular simctl command.\n *\n * @param {string} subcommand - One of available simctl subcommands.\n * Execute `xcrun simctl` in Terminal to see the full list\n * of available subcommands.\n * @param {ExecOpts?} opts\n * @return {Promise<ExecResult|SubProcess>} Either the result of teen process's `exec` or\n * `SubProcess` instance depending of `opts.asynchronous` value.\n * @throws {Error} If the simctl subcommand command returns non-zero return code.\n */\n async exec (subcommand, opts = {}) {\n let {\n args = [],\n env = {},\n asynchronous = false,\n encoding,\n logErrors = true,\n architectures,\n } = opts;\n // run a particular simctl command\n args = ['simctl',\n ...(this.devicesSetPath ? ['--set', this.devicesSetPath] : []),\n subcommand,\n ...args\n ];\n // Prefix all passed in environment variables with 'SIMCTL_CHILD_', simctl\n // will then pass these to the child (spawned) process.\n env = _.defaults(\n _.mapKeys(env,\n (value, key) => _.startsWith(key, SIMCTL_ENV_PREFIX) ? key : `${SIMCTL_ENV_PREFIX}${key}`),\n process.env);\n\n const execOpts = {\n env,\n encoding,\n };\n if (!asynchronous) {\n execOpts.timeout = this.execTimeout;\n }\n const xcrun = await this.requireXcrun();\n try {\n let execArgs = [xcrun, args, execOpts];\n if (!_.isEmpty(architectures)) {\n const archArgs = _.flatMap(\n (_.isArray(architectures) ? architectures : [architectures]).map((arch) => ['-arch', arch])\n );\n execArgs = ['arch', ...archArgs, ...execArgs];\n }\n return asynchronous ? new SubProcess(...execArgs) : await tpExec(...execArgs);\n } catch (e) {\n if (!this.logErrors || !logErrors) {\n // if we don't want to see the errors, just throw and allow the calling\n // code do what it wants\n } else if (e.stderr) {\n const msg = `Error running '${subcommand}': ${e.stderr.trim()}`;\n log.debug(LOG_PREFIX, msg);\n e.message = msg;\n } else {\n log.debug(LOG_PREFIX, e.message);\n }\n throw e;\n }\n }\n}\n\n\n// add all the subcommands to the Simctl prototype\nfor (const [fnName, fn] of _.toPairs(subcommands)) {\n Simctl.prototype[fnName] = fn;\n}\n\nexport default Simctl;\nexport { Simctl };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simctl.js","names":["_lodash","_interopRequireDefault","require","_index","_which","_logger","_interopRequireWildcard","_helpers","_teen_process","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SIMCTL_ENV_PREFIX","DEFAULT_OPTS","xcrun","path","execTimeout","DEFAULT_EXEC_TIMEOUT","logErrors","Simctl","constructor","opts","_","cloneDeep","defaultsDeep","keys","_udid","isNil","udid","_devicesSetPath","devicesSetPath","value","requireUdid","commandName","Error","requireXcrun","xcrunBinary","getXcrunBinary","which","e","exec","subcommand","args","env","asynchronous","encoding","architectures","defaults","mapKeys","startsWith","process","execOpts","timeout","execArgs","isEmpty","archArgs","flatMap","isArray","map","arch","SubProcess","tpExec","stderr","msg","trim","log","debug","LOG_PREFIX","message","exports","fnName","fn","toPairs","subcommands","_default"],"sources":["../../lib/simctl.js"],"sourcesContent":["import _ from 'lodash';\nimport subcommands from './subcommands/index.js';\nimport which from 'which';\nimport log, { LOG_PREFIX } from './logger';\nimport {\n DEFAULT_EXEC_TIMEOUT, getXcrunBinary,\n} from './helpers';\nimport { exec as tpExec, SubProcess } from 'teen_process';\n\nconst SIMCTL_ENV_PREFIX = 'SIMCTL_CHILD_';\nconst DEFAULT_OPTS = {\n xcrun: {\n path: null,\n },\n execTimeout: DEFAULT_EXEC_TIMEOUT,\n logErrors: true,\n};\n\n/**\n * @typedef {Object} ExecOpts\n * @property {string[]} args [[]] - The list of additional subcommand arguments.\n * It's empty by default.\n * @property {Object} env [{}] - Environment variables mapping. All these variables\n * will be passed Simulator and used in the executing function.\n * @property {boolean} logErrors [true] - Set it to _false_ to throw execution errors\n * immediately without logging any additional information.\n * @property {boolean} asynchronous [false] - Whether to execute the given command\n * 'synchronously' or 'asynchronously'. Affects the returned result of the function.\n * @property {string?} encoding - Explicitly sets streams encoding for the executed\n * command input and outputs.\n * @property {string|string[]} architectures - One or more architecture names to be enforced while\n * executing xcrun. See https://github.com/appium/appium/issues/18966 for more details.\n */\n\n\n/**\n * @typedef {Object} SimctlOpts\n * @property {Object?} xcrun - The xcrun properties. Currently only one property\n * is supported, which is `path` and it by default contains `null`, which enforces\n * the instance to automatically detect the full path to `xcrun` tool and to throw\n * an exception if it cannot be detected. If the path is set upon instance creation\n * then it is going to be used by `exec` and no autodetection will happen.\n * @property {number} execTimeout [600000] - The maximum number of milliseconds\n * to wait for single synchronous xcrun command.\n * @property {boolean} logErrors [true] - Whether to wire xcrun error messages\n * into debug log before throwing them.\n * @property {string?} udid - The unique identifier of the current device, which is\n * going to be implicitly passed to all methods, which require it. It can either be set\n * upon instance creation if it is already known in advance or later when/if needed via the\n * corresponding instance setter.\n * @property {string?} devicesSetPath - Full path to the set of devices that you want to manage.\n * By default this path usually equals to ~/Library/Developer/CoreSimulator/Devices\n */\n\n\nclass Simctl {\n /**\n * @param {SimctlOpts} opts\n */\n constructor (opts = {}) {\n opts = _.cloneDeep(opts);\n _.defaultsDeep(opts, DEFAULT_OPTS);\n for (const key of _.keys(DEFAULT_OPTS)) {\n this[key] = opts[key];\n }\n this._udid = _.isNil(opts.udid) ? null : opts.udid;\n this._devicesSetPath = _.isNil(opts.devicesSetPath) ? null : opts.devicesSetPath;\n }\n\n set udid (value) {\n this._udid = value;\n }\n\n get udid () {\n return this._udid;\n }\n\n set devicesSetPath (value) {\n this._devicesSetPath = value;\n }\n\n get devicesSetPath () {\n return this._devicesSetPath;\n }\n\n requireUdid (commandName = null) {\n if (!this.udid) {\n throw new Error(`udid is required to be set for ` +\n (commandName ? `the '${commandName}' command` : 'this simctl command'));\n }\n return this.udid;\n }\n\n async requireXcrun () {\n const xcrunBinary = getXcrunBinary();\n\n if (!this.xcrun.path) {\n try {\n this.xcrun.path = await which(xcrunBinary);\n } catch (e) {\n throw new Error(`${xcrunBinary} tool has not been found in PATH. ` +\n `Are Xcode developers tools installed?`);\n }\n }\n return this.xcrun.path;\n }\n\n /**\n * Execute the particular simctl command.\n *\n * @param {string} subcommand - One of available simctl subcommands.\n * Execute `xcrun simctl` in Terminal to see the full list\n * of available subcommands.\n * @param {ExecOpts?} opts\n * @return {Promise<ExecResult|SubProcess>} Either the result of teen process's `exec` or\n * `SubProcess` instance depending of `opts.asynchronous` value.\n * @throws {Error} If the simctl subcommand command returns non-zero return code.\n */\n async exec (subcommand, opts = {}) {\n let {\n args = [],\n env = {},\n asynchronous = false,\n encoding,\n logErrors = true,\n architectures,\n } = opts;\n // run a particular simctl command\n args = ['simctl',\n ...(this.devicesSetPath ? ['--set', this.devicesSetPath] : []),\n subcommand,\n ...args\n ];\n // Prefix all passed in environment variables with 'SIMCTL_CHILD_', simctl\n // will then pass these to the child (spawned) process.\n env = _.defaults(\n _.mapKeys(env,\n (value, key) => _.startsWith(key, SIMCTL_ENV_PREFIX) ? key : `${SIMCTL_ENV_PREFIX}${key}`),\n process.env);\n\n const execOpts = {\n env,\n encoding,\n };\n if (!asynchronous) {\n execOpts.timeout = this.execTimeout;\n }\n const xcrun = await this.requireXcrun();\n try {\n let execArgs = [xcrun, args, execOpts];\n if (!_.isEmpty(architectures)) {\n const archArgs = _.flatMap(\n (_.isArray(architectures) ? architectures : [architectures]).map((arch) => ['-arch', arch])\n );\n execArgs = ['arch', [...archArgs, xcrun, ...args], execOpts];\n }\n return asynchronous ? new SubProcess(...execArgs) : await tpExec(...execArgs);\n } catch (e) {\n if (!this.logErrors || !logErrors) {\n // if we don't want to see the errors, just throw and allow the calling\n // code do what it wants\n } else if (e.stderr) {\n const msg = `Error running '${subcommand}': ${e.stderr.trim()}`;\n log.debug(LOG_PREFIX, msg);\n e.message = msg;\n } else {\n log.debug(LOG_PREFIX, e.message);\n }\n throw e;\n }\n }\n}\n\n\n// add all the subcommands to the Simctl prototype\nfor (const [fnName, fn] of _.toPairs(subcommands)) {\n Simctl.prototype[fnName] = fn;\n}\n\nexport default Simctl;\nexport { Simctl };\n"],"mappings":"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"}
|
package/lib/simctl.js
CHANGED
|
@@ -152,7 +152,7 @@ class Simctl {
|
|
|
152
152
|
const archArgs = _.flatMap(
|
|
153
153
|
(_.isArray(architectures) ? architectures : [architectures]).map((arch) => ['-arch', arch])
|
|
154
154
|
);
|
|
155
|
-
execArgs = ['arch', ...archArgs, ...
|
|
155
|
+
execArgs = ['arch', [...archArgs, xcrun, ...args], execOpts];
|
|
156
156
|
}
|
|
157
157
|
return asynchronous ? new SubProcess(...execArgs) : await tpExec(...execArgs);
|
|
158
158
|
} catch (e) {
|