israeli-bank-scrapers 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -83,11 +83,12 @@ function extractTransactionsFromPage(transactions, status) {
83
83
  }
84
84
 
85
85
  const result = transactions.map(rawTransaction => {
86
+ const date = (0, _moment.default)(rawTransaction.DateUTC).milliseconds(0).toISOString();
86
87
  const newTransaction = {
87
88
  status,
88
89
  type: _transactions.TransactionTypes.Normal,
89
- date: rawTransaction.DateUTC,
90
- processedDate: rawTransaction.DateUTC,
90
+ date,
91
+ processedDate: date,
91
92
  description: rawTransaction.Description || '',
92
93
  identifier: rawTransaction.ReferenceNumberLong,
93
94
  memo: rawTransaction.AdditionalData || '',
@@ -205,10 +206,11 @@ class LeumiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
205
206
  }
206
207
 
207
208
  async fetchData() {
209
+ const minimumStartMoment = (0, _moment.default)().subtract(3, 'years').add(1, 'day');
208
210
  const defaultStartMoment = (0, _moment.default)().subtract(1, 'years').add(1, 'day');
209
211
  const startDate = this.options.startDate || defaultStartMoment.toDate();
210
212
 
211
- const startMoment = _moment.default.max(defaultStartMoment, (0, _moment.default)(startDate));
213
+ const startMoment = _moment.default.max(minimumStartMoment, (0, _moment.default)(startDate));
212
214
 
213
215
  await this.navigateTo(TRANSACTIONS_URL);
214
216
  const accounts = await fetchTransactions(this.page, startMoment);
@@ -222,4 +224,4 @@ class LeumiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
222
224
 
223
225
  var _default = LeumiScraper;
224
226
  exports.default = _default;
225
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9sZXVtaS50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkxPR0lOX1VSTCIsIlRSQU5TQUNUSU9OU19VUkwiLCJGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMIiwiREFURV9GT1JNQVQiLCJBQ0NPVU5UX0JMT0NLRURfTVNHIiwiSU5WQUxJRF9QQVNTV09SRF9NU0ciLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwib3B0aW9ucyIsInBhZ2UiLCJFcnJvciIsImVycm9yTWVzc2FnZSIsImVsZW1lbnQiLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lclRleHQiLCJzdGFydHNXaXRoIiwiQWNjb3VudEJsb2NrZWQiLCJsYWJlbCIsIkNoYW5nZVBhc3N3b3JkIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlIiwidHJhbnNhY3Rpb25zIiwic3RhdHVzIiwibGVuZ3RoIiwicmVzdWx0IiwibWFwIiwicmF3VHJhbnNhY3Rpb24iLCJuZXdUcmFuc2FjdGlvbiIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiZGF0ZSIsIkRhdGVVVEMiLCJwcm9jZXNzZWREYXRlIiwiZGVzY3JpcHRpb24iLCJEZXNjcmlwdGlvbiIsImlkZW50aWZpZXIiLCJSZWZlcmVuY2VOdW1iZXJMb25nIiwibWVtbyIsIkFkZGl0aW9uYWxEYXRhIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJBbW91bnQiLCJvcmlnaW5hbEFtb3VudCIsImhhbmdQcm9jZXNzIiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsImNsaWNrQnlYUGF0aCIsInhwYXRoIiwid2FpdEZvclhQYXRoIiwidmlzaWJsZSIsImVsbSIsIiR4IiwiY2xpY2siLCJyZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyIsInN0ciIsInJlcGxhY2UiLCJmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQiLCJzdGFydERhdGUiLCJhY2NvdW50SWQiLCJmb3JtYXQiLCJmb2N1cyIsImZpbmFsUmVzcG9uc2UiLCJ3YWl0Rm9yUmVzcG9uc2UiLCJyZXNwb25zZSIsInVybCIsInJlcXVlc3QiLCJtZXRob2QiLCJyZXNwb25zZUpzb24iLCJqc29uIiwiYWNjb3VudE51bWJlciIsIkpTT04iLCJwYXJzZSIsImpzb25SZXNwIiwicGVuZGluZ1RyYW5zYWN0aW9ucyIsIlRvZGF5VHJhbnNhY3Rpb25zSXRlbXMiLCJIaXN0b3J5VHJhbnNhY3Rpb25zSXRlbXMiLCJiYWxhbmNlIiwiQmFsYW5jZURpc3BsYXkiLCJwYXJzZUZsb2F0IiwidW5kZWZpbmVkIiwicGVuZGluZ1R4bnMiLCJUcmFuc2FjdGlvblN0YXR1c2VzIiwiUGVuZGluZyIsImNvbXBsZXRlZFR4bnMiLCJDb21wbGV0ZWQiLCJ0eG5zIiwiZmV0Y2hUcmFuc2FjdGlvbnMiLCJhY2NvdW50cyIsImFjY291bnRzSWRzIiwiZXZhbHVhdGUiLCJBcnJheSIsImZyb20iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJlIiwidGV4dENvbnRlbnQiLCJwdXNoIiwibmF2aWdhdGVUb0xvZ2luIiwibG9naW5CdXR0b25TZWxlY3RvciIsIndhaXRVbnRpbCIsImFsbCIsIndhaXRGb3JQb3N0TG9naW4iLCJyYWNlIiwiTGV1bWlTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImxvZ2luVXJsIiwiZmllbGRzIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJjaGVja1JlYWRpbmVzcyIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJzdWJ0cmFjdCIsImFkZCIsInRvRGF0ZSIsInN0YXJ0TW9tZW50IiwibW9tZW50IiwibWF4IiwibmF2aWdhdGVUbyIsInN1Y2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFNQTs7QUFDQTs7QUFJQTs7OztBQUVBLE1BQU1BLFFBQVEsR0FBRyw2QkFBakI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsMEJBQWxCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUksR0FBRUYsUUFBUywwREFBckM7QUFDQSxNQUFNRyx5QkFBeUIsR0FBSSxHQUFFSCxRQUFTLGlGQUE5QztBQUVBLE1BQU1JLFdBQVcsR0FBRyxVQUFwQjtBQUNBLE1BQU1DLG1CQUFtQixHQUFHLFlBQTVCO0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsd0RBQTdCOztBQUdBLFNBQVNDLHVCQUFULEdBQW1DO0FBQ2pDLFFBQU1DLElBQXFDLEdBQUc7QUFDNUMsS0FBQ0MscUNBQWFDLE9BQWQsR0FBd0IsQ0FBQyx5QkFBRCxDQURvQjtBQUU1QyxLQUFDRCxxQ0FBYUUsZUFBZCxHQUFnQyxDQUM5QixNQUFPQyxPQUFQLElBQW1CO0FBQ2pCLFVBQUksQ0FBQ0EsT0FBRCxJQUFZLENBQUNBLE9BQU8sQ0FBQ0MsSUFBekIsRUFBK0I7QUFDN0IsY0FBTSxJQUFJQyxLQUFKLENBQVUsK0JBQVYsQ0FBTjtBQUNEOztBQUNELFlBQU1DLFlBQVksR0FBRyxNQUFNLHVDQUFZSCxPQUFPLENBQUNDLElBQXBCLEVBQTBCLFlBQTFCLEVBQXdDLEVBQXhDLEVBQTZDRyxPQUFELElBQWE7QUFBQTs7QUFDbEYsb0NBQVFBLE9BQU8sQ0FBQyxDQUFELENBQWYsdUVBQVEsVUFBWUMsYUFBcEIsMERBQVEsc0JBQTJCQyxRQUEzQixDQUFvQyxDQUFwQyxDQUFSLHlDQUFPLEtBQTREQyxTQUFuRTtBQUNELE9BRjBCLENBQTNCO0FBSUEsYUFBT0osWUFBUCxhQUFPQSxZQUFQLHVCQUFPQSxZQUFZLENBQUVLLFVBQWQsQ0FBeUJkLG9CQUF6QixDQUFQO0FBQ0QsS0FWNkIsQ0FGWTtBQWM1QyxLQUFDRyxxQ0FBYVksY0FBZCxHQUErQixDQUFFO0FBQy9CLFVBQU9ULE9BQVAsSUFBbUI7QUFDakIsVUFBSSxDQUFDQSxPQUFELElBQVksQ0FBQ0EsT0FBTyxDQUFDQyxJQUF6QixFQUErQjtBQUM3QixjQUFNLElBQUlDLEtBQUosQ0FBVSwrQkFBVixDQUFOO0FBQ0Q7O0FBQ0QsWUFBTUMsWUFBWSxHQUFHLE1BQU0sdUNBQVlILE9BQU8sQ0FBQ0MsSUFBcEIsRUFBMEIsWUFBMUIsRUFBd0MsRUFBeEMsRUFBNkNTLEtBQUQsSUFBVztBQUFBOztBQUNoRix3QkFBUUEsS0FBSyxDQUFDLENBQUQsQ0FBYiwwQ0FBTyxNQUEyQkgsU0FBbEM7QUFDRCxPQUYwQixDQUEzQjtBQUlBLGFBQU9KLFlBQVAsYUFBT0EsWUFBUCx1QkFBT0EsWUFBWSxDQUFFSyxVQUFkLENBQXlCZixtQkFBekIsQ0FBUDtBQUNELEtBVjRCLENBZGE7QUEwQjVDLEtBQUNJLHFDQUFhYyxjQUFkLEdBQStCLENBQUMsMENBQUQsQ0ExQmEsQ0EwQmlDOztBQTFCakMsR0FBOUM7QUE0QkEsU0FBT2YsSUFBUDtBQUNEOztBQUVELFNBQVNnQixpQkFBVCxDQUEyQkMsV0FBM0IsRUFBNEQ7QUFDMUQsU0FBTyxDQUNMO0FBQUVDLElBQUFBLFFBQVEsRUFBRSwrQkFBWjtBQUE2Q0MsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNHO0FBQWhFLEdBREssRUFFTDtBQUFFRixJQUFBQSxRQUFRLEVBQUUsNEJBQVo7QUFBMENDLElBQUFBLEtBQUssRUFBRUYsV0FBVyxDQUFDSTtBQUE3RCxHQUZLLENBQVA7QUFJRDs7QUFFRCxTQUFTQywyQkFBVCxDQUFxQ0MsWUFBckMsRUFBMERDLE1BQTFELEVBQXNHO0FBQ3BHLE1BQUlELFlBQVksS0FBSyxJQUFqQixJQUF5QkEsWUFBWSxDQUFDRSxNQUFiLEtBQXdCLENBQXJELEVBQXdEO0FBQ3RELFdBQU8sRUFBUDtBQUNEOztBQUVELFFBQU1DLE1BQXFCLEdBQUdILFlBQVksQ0FBQ0ksR0FBYixDQUFrQkMsY0FBRCxJQUFvQjtBQUNqRSxVQUFNQyxjQUEyQixHQUFHO0FBQ2xDTCxNQUFBQSxNQURrQztBQUVsQ00sTUFBQUEsSUFBSSxFQUFFQywrQkFBaUJDLE1BRlc7QUFHbENDLE1BQUFBLElBQUksRUFBRUwsY0FBYyxDQUFDTSxPQUhhO0FBSWxDQyxNQUFBQSxhQUFhLEVBQUVQLGNBQWMsQ0FBQ00sT0FKSTtBQUtsQ0UsTUFBQUEsV0FBVyxFQUFFUixjQUFjLENBQUNTLFdBQWYsSUFBOEIsRUFMVDtBQU1sQ0MsTUFBQUEsVUFBVSxFQUFFVixjQUFjLENBQUNXLG1CQU5PO0FBT2xDQyxNQUFBQSxJQUFJLEVBQUVaLGNBQWMsQ0FBQ2EsY0FBZixJQUFpQyxFQVBMO0FBUWxDQyxNQUFBQSxnQkFBZ0IsRUFBRUMsMEJBUmdCO0FBU2xDQyxNQUFBQSxhQUFhLEVBQUVoQixjQUFjLENBQUNpQixNQVRJO0FBVWxDQyxNQUFBQSxjQUFjLEVBQUVsQixjQUFjLENBQUNpQjtBQVZHLEtBQXBDO0FBYUEsV0FBT2hCLGNBQVA7QUFDRCxHQWY2QixDQUE5QjtBQWlCQSxTQUFPSCxNQUFQO0FBQ0Q7O0FBRUQsU0FBU3FCLFdBQVQsQ0FBcUJDLE9BQXJCLEVBQXNDO0FBQ3BDLFNBQU8sSUFBSUMsT0FBSixDQUFtQkMsT0FBRCxJQUFhO0FBQ3BDQyxJQUFBQSxVQUFVLENBQUMsTUFBTTtBQUNmRCxNQUFBQSxPQUFPO0FBQ1IsS0FGUyxFQUVQRixPQUZPLENBQVY7QUFHRCxHQUpNLENBQVA7QUFLRDs7QUFFRCxlQUFlSSxZQUFmLENBQTRCL0MsSUFBNUIsRUFBd0NnRCxLQUF4QyxFQUFzRTtBQUNwRSxRQUFNaEQsSUFBSSxDQUFDaUQsWUFBTCxDQUFrQkQsS0FBbEIsRUFBeUI7QUFBRUwsSUFBQUEsT0FBTyxFQUFFLEtBQVg7QUFBa0JPLElBQUFBLE9BQU8sRUFBRTtBQUEzQixHQUF6QixDQUFOO0FBQ0EsUUFBTUMsR0FBRyxHQUFHLE1BQU1uRCxJQUFJLENBQUNvRCxFQUFMLENBQVFKLEtBQVIsQ0FBbEI7QUFDQSxRQUFNRyxHQUFHLENBQUMsQ0FBRCxDQUFILENBQU9FLEtBQVAsRUFBTjtBQUNEOztBQUVELFNBQVNDLHVCQUFULENBQWlDQyxHQUFqQyxFQUFzRDtBQUNwRCxTQUFPQSxHQUFHLENBQUNDLE9BQUosQ0FBWSxXQUFaLEVBQXlCLEVBQXpCLENBQVA7QUFDRDs7QUFFRCxlQUFlQywyQkFBZixDQUEyQ3pELElBQTNDLEVBQXVEMEQsU0FBdkQsRUFBMEVDLFNBQTFFLEVBQTJIO0FBQ3pIO0FBQ0E7QUFDQSxRQUFNakIsV0FBVyxDQUFDLElBQUQsQ0FBakI7QUFFQSxRQUFNLGlEQUFzQjFDLElBQXRCLEVBQTRCLDZCQUE1QixFQUEyRCxJQUEzRCxDQUFOO0FBQ0EsUUFBTSx1Q0FBWUEsSUFBWixFQUFrQiw2QkFBbEIsQ0FBTjtBQUNBLFFBQU0saURBQXNCQSxJQUF0QixFQUE0QixrQkFBNUIsRUFBZ0QsSUFBaEQsQ0FBTjtBQUNBLFFBQU0sdUNBQVlBLElBQVosRUFBa0IsaUNBQWxCLENBQU47QUFFQSxRQUFNLGlEQUFzQkEsSUFBdEIsRUFBNEIsdUNBQTVCLEVBQXFFLElBQXJFLENBQU47QUFFQSxRQUFNLHFDQUNKQSxJQURJLEVBRUosdUNBRkksRUFHSjBELFNBQVMsQ0FBQ0UsTUFBVixDQUFpQnJFLFdBQWpCLENBSEksQ0FBTixDQVp5SCxDQWtCekg7O0FBQ0EsUUFBTVMsSUFBSSxDQUFDNkQsS0FBTCxDQUFXLDBCQUFYLENBQU47QUFFQSxRQUFNLHVDQUFZN0QsSUFBWixFQUFrQiwwQkFBbEIsQ0FBTjtBQUNBLFFBQU04RCxhQUFhLEdBQUcsTUFBTTlELElBQUksQ0FBQytELGVBQUwsQ0FBc0JDLFFBQUQsSUFBYztBQUM3RCxXQUFPQSxRQUFRLENBQUNDLEdBQVQsT0FBbUIzRSx5QkFBbkIsSUFDTDBFLFFBQVEsQ0FBQ0UsT0FBVCxHQUFtQkMsTUFBbkIsT0FBZ0MsTUFEbEM7QUFFRCxHQUgyQixDQUE1QjtBQUtBLFFBQU1DLFlBQWlCLEdBQUcsTUFBTU4sYUFBYSxDQUFDTyxJQUFkLEVBQWhDO0FBRUEsUUFBTUMsYUFBYSxHQUFHWCxTQUFTLENBQUNILE9BQVYsQ0FBa0IsR0FBbEIsRUFBdUIsR0FBdkIsRUFBNEJBLE9BQTVCLENBQW9DLFVBQXBDLEVBQWdELEVBQWhELENBQXRCO0FBRUEsUUFBTVEsUUFBUSxHQUFHTyxJQUFJLENBQUNDLEtBQUwsQ0FBV0osWUFBWSxDQUFDSyxRQUF4QixDQUFqQjtBQUVBLFFBQU1DLG1CQUFtQixHQUFHVixRQUFRLENBQUNXLHNCQUFyQztBQUNBLFFBQU16RCxZQUFZLEdBQUc4QyxRQUFRLENBQUNZLHdCQUE5QjtBQUNBLFFBQU1DLE9BQU8sR0FBR2IsUUFBUSxDQUFDYyxjQUFULEdBQTBCQyxVQUFVLENBQUNmLFFBQVEsQ0FBQ2MsY0FBVixDQUFwQyxHQUFnRUUsU0FBaEY7QUFFQSxRQUFNQyxXQUFXLEdBQUdoRSwyQkFBMkIsQ0FBQ3lELG1CQUFELEVBQXNCUSxrQ0FBb0JDLE9BQTFDLENBQS9DO0FBQ0EsUUFBTUMsYUFBYSxHQUFHbkUsMkJBQTJCLENBQUNDLFlBQUQsRUFBZWdFLGtDQUFvQkcsU0FBbkMsQ0FBakQ7QUFDQSxRQUFNQyxJQUFJLEdBQUcsQ0FDWCxHQUFHTCxXQURRLEVBRVgsR0FBR0csYUFGUSxDQUFiO0FBS0EsU0FBTztBQUNMZCxJQUFBQSxhQURLO0FBRUxPLElBQUFBLE9BRks7QUFHTFMsSUFBQUE7QUFISyxHQUFQO0FBS0Q7O0FBRUQsZUFBZUMsaUJBQWYsQ0FBaUN2RixJQUFqQyxFQUE2QzBELFNBQTdDLEVBQWdHO0FBQzlGLFFBQU04QixRQUErQixHQUFHLEVBQXhDLENBRDhGLENBRzlGO0FBQ0E7O0FBQ0EsUUFBTTlDLFdBQVcsQ0FBQyxJQUFELENBQWpCO0FBRUEsUUFBTStDLFdBQVcsR0FBRyxNQUFNekYsSUFBSSxDQUFDMEYsUUFBTCxDQUFjLE1BQU1DLEtBQUssQ0FBQ0MsSUFBTixDQUFXQyxRQUFRLENBQUNDLGdCQUFULENBQTBCLGdEQUExQixDQUFYLEVBQXlGQyxDQUFELElBQU9BLENBQUMsQ0FBQ0MsV0FBakcsQ0FBcEIsQ0FBMUIsQ0FQOEYsQ0FTOUY7O0FBRUEsTUFBSSxDQUFDUCxXQUFXLENBQUNyRSxNQUFqQixFQUF5QjtBQUN2QixVQUFNLElBQUluQixLQUFKLENBQVUsK0NBQVYsQ0FBTjtBQUNEOztBQUVELE9BQUssTUFBTTBELFNBQVgsSUFBd0I4QixXQUF4QixFQUFxQztBQUNuQyxRQUFJQSxXQUFXLENBQUNyRSxNQUFaLEdBQXFCLENBQXpCLEVBQTRCO0FBQzFCO0FBQ0EsWUFBTTJCLFlBQVksQ0FBQy9DLElBQUQsRUFBTyxxRUFBUCxDQUFsQjtBQUNBLFlBQU0rQyxZQUFZLENBQUMvQyxJQUFELEVBQVEsNEJBQTJCMkQsU0FBVSxLQUE3QyxDQUFsQjtBQUNEOztBQUVENkIsSUFBQUEsUUFBUSxDQUFDUyxJQUFULEVBQWMsTUFBTXhDLDJCQUEyQixDQUFDekQsSUFBRCxFQUFPMEQsU0FBUCxFQUFrQkosdUJBQXVCLENBQUNLLFNBQUQsQ0FBekMsQ0FBL0M7QUFDRDs7QUFFRCxTQUFPNkIsUUFBUDtBQUNEOztBQUdELGVBQWVVLGVBQWYsQ0FBK0JsRyxJQUEvQixFQUEwRDtBQUN4RCxRQUFNbUcsbUJBQW1CLEdBQUcsdUJBQTVCO0FBQ0EsUUFBTSxpREFBc0JuRyxJQUF0QixFQUE0Qm1HLG1CQUE1QixDQUFOO0FBQ0EsUUFBTSx1Q0FBWW5HLElBQVosRUFBa0JtRyxtQkFBbEIsQ0FBTjtBQUNBLFFBQU0sbUNBQWtCbkcsSUFBbEIsRUFBd0I7QUFBRW9HLElBQUFBLFNBQVMsRUFBRTtBQUFiLEdBQXhCLENBQU47QUFDQSxRQUFNeEQsT0FBTyxDQUFDeUQsR0FBUixDQUFZLENBQ2hCLGlEQUFzQnJHLElBQXRCLEVBQTRCLCtCQUE1QixFQUE2RCxJQUE3RCxDQURnQixFQUVoQixpREFBc0JBLElBQXRCLEVBQTRCLDRCQUE1QixFQUEwRCxJQUExRCxDQUZnQixFQUdoQixpREFBc0JBLElBQXRCLEVBQTRCLHVCQUE1QixFQUFxRCxJQUFyRCxDQUhnQixDQUFaLENBQU47QUFLRDs7QUFFRCxlQUFlc0csZ0JBQWYsQ0FBZ0N0RyxJQUFoQyxFQUEyRDtBQUN6RCxRQUFNNEMsT0FBTyxDQUFDMkQsSUFBUixDQUFhLENBQ2pCLGlEQUFzQnZHLElBQXRCLEVBQTRCLHVCQUE1QixFQUFxRCxJQUFyRCxFQUEyRCxLQUEzRCxDQURpQixFQUVqQixpREFBc0JBLElBQXRCLEVBQTRCLHFCQUE1QixFQUFtRCxJQUFuRCxFQUF5RCxLQUF6RCxDQUZpQixFQUdqQkEsSUFBSSxDQUFDaUQsWUFBTCxDQUFtQiw0QkFBMkJ4RCxvQkFBcUIsS0FBbkUsQ0FIaUIsRUFJakIsaURBQXNCTyxJQUF0QixFQUE0QixnQ0FBNUIsRUFBOEQsSUFBOUQsRUFBb0UsS0FBcEUsQ0FKaUIsQ0FJMkQ7QUFKM0QsR0FBYixDQUFOO0FBTUQ7O0FBRUQsTUFBTXdHLFlBQU4sU0FBMkJDLDhDQUEzQixDQUFrRDtBQUNoREMsRUFBQUEsZUFBZSxDQUFDOUYsV0FBRCxFQUFzQztBQUNuRCxXQUFPO0FBQ0wrRixNQUFBQSxRQUFRLEVBQUV2SCxTQURMO0FBRUx3SCxNQUFBQSxNQUFNLEVBQUVqRyxpQkFBaUIsQ0FBQ0MsV0FBRCxDQUZwQjtBQUdMaUcsTUFBQUEsb0JBQW9CLEVBQUUsdUJBSGpCO0FBSUxDLE1BQUFBLGNBQWMsRUFBRSxZQUFZWixlQUFlLENBQUMsS0FBS2xHLElBQU4sQ0FKdEM7QUFLTCtHLE1BQUFBLFVBQVUsRUFBRSxZQUFZVCxnQkFBZ0IsQ0FBQyxLQUFLdEcsSUFBTixDQUxuQztBQU1MZ0gsTUFBQUEsZUFBZSxFQUFFdEgsdUJBQXVCO0FBTm5DLEtBQVA7QUFRRDs7QUFFRCxRQUFNdUgsU0FBTixHQUFpRDtBQUMvQyxVQUFNQyxrQkFBa0IsR0FBRyx1QkFBU0MsUUFBVCxDQUFrQixDQUFsQixFQUFxQixPQUFyQixFQUE4QkMsR0FBOUIsQ0FBa0MsQ0FBbEMsRUFBcUMsS0FBckMsQ0FBM0I7QUFDQSxVQUFNMUQsU0FBUyxHQUFHLEtBQUszRCxPQUFMLENBQWEyRCxTQUFiLElBQTBCd0Qsa0JBQWtCLENBQUNHLE1BQW5CLEVBQTVDOztBQUNBLFVBQU1DLFdBQVcsR0FBR0MsZ0JBQU9DLEdBQVAsQ0FBV04sa0JBQVgsRUFBK0IscUJBQU94RCxTQUFQLENBQS9CLENBQXBCOztBQUVBLFVBQU0sS0FBSytELFVBQUwsQ0FBZ0JwSSxnQkFBaEIsQ0FBTjtBQUVBLFVBQU1tRyxRQUFRLEdBQUcsTUFBTUQsaUJBQWlCLENBQUMsS0FBS3ZGLElBQU4sRUFBWXNILFdBQVosQ0FBeEM7QUFFQSxXQUFPO0FBQ0xJLE1BQUFBLE9BQU8sRUFBRSxJQURKO0FBRUxsQyxNQUFBQTtBQUZLLEtBQVA7QUFJRDs7QUF6QitDOztlQTRCbkNnQixZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBCYXNlU2NyYXBlcldpdGhCcm93c2VyLCBMb2dpblJlc3VsdHMsIExvZ2luT3B0aW9ucyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQge1xuICBmaWxsSW5wdXQsXG4gIGNsaWNrQnV0dG9uLFxuICB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG4gIHBhZ2VFdmFsQWxsLFxufSBmcm9tICcuLi9oZWxwZXJzL2VsZW1lbnRzLWludGVyYWN0aW9ucyc7XG5pbXBvcnQgeyBTSEVLRUxfQ1VSUkVOQ1kgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb25zQWNjb3VudCwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY2FwZXJTY3JhcGluZ1Jlc3VsdCwgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgd2FpdEZvck5hdmlnYXRpb24gfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL2hiMi5iYW5rbGV1bWkuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vd3d3LmxldW1pLmNvLmlsLyc7XG5jb25zdCBUUkFOU0FDVElPTlNfVVJMID0gYCR7QkFTRV9VUkx9L2VCYW5raW5nL1NPL1NQQS5hc3B4Iy90cy9CdXNpbmVzc0FjY291bnRUcng/V2lkZ2V0UGFyPTFgO1xuY29uc3QgRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCA9IGAke0JBU0VfVVJMfS9DaGFubmVsV0NGL0Jyb2tlci5zdmMvUHJvY2Vzc1JlcXVlc3Q/bW9kdWxlTmFtZT1VQ19TT18yN19HZXRCdXNpbmVzc0FjY291bnRUcnhgO1xuXG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC5NTS5ZWSc7XG5jb25zdCBBQ0NPVU5UX0JMT0NLRURfTVNHID0gJ9eU157XoNeV15kg15fXodeV150nO1xuY29uc3QgSU5WQUxJRF9QQVNTV09SRF9NU0cgPSAn15DXl9eTINeQ15Ug15nXldeq16gg157XpNeo15jXmSDXlNeU15bXk9eU15XXqiDXqdee16HXqNeqINep15LXldeZ15nXnS4g16DXmdeq158g15zXoNeh15XXqiDXqdeV15EnO1xuXG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCkge1xuICBjb25zdCB1cmxzOiBMb2dpbk9wdGlvbnNbJ3Bvc3NpYmxlUmVzdWx0cyddID0ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFsvZWJhbmtpbmdcXC9TT1xcL1NQQS5hc3B4L2ldLFxuICAgIFtMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXTogW1xuICAgICAgYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLnBhZ2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcGFnZSBvcHRpb25zIGFyZ3VtZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgcGFnZUV2YWxBbGwob3B0aW9ucy5wYWdlLCAnc3ZnI0NhcGFfMScsICcnLCAoZWxlbWVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiAoZWxlbWVudFswXT8ucGFyZW50RWxlbWVudD8uY2hpbGRyZW5bMV0gYXMgSFRNTERpdkVsZW1lbnQpPy5pbm5lclRleHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U/LnN0YXJ0c1dpdGgoSU5WQUxJRF9QQVNTV09SRF9NU0cpO1xuICAgICAgfSxcbiAgICBdLFxuICAgIFtMb2dpblJlc3VsdHMuQWNjb3VudEJsb2NrZWRdOiBbIC8vIE5PVElDRSAtIG1pZ2h0IG5vdCBiZSByZWxldmFudCBzdGFydGluZyB0aGUgTGV1bWkgcmUtZGVzaWduIGR1cmluZyAyMDIyIFNlcFxuICAgICAgYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLnBhZ2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcGFnZSBvcHRpb25zIGFyZ3VtZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgcGFnZUV2YWxBbGwob3B0aW9ucy5wYWdlLCAnLmVyckhlYWRlcicsICcnLCAobGFiZWwpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGxhYmVsWzBdIGFzIEhUTUxFbGVtZW50KT8uaW5uZXJUZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlPy5zdGFydHNXaXRoKEFDQ09VTlRfQkxPQ0tFRF9NU0cpO1xuICAgICAgfSxcbiAgICBdLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbJ2h0dHBzOi8vaGIyLmJhbmtsZXVtaS5jby5pbC9hdXRoZW50aWNhdGUnXSwgLy8gTk9USUNFIC0gbWlnaHQgbm90IGJlIHJlbGV2YW50IHN0YXJ0aW5nIHRoZSBMZXVtaSByZS1kZXNpZ24gZHVyaW5nIDIwMjIgU2VwXG4gIH07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlckNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16nXnSDXntep16rXntepXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16HXmdeh157XlFwiXScsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zOiBhbnlbXSwgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzKTogVHJhbnNhY3Rpb25bXSB7XG4gIGlmICh0cmFuc2FjdGlvbnMgPT09IG51bGwgfHwgdHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHJhd1RyYW5zYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgbmV3VHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0ge1xuICAgICAgc3RhdHVzLFxuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBkYXRlOiByYXdUcmFuc2FjdGlvbi5EYXRlVVRDLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogcmF3VHJhbnNhY3Rpb24uRGF0ZVVUQyxcbiAgICAgIGRlc2NyaXB0aW9uOiByYXdUcmFuc2FjdGlvbi5EZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIGlkZW50aWZpZXI6IHJhd1RyYW5zYWN0aW9uLlJlZmVyZW5jZU51bWJlckxvbmcsXG4gICAgICBtZW1vOiByYXdUcmFuc2FjdGlvbi5BZGRpdGlvbmFsRGF0YSB8fCAnJyxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJhd1RyYW5zYWN0aW9uLkFtb3VudCxcbiAgICAgIG9yaWdpbmFsQW1vdW50OiByYXdUcmFuc2FjdGlvbi5BbW91bnQsXG4gICAgfTtcblxuICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbjtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gaGFuZ1Byb2Nlc3ModGltZW91dDogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0sIHRpbWVvdXQpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY2xpY2tCeVhQYXRoKHBhZ2U6IFBhZ2UsIHhwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcGFnZS53YWl0Rm9yWFBhdGgoeHBhdGgsIHsgdGltZW91dDogMzAwMDAsIHZpc2libGU6IHRydWUgfSk7XG4gIGNvbnN0IGVsbSA9IGF3YWl0IHBhZ2UuJHgoeHBhdGgpO1xuICBhd2FpdCBlbG1bMF0uY2xpY2soKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3BlY2lhbENoYXJhY3RlcnMoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1teMC05Ly1dL2csICcnKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50LCBhY2NvdW50SWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudD4ge1xuICAvLyBERVZFTE9QRVIgTk9USUNFIHRoZSBhY2NvdW50IG51bWJlciByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgaXMgYmVpbmcgYWx0ZXJlZCBhdFxuICAvLyBydW50aW1lIGZvciBzb21lIGFjY291bnRzIGFmdGVyIDEtMiBzZWNvbmRzIHNvIHdlIG5lZWQgdG8gaGFuZyB0aGUgcHJvY2VzcyBmb3IgYSBzaG9ydCB3aGlsZS5cbiAgYXdhaXQgaGFuZ1Byb2Nlc3MoNDAwMCk7XG5cbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdidXR0b25bdGl0bGU9XCLXl9eZ16TXldepINee16rXp9eT151cIl0nLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ2J1dHRvblt0aXRsZT1cIteX15nXpNeV16kg157Xqten15PXnVwiXScpO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2JsbC1yYWRpby1idXR0b24nLCB0cnVlKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgJ2JsbC1yYWRpby1idXR0b246bm90KFtjaGVja2VkXSknKTtcblxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2lucHV0W2Zvcm1jb250cm9sbmFtZT1cInR4dElucHV0RnJvbVwiXScsIHRydWUpO1xuXG4gIGF3YWl0IGZpbGxJbnB1dChcbiAgICBwYWdlLFxuICAgICdpbnB1dFtmb3JtY29udHJvbG5hbWU9XCJ0eHRJbnB1dEZyb21cIl0nLFxuICAgIHN0YXJ0RGF0ZS5mb3JtYXQoREFURV9GT1JNQVQpLFxuICApO1xuXG4gIC8vIHdlIG11c3QgYmx1ciB0aGUgZnJvbSBjb250cm9sIG90aGVyd2lzZSB0aGUgc2VhcmNoIHdpbGwgdXNlIHRoZSBwcmV2aW91cyB2YWx1ZVxuICBhd2FpdCBwYWdlLmZvY3VzKFwiYnV0dG9uW2FyaWEtbGFiZWw9J9eh16DXnyddXCIpO1xuXG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIFwiYnV0dG9uW2FyaWEtbGFiZWw9J9eh16DXnyddXCIpO1xuICBjb25zdCBmaW5hbFJlc3BvbnNlID0gYXdhaXQgcGFnZS53YWl0Rm9yUmVzcG9uc2UoKHJlc3BvbnNlKSA9PiB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLnVybCgpID09PSBGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMICYmXG4gICAgICByZXNwb25zZS5yZXF1ZXN0KCkubWV0aG9kKCkgPT09ICdQT1NUJztcbiAgfSk7XG5cbiAgY29uc3QgcmVzcG9uc2VKc29uOiBhbnkgPSBhd2FpdCBmaW5hbFJlc3BvbnNlLmpzb24oKTtcblxuICBjb25zdCBhY2NvdW50TnVtYmVyID0gYWNjb3VudElkLnJlcGxhY2UoJy8nLCAnXycpLnJlcGxhY2UoL1teXFxkLV9dL2csICcnKTtcblxuICBjb25zdCByZXNwb25zZSA9IEpTT04ucGFyc2UocmVzcG9uc2VKc29uLmpzb25SZXNwKTtcblxuICBjb25zdCBwZW5kaW5nVHJhbnNhY3Rpb25zID0gcmVzcG9uc2UuVG9kYXlUcmFuc2FjdGlvbnNJdGVtcztcbiAgY29uc3QgdHJhbnNhY3Rpb25zID0gcmVzcG9uc2UuSGlzdG9yeVRyYW5zYWN0aW9uc0l0ZW1zO1xuICBjb25zdCBiYWxhbmNlID0gcmVzcG9uc2UuQmFsYW5jZURpc3BsYXkgPyBwYXJzZUZsb2F0KHJlc3BvbnNlLkJhbGFuY2VEaXNwbGF5KSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBwZW5kaW5nVHhucyA9IGV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZShwZW5kaW5nVHJhbnNhY3Rpb25zLCBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcpO1xuICBjb25zdCBjb21wbGV0ZWRUeG5zID0gZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlKHRyYW5zYWN0aW9ucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQpO1xuICBjb25zdCB0eG5zID0gW1xuICAgIC4uLnBlbmRpbmdUeG5zLFxuICAgIC4uLmNvbXBsZXRlZFR4bnMsXG4gIF07XG5cbiAgcmV0dXJuIHtcbiAgICBhY2NvdW50TnVtYmVyLFxuICAgIGJhbGFuY2UsXG4gICAgdHhucyxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hUcmFuc2FjdGlvbnMocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnRbXT4ge1xuICBjb25zdCBhY2NvdW50czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgLy8gREVWRUxPUEVSIE5PVElDRSB0aGUgYWNjb3VudCBudW1iZXIgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIGlzIGJlaW5nIGFsdGVyZWQgYXRcbiAgLy8gcnVudGltZSBmb3Igc29tZSBhY2NvdW50cyBhZnRlciAxLTIgc2Vjb25kcyBzbyB3ZSBuZWVkIHRvIGhhbmcgdGhlIHByb2Nlc3MgZm9yIGEgc2hvcnQgd2hpbGUuXG4gIGF3YWl0IGhhbmdQcm9jZXNzKDQwMDApO1xuXG4gIGNvbnN0IGFjY291bnRzSWRzID0gYXdhaXQgcGFnZS5ldmFsdWF0ZSgoKSA9PiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2FwcC1tYXNrZWQtbnVtYmVyLWNvbWJvIHNwYW4uZGlzcGxheS1udW1iZXItbGknKSwgKGUpID0+IGUudGV4dENvbnRlbnQpKSBhcyBzdHJpbmdbXTtcblxuICAvLyBkdWUgdG8gYSBidWcsIHRoZSBhbHRlcmVkIHZhbHVlIG1pZ2h0IGluY2x1ZGUgdW5kZXNpcmVkIHNpZ25zIGxpa2UgJiB0aGF0IHNob3VsZCBiZSByZW1vdmVkXG5cbiAgaWYgKCFhY2NvdW50c0lkcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBleHRyYWN0IG9yIHBhcnNlIHRoZSBhY2NvdW50IG51bWJlcicpO1xuICB9XG5cbiAgZm9yIChjb25zdCBhY2NvdW50SWQgb2YgYWNjb3VudHNJZHMpIHtcbiAgICBpZiAoYWNjb3VudHNJZHMubGVuZ3RoID4gMSkge1xuICAgICAgLy8gZ2V0IGxpc3Qgb2YgYWNjb3VudHMgYW5kIGNoZWNrIGFjY291bnRJZFxuICAgICAgYXdhaXQgY2xpY2tCeVhQYXRoKHBhZ2UsICcvLypbY29udGFpbnMoQGNsYXNzLCBcIm51bWJlclwiKSBhbmQgY29udGFpbnMoQGNsYXNzLCBcImNvbWJvLWlubmVyXCIpXScpO1xuICAgICAgYXdhaXQgY2xpY2tCeVhQYXRoKHBhZ2UsIGAvL3NwYW5bY29udGFpbnModGV4dCgpLCAnJHthY2NvdW50SWR9JyldYCk7XG4gICAgfVxuXG4gICAgYWNjb3VudHMucHVzaChhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZSwgc3RhcnREYXRlLCByZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyhhY2NvdW50SWQpKSk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cblxuYXN5bmMgZnVuY3Rpb24gbmF2aWdhdGVUb0xvZ2luKHBhZ2U6IFBhZ2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgbG9naW5CdXR0b25TZWxlY3RvciA9ICcjZW50ZXJfeW91cl9hY2NvdW50IGEnO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgbG9naW5CdXR0b25TZWxlY3Rvcik7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsIGxvZ2luQnV0dG9uU2VsZWN0b3IpO1xuICBhd2FpdCB3YWl0Rm9yTmF2aWdhdGlvbihwYWdlLCB7IHdhaXRVbnRpbDogJ25ldHdvcmtpZGxlMicgfSk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2lucHV0W3BsYWNlaG9sZGVyPVwi16nXnSDXntep16rXntepXCJdJywgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdpbnB1dFtwbGFjZWhvbGRlcj1cIteh15nXodee15RcIl0nLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJywgdHJ1ZSksXG4gIF0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3YWl0Rm9yUG9zdExvZ2luKHBhZ2U6IFBhZ2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2FbdGl0bGU9XCLXk9ec15Ig15zXl9ep15HXldefXCJdJywgdHJ1ZSwgNjAwMDApLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnZGl2LmxldW1pLWNvbnRhaW5lcicsIHRydWUsIDYwMDAwKSxcbiAgICBwYWdlLndhaXRGb3JYUGF0aChgLy9kaXZbY29udGFpbnMoc3RyaW5nKCksXCIke0lOVkFMSURfUEFTU1dPUkRfTVNHfVwiKV1gKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2Zvcm1bYWN0aW9uPVwiL2NoYW5nZXBhc3N3b3JkXCJdJywgdHJ1ZSwgNjAwMDApLCAvLyBub3Qgc3VyZSBpZiB0aGV5IGtlcHQgdGhpcyBvbmVcbiAgXSk7XG59XG5cbmNsYXNzIExldW1pU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6IFwiYnV0dG9uW3R5cGU9J3N1Ym1pdCddXCIsXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gbmF2aWdhdGVUb0xvZ2luKHRoaXMucGFnZSksXG4gICAgICBwb3N0QWN0aW9uOiBhc3luYyAoKSA9PiB3YWl0Rm9yUG9zdExvZ2luKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpOiBQcm9taXNlPFNjYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oVFJBTlNBQ1RJT05TX1VSTCk7XG5cbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgc3RhcnRNb21lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICBhY2NvdW50cyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExldW1pU2NyYXBlcjtcbiJdfQ==
227
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9sZXVtaS50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkxPR0lOX1VSTCIsIlRSQU5TQUNUSU9OU19VUkwiLCJGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMIiwiREFURV9GT1JNQVQiLCJBQ0NPVU5UX0JMT0NLRURfTVNHIiwiSU5WQUxJRF9QQVNTV09SRF9NU0ciLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwib3B0aW9ucyIsInBhZ2UiLCJFcnJvciIsImVycm9yTWVzc2FnZSIsImVsZW1lbnQiLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lclRleHQiLCJzdGFydHNXaXRoIiwiQWNjb3VudEJsb2NrZWQiLCJsYWJlbCIsIkNoYW5nZVBhc3N3b3JkIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlIiwidHJhbnNhY3Rpb25zIiwic3RhdHVzIiwibGVuZ3RoIiwicmVzdWx0IiwibWFwIiwicmF3VHJhbnNhY3Rpb24iLCJkYXRlIiwiRGF0ZVVUQyIsIm1pbGxpc2Vjb25kcyIsInRvSVNPU3RyaW5nIiwibmV3VHJhbnNhY3Rpb24iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsInByb2Nlc3NlZERhdGUiLCJkZXNjcmlwdGlvbiIsIkRlc2NyaXB0aW9uIiwiaWRlbnRpZmllciIsIlJlZmVyZW5jZU51bWJlckxvbmciLCJtZW1vIiwiQWRkaXRpb25hbERhdGEiLCJvcmlnaW5hbEN1cnJlbmN5IiwiU0hFS0VMX0NVUlJFTkNZIiwiY2hhcmdlZEFtb3VudCIsIkFtb3VudCIsIm9yaWdpbmFsQW1vdW50IiwiaGFuZ1Byb2Nlc3MiLCJ0aW1lb3V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0IiwiY2xpY2tCeVhQYXRoIiwieHBhdGgiLCJ3YWl0Rm9yWFBhdGgiLCJ2aXNpYmxlIiwiZWxtIiwiJHgiLCJjbGljayIsInJlbW92ZVNwZWNpYWxDaGFyYWN0ZXJzIiwic3RyIiwicmVwbGFjZSIsImZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudCIsInN0YXJ0RGF0ZSIsImFjY291bnRJZCIsImZvcm1hdCIsImZvY3VzIiwiZmluYWxSZXNwb25zZSIsIndhaXRGb3JSZXNwb25zZSIsInJlc3BvbnNlIiwidXJsIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc3BvbnNlSnNvbiIsImpzb24iLCJhY2NvdW50TnVtYmVyIiwiSlNPTiIsInBhcnNlIiwianNvblJlc3AiLCJwZW5kaW5nVHJhbnNhY3Rpb25zIiwiVG9kYXlUcmFuc2FjdGlvbnNJdGVtcyIsIkhpc3RvcnlUcmFuc2FjdGlvbnNJdGVtcyIsImJhbGFuY2UiLCJCYWxhbmNlRGlzcGxheSIsInBhcnNlRmxvYXQiLCJ1bmRlZmluZWQiLCJwZW5kaW5nVHhucyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiY29tcGxldGVkVHhucyIsIkNvbXBsZXRlZCIsInR4bnMiLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnRzIiwiYWNjb3VudHNJZHMiLCJldmFsdWF0ZSIsIkFycmF5IiwiZnJvbSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImUiLCJ0ZXh0Q29udGVudCIsInB1c2giLCJuYXZpZ2F0ZVRvTG9naW4iLCJsb2dpbkJ1dHRvblNlbGVjdG9yIiwid2FpdFVudGlsIiwiYWxsIiwid2FpdEZvclBvc3RMb2dpbiIsInJhY2UiLCJMZXVtaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsImNoZWNrUmVhZGluZXNzIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIm1pbmltdW1TdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwiZGVmYXVsdFN0YXJ0TW9tZW50IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQU1BOztBQUNBOztBQUlBOzs7O0FBRUEsTUFBTUEsUUFBUSxHQUFHLDZCQUFqQjtBQUNBLE1BQU1DLFNBQVMsR0FBRywwQkFBbEI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBSSxHQUFFRixRQUFTLDBEQUFyQztBQUNBLE1BQU1HLHlCQUF5QixHQUFJLEdBQUVILFFBQVMsaUZBQTlDO0FBRUEsTUFBTUksV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFBTUMsbUJBQW1CLEdBQUcsWUFBNUI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyx3REFBN0I7O0FBR0EsU0FBU0MsdUJBQVQsR0FBbUM7QUFDakMsUUFBTUMsSUFBcUMsR0FBRztBQUM1QyxLQUFDQyxxQ0FBYUMsT0FBZCxHQUF3QixDQUFDLHlCQUFELENBRG9CO0FBRTVDLEtBQUNELHFDQUFhRSxlQUFkLEdBQWdDLENBQzlCLE1BQU9DLE9BQVAsSUFBbUI7QUFDakIsVUFBSSxDQUFDQSxPQUFELElBQVksQ0FBQ0EsT0FBTyxDQUFDQyxJQUF6QixFQUErQjtBQUM3QixjQUFNLElBQUlDLEtBQUosQ0FBVSwrQkFBVixDQUFOO0FBQ0Q7O0FBQ0QsWUFBTUMsWUFBWSxHQUFHLE1BQU0sdUNBQVlILE9BQU8sQ0FBQ0MsSUFBcEIsRUFBMEIsWUFBMUIsRUFBd0MsRUFBeEMsRUFBNkNHLE9BQUQsSUFBYTtBQUFBOztBQUNsRixvQ0FBUUEsT0FBTyxDQUFDLENBQUQsQ0FBZix1RUFBUSxVQUFZQyxhQUFwQiwwREFBUSxzQkFBMkJDLFFBQTNCLENBQW9DLENBQXBDLENBQVIseUNBQU8sS0FBNERDLFNBQW5FO0FBQ0QsT0FGMEIsQ0FBM0I7QUFJQSxhQUFPSixZQUFQLGFBQU9BLFlBQVAsdUJBQU9BLFlBQVksQ0FBRUssVUFBZCxDQUF5QmQsb0JBQXpCLENBQVA7QUFDRCxLQVY2QixDQUZZO0FBYzVDLEtBQUNHLHFDQUFhWSxjQUFkLEdBQStCLENBQUU7QUFDL0IsVUFBT1QsT0FBUCxJQUFtQjtBQUNqQixVQUFJLENBQUNBLE9BQUQsSUFBWSxDQUFDQSxPQUFPLENBQUNDLElBQXpCLEVBQStCO0FBQzdCLGNBQU0sSUFBSUMsS0FBSixDQUFVLCtCQUFWLENBQU47QUFDRDs7QUFDRCxZQUFNQyxZQUFZLEdBQUcsTUFBTSx1Q0FBWUgsT0FBTyxDQUFDQyxJQUFwQixFQUEwQixZQUExQixFQUF3QyxFQUF4QyxFQUE2Q1MsS0FBRCxJQUFXO0FBQUE7O0FBQ2hGLHdCQUFRQSxLQUFLLENBQUMsQ0FBRCxDQUFiLDBDQUFPLE1BQTJCSCxTQUFsQztBQUNELE9BRjBCLENBQTNCO0FBSUEsYUFBT0osWUFBUCxhQUFPQSxZQUFQLHVCQUFPQSxZQUFZLENBQUVLLFVBQWQsQ0FBeUJmLG1CQUF6QixDQUFQO0FBQ0QsS0FWNEIsQ0FkYTtBQTBCNUMsS0FBQ0kscUNBQWFjLGNBQWQsR0FBK0IsQ0FBQywwQ0FBRCxDQTFCYSxDQTBCaUM7O0FBMUJqQyxHQUE5QztBQTRCQSxTQUFPZixJQUFQO0FBQ0Q7O0FBRUQsU0FBU2dCLGlCQUFULENBQTJCQyxXQUEzQixFQUE0RDtBQUMxRCxTQUFPLENBQ0w7QUFBRUMsSUFBQUEsUUFBUSxFQUFFLCtCQUFaO0FBQTZDQyxJQUFBQSxLQUFLLEVBQUVGLFdBQVcsQ0FBQ0c7QUFBaEUsR0FESyxFQUVMO0FBQUVGLElBQUFBLFFBQVEsRUFBRSw0QkFBWjtBQUEwQ0MsSUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNJO0FBQTdELEdBRkssQ0FBUDtBQUlEOztBQUVELFNBQVNDLDJCQUFULENBQXFDQyxZQUFyQyxFQUEwREMsTUFBMUQsRUFBc0c7QUFDcEcsTUFBSUQsWUFBWSxLQUFLLElBQWpCLElBQXlCQSxZQUFZLENBQUNFLE1BQWIsS0FBd0IsQ0FBckQsRUFBd0Q7QUFDdEQsV0FBTyxFQUFQO0FBQ0Q7O0FBRUQsUUFBTUMsTUFBcUIsR0FBR0gsWUFBWSxDQUFDSSxHQUFiLENBQWtCQyxjQUFELElBQW9CO0FBQ2pFLFVBQU1DLElBQUksR0FBRyxxQkFBT0QsY0FBYyxDQUFDRSxPQUF0QixFQUErQkMsWUFBL0IsQ0FBNEMsQ0FBNUMsRUFBK0NDLFdBQS9DLEVBQWI7QUFDQSxVQUFNQyxjQUEyQixHQUFHO0FBQ2xDVCxNQUFBQSxNQURrQztBQUVsQ1UsTUFBQUEsSUFBSSxFQUFFQywrQkFBaUJDLE1BRlc7QUFHbENQLE1BQUFBLElBSGtDO0FBSWxDUSxNQUFBQSxhQUFhLEVBQUVSLElBSm1CO0FBS2xDUyxNQUFBQSxXQUFXLEVBQUVWLGNBQWMsQ0FBQ1csV0FBZixJQUE4QixFQUxUO0FBTWxDQyxNQUFBQSxVQUFVLEVBQUVaLGNBQWMsQ0FBQ2EsbUJBTk87QUFPbENDLE1BQUFBLElBQUksRUFBRWQsY0FBYyxDQUFDZSxjQUFmLElBQWlDLEVBUEw7QUFRbENDLE1BQUFBLGdCQUFnQixFQUFFQywwQkFSZ0I7QUFTbENDLE1BQUFBLGFBQWEsRUFBRWxCLGNBQWMsQ0FBQ21CLE1BVEk7QUFVbENDLE1BQUFBLGNBQWMsRUFBRXBCLGNBQWMsQ0FBQ21CO0FBVkcsS0FBcEM7QUFhQSxXQUFPZCxjQUFQO0FBQ0QsR0FoQjZCLENBQTlCO0FBa0JBLFNBQU9QLE1BQVA7QUFDRDs7QUFFRCxTQUFTdUIsV0FBVCxDQUFxQkMsT0FBckIsRUFBc0M7QUFDcEMsU0FBTyxJQUFJQyxPQUFKLENBQW1CQyxPQUFELElBQWE7QUFDcENDLElBQUFBLFVBQVUsQ0FBQyxNQUFNO0FBQ2ZELE1BQUFBLE9BQU87QUFDUixLQUZTLEVBRVBGLE9BRk8sQ0FBVjtBQUdELEdBSk0sQ0FBUDtBQUtEOztBQUVELGVBQWVJLFlBQWYsQ0FBNEJqRCxJQUE1QixFQUF3Q2tELEtBQXhDLEVBQXNFO0FBQ3BFLFFBQU1sRCxJQUFJLENBQUNtRCxZQUFMLENBQWtCRCxLQUFsQixFQUF5QjtBQUFFTCxJQUFBQSxPQUFPLEVBQUUsS0FBWDtBQUFrQk8sSUFBQUEsT0FBTyxFQUFFO0FBQTNCLEdBQXpCLENBQU47QUFDQSxRQUFNQyxHQUFHLEdBQUcsTUFBTXJELElBQUksQ0FBQ3NELEVBQUwsQ0FBUUosS0FBUixDQUFsQjtBQUNBLFFBQU1HLEdBQUcsQ0FBQyxDQUFELENBQUgsQ0FBT0UsS0FBUCxFQUFOO0FBQ0Q7O0FBRUQsU0FBU0MsdUJBQVQsQ0FBaUNDLEdBQWpDLEVBQXNEO0FBQ3BELFNBQU9BLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLFdBQVosRUFBeUIsRUFBekIsQ0FBUDtBQUNEOztBQUVELGVBQWVDLDJCQUFmLENBQTJDM0QsSUFBM0MsRUFBdUQ0RCxTQUF2RCxFQUEwRUMsU0FBMUUsRUFBMkg7QUFDekg7QUFDQTtBQUNBLFFBQU1qQixXQUFXLENBQUMsSUFBRCxDQUFqQjtBQUVBLFFBQU0saURBQXNCNUMsSUFBdEIsRUFBNEIsNkJBQTVCLEVBQTJELElBQTNELENBQU47QUFDQSxRQUFNLHVDQUFZQSxJQUFaLEVBQWtCLDZCQUFsQixDQUFOO0FBQ0EsUUFBTSxpREFBc0JBLElBQXRCLEVBQTRCLGtCQUE1QixFQUFnRCxJQUFoRCxDQUFOO0FBQ0EsUUFBTSx1Q0FBWUEsSUFBWixFQUFrQixpQ0FBbEIsQ0FBTjtBQUVBLFFBQU0saURBQXNCQSxJQUF0QixFQUE0Qix1Q0FBNUIsRUFBcUUsSUFBckUsQ0FBTjtBQUVBLFFBQU0scUNBQ0pBLElBREksRUFFSix1Q0FGSSxFQUdKNEQsU0FBUyxDQUFDRSxNQUFWLENBQWlCdkUsV0FBakIsQ0FISSxDQUFOLENBWnlILENBa0J6SDs7QUFDQSxRQUFNUyxJQUFJLENBQUMrRCxLQUFMLENBQVcsMEJBQVgsQ0FBTjtBQUVBLFFBQU0sdUNBQVkvRCxJQUFaLEVBQWtCLDBCQUFsQixDQUFOO0FBQ0EsUUFBTWdFLGFBQWEsR0FBRyxNQUFNaEUsSUFBSSxDQUFDaUUsZUFBTCxDQUFzQkMsUUFBRCxJQUFjO0FBQzdELFdBQU9BLFFBQVEsQ0FBQ0MsR0FBVCxPQUFtQjdFLHlCQUFuQixJQUNMNEUsUUFBUSxDQUFDRSxPQUFULEdBQW1CQyxNQUFuQixPQUFnQyxNQURsQztBQUVELEdBSDJCLENBQTVCO0FBS0EsUUFBTUMsWUFBaUIsR0FBRyxNQUFNTixhQUFhLENBQUNPLElBQWQsRUFBaEM7QUFFQSxRQUFNQyxhQUFhLEdBQUdYLFNBQVMsQ0FBQ0gsT0FBVixDQUFrQixHQUFsQixFQUF1QixHQUF2QixFQUE0QkEsT0FBNUIsQ0FBb0MsVUFBcEMsRUFBZ0QsRUFBaEQsQ0FBdEI7QUFFQSxRQUFNUSxRQUFRLEdBQUdPLElBQUksQ0FBQ0MsS0FBTCxDQUFXSixZQUFZLENBQUNLLFFBQXhCLENBQWpCO0FBRUEsUUFBTUMsbUJBQW1CLEdBQUdWLFFBQVEsQ0FBQ1csc0JBQXJDO0FBQ0EsUUFBTTNELFlBQVksR0FBR2dELFFBQVEsQ0FBQ1ksd0JBQTlCO0FBQ0EsUUFBTUMsT0FBTyxHQUFHYixRQUFRLENBQUNjLGNBQVQsR0FBMEJDLFVBQVUsQ0FBQ2YsUUFBUSxDQUFDYyxjQUFWLENBQXBDLEdBQWdFRSxTQUFoRjtBQUVBLFFBQU1DLFdBQVcsR0FBR2xFLDJCQUEyQixDQUFDMkQsbUJBQUQsRUFBc0JRLGtDQUFvQkMsT0FBMUMsQ0FBL0M7QUFDQSxRQUFNQyxhQUFhLEdBQUdyRSwyQkFBMkIsQ0FBQ0MsWUFBRCxFQUFla0Usa0NBQW9CRyxTQUFuQyxDQUFqRDtBQUNBLFFBQU1DLElBQUksR0FBRyxDQUNYLEdBQUdMLFdBRFEsRUFFWCxHQUFHRyxhQUZRLENBQWI7QUFLQSxTQUFPO0FBQ0xkLElBQUFBLGFBREs7QUFFTE8sSUFBQUEsT0FGSztBQUdMUyxJQUFBQTtBQUhLLEdBQVA7QUFLRDs7QUFFRCxlQUFlQyxpQkFBZixDQUFpQ3pGLElBQWpDLEVBQTZDNEQsU0FBN0MsRUFBZ0c7QUFDOUYsUUFBTThCLFFBQStCLEdBQUcsRUFBeEMsQ0FEOEYsQ0FHOUY7QUFDQTs7QUFDQSxRQUFNOUMsV0FBVyxDQUFDLElBQUQsQ0FBakI7QUFFQSxRQUFNK0MsV0FBVyxHQUFHLE1BQU0zRixJQUFJLENBQUM0RixRQUFMLENBQWMsTUFBTUMsS0FBSyxDQUFDQyxJQUFOLENBQVdDLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsZ0RBQTFCLENBQVgsRUFBeUZDLENBQUQsSUFBT0EsQ0FBQyxDQUFDQyxXQUFqRyxDQUFwQixDQUExQixDQVA4RixDQVM5Rjs7QUFFQSxNQUFJLENBQUNQLFdBQVcsQ0FBQ3ZFLE1BQWpCLEVBQXlCO0FBQ3ZCLFVBQU0sSUFBSW5CLEtBQUosQ0FBVSwrQ0FBVixDQUFOO0FBQ0Q7O0FBRUQsT0FBSyxNQUFNNEQsU0FBWCxJQUF3QjhCLFdBQXhCLEVBQXFDO0FBQ25DLFFBQUlBLFdBQVcsQ0FBQ3ZFLE1BQVosR0FBcUIsQ0FBekIsRUFBNEI7QUFDMUI7QUFDQSxZQUFNNkIsWUFBWSxDQUFDakQsSUFBRCxFQUFPLHFFQUFQLENBQWxCO0FBQ0EsWUFBTWlELFlBQVksQ0FBQ2pELElBQUQsRUFBUSw0QkFBMkI2RCxTQUFVLEtBQTdDLENBQWxCO0FBQ0Q7O0FBRUQ2QixJQUFBQSxRQUFRLENBQUNTLElBQVQsRUFBYyxNQUFNeEMsMkJBQTJCLENBQUMzRCxJQUFELEVBQU80RCxTQUFQLEVBQWtCSix1QkFBdUIsQ0FBQ0ssU0FBRCxDQUF6QyxDQUEvQztBQUNEOztBQUVELFNBQU82QixRQUFQO0FBQ0Q7O0FBR0QsZUFBZVUsZUFBZixDQUErQnBHLElBQS9CLEVBQTBEO0FBQ3hELFFBQU1xRyxtQkFBbUIsR0FBRyx1QkFBNUI7QUFDQSxRQUFNLGlEQUFzQnJHLElBQXRCLEVBQTRCcUcsbUJBQTVCLENBQU47QUFDQSxRQUFNLHVDQUFZckcsSUFBWixFQUFrQnFHLG1CQUFsQixDQUFOO0FBQ0EsUUFBTSxtQ0FBa0JyRyxJQUFsQixFQUF3QjtBQUFFc0csSUFBQUEsU0FBUyxFQUFFO0FBQWIsR0FBeEIsQ0FBTjtBQUNBLFFBQU14RCxPQUFPLENBQUN5RCxHQUFSLENBQVksQ0FDaEIsaURBQXNCdkcsSUFBdEIsRUFBNEIsK0JBQTVCLEVBQTZELElBQTdELENBRGdCLEVBRWhCLGlEQUFzQkEsSUFBdEIsRUFBNEIsNEJBQTVCLEVBQTBELElBQTFELENBRmdCLEVBR2hCLGlEQUFzQkEsSUFBdEIsRUFBNEIsdUJBQTVCLEVBQXFELElBQXJELENBSGdCLENBQVosQ0FBTjtBQUtEOztBQUVELGVBQWV3RyxnQkFBZixDQUFnQ3hHLElBQWhDLEVBQTJEO0FBQ3pELFFBQU04QyxPQUFPLENBQUMyRCxJQUFSLENBQWEsQ0FDakIsaURBQXNCekcsSUFBdEIsRUFBNEIsdUJBQTVCLEVBQXFELElBQXJELEVBQTJELEtBQTNELENBRGlCLEVBRWpCLGlEQUFzQkEsSUFBdEIsRUFBNEIscUJBQTVCLEVBQW1ELElBQW5ELEVBQXlELEtBQXpELENBRmlCLEVBR2pCQSxJQUFJLENBQUNtRCxZQUFMLENBQW1CLDRCQUEyQjFELG9CQUFxQixLQUFuRSxDQUhpQixFQUlqQixpREFBc0JPLElBQXRCLEVBQTRCLGdDQUE1QixFQUE4RCxJQUE5RCxFQUFvRSxLQUFwRSxDQUppQixDQUkyRDtBQUozRCxHQUFiLENBQU47QUFNRDs7QUFFRCxNQUFNMEcsWUFBTixTQUEyQkMsOENBQTNCLENBQWtEO0FBQ2hEQyxFQUFBQSxlQUFlLENBQUNoRyxXQUFELEVBQXNDO0FBQ25ELFdBQU87QUFDTGlHLE1BQUFBLFFBQVEsRUFBRXpILFNBREw7QUFFTDBILE1BQUFBLE1BQU0sRUFBRW5HLGlCQUFpQixDQUFDQyxXQUFELENBRnBCO0FBR0xtRyxNQUFBQSxvQkFBb0IsRUFBRSx1QkFIakI7QUFJTEMsTUFBQUEsY0FBYyxFQUFFLFlBQVlaLGVBQWUsQ0FBQyxLQUFLcEcsSUFBTixDQUp0QztBQUtMaUgsTUFBQUEsVUFBVSxFQUFFLFlBQVlULGdCQUFnQixDQUFDLEtBQUt4RyxJQUFOLENBTG5DO0FBTUxrSCxNQUFBQSxlQUFlLEVBQUV4SCx1QkFBdUI7QUFObkMsS0FBUDtBQVFEOztBQUVELFFBQU15SCxTQUFOLEdBQWlEO0FBQy9DLFVBQU1DLGtCQUFrQixHQUFHLHVCQUFTQyxRQUFULENBQWtCLENBQWxCLEVBQXFCLE9BQXJCLEVBQThCQyxHQUE5QixDQUFrQyxDQUFsQyxFQUFxQyxLQUFyQyxDQUEzQjtBQUNBLFVBQU1DLGtCQUFrQixHQUFHLHVCQUFTRixRQUFULENBQWtCLENBQWxCLEVBQXFCLE9BQXJCLEVBQThCQyxHQUE5QixDQUFrQyxDQUFsQyxFQUFxQyxLQUFyQyxDQUEzQjtBQUNBLFVBQU0xRCxTQUFTLEdBQUcsS0FBSzdELE9BQUwsQ0FBYTZELFNBQWIsSUFBMEIyRCxrQkFBa0IsQ0FBQ0MsTUFBbkIsRUFBNUM7O0FBQ0EsVUFBTUMsV0FBVyxHQUFHQyxnQkFBT0MsR0FBUCxDQUFXUCxrQkFBWCxFQUErQixxQkFBT3hELFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsVUFBTSxLQUFLZ0UsVUFBTCxDQUFnQnZJLGdCQUFoQixDQUFOO0FBRUEsVUFBTXFHLFFBQVEsR0FBRyxNQUFNRCxpQkFBaUIsQ0FBQyxLQUFLekYsSUFBTixFQUFZeUgsV0FBWixDQUF4QztBQUVBLFdBQU87QUFDTEksTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTG5DLE1BQUFBO0FBRkssS0FBUDtBQUlEOztBQTFCK0M7O2VBNkJuQ2dCLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgTG9naW5PcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGZpbGxJbnB1dCxcbiAgY2xpY2tCdXR0b24sXG4gIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbiAgcGFnZUV2YWxBbGwsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbnNBY2NvdW50LCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IFNjYXBlclNjcmFwaW5nUmVzdWx0LCBTY3JhcGVyQ3JlZGVudGlhbHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyB3YWl0Rm9yTmF2aWdhdGlvbiB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5cbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vaGIyLmJhbmtsZXVtaS5jby5pbCc7XG5jb25zdCBMT0dJTl9VUkwgPSAnaHR0cHM6Ly93d3cubGV1bWkuY28uaWwvJztcbmNvbnN0IFRSQU5TQUNUSU9OU19VUkwgPSBgJHtCQVNFX1VSTH0vZUJhbmtpbmcvU08vU1BBLmFzcHgjL3RzL0J1c2luZXNzQWNjb3VudFRyeD9XaWRnZXRQYXI9MWA7XG5jb25zdCBGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMID0gYCR7QkFTRV9VUkx9L0NoYW5uZWxXQ0YvQnJva2VyLnN2Yy9Qcm9jZXNzUmVxdWVzdD9tb2R1bGVOYW1lPVVDX1NPXzI3X0dldEJ1c2luZXNzQWNjb3VudFRyeGA7XG5cbmNvbnN0IERBVEVfRk9STUFUID0gJ0RELk1NLllZJztcbmNvbnN0IEFDQ09VTlRfQkxPQ0tFRF9NU0cgPSAn15TXnteg15XXmSDXl9eh15XXnSc7XG5jb25zdCBJTlZBTElEX1BBU1NXT1JEX01TRyA9ICfXkNeX15Mg15DXlSDXmdeV16rXqCDXntek16jXmNeZINeU15TXlteT15TXldeqINep157Xodeo16og16nXkteV15nXmdedLiDXoNeZ16rXnyDXnNeg16HXldeqINep15XXkSc7XG5cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSB7XG4gIGNvbnN0IHVybHM6IExvZ2luT3B0aW9uc1sncG9zc2libGVSZXN1bHRzJ10gPSB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogWy9lYmFua2luZ1xcL1NPXFwvU1BBLmFzcHgvaV0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbXG4gICAgICBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMgfHwgIW9wdGlvbnMucGFnZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBwYWdlIG9wdGlvbnMgYXJndW1lbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBhd2FpdCBwYWdlRXZhbEFsbChvcHRpb25zLnBhZ2UsICdzdmcjQ2FwYV8xJywgJycsIChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChlbGVtZW50WzBdPy5wYXJlbnRFbGVtZW50Py5jaGlsZHJlblsxXSBhcyBIVE1MRGl2RWxlbWVudCk/LmlubmVyVGV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZT8uc3RhcnRzV2l0aChJTlZBTElEX1BBU1NXT1JEX01TRyk7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW0xvZ2luUmVzdWx0cy5BY2NvdW50QmxvY2tlZF06IFsgLy8gTk9USUNFIC0gbWlnaHQgbm90IGJlIHJlbGV2YW50IHN0YXJ0aW5nIHRoZSBMZXVtaSByZS1kZXNpZ24gZHVyaW5nIDIwMjIgU2VwXG4gICAgICBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMgfHwgIW9wdGlvbnMucGFnZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBwYWdlIG9wdGlvbnMgYXJndW1lbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBhd2FpdCBwYWdlRXZhbEFsbChvcHRpb25zLnBhZ2UsICcuZXJySGVhZGVyJywgJycsIChsYWJlbCkgPT4ge1xuICAgICAgICAgIHJldHVybiAobGFiZWxbMF0gYXMgSFRNTEVsZW1lbnQpPy5pbm5lclRleHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U/LnN0YXJ0c1dpdGgoQUNDT1VOVF9CTE9DS0VEX01TRyk7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF06IFsnaHR0cHM6Ly9oYjIuYmFua2xldW1pLmNvLmlsL2F1dGhlbnRpY2F0ZSddLCAvLyBOT1RJQ0UgLSBtaWdodCBub3QgYmUgcmVsZXZhbnQgc3RhcnRpbmcgdGhlIExldW1pIHJlLWRlc2lnbiBkdXJpbmcgMjAyMiBTZXBcbiAgfTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXqdedINee16nXqtee16lcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXodeZ16HXnteUXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZSh0cmFuc2FjdGlvbnM6IGFueVtdLCBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMpOiBUcmFuc2FjdGlvbltdIHtcbiAgaWYgKHRyYW5zYWN0aW9ucyA9PT0gbnVsbCB8fCB0cmFuc2FjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb25zLm1hcCgocmF3VHJhbnNhY3Rpb24pID0+IHtcbiAgICBjb25zdCBkYXRlID0gbW9tZW50KHJhd1RyYW5zYWN0aW9uLkRhdGVVVEMpLm1pbGxpc2Vjb25kcygwKS50b0lTT1N0cmluZygpO1xuICAgIGNvbnN0IG5ld1RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHN0YXR1cyxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBkZXNjcmlwdGlvbjogcmF3VHJhbnNhY3Rpb24uRGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBpZGVudGlmaWVyOiByYXdUcmFuc2FjdGlvbi5SZWZlcmVuY2VOdW1iZXJMb25nLFxuICAgICAgbWVtbzogcmF3VHJhbnNhY3Rpb24uQWRkaXRpb25hbERhdGEgfHwgJycsXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBTSEVLRUxfQ1VSUkVOQ1ksXG4gICAgICBjaGFyZ2VkQW1vdW50OiByYXdUcmFuc2FjdGlvbi5BbW91bnQsXG4gICAgICBvcmlnaW5hbEFtb3VudDogcmF3VHJhbnNhY3Rpb24uQW1vdW50LFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3VHJhbnNhY3Rpb247XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGhhbmdQcm9jZXNzKHRpbWVvdXQ6IG51bWJlcikge1xuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9LCB0aW1lb3V0KTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNsaWNrQnlYUGF0aChwYWdlOiBQYWdlLCB4cGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHBhZ2Uud2FpdEZvclhQYXRoKHhwYXRoLCB7IHRpbWVvdXQ6IDMwMDAwLCB2aXNpYmxlOiB0cnVlIH0pO1xuICBjb25zdCBlbG0gPSBhd2FpdCBwYWdlLiR4KHhwYXRoKTtcbiAgYXdhaXQgZWxtWzBdLmNsaWNrKCk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVNwZWNpYWxDaGFyYWN0ZXJzKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9bXjAtOS8tXS9nLCAnJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudChwYWdlOiBQYWdlLCBzdGFydERhdGU6IE1vbWVudCwgYWNjb3VudElkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnQ+IHtcbiAgLy8gREVWRUxPUEVSIE5PVElDRSB0aGUgYWNjb3VudCBudW1iZXIgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIGlzIGJlaW5nIGFsdGVyZWQgYXRcbiAgLy8gcnVudGltZSBmb3Igc29tZSBhY2NvdW50cyBhZnRlciAxLTIgc2Vjb25kcyBzbyB3ZSBuZWVkIHRvIGhhbmcgdGhlIHByb2Nlc3MgZm9yIGEgc2hvcnQgd2hpbGUuXG4gIGF3YWl0IGhhbmdQcm9jZXNzKDQwMDApO1xuXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnYnV0dG9uW3RpdGxlPVwi15fXmdek15XXqSDXnteq16fXk9edXCJdJywgdHJ1ZSk7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdidXR0b25bdGl0bGU9XCLXl9eZ16TXldepINee16rXp9eT151cIl0nKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdibGwtcmFkaW8tYnV0dG9uJywgdHJ1ZSk7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdibGwtcmFkaW8tYnV0dG9uOm5vdChbY2hlY2tlZF0pJyk7XG5cbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdpbnB1dFtmb3JtY29udHJvbG5hbWU9XCJ0eHRJbnB1dEZyb21cIl0nLCB0cnVlKTtcblxuICBhd2FpdCBmaWxsSW5wdXQoXG4gICAgcGFnZSxcbiAgICAnaW5wdXRbZm9ybWNvbnRyb2xuYW1lPVwidHh0SW5wdXRGcm9tXCJdJyxcbiAgICBzdGFydERhdGUuZm9ybWF0KERBVEVfRk9STUFUKSxcbiAgKTtcblxuICAvLyB3ZSBtdXN0IGJsdXIgdGhlIGZyb20gY29udHJvbCBvdGhlcndpc2UgdGhlIHNlYXJjaCB3aWxsIHVzZSB0aGUgcHJldmlvdXMgdmFsdWVcbiAgYXdhaXQgcGFnZS5mb2N1cyhcImJ1dHRvblthcmlhLWxhYmVsPSfXodeg158nXVwiKTtcblxuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBcImJ1dHRvblthcmlhLWxhYmVsPSfXodeg158nXVwiKTtcbiAgY29uc3QgZmluYWxSZXNwb25zZSA9IGF3YWl0IHBhZ2Uud2FpdEZvclJlc3BvbnNlKChyZXNwb25zZSkgPT4ge1xuICAgIHJldHVybiByZXNwb25zZS51cmwoKSA9PT0gRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCAmJlxuICAgICAgcmVzcG9uc2UucmVxdWVzdCgpLm1ldGhvZCgpID09PSAnUE9TVCc7XG4gIH0pO1xuXG4gIGNvbnN0IHJlc3BvbnNlSnNvbjogYW55ID0gYXdhaXQgZmluYWxSZXNwb25zZS5qc29uKCk7XG5cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGFjY291bnRJZC5yZXBsYWNlKCcvJywgJ18nKS5yZXBsYWNlKC9bXlxcZC1fXS9nLCAnJyk7XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBKU09OLnBhcnNlKHJlc3BvbnNlSnNvbi5qc29uUmVzcCk7XG5cbiAgY29uc3QgcGVuZGluZ1RyYW5zYWN0aW9ucyA9IHJlc3BvbnNlLlRvZGF5VHJhbnNhY3Rpb25zSXRlbXM7XG4gIGNvbnN0IHRyYW5zYWN0aW9ucyA9IHJlc3BvbnNlLkhpc3RvcnlUcmFuc2FjdGlvbnNJdGVtcztcbiAgY29uc3QgYmFsYW5jZSA9IHJlc3BvbnNlLkJhbGFuY2VEaXNwbGF5ID8gcGFyc2VGbG9hdChyZXNwb25zZS5CYWxhbmNlRGlzcGxheSkgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgcGVuZGluZ1R4bnMgPSBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UocGVuZGluZ1RyYW5zYWN0aW9ucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nKTtcbiAgY29uc3QgY29tcGxldGVkVHhucyA9IGV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZSh0cmFuc2FjdGlvbnMsIFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkKTtcbiAgY29uc3QgdHhucyA9IFtcbiAgICAuLi5wZW5kaW5nVHhucyxcbiAgICAuLi5jb21wbGV0ZWRUeG5zLFxuICBdO1xuXG4gIHJldHVybiB7XG4gICAgYWNjb3VudE51bWJlcixcbiAgICBiYWxhbmNlLFxuICAgIHR4bnMsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50KTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50W10+IHtcbiAgY29uc3QgYWNjb3VudHM6IFRyYW5zYWN0aW9uc0FjY291bnRbXSA9IFtdO1xuXG4gIC8vIERFVkVMT1BFUiBOT1RJQ0UgdGhlIGFjY291bnQgbnVtYmVyIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciBpcyBiZWluZyBhbHRlcmVkIGF0XG4gIC8vIHJ1bnRpbWUgZm9yIHNvbWUgYWNjb3VudHMgYWZ0ZXIgMS0yIHNlY29uZHMgc28gd2UgbmVlZCB0byBoYW5nIHRoZSBwcm9jZXNzIGZvciBhIHNob3J0IHdoaWxlLlxuICBhd2FpdCBoYW5nUHJvY2Vzcyg0MDAwKTtcblxuICBjb25zdCBhY2NvdW50c0lkcyA9IGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhcHAtbWFza2VkLW51bWJlci1jb21ibyBzcGFuLmRpc3BsYXktbnVtYmVyLWxpJyksIChlKSA9PiBlLnRleHRDb250ZW50KSkgYXMgc3RyaW5nW107XG5cbiAgLy8gZHVlIHRvIGEgYnVnLCB0aGUgYWx0ZXJlZCB2YWx1ZSBtaWdodCBpbmNsdWRlIHVuZGVzaXJlZCBzaWducyBsaWtlICYgdGhhdCBzaG91bGQgYmUgcmVtb3ZlZFxuXG4gIGlmICghYWNjb3VudHNJZHMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZXh0cmFjdCBvciBwYXJzZSB0aGUgYWNjb3VudCBudW1iZXInKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYWNjb3VudElkIG9mIGFjY291bnRzSWRzKSB7XG4gICAgaWYgKGFjY291bnRzSWRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIGdldCBsaXN0IG9mIGFjY291bnRzIGFuZCBjaGVjayBhY2NvdW50SWRcbiAgICAgIGF3YWl0IGNsaWNrQnlYUGF0aChwYWdlLCAnLy8qW2NvbnRhaW5zKEBjbGFzcywgXCJudW1iZXJcIikgYW5kIGNvbnRhaW5zKEBjbGFzcywgXCJjb21iby1pbm5lclwiKV0nKTtcbiAgICAgIGF3YWl0IGNsaWNrQnlYUGF0aChwYWdlLCBgLy9zcGFuW2NvbnRhaW5zKHRleHQoKSwgJyR7YWNjb3VudElkfScpXWApO1xuICAgIH1cblxuICAgIGFjY291bnRzLnB1c2goYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2UsIHN0YXJ0RGF0ZSwgcmVtb3ZlU3BlY2lhbENoYXJhY3RlcnMoYWNjb3VudElkKSkpO1xuICB9XG5cbiAgcmV0dXJuIGFjY291bnRzO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIG5hdmlnYXRlVG9Mb2dpbihwYWdlOiBQYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGxvZ2luQnV0dG9uU2VsZWN0b3IgPSAnI2VudGVyX3lvdXJfYWNjb3VudCBhJztcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGxvZ2luQnV0dG9uU2VsZWN0b3IpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBsb2dpbkJ1dHRvblNlbGVjdG9yKTtcbiAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24ocGFnZSwgeyB3YWl0VW50aWw6ICduZXR3b3JraWRsZTInIH0pO1xuICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdpbnB1dFtwbGFjZWhvbGRlcj1cItep150g157Xqdeq157XqVwiXScsIHRydWUpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXodeZ16HXnteUXCJdJywgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScsIHRydWUpLFxuICBdKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvclBvc3RMb2dpbihwYWdlOiBQYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IFByb21pc2UucmFjZShbXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdhW3RpdGxlPVwi15PXnNeSINec15fXqdeR15XXn1wiXScsIHRydWUsIDYwMDAwKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2Rpdi5sZXVtaS1jb250YWluZXInLCB0cnVlLCA2MDAwMCksXG4gICAgcGFnZS53YWl0Rm9yWFBhdGgoYC8vZGl2W2NvbnRhaW5zKHN0cmluZygpLFwiJHtJTlZBTElEX1BBU1NXT1JEX01TR31cIildYCksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdmb3JtW2FjdGlvbj1cIi9jaGFuZ2VwYXNzd29yZFwiXScsIHRydWUsIDYwMDAwKSwgLy8gbm90IHN1cmUgaWYgdGhleSBrZXB0IHRoaXMgb25lXG4gIF0pO1xufVxuXG5jbGFzcyBMZXVtaVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBMT0dJTl9VUkwsXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiBcImJ1dHRvblt0eXBlPSdzdWJtaXQnXVwiLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IG5hdmlnYXRlVG9Mb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gd2FpdEZvclBvc3RMb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY2FwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIGNvbnN0IG1pbmltdW1TdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDMsICd5ZWFycycpLmFkZCgxLCAnZGF5Jyk7XG4gICAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgobWluaW11bVN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oVFJBTlNBQ1RJT05TX1VSTCk7XG5cbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgc3RhcnRNb21lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICBhY2NvdW50cyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExldW1pU2NyYXBlcjtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "israeli-bank-scrapers",
3
- "version": "2.1.2",
3
+ "version": "2.2.0",
4
4
  "private": false,
5
5
  "description": "Provide scrapers for all major Israeli banks and credit card companies",
6
6
  "engines": {