appium-remote-debugger 10.0.0 → 10.0.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 CHANGED
@@ -1,3 +1,10 @@
1
+ ## [10.0.1](https://github.com/appium/appium-remote-debugger/compare/v10.0.0...v10.0.1) (2023-08-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * use correct timeline rpc name ([#317](https://github.com/appium/appium-remote-debugger/issues/317)) ([c69bd64](https://github.com/appium/appium-remote-debugger/commit/c69bd6484e4fd7ff5030e2e50d981c0fc1bbd80c)), closes [appium/appium#15685](https://github.com/appium/appium/issues/15685)
7
+
1
8
  ## [9.1.18](https://github.com/appium/appium-remote-debugger/compare/v9.1.17...v9.1.18) (2023-08-14)
2
9
 
3
10
 
@@ -117,7 +117,7 @@ class RemoteDebugger extends _events.EventEmitter {
117
117
  async startTimeline(fn) {
118
118
  _logger.default.debug('Starting to record the timeline');
119
119
  this.rpcClient.on('Timeline.eventRecorded', fn);
120
- return await this.rpcClient.send('startTimeline', {
120
+ return await this.rpcClient.send('Timeline.start', {
121
121
  appIdKey: this.appIdKey,
122
122
  pageIdKey: this.pageIdKey
123
123
  });
@@ -235,4 +235,4 @@ for (const [name, event] of _lodash.default.toPairs(_mixins.events)) {
235
235
  }
236
236
  var _default = RemoteDebugger;
237
237
  exports.default = _default;
238
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9sb2dnZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JwYyIsIl91dGlscyIsIl9taXhpbnMiLCJfbG9kYXNoIiwiX2JsdWViaXJkIiwiX3BhdGgiLCJfYXN5bmNMb2NrIiwiUkVNT1RFX0RFQlVHR0VSX1BPUlQiLCJleHBvcnRzIiwiU0FGQVJJX0JVTkRMRV9JRCIsIlJQQ19SRVNQT05TRV9USU1FT1VUX01TIiwiUEFHRV9SRUFEWV9USU1FT1VUIiwiR0FSQkFHRV9DT0xMRUNUX1RJTUVPVVQiLCJSZW1vdGVEZWJ1Z2dlciIsIkV2ZW50RW1pdHRlciIsImNvbnN0cnVjdG9yIiwib3B0cyIsImxvZyIsImluZm8iLCJwYXRoIiwicmVzb2x2ZSIsImdldE1vZHVsZVJvb3QiLCJ2ZXJzaW9uIiwiYnVuZGxlSWQiLCJhZGRpdGlvbmFsQnVuZGxlSWRzIiwicGxhdGZvcm1WZXJzaW9uIiwiaXNTYWZhcmkiLCJpbmNsdWRlU2FmYXJpIiwidXNlTmV3U2FmYXJpIiwicGFnZUxvYWRNcyIsImhvc3QiLCJwb3J0Iiwic29ja2V0UGF0aCIsInBhZ2VSZWFkeVRpbWVvdXQiLCJyZW1vdGVEZWJ1Z1Byb3h5IiwiZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUiLCJsb2dGdWxsUmVzcG9uc2UiLCJsb2dBbGxDb21tdW5pY2F0aW9uIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJ3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCIsInNvY2tldENodW5rU2l6ZSIsImZ1bGxQYWdlSW5pdGlhbGl6YXRpb24iLCJkZWJ1ZyIsIl8iLCJpc05pbCIsImlzSW50ZWdlciIsIl9sb2NrIiwiQXN5bmNMb2NrIiwic2V0dXAiLCJhcHBEaWN0IiwiYXBwSWRLZXkiLCJwYWdlSWRLZXkiLCJwYWdlTG9hZGluZyIsIl9uYXZpZ2F0aW5nVG9QYWdlIiwiYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCIsInJwY0NsaWVudCIsIl9jbGllbnRFdmVudExpc3RlbmVycyIsInRlYXJkb3duIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwiRVZFTlRfUEFHRV9DSEFOR0UiLCJFVkVOVF9ESVNDT05ORUNUIiwiaW5pdFJwY0NsaWVudCIsIlJwY0NsaWVudFNpbXVsYXRvciIsIm1lc3NhZ2VQcm94eSIsImlzQ29ubmVjdGVkIiwiX3RoaXMkcnBjQ2xpZW50IiwibGF1bmNoU2FmYXJpIiwic2VuZCIsInN0YXJ0VGltZWxpbmUiLCJmbiIsIm9uIiwic3RvcFRpbWVsaW5lIiwiYWRkQ2xpZW50RXZlbnRMaXN0ZW5lciIsImV2ZW50TmFtZSIsImxpc3RlbmVyIiwicHVzaCIsInJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIiLCJvZmYiLCJzdGFydENvbnNvbGUiLCJzdG9wQ29uc29sZSIsInN0YXJ0TmV0d29yayIsInN0b3BOZXR3b3JrIiwiYWxsb3ciLCJfYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCIsIm92ZXJyaWRlVXNlckFnZW50IiwidmFsdWUiLCJnZXRDb29raWVzIiwic2V0Q29va2llIiwiY29va2llIiwiZGVsZXRlQ29va2llIiwiY29va2llTmFtZSIsInVybCIsImdhcmJhZ2VDb2xsZWN0IiwidGltZW91dE1zIiwiY2hlY2tQYXJhbXMiLCJlcnIiLCJCIiwidGltZW91dCIsInRoZW4iLCJnY1N1Y2Nlc3MiLCJjYXRjaCIsImdjRXJyb3IiLCJUaW1lb3V0RXJyb3IiLCJtZXNzYWdlIiwidXNlQXBwRGljdExvY2siLCJhY3F1aXJlIiwic2tpcHBlZEFwcHMiLCJfc2tpcHBlZEFwcHMiLCJuYW1lIiwidG9QYWlycyIsIm1peGlucyIsInByb3RvdHlwZSIsImV2ZW50IiwiZXZlbnRzIiwiX2RlZmF1bHQiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3JlbW90ZS1kZWJ1Z2dlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyBScGNDbGllbnRTaW11bGF0b3IgfSBmcm9tICcuL3JwYyc7XG5pbXBvcnQgeyBjaGVja1BhcmFtcywgZ2V0TW9kdWxlUm9vdCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgbWl4aW5zLCBldmVudHMgfSBmcm9tICcuL21peGlucyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgQXN5bmNMb2NrIGZyb20gJ2FzeW5jLWxvY2snO1xuXG5jb25zdCBSRU1PVEVfREVCVUdHRVJfUE9SVCA9IDI3NzUzO1xuY29uc3QgU0FGQVJJX0JVTkRMRV9JRCA9ICdjb20uYXBwbGUubW9iaWxlc2FmYXJpJztcblxuLyogSG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHdlYmtpdCB0byByZXR1cm4gYSByZXNwb25zZSBiZWZvcmUgdGltaW5nIG91dCAqL1xuY29uc3QgUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVMgPSA1MDAwO1xuXG5jb25zdCBQQUdFX1JFQURZX1RJTUVPVVQgPSA1MDAwO1xuXG5jb25zdCBHQVJCQUdFX0NPTExFQ1RfVElNRU9VVCA9IDUwMDA7XG5cblxuY2xhc3MgUmVtb3RlRGVidWdnZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAvKlxuICAgKiBUaGUgY29uc3RydWN0b3IgdGFrZXMgYW4gb3B0cyBoYXNoIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICAgKiAgIC0gYnVuZGxlSWQgLSBpZCBvZiB0aGUgYXBwIGJlaW5nIGNvbm5lY3RlZCB0b1xuICAgKiAgIC0gYWRkaXRpb25hbEJ1bmRsZUlkcyAtIGFycmF5IG9mIHBvc3NpYmxlIGJ1bmRsZSBpZHMgdGhhdCB0aGUgaW5zcGVjdG9yXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bGQgcmV0dXJuXG4gICAqICAgLSBwbGF0Zm9ybVZlcnNpb24gLSB2ZXJzaW9uIG9mIGlPU1xuICAgKiAgIC0gdXNlTmV3U2FmYXJpIC0gZm9yIHdlYiBpbnNwZWN0b3IsIHdoZXRoZXIgdGhpcyBpcyBhIG5ldyBTYWZhcmkgaW5zdGFuY2VcbiAgICogICAtIHBhZ2VMb2FkTXMgLSB0aGUgdGltZSwgaW4gbXMsIHRoYXQgc2hvdWxkIGJlIHdhaXRlZCBmb3IgcGFnZSBsb2FkaW5nXG4gICAqICAgLSBob3N0IC0gdGhlIHJlbW90ZSBkZWJ1Z2dlcidzIGhvc3QgYWRkcmVzc1xuICAgKiAgIC0gcG9ydCAtIHRoZSByZW1vdGUgZGVidWdnZXIgcG9ydCB0aHJvdWdoIHdoaWNoIHRvIGNvbW11bmljYXRlXG4gICAqICAgLSBsb2dBbGxDb21tdW5pY2F0aW9uIC0gbG9nIHBsaXN0cyBzZW50IGFuZCByZWNlaXZlZCBmcm9tIFdlYiBJbnNwZWN0b3JcbiAgICogICAtIGxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wIC0gbG9nIGNvbW11bmljYXRpb24gZnJvbSBXZWIgSW5zcGVjdG9yIGFzIGhleCBkdW1wXG4gICAqICAgLSBzb2NrZXRDaHVua1NpemUgLSBzaXplLCBpbiBieXRlcywgb2YgY2h1bmtzIG9mIGRhdGEgc2VudCB0byBXZWIgSW5zcGVjdG9yIChyZWFsIGRldmljZSBvbmx5KVxuICAgKiAgIC0gd2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGggLSBUaGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGRhdGEgZnJhbWVcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGRldmljZSBjb21tdW5pY2F0aW9uIHByb3RvY29sXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGxvZy5pbmZvKGBSZW1vdGUgRGVidWdnZXIgdmVyc2lvbiAke3JlcXVpcmUocGF0aC5yZXNvbHZlKGdldE1vZHVsZVJvb3QoKSwgJ3BhY2thZ2UuanNvbicpKS52ZXJzaW9ufWApO1xuXG4gICAgY29uc3Qge1xuICAgICAgYnVuZGxlSWQsXG4gICAgICBhZGRpdGlvbmFsQnVuZGxlSWRzID0gW10sXG4gICAgICBwbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaSA9IHRydWUsXG4gICAgICBpbmNsdWRlU2FmYXJpID0gZmFsc2UsXG4gICAgICB1c2VOZXdTYWZhcmkgPSBmYWxzZSxcbiAgICAgIHBhZ2VMb2FkTXMsXG4gICAgICBob3N0LFxuICAgICAgcG9ydCA9IFJFTU9URV9ERUJVR0dFUl9QT1JULFxuICAgICAgc29ja2V0UGF0aCxcbiAgICAgIHBhZ2VSZWFkeVRpbWVvdXQgPSBQQUdFX1JFQURZX1RJTUVPVVQsXG4gICAgICByZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUgPSBmYWxzZSxcbiAgICAgIGxvZ0Z1bGxSZXNwb25zZSA9IGZhbHNlLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbiA9IGZhbHNlLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAgPSBmYWxzZSxcbiAgICAgIHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoLFxuICAgICAgc29ja2V0Q2h1bmtTaXplLFxuICAgICAgZnVsbFBhZ2VJbml0aWFsaXphdGlvbixcbiAgICB9ID0gb3B0cztcblxuICAgIHRoaXMuYnVuZGxlSWQgPSBidW5kbGVJZDtcbiAgICB0aGlzLmFkZGl0aW9uYWxCdW5kbGVJZHMgPSBhZGRpdGlvbmFsQnVuZGxlSWRzO1xuICAgIHRoaXMucGxhdGZvcm1WZXJzaW9uID0gcGxhdGZvcm1WZXJzaW9uO1xuICAgIHRoaXMuaXNTYWZhcmkgPSBpc1NhZmFyaTtcbiAgICB0aGlzLmluY2x1ZGVTYWZhcmkgPSBpbmNsdWRlU2FmYXJpO1xuICAgIHRoaXMudXNlTmV3U2FmYXJpID0gdXNlTmV3U2FmYXJpO1xuICAgIHRoaXMucGFnZUxvYWRNcyA9IHBhZ2VMb2FkTXM7XG4gICAgbG9nLmRlYnVnKGB1c2VOZXdTYWZhcmkgLS0+ICR7dGhpcy51c2VOZXdTYWZhcml9YCk7XG5cbiAgICB0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlID0gZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGU7XG5cbiAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgdGhpcy5zb2NrZXRQYXRoID0gc29ja2V0UGF0aDtcbiAgICB0aGlzLnJlbW90ZURlYnVnUHJveHkgPSByZW1vdGVEZWJ1Z1Byb3h5O1xuICAgIHRoaXMucGFnZVJlYWR5VGltZW91dCA9IHBhZ2VSZWFkeVRpbWVvdXQ7XG5cbiAgICB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24gPSBfLmlzTmlsKGxvZ0FsbENvbW11bmljYXRpb24pID8gISFsb2dGdWxsUmVzcG9uc2UgOiAhIWxvZ0FsbENvbW11bmljYXRpb247XG4gICAgdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCA9IGxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wO1xuICAgIHRoaXMuc29ja2V0Q2h1bmtTaXplID0gc29ja2V0Q2h1bmtTaXplO1xuXG4gICAgaWYgKF8uaXNJbnRlZ2VyKHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoKSkge1xuICAgICAgdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCA9IHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoO1xuICAgIH1cblxuICAgIHRoaXMuZnVsbFBhZ2VJbml0aWFsaXphdGlvbiA9IGZ1bGxQYWdlSW5pdGlhbGl6YXRpb247XG5cbiAgICB0aGlzLl9sb2NrID0gbmV3IEFzeW5jTG9jaygpO1xuICB9XG5cbiAgc2V0dXAgKCkge1xuICAgIC8vIGFwcCBoYW5kbGluZyBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5hcHBEaWN0ID0ge307XG4gICAgdGhpcy5hcHBJZEtleSA9IG51bGw7XG4gICAgdGhpcy5wYWdlSWRLZXkgPSBudWxsO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLl9uYXZpZ2F0aW5nVG9QYWdlID0gZmFsc2U7XG4gICAgdGhpcy5hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkID0gZmFsc2U7XG5cbiAgICB0aGlzLnJwY0NsaWVudCA9IG51bGw7XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnMgPSB7fTtcbiAgfVxuXG4gIHRlYXJkb3duICgpIHtcbiAgICBsb2cuZGVidWcoJ0NsZWFuaW5nIHVwIGxpc3RlbmVycycpO1xuXG4gICAgdGhpcy5hcHBEaWN0ID0ge307XG4gICAgdGhpcy5hcHBJZEtleSA9IG51bGw7XG4gICAgdGhpcy5wYWdlSWRLZXkgPSBudWxsO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHRoaXMucnBjQ2xpZW50ID0gbnVsbDtcblxuICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKFJlbW90ZURlYnVnZ2VyLkVWRU5UX1BBR0VfQ0hBTkdFKTtcbiAgICB0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhSZW1vdGVEZWJ1Z2dlci5FVkVOVF9ESVNDT05ORUNUKTtcbiAgfVxuXG4gIGluaXRScGNDbGllbnQgKCkge1xuICAgIHRoaXMucnBjQ2xpZW50ID0gbmV3IFJwY0NsaWVudFNpbXVsYXRvcih7XG4gICAgICBidW5kbGVJZDogdGhpcy5idW5kbGVJZCxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaTogdGhpcy5pc1NhZmFyaSxcbiAgICAgIGhvc3Q6IHRoaXMuaG9zdCxcbiAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgIHNvY2tldFBhdGg6IHRoaXMuc29ja2V0UGF0aCxcbiAgICAgIG1lc3NhZ2VQcm94eTogdGhpcy5yZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbjogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBmdWxsUGFnZUluaXRpYWxpemF0aW9uOiB0aGlzLmZ1bGxQYWdlSW5pdGlhbGl6YXRpb24sXG4gICAgICB3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aDogdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpc0Nvbm5lY3RlZCAoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5ycGNDbGllbnQ/LmlzQ29ubmVjdGVkO1xuICB9XG5cbiAgYXN5bmMgbGF1bmNoU2FmYXJpICgpIHtcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdsYXVuY2hBcHBsaWNhdGlvbicsIHtcbiAgICAgIGJ1bmRsZUlkOiBTQUZBUklfQlVORExFX0lEXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzdGFydFRpbWVsaW5lIChmbikge1xuICAgIGxvZy5kZWJ1ZygnU3RhcnRpbmcgdG8gcmVjb3JkIHRoZSB0aW1lbGluZScpO1xuICAgIHRoaXMucnBjQ2xpZW50Lm9uKCdUaW1lbGluZS5ldmVudFJlY29yZGVkJywgZm4pO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdzdGFydFRpbWVsaW5lJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc3RvcFRpbWVsaW5lICgpIHtcbiAgICBsb2cuZGVidWcoJ1N0b3BwaW5nIHRvIHJlY29yZCB0aGUgdGltZWxpbmUnKTtcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdUaW1lbGluZS5zdG9wJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuICB9XG5cbiAgLypcbiAgICogS2VlcCB0cmFjayBvZiB0aGUgY2xpZW50IGV2ZW50IGxpc3RlbmVycyBzbyB0aGV5IGNhbiBiZSByZW1vdmVkXG4gICAqL1xuICBhZGRDbGllbnRFdmVudExpc3RlbmVyIChldmVudE5hbWUsIGxpc3RlbmVyKSB7XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5wdXNoKGxpc3RlbmVyKTtcbiAgICB0aGlzLnJwY0NsaWVudC5vbihldmVudE5hbWUsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIgKGV2ZW50TmFtZSkge1xuICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgKHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW10pKSB7XG4gICAgICB0aGlzLnJwY0NsaWVudC5vZmYoZXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG5cbiAgc3RhcnRDb25zb2xlIChsaXN0ZW5lcikge1xuICAgIGxvZy5kZWJ1ZygnU3RhcnRpbmcgdG8gbGlzdGVuIGZvciBKYXZhU2NyaXB0IGNvbnNvbGUnKTtcbiAgICB0aGlzLmFkZENsaWVudEV2ZW50TGlzdGVuZXIoJ0NvbnNvbGUubWVzc2FnZUFkZGVkJywgbGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkQ2xpZW50RXZlbnRMaXN0ZW5lcignQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkJywgbGlzdGVuZXIpO1xuICB9XG5cbiAgc3RvcENvbnNvbGUgKCkge1xuICAgIGxvZy5kZWJ1ZygnU3RvcHBpbmcgdG8gbGlzdGVuIGZvciBKYXZhU2NyaXB0IGNvbnNvbGUnKTtcbiAgICB0aGlzLnJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIoJ0NvbnNvbGUubWVzc2FnZUFkZGVkJyk7XG4gICAgdGhpcy5yZW1vdmVDbGllbnRFdmVudExpc3RlbmVyKCdDb25zb2xlLm1lc3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQnKTtcbiAgfVxuXG4gIHN0YXJ0TmV0d29yayAobGlzdGVuZXIpIHtcbiAgICBsb2cuZGVidWcoJ1N0YXJ0aW5nIHRvIGxpc3RlbiBmb3IgbmV0d29yayBldmVudHMnKTtcbiAgICB0aGlzLmFkZENsaWVudEV2ZW50TGlzdGVuZXIoJ05ldHdvcmtFdmVudCcsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHN0b3BOZXR3b3JrICgpIHtcbiAgICBsb2cuZGVidWcoJ1N0b3BwaW5nIHRvIGxpc3RlbiBmb3IgbmV0d29yayBldmVudHMnKTtcbiAgICB0aGlzLnJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIoJ05ldHdvcmtFdmVudCcpO1xuICB9XG5cbiAgc2V0IGFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgKGFsbG93KSB7XG4gICAgdGhpcy5fYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCA9IGFsbG93O1xuICB9XG5cbiAgZ2V0IGFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgKCkge1xuICAgIHJldHVybiB0aGlzLl9hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkO1xuICB9XG5cbiAgLy8gUG90ZW50aWFsbHkgdGhpcyBkb2VzIG5vdCB3b3JrIGZvciBtb2JpbGUgc2FmYXJpXG4gIGFzeW5jIG92ZXJyaWRlVXNlckFnZW50ICh2YWx1ZSkge1xuICAgIGxvZy5kZWJ1ZygnU2V0dGluZyBvdmVycmlkZVVzZXJBZ2VudCcpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLm92ZXJyaWRlVXNlckFnZW50Jywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgICAgdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldENvb2tpZXMgKCkge1xuICAgIGxvZy5kZWJ1ZygnR2V0dGluZyBjb29raWVzJyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1BhZ2UuZ2V0Q29va2llcycsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0Q29va2llIChjb29raWUpIHtcbiAgICBsb2cuZGVidWcoJ1NldHRpbmcgY29va2llJyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1BhZ2Uuc2V0Q29va2llJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgICAgY29va2llXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVDb29raWUgKGNvb2tpZU5hbWUsIHVybCkge1xuICAgIGxvZy5kZWJ1ZyhgRGVsZXRpbmcgY29va2llICcke2Nvb2tpZU5hbWV9JyBvbiAnJHt1cmx9J2ApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLmRlbGV0ZUNvb2tpZScsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICAgIGNvb2tpZU5hbWUsXG4gICAgICB1cmwsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnYXJiYWdlQ29sbGVjdCAodGltZW91dE1zID0gR0FSQkFHRV9DT0xMRUNUX1RJTUVPVVQpIHtcbiAgICBsb2cuZGVidWcoYEdhcmJhZ2UgY29sbGVjdGluZyB3aXRoICR7dGltZW91dE1zfW1zIHRpbWVvdXRgKTtcbiAgICB0cnkge1xuICAgICAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cuZGVidWcoYFVuYWJsZSB0byBjb2xsZWN0IGdhcmJhZ2UgYXQgdGhpcyB0aW1lYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgQi5yZXNvbHZlKHRoaXMucnBjQ2xpZW50LnNlbmQoJ0hlYXAuZ2MnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgfSkpLnRpbWVvdXQodGltZW91dE1zKVxuICAgIC50aGVuKGZ1bmN0aW9uIGdjU3VjY2VzcyAoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tdGhlblxuICAgICAgbG9nLmRlYnVnKGBHYXJiYWdlIGNvbGxlY3Rpb24gc3VjY2Vzc2Z1bGApO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIGdjRXJyb3IgKGVycikgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHByb21pc2UvcHJlZmVyLWF3YWl0LXRvLWNhbGxiYWNrc1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEIuVGltZW91dEVycm9yKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgR2FyYmFnZSBjb2xsZWN0aW9uIHRpbWVkIG91dCBhZnRlciAke3RpbWVvdXRNc31tc2ApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKGBVbmFibGUgdG8gY29sbGVjdCBnYXJiYWdlOiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXNlQXBwRGljdExvY2sgKGZuKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2xvY2suYWNxdWlyZSgnYXBwRGljdCcsIGZuKTtcbiAgfVxuXG4gIGdldCBza2lwcGVkQXBwcyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NraXBwZWRBcHBzIHx8IFtdO1xuICB9XG59XG5cbmZvciAoY29uc3QgW25hbWUsIGZuXSBvZiBfLnRvUGFpcnMobWl4aW5zKSkge1xuICBSZW1vdGVEZWJ1Z2dlci5wcm90b3R5cGVbbmFtZV0gPSBmbjtcbn1cblxuZm9yIChjb25zdCBbbmFtZSwgZXZlbnRdIG9mIF8udG9QYWlycyhldmVudHMpKSB7XG4gIFJlbW90ZURlYnVnZ2VyW25hbWVdID0gZXZlbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlbW90ZURlYnVnZ2VyO1xuZXhwb3J0IHtcbiAgUmVtb3RlRGVidWdnZXIsIFJFTU9URV9ERUJVR0dFUl9QT1JULCBSUENfUkVTUE9OU0VfVElNRU9VVF9NUyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsTUFBTVUsb0JBQW9CLEdBQUcsS0FBSztBQUFDQyxPQUFBLENBQUFELG9CQUFBLEdBQUFBLG9CQUFBO0FBQ25DLE1BQU1FLGdCQUFnQixHQUFHLHdCQUF3QjtBQUdqRCxNQUFNQyx1QkFBdUIsR0FBRyxJQUFJO0FBQUNGLE9BQUEsQ0FBQUUsdUJBQUEsR0FBQUEsdUJBQUE7QUFFckMsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSTtBQUUvQixNQUFNQyx1QkFBdUIsR0FBRyxJQUFJO0FBR3BDLE1BQU1DLGNBQWMsU0FBU0Msb0JBQVksQ0FBQztFQWlCeENDLFdBQVdBLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtJQUN0QixLQUFLLENBQUMsQ0FBQztJQUVQQyxlQUFHLENBQUNDLElBQUksQ0FBRSwyQkFBMEJyQixPQUFPLENBQUNzQixhQUFJLENBQUNDLE9BQU8sQ0FBQyxJQUFBQyxvQkFBYSxFQUFDLENBQUMsRUFB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
238
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9sb2dnZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JwYyIsIl91dGlscyIsIl9taXhpbnMiLCJfbG9kYXNoIiwiX2JsdWViaXJkIiwiX3BhdGgiLCJfYXN5bmNMb2NrIiwiUkVNT1RFX0RFQlVHR0VSX1BPUlQiLCJleHBvcnRzIiwiU0FGQVJJX0JVTkRMRV9JRCIsIlJQQ19SRVNQT05TRV9USU1FT1VUX01TIiwiUEFHRV9SRUFEWV9USU1FT1VUIiwiR0FSQkFHRV9DT0xMRUNUX1RJTUVPVVQiLCJSZW1vdGVEZWJ1Z2dlciIsIkV2ZW50RW1pdHRlciIsImNvbnN0cnVjdG9yIiwib3B0cyIsImxvZyIsImluZm8iLCJwYXRoIiwicmVzb2x2ZSIsImdldE1vZHVsZVJvb3QiLCJ2ZXJzaW9uIiwiYnVuZGxlSWQiLCJhZGRpdGlvbmFsQnVuZGxlSWRzIiwicGxhdGZvcm1WZXJzaW9uIiwiaXNTYWZhcmkiLCJpbmNsdWRlU2FmYXJpIiwidXNlTmV3U2FmYXJpIiwicGFnZUxvYWRNcyIsImhvc3QiLCJwb3J0Iiwic29ja2V0UGF0aCIsInBhZ2VSZWFkeVRpbWVvdXQiLCJyZW1vdGVEZWJ1Z1Byb3h5IiwiZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUiLCJsb2dGdWxsUmVzcG9uc2UiLCJsb2dBbGxDb21tdW5pY2F0aW9uIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJ3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCIsInNvY2tldENodW5rU2l6ZSIsImZ1bGxQYWdlSW5pdGlhbGl6YXRpb24iLCJkZWJ1ZyIsIl8iLCJpc05pbCIsImlzSW50ZWdlciIsIl9sb2NrIiwiQXN5bmNMb2NrIiwic2V0dXAiLCJhcHBEaWN0IiwiYXBwSWRLZXkiLCJwYWdlSWRLZXkiLCJwYWdlTG9hZGluZyIsIl9uYXZpZ2F0aW5nVG9QYWdlIiwiYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCIsInJwY0NsaWVudCIsIl9jbGllbnRFdmVudExpc3RlbmVycyIsInRlYXJkb3duIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwiRVZFTlRfUEFHRV9DSEFOR0UiLCJFVkVOVF9ESVNDT05ORUNUIiwiaW5pdFJwY0NsaWVudCIsIlJwY0NsaWVudFNpbXVsYXRvciIsIm1lc3NhZ2VQcm94eSIsImlzQ29ubmVjdGVkIiwiX3RoaXMkcnBjQ2xpZW50IiwibGF1bmNoU2FmYXJpIiwic2VuZCIsInN0YXJ0VGltZWxpbmUiLCJmbiIsIm9uIiwic3RvcFRpbWVsaW5lIiwiYWRkQ2xpZW50RXZlbnRMaXN0ZW5lciIsImV2ZW50TmFtZSIsImxpc3RlbmVyIiwicHVzaCIsInJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIiLCJvZmYiLCJzdGFydENvbnNvbGUiLCJzdG9wQ29uc29sZSIsInN0YXJ0TmV0d29yayIsInN0b3BOZXR3b3JrIiwiYWxsb3ciLCJfYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCIsIm92ZXJyaWRlVXNlckFnZW50IiwidmFsdWUiLCJnZXRDb29raWVzIiwic2V0Q29va2llIiwiY29va2llIiwiZGVsZXRlQ29va2llIiwiY29va2llTmFtZSIsInVybCIsImdhcmJhZ2VDb2xsZWN0IiwidGltZW91dE1zIiwiY2hlY2tQYXJhbXMiLCJlcnIiLCJCIiwidGltZW91dCIsInRoZW4iLCJnY1N1Y2Nlc3MiLCJjYXRjaCIsImdjRXJyb3IiLCJUaW1lb3V0RXJyb3IiLCJtZXNzYWdlIiwidXNlQXBwRGljdExvY2siLCJhY3F1aXJlIiwic2tpcHBlZEFwcHMiLCJfc2tpcHBlZEFwcHMiLCJuYW1lIiwidG9QYWlycyIsIm1peGlucyIsInByb3RvdHlwZSIsImV2ZW50IiwiZXZlbnRzIiwiX2RlZmF1bHQiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3JlbW90ZS1kZWJ1Z2dlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyBScGNDbGllbnRTaW11bGF0b3IgfSBmcm9tICcuL3JwYyc7XG5pbXBvcnQgeyBjaGVja1BhcmFtcywgZ2V0TW9kdWxlUm9vdCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgbWl4aW5zLCBldmVudHMgfSBmcm9tICcuL21peGlucyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgQXN5bmNMb2NrIGZyb20gJ2FzeW5jLWxvY2snO1xuXG5jb25zdCBSRU1PVEVfREVCVUdHRVJfUE9SVCA9IDI3NzUzO1xuY29uc3QgU0FGQVJJX0JVTkRMRV9JRCA9ICdjb20uYXBwbGUubW9iaWxlc2FmYXJpJztcblxuLyogSG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHdlYmtpdCB0byByZXR1cm4gYSByZXNwb25zZSBiZWZvcmUgdGltaW5nIG91dCAqL1xuY29uc3QgUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVMgPSA1MDAwO1xuXG5jb25zdCBQQUdFX1JFQURZX1RJTUVPVVQgPSA1MDAwO1xuXG5jb25zdCBHQVJCQUdFX0NPTExFQ1RfVElNRU9VVCA9IDUwMDA7XG5cblxuY2xhc3MgUmVtb3RlRGVidWdnZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAvKlxuICAgKiBUaGUgY29uc3RydWN0b3IgdGFrZXMgYW4gb3B0cyBoYXNoIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICAgKiAgIC0gYnVuZGxlSWQgLSBpZCBvZiB0aGUgYXBwIGJlaW5nIGNvbm5lY3RlZCB0b1xuICAgKiAgIC0gYWRkaXRpb25hbEJ1bmRsZUlkcyAtIGFycmF5IG9mIHBvc3NpYmxlIGJ1bmRsZSBpZHMgdGhhdCB0aGUgaW5zcGVjdG9yXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bGQgcmV0dXJuXG4gICAqICAgLSBwbGF0Zm9ybVZlcnNpb24gLSB2ZXJzaW9uIG9mIGlPU1xuICAgKiAgIC0gdXNlTmV3U2FmYXJpIC0gZm9yIHdlYiBpbnNwZWN0b3IsIHdoZXRoZXIgdGhpcyBpcyBhIG5ldyBTYWZhcmkgaW5zdGFuY2VcbiAgICogICAtIHBhZ2VMb2FkTXMgLSB0aGUgdGltZSwgaW4gbXMsIHRoYXQgc2hvdWxkIGJlIHdhaXRlZCBmb3IgcGFnZSBsb2FkaW5nXG4gICAqICAgLSBob3N0IC0gdGhlIHJlbW90ZSBkZWJ1Z2dlcidzIGhvc3QgYWRkcmVzc1xuICAgKiAgIC0gcG9ydCAtIHRoZSByZW1vdGUgZGVidWdnZXIgcG9ydCB0aHJvdWdoIHdoaWNoIHRvIGNvbW11bmljYXRlXG4gICAqICAgLSBsb2dBbGxDb21tdW5pY2F0aW9uIC0gbG9nIHBsaXN0cyBzZW50IGFuZCByZWNlaXZlZCBmcm9tIFdlYiBJbnNwZWN0b3JcbiAgICogICAtIGxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wIC0gbG9nIGNvbW11bmljYXRpb24gZnJvbSBXZWIgSW5zcGVjdG9yIGFzIGhleCBkdW1wXG4gICAqICAgLSBzb2NrZXRDaHVua1NpemUgLSBzaXplLCBpbiBieXRlcywgb2YgY2h1bmtzIG9mIGRhdGEgc2VudCB0byBXZWIgSW5zcGVjdG9yIChyZWFsIGRldmljZSBvbmx5KVxuICAgKiAgIC0gd2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGggLSBUaGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGRhdGEgZnJhbWVcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGRldmljZSBjb21tdW5pY2F0aW9uIHByb3RvY29sXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGxvZy5pbmZvKGBSZW1vdGUgRGVidWdnZXIgdmVyc2lvbiAke3JlcXVpcmUocGF0aC5yZXNvbHZlKGdldE1vZHVsZVJvb3QoKSwgJ3BhY2thZ2UuanNvbicpKS52ZXJzaW9ufWApO1xuXG4gICAgY29uc3Qge1xuICAgICAgYnVuZGxlSWQsXG4gICAgICBhZGRpdGlvbmFsQnVuZGxlSWRzID0gW10sXG4gICAgICBwbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaSA9IHRydWUsXG4gICAgICBpbmNsdWRlU2FmYXJpID0gZmFsc2UsXG4gICAgICB1c2VOZXdTYWZhcmkgPSBmYWxzZSxcbiAgICAgIHBhZ2VMb2FkTXMsXG4gICAgICBob3N0LFxuICAgICAgcG9ydCA9IFJFTU9URV9ERUJVR0dFUl9QT1JULFxuICAgICAgc29ja2V0UGF0aCxcbiAgICAgIHBhZ2VSZWFkeVRpbWVvdXQgPSBQQUdFX1JFQURZX1RJTUVPVVQsXG4gICAgICByZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUgPSBmYWxzZSxcbiAgICAgIGxvZ0Z1bGxSZXNwb25zZSA9IGZhbHNlLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbiA9IGZhbHNlLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAgPSBmYWxzZSxcbiAgICAgIHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoLFxuICAgICAgc29ja2V0Q2h1bmtTaXplLFxuICAgICAgZnVsbFBhZ2VJbml0aWFsaXphdGlvbixcbiAgICB9ID0gb3B0cztcblxuICAgIHRoaXMuYnVuZGxlSWQgPSBidW5kbGVJZDtcbiAgICB0aGlzLmFkZGl0aW9uYWxCdW5kbGVJZHMgPSBhZGRpdGlvbmFsQnVuZGxlSWRzO1xuICAgIHRoaXMucGxhdGZvcm1WZXJzaW9uID0gcGxhdGZvcm1WZXJzaW9uO1xuICAgIHRoaXMuaXNTYWZhcmkgPSBpc1NhZmFyaTtcbiAgICB0aGlzLmluY2x1ZGVTYWZhcmkgPSBpbmNsdWRlU2FmYXJpO1xuICAgIHRoaXMudXNlTmV3U2FmYXJpID0gdXNlTmV3U2FmYXJpO1xuICAgIHRoaXMucGFnZUxvYWRNcyA9IHBhZ2VMb2FkTXM7XG4gICAgbG9nLmRlYnVnKGB1c2VOZXdTYWZhcmkgLS0+ICR7dGhpcy51c2VOZXdTYWZhcml9YCk7XG5cbiAgICB0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlID0gZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGU7XG5cbiAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgdGhpcy5zb2NrZXRQYXRoID0gc29ja2V0UGF0aDtcbiAgICB0aGlzLnJlbW90ZURlYnVnUHJveHkgPSByZW1vdGVEZWJ1Z1Byb3h5O1xuICAgIHRoaXMucGFnZVJlYWR5VGltZW91dCA9IHBhZ2VSZWFkeVRpbWVvdXQ7XG5cbiAgICB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24gPSBfLmlzTmlsKGxvZ0FsbENvbW11bmljYXRpb24pID8gISFsb2dGdWxsUmVzcG9uc2UgOiAhIWxvZ0FsbENvbW11bmljYXRpb247XG4gICAgdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCA9IGxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wO1xuICAgIHRoaXMuc29ja2V0Q2h1bmtTaXplID0gc29ja2V0Q2h1bmtTaXplO1xuXG4gICAgaWYgKF8uaXNJbnRlZ2VyKHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoKSkge1xuICAgICAgdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCA9IHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoO1xuICAgIH1cblxuICAgIHRoaXMuZnVsbFBhZ2VJbml0aWFsaXphdGlvbiA9IGZ1bGxQYWdlSW5pdGlhbGl6YXRpb247XG5cbiAgICB0aGlzLl9sb2NrID0gbmV3IEFzeW5jTG9jaygpO1xuICB9XG5cbiAgc2V0dXAgKCkge1xuICAgIC8vIGFwcCBoYW5kbGluZyBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5hcHBEaWN0ID0ge307XG4gICAgdGhpcy5hcHBJZEtleSA9IG51bGw7XG4gICAgdGhpcy5wYWdlSWRLZXkgPSBudWxsO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLl9uYXZpZ2F0aW5nVG9QYWdlID0gZmFsc2U7XG4gICAgdGhpcy5hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkID0gZmFsc2U7XG5cbiAgICB0aGlzLnJwY0NsaWVudCA9IG51bGw7XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnMgPSB7fTtcbiAgfVxuXG4gIHRlYXJkb3duICgpIHtcbiAgICBsb2cuZGVidWcoJ0NsZWFuaW5nIHVwIGxpc3RlbmVycycpO1xuXG4gICAgdGhpcy5hcHBEaWN0ID0ge307XG4gICAgdGhpcy5hcHBJZEtleSA9IG51bGw7XG4gICAgdGhpcy5wYWdlSWRLZXkgPSBudWxsO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHRoaXMucnBjQ2xpZW50ID0gbnVsbDtcblxuICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKFJlbW90ZURlYnVnZ2VyLkVWRU5UX1BBR0VfQ0hBTkdFKTtcbiAgICB0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhSZW1vdGVEZWJ1Z2dlci5FVkVOVF9ESVNDT05ORUNUKTtcbiAgfVxuXG4gIGluaXRScGNDbGllbnQgKCkge1xuICAgIHRoaXMucnBjQ2xpZW50ID0gbmV3IFJwY0NsaWVudFNpbXVsYXRvcih7XG4gICAgICBidW5kbGVJZDogdGhpcy5idW5kbGVJZCxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaTogdGhpcy5pc1NhZmFyaSxcbiAgICAgIGhvc3Q6IHRoaXMuaG9zdCxcbiAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgIHNvY2tldFBhdGg6IHRoaXMuc29ja2V0UGF0aCxcbiAgICAgIG1lc3NhZ2VQcm94eTogdGhpcy5yZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbjogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBmdWxsUGFnZUluaXRpYWxpemF0aW9uOiB0aGlzLmZ1bGxQYWdlSW5pdGlhbGl6YXRpb24sXG4gICAgICB3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aDogdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpc0Nvbm5lY3RlZCAoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5ycGNDbGllbnQ/LmlzQ29ubmVjdGVkO1xuICB9XG5cbiAgYXN5bmMgbGF1bmNoU2FmYXJpICgpIHtcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdsYXVuY2hBcHBsaWNhdGlvbicsIHtcbiAgICAgIGJ1bmRsZUlkOiBTQUZBUklfQlVORExFX0lEXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzdGFydFRpbWVsaW5lIChmbikge1xuICAgIGxvZy5kZWJ1ZygnU3RhcnRpbmcgdG8gcmVjb3JkIHRoZSB0aW1lbGluZScpO1xuICAgIHRoaXMucnBjQ2xpZW50Lm9uKCdUaW1lbGluZS5ldmVudFJlY29yZGVkJywgZm4pO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdUaW1lbGluZS5zdGFydCcsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHN0b3BUaW1lbGluZSAoKSB7XG4gICAgbG9nLmRlYnVnKCdTdG9wcGluZyB0byByZWNvcmQgdGhlIHRpbWVsaW5lJyk7XG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnVGltZWxpbmUuc3RvcCcsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qXG4gICAqIEtlZXAgdHJhY2sgb2YgdGhlIGNsaWVudCBldmVudCBsaXN0ZW5lcnMgc28gdGhleSBjYW4gYmUgcmVtb3ZlZFxuICAgKi9cbiAgYWRkQ2xpZW50RXZlbnRMaXN0ZW5lciAoZXZlbnROYW1lLCBsaXN0ZW5lcikge1xuICAgIHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gPSB0aGlzLl9jbGllbnRFdmVudExpc3RlbmVyc1tldmVudE5hbWVdIHx8IFtdO1xuICAgIHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0ucHVzaChsaXN0ZW5lcik7XG4gICAgdGhpcy5ycGNDbGllbnQub24oZXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gIH1cblxuICByZW1vdmVDbGllbnRFdmVudExpc3RlbmVyIChldmVudE5hbWUpIHtcbiAgICBmb3IgKGNvbnN0IGxpc3RlbmVyIG9mICh0aGlzLl9jbGllbnRFdmVudExpc3RlbmVyc1tldmVudE5hbWVdIHx8IFtdKSkge1xuICAgICAgdGhpcy5ycGNDbGllbnQub2ZmKGV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXJ0Q29uc29sZSAobGlzdGVuZXIpIHtcbiAgICBsb2cuZGVidWcoJ1N0YXJ0aW5nIHRvIGxpc3RlbiBmb3IgSmF2YVNjcmlwdCBjb25zb2xlJyk7XG4gICAgdGhpcy5hZGRDbGllbnRFdmVudExpc3RlbmVyKCdDb25zb2xlLm1lc3NhZ2VBZGRlZCcsIGxpc3RlbmVyKTtcbiAgICB0aGlzLmFkZENsaWVudEV2ZW50TGlzdGVuZXIoJ0NvbnNvbGUubWVzc2FnZVJlcGVhdENvdW50VXBkYXRlZCcsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHN0b3BDb25zb2xlICgpIHtcbiAgICBsb2cuZGVidWcoJ1N0b3BwaW5nIHRvIGxpc3RlbiBmb3IgSmF2YVNjcmlwdCBjb25zb2xlJyk7XG4gICAgdGhpcy5yZW1vdmVDbGllbnRFdmVudExpc3RlbmVyKCdDb25zb2xlLm1lc3NhZ2VBZGRlZCcpO1xuICAgIHRoaXMucmVtb3ZlQ2xpZW50RXZlbnRMaXN0ZW5lcignQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkJyk7XG4gIH1cblxuICBzdGFydE5ldHdvcmsgKGxpc3RlbmVyKSB7XG4gICAgbG9nLmRlYnVnKCdTdGFydGluZyB0byBsaXN0ZW4gZm9yIG5ldHdvcmsgZXZlbnRzJyk7XG4gICAgdGhpcy5hZGRDbGllbnRFdmVudExpc3RlbmVyKCdOZXR3b3JrRXZlbnQnLCBsaXN0ZW5lcik7XG4gIH1cblxuICBzdG9wTmV0d29yayAoKSB7XG4gICAgbG9nLmRlYnVnKCdTdG9wcGluZyB0byBsaXN0ZW4gZm9yIG5ldHdvcmsgZXZlbnRzJyk7XG4gICAgdGhpcy5yZW1vdmVDbGllbnRFdmVudExpc3RlbmVyKCdOZXR3b3JrRXZlbnQnKTtcbiAgfVxuXG4gIHNldCBhbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkIChhbGxvdykge1xuICAgIHRoaXMuX2FsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgPSBhbGxvdztcbiAgfVxuXG4gIGdldCBhbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkICgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZDtcbiAgfVxuXG4gIC8vIFBvdGVudGlhbGx5IHRoaXMgZG9lcyBub3Qgd29yayBmb3IgbW9iaWxlIHNhZmFyaVxuICBhc3luYyBvdmVycmlkZVVzZXJBZ2VudCAodmFsdWUpIHtcbiAgICBsb2cuZGVidWcoJ1NldHRpbmcgb3ZlcnJpZGVVc2VyQWdlbnQnKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUGFnZS5vdmVycmlkZVVzZXJBZ2VudCcsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICAgIHZhbHVlXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRDb29raWVzICgpIHtcbiAgICBsb2cuZGVidWcoJ0dldHRpbmcgY29va2llcycpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLmdldENvb2tpZXMnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXlcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldENvb2tpZSAoY29va2llKSB7XG4gICAgbG9nLmRlYnVnKCdTZXR0aW5nIGNvb2tpZScpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLnNldENvb2tpZScsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICAgIGNvb2tpZVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlQ29va2llIChjb29raWVOYW1lLCB1cmwpIHtcbiAgICBsb2cuZGVidWcoYERlbGV0aW5nIGNvb2tpZSAnJHtjb29raWVOYW1lfScgb24gJyR7dXJsfSdgKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUGFnZS5kZWxldGVDb29raWUnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgICBjb29raWVOYW1lLFxuICAgICAgdXJsLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2FyYmFnZUNvbGxlY3QgKHRpbWVvdXRNcyA9IEdBUkJBR0VfQ09MTEVDVF9USU1FT1VUKSB7XG4gICAgbG9nLmRlYnVnKGBHYXJiYWdlIGNvbGxlY3Rpbmcgd2l0aCAke3RpbWVvdXRNc31tcyB0aW1lb3V0YCk7XG4gICAgdHJ5IHtcbiAgICAgIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleSwgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleX0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nLmRlYnVnKGBVbmFibGUgdG8gY29sbGVjdCBnYXJiYWdlIGF0IHRoaXMgdGltZWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IEIucmVzb2x2ZSh0aGlzLnJwY0NsaWVudC5zZW5kKCdIZWFwLmdjJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pKS50aW1lb3V0KHRpbWVvdXRNcylcbiAgICAudGhlbihmdW5jdGlvbiBnY1N1Y2Nlc3MgKCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHByb21pc2UvcHJlZmVyLWF3YWl0LXRvLXRoZW5cbiAgICAgIGxvZy5kZWJ1ZyhgR2FyYmFnZSBjb2xsZWN0aW9uIHN1Y2Nlc3NmdWxgKTtcbiAgICB9KS5jYXRjaChmdW5jdGlvbiBnY0Vycm9yIChlcnIpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcm9taXNlL3ByZWZlci1hd2FpdC10by1jYWxsYmFja3NcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBCLlRpbWVvdXRFcnJvcikge1xuICAgICAgICBsb2cuZGVidWcoYEdhcmJhZ2UgY29sbGVjdGlvbiB0aW1lZCBvdXQgYWZ0ZXIgJHt0aW1lb3V0TXN9bXNgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgVW5hYmxlIHRvIGNvbGxlY3QgZ2FyYmFnZTogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVzZUFwcERpY3RMb2NrIChmbikge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLl9sb2NrLmFjcXVpcmUoJ2FwcERpY3QnLCBmbik7XG4gIH1cblxuICBnZXQgc2tpcHBlZEFwcHMgKCkge1xuICAgIHJldHVybiB0aGlzLl9za2lwcGVkQXBwcyB8fCBbXTtcbiAgfVxufVxuXG5mb3IgKGNvbnN0IFtuYW1lLCBmbl0gb2YgXy50b1BhaXJzKG1peGlucykpIHtcbiAgUmVtb3RlRGVidWdnZXIucHJvdG90eXBlW25hbWVdID0gZm47XG59XG5cbmZvciAoY29uc3QgW25hbWUsIGV2ZW50XSBvZiBfLnRvUGFpcnMoZXZlbnRzKSkge1xuICBSZW1vdGVEZWJ1Z2dlcltuYW1lXSA9IGV2ZW50O1xufVxuXG5leHBvcnQgZGVmYXVsdCBSZW1vdGVEZWJ1Z2dlcjtcbmV4cG9ydCB7XG4gIFJlbW90ZURlYnVnZ2VyLCBSRU1PVEVfREVCVUdHRVJfUE9SVCwgUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVMsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE9BQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLFNBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLE1BQU1VLG9CQUFvQixHQUFHLEtBQUs7QUFBQ0MsT0FBQSxDQUFBRCxvQkFBQSxHQUFBQSxvQkFBQTtBQUNuQyxNQUFNRSxnQkFBZ0IsR0FBRyx3QkFBd0I7QUFHakQsTUFBTUMsdUJBQXVCLEdBQUcsSUFBSTtBQUFDRixPQUFBLENBQUFFLHVCQUFBLEdBQUFBLHVCQUFBO0FBRXJDLE1BQU1DLGtCQUFrQixHQUFHLElBQUk7QUFFL0IsTUFBTUMsdUJBQXVCLEdBQUcsSUFBSTtBQUdwQyxNQUFNQyxjQUFjLFNBQVNDLG9CQUFZLENBQUM7RUFpQnhDQyxXQUFXQSxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEIsS0FBSyxDQUFDLENBQUM7SUFFUEMsZUFBRyxDQUFDQyxJQUFJLENBQUUsMkJBQTBCckIsT0FBTyxDQUFDc0IsYUFBSSxDQUFDQyxPQUFPLENBQUMsSUFBQUMsb0JBQWEsRUFBQyxDQUFDLEVB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
@@ -1 +1 @@
1
- {"version":3,"file":"remote-debugger.js","names":["_events","require","_logger","_interopRequireDefault","_rpc","_utils","_mixins","_lodash","_bluebird","_path","_asyncLock","REMOTE_DEBUGGER_PORT","exports","SAFARI_BUNDLE_ID","RPC_RESPONSE_TIMEOUT_MS","PAGE_READY_TIMEOUT","GARBAGE_COLLECT_TIMEOUT","RemoteDebugger","EventEmitter","constructor","opts","log","info","path","resolve","getModuleRoot","version","bundleId","additionalBundleIds","platformVersion","isSafari","includeSafari","useNewSafari","pageLoadMs","host","port","socketPath","pageReadyTimeout","remoteDebugProxy","garbageCollectOnExecute","logFullResponse","logAllCommunication","logAllCommunicationHexDump","webInspectorMaxFrameLength","socketChunkSize","fullPageInitialization","debug","_","isNil","isInteger","_lock","AsyncLock","setup","appDict","appIdKey","pageIdKey","pageLoading","_navigatingToPage","allowNavigationWithoutReload","rpcClient","_clientEventListeners","teardown","removeAllListeners","EVENT_PAGE_CHANGE","EVENT_DISCONNECT","initRpcClient","RpcClientSimulator","messageProxy","isConnected","_this$rpcClient","launchSafari","send","startTimeline","fn","on","stopTimeline","addClientEventListener","eventName","listener","push","removeClientEventListener","off","startConsole","stopConsole","startNetwork","stopNetwork","allow","_allowNavigationWithoutReload","overrideUserAgent","value","getCookies","setCookie","cookie","deleteCookie","cookieName","url","garbageCollect","timeoutMs","checkParams","err","B","timeout","then","gcSuccess","catch","gcError","TimeoutError","message","useAppDictLock","acquire","skippedApps","_skippedApps","name","toPairs","mixins","prototype","event","events","_default","default"],"sources":["../../lib/remote-debugger.js"],"sourcesContent":["import { EventEmitter } from 'events';\nimport log from './logger';\nimport { RpcClientSimulator } from './rpc';\nimport { checkParams, getModuleRoot } from './utils';\nimport { mixins, events } from './mixins';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport path from 'path';\nimport AsyncLock from 'async-lock';\n\nconst REMOTE_DEBUGGER_PORT = 27753;\nconst SAFARI_BUNDLE_ID = 'com.apple.mobilesafari';\n\n/* How many milliseconds to wait for webkit to return a response before timing out */\nconst RPC_RESPONSE_TIMEOUT_MS = 5000;\n\nconst PAGE_READY_TIMEOUT = 5000;\n\nconst GARBAGE_COLLECT_TIMEOUT = 5000;\n\n\nclass RemoteDebugger extends EventEmitter {\n /*\n * The constructor takes an opts hash with the following properties:\n * - bundleId - id of the app being connected to\n * - additionalBundleIds - array of possible bundle ids that the inspector\n * could return\n * - platformVersion - version of iOS\n * - useNewSafari - for web inspector, whether this is a new Safari instance\n * - pageLoadMs - the time, in ms, that should be waited for page loading\n * - host - the remote debugger's host address\n * - port - the remote debugger port through which to communicate\n * - logAllCommunication - log plists sent and received from Web Inspector\n * - logAllCommunicationHexDump - log communication from Web Inspector as hex dump\n * - socketChunkSize - size, in bytes, of chunks of data sent to Web Inspector (real device only)\n * - webInspectorMaxFrameLength - The maximum size in bytes of a single data frame\n * in the device communication protocol\n */\n constructor (opts = {}) {\n super();\n\n log.info(`Remote Debugger version ${require(path.resolve(getModuleRoot(), 'package.json')).version}`);\n\n const {\n bundleId,\n additionalBundleIds = [],\n platformVersion,\n isSafari = true,\n includeSafari = false,\n useNewSafari = false,\n pageLoadMs,\n host,\n port = REMOTE_DEBUGGER_PORT,\n socketPath,\n pageReadyTimeout = PAGE_READY_TIMEOUT,\n remoteDebugProxy,\n garbageCollectOnExecute = false,\n logFullResponse = false,\n logAllCommunication = false,\n logAllCommunicationHexDump = false,\n webInspectorMaxFrameLength,\n socketChunkSize,\n fullPageInitialization,\n } = opts;\n\n this.bundleId = bundleId;\n this.additionalBundleIds = additionalBundleIds;\n this.platformVersion = platformVersion;\n this.isSafari = isSafari;\n this.includeSafari = includeSafari;\n this.useNewSafari = useNewSafari;\n this.pageLoadMs = pageLoadMs;\n log.debug(`useNewSafari --> ${this.useNewSafari}`);\n\n this.garbageCollectOnExecute = garbageCollectOnExecute;\n\n this.host = host;\n this.port = port;\n this.socketPath = socketPath;\n this.remoteDebugProxy = remoteDebugProxy;\n this.pageReadyTimeout = pageReadyTimeout;\n\n this.logAllCommunication = _.isNil(logAllCommunication) ? !!logFullResponse : !!logAllCommunication;\n this.logAllCommunicationHexDump = logAllCommunicationHexDump;\n this.socketChunkSize = socketChunkSize;\n\n if (_.isInteger(webInspectorMaxFrameLength)) {\n this.webInspectorMaxFrameLength = webInspectorMaxFrameLength;\n }\n\n this.fullPageInitialization = fullPageInitialization;\n\n this._lock = new AsyncLock();\n }\n\n setup () {\n // app handling configuration\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n this._navigatingToPage = false;\n this.allowNavigationWithoutReload = false;\n\n this.rpcClient = null;\n this._clientEventListeners = {};\n }\n\n teardown () {\n log.debug('Cleaning up listeners');\n\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n\n this.rpcClient = null;\n\n this.removeAllListeners(RemoteDebugger.EVENT_PAGE_CHANGE);\n this.removeAllListeners(RemoteDebugger.EVENT_DISCONNECT);\n }\n\n initRpcClient () {\n this.rpcClient = new RpcClientSimulator({\n bundleId: this.bundleId,\n platformVersion: this.platformVersion,\n isSafari: this.isSafari,\n host: this.host,\n port: this.port,\n socketPath: this.socketPath,\n messageProxy: this.remoteDebugProxy,\n logAllCommunication: this.logAllCommunication,\n logAllCommunicationHexDump: this.logAllCommunicationHexDump,\n fullPageInitialization: this.fullPageInitialization,\n webInspectorMaxFrameLength: this.webInspectorMaxFrameLength,\n });\n }\n\n get isConnected () {\n return !!this.rpcClient?.isConnected;\n }\n\n async launchSafari () {\n await this.rpcClient.send('launchApplication', {\n bundleId: SAFARI_BUNDLE_ID\n });\n }\n\n async startTimeline (fn) {\n log.debug('Starting to record the timeline');\n this.rpcClient.on('Timeline.eventRecorded', fn);\n return await this.rpcClient.send('startTimeline', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n async stopTimeline () {\n log.debug('Stopping to record the timeline');\n await this.rpcClient.send('Timeline.stop', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n /*\n * Keep track of the client event listeners so they can be removed\n */\n addClientEventListener (eventName, listener) {\n this._clientEventListeners[eventName] = this._clientEventListeners[eventName] || [];\n this._clientEventListeners[eventName].push(listener);\n this.rpcClient.on(eventName, listener);\n }\n\n removeClientEventListener (eventName) {\n for (const listener of (this._clientEventListeners[eventName] || [])) {\n this.rpcClient.off(eventName, listener);\n }\n }\n\n startConsole (listener) {\n log.debug('Starting to listen for JavaScript console');\n this.addClientEventListener('Console.messageAdded', listener);\n this.addClientEventListener('Console.messageRepeatCountUpdated', listener);\n }\n\n stopConsole () {\n log.debug('Stopping to listen for JavaScript console');\n this.removeClientEventListener('Console.messageAdded');\n this.removeClientEventListener('Console.messageRepeatCountUpdated');\n }\n\n startNetwork (listener) {\n log.debug('Starting to listen for network events');\n this.addClientEventListener('NetworkEvent', listener);\n }\n\n stopNetwork () {\n log.debug('Stopping to listen for network events');\n this.removeClientEventListener('NetworkEvent');\n }\n\n set allowNavigationWithoutReload (allow) {\n this._allowNavigationWithoutReload = allow;\n }\n\n get allowNavigationWithoutReload () {\n return this._allowNavigationWithoutReload;\n }\n\n // Potentially this does not work for mobile safari\n async overrideUserAgent (value) {\n log.debug('Setting overrideUserAgent');\n return await this.rpcClient.send('Page.overrideUserAgent', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n value\n });\n }\n\n async getCookies () {\n log.debug('Getting cookies');\n return await this.rpcClient.send('Page.getCookies', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey\n });\n }\n\n async setCookie (cookie) {\n log.debug('Setting cookie');\n return await this.rpcClient.send('Page.setCookie', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n cookie\n });\n }\n\n async deleteCookie (cookieName, url) {\n log.debug(`Deleting cookie '${cookieName}' on '${url}'`);\n return await this.rpcClient.send('Page.deleteCookie', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n cookieName,\n url,\n });\n }\n\n async garbageCollect (timeoutMs = GARBAGE_COLLECT_TIMEOUT) {\n log.debug(`Garbage collecting with ${timeoutMs}ms timeout`);\n try {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n } catch (err) {\n log.debug(`Unable to collect garbage at this time`);\n return;\n }\n\n await B.resolve(this.rpcClient.send('Heap.gc', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n })).timeout(timeoutMs)\n .then(function gcSuccess () { // eslint-disable-line promise/prefer-await-to-then\n log.debug(`Garbage collection successful`);\n }).catch(function gcError (err) { // eslint-disable-line promise/prefer-await-to-callbacks\n if (err instanceof B.TimeoutError) {\n log.debug(`Garbage collection timed out after ${timeoutMs}ms`);\n } else {\n log.debug(`Unable to collect garbage: ${err.message}`);\n }\n });\n }\n\n async useAppDictLock (fn) {\n return await this._lock.acquire('appDict', fn);\n }\n\n get skippedApps () {\n return this._skippedApps || [];\n }\n}\n\nfor (const [name, fn] of _.toPairs(mixins)) {\n RemoteDebugger.prototype[name] = fn;\n}\n\nfor (const [name, event] of _.toPairs(events)) {\n RemoteDebugger[name] = event;\n}\n\nexport default RemoteDebugger;\nexport {\n RemoteDebugger, REMOTE_DEBUGGER_PORT, RPC_RESPONSE_TIMEOUT_MS,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"remote-debugger.js","names":["_events","require","_logger","_interopRequireDefault","_rpc","_utils","_mixins","_lodash","_bluebird","_path","_asyncLock","REMOTE_DEBUGGER_PORT","exports","SAFARI_BUNDLE_ID","RPC_RESPONSE_TIMEOUT_MS","PAGE_READY_TIMEOUT","GARBAGE_COLLECT_TIMEOUT","RemoteDebugger","EventEmitter","constructor","opts","log","info","path","resolve","getModuleRoot","version","bundleId","additionalBundleIds","platformVersion","isSafari","includeSafari","useNewSafari","pageLoadMs","host","port","socketPath","pageReadyTimeout","remoteDebugProxy","garbageCollectOnExecute","logFullResponse","logAllCommunication","logAllCommunicationHexDump","webInspectorMaxFrameLength","socketChunkSize","fullPageInitialization","debug","_","isNil","isInteger","_lock","AsyncLock","setup","appDict","appIdKey","pageIdKey","pageLoading","_navigatingToPage","allowNavigationWithoutReload","rpcClient","_clientEventListeners","teardown","removeAllListeners","EVENT_PAGE_CHANGE","EVENT_DISCONNECT","initRpcClient","RpcClientSimulator","messageProxy","isConnected","_this$rpcClient","launchSafari","send","startTimeline","fn","on","stopTimeline","addClientEventListener","eventName","listener","push","removeClientEventListener","off","startConsole","stopConsole","startNetwork","stopNetwork","allow","_allowNavigationWithoutReload","overrideUserAgent","value","getCookies","setCookie","cookie","deleteCookie","cookieName","url","garbageCollect","timeoutMs","checkParams","err","B","timeout","then","gcSuccess","catch","gcError","TimeoutError","message","useAppDictLock","acquire","skippedApps","_skippedApps","name","toPairs","mixins","prototype","event","events","_default","default"],"sources":["../../lib/remote-debugger.js"],"sourcesContent":["import { EventEmitter } from 'events';\nimport log from './logger';\nimport { RpcClientSimulator } from './rpc';\nimport { checkParams, getModuleRoot } from './utils';\nimport { mixins, events } from './mixins';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport path from 'path';\nimport AsyncLock from 'async-lock';\n\nconst REMOTE_DEBUGGER_PORT = 27753;\nconst SAFARI_BUNDLE_ID = 'com.apple.mobilesafari';\n\n/* How many milliseconds to wait for webkit to return a response before timing out */\nconst RPC_RESPONSE_TIMEOUT_MS = 5000;\n\nconst PAGE_READY_TIMEOUT = 5000;\n\nconst GARBAGE_COLLECT_TIMEOUT = 5000;\n\n\nclass RemoteDebugger extends EventEmitter {\n /*\n * The constructor takes an opts hash with the following properties:\n * - bundleId - id of the app being connected to\n * - additionalBundleIds - array of possible bundle ids that the inspector\n * could return\n * - platformVersion - version of iOS\n * - useNewSafari - for web inspector, whether this is a new Safari instance\n * - pageLoadMs - the time, in ms, that should be waited for page loading\n * - host - the remote debugger's host address\n * - port - the remote debugger port through which to communicate\n * - logAllCommunication - log plists sent and received from Web Inspector\n * - logAllCommunicationHexDump - log communication from Web Inspector as hex dump\n * - socketChunkSize - size, in bytes, of chunks of data sent to Web Inspector (real device only)\n * - webInspectorMaxFrameLength - The maximum size in bytes of a single data frame\n * in the device communication protocol\n */\n constructor (opts = {}) {\n super();\n\n log.info(`Remote Debugger version ${require(path.resolve(getModuleRoot(), 'package.json')).version}`);\n\n const {\n bundleId,\n additionalBundleIds = [],\n platformVersion,\n isSafari = true,\n includeSafari = false,\n useNewSafari = false,\n pageLoadMs,\n host,\n port = REMOTE_DEBUGGER_PORT,\n socketPath,\n pageReadyTimeout = PAGE_READY_TIMEOUT,\n remoteDebugProxy,\n garbageCollectOnExecute = false,\n logFullResponse = false,\n logAllCommunication = false,\n logAllCommunicationHexDump = false,\n webInspectorMaxFrameLength,\n socketChunkSize,\n fullPageInitialization,\n } = opts;\n\n this.bundleId = bundleId;\n this.additionalBundleIds = additionalBundleIds;\n this.platformVersion = platformVersion;\n this.isSafari = isSafari;\n this.includeSafari = includeSafari;\n this.useNewSafari = useNewSafari;\n this.pageLoadMs = pageLoadMs;\n log.debug(`useNewSafari --> ${this.useNewSafari}`);\n\n this.garbageCollectOnExecute = garbageCollectOnExecute;\n\n this.host = host;\n this.port = port;\n this.socketPath = socketPath;\n this.remoteDebugProxy = remoteDebugProxy;\n this.pageReadyTimeout = pageReadyTimeout;\n\n this.logAllCommunication = _.isNil(logAllCommunication) ? !!logFullResponse : !!logAllCommunication;\n this.logAllCommunicationHexDump = logAllCommunicationHexDump;\n this.socketChunkSize = socketChunkSize;\n\n if (_.isInteger(webInspectorMaxFrameLength)) {\n this.webInspectorMaxFrameLength = webInspectorMaxFrameLength;\n }\n\n this.fullPageInitialization = fullPageInitialization;\n\n this._lock = new AsyncLock();\n }\n\n setup () {\n // app handling configuration\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n this._navigatingToPage = false;\n this.allowNavigationWithoutReload = false;\n\n this.rpcClient = null;\n this._clientEventListeners = {};\n }\n\n teardown () {\n log.debug('Cleaning up listeners');\n\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n\n this.rpcClient = null;\n\n this.removeAllListeners(RemoteDebugger.EVENT_PAGE_CHANGE);\n this.removeAllListeners(RemoteDebugger.EVENT_DISCONNECT);\n }\n\n initRpcClient () {\n this.rpcClient = new RpcClientSimulator({\n bundleId: this.bundleId,\n platformVersion: this.platformVersion,\n isSafari: this.isSafari,\n host: this.host,\n port: this.port,\n socketPath: this.socketPath,\n messageProxy: this.remoteDebugProxy,\n logAllCommunication: this.logAllCommunication,\n logAllCommunicationHexDump: this.logAllCommunicationHexDump,\n fullPageInitialization: this.fullPageInitialization,\n webInspectorMaxFrameLength: this.webInspectorMaxFrameLength,\n });\n }\n\n get isConnected () {\n return !!this.rpcClient?.isConnected;\n }\n\n async launchSafari () {\n await this.rpcClient.send('launchApplication', {\n bundleId: SAFARI_BUNDLE_ID\n });\n }\n\n async startTimeline (fn) {\n log.debug('Starting to record the timeline');\n this.rpcClient.on('Timeline.eventRecorded', fn);\n return await this.rpcClient.send('Timeline.start', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n async stopTimeline () {\n log.debug('Stopping to record the timeline');\n await this.rpcClient.send('Timeline.stop', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n /*\n * Keep track of the client event listeners so they can be removed\n */\n addClientEventListener (eventName, listener) {\n this._clientEventListeners[eventName] = this._clientEventListeners[eventName] || [];\n this._clientEventListeners[eventName].push(listener);\n this.rpcClient.on(eventName, listener);\n }\n\n removeClientEventListener (eventName) {\n for (const listener of (this._clientEventListeners[eventName] || [])) {\n this.rpcClient.off(eventName, listener);\n }\n }\n\n startConsole (listener) {\n log.debug('Starting to listen for JavaScript console');\n this.addClientEventListener('Console.messageAdded', listener);\n this.addClientEventListener('Console.messageRepeatCountUpdated', listener);\n }\n\n stopConsole () {\n log.debug('Stopping to listen for JavaScript console');\n this.removeClientEventListener('Console.messageAdded');\n this.removeClientEventListener('Console.messageRepeatCountUpdated');\n }\n\n startNetwork (listener) {\n log.debug('Starting to listen for network events');\n this.addClientEventListener('NetworkEvent', listener);\n }\n\n stopNetwork () {\n log.debug('Stopping to listen for network events');\n this.removeClientEventListener('NetworkEvent');\n }\n\n set allowNavigationWithoutReload (allow) {\n this._allowNavigationWithoutReload = allow;\n }\n\n get allowNavigationWithoutReload () {\n return this._allowNavigationWithoutReload;\n }\n\n // Potentially this does not work for mobile safari\n async overrideUserAgent (value) {\n log.debug('Setting overrideUserAgent');\n return await this.rpcClient.send('Page.overrideUserAgent', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n value\n });\n }\n\n async getCookies () {\n log.debug('Getting cookies');\n return await this.rpcClient.send('Page.getCookies', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey\n });\n }\n\n async setCookie (cookie) {\n log.debug('Setting cookie');\n return await this.rpcClient.send('Page.setCookie', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n cookie\n });\n }\n\n async deleteCookie (cookieName, url) {\n log.debug(`Deleting cookie '${cookieName}' on '${url}'`);\n return await this.rpcClient.send('Page.deleteCookie', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n cookieName,\n url,\n });\n }\n\n async garbageCollect (timeoutMs = GARBAGE_COLLECT_TIMEOUT) {\n log.debug(`Garbage collecting with ${timeoutMs}ms timeout`);\n try {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n } catch (err) {\n log.debug(`Unable to collect garbage at this time`);\n return;\n }\n\n await B.resolve(this.rpcClient.send('Heap.gc', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n })).timeout(timeoutMs)\n .then(function gcSuccess () { // eslint-disable-line promise/prefer-await-to-then\n log.debug(`Garbage collection successful`);\n }).catch(function gcError (err) { // eslint-disable-line promise/prefer-await-to-callbacks\n if (err instanceof B.TimeoutError) {\n log.debug(`Garbage collection timed out after ${timeoutMs}ms`);\n } else {\n log.debug(`Unable to collect garbage: ${err.message}`);\n }\n });\n }\n\n async useAppDictLock (fn) {\n return await this._lock.acquire('appDict', fn);\n }\n\n get skippedApps () {\n return this._skippedApps || [];\n }\n}\n\nfor (const [name, fn] of _.toPairs(mixins)) {\n RemoteDebugger.prototype[name] = fn;\n}\n\nfor (const [name, event] of _.toPairs(events)) {\n RemoteDebugger[name] = event;\n}\n\nexport default RemoteDebugger;\nexport {\n RemoteDebugger, REMOTE_DEBUGGER_PORT, RPC_RESPONSE_TIMEOUT_MS,\n};\n"],"mappings":"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"}
@@ -149,7 +149,7 @@ class RemoteDebugger extends EventEmitter {
149
149
  async startTimeline (fn) {
150
150
  log.debug('Starting to record the timeline');
151
151
  this.rpcClient.on('Timeline.eventRecorded', fn);
152
- return await this.rpcClient.send('startTimeline', {
152
+ return await this.rpcClient.send('Timeline.start', {
153
153
  appIdKey: this.appIdKey,
154
154
  pageIdKey: this.pageIdKey,
155
155
  });
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [
5
5
  "appium"
6
6
  ],
7
- "version": "10.0.0",
7
+ "version": "10.0.1",
8
8
  "author": "Appium Contributors",
9
9
  "license": "Apache-2.0",
10
10
  "repository": {