appium-remote-debugger 9.1.14 → 9.1.15

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.
@@ -160,4 +160,4 @@ var _default = {
160
160
  waitForFrameNavigated
161
161
  };
162
162
  exports.default = _default;
163
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfdXRpbHMiLCJfZXZlbnRzIiwiX3N1cHBvcnQiLCJfbG9kYXNoIiwiX2JsdWViaXJkIiwiZnJhbWVEZXRhY2hlZCIsImVtaXQiLCJldmVudHMiLCJFVkVOVF9GUkFNRVNfREVUQUNIRUQiLCJwYWdlTG9hZCIsInN0YXJ0UGFnZUxvYWRUaW1lciIsInBhZ2VMb2FkVmVyaWZ5SG9vayIsIl8iLCJub29wIiwiX3N0YXJ0UGFnZUxvYWRUaW1lciIsInRpbWVvdXRNcyIsImlzRnVuY3Rpb24iLCJnZXREdXJhdGlvbiIsImxvZyIsImRlYnVnIiwidGltaW5nIiwiVGltZXIiLCJzdGFydCIsInBhZ2VMb2FkaW5nIiwidmVyaWZ5IiwicGFnZUxvYWREZWxheSIsInV0aWwiLCJjYW5jZWxsYWJsZURlbGF5IiwiZXJyIiwiQiIsIkNhbmNlbGxhdGlvbkVycm9yIiwiYXBwSWRLZXkiLCJlbGFwc2VkTXMiLCJhc01pbGxpU2Vjb25kcyIsImNoZWNrUGFnZUlzUmVhZHkiLCJwYWdlTG9hZE1zIiwidG9GaXhlZCIsImNhbmNlbFBhZ2VMb2FkIiwiY2FuY2VsIiwicGFnZVVubG9hZCIsIndhaXRGb3JEb20iLCJjaGVja1BhcmFtcyIsInJlYWR5Q21kIiwicmVhZHlTdGF0ZSIsInJlc29sdmUiLCJleGVjdXRlIiwidGltZW91dCIsInBhZ2VSZWFkeVRpbWVvdXQiLCJUaW1lb3V0RXJyb3IiLCJuYXZUb1VybCIsInVybCIsInBhZ2VJZEtleSIsIl9uYXZpZ2F0aW5nVG9QYWdlIiwid2FpdEZvckZyYW1lUHJvbWlzZSIsIndhaXRGb3JGcmFtZU5hdmlnYXRlZCIsInJwY0NsaWVudCIsInNlbmQiLCJ1c2VOZXdTYWZhcmkiLCJkZWxheSIsIm5hdkV2ZW50TGlzdGVuZXIiLCJ2YWx1ZSIsImFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQiLCJuYXZpZ2F0aW9uRGVsYXkiLCJvbmNlIiwiZmluYWxseSIsIm9mZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWl4aW5zL25hdmlnYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGNoZWNrUGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyB0aW1pbmcsIHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcblxuXG5mdW5jdGlvbiBmcmFtZURldGFjaGVkICgpIHtcbiAgdGhpcy5lbWl0KGV2ZW50cy5FVkVOVF9GUkFNRVNfREVUQUNIRUQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwYWdlTG9hZCAoc3RhcnRQYWdlTG9hZFRpbWVyLCBwYWdlTG9hZFZlcmlmeUhvb2sgPSBfLm5vb3ApIHtcbiAgY29uc3QgdGltZW91dE1zID0gNTAwO1xuICBpZiAoIV8uaXNGdW5jdGlvbihzdGFydFBhZ2VMb2FkVGltZXI/LmdldER1cmF0aW9uKSkge1xuICAgIGxvZy5kZWJ1ZyhgUGFnZSBsb2FkIHRpbWVyIG5vdCBhIHRpbWVyLiBDcmVhdGluZyBuZXcgdGltZXJgKTtcbiAgICBzdGFydFBhZ2VMb2FkVGltZXIgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcbiAgfVxuXG4gIGxvZy5kZWJ1ZygnUGFnZSBsb2FkZWQsIHZlcmlmeWluZyB3aGV0aGVyIHJlYWR5Jyk7XG4gIHRoaXMucGFnZUxvYWRpbmcgPSB0cnVlO1xuXG4gIGNvbnN0IHZlcmlmeSA9IGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnBhZ2VMb2FkRGVsYXkgPSB1dGlsLmNhbmNlbGxhYmxlRGVsYXkodGltZW91dE1zKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5wYWdlTG9hZERlbGF5O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEIuQ2FuY2VsbGF0aW9uRXJyb3IpIHtcbiAgICAgICAgLy8gaWYgdGhlIHByb21pc2UgaGFzIGJlZW4gY2FuY2VsbGVkXG4gICAgICAgIC8vIHdlIHdhbnQgdG8gc2tpcCBjaGVja2luZyB0aGUgcmVhZGluZXNzXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB3ZSBjYW4gZ2V0IHRoaXMgY2FsbGVkIGluIHRoZSBtaWRkbGUgb2YgdHJ5aW5nIHRvIGZpbmQgYSBuZXcgYXBwXG4gICAgaWYgKCF0aGlzLmFwcElkS2V5KSB7XG4gICAgICBsb2cuZGVidWcoJ05vdCBjb25uZWN0ZWQgdG8gYW4gYXBwbGljYXRpb24uIElnbm9yaW5nIHBhZ2UgbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChfLmlzRnVuY3Rpb24ocGFnZUxvYWRWZXJpZnlIb29rKSkge1xuICAgICAgYXdhaXQgcGFnZUxvYWRWZXJpZnlIb29rKCk7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXJlIHJlYWR5LCBvciB3ZSd2ZSBzcGVuZCB0b28gbXVjaCB0aW1lIG9uIHRoaXNcbiAgICBjb25zdCBlbGFwc2VkTXMgPSBzdGFydFBhZ2VMb2FkVGltZXIuZ2V0RHVyYXRpb24oKS5hc01pbGxpU2Vjb25kcztcbiAgICBpZiAoYXdhaXQgdGhpcy5jaGVja1BhZ2VJc1JlYWR5KCkgfHwgKHRoaXMucGFnZUxvYWRNcyA+IDAgJiYgZWxhcHNlZE1zID4gdGhpcy5wYWdlTG9hZE1zKSkge1xuICAgICAgbG9nLmRlYnVnKCdQYWdlIGlzIHJlYWR5Jyk7XG4gICAgICB0aGlzLnBhZ2VMb2FkaW5nID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5kZWJ1ZygnUGFnZSB3YXMgbm90IHJlYWR5LCByZXRyeWluZycpO1xuICAgICAgYXdhaXQgdmVyaWZ5KCk7XG4gICAgfVxuICB9O1xuICB0cnkge1xuICAgIGF3YWl0IHZlcmlmeSgpO1xuICB9IGZpbmFsbHkge1xuICAgIGxvZy5kZWJ1ZyhgUGFnZSBsb2FkIGNvbXBsZXRlZCBpbiAke3N0YXJ0UGFnZUxvYWRUaW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXNgKTtcbiAgICB0aGlzLnBhZ2VMb2FkaW5nID0gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsUGFnZUxvYWQgKCkge1xuICBsb2cuZGVidWcoJ1VucmVnaXN0ZXJpbmcgZnJvbSBwYWdlIHJlYWRpbmVzcyBub3RpZmljYXRpb25zJyk7XG4gIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgaWYgKHRoaXMucGFnZUxvYWREZWxheSkge1xuICAgIHRoaXMucGFnZUxvYWREZWxheS5jYW5jZWwoKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBwYWdlVW5sb2FkICgpIHtcbiAgbG9nLmRlYnVnKCdQYWdlIHVubG9hZGluZycpO1xuICBhd2FpdCB0aGlzLndhaXRGb3JEb20oKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvckRvbSAoc3RhcnRQYWdlTG9hZFRpbWVyLCBwYWdlTG9hZFZlcmlmeUhvb2spIHtcbiAgbG9nLmRlYnVnKCdXYWl0aW5nIGZvciBkb20uLi4nKTtcbiAgYXdhaXQgdGhpcy5wYWdlTG9hZChzdGFydFBhZ2VMb2FkVGltZXIsIHBhZ2VMb2FkVmVyaWZ5SG9vayk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrUGFnZUlzUmVhZHkgKCkge1xuICBjaGVja1BhcmFtcyh7YXBwSWRLZXk6IHRoaXMuYXBwSWRLZXl9KTtcblxuICBsb2cuZGVidWcoJ0NoZWNraW5nIGRvY3VtZW50IHJlYWR5U3RhdGUnKTtcbiAgY29uc3QgcmVhZHlDbWQgPSAnZG9jdW1lbnQucmVhZHlTdGF0ZTsnO1xuICBsZXQgcmVhZHlTdGF0ZSA9ICdsb2FkaW5nJztcbiAgdHJ5IHtcbiAgICByZWFkeVN0YXRlID0gYXdhaXQgQi5yZXNvbHZlKHRoaXMuZXhlY3V0ZShyZWFkeUNtZCwgdHJ1ZSkpLnRpbWVvdXQodGhpcy5wYWdlUmVhZHlUaW1lb3V0KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgQi5UaW1lb3V0RXJyb3IpKSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhgUGFnZSByZWFkaW5lc3MgY2hlY2sgdGltZWQgb3V0IGFmdGVyICR7dGhpcy5wYWdlUmVhZHlUaW1lb3V0fW1zYCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGxvZy5kZWJ1ZyhgRG9jdW1lbnQgcmVhZHlTdGF0ZSBpcyAnJHtyZWFkeVN0YXRlfSdgKTtcblxuICByZXR1cm4gcmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJztcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmF2VG9VcmwgKHVybCwgcGFnZUxvYWRWZXJpZnlIb29rKSB7XG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleSwgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleX0pO1xuXG4gIHRoaXMuX25hdmlnYXRpbmdUb1BhZ2UgPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgbG9nLmRlYnVnKGBOYXZpZ2F0aW5nIHRvIG5ldyBVUkw6ICcke3VybH0nYCk7XG5cbiAgICAvLyBiZWdpbiBsaXN0ZW5pbmcgZm9yIGZyYW1lIG5hdmlnYXRpb24gZXZlbnQsIHdoaWNoIHdpbGwgYmUgd2FpdGVkIGZvciBsYXRlclxuICAgIGNvbnN0IHdhaXRGb3JGcmFtZVByb21pc2UgPSB0aGlzLndhaXRGb3JGcmFtZU5hdmlnYXRlZCgpO1xuXG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUGFnZS5uYXZpZ2F0ZScsIHtcbiAgICAgIHVybCxcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy51c2VOZXdTYWZhcmkpIHtcbiAgICAgIC8vIGEgc21hbGwgcGF1c2UgZm9yIHRoZSBicm93c2VyIHRvIGNhdGNoIHVwXG4gICAgICBhd2FpdCBCLmRlbGF5KDEwMDApO1xuICAgIH1cblxuICAgIC8vIHdhaXQgdW50aWwgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2aWdhdGVkXG4gICAgYXdhaXQgd2FpdEZvckZyYW1lUHJvbWlzZTtcblxuICAgIGF3YWl0IHRoaXMud2FpdEZvckRvbShuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKSwgcGFnZUxvYWRWZXJpZnlIb29rKTtcblxuICAgIC8vIGVuYWJsZSBjb25zb2xlIGxvZ2dpbmcsIHNvIHdlIGdldCB0aGUgZXZlbnRzIChvdGhlcndpc2Ugd2Ugb25seVxuICAgIC8vIGdldCBub3RpZmllZCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBsb2NhbCBwYWdlXG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnQ29uc29sZS5lbmFibGUnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgdGhpcy5fbmF2aWdhdGluZ1RvUGFnZSA9IGZhbHNlO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGcmFtZU5hdmlnYXRlZCAoKSB7XG4gIGxldCBuYXZFdmVudExpc3RlbmVyO1xuICByZXR1cm4gYXdhaXQgbmV3IEIoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICBsb2cuZGVidWcoJ1dhaXRpbmcgZm9yIGZyYW1lIG5hdmlnYXRlZCBtZXNzYWdlLi4uJyk7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcblxuICAgIC8vIGFkZCBhIGhhbmRsZXIgZm9yIHRoZSBgUGFnZS5mcmFtZU5hdmlnYXRlZGAgbWVzc2FnZVxuICAgIC8vIGZyb20gdGhlIHJlbW90ZSBkZWJ1Z2dlclxuICAgIG5hdkV2ZW50TGlzdGVuZXIgPSAoZXJyLCB2YWx1ZSkgPT4ge1xuICAgICAgbG9nLmRlYnVnKGBGcmFtZSBuYXZpZ2F0ZWQgaW4gJHtzdGFydC5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXMgZnJvbTogJHt2YWx1ZX1gKTtcbiAgICAgIGlmICghdGhpcy5hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkICYmICF0aGlzLnBhZ2VMb2FkaW5nKSB7XG4gICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKCdGcmFtZSBuYXZpZ2F0ZWQgYnV0IHdlIHdlcmUgd2FybmVkIGFib3V0IGl0LCBub3QgJyArXG4gICAgICAgICAgICAgICAgICAnY29uc2lkZXJpbmcgcGFnZSBzdGF0ZSB1bmxvYWRlZCcpO1xuICAgICAgICB0aGlzLmFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25EZWxheSkge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25EZWxheS5jYW5jZWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5ycGNDbGllbnQub25jZSgnUGFnZS5mcmFtZU5hdmlnYXRlZCcsIG5hdkV2ZW50TGlzdGVuZXIpO1xuXG4gICAgLy8gdGltZW91dCwgaW4gY2FzZSByZW1vdGUgZGVidWdnZXIgZG9lc24ndCByZXNwb25kLFxuICAgIC8vIG9yIHRha2VzIGEgbG9uZyB0aW1lXG4gICAgaWYgKCF0aGlzLnVzZU5ld1NhZmFyaSB8fCB0aGlzLnBhZ2VMb2FkTXMgPj0gMCkge1xuICAgICAgLy8gdXNlIHBhZ2VMb2FkTXMsIG9yIGEgc21hbGwgYW1vdW50IG9mIHRpbWVcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSB0aGlzLnVzZU5ld1NhZmFyaSA/IHRoaXMucGFnZUxvYWRNcyA6IDUwMDtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkRlbGF5ID0gdXRpbC5jYW5jZWxsYWJsZURlbGF5KHRpbWVvdXQpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0aW9uRGVsYXk7XG4gICAgICAgIG5hdkV2ZW50TGlzdGVuZXIobnVsbCwgYCR7dGltZW91dH1tcyB0aW1lb3V0YCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gbm90aGluZyB0byBkbzogd2Ugb25seSBnZXQgaGVyZSBpZiB0aGUgcmVtb3RlIGRlYnVnZ2VyXG4gICAgICAgIC8vIGFscmVhZHkgbm90aWZpZWQgb2YgZnJhbWUgbmF2aWdhdGlvbiwgYW5kIHRoZSBkZWxheVxuICAgICAgICAvLyB3YXMgY2FuY2VsbGVkXG4gICAgICB9XG4gICAgfVxuICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICBpZiAobmF2RXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5ycGNDbGllbnQub2ZmKCdQYWdlLmZyYW1lTmF2aWdhdGVkJywgbmF2RXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn1cblxuXG5leHBvcnQgZGVmYXVsdCB7IGZyYW1lRGV0YWNoZWQsIHBhZ2VMb2FkLCBjYW5jZWxQYWdlTG9hZCwgcGFnZVVubG9hZCwgd2FpdEZvckRvbSwgY2hlY2tQYWdlSXNSZWFkeSwgbmF2VG9VcmwsIHdhaXRGb3JGcmFtZU5hdmlnYXRlZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLFNBQVNNLGFBQWFBLENBQUEsRUFBSTtFQUN4QixJQUFJLENBQUNDLElBQUksQ0FBQ0MsZUFBTSxDQUFDQyxxQkFBcUIsQ0FBQztBQUN6QztBQUVBLGVB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
163
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfdXRpbHMiLCJfZXZlbnRzIiwiX3N1cHBvcnQiLCJfbG9kYXNoIiwiX2JsdWViaXJkIiwiZnJhbWVEZXRhY2hlZCIsImVtaXQiLCJldmVudHMiLCJFVkVOVF9GUkFNRVNfREVUQUNIRUQiLCJwYWdlTG9hZCIsInN0YXJ0UGFnZUxvYWRUaW1lciIsInBhZ2VMb2FkVmVyaWZ5SG9vayIsIl8iLCJub29wIiwiX3N0YXJ0UGFnZUxvYWRUaW1lciIsInRpbWVvdXRNcyIsImlzRnVuY3Rpb24iLCJnZXREdXJhdGlvbiIsImxvZyIsImRlYnVnIiwidGltaW5nIiwiVGltZXIiLCJzdGFydCIsInBhZ2VMb2FkaW5nIiwidmVyaWZ5IiwicGFnZUxvYWREZWxheSIsInV0aWwiLCJjYW5jZWxsYWJsZURlbGF5IiwiZXJyIiwiQiIsIkNhbmNlbGxhdGlvbkVycm9yIiwiYXBwSWRLZXkiLCJlbGFwc2VkTXMiLCJhc01pbGxpU2Vjb25kcyIsImNoZWNrUGFnZUlzUmVhZHkiLCJwYWdlTG9hZE1zIiwidG9GaXhlZCIsImNhbmNlbFBhZ2VMb2FkIiwiY2FuY2VsIiwicGFnZVVubG9hZCIsIndhaXRGb3JEb20iLCJjaGVja1BhcmFtcyIsInJlYWR5Q21kIiwicmVhZHlTdGF0ZSIsInJlc29sdmUiLCJleGVjdXRlIiwidGltZW91dCIsInBhZ2VSZWFkeVRpbWVvdXQiLCJUaW1lb3V0RXJyb3IiLCJuYXZUb1VybCIsInVybCIsInBhZ2VJZEtleSIsIl9uYXZpZ2F0aW5nVG9QYWdlIiwid2FpdEZvckZyYW1lUHJvbWlzZSIsIndhaXRGb3JGcmFtZU5hdmlnYXRlZCIsInJwY0NsaWVudCIsInNlbmQiLCJ1c2VOZXdTYWZhcmkiLCJkZWxheSIsIm5hdkV2ZW50TGlzdGVuZXIiLCJ2YWx1ZSIsImFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQiLCJuYXZpZ2F0aW9uRGVsYXkiLCJvbmNlIiwiZmluYWxseSIsIm9mZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvbWl4aW5zL25hdmlnYXRlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGNoZWNrUGFyYW1zIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyB0aW1pbmcsIHV0aWwgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcblxuXG5mdW5jdGlvbiBmcmFtZURldGFjaGVkICgpIHtcbiAgdGhpcy5lbWl0KGV2ZW50cy5FVkVOVF9GUkFNRVNfREVUQUNIRUQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwYWdlTG9hZCAoc3RhcnRQYWdlTG9hZFRpbWVyLCBwYWdlTG9hZFZlcmlmeUhvb2sgPSBfLm5vb3ApIHtcbiAgY29uc3QgdGltZW91dE1zID0gNTAwO1xuICBpZiAoIV8uaXNGdW5jdGlvbihzdGFydFBhZ2VMb2FkVGltZXI/LmdldER1cmF0aW9uKSkge1xuICAgIGxvZy5kZWJ1ZyhgUGFnZSBsb2FkIHRpbWVyIG5vdCBhIHRpbWVyLiBDcmVhdGluZyBuZXcgdGltZXJgKTtcbiAgICBzdGFydFBhZ2VMb2FkVGltZXIgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcbiAgfVxuXG4gIGxvZy5kZWJ1ZygnUGFnZSBsb2FkZWQsIHZlcmlmeWluZyB3aGV0aGVyIHJlYWR5Jyk7XG4gIHRoaXMucGFnZUxvYWRpbmcgPSB0cnVlO1xuXG4gIGNvbnN0IHZlcmlmeSA9IGFzeW5jICgpID0+IHtcbiAgICB0aGlzLnBhZ2VMb2FkRGVsYXkgPSB1dGlsLmNhbmNlbGxhYmxlRGVsYXkodGltZW91dE1zKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5wYWdlTG9hZERlbGF5O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEIuQ2FuY2VsbGF0aW9uRXJyb3IpIHtcbiAgICAgICAgLy8gaWYgdGhlIHByb21pc2UgaGFzIGJlZW4gY2FuY2VsbGVkXG4gICAgICAgIC8vIHdlIHdhbnQgdG8gc2tpcCBjaGVja2luZyB0aGUgcmVhZGluZXNzXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB3ZSBjYW4gZ2V0IHRoaXMgY2FsbGVkIGluIHRoZSBtaWRkbGUgb2YgdHJ5aW5nIHRvIGZpbmQgYSBuZXcgYXBwXG4gICAgaWYgKCF0aGlzLmFwcElkS2V5KSB7XG4gICAgICBsb2cuZGVidWcoJ05vdCBjb25uZWN0ZWQgdG8gYW4gYXBwbGljYXRpb24uIElnbm9yaW5nIHBhZ2UgbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChfLmlzRnVuY3Rpb24ocGFnZUxvYWRWZXJpZnlIb29rKSkge1xuICAgICAgYXdhaXQgcGFnZUxvYWRWZXJpZnlIb29rKCk7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXJlIHJlYWR5LCBvciB3ZSd2ZSBzcGVuZCB0b28gbXVjaCB0aW1lIG9uIHRoaXNcbiAgICBjb25zdCBlbGFwc2VkTXMgPSBzdGFydFBhZ2VMb2FkVGltZXIuZ2V0RHVyYXRpb24oKS5hc01pbGxpU2Vjb25kcztcbiAgICBpZiAoYXdhaXQgdGhpcy5jaGVja1BhZ2VJc1JlYWR5KCkgfHwgKHRoaXMucGFnZUxvYWRNcyA+IDAgJiYgZWxhcHNlZE1zID4gdGhpcy5wYWdlTG9hZE1zKSkge1xuICAgICAgbG9nLmRlYnVnKCdQYWdlIGlzIHJlYWR5Jyk7XG4gICAgICB0aGlzLnBhZ2VMb2FkaW5nID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZy5kZWJ1ZygnUGFnZSB3YXMgbm90IHJlYWR5LCByZXRyeWluZycpO1xuICAgICAgYXdhaXQgdmVyaWZ5KCk7XG4gICAgfVxuICB9O1xuICB0cnkge1xuICAgIGF3YWl0IHZlcmlmeSgpO1xuICB9IGZpbmFsbHkge1xuICAgIGxvZy5kZWJ1ZyhgUGFnZSBsb2FkIGNvbXBsZXRlZCBpbiAke3N0YXJ0UGFnZUxvYWRUaW1lci5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXNgKTtcbiAgICB0aGlzLnBhZ2VMb2FkaW5nID0gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FuY2VsUGFnZUxvYWQgKCkge1xuICBsb2cuZGVidWcoJ1VucmVnaXN0ZXJpbmcgZnJvbSBwYWdlIHJlYWRpbmVzcyBub3RpZmljYXRpb25zJyk7XG4gIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgaWYgKHRoaXMucGFnZUxvYWREZWxheSkge1xuICAgIHRoaXMucGFnZUxvYWREZWxheS5jYW5jZWwoKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBwYWdlVW5sb2FkICgpIHtcbiAgbG9nLmRlYnVnKCdQYWdlIHVubG9hZGluZycpO1xuICBhd2FpdCB0aGlzLndhaXRGb3JEb20oKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvckRvbSAoc3RhcnRQYWdlTG9hZFRpbWVyLCBwYWdlTG9hZFZlcmlmeUhvb2spIHtcbiAgbG9nLmRlYnVnKCdXYWl0aW5nIGZvciBkb20uLi4nKTtcbiAgYXdhaXQgdGhpcy5wYWdlTG9hZChzdGFydFBhZ2VMb2FkVGltZXIsIHBhZ2VMb2FkVmVyaWZ5SG9vayk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNoZWNrUGFnZUlzUmVhZHkgKCkge1xuICBjaGVja1BhcmFtcyh7YXBwSWRLZXk6IHRoaXMuYXBwSWRLZXl9KTtcblxuICBsb2cuZGVidWcoJ0NoZWNraW5nIGRvY3VtZW50IHJlYWR5U3RhdGUnKTtcbiAgY29uc3QgcmVhZHlDbWQgPSAnZG9jdW1lbnQucmVhZHlTdGF0ZTsnO1xuICBsZXQgcmVhZHlTdGF0ZSA9ICdsb2FkaW5nJztcbiAgdHJ5IHtcbiAgICByZWFkeVN0YXRlID0gYXdhaXQgQi5yZXNvbHZlKHRoaXMuZXhlY3V0ZShyZWFkeUNtZCwgdHJ1ZSkpLnRpbWVvdXQodGhpcy5wYWdlUmVhZHlUaW1lb3V0KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKCEoZXJyIGluc3RhbmNlb2YgQi5UaW1lb3V0RXJyb3IpKSB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhgUGFnZSByZWFkaW5lc3MgY2hlY2sgdGltZWQgb3V0IGFmdGVyICR7dGhpcy5wYWdlUmVhZHlUaW1lb3V0fW1zYCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGxvZy5kZWJ1ZyhgRG9jdW1lbnQgcmVhZHlTdGF0ZSBpcyAnJHtyZWFkeVN0YXRlfSdgKTtcblxuICByZXR1cm4gcmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJztcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmF2VG9VcmwgKHVybCwgcGFnZUxvYWRWZXJpZnlIb29rKSB7XG4gIGNoZWNrUGFyYW1zKHthcHBJZEtleTogdGhpcy5hcHBJZEtleSwgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleX0pO1xuXG4gIHRoaXMuX25hdmlnYXRpbmdUb1BhZ2UgPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgbG9nLmRlYnVnKGBOYXZpZ2F0aW5nIHRvIG5ldyBVUkw6ICcke3VybH0nYCk7XG5cbiAgICAvLyBiZWdpbiBsaXN0ZW5pbmcgZm9yIGZyYW1lIG5hdmlnYXRpb24gZXZlbnQsIHdoaWNoIHdpbGwgYmUgd2FpdGVkIGZvciBsYXRlclxuICAgIGNvbnN0IHdhaXRGb3JGcmFtZVByb21pc2UgPSB0aGlzLndhaXRGb3JGcmFtZU5hdmlnYXRlZCgpO1xuXG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnUGFnZS5uYXZpZ2F0ZScsIHtcbiAgICAgIHVybCxcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy51c2VOZXdTYWZhcmkpIHtcbiAgICAgIC8vIGEgc21hbGwgcGF1c2UgZm9yIHRoZSBicm93c2VyIHRvIGNhdGNoIHVwXG4gICAgICBhd2FpdCBCLmRlbGF5KDEwMDApO1xuICAgIH1cblxuICAgIC8vIHdhaXQgdW50aWwgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2aWdhdGVkXG4gICAgYXdhaXQgd2FpdEZvckZyYW1lUHJvbWlzZTtcblxuICAgIGF3YWl0IHRoaXMud2FpdEZvckRvbShuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKSwgcGFnZUxvYWRWZXJpZnlIb29rKTtcblxuICAgIC8vIGVuYWJsZSBjb25zb2xlIGxvZ2dpbmcsIHNvIHdlIGdldCB0aGUgZXZlbnRzIChvdGhlcndpc2Ugd2Ugb25seVxuICAgIC8vIGdldCBub3RpZmllZCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBsb2NhbCBwYWdlXG4gICAgYXdhaXQgdGhpcy5ycGNDbGllbnQuc2VuZCgnQ29uc29sZS5lbmFibGUnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgdGhpcy5fbmF2aWdhdGluZ1RvUGFnZSA9IGZhbHNlO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JGcmFtZU5hdmlnYXRlZCAoKSB7XG4gIGxldCBuYXZFdmVudExpc3RlbmVyO1xuICByZXR1cm4gYXdhaXQgbmV3IEIoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICBsb2cuZGVidWcoJ1dhaXRpbmcgZm9yIGZyYW1lIG5hdmlnYXRlZCBtZXNzYWdlLi4uJyk7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgdGltaW5nLlRpbWVyKCkuc3RhcnQoKTtcblxuICAgIC8vIGFkZCBhIGhhbmRsZXIgZm9yIHRoZSBgUGFnZS5mcmFtZU5hdmlnYXRlZGAgbWVzc2FnZVxuICAgIC8vIGZyb20gdGhlIHJlbW90ZSBkZWJ1Z2dlclxuICAgIG5hdkV2ZW50TGlzdGVuZXIgPSAoZXJyLCB2YWx1ZSkgPT4ge1xuICAgICAgbG9nLmRlYnVnKGBGcmFtZSBuYXZpZ2F0ZWQgaW4gJHtzdGFydC5nZXREdXJhdGlvbigpLmFzTWlsbGlTZWNvbmRzLnRvRml4ZWQoMCl9bXMgZnJvbTogJHt2YWx1ZX1gKTtcbiAgICAgIGlmICghdGhpcy5hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkICYmICF0aGlzLnBhZ2VMb2FkaW5nKSB7XG4gICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKCdGcmFtZSBuYXZpZ2F0ZWQgYnV0IHdlIHdlcmUgd2FybmVkIGFib3V0IGl0LCBub3QgJyArXG4gICAgICAgICAgICAgICAgICAnY29uc2lkZXJpbmcgcGFnZSBzdGF0ZSB1bmxvYWRlZCcpO1xuICAgICAgICB0aGlzLmFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25EZWxheSkge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25EZWxheS5jYW5jZWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5ycGNDbGllbnQub25jZSgnUGFnZS5mcmFtZU5hdmlnYXRlZCcsIG5hdkV2ZW50TGlzdGVuZXIpO1xuXG4gICAgLy8gdGltZW91dCwgaW4gY2FzZSByZW1vdGUgZGVidWdnZXIgZG9lc24ndCByZXNwb25kLFxuICAgIC8vIG9yIHRha2VzIGEgbG9uZyB0aW1lXG4gICAgaWYgKCF0aGlzLnVzZU5ld1NhZmFyaSB8fCB0aGlzLnBhZ2VMb2FkTXMgPj0gMCkge1xuICAgICAgLy8gdXNlIHBhZ2VMb2FkTXMsIG9yIGEgc21hbGwgYW1vdW50IG9mIHRpbWVcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSB0aGlzLnVzZU5ld1NhZmFyaSA/IHRoaXMucGFnZUxvYWRNcyA6IDUwMDtcbiAgICAgIHRoaXMubmF2aWdhdGlvbkRlbGF5ID0gdXRpbC5jYW5jZWxsYWJsZURlbGF5KHRpbWVvdXQpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0aW9uRGVsYXk7XG4gICAgICAgIG5hdkV2ZW50TGlzdGVuZXIobnVsbCwgYCR7dGltZW91dH1tcyB0aW1lb3V0YCk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gbm90aGluZyB0byBkbzogd2Ugb25seSBnZXQgaGVyZSBpZiB0aGUgcmVtb3RlIGRlYnVnZ2VyXG4gICAgICAgIC8vIGFscmVhZHkgbm90aWZpZWQgb2YgZnJhbWUgbmF2aWdhdGlvbiwgYW5kIHRoZSBkZWxheVxuICAgICAgICAvLyB3YXMgY2FuY2VsbGVkXG4gICAgICB9XG4gICAgfVxuICB9KS5maW5hbGx5KCgpID0+IHtcbiAgICBpZiAobmF2RXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5ycGNDbGllbnQub2ZmKCdQYWdlLmZyYW1lTmF2aWdhdGVkJywgbmF2RXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn1cblxuXG5leHBvcnQgZGVmYXVsdCB7IGZyYW1lRGV0YWNoZWQsIHBhZ2VMb2FkLCBjYW5jZWxQYWdlTG9hZCwgcGFnZVVubG9hZCwgd2FpdEZvckRvbSwgY2hlY2tQYWdlSXNSZWFkeSwgbmF2VG9VcmwsIHdhaXRGb3JGcmFtZU5hdmlnYXRlZCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUdBLFNBQVNNLGFBQWFBLENBQUEsRUFBSTtFQUN4QixJQUFJLENBQUNDLElBQUksQ0FBQ0MsZUFBTSxDQUFDQyxxQkFBcUIsQ0FBQztBQUN6QztBQUVBLGVB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
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.js","names":["_logger","_interopRequireDefault","require","_utils","_events","_support","_lodash","_bluebird","frameDetached","emit","events","EVENT_FRAMES_DETACHED","pageLoad","startPageLoadTimer","pageLoadVerifyHook","_","noop","_startPageLoadTimer","timeoutMs","isFunction","getDuration","log","debug","timing","Timer","start","pageLoading","verify","pageLoadDelay","util","cancellableDelay","err","B","CancellationError","appIdKey","elapsedMs","asMilliSeconds","checkPageIsReady","pageLoadMs","toFixed","cancelPageLoad","cancel","pageUnload","waitForDom","checkParams","readyCmd","readyState","resolve","execute","timeout","pageReadyTimeout","TimeoutError","navToUrl","url","pageIdKey","_navigatingToPage","waitForFramePromise","waitForFrameNavigated","rpcClient","send","useNewSafari","delay","navEventListener","value","allowNavigationWithoutReload","navigationDelay","once","finally","off","_default","exports","default"],"sources":["../../../lib/mixins/navigate.js"],"sourcesContent":["import log from '../logger';\nimport { checkParams } from '../utils';\nimport events from './events';\nimport { timing, util } from '@appium/support';\nimport _ from 'lodash';\nimport B from 'bluebird';\n\n\nfunction frameDetached () {\n this.emit(events.EVENT_FRAMES_DETACHED);\n}\n\nasync function pageLoad (startPageLoadTimer, pageLoadVerifyHook = _.noop) {\n const timeoutMs = 500;\n if (!_.isFunction(startPageLoadTimer?.getDuration)) {\n log.debug(`Page load timer not a timer. Creating new timer`);\n startPageLoadTimer = new timing.Timer().start();\n }\n\n log.debug('Page loaded, verifying whether ready');\n this.pageLoading = true;\n\n const verify = async () => {\n this.pageLoadDelay = util.cancellableDelay(timeoutMs);\n try {\n await this.pageLoadDelay;\n } catch (err) {\n if (err instanceof B.CancellationError) {\n // if the promise has been cancelled\n // we want to skip checking the readiness\n return;\n }\n }\n\n // we can get this called in the middle of trying to find a new app\n if (!this.appIdKey) {\n log.debug('Not connected to an application. Ignoring page load');\n return;\n }\n\n if (_.isFunction(pageLoadVerifyHook)) {\n await pageLoadVerifyHook();\n }\n\n // if we are ready, or we've spend too much time on this\n const elapsedMs = startPageLoadTimer.getDuration().asMilliSeconds;\n if (await this.checkPageIsReady() || (this.pageLoadMs > 0 && elapsedMs > this.pageLoadMs)) {\n log.debug('Page is ready');\n this.pageLoading = false;\n } else {\n log.debug('Page was not ready, retrying');\n await verify();\n }\n };\n try {\n await verify();\n } finally {\n log.debug(`Page load completed in ${startPageLoadTimer.getDuration().asMilliSeconds.toFixed(0)}ms`);\n this.pageLoading = false;\n }\n}\n\nfunction cancelPageLoad () {\n log.debug('Unregistering from page readiness notifications');\n this.pageLoading = false;\n if (this.pageLoadDelay) {\n this.pageLoadDelay.cancel();\n }\n}\n\nasync function pageUnload () {\n log.debug('Page unloading');\n await this.waitForDom();\n}\n\nasync function waitForDom (startPageLoadTimer, pageLoadVerifyHook) {\n log.debug('Waiting for dom...');\n await this.pageLoad(startPageLoadTimer, pageLoadVerifyHook);\n}\n\nasync function checkPageIsReady () {\n checkParams({appIdKey: this.appIdKey});\n\n log.debug('Checking document readyState');\n const readyCmd = 'document.readyState;';\n let readyState = 'loading';\n try {\n readyState = await B.resolve(this.execute(readyCmd, true)).timeout(this.pageReadyTimeout);\n } catch (err) {\n if (!(err instanceof B.TimeoutError)) {\n throw err;\n }\n log.debug(`Page readiness check timed out after ${this.pageReadyTimeout}ms`);\n return false;\n }\n log.debug(`Document readyState is '${readyState}'`);\n\n return readyState === 'complete';\n}\n\nasync function navToUrl (url, pageLoadVerifyHook) {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n\n this._navigatingToPage = true;\n\n try {\n log.debug(`Navigating to new URL: '${url}'`);\n\n // begin listening for frame navigation event, which will be waited for later\n const waitForFramePromise = this.waitForFrameNavigated();\n\n await this.rpcClient.send('Page.navigate', {\n url,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n if (!this.useNewSafari) {\n // a small pause for the browser to catch up\n await B.delay(1000);\n }\n\n // wait until the page has been navigated\n await waitForFramePromise;\n\n await this.waitForDom(new timing.Timer().start(), pageLoadVerifyHook);\n\n // enable console logging, so we get the events (otherwise we only\n // get notified when navigating to a local page\n await this.rpcClient.send('Console.enable', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n } finally {\n this._navigatingToPage = false;\n }\n}\n\nasync function waitForFrameNavigated () {\n let navEventListener;\n return await new B(async (resolve) => {\n log.debug('Waiting for frame navigated message...');\n const start = new timing.Timer().start();\n\n // add a handler for the `Page.frameNavigated` message\n // from the remote debugger\n navEventListener = (err, value) => {\n log.debug(`Frame navigated in ${start.getDuration().asMilliSeconds.toFixed(0)}ms from: ${value}`);\n if (!this.allowNavigationWithoutReload && !this.pageLoading) {\n resolve(value);\n } else {\n log.debug('Frame navigated but we were warned about it, not ' +\n 'considering page state unloaded');\n this.allowNavigationWithoutReload = false;\n }\n if (this.navigationDelay) {\n this.navigationDelay.cancel();\n }\n };\n\n this.rpcClient.once('Page.frameNavigated', navEventListener);\n\n // timeout, in case remote debugger doesn't respond,\n // or takes a long time\n if (!this.useNewSafari || this.pageLoadMs >= 0) {\n // use pageLoadMs, or a small amount of time\n const timeout = this.useNewSafari ? this.pageLoadMs : 500;\n this.navigationDelay = util.cancellableDelay(timeout);\n try {\n await this.navigationDelay;\n navEventListener(null, `${timeout}ms timeout`);\n } catch (err) {\n // nothing to do: we only get here if the remote debugger\n // already notified of frame navigation, and the delay\n // was cancelled\n }\n }\n }).finally(() => {\n if (navEventListener) {\n this.rpcClient.off('Page.frameNavigated', navEventListener);\n }\n });\n}\n\n\nexport default { frameDetached, pageLoad, cancelPageLoad, pageUnload, waitForDom, checkPageIsReady, navToUrl, waitForFrameNavigated };\n"],"mappings":"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"}
1
+ {"version":3,"file":"navigate.js","names":["_logger","_interopRequireDefault","require","_utils","_events","_support","_lodash","_bluebird","frameDetached","emit","events","EVENT_FRAMES_DETACHED","pageLoad","startPageLoadTimer","pageLoadVerifyHook","_","noop","_startPageLoadTimer","timeoutMs","isFunction","getDuration","log","debug","timing","Timer","start","pageLoading","verify","pageLoadDelay","util","cancellableDelay","err","B","CancellationError","appIdKey","elapsedMs","asMilliSeconds","checkPageIsReady","pageLoadMs","toFixed","cancelPageLoad","cancel","pageUnload","waitForDom","checkParams","readyCmd","readyState","resolve","execute","timeout","pageReadyTimeout","TimeoutError","navToUrl","url","pageIdKey","_navigatingToPage","waitForFramePromise","waitForFrameNavigated","rpcClient","send","useNewSafari","delay","navEventListener","value","allowNavigationWithoutReload","navigationDelay","once","finally","off","_default","exports","default"],"sources":["../../../lib/mixins/navigate.js"],"sourcesContent":["import log from '../logger';\nimport { checkParams } from '../utils';\nimport events from './events';\nimport { timing, util } from '@appium/support';\nimport _ from 'lodash';\nimport B from 'bluebird';\n\n\nfunction frameDetached () {\n this.emit(events.EVENT_FRAMES_DETACHED);\n}\n\nasync function pageLoad (startPageLoadTimer, pageLoadVerifyHook = _.noop) {\n const timeoutMs = 500;\n if (!_.isFunction(startPageLoadTimer?.getDuration)) {\n log.debug(`Page load timer not a timer. Creating new timer`);\n startPageLoadTimer = new timing.Timer().start();\n }\n\n log.debug('Page loaded, verifying whether ready');\n this.pageLoading = true;\n\n const verify = async () => {\n this.pageLoadDelay = util.cancellableDelay(timeoutMs);\n try {\n await this.pageLoadDelay;\n } catch (err) {\n if (err instanceof B.CancellationError) {\n // if the promise has been cancelled\n // we want to skip checking the readiness\n return;\n }\n }\n\n // we can get this called in the middle of trying to find a new app\n if (!this.appIdKey) {\n log.debug('Not connected to an application. Ignoring page load');\n return;\n }\n\n if (_.isFunction(pageLoadVerifyHook)) {\n await pageLoadVerifyHook();\n }\n\n // if we are ready, or we've spend too much time on this\n const elapsedMs = startPageLoadTimer.getDuration().asMilliSeconds;\n if (await this.checkPageIsReady() || (this.pageLoadMs > 0 && elapsedMs > this.pageLoadMs)) {\n log.debug('Page is ready');\n this.pageLoading = false;\n } else {\n log.debug('Page was not ready, retrying');\n await verify();\n }\n };\n try {\n await verify();\n } finally {\n log.debug(`Page load completed in ${startPageLoadTimer.getDuration().asMilliSeconds.toFixed(0)}ms`);\n this.pageLoading = false;\n }\n}\n\nfunction cancelPageLoad () {\n log.debug('Unregistering from page readiness notifications');\n this.pageLoading = false;\n if (this.pageLoadDelay) {\n this.pageLoadDelay.cancel();\n }\n}\n\nasync function pageUnload () {\n log.debug('Page unloading');\n await this.waitForDom();\n}\n\nasync function waitForDom (startPageLoadTimer, pageLoadVerifyHook) {\n log.debug('Waiting for dom...');\n await this.pageLoad(startPageLoadTimer, pageLoadVerifyHook);\n}\n\nasync function checkPageIsReady () {\n checkParams({appIdKey: this.appIdKey});\n\n log.debug('Checking document readyState');\n const readyCmd = 'document.readyState;';\n let readyState = 'loading';\n try {\n readyState = await B.resolve(this.execute(readyCmd, true)).timeout(this.pageReadyTimeout);\n } catch (err) {\n if (!(err instanceof B.TimeoutError)) {\n throw err;\n }\n log.debug(`Page readiness check timed out after ${this.pageReadyTimeout}ms`);\n return false;\n }\n log.debug(`Document readyState is '${readyState}'`);\n\n return readyState === 'complete';\n}\n\nasync function navToUrl (url, pageLoadVerifyHook) {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n\n this._navigatingToPage = true;\n\n try {\n log.debug(`Navigating to new URL: '${url}'`);\n\n // begin listening for frame navigation event, which will be waited for later\n const waitForFramePromise = this.waitForFrameNavigated();\n\n await this.rpcClient.send('Page.navigate', {\n url,\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n\n if (!this.useNewSafari) {\n // a small pause for the browser to catch up\n await B.delay(1000);\n }\n\n // wait until the page has been navigated\n await waitForFramePromise;\n\n await this.waitForDom(new timing.Timer().start(), pageLoadVerifyHook);\n\n // enable console logging, so we get the events (otherwise we only\n // get notified when navigating to a local page\n await this.rpcClient.send('Console.enable', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n } finally {\n this._navigatingToPage = false;\n }\n}\n\nasync function waitForFrameNavigated () {\n let navEventListener;\n return await new B(async (resolve) => {\n log.debug('Waiting for frame navigated message...');\n const start = new timing.Timer().start();\n\n // add a handler for the `Page.frameNavigated` message\n // from the remote debugger\n navEventListener = (err, value) => {\n log.debug(`Frame navigated in ${start.getDuration().asMilliSeconds.toFixed(0)}ms from: ${value}`);\n if (!this.allowNavigationWithoutReload && !this.pageLoading) {\n resolve(value);\n } else {\n log.debug('Frame navigated but we were warned about it, not ' +\n 'considering page state unloaded');\n this.allowNavigationWithoutReload = false;\n }\n if (this.navigationDelay) {\n this.navigationDelay.cancel();\n }\n };\n\n this.rpcClient.once('Page.frameNavigated', navEventListener);\n\n // timeout, in case remote debugger doesn't respond,\n // or takes a long time\n if (!this.useNewSafari || this.pageLoadMs >= 0) {\n // use pageLoadMs, or a small amount of time\n const timeout = this.useNewSafari ? this.pageLoadMs : 500;\n this.navigationDelay = util.cancellableDelay(timeout);\n try {\n await this.navigationDelay;\n navEventListener(null, `${timeout}ms timeout`);\n } catch (err) {\n // nothing to do: we only get here if the remote debugger\n // already notified of frame navigation, and the delay\n // was cancelled\n }\n }\n }).finally(() => {\n if (navEventListener) {\n this.rpcClient.off('Page.frameNavigated', navEventListener);\n }\n });\n}\n\n\nexport default { frameDetached, pageLoad, cancelPageLoad, pageUnload, waitForDom, checkPageIsReady, navToUrl, waitForFrameNavigated };\n"],"mappings":"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"}
@@ -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/LmlzQ29ubmVjdGVkO1xuICB9XG5cbiAgYXN5bmMgbGF1bmNoU2FmYXJpICgpIHtcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdsYXVuY2hBcHBsaWNhdGlvbicsIHtcbiAgICAgIGJ1bmRsZUlkOiBTQUZBUklfQlVORExFX0lEXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzdGFydFRpbWVsaW5lIChmbikge1xuICAgIGxvZy5kZWJ1ZygnU3RhcnRpbmcgdG8gcmVjb3JkIHRoZSB0aW1lbGluZScpO1xuICAgIHRoaXMucnBjQ2xpZW50Lm9uKCdUaW1lbGluZS5ldmVudFJlY29yZGVkJywgZm4pO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdzdGFydFRpbWVsaW5lJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc3RvcFRpbWVsaW5lICgpIHtcbiAgICBsb2cuZGVidWcoJ1N0b3BwaW5nIHRvIHJlY29yZCB0aGUgdGltZWxpbmUnKTtcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdUaW1lbGluZS5zdG9wJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuICB9XG5cbiAgLypcbiAgICogS2VlcCB0cmFjayBvZiB0aGUgY2xpZW50IGV2ZW50IGxpc3RlbmVycyBzbyB0aGV5IGNhbiBiZSByZW1vdmVkXG4gICAqL1xuICBhZGRDbGllbnRFdmVudExpc3RlbmVyIChldmVudE5hbWUsIGxpc3RlbmVyKSB7XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5wdXNoKGxpc3RlbmVyKTtcbiAgICB0aGlzLnJwY0NsaWVudC5vbihldmVudE5hbWUsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIgKGV2ZW50TmFtZSkge1xuICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgKHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW10pKSB7XG4gICAgICB0aGlzLnJwY0NsaWVudC5vZmYoZXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG5cbiAgc3RhcnRDb25zb2xlIChsaXN0ZW5lcikge1xuICAgIGxvZy5kZWJ1ZygnU3RhcnRpbmcgdG8gbGlzdGVuIGZvciBKYXZhU2NyaXB0IGNvbnNvbGUnKTtcbiAgICB0aGlzLmFkZENsaWVudEV2ZW50TGlzdGVuZXIoJ0NvbnNvbGUubWVzc2FnZUFkZGVkJywgbGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkQ2xpZW50RXZlbnRMaXN0ZW5lcignQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkJywgbGlzdGVuZXIpO1xuICB9XG5cbiAgc3RvcENvbnNvbGUgKCkge1xuICAgIGxvZy5kZWJ1ZygnU3RvcHBpbmcgdG8gbGlzdGVuIGZvciBKYXZhU2NyaXB0IGNvbnNvbGUnKTtcbiAgICB0aGlzLnJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIoJ0NvbnNvbGUubWVzc2FnZUFkZGVkJyk7XG4gICAgdGhpcy5yZW1vdmVDbGllbnRFdmVudExpc3RlbmVyKCdDb25zb2xlLm1lc3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQnKTtcbiAgfVxuXG4gIHN0YXJ0TmV0d29yayAobGlzdGVuZXIpIHtcbiAgICBsb2cuZGVidWcoJ1N0YXJ0aW5nIHRvIGxpc3RlbiBmb3IgbmV0d29yayBldmVudHMnKTtcbiAgICB0aGlzLmFkZENsaWVudEV2ZW50TGlzdGVuZXIoJ05ldHdvcmtFdmVudCcsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHN0b3BOZXR3b3JrICgpIHtcbiAgICBsb2cuZGVidWcoJ1N0b3BwaW5nIHRvIGxpc3RlbiBmb3IgbmV0d29yayBldmVudHMnKTtcbiAgICB0aGlzLnJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIoJ05ldHdvcmtFdmVudCcpO1xuICB9XG5cbiAgc2V0IGFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgKGFsbG93KSB7XG4gICAgdGhpcy5fYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCA9IGFsbG93O1xuICB9XG5cbiAgZ2V0IGFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgKCkge1xuICAgIHJldHVybiB0aGlzLl9hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkO1xuICB9XG5cbiAgLy8gUG90ZW50aWFsbHkgdGhpcyBkb2VzIG5vdCB3b3JrIGZvciBtb2JpbGUgc2FmYXJpXG4gIGFzeW5jIG92ZXJyaWRlVXNlckFnZW50ICh2YWx1ZSkge1xuICAgIGxvZy5kZWJ1ZygnU2V0dGluZyBvdmVycmlkZVVzZXJBZ2VudCcpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLm92ZXJyaWRlVXNlckFnZW50Jywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgICAgdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldENvb2tpZXMgKCkge1xuICAgIGxvZy5kZWJ1ZygnR2V0dGluZyBjb29raWVzJyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1BhZ2UuZ2V0Q29va2llcycsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0Q29va2llIChjb29raWUpIHtcbiAgICBsb2cuZGVidWcoJ1NldHRpbmcgY29va2llJyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1BhZ2Uuc2V0Q29va2llJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgICAgY29va2llXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVDb29raWUgKGNvb2tpZU5hbWUsIHVybCkge1xuICAgIGxvZy5kZWJ1ZyhgRGVsZXRpbmcgY29va2llICcke2Nvb2tpZU5hbWV9JyBvbiAnJHt1cmx9J2ApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLmRlbGV0ZUNvb2tpZScsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICAgIGNvb2tpZU5hbWUsXG4gICAgICB1cmwsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnYXJiYWdlQ29sbGVjdCAodGltZW91dE1zID0gR0FSQkFHRV9DT0xMRUNUX1RJTUVPVVQpIHtcbiAgICBsb2cuZGVidWcoYEdhcmJhZ2UgY29sbGVjdGluZyB3aXRoICR7dGltZW91dE1zfW1zIHRpbWVvdXRgKTtcbiAgICB0cnkge1xuICAgICAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cuZGVidWcoYFVuYWJsZSB0byBjb2xsZWN0IGdhcmJhZ2UgYXQgdGhpcyB0aW1lYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgQi5yZXNvbHZlKHRoaXMucnBjQ2xpZW50LnNlbmQoJ0hlYXAuZ2MnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgfSkpLnRpbWVvdXQodGltZW91dE1zKVxuICAgIC50aGVuKGZ1bmN0aW9uIGdjU3VjY2VzcyAoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tdGhlblxuICAgICAgbG9nLmRlYnVnKGBHYXJiYWdlIGNvbGxlY3Rpb24gc3VjY2Vzc2Z1bGApO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIGdjRXJyb3IgKGVycikgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHByb21pc2UvcHJlZmVyLWF3YWl0LXRvLWNhbGxiYWNrc1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEIuVGltZW91dEVycm9yKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgR2FyYmFnZSBjb2xsZWN0aW9uIHRpbWVkIG91dCBhZnRlciAke3RpbWVvdXRNc31tc2ApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKGBVbmFibGUgdG8gY29sbGVjdCBnYXJiYWdlOiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXNlQXBwRGljdExvY2sgKGZuKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2xvY2suYWNxdWlyZSgnYXBwRGljdCcsIGZuKTtcbiAgfVxuXG4gIGdldCBza2lwcGVkQXBwcyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NraXBwZWRBcHBzIHx8IFtdO1xuICB9XG59XG5cbmZvciAoY29uc3QgW25hbWUsIGZuXSBvZiBfLnRvUGFpcnMobWl4aW5zKSkge1xuICBSZW1vdGVEZWJ1Z2dlci5wcm90b3R5cGVbbmFtZV0gPSBmbjtcbn1cblxuZm9yIChjb25zdCBbbmFtZSwgZXZlbnRdIG9mIF8udG9QYWlycyhldmVudHMpKSB7XG4gIFJlbW90ZURlYnVnZ2VyW25hbWVdID0gZXZlbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlbW90ZURlYnVnZ2VyO1xuZXhwb3J0IHtcbiAgUmVtb3RlRGVidWdnZXIsIFJFTU9URV9ERUJVR0dFUl9QT1JULCBSUENfUkVTUE9OU0VfVElNRU9VVF9NUyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsTUFBTVUsb0JBQW9CLEdBQUcsS0FBSztBQUFDQyxPQUFBLENBQUFELG9CQUFBLEdBQUFBLG9CQUFBO0FBQ25DLE1BQU1FLGdCQUFnQixHQUFHLHdCQUF3QjtBQUdqRCxNQUFNQyx1QkFBdUIsR0FBRyxJQUFJO0FBQUNGLE9BQUEsQ0FBQUUsdUJBQUEsR0FBQUEsdUJBQUE7QUFFckMsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSTtBQUUvQixNQUFNQyx1QkFBdUIsR0FBRyxJQUFJO0FBR3BDLE1BQU1DLGNBQWMsU0FBU0Msb0JBQVksQ0FBQztFQWlCeENDLFdBQVdBLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtJQUN0QixLQUFLLEVBQUU7SUFFUEMsZUFBRyxDQUFDQyxJQUFJLENBQUUsMkJBQTBCckIsT0FBTyxDQUFDc0IsYUFBSSxDQUFDQyxPQUFPLENBQUMsSUFBQUMsb0JBQWEsR0FBRSxFQUFFLGNBQWMsQ0FB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
238
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9sb2dnZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JwYyIsIl91dGlscyIsIl9taXhpbnMiLCJfbG9kYXNoIiwiX2JsdWViaXJkIiwiX3BhdGgiLCJfYXN5bmNMb2NrIiwiUkVNT1RFX0RFQlVHR0VSX1BPUlQiLCJleHBvcnRzIiwiU0FGQVJJX0JVTkRMRV9JRCIsIlJQQ19SRVNQT05TRV9USU1FT1VUX01TIiwiUEFHRV9SRUFEWV9USU1FT1VUIiwiR0FSQkFHRV9DT0xMRUNUX1RJTUVPVVQiLCJSZW1vdGVEZWJ1Z2dlciIsIkV2ZW50RW1pdHRlciIsImNvbnN0cnVjdG9yIiwib3B0cyIsImxvZyIsImluZm8iLCJwYXRoIiwicmVzb2x2ZSIsImdldE1vZHVsZVJvb3QiLCJ2ZXJzaW9uIiwiYnVuZGxlSWQiLCJhZGRpdGlvbmFsQnVuZGxlSWRzIiwicGxhdGZvcm1WZXJzaW9uIiwiaXNTYWZhcmkiLCJpbmNsdWRlU2FmYXJpIiwidXNlTmV3U2FmYXJpIiwicGFnZUxvYWRNcyIsImhvc3QiLCJwb3J0Iiwic29ja2V0UGF0aCIsInBhZ2VSZWFkeVRpbWVvdXQiLCJyZW1vdGVEZWJ1Z1Byb3h5IiwiZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUiLCJsb2dGdWxsUmVzcG9uc2UiLCJsb2dBbGxDb21tdW5pY2F0aW9uIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJ3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCIsInNvY2tldENodW5rU2l6ZSIsImZ1bGxQYWdlSW5pdGlhbGl6YXRpb24iLCJkZWJ1ZyIsIl8iLCJpc05pbCIsImlzSW50ZWdlciIsIl9sb2NrIiwiQXN5bmNMb2NrIiwic2V0dXAiLCJhcHBEaWN0IiwiYXBwSWRLZXkiLCJwYWdlSWRLZXkiLCJwYWdlTG9hZGluZyIsIl9uYXZpZ2F0aW5nVG9QYWdlIiwiYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCIsInJwY0NsaWVudCIsIl9jbGllbnRFdmVudExpc3RlbmVycyIsInRlYXJkb3duIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwiRVZFTlRfUEFHRV9DSEFOR0UiLCJFVkVOVF9ESVNDT05ORUNUIiwiaW5pdFJwY0NsaWVudCIsIlJwY0NsaWVudFNpbXVsYXRvciIsIm1lc3NhZ2VQcm94eSIsImlzQ29ubmVjdGVkIiwiX3RoaXMkcnBjQ2xpZW50IiwibGF1bmNoU2FmYXJpIiwic2VuZCIsInN0YXJ0VGltZWxpbmUiLCJmbiIsIm9uIiwic3RvcFRpbWVsaW5lIiwiYWRkQ2xpZW50RXZlbnRMaXN0ZW5lciIsImV2ZW50TmFtZSIsImxpc3RlbmVyIiwicHVzaCIsInJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIiLCJvZmYiLCJzdGFydENvbnNvbGUiLCJzdG9wQ29uc29sZSIsInN0YXJ0TmV0d29yayIsInN0b3BOZXR3b3JrIiwiYWxsb3ciLCJfYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCIsIm92ZXJyaWRlVXNlckFnZW50IiwidmFsdWUiLCJnZXRDb29raWVzIiwic2V0Q29va2llIiwiY29va2llIiwiZGVsZXRlQ29va2llIiwiY29va2llTmFtZSIsInVybCIsImdhcmJhZ2VDb2xsZWN0IiwidGltZW91dE1zIiwiY2hlY2tQYXJhbXMiLCJlcnIiLCJCIiwidGltZW91dCIsInRoZW4iLCJnY1N1Y2Nlc3MiLCJjYXRjaCIsImdjRXJyb3IiLCJUaW1lb3V0RXJyb3IiLCJtZXNzYWdlIiwidXNlQXBwRGljdExvY2siLCJhY3F1aXJlIiwic2tpcHBlZEFwcHMiLCJfc2tpcHBlZEFwcHMiLCJuYW1lIiwidG9QYWlycyIsIm1peGlucyIsInByb3RvdHlwZSIsImV2ZW50IiwiZXZlbnRzIiwiX2RlZmF1bHQiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3JlbW90ZS1kZWJ1Z2dlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xuaW1wb3J0IGxvZyBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyBScGNDbGllbnRTaW11bGF0b3IgfSBmcm9tICcuL3JwYyc7XG5pbXBvcnQgeyBjaGVja1BhcmFtcywgZ2V0TW9kdWxlUm9vdCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgbWl4aW5zLCBldmVudHMgfSBmcm9tICcuL21peGlucyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgQXN5bmNMb2NrIGZyb20gJ2FzeW5jLWxvY2snO1xuXG5jb25zdCBSRU1PVEVfREVCVUdHRVJfUE9SVCA9IDI3NzUzO1xuY29uc3QgU0FGQVJJX0JVTkRMRV9JRCA9ICdjb20uYXBwbGUubW9iaWxlc2FmYXJpJztcblxuLyogSG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHdhaXQgZm9yIHdlYmtpdCB0byByZXR1cm4gYSByZXNwb25zZSBiZWZvcmUgdGltaW5nIG91dCAqL1xuY29uc3QgUlBDX1JFU1BPTlNFX1RJTUVPVVRfTVMgPSA1MDAwO1xuXG5jb25zdCBQQUdFX1JFQURZX1RJTUVPVVQgPSA1MDAwO1xuXG5jb25zdCBHQVJCQUdFX0NPTExFQ1RfVElNRU9VVCA9IDUwMDA7XG5cblxuY2xhc3MgUmVtb3RlRGVidWdnZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAvKlxuICAgKiBUaGUgY29uc3RydWN0b3IgdGFrZXMgYW4gb3B0cyBoYXNoIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICAgKiAgIC0gYnVuZGxlSWQgLSBpZCBvZiB0aGUgYXBwIGJlaW5nIGNvbm5lY3RlZCB0b1xuICAgKiAgIC0gYWRkaXRpb25hbEJ1bmRsZUlkcyAtIGFycmF5IG9mIHBvc3NpYmxlIGJ1bmRsZSBpZHMgdGhhdCB0aGUgaW5zcGVjdG9yXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bGQgcmV0dXJuXG4gICAqICAgLSBwbGF0Zm9ybVZlcnNpb24gLSB2ZXJzaW9uIG9mIGlPU1xuICAgKiAgIC0gdXNlTmV3U2FmYXJpIC0gZm9yIHdlYiBpbnNwZWN0b3IsIHdoZXRoZXIgdGhpcyBpcyBhIG5ldyBTYWZhcmkgaW5zdGFuY2VcbiAgICogICAtIHBhZ2VMb2FkTXMgLSB0aGUgdGltZSwgaW4gbXMsIHRoYXQgc2hvdWxkIGJlIHdhaXRlZCBmb3IgcGFnZSBsb2FkaW5nXG4gICAqICAgLSBob3N0IC0gdGhlIHJlbW90ZSBkZWJ1Z2dlcidzIGhvc3QgYWRkcmVzc1xuICAgKiAgIC0gcG9ydCAtIHRoZSByZW1vdGUgZGVidWdnZXIgcG9ydCB0aHJvdWdoIHdoaWNoIHRvIGNvbW11bmljYXRlXG4gICAqICAgLSBsb2dBbGxDb21tdW5pY2F0aW9uIC0gbG9nIHBsaXN0cyBzZW50IGFuZCByZWNlaXZlZCBmcm9tIFdlYiBJbnNwZWN0b3JcbiAgICogICAtIGxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wIC0gbG9nIGNvbW11bmljYXRpb24gZnJvbSBXZWIgSW5zcGVjdG9yIGFzIGhleCBkdW1wXG4gICAqICAgLSBzb2NrZXRDaHVua1NpemUgLSBzaXplLCBpbiBieXRlcywgb2YgY2h1bmtzIG9mIGRhdGEgc2VudCB0byBXZWIgSW5zcGVjdG9yIChyZWFsIGRldmljZSBvbmx5KVxuICAgKiAgIC0gd2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGggLSBUaGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGRhdGEgZnJhbWVcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGRldmljZSBjb21tdW5pY2F0aW9uIHByb3RvY29sXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGxvZy5pbmZvKGBSZW1vdGUgRGVidWdnZXIgdmVyc2lvbiAke3JlcXVpcmUocGF0aC5yZXNvbHZlKGdldE1vZHVsZVJvb3QoKSwgJ3BhY2thZ2UuanNvbicpKS52ZXJzaW9ufWApO1xuXG4gICAgY29uc3Qge1xuICAgICAgYnVuZGxlSWQsXG4gICAgICBhZGRpdGlvbmFsQnVuZGxlSWRzID0gW10sXG4gICAgICBwbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaSA9IHRydWUsXG4gICAgICBpbmNsdWRlU2FmYXJpID0gZmFsc2UsXG4gICAgICB1c2VOZXdTYWZhcmkgPSBmYWxzZSxcbiAgICAgIHBhZ2VMb2FkTXMsXG4gICAgICBob3N0LFxuICAgICAgcG9ydCA9IFJFTU9URV9ERUJVR0dFUl9QT1JULFxuICAgICAgc29ja2V0UGF0aCxcbiAgICAgIHBhZ2VSZWFkeVRpbWVvdXQgPSBQQUdFX1JFQURZX1RJTUVPVVQsXG4gICAgICByZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGUgPSBmYWxzZSxcbiAgICAgIGxvZ0Z1bGxSZXNwb25zZSA9IGZhbHNlLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbiA9IGZhbHNlLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAgPSBmYWxzZSxcbiAgICAgIHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoLFxuICAgICAgc29ja2V0Q2h1bmtTaXplLFxuICAgICAgZnVsbFBhZ2VJbml0aWFsaXphdGlvbixcbiAgICB9ID0gb3B0cztcblxuICAgIHRoaXMuYnVuZGxlSWQgPSBidW5kbGVJZDtcbiAgICB0aGlzLmFkZGl0aW9uYWxCdW5kbGVJZHMgPSBhZGRpdGlvbmFsQnVuZGxlSWRzO1xuICAgIHRoaXMucGxhdGZvcm1WZXJzaW9uID0gcGxhdGZvcm1WZXJzaW9uO1xuICAgIHRoaXMuaXNTYWZhcmkgPSBpc1NhZmFyaTtcbiAgICB0aGlzLmluY2x1ZGVTYWZhcmkgPSBpbmNsdWRlU2FmYXJpO1xuICAgIHRoaXMudXNlTmV3U2FmYXJpID0gdXNlTmV3U2FmYXJpO1xuICAgIHRoaXMucGFnZUxvYWRNcyA9IHBhZ2VMb2FkTXM7XG4gICAgbG9nLmRlYnVnKGB1c2VOZXdTYWZhcmkgLS0+ICR7dGhpcy51c2VOZXdTYWZhcml9YCk7XG5cbiAgICB0aGlzLmdhcmJhZ2VDb2xsZWN0T25FeGVjdXRlID0gZ2FyYmFnZUNvbGxlY3RPbkV4ZWN1dGU7XG5cbiAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgdGhpcy5zb2NrZXRQYXRoID0gc29ja2V0UGF0aDtcbiAgICB0aGlzLnJlbW90ZURlYnVnUHJveHkgPSByZW1vdGVEZWJ1Z1Byb3h5O1xuICAgIHRoaXMucGFnZVJlYWR5VGltZW91dCA9IHBhZ2VSZWFkeVRpbWVvdXQ7XG5cbiAgICB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24gPSBfLmlzTmlsKGxvZ0FsbENvbW11bmljYXRpb24pID8gISFsb2dGdWxsUmVzcG9uc2UgOiAhIWxvZ0FsbENvbW11bmljYXRpb247XG4gICAgdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCA9IGxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wO1xuICAgIHRoaXMuc29ja2V0Q2h1bmtTaXplID0gc29ja2V0Q2h1bmtTaXplO1xuXG4gICAgaWYgKF8uaXNJbnRlZ2VyKHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoKSkge1xuICAgICAgdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCA9IHdlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoO1xuICAgIH1cblxuICAgIHRoaXMuZnVsbFBhZ2VJbml0aWFsaXphdGlvbiA9IGZ1bGxQYWdlSW5pdGlhbGl6YXRpb247XG5cbiAgICB0aGlzLl9sb2NrID0gbmV3IEFzeW5jTG9jaygpO1xuICB9XG5cbiAgc2V0dXAgKCkge1xuICAgIC8vIGFwcCBoYW5kbGluZyBjb25maWd1cmF0aW9uXG4gICAgdGhpcy5hcHBEaWN0ID0ge307XG4gICAgdGhpcy5hcHBJZEtleSA9IG51bGw7XG4gICAgdGhpcy5wYWdlSWRLZXkgPSBudWxsO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLl9uYXZpZ2F0aW5nVG9QYWdlID0gZmFsc2U7XG4gICAgdGhpcy5hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkID0gZmFsc2U7XG5cbiAgICB0aGlzLnJwY0NsaWVudCA9IG51bGw7XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnMgPSB7fTtcbiAgfVxuXG4gIHRlYXJkb3duICgpIHtcbiAgICBsb2cuZGVidWcoJ0NsZWFuaW5nIHVwIGxpc3RlbmVycycpO1xuXG4gICAgdGhpcy5hcHBEaWN0ID0ge307XG4gICAgdGhpcy5hcHBJZEtleSA9IG51bGw7XG4gICAgdGhpcy5wYWdlSWRLZXkgPSBudWxsO1xuICAgIHRoaXMucGFnZUxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHRoaXMucnBjQ2xpZW50ID0gbnVsbDtcblxuICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKFJlbW90ZURlYnVnZ2VyLkVWRU5UX1BBR0VfQ0hBTkdFKTtcbiAgICB0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhSZW1vdGVEZWJ1Z2dlci5FVkVOVF9ESVNDT05ORUNUKTtcbiAgfVxuXG4gIGluaXRScGNDbGllbnQgKCkge1xuICAgIHRoaXMucnBjQ2xpZW50ID0gbmV3IFJwY0NsaWVudFNpbXVsYXRvcih7XG4gICAgICBidW5kbGVJZDogdGhpcy5idW5kbGVJZCxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICBpc1NhZmFyaTogdGhpcy5pc1NhZmFyaSxcbiAgICAgIGhvc3Q6IHRoaXMuaG9zdCxcbiAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgIHNvY2tldFBhdGg6IHRoaXMuc29ja2V0UGF0aCxcbiAgICAgIG1lc3NhZ2VQcm94eTogdGhpcy5yZW1vdGVEZWJ1Z1Byb3h5LFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbjogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgbG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBmdWxsUGFnZUluaXRpYWxpemF0aW9uOiB0aGlzLmZ1bGxQYWdlSW5pdGlhbGl6YXRpb24sXG4gICAgICB3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aDogdGhpcy53ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpc0Nvbm5lY3RlZCAoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5ycGNDbGllbnQ/LmlzQ29ubmVjdGVkO1xuICB9XG5cbiAgYXN5bmMgbGF1bmNoU2FmYXJpICgpIHtcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdsYXVuY2hBcHBsaWNhdGlvbicsIHtcbiAgICAgIGJ1bmRsZUlkOiBTQUZBUklfQlVORExFX0lEXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzdGFydFRpbWVsaW5lIChmbikge1xuICAgIGxvZy5kZWJ1ZygnU3RhcnRpbmcgdG8gcmVjb3JkIHRoZSB0aW1lbGluZScpO1xuICAgIHRoaXMucnBjQ2xpZW50Lm9uKCdUaW1lbGluZS5ldmVudFJlY29yZGVkJywgZm4pO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdzdGFydFRpbWVsaW5lJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc3RvcFRpbWVsaW5lICgpIHtcbiAgICBsb2cuZGVidWcoJ1N0b3BwaW5nIHRvIHJlY29yZCB0aGUgdGltZWxpbmUnKTtcbiAgICBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdUaW1lbGluZS5zdG9wJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgIH0pO1xuICB9XG5cbiAgLypcbiAgICogS2VlcCB0cmFjayBvZiB0aGUgY2xpZW50IGV2ZW50IGxpc3RlbmVycyBzbyB0aGV5IGNhbiBiZSByZW1vdmVkXG4gICAqL1xuICBhZGRDbGllbnRFdmVudExpc3RlbmVyIChldmVudE5hbWUsIGxpc3RlbmVyKSB7XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXSA9IHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW107XG4gICAgdGhpcy5fY2xpZW50RXZlbnRMaXN0ZW5lcnNbZXZlbnROYW1lXS5wdXNoKGxpc3RlbmVyKTtcbiAgICB0aGlzLnJwY0NsaWVudC5vbihldmVudE5hbWUsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIgKGV2ZW50TmFtZSkge1xuICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgKHRoaXMuX2NsaWVudEV2ZW50TGlzdGVuZXJzW2V2ZW50TmFtZV0gfHwgW10pKSB7XG4gICAgICB0aGlzLnJwY0NsaWVudC5vZmYoZXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9XG5cbiAgc3RhcnRDb25zb2xlIChsaXN0ZW5lcikge1xuICAgIGxvZy5kZWJ1ZygnU3RhcnRpbmcgdG8gbGlzdGVuIGZvciBKYXZhU2NyaXB0IGNvbnNvbGUnKTtcbiAgICB0aGlzLmFkZENsaWVudEV2ZW50TGlzdGVuZXIoJ0NvbnNvbGUubWVzc2FnZUFkZGVkJywgbGlzdGVuZXIpO1xuICAgIHRoaXMuYWRkQ2xpZW50RXZlbnRMaXN0ZW5lcignQ29uc29sZS5tZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkJywgbGlzdGVuZXIpO1xuICB9XG5cbiAgc3RvcENvbnNvbGUgKCkge1xuICAgIGxvZy5kZWJ1ZygnU3RvcHBpbmcgdG8gbGlzdGVuIGZvciBKYXZhU2NyaXB0IGNvbnNvbGUnKTtcbiAgICB0aGlzLnJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIoJ0NvbnNvbGUubWVzc2FnZUFkZGVkJyk7XG4gICAgdGhpcy5yZW1vdmVDbGllbnRFdmVudExpc3RlbmVyKCdDb25zb2xlLm1lc3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQnKTtcbiAgfVxuXG4gIHN0YXJ0TmV0d29yayAobGlzdGVuZXIpIHtcbiAgICBsb2cuZGVidWcoJ1N0YXJ0aW5nIHRvIGxpc3RlbiBmb3IgbmV0d29yayBldmVudHMnKTtcbiAgICB0aGlzLmFkZENsaWVudEV2ZW50TGlzdGVuZXIoJ05ldHdvcmtFdmVudCcsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIHN0b3BOZXR3b3JrICgpIHtcbiAgICBsb2cuZGVidWcoJ1N0b3BwaW5nIHRvIGxpc3RlbiBmb3IgbmV0d29yayBldmVudHMnKTtcbiAgICB0aGlzLnJlbW92ZUNsaWVudEV2ZW50TGlzdGVuZXIoJ05ldHdvcmtFdmVudCcpO1xuICB9XG5cbiAgc2V0IGFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgKGFsbG93KSB7XG4gICAgdGhpcy5fYWxsb3dOYXZpZ2F0aW9uV2l0aG91dFJlbG9hZCA9IGFsbG93O1xuICB9XG5cbiAgZ2V0IGFsbG93TmF2aWdhdGlvbldpdGhvdXRSZWxvYWQgKCkge1xuICAgIHJldHVybiB0aGlzLl9hbGxvd05hdmlnYXRpb25XaXRob3V0UmVsb2FkO1xuICB9XG5cbiAgLy8gUG90ZW50aWFsbHkgdGhpcyBkb2VzIG5vdCB3b3JrIGZvciBtb2JpbGUgc2FmYXJpXG4gIGFzeW5jIG92ZXJyaWRlVXNlckFnZW50ICh2YWx1ZSkge1xuICAgIGxvZy5kZWJ1ZygnU2V0dGluZyBvdmVycmlkZVVzZXJBZ2VudCcpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLm92ZXJyaWRlVXNlckFnZW50Jywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgICAgdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldENvb2tpZXMgKCkge1xuICAgIGxvZy5kZWJ1ZygnR2V0dGluZyBjb29raWVzJyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1BhZ2UuZ2V0Q29va2llcycsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0Q29va2llIChjb29raWUpIHtcbiAgICBsb2cuZGVidWcoJ1NldHRpbmcgY29va2llJyk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnBjQ2xpZW50LnNlbmQoJ1BhZ2Uuc2V0Q29va2llJywge1xuICAgICAgYXBwSWRLZXk6IHRoaXMuYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5LFxuICAgICAgY29va2llXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVDb29raWUgKGNvb2tpZU5hbWUsIHVybCkge1xuICAgIGxvZy5kZWJ1ZyhgRGVsZXRpbmcgY29va2llICcke2Nvb2tpZU5hbWV9JyBvbiAnJHt1cmx9J2ApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnJwY0NsaWVudC5zZW5kKCdQYWdlLmRlbGV0ZUNvb2tpZScsIHtcbiAgICAgIGFwcElkS2V5OiB0aGlzLmFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5OiB0aGlzLnBhZ2VJZEtleSxcbiAgICAgIGNvb2tpZU5hbWUsXG4gICAgICB1cmwsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBnYXJiYWdlQ29sbGVjdCAodGltZW91dE1zID0gR0FSQkFHRV9DT0xMRUNUX1RJTUVPVVQpIHtcbiAgICBsb2cuZGVidWcoYEdhcmJhZ2UgY29sbGVjdGluZyB3aXRoICR7dGltZW91dE1zfW1zIHRpbWVvdXRgKTtcbiAgICB0cnkge1xuICAgICAgY2hlY2tQYXJhbXMoe2FwcElkS2V5OiB0aGlzLmFwcElkS2V5LCBwYWdlSWRLZXk6IHRoaXMucGFnZUlkS2V5fSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cuZGVidWcoYFVuYWJsZSB0byBjb2xsZWN0IGdhcmJhZ2UgYXQgdGhpcyB0aW1lYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgQi5yZXNvbHZlKHRoaXMucnBjQ2xpZW50LnNlbmQoJ0hlYXAuZ2MnLCB7XG4gICAgICBhcHBJZEtleTogdGhpcy5hcHBJZEtleSxcbiAgICAgIHBhZ2VJZEtleTogdGhpcy5wYWdlSWRLZXksXG4gICAgfSkpLnRpbWVvdXQodGltZW91dE1zKVxuICAgIC50aGVuKGZ1bmN0aW9uIGdjU3VjY2VzcyAoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJvbWlzZS9wcmVmZXItYXdhaXQtdG8tdGhlblxuICAgICAgbG9nLmRlYnVnKGBHYXJiYWdlIGNvbGxlY3Rpb24gc3VjY2Vzc2Z1bGApO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIGdjRXJyb3IgKGVycikgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHByb21pc2UvcHJlZmVyLWF3YWl0LXRvLWNhbGxiYWNrc1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEIuVGltZW91dEVycm9yKSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhgR2FyYmFnZSBjb2xsZWN0aW9uIHRpbWVkIG91dCBhZnRlciAke3RpbWVvdXRNc31tc2ApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKGBVbmFibGUgdG8gY29sbGVjdCBnYXJiYWdlOiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXNlQXBwRGljdExvY2sgKGZuKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2xvY2suYWNxdWlyZSgnYXBwRGljdCcsIGZuKTtcbiAgfVxuXG4gIGdldCBza2lwcGVkQXBwcyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NraXBwZWRBcHBzIHx8IFtdO1xuICB9XG59XG5cbmZvciAoY29uc3QgW25hbWUsIGZuXSBvZiBfLnRvUGFpcnMobWl4aW5zKSkge1xuICBSZW1vdGVEZWJ1Z2dlci5wcm90b3R5cGVbbmFtZV0gPSBmbjtcbn1cblxuZm9yIChjb25zdCBbbmFtZSwgZXZlbnRdIG9mIF8udG9QYWlycyhldmVudHMpKSB7XG4gIFJlbW90ZURlYnVnZ2VyW25hbWVdID0gZXZlbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJlbW90ZURlYnVnZ2VyO1xuZXhwb3J0IHtcbiAgUmVtb3RlRGVidWdnZXIsIFJFTU9URV9ERUJVR0dFUl9QT1JULCBSUENfUkVTUE9OU0VfVElNRU9VVF9NUyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsTUFBTVUsb0JBQW9CLEdBQUcsS0FBSztBQUFDQyxPQUFBLENBQUFELG9CQUFBLEdBQUFBLG9CQUFBO0FBQ25DLE1BQU1FLGdCQUFnQixHQUFHLHdCQUF3QjtBQUdqRCxNQUFNQyx1QkFBdUIsR0FBRyxJQUFJO0FBQUNGLE9BQUEsQ0FBQUUsdUJBQUEsR0FBQUEsdUJBQUE7QUFFckMsTUFBTUMsa0JBQWtCLEdBQUcsSUFBSTtBQUUvQixNQUFNQyx1QkFBdUIsR0FBRyxJQUFJO0FBR3BDLE1BQU1DLGNBQWMsU0FBU0Msb0JBQVksQ0FBQztFQWlCeENDLFdBQVdBLENBQUVDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRTtJQUN0QixLQUFLLENBQUMsQ0FBQztJQUVQQyxlQUFHLENBQUNDLElBQUksQ0FBRSwyQkFBMEJyQixPQUFPLENBQUNzQixhQUFJLENBQUNDLE9BQU8sQ0FBQyxJQUFBQyxvQkFBYSxFQUFDLENBQUMsRUFB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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('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":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,SAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,KAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AAEA,MAAMU,oBAAoB,GAAG,KAAK;AAACC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AACnC,MAAME,gBAAgB,GAAG,wBAAwB;AAGjD,MAAMC,uBAAuB,GAAG,IAAI;AAACF,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AAErC,MAAMC,kBAAkB,GAAG,IAAI;AAE/B,MAAMC,uBAAuB,GAAG,IAAI;AAGpC,MAAMC,cAAc,SAASC,oBAAY,CAAC;EAiBxCC,WAAWA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;IACtB,KAAK,CAAC,CAAC;IAEPC,eAAG,CAACC,IAAI,CAAE,2BAA0BrB,OAAO,CAACsB,aAAI,CAACC,OAAO,CAAC,IAAAC,oBAAa,EAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAACC,OAAQ,EAAC,CAAC;IAErG,MAAM;MACJC,QAAQ;MACRC,mBAAmB,GAAG,EAAE;MACxBC,eAAe;MACfC,QAAQ,GAAG,IAAI;MACfC,aAAa,GAAG,KAAK;MACrBC,YAAY,GAAG,KAAK;MACpBC,UAAU;MACVC,IAAI;MACJC,IAAI,GAAGxB,oBAAoB;MAC3ByB,UAAU;MACVC,gBAAgB,GAAGtB,kBAAkB;MACrCuB,gBAAgB;MAChBC,uBAAuB,GAAG,KAAK;MAC/BC,eAAe,GAAG,KAAK;MACvBC,mBAAmB,GAAG,KAAK;MAC3BC,0BAA0B,GAAG,KAAK;MAClCC,0BAA0B;MAC1BC,eAAe;MACfC;IACF,CAAC,GAAGzB,IAAI;IAER,IAAI,CAACO,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,mBAAmB,GAAGA,mBAAmB;IAC9C,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5BZ,eAAG,CAACyB,KAAK,CAAE,oBAAmB,IAAI,CAACd,YAAa,EAAC,CAAC;IAElD,IAAI,CAACO,uBAAuB,GAAGA,uBAAuB;IAEtD,IAAI,CAACL,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACE,gBAAgB,GAAGA,gBAAgB;IACxC,IAAI,CAACD,gBAAgB,GAAGA,gBAAgB;IAExC,IAAI,CAACI,mBAAmB,GAAGM,eAAC,CAACC,KAAK,CAACP,mBAAmB,CAAC,GAAG,CAAC,CAACD,eAAe,GAAG,CAAC,CAACC,mBAAmB;IACnG,IAAI,CAACC,0BAA0B,GAAGA,0BAA0B;IAC5D,IAAI,CAACE,eAAe,GAAGA,eAAe;IAEtC,IAAIG,eAAC,CAACE,SAAS,CAACN,0BAA0B,CAAC,EAAE;MAC3C,IAAI,CAACA,0BAA0B,GAAGA,0BAA0B;IAC9D;IAEA,IAAI,CAACE,sBAAsB,GAAGA,sBAAsB;IAEpD,IAAI,CAACK,KAAK,GAAG,IAAIC,kBAAS,CAAC,CAAC;EAC9B;EAEAC,KAAKA,CAAA,EAAI;IAEP,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC;IACjB,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,WAAW,GAAG,KAAK;IACxB,IAAI,CAACC,iBAAiB,GAAG,KAAK;IAC9B,IAAI,CAACC,4BAA4B,GAAG,KAAK;IAEzC,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,qBAAqB,GAAG,CAAC,CAAC;EACjC;EAEAC,QAAQA,CAAA,EAAI;IACVxC,eAAG,CAACyB,KAAK,CAAC,uBAAuB,CAAC;IAElC,IAAI,CAACO,OAAO,GAAG,CAAC,CAAC;IACjB,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,IAAI,CAACC,WAAW,GAAG,KAAK;IAExB,IAAI,CAACG,SAAS,GAAG,IAAI;IAErB,IAAI,CAACG,kBAAkB,CAAC7C,cAAc,CAAC8C,iBAAiB,CAAC;IACzD,IAAI,CAACD,kBAAkB,CAAC7C,cAAc,CAAC+C,gBAAgB,CAAC;EAC1D;EAEAC,aAAaA,CAAA,EAAI;IACf,IAAI,CAACN,SAAS,GAAG,IAAIO,uBAAkB,CAAC;MACtCvC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBE,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBI,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3B+B,YAAY,EAAE,IAAI,CAAC7B,gBAAgB;MACnCG,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;MAC7CC,0BAA0B,EAAE,IAAI,CAACA,0BAA0B;MAC3DG,sBAAsB,EAAE,IAAI,CAACA,sBAAsB;MACnDF,0BAA0B,EAAE,IAAI,CAACA;IACnC,CAAC,CAAC;EACJ;EAEA,IAAIyB,WAAWA,CAAA,EAAI;IAAA,IAAAC,eAAA;IACjB,OAAO,CAAC,GAAAA,eAAA,GAAC,IAAI,CAACV,SAAS,cAAAU,eAAA,eAAdA,eAAA,CAAgBD,WAAW;EACtC;EAEA,MAAME,YAAYA,CAAA,EAAI;IACpB,MAAM,IAAI,CAACX,SAAS,CAACY,IAAI,CAAC,mBAAmB,EAAE;MAC7C5C,QAAQ,EAAEd;IACZ,CAAC,CAAC;EACJ;EAEA,MAAM2D,aAAaA,CAAEC,EAAE,EAAE;IACvBpD,eAAG,CAACyB,KAAK,CAAC,iCAAiC,CAAC;IAC5C,IAAI,CAACa,SAAS,CAACe,EAAE,CAAC,wBAAwB,EAAED,EAAE,CAAC;IAC/C,OAAO,MAAM,IAAI,CAACd,SAAS,CAACY,IAAI,CAAC,eAAe,EAAE;MAChDjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;EACJ;EAEA,MAAMoB,YAAYA,CAAA,EAAI;IACpBtD,eAAG,CAACyB,KAAK,CAAC,iCAAiC,CAAC;IAC5C,MAAM,IAAI,CAACa,SAAS,CAACY,IAAI,CAAC,eAAe,EAAE;MACzCjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;EACJ;EAKAqB,sBAAsBA,CAAEC,SAAS,EAAEC,QAAQ,EAAE;IAC3C,IAAI,CAAClB,qBAAqB,CAACiB,SAAS,CAAC,GAAG,IAAI,CAACjB,qBAAqB,CAACiB,SAAS,CAAC,IAAI,EAAE;IACnF,IAAI,CAACjB,qBAAqB,CAACiB,SAAS,CAAC,CAACE,IAAI,CAACD,QAAQ,CAAC;IACpD,IAAI,CAACnB,SAAS,CAACe,EAAE,CAACG,SAAS,EAAEC,QAAQ,CAAC;EACxC;EAEAE,yBAAyBA,CAAEH,SAAS,EAAE;IACpC,KAAK,MAAMC,QAAQ,IAAK,IAAI,CAAClB,qBAAqB,CAACiB,SAAS,CAAC,IAAI,EAAE,EAAG;MACpE,IAAI,CAAClB,SAAS,CAACsB,GAAG,CAACJ,SAAS,EAAEC,QAAQ,CAAC;IACzC;EACF;EAEAI,YAAYA,CAAEJ,QAAQ,EAAE;IACtBzD,eAAG,CAACyB,KAAK,CAAC,2CAA2C,CAAC;IACtD,IAAI,CAAC8B,sBAAsB,CAAC,sBAAsB,EAAEE,QAAQ,CAAC;IAC7D,IAAI,CAACF,sBAAsB,CAAC,mCAAmC,EAAEE,QAAQ,CAAC;EAC5E;EAEAK,WAAWA,CAAA,EAAI;IACb9D,eAAG,CAACyB,KAAK,CAAC,2CAA2C,CAAC;IACtD,IAAI,CAACkC,yBAAyB,CAAC,sBAAsB,CAAC;IACtD,IAAI,CAACA,yBAAyB,CAAC,mCAAmC,CAAC;EACrE;EAEAI,YAAYA,CAAEN,QAAQ,EAAE;IACtBzD,eAAG,CAACyB,KAAK,CAAC,uCAAuC,CAAC;IAClD,IAAI,CAAC8B,sBAAsB,CAAC,cAAc,EAAEE,QAAQ,CAAC;EACvD;EAEAO,WAAWA,CAAA,EAAI;IACbhE,eAAG,CAACyB,KAAK,CAAC,uCAAuC,CAAC;IAClD,IAAI,CAACkC,yBAAyB,CAAC,cAAc,CAAC;EAChD;EAEA,IAAItB,4BAA4BA,CAAE4B,KAAK,EAAE;IACvC,IAAI,CAACC,6BAA6B,GAAGD,KAAK;EAC5C;EAEA,IAAI5B,4BAA4BA,CAAA,EAAI;IAClC,OAAO,IAAI,CAAC6B,6BAA6B;EAC3C;EAGA,MAAMC,iBAAiBA,CAAEC,KAAK,EAAE;IAC9BpE,eAAG,CAACyB,KAAK,CAAC,2BAA2B,CAAC;IACtC,OAAO,MAAM,IAAI,CAACa,SAAS,CAACY,IAAI,CAAC,wBAAwB,EAAE;MACzDjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBkC;IACF,CAAC,CAAC;EACJ;EAEA,MAAMC,UAAUA,CAAA,EAAI;IAClBrE,eAAG,CAACyB,KAAK,CAAC,iBAAiB,CAAC;IAC5B,OAAO,MAAM,IAAI,CAACa,SAAS,CAACY,IAAI,CAAC,iBAAiB,EAAE;MAClDjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;EACJ;EAEA,MAAMoC,SAASA,CAAEC,MAAM,EAAE;IACvBvE,eAAG,CAACyB,KAAK,CAAC,gBAAgB,CAAC;IAC3B,OAAO,MAAM,IAAI,CAACa,SAAS,CAACY,IAAI,CAAC,gBAAgB,EAAE;MACjDjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBqC;IACF,CAAC,CAAC;EACJ;EAEA,MAAMC,YAAYA,CAAEC,UAAU,EAAEC,GAAG,EAAE;IACnC1E,eAAG,CAACyB,KAAK,CAAE,oBAAmBgD,UAAW,SAAQC,GAAI,GAAE,CAAC;IACxD,OAAO,MAAM,IAAI,CAACpC,SAAS,CAACY,IAAI,CAAC,mBAAmB,EAAE;MACpDjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBuC,UAAU;MACVC;IACF,CAAC,CAAC;EACJ;EAEA,MAAMC,cAAcA,CAAEC,SAAS,GAAGjF,uBAAuB,EAAE;IACzDK,eAAG,CAACyB,KAAK,CAAE,2BAA0BmD,SAAU,YAAW,CAAC;IAC3D,IAAI;MACF,IAAAC,kBAAW,EAAC;QAAC5C,QAAQ,EAAE,IAAI,CAACA,QAAQ;QAAEC,SAAS,EAAE,IAAI,CAACA;MAAS,CAAC,CAAC;IACnE,CAAC,CAAC,OAAO4C,GAAG,EAAE;MACZ9E,eAAG,CAACyB,KAAK,CAAE,wCAAuC,CAAC;MACnD;IACF;IAEA,MAAMsD,iBAAC,CAAC5E,OAAO,CAAC,IAAI,CAACmC,SAAS,CAACY,IAAI,CAAC,SAAS,EAAE;MAC7CjB,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC,CAAC,CAAC8C,OAAO,CAACJ,SAAS,CAAC,CACrBK,IAAI,CAAC,SAASC,SAASA,CAAA,EAAI;MAC1BlF,eAAG,CAACyB,KAAK,CAAE,+BAA8B,CAAC;IAC5C,CAAC,CAAC,CAAC0D,KAAK,CAAC,SAASC,OAAOA,CAAEN,GAAG,EAAE;MAC9B,IAAIA,GAAG,YAAYC,iBAAC,CAACM,YAAY,EAAE;QACjCrF,eAAG,CAACyB,KAAK,CAAE,sCAAqCmD,SAAU,IAAG,CAAC;MAChE,CAAC,MAAM;QACL5E,eAAG,CAACyB,KAAK,CAAE,8BAA6BqD,GAAG,CAACQ,OAAQ,EAAC,CAAC;MACxD;IACF,CAAC,CAAC;EACJ;EAEA,MAAMC,cAAcA,CAAEnC,EAAE,EAAE;IACxB,OAAO,MAAM,IAAI,CAACvB,KAAK,CAAC2D,OAAO,CAAC,SAAS,EAAEpC,EAAE,CAAC;EAChD;EAEA,IAAIqC,WAAWA,CAAA,EAAI;IACjB,OAAO,IAAI,CAACC,YAAY,IAAI,EAAE;EAChC;AACF;AAACnG,OAAA,CAAAK,cAAA,GAAAA,cAAA;AAED,KAAK,MAAM,CAAC+F,IAAI,EAAEvC,EAAE,CAAC,IAAI1B,eAAC,CAACkE,OAAO,CAACC,cAAM,CAAC,EAAE;EAC1CjG,cAAc,CAACkG,SAAS,CAACH,IAAI,CAAC,GAAGvC,EAAE;AACrC;AAEA,KAAK,MAAM,CAACuC,IAAI,EAAEI,KAAK,CAAC,IAAIrE,eAAC,CAACkE,OAAO,CAACI,cAAM,CAAC,EAAE;EAC7CpG,cAAc,CAAC+F,IAAI,CAAC,GAAGI,KAAK;AAC9B;AAAC,IAAAE,QAAA,GAEcrG,cAAc;AAAAL,OAAA,CAAA2G,OAAA,GAAAD,QAAA"}
@@ -234,4 +234,4 @@ class RemoteMessages {
234
234
  exports.RemoteMessages = RemoteMessages;
235
235
  var _default = RemoteMessages;
236
236
  exports.default = _default;
237
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcHJvdG9jb2wiLCJPQkpFQ1RfR1JPVVAiLCJNSU5JTUFMX0NPTU1BTkQiLCJGVUxMX0NPTU1BTkQiLCJESVJFQ1RfQ09NTUFORCIsIkNPTU1BTkRTIiwiUmVtb3RlTWVzc2FnZXMiLCJjb25zdHJ1Y3RvciIsImlzVGFyZ2V0QmFzZWQiLCJfaXNUYXJnZXRCYXNlZCIsInNldENvbm5lY3Rpb25LZXkiLCJjb25uSWQiLCJfX2FyZ3VtZW50IiwiV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXkiLCJfX3NlbGVjdG9yIiwiY29ubmVjdFRvQXBwIiwiYXBwSWRLZXkiLCJXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXkiLCJzZXRTZW5kZXJLZXkiLCJzZW5kZXJJZCIsInBhZ2VJZEtleSIsIldJUlNlbmRlcktleSIsIldJUlBhZ2VJZGVudGlmaWVyS2V5IiwiV0lSQXV0b21hdGljYWxseVBhdXNlIiwiaW5kaWNhdGVXZWJWaWV3IiwiZW5hYmxlZCIsIldJUkluZGljYXRlRW5hYmxlZEtleSIsIl8iLCJpc05pbCIsImxhdW5jaEFwcGxpY2F0aW9uIiwiYnVuZGxlSWQiLCJXSVJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJLZXkiLCJnZXRGdWxsQ29tbWFuZCIsIm9wdHMiLCJtZXRob2QiLCJwYXJhbXMiLCJ0YXJnZXRJZCIsImlkIiwicmVhbE1ldGhvZCIsInJlYWxQYXJhbXMiLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsIk9iamVjdCIsImFzc2lnbiIsIm9iamVjdEdyb3VwIiwiaW5jbHVkZUNvbW1hbmRMaW5lQVBJIiwiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwiZW11bGF0ZVVzZXJHZXN0dXJlIiwiZ2VuZXJhdGVQcmV2aWV3Iiwic2F2ZVJlc3VsdCIsInBsaXN0IiwiV0lSU29ja2V0RGF0YUtleSIsIm9taXRCeSIsImdldE1pbmltYWxDb21tYW5kIiwiZ2V0RGlyZWN0Q29tbWFuZCIsImdldFJlbW90ZUNvbW1hbmQiLCJjb21tYW5kIiwiYnVpbGRlckZ1bmN0aW9uIiwiZ2V0UHJvdG9jb2xDb21tYW5kIiwiZXhwb3J0cyIsIl9kZWZhdWx0IiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9ycGMvcmVtb3RlLW1lc3NhZ2VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgZ2V0UHJvdG9jb2xDb21tYW5kIGZyb20gJy4uL3Byb3RvY29sJztcblxuXG5jb25zdCBPQkpFQ1RfR1JPVVAgPSAnY29uc29sZSc7XG5cbmNvbnN0IE1JTklNQUxfQ09NTUFORCA9ICdnZXRNaW5pbWFsQ29tbWFuZCc7XG5jb25zdCBGVUxMX0NPTU1BTkQgPSAnZ2V0RnVsbENvbW1hbmQnO1xuY29uc3QgRElSRUNUX0NPTU1BTkQgPSAnZ2V0RGlyZWN0Q29tbWFuZCc7XG5cbi8vIG1hcHBpbmcgb2YgY29tbWFuZHMgdG8gdGhlIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSBjb21tYW5kXG4vLyBkZWZhdWx0cyB0byBgZ2V0TWluaW1hbENvbW1hbmRgLCBzbyBubyBuZWVkIHRvIGhhdmUgdGhvc2UgbGlzdGVkIGhlcmVcbmNvbnN0IENPTU1BTkRTID0ge1xuICAnUGFnZS5nZXRDb29raWVzJzogRlVMTF9DT01NQU5ELFxuICAnUGFnZS5uYXZpZ2F0ZSc6IEZVTExfQ09NTUFORCxcblxuICAnUnVudGltZS5hd2FpdFByb21pc2UnOiBGVUxMX0NPTU1BTkQsXG4gICdSdW50aW1lLmNhbGxGdW5jdGlvbk9uJzogRlVMTF9DT01NQU5ELFxuICAnUnVudGltZS5ldmFsdWF0ZSc6IEZVTExfQ09NTUFORCxcblxuICAnVGFyZ2V0LmV4aXN0cyc6IERJUkVDVF9DT01NQU5ELFxuXG4gICdUaW1lbGluZS5zdGFydCc6IEZVTExfQ09NTUFORCxcbiAgJ1RpbWVsaW5lLnN0b3AnOiBGVUxMX0NPTU1BTkQsXG59O1xuXG5jbGFzcyBSZW1vdGVNZXNzYWdlcyB7XG4gIGNvbnN0cnVjdG9yIChpc1RhcmdldEJhc2VkID0gZmFsc2UpIHtcbiAgICB0aGlzLmlzVGFyZ2V0QmFzZWQgPSBpc1RhcmdldEJhc2VkO1xuICB9XG5cbiAgc2V0IGlzVGFyZ2V0QmFzZWQgKGlzVGFyZ2V0QmFzZWQpIHtcbiAgICB0aGlzLl9pc1RhcmdldEJhc2VkID0gaXNUYXJnZXRCYXNlZDtcbiAgfVxuXG4gIGdldCBpc1RhcmdldEJhc2VkICgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNUYXJnZXRCYXNlZDtcbiAgfVxuXG4gIC8qXG4gICAqIENvbm5lY3Rpb24gZnVuY3Rpb25zXG4gICAqL1xuXG4gIHNldENvbm5lY3Rpb25LZXkgKGNvbm5JZCkge1xuICAgIHJldHVybiB7XG4gICAgICBfX2FyZ3VtZW50OiB7XG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWRcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19yZXBvcnRJZGVudGlmaWVyOidcbiAgICB9O1xuICB9XG5cbiAgY29ubmVjdFRvQXBwIChjb25uSWQsIGFwcElkS2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleVxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRHZXRMaXN0aW5nOidcbiAgICB9O1xuICB9XG5cbiAgc2V0U2VuZGVyS2V5IChjb25uSWQsIHNlbmRlcklkLCBhcHBJZEtleSwgcGFnZUlkS2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSU2VuZGVyS2V5OiBzZW5kZXJJZCxcbiAgICAgICAgV0lSUGFnZUlkZW50aWZpZXJLZXk6IHBhZ2VJZEtleSxcbiAgICAgICAgV0lSQXV0b21hdGljYWxseVBhdXNlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRTb2NrZXRTZXR1cDonXG4gICAgfTtcbiAgfVxuXG4gIGluZGljYXRlV2ViVmlldyAoY29ubklkLCBhcHBJZEtleSwgcGFnZUlkS2V5LCBlbmFibGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSSW5kaWNhdGVFbmFibGVkS2V5OiBfLmlzTmlsKGVuYWJsZWQpID8gdHJ1ZSA6IGVuYWJsZWQsXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXlcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19mb3J3YXJkSW5kaWNhdGVXZWJWaWV3OidcbiAgICB9O1xuICB9XG5cbiAgbGF1bmNoQXBwbGljYXRpb24gKGJ1bmRsZUlkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyS2V5OiBidW5kbGVJZFxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX3JlcXVlc3RBcHBsaWNhdGlvbkxhdW5jaDonXG4gICAgfTtcbiAgfVxuXG4gIGdldEZ1bGxDb21tYW5kIChvcHRzID0ge30pIHtcbiAgICBjb25zdCB7XG4gICAgICBtZXRob2QsXG4gICAgICBwYXJhbXMsXG4gICAgICBjb25uSWQsXG4gICAgICBzZW5kZXJJZCxcbiAgICAgIGFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5LFxuICAgICAgdGFyZ2V0SWQsXG4gICAgICBpZCxcbiAgICB9ID0gb3B0cztcblxuICAgIC8qIFRoZSBXZWIgSW5zcGVjdG9yIGhhcyBhIG51bWJlciBvZiBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHBhc3NlZCBpbiwgYXNcbiAgICAgKiBzZWVuIHdoZW4gZHVtcGluZyB3aGF0IFNhZmFyaSBpcyBkb2luZyB3aGVuIGNvbW11bmljYXRpbmcgd2l0aCBpdC4gTW9zdFxuICAgICAqIGFyZSBrZXB0IGFzIHRoZXkgYXJlIHNldCBmb3IgU2FmYXJpLiBUaGUgZXhjZXB0aW9uIGlzIGBlbXVsYXRlVXNlckdlc3R1cmVgXG4gICAgICogd2hpY2gsIG9uIGlPUyAxMyssIGJyZWFrcyBwb3B1cCBibG9ja2luZyAoaS5lLiwgZXZlbiB3aXRoIHRoZSBwb3B1cFxuICAgICAqIGJsb2NraW5nIHNldHRpbmcgb24sIG5ldyB3aW5kb3dzIGFyZSBvcGVuYWJsZSBib3RoIGZyb20gbGlua3MgYW5kIGZyb21cbiAgICAgKiBKYXZhU2NyaXB0KS5cbiAgICAgKi9cblxuICAgIGxldCByZWFsTWV0aG9kO1xuICAgIGxldCByZWFsUGFyYW1zO1xuICAgIGlmICh0aGlzLmlzVGFyZ2V0QmFzZWQpIHtcbiAgICAgIHJlYWxNZXRob2QgPSAnVGFyZ2V0LnNlbmRNZXNzYWdlVG9UYXJnZXQnO1xuICAgICAgcmVhbFBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcGFyYW1zOiBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICAgIG9iamVjdEdyb3VwOiBPQkpFQ1RfR1JPVVAsXG4gICAgICAgICAgICBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsXG4gICAgICAgICAgICBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IGZhbHNlLFxuICAgICAgICAgICAgZW11bGF0ZVVzZXJHZXN0dXJlOiBmYWxzZSxcbiAgICAgICAgICAgIGdlbmVyYXRlUHJldmlldzogZmFsc2UsXG4gICAgICAgICAgICBzYXZlUmVzdWx0OiBmYWxzZSxcbiAgICAgICAgICB9LCBwYXJhbXMpXG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVhbE1ldGhvZCA9IG1ldGhvZDtcbiAgICAgIHJlYWxQYXJhbXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgb2JqZWN0R3JvdXA6IE9CSkVDVF9HUk9VUCxcbiAgICAgICAgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVlLFxuICAgICAgICBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IGZhbHNlLFxuICAgICAgICBlbXVsYXRlVXNlckdlc3R1cmU6IGZhbHNlLFxuICAgICAgfSwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBjb25zdCBwbGlzdCA9IHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSU29ja2V0RGF0YUtleToge1xuICAgICAgICAgIG1ldGhvZDogcmVhbE1ldGhvZCxcbiAgICAgICAgICBwYXJhbXM6IHJlYWxQYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlNlbmRlcktleTogc2VuZGVySWQsXG4gICAgICAgIFdJUkFwcGxpY2F0aW9uSWRlbnRpZmllcktleTogYXBwSWRLZXksXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXksXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldERhdGE6JyxcbiAgICB9O1xuICAgIHJldHVybiBfLm9taXRCeShwbGlzdCwgXy5pc05pbCk7XG4gIH1cblxuICBnZXRNaW5pbWFsQ29tbWFuZCAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge21ldGhvZCwgcGFyYW1zLCBjb25uSWQsIHNlbmRlcklkLCBhcHBJZEtleSwgcGFnZUlkS2V5LCB0YXJnZXRJZCwgaWR9ID0gb3B0cztcblxuICAgIGxldCByZWFsTWV0aG9kID0gbWV0aG9kO1xuICAgIGxldCByZWFsUGFyYW1zID0gcGFyYW1zO1xuICAgIGlmICh0aGlzLmlzVGFyZ2V0QmFzZWQpIHtcbiAgICAgIHJlYWxNZXRob2QgPSAnVGFyZ2V0LnNlbmRNZXNzYWdlVG9UYXJnZXQnO1xuICAgICAgcmVhbFBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgcGxpc3QgPSB7XG4gICAgICBfX2FyZ3VtZW50OiB7XG4gICAgICAgIFdJUlNvY2tldERhdGFLZXk6IHtcbiAgICAgICAgICBtZXRob2Q6IHJlYWxNZXRob2QsXG4gICAgICAgICAgcGFyYW1zOiByZWFsUGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgICBXSVJDb25uZWN0aW9uSWRlbnRpZmllcktleTogY29ubklkLFxuICAgICAgICBXSVJTZW5kZXJLZXk6IHNlbmRlcklkLFxuICAgICAgICBXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXk6IGFwcElkS2V5LFxuICAgICAgICBXSVJQYWdlSWRlbnRpZmllcktleTogcGFnZUlkS2V5LFxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRTb2NrZXREYXRhOidcbiAgICB9O1xuICAgIHJldHVybiBfLm9taXRCeShwbGlzdCwgXy5pc05pbCk7XG4gIH1cblxuICBnZXREaXJlY3RDb21tYW5kIChvcHRzID0ge30pIHtcbiAgICBjb25zdCB7bWV0aG9kLCBwYXJhbXMsIGNvbm5JZCwgc2VuZGVySWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIGlkfSA9IG9wdHM7XG5cbiAgICBjb25zdCBwbGlzdCA9IHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSU29ja2V0RGF0YUtleToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlNlbmRlcktleTogc2VuZGVySWQsXG4gICAgICAgIFdJUkFwcGxpY2F0aW9uSWRlbnRpZmllcktleTogYXBwSWRLZXksXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXksXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldERhdGE6J1xuICAgIH07XG4gICAgcmV0dXJuIF8ub21pdEJ5KHBsaXN0LCBfLmlzTmlsKTtcbiAgfVxuXG4gIGdldFJlbW90ZUNvbW1hbmQgKGNvbW1hbmQsIG9wdHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbm5JZCxcbiAgICAgIGFwcElkS2V5LFxuICAgICAgc2VuZGVySWQsXG4gICAgICBwYWdlSWRLZXksXG4gICAgICB0YXJnZXRJZCxcbiAgICB9ID0gb3B0cztcblxuICAgIC8vIGRlYWwgd2l0aCBTYWZhcmkgV2ViIEluc3BlY3RvciBjb21tYW5kc1xuICAgIHN3aXRjaCAoY29tbWFuZCkge1xuICAgICAgY2FzZSAnc2V0Q29ubmVjdGlvbktleSc6XG4gICAgICAgIHJldHVybiB0aGlzLnNldENvbm5lY3Rpb25LZXkoY29ubklkKTtcbiAgICAgIGNhc2UgJ2luZGljYXRlV2ViVmlldyc6XG4gICAgICAgIHJldHVybiB0aGlzLmluZGljYXRlV2ViVmlldyhjb25uSWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIG9wdHMuZW5hYmxlZCk7XG4gICAgICBjYXNlICdjb25uZWN0VG9BcHAnOlxuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0VG9BcHAoY29ubklkLCBhcHBJZEtleSk7XG4gICAgICBjYXNlICdzZXRTZW5kZXJLZXknOlxuICAgICAgICByZXR1cm4gdGhpcy5zZXRTZW5kZXJLZXkoY29ubklkLCBzZW5kZXJJZCwgYXBwSWRLZXksIHBhZ2VJZEtleSk7XG4gICAgICBjYXNlICdsYXVuY2hBcHBsaWNhdGlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLmxhdW5jaEFwcGxpY2F0aW9uKG9wdHMuYnVuZGxlSWQpO1xuICAgIH1cblxuICAgIC8vIGRlYWwgd2l0aCBXZWJLaXQgY29tbWFuZHNcbiAgICBjb25zdCBidWlsZGVyRnVuY3Rpb24gPSBDT01NQU5EU1tjb21tYW5kXSB8fCBNSU5JTUFMX0NPTU1BTkQ7XG4gICAgcmV0dXJuIHRoaXNbYnVpbGRlckZ1bmN0aW9uXSh7XG4gICAgICAuLi5nZXRQcm90b2NvbENvbW1hbmQoaWQsIGNvbW1hbmQsIG9wdHMpLFxuICAgICAgY29ubklkLFxuICAgICAgYXBwSWRLZXksXG4gICAgICBzZW5kZXJJZCxcbiAgICAgIHBhZ2VJZEtleSxcbiAgICAgIHRhcmdldElkLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlbW90ZU1lc3NhZ2VzIH07XG5leHBvcnQgZGVmYXVsdCBSZW1vdGVNZXNzYWdlcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFHQSxNQUFNRSxZQUFZLEdBQUcsU0FBUztBQUU5QixNQUFNQyxlQUFlLEdBQUcsbUJBQW1CO0FBQzNDLE1BQU1DLFlBQVksR0FBRyxnQkFBZ0I7QUFDckMsTUFBTUMsY0FBYyxHQUFHLGtCQUFrQjtBQUl6QyxNQUFNQyxRQUFRLEdBQUc7RUFDZixpQkFBaUIsRUFBRUYsWUFBWTtFQUMvQixlQUFlLEVBQUVBLFlBQVk7RUFFN0Isc0JBQXNCLEVBQUVBLFlBQVk7RUFDcEMsd0JBQXdCLEVBQUVBLFlBQVk7RUFDdEMs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
237
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcHJvdG9jb2wiLCJPQkpFQ1RfR1JPVVAiLCJNSU5JTUFMX0NPTU1BTkQiLCJGVUxMX0NPTU1BTkQiLCJESVJFQ1RfQ09NTUFORCIsIkNPTU1BTkRTIiwiUmVtb3RlTWVzc2FnZXMiLCJjb25zdHJ1Y3RvciIsImlzVGFyZ2V0QmFzZWQiLCJfaXNUYXJnZXRCYXNlZCIsInNldENvbm5lY3Rpb25LZXkiLCJjb25uSWQiLCJfX2FyZ3VtZW50IiwiV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXkiLCJfX3NlbGVjdG9yIiwiY29ubmVjdFRvQXBwIiwiYXBwSWRLZXkiLCJXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXkiLCJzZXRTZW5kZXJLZXkiLCJzZW5kZXJJZCIsInBhZ2VJZEtleSIsIldJUlNlbmRlcktleSIsIldJUlBhZ2VJZGVudGlmaWVyS2V5IiwiV0lSQXV0b21hdGljYWxseVBhdXNlIiwiaW5kaWNhdGVXZWJWaWV3IiwiZW5hYmxlZCIsIldJUkluZGljYXRlRW5hYmxlZEtleSIsIl8iLCJpc05pbCIsImxhdW5jaEFwcGxpY2F0aW9uIiwiYnVuZGxlSWQiLCJXSVJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJLZXkiLCJnZXRGdWxsQ29tbWFuZCIsIm9wdHMiLCJtZXRob2QiLCJwYXJhbXMiLCJ0YXJnZXRJZCIsImlkIiwicmVhbE1ldGhvZCIsInJlYWxQYXJhbXMiLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsIk9iamVjdCIsImFzc2lnbiIsIm9iamVjdEdyb3VwIiwiaW5jbHVkZUNvbW1hbmRMaW5lQVBJIiwiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwiZW11bGF0ZVVzZXJHZXN0dXJlIiwiZ2VuZXJhdGVQcmV2aWV3Iiwic2F2ZVJlc3VsdCIsInBsaXN0IiwiV0lSU29ja2V0RGF0YUtleSIsIm9taXRCeSIsImdldE1pbmltYWxDb21tYW5kIiwiZ2V0RGlyZWN0Q29tbWFuZCIsImdldFJlbW90ZUNvbW1hbmQiLCJjb21tYW5kIiwiYnVpbGRlckZ1bmN0aW9uIiwiZ2V0UHJvdG9jb2xDb21tYW5kIiwiZXhwb3J0cyIsIl9kZWZhdWx0IiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9ycGMvcmVtb3RlLW1lc3NhZ2VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgZ2V0UHJvdG9jb2xDb21tYW5kIGZyb20gJy4uL3Byb3RvY29sJztcblxuXG5jb25zdCBPQkpFQ1RfR1JPVVAgPSAnY29uc29sZSc7XG5cbmNvbnN0IE1JTklNQUxfQ09NTUFORCA9ICdnZXRNaW5pbWFsQ29tbWFuZCc7XG5jb25zdCBGVUxMX0NPTU1BTkQgPSAnZ2V0RnVsbENvbW1hbmQnO1xuY29uc3QgRElSRUNUX0NPTU1BTkQgPSAnZ2V0RGlyZWN0Q29tbWFuZCc7XG5cbi8vIG1hcHBpbmcgb2YgY29tbWFuZHMgdG8gdGhlIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSBjb21tYW5kXG4vLyBkZWZhdWx0cyB0byBgZ2V0TWluaW1hbENvbW1hbmRgLCBzbyBubyBuZWVkIHRvIGhhdmUgdGhvc2UgbGlzdGVkIGhlcmVcbmNvbnN0IENPTU1BTkRTID0ge1xuICAnUGFnZS5nZXRDb29raWVzJzogRlVMTF9DT01NQU5ELFxuICAnUGFnZS5uYXZpZ2F0ZSc6IEZVTExfQ09NTUFORCxcblxuICAnUnVudGltZS5hd2FpdFByb21pc2UnOiBGVUxMX0NPTU1BTkQsXG4gICdSdW50aW1lLmNhbGxGdW5jdGlvbk9uJzogRlVMTF9DT01NQU5ELFxuICAnUnVudGltZS5ldmFsdWF0ZSc6IEZVTExfQ09NTUFORCxcblxuICAnVGFyZ2V0LmV4aXN0cyc6IERJUkVDVF9DT01NQU5ELFxuXG4gICdUaW1lbGluZS5zdGFydCc6IEZVTExfQ09NTUFORCxcbiAgJ1RpbWVsaW5lLnN0b3AnOiBGVUxMX0NPTU1BTkQsXG59O1xuXG5jbGFzcyBSZW1vdGVNZXNzYWdlcyB7XG4gIGNvbnN0cnVjdG9yIChpc1RhcmdldEJhc2VkID0gZmFsc2UpIHtcbiAgICB0aGlzLmlzVGFyZ2V0QmFzZWQgPSBpc1RhcmdldEJhc2VkO1xuICB9XG5cbiAgc2V0IGlzVGFyZ2V0QmFzZWQgKGlzVGFyZ2V0QmFzZWQpIHtcbiAgICB0aGlzLl9pc1RhcmdldEJhc2VkID0gaXNUYXJnZXRCYXNlZDtcbiAgfVxuXG4gIGdldCBpc1RhcmdldEJhc2VkICgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNUYXJnZXRCYXNlZDtcbiAgfVxuXG4gIC8qXG4gICAqIENvbm5lY3Rpb24gZnVuY3Rpb25zXG4gICAqL1xuXG4gIHNldENvbm5lY3Rpb25LZXkgKGNvbm5JZCkge1xuICAgIHJldHVybiB7XG4gICAgICBfX2FyZ3VtZW50OiB7XG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWRcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19yZXBvcnRJZGVudGlmaWVyOidcbiAgICB9O1xuICB9XG5cbiAgY29ubmVjdFRvQXBwIChjb25uSWQsIGFwcElkS2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleVxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRHZXRMaXN0aW5nOidcbiAgICB9O1xuICB9XG5cbiAgc2V0U2VuZGVyS2V5IChjb25uSWQsIHNlbmRlcklkLCBhcHBJZEtleSwgcGFnZUlkS2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSU2VuZGVyS2V5OiBzZW5kZXJJZCxcbiAgICAgICAgV0lSUGFnZUlkZW50aWZpZXJLZXk6IHBhZ2VJZEtleSxcbiAgICAgICAgV0lSQXV0b21hdGljYWxseVBhdXNlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRTb2NrZXRTZXR1cDonXG4gICAgfTtcbiAgfVxuXG4gIGluZGljYXRlV2ViVmlldyAoY29ubklkLCBhcHBJZEtleSwgcGFnZUlkS2V5LCBlbmFibGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSSW5kaWNhdGVFbmFibGVkS2V5OiBfLmlzTmlsKGVuYWJsZWQpID8gdHJ1ZSA6IGVuYWJsZWQsXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXlcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19mb3J3YXJkSW5kaWNhdGVXZWJWaWV3OidcbiAgICB9O1xuICB9XG5cbiAgbGF1bmNoQXBwbGljYXRpb24gKGJ1bmRsZUlkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyS2V5OiBidW5kbGVJZFxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX3JlcXVlc3RBcHBsaWNhdGlvbkxhdW5jaDonXG4gICAgfTtcbiAgfVxuXG4gIGdldEZ1bGxDb21tYW5kIChvcHRzID0ge30pIHtcbiAgICBjb25zdCB7XG4gICAgICBtZXRob2QsXG4gICAgICBwYXJhbXMsXG4gICAgICBjb25uSWQsXG4gICAgICBzZW5kZXJJZCxcbiAgICAgIGFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5LFxuICAgICAgdGFyZ2V0SWQsXG4gICAgICBpZCxcbiAgICB9ID0gb3B0cztcblxuICAgIC8qIFRoZSBXZWIgSW5zcGVjdG9yIGhhcyBhIG51bWJlciBvZiBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHBhc3NlZCBpbiwgYXNcbiAgICAgKiBzZWVuIHdoZW4gZHVtcGluZyB3aGF0IFNhZmFyaSBpcyBkb2luZyB3aGVuIGNvbW11bmljYXRpbmcgd2l0aCBpdC4gTW9zdFxuICAgICAqIGFyZSBrZXB0IGFzIHRoZXkgYXJlIHNldCBmb3IgU2FmYXJpLiBUaGUgZXhjZXB0aW9uIGlzIGBlbXVsYXRlVXNlckdlc3R1cmVgXG4gICAgICogd2hpY2gsIG9uIGlPUyAxMyssIGJyZWFrcyBwb3B1cCBibG9ja2luZyAoaS5lLiwgZXZlbiB3aXRoIHRoZSBwb3B1cFxuICAgICAqIGJsb2NraW5nIHNldHRpbmcgb24sIG5ldyB3aW5kb3dzIGFyZSBvcGVuYWJsZSBib3RoIGZyb20gbGlua3MgYW5kIGZyb21cbiAgICAgKiBKYXZhU2NyaXB0KS5cbiAgICAgKi9cblxuICAgIGxldCByZWFsTWV0aG9kO1xuICAgIGxldCByZWFsUGFyYW1zO1xuICAgIGlmICh0aGlzLmlzVGFyZ2V0QmFzZWQpIHtcbiAgICAgIHJlYWxNZXRob2QgPSAnVGFyZ2V0LnNlbmRNZXNzYWdlVG9UYXJnZXQnO1xuICAgICAgcmVhbFBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcGFyYW1zOiBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICAgIG9iamVjdEdyb3VwOiBPQkpFQ1RfR1JPVVAsXG4gICAgICAgICAgICBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsXG4gICAgICAgICAgICBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IGZhbHNlLFxuICAgICAgICAgICAgZW11bGF0ZVVzZXJHZXN0dXJlOiBmYWxzZSxcbiAgICAgICAgICAgIGdlbmVyYXRlUHJldmlldzogZmFsc2UsXG4gICAgICAgICAgICBzYXZlUmVzdWx0OiBmYWxzZSxcbiAgICAgICAgICB9LCBwYXJhbXMpXG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVhbE1ldGhvZCA9IG1ldGhvZDtcbiAgICAgIHJlYWxQYXJhbXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgb2JqZWN0R3JvdXA6IE9CSkVDVF9HUk9VUCxcbiAgICAgICAgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVlLFxuICAgICAgICBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IGZhbHNlLFxuICAgICAgICBlbXVsYXRlVXNlckdlc3R1cmU6IGZhbHNlLFxuICAgICAgfSwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBjb25zdCBwbGlzdCA9IHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSU29ja2V0RGF0YUtleToge1xuICAgICAgICAgIG1ldGhvZDogcmVhbE1ldGhvZCxcbiAgICAgICAgICBwYXJhbXM6IHJlYWxQYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlNlbmRlcktleTogc2VuZGVySWQsXG4gICAgICAgIFdJUkFwcGxpY2F0aW9uSWRlbnRpZmllcktleTogYXBwSWRLZXksXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXksXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldERhdGE6JyxcbiAgICB9O1xuICAgIHJldHVybiBfLm9taXRCeShwbGlzdCwgXy5pc05pbCk7XG4gIH1cblxuICBnZXRNaW5pbWFsQ29tbWFuZCAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge21ldGhvZCwgcGFyYW1zLCBjb25uSWQsIHNlbmRlcklkLCBhcHBJZEtleSwgcGFnZUlkS2V5LCB0YXJnZXRJZCwgaWR9ID0gb3B0cztcblxuICAgIGxldCByZWFsTWV0aG9kID0gbWV0aG9kO1xuICAgIGxldCByZWFsUGFyYW1zID0gcGFyYW1zO1xuICAgIGlmICh0aGlzLmlzVGFyZ2V0QmFzZWQpIHtcbiAgICAgIHJlYWxNZXRob2QgPSAnVGFyZ2V0LnNlbmRNZXNzYWdlVG9UYXJnZXQnO1xuICAgICAgcmVhbFBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgcGxpc3QgPSB7XG4gICAgICBfX2FyZ3VtZW50OiB7XG4gICAgICAgIFdJUlNvY2tldERhdGFLZXk6IHtcbiAgICAgICAgICBtZXRob2Q6IHJlYWxNZXRob2QsXG4gICAgICAgICAgcGFyYW1zOiByZWFsUGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgICBXSVJDb25uZWN0aW9uSWRlbnRpZmllcktleTogY29ubklkLFxuICAgICAgICBXSVJTZW5kZXJLZXk6IHNlbmRlcklkLFxuICAgICAgICBXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXk6IGFwcElkS2V5LFxuICAgICAgICBXSVJQYWdlSWRlbnRpZmllcktleTogcGFnZUlkS2V5LFxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRTb2NrZXREYXRhOidcbiAgICB9O1xuICAgIHJldHVybiBfLm9taXRCeShwbGlzdCwgXy5pc05pbCk7XG4gIH1cblxuICBnZXREaXJlY3RDb21tYW5kIChvcHRzID0ge30pIHtcbiAgICBjb25zdCB7bWV0aG9kLCBwYXJhbXMsIGNvbm5JZCwgc2VuZGVySWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIGlkfSA9IG9wdHM7XG5cbiAgICBjb25zdCBwbGlzdCA9IHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSU29ja2V0RGF0YUtleToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlNlbmRlcktleTogc2VuZGVySWQsXG4gICAgICAgIFdJUkFwcGxpY2F0aW9uSWRlbnRpZmllcktleTogYXBwSWRLZXksXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXksXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldERhdGE6J1xuICAgIH07XG4gICAgcmV0dXJuIF8ub21pdEJ5KHBsaXN0LCBfLmlzTmlsKTtcbiAgfVxuXG4gIGdldFJlbW90ZUNvbW1hbmQgKGNvbW1hbmQsIG9wdHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbm5JZCxcbiAgICAgIGFwcElkS2V5LFxuICAgICAgc2VuZGVySWQsXG4gICAgICBwYWdlSWRLZXksXG4gICAgICB0YXJnZXRJZCxcbiAgICB9ID0gb3B0cztcblxuICAgIC8vIGRlYWwgd2l0aCBTYWZhcmkgV2ViIEluc3BlY3RvciBjb21tYW5kc1xuICAgIHN3aXRjaCAoY29tbWFuZCkge1xuICAgICAgY2FzZSAnc2V0Q29ubmVjdGlvbktleSc6XG4gICAgICAgIHJldHVybiB0aGlzLnNldENvbm5lY3Rpb25LZXkoY29ubklkKTtcbiAgICAgIGNhc2UgJ2luZGljYXRlV2ViVmlldyc6XG4gICAgICAgIHJldHVybiB0aGlzLmluZGljYXRlV2ViVmlldyhjb25uSWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIG9wdHMuZW5hYmxlZCk7XG4gICAgICBjYXNlICdjb25uZWN0VG9BcHAnOlxuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0VG9BcHAoY29ubklkLCBhcHBJZEtleSk7XG4gICAgICBjYXNlICdzZXRTZW5kZXJLZXknOlxuICAgICAgICByZXR1cm4gdGhpcy5zZXRTZW5kZXJLZXkoY29ubklkLCBzZW5kZXJJZCwgYXBwSWRLZXksIHBhZ2VJZEtleSk7XG4gICAgICBjYXNlICdsYXVuY2hBcHBsaWNhdGlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLmxhdW5jaEFwcGxpY2F0aW9uKG9wdHMuYnVuZGxlSWQpO1xuICAgIH1cblxuICAgIC8vIGRlYWwgd2l0aCBXZWJLaXQgY29tbWFuZHNcbiAgICBjb25zdCBidWlsZGVyRnVuY3Rpb24gPSBDT01NQU5EU1tjb21tYW5kXSB8fCBNSU5JTUFMX0NPTU1BTkQ7XG4gICAgcmV0dXJuIHRoaXNbYnVpbGRlckZ1bmN0aW9uXSh7XG4gICAgICAuLi5nZXRQcm90b2NvbENvbW1hbmQoaWQsIGNvbW1hbmQsIG9wdHMpLFxuICAgICAgY29ubklkLFxuICAgICAgYXBwSWRLZXksXG4gICAgICBzZW5kZXJJZCxcbiAgICAgIHBhZ2VJZEtleSxcbiAgICAgIHRhcmdldElkLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlbW90ZU1lc3NhZ2VzIH07XG5leHBvcnQgZGVmYXVsdCBSZW1vdGVNZXNzYWdlcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFHQSxNQUFNRSxZQUFZLEdBQUcsU0FBUztBQUU5QixNQUFNQyxlQUFlLEdBQUcsbUJBQW1CO0FBQzNDLE1BQU1DLFlBQVksR0FBRyxnQkFBZ0I7QUFDckMsTUFBTUMsY0FBYyxHQUFHLGtCQUFrQjtBQUl6QyxNQUFNQyxRQUFRLEdBQUc7RUFDZixpQkFBaUIsRUFBRUYsWUFBWTtFQUMvQixlQUFlLEVBQUVBLFlBQVk7RUFFN0Isc0JBQXNCLEVBQUVBLFlBQVk7RUFDcEMsd0JBQXdCLEVBQUVBLFlBQVk7RUFDdEMs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
@@ -1 +1 @@
1
- {"version":3,"file":"remote-messages.js","names":["_lodash","_interopRequireDefault","require","_protocol","OBJECT_GROUP","MINIMAL_COMMAND","FULL_COMMAND","DIRECT_COMMAND","COMMANDS","RemoteMessages","constructor","isTargetBased","_isTargetBased","setConnectionKey","connId","__argument","WIRConnectionIdentifierKey","__selector","connectToApp","appIdKey","WIRApplicationIdentifierKey","setSenderKey","senderId","pageIdKey","WIRSenderKey","WIRPageIdentifierKey","WIRAutomaticallyPause","indicateWebView","enabled","WIRIndicateEnabledKey","_","isNil","launchApplication","bundleId","WIRApplicationBundleIdentifierKey","getFullCommand","opts","method","params","targetId","id","realMethod","realParams","message","JSON","stringify","Object","assign","objectGroup","includeCommandLineAPI","doNotPauseOnExceptionsAndMuteConsole","emulateUserGesture","generatePreview","saveResult","plist","WIRSocketDataKey","omitBy","getMinimalCommand","getDirectCommand","getRemoteCommand","command","builderFunction","getProtocolCommand","exports","_default","default"],"sources":["../../../lib/rpc/remote-messages.js"],"sourcesContent":["import _ from 'lodash';\nimport getProtocolCommand from '../protocol';\n\n\nconst OBJECT_GROUP = 'console';\n\nconst MINIMAL_COMMAND = 'getMinimalCommand';\nconst FULL_COMMAND = 'getFullCommand';\nconst DIRECT_COMMAND = 'getDirectCommand';\n\n// mapping of commands to the function for getting the command\n// defaults to `getMinimalCommand`, so no need to have those listed here\nconst COMMANDS = {\n 'Page.getCookies': FULL_COMMAND,\n 'Page.navigate': FULL_COMMAND,\n\n 'Runtime.awaitPromise': FULL_COMMAND,\n 'Runtime.callFunctionOn': FULL_COMMAND,\n 'Runtime.evaluate': FULL_COMMAND,\n\n 'Target.exists': DIRECT_COMMAND,\n\n 'Timeline.start': FULL_COMMAND,\n 'Timeline.stop': FULL_COMMAND,\n};\n\nclass RemoteMessages {\n constructor (isTargetBased = false) {\n this.isTargetBased = isTargetBased;\n }\n\n set isTargetBased (isTargetBased) {\n this._isTargetBased = isTargetBased;\n }\n\n get isTargetBased () {\n return this._isTargetBased;\n }\n\n /*\n * Connection functions\n */\n\n setConnectionKey (connId) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId\n },\n __selector: '_rpc_reportIdentifier:'\n };\n }\n\n connectToApp (connId, appIdKey) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId,\n WIRApplicationIdentifierKey: appIdKey\n },\n __selector: '_rpc_forwardGetListing:'\n };\n }\n\n setSenderKey (connId, senderId, appIdKey, pageIdKey) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRPageIdentifierKey: pageIdKey,\n WIRAutomaticallyPause: false\n },\n __selector: '_rpc_forwardSocketSetup:'\n };\n }\n\n indicateWebView (connId, appIdKey, pageIdKey, enabled) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRIndicateEnabledKey: _.isNil(enabled) ? true : enabled,\n WIRConnectionIdentifierKey: connId,\n WIRPageIdentifierKey: pageIdKey\n },\n __selector: '_rpc_forwardIndicateWebView:'\n };\n }\n\n launchApplication (bundleId) {\n return {\n __argument: {\n WIRApplicationBundleIdentifierKey: bundleId\n },\n __selector: '_rpc_requestApplicationLaunch:'\n };\n }\n\n getFullCommand (opts = {}) {\n const {\n method,\n params,\n connId,\n senderId,\n appIdKey,\n pageIdKey,\n targetId,\n id,\n } = opts;\n\n /* The Web Inspector has a number of parameters that can be passed in, as\n * seen when dumping what Safari is doing when communicating with it. Most\n * are kept as they are set for Safari. The exception is `emulateUserGesture`\n * which, on iOS 13+, breaks popup blocking (i.e., even with the popup\n * blocking setting on, new windows are openable both from links and from\n * JavaScript).\n */\n\n let realMethod;\n let realParams;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params: Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n generatePreview: false,\n saveResult: false,\n }, params)\n }),\n };\n } else {\n realMethod = method;\n realParams = Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n }, params);\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:',\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getMinimalCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, targetId, id} = opts;\n\n let realMethod = method;\n let realParams = params;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params,\n }),\n };\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getDirectCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, id} = opts;\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n id,\n method,\n params,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getRemoteCommand (command, opts) {\n const {\n id,\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n } = opts;\n\n // deal with Safari Web Inspector commands\n switch (command) {\n case 'setConnectionKey':\n return this.setConnectionKey(connId);\n case 'indicateWebView':\n return this.indicateWebView(connId, appIdKey, pageIdKey, opts.enabled);\n case 'connectToApp':\n return this.connectToApp(connId, appIdKey);\n case 'setSenderKey':\n return this.setSenderKey(connId, senderId, appIdKey, pageIdKey);\n case 'launchApplication':\n return this.launchApplication(opts.bundleId);\n }\n\n // deal with WebKit commands\n const builderFunction = COMMANDS[command] || MINIMAL_COMMAND;\n return this[builderFunction]({\n ...getProtocolCommand(id, command, opts),\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n });\n }\n}\n\nexport { RemoteMessages };\nexport default RemoteMessages;\n"],"mappings":"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"}
1
+ {"version":3,"file":"remote-messages.js","names":["_lodash","_interopRequireDefault","require","_protocol","OBJECT_GROUP","MINIMAL_COMMAND","FULL_COMMAND","DIRECT_COMMAND","COMMANDS","RemoteMessages","constructor","isTargetBased","_isTargetBased","setConnectionKey","connId","__argument","WIRConnectionIdentifierKey","__selector","connectToApp","appIdKey","WIRApplicationIdentifierKey","setSenderKey","senderId","pageIdKey","WIRSenderKey","WIRPageIdentifierKey","WIRAutomaticallyPause","indicateWebView","enabled","WIRIndicateEnabledKey","_","isNil","launchApplication","bundleId","WIRApplicationBundleIdentifierKey","getFullCommand","opts","method","params","targetId","id","realMethod","realParams","message","JSON","stringify","Object","assign","objectGroup","includeCommandLineAPI","doNotPauseOnExceptionsAndMuteConsole","emulateUserGesture","generatePreview","saveResult","plist","WIRSocketDataKey","omitBy","getMinimalCommand","getDirectCommand","getRemoteCommand","command","builderFunction","getProtocolCommand","exports","_default","default"],"sources":["../../../lib/rpc/remote-messages.js"],"sourcesContent":["import _ from 'lodash';\nimport getProtocolCommand from '../protocol';\n\n\nconst OBJECT_GROUP = 'console';\n\nconst MINIMAL_COMMAND = 'getMinimalCommand';\nconst FULL_COMMAND = 'getFullCommand';\nconst DIRECT_COMMAND = 'getDirectCommand';\n\n// mapping of commands to the function for getting the command\n// defaults to `getMinimalCommand`, so no need to have those listed here\nconst COMMANDS = {\n 'Page.getCookies': FULL_COMMAND,\n 'Page.navigate': FULL_COMMAND,\n\n 'Runtime.awaitPromise': FULL_COMMAND,\n 'Runtime.callFunctionOn': FULL_COMMAND,\n 'Runtime.evaluate': FULL_COMMAND,\n\n 'Target.exists': DIRECT_COMMAND,\n\n 'Timeline.start': FULL_COMMAND,\n 'Timeline.stop': FULL_COMMAND,\n};\n\nclass RemoteMessages {\n constructor (isTargetBased = false) {\n this.isTargetBased = isTargetBased;\n }\n\n set isTargetBased (isTargetBased) {\n this._isTargetBased = isTargetBased;\n }\n\n get isTargetBased () {\n return this._isTargetBased;\n }\n\n /*\n * Connection functions\n */\n\n setConnectionKey (connId) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId\n },\n __selector: '_rpc_reportIdentifier:'\n };\n }\n\n connectToApp (connId, appIdKey) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId,\n WIRApplicationIdentifierKey: appIdKey\n },\n __selector: '_rpc_forwardGetListing:'\n };\n }\n\n setSenderKey (connId, senderId, appIdKey, pageIdKey) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRPageIdentifierKey: pageIdKey,\n WIRAutomaticallyPause: false\n },\n __selector: '_rpc_forwardSocketSetup:'\n };\n }\n\n indicateWebView (connId, appIdKey, pageIdKey, enabled) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRIndicateEnabledKey: _.isNil(enabled) ? true : enabled,\n WIRConnectionIdentifierKey: connId,\n WIRPageIdentifierKey: pageIdKey\n },\n __selector: '_rpc_forwardIndicateWebView:'\n };\n }\n\n launchApplication (bundleId) {\n return {\n __argument: {\n WIRApplicationBundleIdentifierKey: bundleId\n },\n __selector: '_rpc_requestApplicationLaunch:'\n };\n }\n\n getFullCommand (opts = {}) {\n const {\n method,\n params,\n connId,\n senderId,\n appIdKey,\n pageIdKey,\n targetId,\n id,\n } = opts;\n\n /* The Web Inspector has a number of parameters that can be passed in, as\n * seen when dumping what Safari is doing when communicating with it. Most\n * are kept as they are set for Safari. The exception is `emulateUserGesture`\n * which, on iOS 13+, breaks popup blocking (i.e., even with the popup\n * blocking setting on, new windows are openable both from links and from\n * JavaScript).\n */\n\n let realMethod;\n let realParams;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params: Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n generatePreview: false,\n saveResult: false,\n }, params)\n }),\n };\n } else {\n realMethod = method;\n realParams = Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n }, params);\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:',\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getMinimalCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, targetId, id} = opts;\n\n let realMethod = method;\n let realParams = params;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params,\n }),\n };\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getDirectCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, id} = opts;\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n id,\n method,\n params,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getRemoteCommand (command, opts) {\n const {\n id,\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n } = opts;\n\n // deal with Safari Web Inspector commands\n switch (command) {\n case 'setConnectionKey':\n return this.setConnectionKey(connId);\n case 'indicateWebView':\n return this.indicateWebView(connId, appIdKey, pageIdKey, opts.enabled);\n case 'connectToApp':\n return this.connectToApp(connId, appIdKey);\n case 'setSenderKey':\n return this.setSenderKey(connId, senderId, appIdKey, pageIdKey);\n case 'launchApplication':\n return this.launchApplication(opts.bundleId);\n }\n\n // deal with WebKit commands\n const builderFunction = COMMANDS[command] || MINIMAL_COMMAND;\n return this[builderFunction]({\n ...getProtocolCommand(id, command, opts),\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n });\n }\n}\n\nexport { RemoteMessages };\nexport default RemoteMessages;\n"],"mappings":"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"}
@@ -51,4 +51,4 @@ class RpcClientRealDevice extends _rpcClient.default {
51
51
  }
52
52
  }
53
53
  exports.default = RpcClientRealDevice;
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcnBjQ2xpZW50IiwiX2FwcGl1bUlvc0RldmljZSIsIlJwY0NsaWVudFJlYWxEZXZpY2UiLCJScGNDbGllbnQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJPYmplY3QiLCJhc3NpZ24iLCJzaG91bGRDaGVja0ZvclRhcmdldCIsInVkaWQiLCJjb25uZWN0Iiwic2VydmljZSIsInNlcnZpY2VzIiwic3RhcnRXZWJJbnNwZWN0b3JTZXJ2aWNlIiwib3NWZXJzaW9uIiwicGxhdGZvcm1WZXJzaW9uIiwiaXNTaW11bGF0b3IiLCJ2ZXJib3NlIiwibG9nQWxsQ29tbXVuaWNhdGlvbiIsInZlcmJvc2VIZXhEdW1wIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJzb2NrZXRDaHVua1NpemUiLCJtYXhGcmFtZUxlbmd0aCIsIndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoIiwibGlzdGVuTWVzc2FnZSIsInJlY2VpdmUiLCJiaW5kIiwiaXNDb25uZWN0ZWQiLCJkaXNjb25uZWN0IiwibG9nIiwiZGVidWciLCJjbG9zZSIsInNlbmRNZXNzYWdlIiwiY21kIiwiZGF0YSIsIm1lc3NhZ2VIYW5kbGVyIiwiaGFuZGxlTWVzc2FnZSIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3JwYy9ycGMtY2xpZW50LXJlYWwtZGV2aWNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBScGNDbGllbnQgZnJvbSAnLi9ycGMtY2xpZW50JztcbmltcG9ydCB7IHNlcnZpY2VzIH0gZnJvbSAnYXBwaXVtLWlvcy1kZXZpY2UnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJwY0NsaWVudFJlYWxEZXZpY2UgZXh0ZW5kcyBScGNDbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoT2JqZWN0LmFzc2lnbih7XG4gICAgICBzaG91bGRDaGVja0ZvclRhcmdldDogZmFsc2UsXG4gICAgfSwgb3B0cykpO1xuXG4gICAgY29uc3Qge1xuICAgICAgdWRpZCxcbiAgICB9ID0gb3B0cztcblxuICAgIHRoaXMudWRpZCA9IHVkaWQ7XG4gIH1cblxuICBhc3luYyBjb25uZWN0ICgpIHtcbiAgICB0aGlzLnNlcnZpY2UgPSBhd2FpdCBzZXJ2aWNlcy5zdGFydFdlYkluc3BlY3RvclNlcnZpY2UodGhpcy51ZGlkLCB7XG4gICAgICBvc1ZlcnNpb246IHRoaXMucGxhdGZvcm1WZXJzaW9uLFxuICAgICAgaXNTaW11bGF0b3I6IGZhbHNlLFxuICAgICAgdmVyYm9zZTogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgdmVyYm9zZUhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBzb2NrZXRDaHVua1NpemU6IHRoaXMuc29ja2V0Q2h1bmtTaXplLFxuICAgICAgbWF4RnJhbWVMZW5ndGg6IHRoaXMud2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGgsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2UubGlzdGVuTWVzc2FnZSh0aGlzLnJlY2VpdmUuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHRydWU7XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0ICgpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ0Rpc2Nvbm5lY3RpbmcgZnJvbSByZW1vdGUgZGVidWdnZXInKTtcbiAgICBhd2FpdCBzdXBlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UgKGNtZCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJlcXVpcmUtYXdhaXRcbiAgICB0aGlzLnNlcnZpY2Uuc2VuZE1lc3NhZ2UoY21kKTtcbiAgfVxuXG4gIGFzeW5jIHJlY2VpdmUgKGRhdGEpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5tZXNzYWdlSGFuZGxlci5oYW5kbGVNZXNzYWdlKGRhdGEpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUdlLE1BQU1HLG1CQUFtQixTQUFTQyxrQkFBUyxDQUFDO0VBQ3pEQyxXQUFXQSxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEIsS0FBSyxDQUFDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQztNQUNsQkMsb0JBQW9CLEVBQUU7SUFDeEIsQ0FBQyxFQUFFSCxJQUFJLENBQUMsQ0FBQztJQUVULE1BQU07TUFDSkk7SUFDRixDQUFDLEdBQUdKLElBQUk7SUFFUixJQUFJLENBQUNJLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBLE1BQU1DLE9BQU9BLENBQUEsRUFBSTtJQUNmLElBQUksQ0FBQ0MsT0FBTyxHQUFHLE1BQU1DLHlCQUFRLENBQUNDLHdCQUF3QixDQUFDLElBQUksQ0FBQ0osSUFBSSxFQUFFO01BQ2hFSyxTQUFTLEVBQUUsSUFBSSxDQUFDQyxlQUFlO01BQy9CQyxXQUFXLEVBQUUsS0FBSztNQUNsQkMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsbUJBQW1CO01BQ2pDQyxjQUFjLEVBQUUsSUFBSSxDQUFDQywwQkFBMEI7TUFDL0NDLGVBQWUsRUFBRSxJQUFJLENBQUNBLGVBQWU7TUFDckNDLGNBQWMsRUFBRSxJQUFJLENBQUNDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ1osT0FBTyxDQUFDYSxhQUFhLENBQUMsSUFBSSxDQUFDQyxPQUFPLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUNDLFdBQVcsR0FBRyxJQUFJO0VBQ3pCO0VBRUEsTUFBTUMsVUFBVUEsQ0FBQSxFQUFJO0lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUNELFdBQVcsRUFBRTtNQUNyQjtJQUNGO0lBRUFFLGVBQUcsQ0FBQ0MsS0FBSyxDQUFDLG9DQUFvQyxDQUFDO0lBQy9DLE1BQU0sS0FBSyxDQUFDRixVQUFVLEVBQUU7SUFDeEIsSUFBSSxDQUFDakIsT0FBTyxDQUFDb0IsS0FBSyxFQUFFO0lBQ3BCLElBQUksQ0FBQ0osV0FBVyxHQUFHLEtBQUs7RUFDMUI7RUFFQSxNQUFNSyxXQUFXQSxDQUFFQyxHQUFHLEVBQUU7SUFDdEIsSUFBSSxDQUFDdEIsT0FBTyxDQUFDcUIsV0FBVyxDQUFDQyxHQUFHLENBQUM7RUFDL0I7RUFFQSxNQUFNUixPQUFPQSxDQUFFUyxJQUFJLEVBQUU7SUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQ1AsV0FBVyxFQUFFO01BQ3JCO0lBQ0Y7SUFDQSxNQUFNLElBQUksQ0FBQ1EsY0FBYyxDQUFDQyxhQUFhLENBQUNGLElBQUksQ0FBQztFQUMvQztBQUNGO0FBQUNHLE9BQUEsQ0FBQUMsT0FBQSxHQUFBcEMsbUJBQUEifQ==
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcnBjQ2xpZW50IiwiX2FwcGl1bUlvc0RldmljZSIsIlJwY0NsaWVudFJlYWxEZXZpY2UiLCJScGNDbGllbnQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJPYmplY3QiLCJhc3NpZ24iLCJzaG91bGRDaGVja0ZvclRhcmdldCIsInVkaWQiLCJjb25uZWN0Iiwic2VydmljZSIsInNlcnZpY2VzIiwic3RhcnRXZWJJbnNwZWN0b3JTZXJ2aWNlIiwib3NWZXJzaW9uIiwicGxhdGZvcm1WZXJzaW9uIiwiaXNTaW11bGF0b3IiLCJ2ZXJib3NlIiwibG9nQWxsQ29tbXVuaWNhdGlvbiIsInZlcmJvc2VIZXhEdW1wIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJzb2NrZXRDaHVua1NpemUiLCJtYXhGcmFtZUxlbmd0aCIsIndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoIiwibGlzdGVuTWVzc2FnZSIsInJlY2VpdmUiLCJiaW5kIiwiaXNDb25uZWN0ZWQiLCJkaXNjb25uZWN0IiwibG9nIiwiZGVidWciLCJjbG9zZSIsInNlbmRNZXNzYWdlIiwiY21kIiwiZGF0YSIsIm1lc3NhZ2VIYW5kbGVyIiwiaGFuZGxlTWVzc2FnZSIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3JwYy9ycGMtY2xpZW50LXJlYWwtZGV2aWNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBScGNDbGllbnQgZnJvbSAnLi9ycGMtY2xpZW50JztcbmltcG9ydCB7IHNlcnZpY2VzIH0gZnJvbSAnYXBwaXVtLWlvcy1kZXZpY2UnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJwY0NsaWVudFJlYWxEZXZpY2UgZXh0ZW5kcyBScGNDbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoT2JqZWN0LmFzc2lnbih7XG4gICAgICBzaG91bGRDaGVja0ZvclRhcmdldDogZmFsc2UsXG4gICAgfSwgb3B0cykpO1xuXG4gICAgY29uc3Qge1xuICAgICAgdWRpZCxcbiAgICB9ID0gb3B0cztcblxuICAgIHRoaXMudWRpZCA9IHVkaWQ7XG4gIH1cblxuICBhc3luYyBjb25uZWN0ICgpIHtcbiAgICB0aGlzLnNlcnZpY2UgPSBhd2FpdCBzZXJ2aWNlcy5zdGFydFdlYkluc3BlY3RvclNlcnZpY2UodGhpcy51ZGlkLCB7XG4gICAgICBvc1ZlcnNpb246IHRoaXMucGxhdGZvcm1WZXJzaW9uLFxuICAgICAgaXNTaW11bGF0b3I6IGZhbHNlLFxuICAgICAgdmVyYm9zZTogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgdmVyYm9zZUhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBzb2NrZXRDaHVua1NpemU6IHRoaXMuc29ja2V0Q2h1bmtTaXplLFxuICAgICAgbWF4RnJhbWVMZW5ndGg6IHRoaXMud2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGgsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2UubGlzdGVuTWVzc2FnZSh0aGlzLnJlY2VpdmUuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHRydWU7XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0ICgpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ0Rpc2Nvbm5lY3RpbmcgZnJvbSByZW1vdGUgZGVidWdnZXInKTtcbiAgICBhd2FpdCBzdXBlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UgKGNtZCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJlcXVpcmUtYXdhaXRcbiAgICB0aGlzLnNlcnZpY2Uuc2VuZE1lc3NhZ2UoY21kKTtcbiAgfVxuXG4gIGFzeW5jIHJlY2VpdmUgKGRhdGEpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5tZXNzYWdlSGFuZGxlci5oYW5kbGVNZXNzYWdlKGRhdGEpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUdlLE1BQU1HLG1CQUFtQixTQUFTQyxrQkFBUyxDQUFDO0VBQ3pEQyxXQUFXQSxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEIsS0FBSyxDQUFDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQztNQUNsQkMsb0JBQW9CLEVBQUU7SUFDeEIsQ0FBQyxFQUFFSCxJQUFJLENBQUMsQ0FBQztJQUVULE1BQU07TUFDSkk7SUFDRixDQUFDLEdBQUdKLElBQUk7SUFFUixJQUFJLENBQUNJLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBLE1BQU1DLE9BQU9BLENBQUEsRUFBSTtJQUNmLElBQUksQ0FBQ0MsT0FBTyxHQUFHLE1BQU1DLHlCQUFRLENBQUNDLHdCQUF3QixDQUFDLElBQUksQ0FBQ0osSUFBSSxFQUFFO01BQ2hFSyxTQUFTLEVBQUUsSUFBSSxDQUFDQyxlQUFlO01BQy9CQyxXQUFXLEVBQUUsS0FBSztNQUNsQkMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsbUJBQW1CO01BQ2pDQyxjQUFjLEVBQUUsSUFBSSxDQUFDQywwQkFBMEI7TUFDL0NDLGVBQWUsRUFBRSxJQUFJLENBQUNBLGVBQWU7TUFDckNDLGNBQWMsRUFBRSxJQUFJLENBQUNDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ1osT0FBTyxDQUFDYSxhQUFhLENBQUMsSUFBSSxDQUFDQyxPQUFPLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUNDLFdBQVcsR0FBRyxJQUFJO0VBQ3pCO0VBRUEsTUFBTUMsVUFBVUEsQ0FBQSxFQUFJO0lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUNELFdBQVcsRUFBRTtNQUNyQjtJQUNGO0lBRUFFLGVBQUcsQ0FBQ0MsS0FBSyxDQUFDLG9DQUFvQyxDQUFDO0lBQy9DLE1BQU0sS0FBSyxDQUFDRixVQUFVLENBQUMsQ0FBQztJQUN4QixJQUFJLENBQUNqQixPQUFPLENBQUNvQixLQUFLLENBQUMsQ0FBQztJQUNwQixJQUFJLENBQUNKLFdBQVcsR0FBRyxLQUFLO0VBQzFCO0VBRUEsTUFBTUssV0FBV0EsQ0FBRUMsR0FBRyxFQUFFO0lBQ3RCLElBQUksQ0FBQ3RCLE9BQU8sQ0FBQ3FCLFdBQVcsQ0FBQ0MsR0FBRyxDQUFDO0VBQy9CO0VBRUEsTUFBTVIsT0FBT0EsQ0FBRVMsSUFBSSxFQUFFO0lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUNQLFdBQVcsRUFBRTtNQUNyQjtJQUNGO0lBQ0EsTUFBTSxJQUFJLENBQUNRLGNBQWMsQ0FBQ0MsYUFBYSxDQUFDRixJQUFJLENBQUM7RUFDL0M7QUFDRjtBQUFDRyxPQUFBLENBQUFDLE9BQUEsR0FBQXBDLG1CQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client-real-device.js","names":["_logger","_interopRequireDefault","require","_rpcClient","_appiumIosDevice","RpcClientRealDevice","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","udid","connect","service","services","startWebInspectorService","osVersion","platformVersion","isSimulator","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","socketChunkSize","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","isConnected","disconnect","log","debug","close","sendMessage","cmd","data","messageHandler","handleMessage","exports","default"],"sources":["../../../lib/rpc/rpc-client-real-device.js"],"sourcesContent":["import log from '../logger';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientRealDevice extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n udid,\n } = opts;\n\n this.udid = udid;\n }\n\n async connect () {\n this.service = await services.startWebInspectorService(this.udid, {\n osVersion: this.platformVersion,\n isSimulator: false,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n socketChunkSize: this.socketChunkSize,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n\n this.service.listenMessage(this.receive.bind(this));\n this.isConnected = true;\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) { // eslint-disable-line require-await\n this.service.sendMessage(cmd);\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAGe,MAAMG,mBAAmB,SAASC,kBAAS,CAAC;EACzDC,WAAWA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;IACtB,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC;MAClBC,oBAAoB,EAAE;IACxB,CAAC,EAAEH,IAAI,CAAC,CAAC;IAET,MAAM;MACJI;IACF,CAAC,GAAGJ,IAAI;IAER,IAAI,CAACI,IAAI,GAAGA,IAAI;EAClB;EAEA,MAAMC,OAAOA,CAAA,EAAI;IACf,IAAI,CAACC,OAAO,GAAG,MAAMC,yBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACJ,IAAI,EAAE;MAChEK,SAAS,EAAE,IAAI,CAACC,eAAe;MAC/BC,WAAW,EAAE,KAAK;MAClBC,OAAO,EAAE,IAAI,CAACC,mBAAmB;MACjCC,cAAc,EAAE,IAAI,CAACC,0BAA0B;MAC/CC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,cAAc,EAAE,IAAI,CAACC;IACvB,CAAC,CAAC;IAEF,IAAI,CAACZ,OAAO,CAACa,aAAa,CAAC,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACC,WAAW,GAAG,IAAI;EACzB;EAEA,MAAMC,UAAUA,CAAA,EAAI;IAClB,IAAI,CAAC,IAAI,CAACD,WAAW,EAAE;MACrB;IACF;IAEAE,eAAG,CAACC,KAAK,CAAC,oCAAoC,CAAC;IAC/C,MAAM,KAAK,CAACF,UAAU,EAAE;IACxB,IAAI,CAACjB,OAAO,CAACoB,KAAK,EAAE;IACpB,IAAI,CAACJ,WAAW,GAAG,KAAK;EAC1B;EAEA,MAAMK,WAAWA,CAAEC,GAAG,EAAE;IACtB,IAAI,CAACtB,OAAO,CAACqB,WAAW,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMR,OAAOA,CAAES,IAAI,EAAE;IACnB,IAAI,CAAC,IAAI,CAACP,WAAW,EAAE;MACrB;IACF;IACA,MAAM,IAAI,CAACQ,cAAc,CAACC,aAAa,CAACF,IAAI,CAAC;EAC/C;AACF;AAACG,OAAA,CAAAC,OAAA,GAAApC,mBAAA"}
1
+ {"version":3,"file":"rpc-client-real-device.js","names":["_logger","_interopRequireDefault","require","_rpcClient","_appiumIosDevice","RpcClientRealDevice","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","udid","connect","service","services","startWebInspectorService","osVersion","platformVersion","isSimulator","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","socketChunkSize","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","isConnected","disconnect","log","debug","close","sendMessage","cmd","data","messageHandler","handleMessage","exports","default"],"sources":["../../../lib/rpc/rpc-client-real-device.js"],"sourcesContent":["import log from '../logger';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientRealDevice extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n udid,\n } = opts;\n\n this.udid = udid;\n }\n\n async connect () {\n this.service = await services.startWebInspectorService(this.udid, {\n osVersion: this.platformVersion,\n isSimulator: false,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n socketChunkSize: this.socketChunkSize,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n\n this.service.listenMessage(this.receive.bind(this));\n this.isConnected = true;\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) { // eslint-disable-line require-await\n this.service.sendMessage(cmd);\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAGe,MAAMG,mBAAmB,SAASC,kBAAS,CAAC;EACzDC,WAAWA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;IACtB,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC;MAClBC,oBAAoB,EAAE;IACxB,CAAC,EAAEH,IAAI,CAAC,CAAC;IAET,MAAM;MACJI;IACF,CAAC,GAAGJ,IAAI;IAER,IAAI,CAACI,IAAI,GAAGA,IAAI;EAClB;EAEA,MAAMC,OAAOA,CAAA,EAAI;IACf,IAAI,CAACC,OAAO,GAAG,MAAMC,yBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACJ,IAAI,EAAE;MAChEK,SAAS,EAAE,IAAI,CAACC,eAAe;MAC/BC,WAAW,EAAE,KAAK;MAClBC,OAAO,EAAE,IAAI,CAACC,mBAAmB;MACjCC,cAAc,EAAE,IAAI,CAACC,0BAA0B;MAC/CC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,cAAc,EAAE,IAAI,CAACC;IACvB,CAAC,CAAC;IAEF,IAAI,CAACZ,OAAO,CAACa,aAAa,CAAC,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACC,WAAW,GAAG,IAAI;EACzB;EAEA,MAAMC,UAAUA,CAAA,EAAI;IAClB,IAAI,CAAC,IAAI,CAACD,WAAW,EAAE;MACrB;IACF;IAEAE,eAAG,CAACC,KAAK,CAAC,oCAAoC,CAAC;IAC/C,MAAM,KAAK,CAACF,UAAU,CAAC,CAAC;IACxB,IAAI,CAACjB,OAAO,CAACoB,KAAK,CAAC,CAAC;IACpB,IAAI,CAACJ,WAAW,GAAG,KAAK;EAC1B;EAEA,MAAMK,WAAWA,CAAEC,GAAG,EAAE;IACtB,IAAI,CAACtB,OAAO,CAACqB,WAAW,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMR,OAAOA,CAAES,IAAI,EAAE;IACnB,IAAI,CAAC,IAAI,CAACP,WAAW,EAAE;MACrB;IACF;IACA,MAAM,IAAI,CAACQ,cAAc,CAACC,aAAa,CAACF,IAAI,CAAC;EAC/C;AACF;AAACG,OAAA,CAAAC,OAAA,GAAApC,mBAAA"}