israeli-bank-scrapers 6.3.0 → 6.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -178,6 +178,13 @@ const scrapeResult = await scraper.scrape({ username: 'vr29485', password: 'some
178
178
  await browser.close();
179
179
  ```
180
180
 
181
+ ### OptIn Features
182
+
183
+ Some scrapers support opt-in features that can be enabled by passing the `optInFeatures` option when creating the scraper.
184
+ Opt in features are usually used for breaking changes that are not enabled by default to avoid breaking existing users.
185
+
186
+ See the [OptInFeatures](https://github.com/eshaham/israeli-bank-scrapers/blob/master/src/scrapers/interface.ts#:~:text=export-,type%20OptInFeatures) interface for available features.
187
+
181
188
  ## Two-Factor Authentication Scrapers
182
189
 
183
190
  Some companies require two-factor authentication, and as such the scraper cannot be fully automated. When using the relevant scrapers, you have two options:
@@ -32,6 +32,7 @@ export type ScraperCredentials = {
32
32
  } | {
33
33
  otpLongTermToken: string;
34
34
  }));
35
+ export type OptInFeatures = 'mizrahi:pendingIfNoIdentifier' | 'mizrahi:pendingIfHasGenericDescription' | 'mizrahi:pendingIfTodayTransaction';
35
36
  export interface FutureDebit {
36
37
  amount: number;
37
38
  amountCurrency: string;
@@ -143,6 +144,10 @@ export type ScraperOptions = ScraperBrowserOptions & {
143
144
  * The number of times to retry the navigation in case of a failure (default 0)
144
145
  */
145
146
  navigationRetryCount?: number;
147
+ /**
148
+ * Opt-in features for the scrapers, allowing safe rollout of new breaking changes.
149
+ */
150
+ optInFeatures?: Array<OptInFeatures>;
146
151
  };
147
152
  export interface OutputDataOptions {
148
153
  /**
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2ludGVyZmFjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEJyb3dzZXJDb250ZXh0LCB0eXBlIEJyb3dzZXIsIHR5cGUgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyB0eXBlIENvbXBhbnlUeXBlcywgdHlwZSBTY3JhcGVyUHJvZ3Jlc3NUeXBlcyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IHR5cGUgVHJhbnNhY3Rpb25zQWNjb3VudCB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyB0eXBlIEVycm9yUmVzdWx0LCB0eXBlIFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vLyBUT0RPOiBSZW1vdmUgdGhpcyB0eXBlIHdoZW4gdGhlIHNjcmFwZXIgJ2ZhY3RvcnknIHdpbGwgcmV0dXJuIGNvbmNyZXRlIHNjcmFwZXIgdHlwZXNcbi8vIEluc3RlYWQgb2YgYSBnZW5lcmljIGludGVyZmFjZSAod2hpY2ggaW4gdHVybiB1c2VzIHRoaXMgdHlwZSlcbmV4cG9ydCB0eXBlIFNjcmFwZXJDcmVkZW50aWFscyA9XG4gIHwgeyB1c2VyQ29kZTogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH1cbiAgfCB7IHVzZXJuYW1lOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfVxuICB8IHsgaWQ6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9XG4gIHwgeyBpZDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBudW06IHN0cmluZyB9XG4gIHwgeyBpZDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBjYXJkNkRpZ2l0czogc3RyaW5nIH1cbiAgfCB7IHVzZXJuYW1lOiBzdHJpbmc7IG5hdGlvbmFsSUQ6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9XG4gIHwgKHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9ICYgKFxuICAgICAgfCB7XG4gICAgICAgICAgb3RwQ29kZVJldHJpZXZlcjogKCkgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICAgICAgICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIHwge1xuICAgICAgICAgIG90cExvbmdUZXJtVG9rZW46IHN0cmluZztcbiAgICAgICAgfVxuICAgICkpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZ1dHVyZURlYml0IHtcbiAgYW1vdW50OiBudW1iZXI7XG4gIGFtb3VudEN1cnJlbmN5OiBzdHJpbmc7XG4gIGNoYXJnZURhdGU/OiBzdHJpbmc7XG4gIGJhbmtBY2NvdW50TnVtYmVyPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXh0ZXJuYWxCcm93c2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBbiBleHRlcm5hbGx5IGNyZWF0ZWQgYnJvd3NlciBpbnN0YW5jZS5cbiAgICogeW91IGNhbiBnZXQgYSBicm93c2VyIGRpcmVjdGx5IGZyb20gcHVwcGV0ZWVyIHZpYSBgcHVwcGV0ZWVyLmxhdW5jaCgpYFxuICAgKlxuICAgKiBOb3RlOiBUaGUgYnJvd3NlciB3aWxsIGJlIGNsb3NlZCBieSB0aGUgbGlicmFyeSBhZnRlciB0aGUgc2NyYXBlciBmaW5pc2hlcyB1bmxlc3MgYHNraXBDbG9zZUJyb3dzZXJgIGlzIHNldCB0byB0cnVlXG4gICAqL1xuICBicm93c2VyOiBCcm93c2VyO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgYnJvd3NlciB3aWxsIG5vdCBiZSBjbG9zZWQgYnkgdGhlIGxpYnJhcnkgYWZ0ZXIgdGhlIHNjcmFwZXIgZmluaXNoZXNcbiAgICovXG4gIHNraXBDbG9zZUJyb3dzZXI/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgRXh0ZXJuYWxCcm93c2VyQ29udGV4dE9wdGlvbnMge1xuICAvKipcbiAgICogQW4gZXh0ZXJuYWxseSBtYW5hZ2VkIGJyb3dzZXIgY29udGV4dC4gVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byBtYW5hZ2UgdGhlIGJyb3dzZXJcbiAgICovXG4gIGJyb3dzZXJDb250ZXh0OiBCcm93c2VyQ29udGV4dDtcbn1cblxuaW50ZXJmYWNlIERlZmF1bHRCcm93c2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBzaG93cyB0aGUgYnJvd3NlciB3aGlsZSBzY3JhcGluZywgZ29vZCBmb3IgZGVidWdnaW5nIChkZWZhdWx0IGZhbHNlKVxuICAgKi9cbiAgc2hvd0Jyb3dzZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBwcm92aWRlIGEgcGF0Y2ggdG8gbG9jYWwgY2hyb21pdW0gdG8gYmUgdXNlZCBieSBwdXBwZXRlZXIuIFJlbGV2YW50IHdoZW4gdXNpbmdcbiAgICogYGlzcmFlbGktYmFuay1zY3JhcGVycy1jb3JlYCBsaWJyYXJ5XG4gICAqL1xuICBleGVjdXRhYmxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogYWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgYnJvd3NlciBpbnN0YW5jZS4gVGhlIGxpc3Qgb2YgZmxhZ3MgY2FuIGJlIGZvdW5kIGluXG4gICAqXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Db21tYW5kX0xpbmVfT3B0aW9uc1xuICAgKiBodHRwczovL3BldGVyLnNoL2V4cGVyaW1lbnRzL2Nocm9taXVtLWNvbW1hbmQtbGluZS1zd2l0Y2hlcy9cbiAgICovXG4gIGFyZ3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTWF4aW11bSBuYXZpZ2F0aW9uIHRpbWUgaW4gbWlsbGlzZWNvbmRzLCBwYXNzIDAgdG8gZGlzYWJsZSB0aW1lb3V0LlxuICAgKiBAZGVmYXVsdCAzMDAwMFxuICAgKi9cbiAgdGltZW91dD86IG51bWJlcjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBicm93c2VyIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkXG4gICAqXG4gICAqIEBwYXJhbSBicm93c2VyXG4gICAqL1xuICBwcmVwYXJlQnJvd3Nlcj86IChicm93c2VyOiBCcm93c2VyKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuXG50eXBlIFNjcmFwZXJCcm93c2VyT3B0aW9ucyA9IEV4dGVybmFsQnJvd3Nlck9wdGlvbnMgfCBFeHRlcm5hbEJyb3dzZXJDb250ZXh0T3B0aW9ucyB8IERlZmF1bHRCcm93c2VyT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgU2NyYXBlck9wdGlvbnMgPSBTY3JhcGVyQnJvd3Nlck9wdGlvbnMgJiB7XG4gIC8qKlxuICAgKiBUaGUgY29tcGFueSB5b3Ugd2FudCB0byBzY3JhcGVcbiAgICovXG4gIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzO1xuXG4gIC8qKlxuICAgKiBpbmNsdWRlIG1vcmUgZGVidWcgaW5mbyBhYm91dCBpbiB0aGUgb3V0cHV0XG4gICAqL1xuICB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogdGhlIGRhdGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb25zIGZyb20gKGNhbid0IGJlIGJlZm9yZSB0aGUgbWluaW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBmb3IgdGhlIHNjcmFwZXIpXG4gICAqL1xuICBzdGFydERhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIHNjcmFwZSB0cmFuc2FjdGlvbnMgdG8gYmUgcHJvY2Vzc2VkIFggbW9udGhzIGluIHRoZSBmdXR1cmVcbiAgICovXG4gIGZ1dHVyZU1vbnRoc1RvU2NyYXBlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBpZiBzZXQgdG8gdHJ1ZSwgYWxsIGluc3RhbGxtZW50IHRyYW5zYWN0aW9ucyB3aWxsIGJlIGNvbWJpbmUgaW50byB0aGUgZmlyc3Qgb25lXG4gICAqL1xuICBjb21iaW5lSW5zdGFsbG1lbnRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBwYWdlIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFnZVxuICAgKi9cbiAgcHJlcGFyZVBhZ2U/OiAocGFnZTogUGFnZSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogaWYgc2V0LCBzdG9yZSBhIHNjcmVlbnNob3QgaWYgZmFpbGVkIHRvIHNjcmFwZS4gVXNlZCBmb3IgZGVidWcgcHVycG9zZXNcbiAgICovXG4gIHN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBpZiBzZXQsIHdpbGwgc2V0IHRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyBvZiBwdXBwZXRlZXIncyBgcGFnZS5zZXREZWZhdWx0VGltZW91dGAuXG4gICAqL1xuICBkZWZhdWx0VGltZW91dD86IG51bWJlcjtcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgbWFuaXB1bGF0aW9uIG9mIG91dHB1dCBkYXRhXG4gICAqL1xuICBvdXRwdXREYXRhPzogT3V0cHV0RGF0YU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gYWRkaXRpb25hbCBvcGVyYXRpb24gZm9yIGVhY2ggdHJhbnNhY3Rpb24gdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24gKExpa2UgY2F0ZWdvcnkpIGFib3V0IGl0LlxuICAgKiBQbGVhc2Ugbm90ZTogSXQgd2lsbCB0YWtlIG1vcmUgdGltZSB0byBmaW5pc2ggdGhlIHByb2Nlc3MuXG4gICAqL1xuICBhZGRpdGlvbmFsVHJhbnNhY3Rpb25JbmZvcm1hdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkanVzdCB0aGUgdmlld3BvcnQgc2l6ZSBvZiB0aGUgYnJvd3NlciBwYWdlLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgZGVmYXVsdCB2aWV3cG9ydCBzaXplIG9mIDEwMjR4NzY4IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHZpZXdwb3J0U2l6ZT86IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIHJldHJ5IHRoZSBuYXZpZ2F0aW9uIGluIGNhc2Ugb2YgYSBmYWlsdXJlIChkZWZhdWx0IDApXG4gICAqL1xuICBuYXZpZ2F0aW9uUmV0cnlDb3VudD86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RGF0YU9wdGlvbnMge1xuICAvKipcbiAgICogaWYgdHJ1ZSwgdGhlIHJlc3VsdCB3b3VsZG4ndCBiZSBmaWx0ZXJlZCBvdXQgYnkgZGF0ZSwgYW5kIHlvdSB3aWxsIHJldHVybiB1bmZpbHRlcmVkIHNjcmFwcGVkIGRhdGEuXG4gICAqL1xuICBlbmFibGVUcmFuc2FjdGlvbnNGaWx0ZXJCeURhdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGFjY291bnRzPzogVHJhbnNhY3Rpb25zQWNjb3VudFtdO1xuICBmdXR1cmVEZWJpdHM/OiBGdXR1cmVEZWJpdFtdO1xuICBlcnJvclR5cGU/OiBTY3JhcGVyRXJyb3JUeXBlcztcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nOyAvLyBvbmx5IG9uIHN1Y2Nlc3M9ZmFsc2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JhcGVyPFRDcmVkZW50aWFscyBleHRlbmRzIFNjcmFwZXJDcmVkZW50aWFscz4ge1xuICBzY3JhcGUoY3JlZGVudGlhbHM6IFRDcmVkZW50aWFscyk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PjtcbiAgb25Qcm9ncmVzcyhmdW5jOiAoY29tcGFueUlkOiBDb21wYW55VHlwZXMsIHBheWxvYWQ6IHsgdHlwZTogU2NyYXBlclByb2dyZXNzVHlwZXMgfSkgPT4gdm9pZCk6IHZvaWQ7XG4gIHRyaWdnZXJUd29GYWN0b3JBdXRoKHBob25lTnVtYmVyOiBzdHJpbmcpOiBQcm9taXNlPFNjcmFwZXJUd29GYWN0b3JBdXRoVHJpZ2dlclJlc3VsdD47XG4gIGdldExvbmdUZXJtVHdvRmFjdG9yVG9rZW4ob3RwQ29kZTogc3RyaW5nKTogUHJvbWlzZTxTY3JhcGVyR2V0TG9uZ1Rlcm1Ud29GYWN0b3JUb2tlblJlc3VsdD47XG59XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJUd29GYWN0b3JBdXRoVHJpZ2dlclJlc3VsdCA9XG4gIHwgRXJyb3JSZXN1bHRcbiAgfCB7XG4gICAgICBzdWNjZXNzOiB0cnVlO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJHZXRMb25nVGVybVR3b0ZhY3RvclRva2VuUmVzdWx0ID1cbiAgfCBFcnJvclJlc3VsdFxuICB8IHtcbiAgICAgIHN1Y2Nlc3M6IHRydWU7XG4gICAgICBsb25nVGVybVR3b0ZhY3RvckF1dGhUb2tlbjogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyYXBlckxvZ2luUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG4gIHBlcnNpc3RlbnRPdHBUb2tlbj86IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2ludGVyZmFjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEJyb3dzZXJDb250ZXh0LCB0eXBlIEJyb3dzZXIsIHR5cGUgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyB0eXBlIENvbXBhbnlUeXBlcywgdHlwZSBTY3JhcGVyUHJvZ3Jlc3NUeXBlcyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IHR5cGUgVHJhbnNhY3Rpb25zQWNjb3VudCB9IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyB0eXBlIEVycm9yUmVzdWx0LCB0eXBlIFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG4vLyBUT0RPOiBSZW1vdmUgdGhpcyB0eXBlIHdoZW4gdGhlIHNjcmFwZXIgJ2ZhY3RvcnknIHdpbGwgcmV0dXJuIGNvbmNyZXRlIHNjcmFwZXIgdHlwZXNcbi8vIEluc3RlYWQgb2YgYSBnZW5lcmljIGludGVyZmFjZSAod2hpY2ggaW4gdHVybiB1c2VzIHRoaXMgdHlwZSlcbmV4cG9ydCB0eXBlIFNjcmFwZXJDcmVkZW50aWFscyA9XG4gIHwgeyB1c2VyQ29kZTogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH1cbiAgfCB7IHVzZXJuYW1lOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfVxuICB8IHsgaWQ6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9XG4gIHwgeyBpZDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBudW06IHN0cmluZyB9XG4gIHwgeyBpZDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBjYXJkNkRpZ2l0czogc3RyaW5nIH1cbiAgfCB7IHVzZXJuYW1lOiBzdHJpbmc7IG5hdGlvbmFsSUQ6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9XG4gIHwgKHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9ICYgKFxuICAgICAgfCB7XG4gICAgICAgICAgb3RwQ29kZVJldHJpZXZlcjogKCkgPT4gUHJvbWlzZTxzdHJpbmc+O1xuICAgICAgICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIHwge1xuICAgICAgICAgIG90cExvbmdUZXJtVG9rZW46IHN0cmluZztcbiAgICAgICAgfVxuICAgICkpO1xuXG5leHBvcnQgdHlwZSBPcHRJbkZlYXR1cmVzID1cbiAgfCAnbWl6cmFoaTpwZW5kaW5nSWZOb0lkZW50aWZpZXInXG4gIHwgJ21penJhaGk6cGVuZGluZ0lmSGFzR2VuZXJpY0Rlc2NyaXB0aW9uJ1xuICB8ICdtaXpyYWhpOnBlbmRpbmdJZlRvZGF5VHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZ1dHVyZURlYml0IHtcbiAgYW1vdW50OiBudW1iZXI7XG4gIGFtb3VudEN1cnJlbmN5OiBzdHJpbmc7XG4gIGNoYXJnZURhdGU/OiBzdHJpbmc7XG4gIGJhbmtBY2NvdW50TnVtYmVyPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRXh0ZXJuYWxCcm93c2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBbiBleHRlcm5hbGx5IGNyZWF0ZWQgYnJvd3NlciBpbnN0YW5jZS5cbiAgICogeW91IGNhbiBnZXQgYSBicm93c2VyIGRpcmVjdGx5IGZyb20gcHVwcGV0ZWVyIHZpYSBgcHVwcGV0ZWVyLmxhdW5jaCgpYFxuICAgKlxuICAgKiBOb3RlOiBUaGUgYnJvd3NlciB3aWxsIGJlIGNsb3NlZCBieSB0aGUgbGlicmFyeSBhZnRlciB0aGUgc2NyYXBlciBmaW5pc2hlcyB1bmxlc3MgYHNraXBDbG9zZUJyb3dzZXJgIGlzIHNldCB0byB0cnVlXG4gICAqL1xuICBicm93c2VyOiBCcm93c2VyO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgYnJvd3NlciB3aWxsIG5vdCBiZSBjbG9zZWQgYnkgdGhlIGxpYnJhcnkgYWZ0ZXIgdGhlIHNjcmFwZXIgZmluaXNoZXNcbiAgICovXG4gIHNraXBDbG9zZUJyb3dzZXI/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgRXh0ZXJuYWxCcm93c2VyQ29udGV4dE9wdGlvbnMge1xuICAvKipcbiAgICogQW4gZXh0ZXJuYWxseSBtYW5hZ2VkIGJyb3dzZXIgY29udGV4dC4gVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byBtYW5hZ2UgdGhlIGJyb3dzZXJcbiAgICovXG4gIGJyb3dzZXJDb250ZXh0OiBCcm93c2VyQ29udGV4dDtcbn1cblxuaW50ZXJmYWNlIERlZmF1bHRCcm93c2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBzaG93cyB0aGUgYnJvd3NlciB3aGlsZSBzY3JhcGluZywgZ29vZCBmb3IgZGVidWdnaW5nIChkZWZhdWx0IGZhbHNlKVxuICAgKi9cbiAgc2hvd0Jyb3dzZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBwcm92aWRlIGEgcGF0Y2ggdG8gbG9jYWwgY2hyb21pdW0gdG8gYmUgdXNlZCBieSBwdXBwZXRlZXIuIFJlbGV2YW50IHdoZW4gdXNpbmdcbiAgICogYGlzcmFlbGktYmFuay1zY3JhcGVycy1jb3JlYCBsaWJyYXJ5XG4gICAqL1xuICBleGVjdXRhYmxlUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogYWRkaXRpb25hbCBhcmd1bWVudHMgdG8gcGFzcyB0byB0aGUgYnJvd3NlciBpbnN0YW5jZS4gVGhlIGxpc3Qgb2YgZmxhZ3MgY2FuIGJlIGZvdW5kIGluXG4gICAqXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9Db21tYW5kX0xpbmVfT3B0aW9uc1xuICAgKiBodHRwczovL3BldGVyLnNoL2V4cGVyaW1lbnRzL2Nocm9taXVtLWNvbW1hbmQtbGluZS1zd2l0Y2hlcy9cbiAgICovXG4gIGFyZ3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTWF4aW11bSBuYXZpZ2F0aW9uIHRpbWUgaW4gbWlsbGlzZWNvbmRzLCBwYXNzIDAgdG8gZGlzYWJsZSB0aW1lb3V0LlxuICAgKiBAZGVmYXVsdCAzMDAwMFxuICAgKi9cbiAgdGltZW91dD86IG51bWJlcjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBicm93c2VyIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkXG4gICAqXG4gICAqIEBwYXJhbSBicm93c2VyXG4gICAqL1xuICBwcmVwYXJlQnJvd3Nlcj86IChicm93c2VyOiBCcm93c2VyKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuXG50eXBlIFNjcmFwZXJCcm93c2VyT3B0aW9ucyA9IEV4dGVybmFsQnJvd3Nlck9wdGlvbnMgfCBFeHRlcm5hbEJyb3dzZXJDb250ZXh0T3B0aW9ucyB8IERlZmF1bHRCcm93c2VyT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgU2NyYXBlck9wdGlvbnMgPSBTY3JhcGVyQnJvd3Nlck9wdGlvbnMgJiB7XG4gIC8qKlxuICAgKiBUaGUgY29tcGFueSB5b3Ugd2FudCB0byBzY3JhcGVcbiAgICovXG4gIGNvbXBhbnlJZDogQ29tcGFueVR5cGVzO1xuXG4gIC8qKlxuICAgKiBpbmNsdWRlIG1vcmUgZGVidWcgaW5mbyBhYm91dCBpbiB0aGUgb3V0cHV0XG4gICAqL1xuICB2ZXJib3NlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogdGhlIGRhdGUgdG8gZmV0Y2ggdHJhbnNhY3Rpb25zIGZyb20gKGNhbid0IGJlIGJlZm9yZSB0aGUgbWluaW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBmb3IgdGhlIHNjcmFwZXIpXG4gICAqL1xuICBzdGFydERhdGU6IERhdGU7XG5cbiAgLyoqXG4gICAqIHNjcmFwZSB0cmFuc2FjdGlvbnMgdG8gYmUgcHJvY2Vzc2VkIFggbW9udGhzIGluIHRoZSBmdXR1cmVcbiAgICovXG4gIGZ1dHVyZU1vbnRoc1RvU2NyYXBlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBpZiBzZXQgdG8gdHJ1ZSwgYWxsIGluc3RhbGxtZW50IHRyYW5zYWN0aW9ucyB3aWxsIGJlIGNvbWJpbmUgaW50byB0aGUgZmlyc3Qgb25lXG4gICAqL1xuICBjb21iaW5lSW5zdGFsbG1lbnRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogYWRqdXN0IHRoZSBwYWdlIGluc3RhbmNlIGJlZm9yZSBpdCBpcyBiZWluZyB1c2VkLlxuICAgKlxuICAgKiBAcGFyYW0gcGFnZVxuICAgKi9cbiAgcHJlcGFyZVBhZ2U/OiAocGFnZTogUGFnZSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogaWYgc2V0LCBzdG9yZSBhIHNjcmVlbnNob3QgaWYgZmFpbGVkIHRvIHNjcmFwZS4gVXNlZCBmb3IgZGVidWcgcHVycG9zZXNcbiAgICovXG4gIHN0b3JlRmFpbHVyZVNjcmVlblNob3RQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBpZiBzZXQsIHdpbGwgc2V0IHRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyBvZiBwdXBwZXRlZXIncyBgcGFnZS5zZXREZWZhdWx0VGltZW91dGAuXG4gICAqL1xuICBkZWZhdWx0VGltZW91dD86IG51bWJlcjtcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgbWFuaXB1bGF0aW9uIG9mIG91dHB1dCBkYXRhXG4gICAqL1xuICBvdXRwdXREYXRhPzogT3V0cHV0RGF0YU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gYWRkaXRpb25hbCBvcGVyYXRpb24gZm9yIGVhY2ggdHJhbnNhY3Rpb24gdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24gKExpa2UgY2F0ZWdvcnkpIGFib3V0IGl0LlxuICAgKiBQbGVhc2Ugbm90ZTogSXQgd2lsbCB0YWtlIG1vcmUgdGltZSB0byBmaW5pc2ggdGhlIHByb2Nlc3MuXG4gICAqL1xuICBhZGRpdGlvbmFsVHJhbnNhY3Rpb25JbmZvcm1hdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkanVzdCB0aGUgdmlld3BvcnQgc2l6ZSBvZiB0aGUgYnJvd3NlciBwYWdlLlxuICAgKiBJZiBub3Qgc2V0LCB0aGUgZGVmYXVsdCB2aWV3cG9ydCBzaXplIG9mIDEwMjR4NzY4IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHZpZXdwb3J0U2l6ZT86IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIHJldHJ5IHRoZSBuYXZpZ2F0aW9uIGluIGNhc2Ugb2YgYSBmYWlsdXJlIChkZWZhdWx0IDApXG4gICAqL1xuICBuYXZpZ2F0aW9uUmV0cnlDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogT3B0LWluIGZlYXR1cmVzIGZvciB0aGUgc2NyYXBlcnMsIGFsbG93aW5nIHNhZmUgcm9sbG91dCBvZiBuZXcgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICovXG4gIG9wdEluRmVhdHVyZXM/OiBBcnJheTxPcHRJbkZlYXR1cmVzPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RGF0YU9wdGlvbnMge1xuICAvKipcbiAgICogaWYgdHJ1ZSwgdGhlIHJlc3VsdCB3b3VsZG4ndCBiZSBmaWx0ZXJlZCBvdXQgYnkgZGF0ZSwgYW5kIHlvdSB3aWxsIHJldHVybiB1bmZpbHRlcmVkIHNjcmFwcGVkIGRhdGEuXG4gICAqL1xuICBlbmFibGVUcmFuc2FjdGlvbnNGaWx0ZXJCeURhdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGFjY291bnRzPzogVHJhbnNhY3Rpb25zQWNjb3VudFtdO1xuICBmdXR1cmVEZWJpdHM/OiBGdXR1cmVEZWJpdFtdO1xuICBlcnJvclR5cGU/OiBTY3JhcGVyRXJyb3JUeXBlcztcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nOyAvLyBvbmx5IG9uIHN1Y2Nlc3M9ZmFsc2Vcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3JhcGVyPFRDcmVkZW50aWFscyBleHRlbmRzIFNjcmFwZXJDcmVkZW50aWFscz4ge1xuICBzY3JhcGUoY3JlZGVudGlhbHM6IFRDcmVkZW50aWFscyk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PjtcbiAgb25Qcm9ncmVzcyhmdW5jOiAoY29tcGFueUlkOiBDb21wYW55VHlwZXMsIHBheWxvYWQ6IHsgdHlwZTogU2NyYXBlclByb2dyZXNzVHlwZXMgfSkgPT4gdm9pZCk6IHZvaWQ7XG4gIHRyaWdnZXJUd29GYWN0b3JBdXRoKHBob25lTnVtYmVyOiBzdHJpbmcpOiBQcm9taXNlPFNjcmFwZXJUd29GYWN0b3JBdXRoVHJpZ2dlclJlc3VsdD47XG4gIGdldExvbmdUZXJtVHdvRmFjdG9yVG9rZW4ob3RwQ29kZTogc3RyaW5nKTogUHJvbWlzZTxTY3JhcGVyR2V0TG9uZ1Rlcm1Ud29GYWN0b3JUb2tlblJlc3VsdD47XG59XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJUd29GYWN0b3JBdXRoVHJpZ2dlclJlc3VsdCA9XG4gIHwgRXJyb3JSZXN1bHRcbiAgfCB7XG4gICAgICBzdWNjZXNzOiB0cnVlO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIFNjcmFwZXJHZXRMb25nVGVybVR3b0ZhY3RvclRva2VuUmVzdWx0ID1cbiAgfCBFcnJvclJlc3VsdFxuICB8IHtcbiAgICAgIHN1Y2Nlc3M6IHRydWU7XG4gICAgICBsb25nVGVybVR3b0ZhY3RvckF1dGhUb2tlbjogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyYXBlckxvZ2luUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgZXJyb3JUeXBlPzogU2NyYXBlckVycm9yVHlwZXM7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZzsgLy8gb25seSBvbiBzdWNjZXNzPWZhbHNlXG4gIHBlcnNpc3RlbnRPdHBUb2tlbj86IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -30,5 +30,6 @@ declare class MizrahiScraper extends BaseScraperWithBrowser<ScraperSpecificCrede
30
30
  }>;
31
31
  private getPendingTransactions;
32
32
  private fetchAccount;
33
+ private shouldMarkAsPending;
33
34
  }
34
35
  export default MizrahiScraper;
@@ -38,6 +38,7 @@ const accountDropDownItemSelector = '#AccountPicker .item';
38
38
  const pendingTrxIdentifierId = '#ctl00_ContentPlaceHolder2_panel1';
39
39
  const checkingAccountTabHebrewName = 'עובר ושב';
40
40
  const checkingAccountTabEnglishName = 'Checking Account';
41
+ const genericDescriptions = ['העברת יומן לבנק זר מסניף זר'];
41
42
  function createLoginFields(credentials) {
42
43
  return [{
43
44
  selector: usernameSelector,
@@ -118,7 +119,7 @@ function createHeadersFromRequest(request) {
118
119
  'Content-Type': request.headers()['content-type']
119
120
  };
120
121
  }
121
- async function convertTransactions(txns, getMoreDetails) {
122
+ async function convertTransactions(txns, getMoreDetails, pendingIfTodayTransaction = false) {
122
123
  return Promise.all(txns.map(async row => {
123
124
  const moreDetails = await getMoreDetails(row);
124
125
  const txnDate = (0, _moment.default)(row.MC02PeulaTaaEZ, _moment.default.HTML5_FMT.DATETIME_LOCAL_SECONDS).toISOString();
@@ -132,7 +133,7 @@ async function convertTransactions(txns, getMoreDetails) {
132
133
  chargedAmount: row.MC02SchumEZ,
133
134
  description: row.MC02TnuaTeurEZ,
134
135
  memo: moreDetails?.memo,
135
- status: _transactions.TransactionStatuses.Completed
136
+ status: pendingIfTodayTransaction && row.IsTodayTransaction ? _transactions.TransactionStatuses.Pending : _transactions.TransactionStatuses.Completed
136
137
  };
137
138
  }));
138
139
  }
@@ -232,7 +233,10 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
232
233
  const oshTxn = await convertTransactions(relevantRows, this.options.additionalTransactionInformation ? row => getExtraTransactionDetails(this.page, row, apiHeaders) : () => Promise.resolve({
233
234
  entries: {},
234
235
  memo: undefined
235
- }));
236
+ }), this.options.optInFeatures?.includes('mizrahi:pendingIfTodayTransaction'));
237
+ oshTxn.filter(txn => this.shouldMarkAsPending(txn)).forEach(txn => {
238
+ txn.status = _transactions.TransactionStatuses.Pending;
239
+ });
236
240
 
237
241
  // workaround for a bug which the bank's API returns transactions before the requested start date
238
242
  const startMoment = getStartMoment(this.options.startDate);
@@ -245,6 +249,17 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
245
249
  balance: +response.body.fields?.Yitra
246
250
  };
247
251
  }
252
+ shouldMarkAsPending(txn) {
253
+ if (this.options.optInFeatures?.includes('mizrahi:pendingIfNoIdentifier') && !txn.identifier) {
254
+ debug(`Marking transaction '${txn.description}' as pending due to no identifier.`);
255
+ return true;
256
+ }
257
+ if (this.options.optInFeatures?.includes('mizrahi:pendingIfHasGenericDescription') && genericDescriptions.includes(txn.description)) {
258
+ debug(`Marking transaction '${txn.description}' as pending due to generic description.`);
259
+ return true;
260
+ }
261
+ return false;
262
+ }
248
263
  }
249
264
  var _default = exports.default = MizrahiScraper;
250
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX2ZldGNoIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZXJyb3JzIiwiX2RlYnVnIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVidWciLCJnZXREZWJ1ZyIsIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1BBR0UiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkxTIiwiUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSIsIlBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSIsIk1PUkVfREVUQUlMU19VUkwiLCJDSEFOR0VfUEFTU1dPUkRfVVJMIiwiREFURV9GT1JNQVQiLCJNQVhfUk9XU19QRVJfUkVRVUVTVCIsInVzZXJuYW1lU2VsZWN0b3IiLCJwYXNzd29yZFNlbGVjdG9yIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciIsImFmdGVyTG9naW5TZWxlY3RvciIsImxvZ2luU3Bpbm5lclNlbGVjdG9yIiwiYWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yIiwicGVuZGluZ1RyeElkZW50aWZpZXJJZCIsImNoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWUiLCJjaGVja2luZ0FjY291bnRUYWJFbmdsaXNoTmFtZSIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImlzTG9nZ2VkSW4iLCJvcHRpb25zIiwicGFnZSIsIm9zaFhQYXRoIiwib3NoVGFiIiwiJCQiLCJsZW5ndGgiLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCIkIiwiQ2hhbmdlUGFzc3dvcmQiLCJnZXRTdGFydE1vbWVudCIsIm9wdGlvbnNTdGFydERhdGUiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJtb21lbnQiLCJzdWJ0cmFjdCIsInN0YXJ0RGF0ZSIsInRvRGF0ZSIsIm1heCIsImdldEV4dHJhVHJhbnNhY3Rpb25EZXRhaWxzIiwiaXRlbSIsImFwaUhlYWRlcnMiLCJNQzAyU2hvd0RldGFpbHNFWiIsInRhclBldWxhIiwiTUMwMlBldWxhVGFhRVoiLCJ0YXJFcmVjaCIsIk1DMDJFcmVoVGFhRVoiLCJwYXJhbXMiLCJpbktvZEdvcmVtIiwiTUMwMktvZEdvcmVtRVoiLCJpbkFzbWFjaHRhIiwiTUMwMkFzbWFodGFNZWtvcml0RVoiLCJpblNjaHVtIiwiTUMwMlNjaHVtRVoiLCJpbk5ha3Zhbml0IiwiaW5TdWdUbnVhIiwiTUMwMlN1Z1RudWFLYXNwaXRFWiIsImluQWdpZCIsIk1DMDJBZ2lkRVoiLCJpblRhclBldWxhRm9ybWF0dGVkIiwiZm9ybWF0IiwiaW5UYXJFcmVjaEZvcm1hdHRlZCIsInllYXIiLCJpbktvZE5vc2UiLCJNQzAyU2VpZk1hcmFsRVoiLCJpbktvZFRhdE5vc2UiLCJNQzAyTm9zZU1hcmFsRVoiLCJpblRyYW5zYWN0aW9uTnVtYmVyIiwiVHJhbnNhY3Rpb25OdW1iZXIiLCJyZXNwb25zZSIsImZldGNoUG9zdFdpdGhpblBhZ2UiLCJkZXRhaWxzIiwiYm9keSIsImZpZWxkcyIsIlJlY29yZHMiLCJGaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJlbnRyaWVzIiwibWFwIiwicmVjb3JkIiwiTGFiZWwiLCJ0cmltIiwiVmFsdWUiLCJPYmplY3QiLCJmcm9tRW50cmllcyIsIm1lbW8iLCJmaWx0ZXIiLCJsYWJlbCIsInNvbWUiLCJrZXkiLCJzdGFydHNXaXRoIiwiam9pbiIsImVycm9yIiwidW5kZWZpbmVkIiwiY3JlYXRlRGF0YUZyb21SZXF1ZXN0IiwicmVxdWVzdCIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJwb3N0RGF0YSIsImluRnJvbURhdGUiLCJpblRvRGF0ZSIsInRhYmxlIiwibWF4Um93IiwiY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0IiwibWl6cmFoaXhzcmZ0b2tlbiIsImhlYWRlcnMiLCJjb252ZXJ0VHJhbnNhY3Rpb25zIiwidHhucyIsImdldE1vcmVEZXRhaWxzIiwiUHJvbWlzZSIsImFsbCIsInJvdyIsIm1vcmVEZXRhaWxzIiwidHhuRGF0ZSIsIkhUTUw1X0ZNVCIsIkRBVEVUSU1FX0xPQ0FMX1NFQ09ORFMiLCJ0b0lTT1N0cmluZyIsInR5cGUiLCJUcmFuc2FjdGlvblR5cGVzIiwiTm9ybWFsIiwiaWRlbnRpZmllciIsInBhcnNlSW50IiwiZGF0ZSIsInByb2Nlc3NlZERhdGUiLCJvcmlnaW5hbEFtb3VudCIsIm9yaWdpbmFsQ3VycmVuY3kiLCJTSEVLRUxfQ1VSUkVOQ1kiLCJjaGFyZ2VkQW1vdW50IiwiZGVzY3JpcHRpb24iLCJNQzAyVG51YVRldXJFWiIsInN0YXR1cyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyIsInBlbmRpbmdUeG4iLCJwYWdlRXZhbEFsbCIsInRycyIsInRyIiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJ0ZCIsInRleHRDb250ZW50IiwiZGF0ZVN0ciIsImluY29tZUFtb3VudFN0ciIsImFtb3VudFN0ciIsImFtb3VudCIsInR4biIsIlBlbmRpbmciLCJwb3N0TG9naW4iLCJyYWNlIiwid2FpdFVudGlsRWxlbWVudEZvdW5kIiwid2FpdEZvclVybCIsIk1penJhaGlTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImxvZ2luVXJsIiwiY2hlY2tSZWFkaW5lc3MiLCJ3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIiRldmFsIiwiZWwiLCJjbGljayIsIm51bU9mQWNjb3VudHMiLCJyZXN1bHRzIiwiaSIsInB1c2giLCJmZXRjaEFjY291bnQiLCJzdWNjZXNzIiwiYWNjb3VudHMiLCJlcnJvclR5cGUiLCJTY3JhcGVyRXJyb3JUeXBlcyIsIkdlbmVyaWMiLCJlcnJvck1lc3NhZ2UiLCJtZXNzYWdlIiwiZ2V0UGVuZGluZ1RyYW5zYWN0aW9ucyIsImZyYW1lIiwid2FpdFVudGlsSWZyYW1lRm91bmQiLCJmIiwidXJsIiwiaW5jbHVkZXMiLCJpc1BlbmRpbmciLCJ0aGVuIiwiY2F0Y2giLCJ3YWl0Rm9yU2VsZWN0b3IiLCJhY2NvdW50TnVtYmVyRWxlbWVudCIsImFjY291bnROdW1iZXJIYW5kbGUiLCJnZXRQcm9wZXJ0eSIsImFjY291bnROdW1iZXIiLCJqc29uVmFsdWUiLCJFcnJvciIsImFueSIsIndhaXRGb3JSZXF1ZXN0IiwiaGVhZGVyIiwibWVzc2FnZXMiLCJ0ZXh0IiwicmVsZXZhbnRSb3dzIiwicm93cyIsIlJlY1R5cGVTcGVjaWZpZWQiLCJvc2hUeG4iLCJhZGRpdGlvbmFsVHJhbnNhY3Rpb25JbmZvcm1hdGlvbiIsInJlc29sdmUiLCJzdGFydE1vbWVudCIsIm9zaFR4bkFmdGVyU3RhcnREYXRlIiwiaXNTYW1lT3JBZnRlciIsImFsbFR4biIsImNvbmNhdCIsImJhbGFuY2UiLCJZaXRyYSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IHR5cGUgRnJhbWUsIHR5cGUgSFRUUFJlcXVlc3QsIHR5cGUgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBTSEVLRUxfQ1VSUkVOQ1kgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcGFnZUV2YWxBbGwsXG4gIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsXG4gIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbiAgd2FpdFVudGlsSWZyYW1lRm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHdhaXRGb3JVcmwgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgdHlwZSBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcywgdHlwZSBUcmFuc2FjdGlvbnNBY2NvdW50IH0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgdHlwZSBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyBTY3JhcGVyRXJyb3JUeXBlcyB9IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7IGdldERlYnVnIH0gZnJvbSAnLi4vaGVscGVycy9kZWJ1Zyc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ21penJhaGknKTtcblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIFJlY1R5cGVTcGVjaWZpZWQ6IGJvb2xlYW47XG4gIE1DMDJQZXVsYVRhYUVaOiBzdHJpbmc7XG4gIE1DMDJTY2h1bUVaOiBudW1iZXI7XG4gIE1DMDJBc21haHRhTWVrb3JpdEVaOiBzdHJpbmc7XG4gIE1DMDJUbnVhVGV1ckVaOiBzdHJpbmc7XG4gIE1DMDJFcmVoVGFhRVo6IHN0cmluZztcbiAgTUMwMlNob3dEZXRhaWxzRVo/OiBzdHJpbmc7XG4gIE1DMDJLb2RHb3JlbUVaOiBhbnk7XG4gIE1DMDJTdWdUbnVhS2FzcGl0RVo6IGFueTtcbiAgTUMwMkFnaWRFWjogYW55O1xuICBNQzAyU2VpZk1hcmFsRVo6IGFueTtcbiAgTUMwMk5vc2VNYXJhbEVaOiBhbnk7XG4gIFRyYW5zYWN0aW9uTnVtYmVyOiBhbnk7XG59XG5cbmludGVyZmFjZSBTY3JhcGVkVHJhbnNhY3Rpb25zUmVzdWx0IHtcbiAgaGVhZGVyOiB7XG4gICAgc3VjY2VzczogYm9vbGVhbjtcbiAgICBtZXNzYWdlczogeyB0ZXh0OiBzdHJpbmcgfVtdO1xuICB9O1xuICBib2R5OiB7XG4gICAgZmllbGRzOiB7XG4gICAgICBZaXRyYTogc3RyaW5nO1xuICAgIH07XG4gICAgdGFibGU6IHtcbiAgICAgIHJvd3M6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xuICAgIH07XG4gIH07XG59XG5cbnR5cGUgTW9yZURldGFpbHNSZXNwb25zZSA9IHtcbiAgYm9keToge1xuICAgIGZpZWxkczogW1xuICAgICAgW1xuICAgICAgICB7XG4gICAgICAgICAgUmVjb3JkczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBGaWVsZHM6IEFycmF5PHtcbiAgICAgICAgICAgICAgICBMYWJlbDogc3RyaW5nO1xuICAgICAgICAgICAgICAgIFZhbHVlOiBzdHJpbmc7XG4gICAgICAgICAgICAgIH0+O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LFxuICAgICAgXSxcbiAgICBdO1xuICB9O1xufTtcblxudHlwZSBNb3JlRGV0YWlscyA9IHtcbiAgZW50cmllczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgbWVtbzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuY29uc3QgQkFTRV9XRUJTSVRFX1VSTCA9ICdodHRwczovL3d3dy5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gYCR7QkFTRV9XRUJTSVRFX1VSTH0vbG9naW4vaW5kZXguaHRtbCMvYXV0aC1wYWdlLWhlYDtcbmNvbnN0IEJBU0VfQVBQX1VSTCA9ICdodHRwczovL210by5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgQUZURVJfTE9HSU5fQkFTRV9VUkwgPSAvaHR0cHM6XFwvXFwvbXRvXFwubWl6cmFoaS10ZWZhaG90XFwuY29cXC5pbFxcL09ubGluZUFwcFxcLy4qLztcbmNvbnN0IE9TSF9QQUdFID0gJy9vc2gvbGVnYWN5L2xlZ2FjeS1Pc2gtTWFpbic7XG5jb25zdCBUUkFOU0FDVElPTlNfUEFHRSA9ICcvb3NoL2xlZ2FjeS9yb290LW1haW4tb3NoLXA0MjhOZXcnO1xuY29uc3QgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMUyA9IFtcbiAgYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmVQaWxvdC9hcGkvU2t5T1NIL2dldDQyOEluZGV4YCxcbiAgYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmUvYXBpL1NreU9TSC9nZXQ0MjhJbmRleGAsXG5dO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSA9ICcvb3NoL2xlZ2FjeS9sZWdhY3ktT3NoLXA0MjAnO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FID0gJ3A0MjAuYXNweCc7XG5jb25zdCBNT1JFX0RFVEFJTFNfVVJMID0gYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmUvYXBpL09TSC9nZXRNYWhlckJlcnVyaW1TTUZgO1xuY29uc3QgQ0hBTkdFX1BBU1NXT1JEX1VSTCA9IC9odHRwczpcXC9cXC93d3dcXC5taXpyYWhpLXRlZmFob3RcXC5jb1xcLmlsXFwvbG9naW5cXC9pbmRleFxcLmh0bWwjXFwvY2hhbmdlLXBhc3MvO1xuY29uc3QgREFURV9GT1JNQVQgPSAnREQvTU0vWVlZWSc7XG5jb25zdCBNQVhfUk9XU19QRVJfUkVRVUVTVCA9IDEwMDAwMDAwMDAwO1xuXG5jb25zdCB1c2VybmFtZVNlbGVjdG9yID0gJyN1c2VyTnVtYmVyRGVza3RvcEhlYic7XG5jb25zdCBwYXNzd29yZFNlbGVjdG9yID0gJyNwYXNzd29yZERlc2t0b3BIZWInO1xuY29uc3Qgc3VibWl0QnV0dG9uU2VsZWN0b3IgPSAnYnV0dG9uLmJ0bi5idG4tcHJpbWFyeSc7XG5jb25zdCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciA9ICdhW2hyZWYqPVwiaHR0cHM6Ly9zYy5taXpyYWhpLXRlZmFob3QuY28uaWwvU0NTZXJ2aWNlcy9TQy9QMDEwLmFzcHhcIl0nO1xuY29uc3QgYWZ0ZXJMb2dpblNlbGVjdG9yID0gJyNkcm9wZG93bkJhc2ljJztcbmNvbnN0IGxvZ2luU3Bpbm5lclNlbGVjdG9yID0gJ2Rpdi5uZ3gtb3ZlcmxheS5sb2FkaW5nLWZvcmVncm91bmQnO1xuY29uc3QgYWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yID0gJyNBY2NvdW50UGlja2VyIC5pdGVtJztcbmNvbnN0IHBlbmRpbmdUcnhJZGVudGlmaWVySWQgPSAnI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjJfcGFuZWwxJztcbmNvbnN0IGNoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWUgPSAn16LXldeR16gg15XXqdeRJztcbmNvbnN0IGNoZWNraW5nQWNjb3VudFRhYkVuZ2xpc2hOYW1lID0gJ0NoZWNraW5nIEFjY291bnQnO1xuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiB1c2VybmFtZVNlbGVjdG9yLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiBwYXNzd29yZFNlbGVjdG9yLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNMb2dnZWRJbihvcHRpb25zOiB7IHBhZ2U/OiBQYWdlIHwgdW5kZWZpbmVkIH0gfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFvcHRpb25zPy5wYWdlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IG9zaFhQYXRoID0gYC8vYS8vc3Bhbltjb250YWlucyguLCBcIiR7Y2hlY2tpbmdBY2NvdW50VGFiSGVicmV3TmFtZX1cIikgb3IgY29udGFpbnMoLiwgXCIke2NoZWNraW5nQWNjb3VudFRhYkVuZ2xpc2hOYW1lfVwiKV1gO1xuICBjb25zdCBvc2hUYWIgPSBhd2FpdCBvcHRpb25zLnBhZ2UuJCQoYHhwYXRoJHtvc2hYUGF0aH1gKTtcbiAgcmV0dXJuIG9zaFRhYi5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICByZXR1cm4ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFtBRlRFUl9MT0dJTl9CQVNFX1VSTCwgaXNMb2dnZWRJbl0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4kKGludmFsaWRQYXNzd29yZFNlbGVjdG9yKSldLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbQ0hBTkdFX1BBU1NXT1JEX1VSTF0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnNTdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICByZXR1cm4gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0RXh0cmFUcmFuc2FjdGlvbkRldGFpbHMoXG4gIHBhZ2U6IFBhZ2UsXG4gIGl0ZW06IFNjcmFwZWRUcmFuc2FjdGlvbixcbiAgYXBpSGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbik6IFByb21pc2U8TW9yZURldGFpbHM+IHtcbiAgdHJ5IHtcbiAgICBkZWJ1ZygnZ2V0RXh0cmFUcmFuc2FjdGlvbkRldGFpbHMgZm9yIGl0ZW06JywgaXRlbSk7XG4gICAgaWYgKGl0ZW0uTUMwMlNob3dEZXRhaWxzRVogPT09ICcxJykge1xuICAgICAgY29uc3QgdGFyUGV1bGEgPSBtb21lbnQoaXRlbS5NQzAyUGV1bGFUYWFFWik7XG4gICAgICBjb25zdCB0YXJFcmVjaCA9IG1vbWVudChpdGVtLk1DMDJFcmVoVGFhRVopO1xuXG4gICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgIGluS29kR29yZW06IGl0ZW0uTUMwMktvZEdvcmVtRVosXG4gICAgICAgIGluQXNtYWNodGE6IGl0ZW0uTUMwMkFzbWFodGFNZWtvcml0RVosXG4gICAgICAgIGluU2NodW06IGl0ZW0uTUMwMlNjaHVtRVosXG4gICAgICAgIGluTmFrdmFuaXQ6IGl0ZW0uTUMwMktvZEdvcmVtRVosXG4gICAgICAgIGluU3VnVG51YTogaXRlbS5NQzAyU3VnVG51YUthc3BpdEVaLFxuICAgICAgICBpbkFnaWQ6IGl0ZW0uTUMwMkFnaWRFWixcbiAgICAgICAgaW5UYXJQZXVsYUZvcm1hdHRlZDogdGFyUGV1bGEuZm9ybWF0KERBVEVfRk9STUFUKSxcbiAgICAgICAgaW5UYXJFcmVjaEZvcm1hdHRlZDogKHRhckVyZWNoLnllYXIoKSA+IDIwMDAgPyB0YXJFcmVjaCA6IHRhclBldWxhKS5mb3JtYXQoREFURV9GT1JNQVQpLFxuICAgICAgICBpbktvZE5vc2U6IGl0ZW0uTUMwMlNlaWZNYXJhbEVaLFxuICAgICAgICBpbktvZFRhdE5vc2U6IGl0ZW0uTUMwMk5vc2VNYXJhbEVaLFxuICAgICAgICBpblRyYW5zYWN0aW9uTnVtYmVyOiBpdGVtLlRyYW5zYWN0aW9uTnVtYmVyLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaFBvc3RXaXRoaW5QYWdlPE1vcmVEZXRhaWxzUmVzcG9uc2U+KHBhZ2UsIE1PUkVfREVUQUlMU19VUkwsIHBhcmFtcywgYXBpSGVhZGVycyk7XG4gICAgICBjb25zdCBkZXRhaWxzID0gcmVzcG9uc2U/LmJvZHkuZmllbGRzPy5bMF0/LlswXT8uUmVjb3Jkcz8uWzBdLkZpZWxkcztcbiAgICAgIGRlYnVnKCdmZXRjaCBkZXRhaWxzIGZvcicsIHBhcmFtcywgJ2RldGFpbHM6JywgZGV0YWlscyk7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXRhaWxzKSAmJiBkZXRhaWxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgZW50cmllcyA9IGRldGFpbHMubWFwKHJlY29yZCA9PiBbcmVjb3JkLkxhYmVsLnRyaW0oKSwgcmVjb3JkLlZhbHVlLnRyaW0oKV0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGVudHJpZXM6IE9iamVjdC5mcm9tRW50cmllcyhlbnRyaWVzKSxcbiAgICAgICAgICBtZW1vOiBlbnRyaWVzXG4gICAgICAgICAgICAuZmlsdGVyKChbbGFiZWxdKSA9PiBbJ9ep150nLCAn157XlNeV16onLCAn15fXqdeR15XXnyddLnNvbWUoa2V5ID0+IGxhYmVsLnN0YXJ0c1dpdGgoa2V5KSkpXG4gICAgICAgICAgICAubWFwKChbbGFiZWwsIHZhbHVlXSkgPT4gYCR7bGFiZWx9ICR7dmFsdWV9YClcbiAgICAgICAgICAgIC5qb2luKCcsICcpLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBkZWJ1ZygnRXJyb3IgZmV0Y2hpbmcgZXh0cmEgdHJhbnNhY3Rpb24gZGV0YWlsczonLCBlcnJvcik7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVudHJpZXM6IHt9LFxuICAgIG1lbW86IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3Q6IEhUVFBSZXF1ZXN0LCBvcHRpb25zU3RhcnREYXRlOiBEYXRlKSB7XG4gIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QucG9zdERhdGEoKSB8fCAne30nKTtcblxuICBkYXRhLmluRnJvbURhdGUgPSBnZXRTdGFydE1vbWVudChvcHRpb25zU3RhcnREYXRlKS5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBkYXRhLmluVG9EYXRlID0gbW9tZW50KCkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgZGF0YS50YWJsZS5tYXhSb3cgPSBNQVhfUk9XU19QRVJfUkVRVUVTVDtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0KHJlcXVlc3Q6IEhUVFBSZXF1ZXN0KSB7XG4gIHJldHVybiB7XG4gICAgbWl6cmFoaXhzcmZ0b2tlbjogcmVxdWVzdC5oZWFkZXJzKCkubWl6cmFoaXhzcmZ0b2tlbixcbiAgICAnQ29udGVudC1UeXBlJzogcmVxdWVzdC5oZWFkZXJzKClbJ2NvbnRlbnQtdHlwZSddLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKFxuICB0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSxcbiAgZ2V0TW9yZURldGFpbHM6IChyb3c6IFNjcmFwZWRUcmFuc2FjdGlvbikgPT4gUHJvbWlzZTxNb3JlRGV0YWlscz4sXG4pOiBQcm9taXNlPFRyYW5zYWN0aW9uW10+IHtcbiAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgIHR4bnMubWFwKGFzeW5jIHJvdyA9PiB7XG4gICAgICBjb25zdCBtb3JlRGV0YWlscyA9IGF3YWl0IGdldE1vcmVEZXRhaWxzKHJvdyk7XG5cbiAgICAgIGNvbnN0IHR4bkRhdGUgPSBtb21lbnQocm93Lk1DMDJQZXVsYVRhYUVaLCBtb21lbnQuSFRNTDVfRk1ULkRBVEVUSU1FX0xPQ0FMX1NFQ09ORFMpLnRvSVNPU3RyaW5nKCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgICBpZGVudGlmaWVyOiByb3cuTUMwMkFzbWFodGFNZWtvcml0RVogPyBwYXJzZUludChyb3cuTUMwMkFzbWFodGFNZWtvcml0RVosIDEwKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGF0ZTogdHhuRGF0ZSxcbiAgICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuRGF0ZSxcbiAgICAgICAgb3JpZ2luYWxBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgICBjaGFyZ2VkQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICAgIGRlc2NyaXB0aW9uOiByb3cuTUMwMlRudWFUZXVyRVosXG4gICAgICAgIG1lbW86IG1vcmVEZXRhaWxzPy5tZW1vLFxuICAgICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgICAgfTtcbiAgICB9KSxcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMocGFnZTogRnJhbWUpOiBQcm9taXNlPFRyYW5zYWN0aW9uW10+IHtcbiAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IHBhZ2VFdmFsQWxsKHBhZ2UsICd0ci5yZ1JvdywgdHIucmdBbHRSb3cnLCBbXSwgdHJzID0+IHtcbiAgICByZXR1cm4gdHJzLm1hcCh0ciA9PiBBcnJheS5mcm9tKHRyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RkJyksIHRkID0+IHRkLnRleHRDb250ZW50IHx8ICcnKSk7XG4gIH0pO1xuXG4gIHJldHVybiBwZW5kaW5nVHhuXG4gICAgLm1hcCgoW2RhdGVTdHIsIGRlc2NyaXB0aW9uLCBpbmNvbWVBbW91bnRTdHIsIGFtb3VudFN0cl0pID0+ICh7XG4gICAgICBkYXRlOiBtb21lbnQoZGF0ZVN0ciwgJ0REL01NL1lZJykudG9JU09TdHJpbmcoKSxcbiAgICAgIGFtb3VudDogcGFyc2VJbnQoYW1vdW50U3RyLCAxMCksXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGluY29tZUFtb3VudFN0ciwgLy8gVE9ETzogaGFuZGxlIGluY29tZUFtb3VudFN0ciBvbmNlIHdlIGtub3cgdGhlIHNpZ24gb2YgaXRcbiAgICB9KSlcbiAgICAuZmlsdGVyKHR4biA9PiB0eG4uZGF0ZSlcbiAgICAubWFwKCh7IGRhdGUsIGRlc2NyaXB0aW9uLCBhbW91bnQgfSkgPT4gKHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogYW1vdW50LFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyxcbiAgICB9KSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHBvc3RMb2dpbihwYWdlOiBQYWdlKSB7XG4gIGF3YWl0IFByb21pc2UucmFjZShbXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGFmdGVyTG9naW5TZWxlY3RvciksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGludmFsaWRQYXNzd29yZFNlbGVjdG9yKSxcbiAgICB3YWl0Rm9yVXJsKHBhZ2UsIENIQU5HRV9QQVNTV09SRF9VUkwpLFxuICBdKTtcbn1cblxudHlwZSBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscyA9IHsgdXNlcm5hbWU6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9O1xuXG5jbGFzcyBNaXpyYWhpU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXI8U2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHM+IHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcixcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiB3YWl0VW50aWxFbGVtZW50RGlzYXBwZWFyKHRoaXMucGFnZSwgbG9naW5TcGlubmVyU2VsZWN0b3IpLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gcG9zdExvZ2luKHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMucGFnZSksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoJyNkcm9wZG93bkJhc2ljLCAuaXRlbScsIGVsID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCBudW1PZkFjY291bnRzID0gKGF3YWl0IHRoaXMucGFnZS4kJChhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IpKS5sZW5ndGg7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtT2ZBY2NvdW50czsgaSArPSAxKSB7XG4gICAgICAgIGlmIChpID4gMCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbCgnI2Ryb3Bkb3duQmFzaWMsIC5pdGVtJywgZWwgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgJHthY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3J9Om50aC1jaGlsZCgke2kgKyAxfSlgLCBlbCA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgICAgICByZXN1bHRzLnB1c2goYXdhaXQgdGhpcy5mZXRjaEFjY291bnQoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIGFjY291bnRzOiByZXN1bHRzLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgICBlcnJvck1lc3NhZ2U6IChlIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFBlbmRpbmdUcmFuc2FjdGlvbnMoKTogUHJvbWlzZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFfVwiXWAsIGVsID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3YWl0VW50aWxJZnJhbWVGb3VuZCh0aGlzLnBhZ2UsIGYgPT4gZi51cmwoKS5pbmNsdWRlcyhQRU5ESU5HX1RSQU5TQUNUSU9OU19JRlJBTUUpKTtcbiAgICBjb25zdCBpc1BlbmRpbmcgPSBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQoZnJhbWUsIHBlbmRpbmdUcnhJZGVudGlmaWVySWQpXG4gICAgICAudGhlbigoKSA9PiB0cnVlKVxuICAgICAgLmNhdGNoKCgpID0+IGZhbHNlKTtcbiAgICBpZiAoIWlzUGVuZGluZykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHBlbmRpbmdUeG4gPSBhd2FpdCBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhmcmFtZSk7XG4gICAgcmV0dXJuIHBlbmRpbmdUeG47XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQWNjb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvclNlbGVjdG9yKGBhW2hyZWYqPVwiJHtPU0hfUEFHRX1cIl1gKTtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYGFbaHJlZio9XCIke09TSF9QQUdFfVwiXWAsIGVsID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHRoaXMucGFnZSwgYGFbaHJlZio9XCIke1RSQU5TQUNUSU9OU19QQUdFfVwiXWApO1xuICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgYVtocmVmKj1cIiR7VFJBTlNBQ1RJT05TX1BBR0V9XCJdYCwgZWwgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcblxuICAgIGNvbnN0IGFjY291bnROdW1iZXJFbGVtZW50ID0gYXdhaXQgdGhpcy5wYWdlLiQoJyNkcm9wZG93bkJhc2ljIGIgc3BhbicpO1xuICAgIGNvbnN0IGFjY291bnROdW1iZXJIYW5kbGUgPSBhd2FpdCBhY2NvdW50TnVtYmVyRWxlbWVudD8uZ2V0UHJvcGVydHkoJ3RpdGxlJyk7XG4gICAgY29uc3QgYWNjb3VudE51bWJlciA9IChhd2FpdCBhY2NvdW50TnVtYmVySGFuZGxlPy5qc29uVmFsdWUoKSkgYXMgc3RyaW5nO1xuICAgIGlmICghYWNjb3VudE51bWJlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBY2NvdW50IG51bWJlciBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBbcmVzcG9uc2UsIGFwaUhlYWRlcnNdID0gYXdhaXQgUHJvbWlzZS5hbnkoXG4gICAgICBUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkxTLm1hcChhc3luYyB1cmwgPT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5wYWdlLndhaXRGb3JSZXF1ZXN0KHVybCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBjcmVhdGVEYXRhRnJvbVJlcXVlc3QocmVxdWVzdCwgdGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSk7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICAgICAgcmV0dXJuIFthd2FpdCBmZXRjaFBvc3RXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQ+KHRoaXMucGFnZSwgdXJsLCBkYXRhLCBoZWFkZXJzKSwgaGVhZGVyc10gYXMgY29uc3Q7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgaWYgKCFyZXNwb25zZSB8fCByZXNwb25zZS5oZWFkZXIuc3VjY2VzcyA9PT0gZmFsc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEVycm9yIGZldGNoaW5nIHRyYW5zYWN0aW9uLiBSZXNwb25zZSBtZXNzYWdlOiAke3Jlc3BvbnNlID8gcmVzcG9uc2UuaGVhZGVyLm1lc3NhZ2VzWzBdLnRleHQgOiAnJ31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxldmFudFJvd3MgPSByZXNwb25zZS5ib2R5LnRhYmxlLnJvd3MuZmlsdGVyKHJvdyA9PiByb3cuUmVjVHlwZVNwZWNpZmllZCk7XG4gICAgY29uc3Qgb3NoVHhuID0gYXdhaXQgY29udmVydFRyYW5zYWN0aW9ucyhcbiAgICAgIHJlbGV2YW50Um93cyxcbiAgICAgIHRoaXMub3B0aW9ucy5hZGRpdGlvbmFsVHJhbnNhY3Rpb25JbmZvcm1hdGlvblxuICAgICAgICA/IHJvdyA9PiBnZXRFeHRyYVRyYW5zYWN0aW9uRGV0YWlscyh0aGlzLnBhZ2UsIHJvdywgYXBpSGVhZGVycylcbiAgICAgICAgOiAoKSA9PiBQcm9taXNlLnJlc29sdmUoeyBlbnRyaWVzOiB7fSwgbWVtbzogdW5kZWZpbmVkIH0pLFxuICAgICk7XG5cbiAgICAvLyB3b3JrYXJvdW5kIGZvciBhIGJ1ZyB3aGljaCB0aGUgYmFuaydzIEFQSSByZXR1cm5zIHRyYW5zYWN0aW9ucyBiZWZvcmUgdGhlIHJlcXVlc3RlZCBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBnZXRTdGFydE1vbWVudCh0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBvc2hUeG5BZnRlclN0YXJ0RGF0ZSA9IG9zaFR4bi5maWx0ZXIodHhuID0+IG1vbWVudCh0eG4uZGF0ZSkuaXNTYW1lT3JBZnRlcihzdGFydE1vbWVudCkpO1xuXG4gICAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IHRoaXMuZ2V0UGVuZGluZ1RyYW5zYWN0aW9ucygpO1xuICAgIGNvbnN0IGFsbFR4biA9IG9zaFR4bkFmdGVyU3RhcnREYXRlLmNvbmNhdChwZW5kaW5nVHhuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogYWxsVHhuLFxuICAgICAgYmFsYW5jZTogK3Jlc3BvbnNlLmJvZHkuZmllbGRzPy5ZaXRyYSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1penJhaGlTY3JhcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxxQkFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sdUJBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUE0QyxTQUFBRCx1QkFBQVUsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUU1QyxNQUFNRyxLQUFLLEdBQUcsSUFBQUMsZUFBUSxFQUFDLFNBQVMsQ0FBQztBQXlEakMsTUFBTUMsZ0JBQWdCLEdBQUcsbUNBQW1DO0FBQzVELE1BQU1DLFNBQVMsR0FBRyxHQUFHRCxnQkFBZ0IsaUNBQWlDO0FBQ3RFLE1BQU1FLFlBQVksR0FBRyxtQ0FBbUM7QUFDeEQsTUFBTUMsb0JBQW9CLEdBQUcs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
265
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX2ZldGNoIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZXJyb3JzIiwiX2RlYnVnIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVidWciLCJnZXREZWJ1ZyIsIkJBU0VfV0VCU0lURV9VUkwiLCJMT0dJTl9VUkwiLCJCQVNFX0FQUF9VUkwiLCJBRlRFUl9MT0dJTl9CQVNFX1VSTCIsIk9TSF9QQUdFIiwiVFJBTlNBQ1RJT05TX1BBR0UiLCJUUkFOU0FDVElPTlNfUkVRVUVTVF9VUkxTIiwiUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSIsIlBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSIsIk1PUkVfREVUQUlMU19VUkwiLCJDSEFOR0VfUEFTU1dPUkRfVVJMIiwiREFURV9GT1JNQVQiLCJNQVhfUk9XU19QRVJfUkVRVUVTVCIsInVzZXJuYW1lU2VsZWN0b3IiLCJwYXNzd29yZFNlbGVjdG9yIiwic3VibWl0QnV0dG9uU2VsZWN0b3IiLCJpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciIsImFmdGVyTG9naW5TZWxlY3RvciIsImxvZ2luU3Bpbm5lclNlbGVjdG9yIiwiYWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yIiwicGVuZGluZ1RyeElkZW50aWZpZXJJZCIsImNoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWUiLCJjaGVja2luZ0FjY291bnRUYWJFbmdsaXNoTmFtZSIsImdlbmVyaWNEZXNjcmlwdGlvbnMiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJpc0xvZ2dlZEluIiwib3B0aW9ucyIsInBhZ2UiLCJvc2hYUGF0aCIsIm9zaFRhYiIsIiQkIiwibGVuZ3RoIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiJCIsIkNoYW5nZVBhc3N3b3JkIiwiZ2V0U3RhcnRNb21lbnQiLCJvcHRpb25zU3RhcnREYXRlIiwiZGVmYXVsdFN0YXJ0TW9tZW50IiwibW9tZW50Iiwic3VidHJhY3QiLCJzdGFydERhdGUiLCJ0b0RhdGUiLCJtYXgiLCJnZXRFeHRyYVRyYW5zYWN0aW9uRGV0YWlscyIsIml0ZW0iLCJhcGlIZWFkZXJzIiwiTUMwMlNob3dEZXRhaWxzRVoiLCJ0YXJQZXVsYSIsIk1DMDJQZXVsYVRhYUVaIiwidGFyRXJlY2giLCJNQzAyRXJlaFRhYUVaIiwicGFyYW1zIiwiaW5Lb2RHb3JlbSIsIk1DMDJLb2RHb3JlbUVaIiwiaW5Bc21hY2h0YSIsIk1DMDJBc21haHRhTWVrb3JpdEVaIiwiaW5TY2h1bSIsIk1DMDJTY2h1bUVaIiwiaW5OYWt2YW5pdCIsImluU3VnVG51YSIsIk1DMDJTdWdUbnVhS2FzcGl0RVoiLCJpbkFnaWQiLCJNQzAyQWdpZEVaIiwiaW5UYXJQZXVsYUZvcm1hdHRlZCIsImZvcm1hdCIsImluVGFyRXJlY2hGb3JtYXR0ZWQiLCJ5ZWFyIiwiaW5Lb2ROb3NlIiwiTUMwMlNlaWZNYXJhbEVaIiwiaW5Lb2RUYXROb3NlIiwiTUMwMk5vc2VNYXJhbEVaIiwiaW5UcmFuc2FjdGlvbk51bWJlciIsIlRyYW5zYWN0aW9uTnVtYmVyIiwicmVzcG9uc2UiLCJmZXRjaFBvc3RXaXRoaW5QYWdlIiwiZGV0YWlscyIsImJvZHkiLCJmaWVsZHMiLCJSZWNvcmRzIiwiRmllbGRzIiwiQXJyYXkiLCJpc0FycmF5IiwiZW50cmllcyIsIm1hcCIsInJlY29yZCIsIkxhYmVsIiwidHJpbSIsIlZhbHVlIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJtZW1vIiwiZmlsdGVyIiwibGFiZWwiLCJzb21lIiwia2V5Iiwic3RhcnRzV2l0aCIsImpvaW4iLCJlcnJvciIsInVuZGVmaW5lZCIsImNyZWF0ZURhdGFGcm9tUmVxdWVzdCIsInJlcXVlc3QiLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwicG9zdERhdGEiLCJpbkZyb21EYXRlIiwiaW5Ub0RhdGUiLCJ0YWJsZSIsIm1heFJvdyIsImNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdCIsIm1penJhaGl4c3JmdG9rZW4iLCJoZWFkZXJzIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJnZXRNb3JlRGV0YWlscyIsInBlbmRpbmdJZlRvZGF5VHJhbnNhY3Rpb24iLCJQcm9taXNlIiwiYWxsIiwicm93IiwibW9yZURldGFpbHMiLCJ0eG5EYXRlIiwiSFRNTDVfRk1UIiwiREFURVRJTUVfTE9DQUxfU0VDT05EUyIsInRvSVNPU3RyaW5nIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwicGFyc2VJbnQiLCJkYXRlIiwicHJvY2Vzc2VkRGF0ZSIsIm9yaWdpbmFsQW1vdW50Iiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJkZXNjcmlwdGlvbiIsIk1DMDJUbnVhVGV1ckVaIiwic3RhdHVzIiwiSXNUb2RheVRyYW5zYWN0aW9uIiwiVHJhbnNhY3Rpb25TdGF0dXNlcyIsIlBlbmRpbmciLCJDb21wbGV0ZWQiLCJleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyIsInBlbmRpbmdUeG4iLCJwYWdlRXZhbEFsbCIsInRycyIsInRyIiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJ0ZCIsInRleHRDb250ZW50IiwiZGF0ZVN0ciIsImluY29tZUFtb3VudFN0ciIsImFtb3VudFN0ciIsImFtb3VudCIsInR4biIsInBvc3RMb2dpbiIsInJhY2UiLCJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJ3YWl0Rm9yVXJsIiwiTWl6cmFoaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJjaGVja1JlYWRpbmVzcyIsIndhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwiJGV2YWwiLCJlbCIsImNsaWNrIiwibnVtT2ZBY2NvdW50cyIsInJlc3VsdHMiLCJpIiwicHVzaCIsImZldGNoQWNjb3VudCIsInN1Y2Nlc3MiLCJhY2NvdW50cyIsImVycm9yVHlwZSIsIlNjcmFwZXJFcnJvclR5cGVzIiwiR2VuZXJpYyIsImVycm9yTWVzc2FnZSIsIm1lc3NhZ2UiLCJnZXRQZW5kaW5nVHJhbnNhY3Rpb25zIiwiZnJhbWUiLCJ3YWl0VW50aWxJZnJhbWVGb3VuZCIsImYiLCJ1cmwiLCJpbmNsdWRlcyIsImlzUGVuZGluZyIsInRoZW4iLCJjYXRjaCIsIndhaXRGb3JTZWxlY3RvciIsImFjY291bnROdW1iZXJFbGVtZW50IiwiYWNjb3VudE51bWJlckhhbmRsZSIsImdldFByb3BlcnR5IiwiYWNjb3VudE51bWJlciIsImpzb25WYWx1ZSIsIkVycm9yIiwiYW55Iiwid2FpdEZvclJlcXVlc3QiLCJoZWFkZXIiLCJtZXNzYWdlcyIsInRleHQiLCJyZWxldmFudFJvd3MiLCJyb3dzIiwiUmVjVHlwZVNwZWNpZmllZCIsIm9zaFR4biIsImFkZGl0aW9uYWxUcmFuc2FjdGlvbkluZm9ybWF0aW9uIiwicmVzb2x2ZSIsIm9wdEluRmVhdHVyZXMiLCJzaG91bGRNYXJrQXNQZW5kaW5nIiwiZm9yRWFjaCIsInN0YXJ0TW9tZW50Iiwib3NoVHhuQWZ0ZXJTdGFydERhdGUiLCJpc1NhbWVPckFmdGVyIiwiYWxsVHhuIiwiY29uY2F0IiwiYmFsYW5jZSIsIllpdHJhIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL21penJhaGkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgdHlwZSBGcmFtZSwgdHlwZSBIVFRQUmVxdWVzdCwgdHlwZSBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBwYWdlRXZhbEFsbCxcbiAgd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcixcbiAgd2FpdFVudGlsRWxlbWVudEZvdW5kLFxuICB3YWl0VW50aWxJZnJhbWVGb3VuZCxcbn0gZnJvbSAnLi4vaGVscGVycy9lbGVtZW50cy1pbnRlcmFjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHsgd2FpdEZvclVybCB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyB0eXBlIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblN0YXR1c2VzLCBUcmFuc2FjdGlvblR5cGVzLCB0eXBlIFRyYW5zYWN0aW9uc0FjY291bnQgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCB0eXBlIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygnbWl6cmFoaScpO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgUmVjVHlwZVNwZWNpZmllZDogYm9vbGVhbjtcbiAgTUMwMlBldWxhVGFhRVo6IHN0cmluZztcbiAgTUMwMlNjaHVtRVo6IG51bWJlcjtcbiAgTUMwMkFzbWFodGFNZWtvcml0RVo6IHN0cmluZztcbiAgTUMwMlRudWFUZXVyRVo6IHN0cmluZztcbiAgSXNUb2RheVRyYW5zYWN0aW9uOiBib29sZWFuO1xuICBNQzAyRXJlaFRhYUVaOiBzdHJpbmc7XG4gIE1DMDJTaG93RGV0YWlsc0VaPzogc3RyaW5nO1xuICBNQzAyS29kR29yZW1FWjogYW55O1xuICBNQzAyU3VnVG51YUthc3BpdEVaOiBhbnk7XG4gIE1DMDJBZ2lkRVo6IGFueTtcbiAgTUMwMlNlaWZNYXJhbEVaOiBhbnk7XG4gIE1DMDJOb3NlTWFyYWxFWjogYW55O1xuICBUcmFuc2FjdGlvbk51bWJlcjogYW55O1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uc1Jlc3VsdCB7XG4gIGhlYWRlcjoge1xuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgbWVzc2FnZXM6IHsgdGV4dDogc3RyaW5nIH1bXTtcbiAgfTtcbiAgYm9keToge1xuICAgIGZpZWxkczoge1xuICAgICAgWWl0cmE6IHN0cmluZztcbiAgICB9O1xuICAgIHRhYmxlOiB7XG4gICAgICByb3dzOiBTY3JhcGVkVHJhbnNhY3Rpb25bXTtcbiAgICB9O1xuICB9O1xufVxuXG50eXBlIE1vcmVEZXRhaWxzUmVzcG9uc2UgPSB7XG4gIGJvZHk6IHtcbiAgICBmaWVsZHM6IFtcbiAgICAgIFtcbiAgICAgICAge1xuICAgICAgICAgIFJlY29yZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgRmllbGRzOiBBcnJheTx7XG4gICAgICAgICAgICAgICAgTGFiZWw6IHN0cmluZztcbiAgICAgICAgICAgICAgICBWYWx1ZTogc3RyaW5nO1xuICAgICAgICAgICAgICB9PjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgXTtcbiAgfTtcbn07XG5cbnR5cGUgTW9yZURldGFpbHMgPSB7XG4gIGVudHJpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIG1lbW86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IEJBU0VfV0VCU0lURV9VUkwgPSAnaHR0cHM6Ly93d3cubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IExPR0lOX1VSTCA9IGAke0JBU0VfV0VCU0lURV9VUkx9L2xvZ2luL2luZGV4Lmh0bWwjL2F1dGgtcGFnZS1oZWA7XG5jb25zdCBCQVNFX0FQUF9VUkwgPSAnaHR0cHM6Ly9tdG8ubWl6cmFoaS10ZWZhaG90LmNvLmlsJztcbmNvbnN0IEFGVEVSX0xPR0lOX0JBU0VfVVJMID0gL2h0dHBzOlxcL1xcL210b1xcLm1penJhaGktdGVmYWhvdFxcLmNvXFwuaWxcXC9PbmxpbmVBcHBcXC8uKi87XG5jb25zdCBPU0hfUEFHRSA9ICcvb3NoL2xlZ2FjeS9sZWdhY3ktT3NoLU1haW4nO1xuY29uc3QgVFJBTlNBQ1RJT05TX1BBR0UgPSAnL29zaC9sZWdhY3kvcm9vdC1tYWluLW9zaC1wNDI4TmV3JztcbmNvbnN0IFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTFMgPSBbXG4gIGAke0JBU0VfQVBQX1VSTH0vT25saW5lUGlsb3QvYXBpL1NreU9TSC9nZXQ0MjhJbmRleGAsXG4gIGAke0JBU0VfQVBQX1VSTH0vT25saW5lL2FwaS9Ta3lPU0gvZ2V0NDI4SW5kZXhgLFxuXTtcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX1BBR0UgPSAnL29zaC9sZWdhY3kvbGVnYWN5LU9zaC1wNDIwJztcbmNvbnN0IFBFTkRJTkdfVFJBTlNBQ1RJT05TX0lGUkFNRSA9ICdwNDIwLmFzcHgnO1xuY29uc3QgTU9SRV9ERVRBSUxTX1VSTCA9IGAke0JBU0VfQVBQX1VSTH0vT25saW5lL2FwaS9PU0gvZ2V0TWFoZXJCZXJ1cmltU01GYDtcbmNvbnN0IENIQU5HRV9QQVNTV09SRF9VUkwgPSAvaHR0cHM6XFwvXFwvd3d3XFwubWl6cmFoaS10ZWZhaG90XFwuY29cXC5pbFxcL2xvZ2luXFwvaW5kZXhcXC5odG1sI1xcL2NoYW5nZS1wYXNzLztcbmNvbnN0IERBVEVfRk9STUFUID0gJ0REL01NL1lZWVknO1xuY29uc3QgTUFYX1JPV1NfUEVSX1JFUVVFU1QgPSAxMDAwMDAwMDAwMDtcblxuY29uc3QgdXNlcm5hbWVTZWxlY3RvciA9ICcjdXNlck51bWJlckRlc2t0b3BIZWInO1xuY29uc3QgcGFzc3dvcmRTZWxlY3RvciA9ICcjcGFzc3dvcmREZXNrdG9wSGViJztcbmNvbnN0IHN1Ym1pdEJ1dHRvblNlbGVjdG9yID0gJ2J1dHRvbi5idG4uYnRuLXByaW1hcnknO1xuY29uc3QgaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IgPSAnYVtocmVmKj1cImh0dHBzOi8vc2MubWl6cmFoaS10ZWZhaG90LmNvLmlsL1NDU2VydmljZXMvU0MvUDAxMC5hc3B4XCJdJztcbmNvbnN0IGFmdGVyTG9naW5TZWxlY3RvciA9ICcjZHJvcGRvd25CYXNpYyc7XG5jb25zdCBsb2dpblNwaW5uZXJTZWxlY3RvciA9ICdkaXYubmd4LW92ZXJsYXkubG9hZGluZy1mb3JlZ3JvdW5kJztcbmNvbnN0IGFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciA9ICcjQWNjb3VudFBpY2tlciAuaXRlbSc7XG5jb25zdCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkID0gJyNjdGwwMF9Db250ZW50UGxhY2VIb2xkZXIyX3BhbmVsMSc7XG5jb25zdCBjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lID0gJ9ei15XXkdeoINeV16nXkSc7XG5jb25zdCBjaGVja2luZ0FjY291bnRUYWJFbmdsaXNoTmFtZSA9ICdDaGVja2luZyBBY2NvdW50JztcbmNvbnN0IGdlbmVyaWNEZXNjcmlwdGlvbnMgPSBbJ9eU16LXkdeo16og15nXldee158g15zXkdeg16cg15bXqCDXnteh16DXmdejINeW16gnXTtcblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogdXNlcm5hbWVTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogcGFzc3dvcmRTZWxlY3RvciwgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGlzTG9nZ2VkSW4ob3B0aW9uczogeyBwYWdlPzogUGFnZSB8IHVuZGVmaW5lZCB9IHwgdW5kZWZpbmVkKSB7XG4gIGlmICghb3B0aW9ucz8ucGFnZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBvc2hYUGF0aCA9IGAvL2EvL3NwYW5bY29udGFpbnMoLiwgXCIke2NoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWV9XCIpIG9yIGNvbnRhaW5zKC4sIFwiJHtjaGVja2luZ0FjY291bnRUYWJFbmdsaXNoTmFtZX1cIildYDtcbiAgY29uc3Qgb3NoVGFiID0gYXdhaXQgb3B0aW9ucy5wYWdlLiQkKGB4cGF0aCR7b3NoWFBhdGh9YCk7XG4gIHJldHVybiBvc2hUYWIubGVuZ3RoID4gMDtcbn1cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMocGFnZTogUGFnZSk6IFBvc3NpYmxlTG9naW5SZXN1bHRzIHtcbiAgcmV0dXJuIHtcbiAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbQUZURVJfTE9HSU5fQkFTRV9VUkwsIGlzTG9nZ2VkSW5dLFxuICAgIFtMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXTogW2FzeW5jICgpID0+ICEhKGF3YWl0IHBhZ2UuJChpbnZhbGlkUGFzc3dvcmRTZWxlY3RvcikpXSxcbiAgICBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogW0NIQU5HRV9QQVNTV09SRF9VUkxdLFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vbWVudChvcHRpb25zU3RhcnREYXRlOiBEYXRlKSB7XG4gIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpO1xuICBjb25zdCBzdGFydERhdGUgPSBvcHRpb25zU3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgcmV0dXJuIG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEV4dHJhVHJhbnNhY3Rpb25EZXRhaWxzKFxuICBwYWdlOiBQYWdlLFxuICBpdGVtOiBTY3JhcGVkVHJhbnNhY3Rpb24sXG4gIGFwaUhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4pOiBQcm9taXNlPE1vcmVEZXRhaWxzPiB7XG4gIHRyeSB7XG4gICAgZGVidWcoJ2dldEV4dHJhVHJhbnNhY3Rpb25EZXRhaWxzIGZvciBpdGVtOicsIGl0ZW0pO1xuICAgIGlmIChpdGVtLk1DMDJTaG93RGV0YWlsc0VaID09PSAnMScpIHtcbiAgICAgIGNvbnN0IHRhclBldWxhID0gbW9tZW50KGl0ZW0uTUMwMlBldWxhVGFhRVopO1xuICAgICAgY29uc3QgdGFyRXJlY2ggPSBtb21lbnQoaXRlbS5NQzAyRXJlaFRhYUVaKTtcblxuICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICBpbktvZEdvcmVtOiBpdGVtLk1DMDJLb2RHb3JlbUVaLFxuICAgICAgICBpbkFzbWFjaHRhOiBpdGVtLk1DMDJBc21haHRhTWVrb3JpdEVaLFxuICAgICAgICBpblNjaHVtOiBpdGVtLk1DMDJTY2h1bUVaLFxuICAgICAgICBpbk5ha3Zhbml0OiBpdGVtLk1DMDJLb2RHb3JlbUVaLFxuICAgICAgICBpblN1Z1RudWE6IGl0ZW0uTUMwMlN1Z1RudWFLYXNwaXRFWixcbiAgICAgICAgaW5BZ2lkOiBpdGVtLk1DMDJBZ2lkRVosXG4gICAgICAgIGluVGFyUGV1bGFGb3JtYXR0ZWQ6IHRhclBldWxhLmZvcm1hdChEQVRFX0ZPUk1BVCksXG4gICAgICAgIGluVGFyRXJlY2hGb3JtYXR0ZWQ6ICh0YXJFcmVjaC55ZWFyKCkgPiAyMDAwID8gdGFyRXJlY2ggOiB0YXJQZXVsYSkuZm9ybWF0KERBVEVfRk9STUFUKSxcbiAgICAgICAgaW5Lb2ROb3NlOiBpdGVtLk1DMDJTZWlmTWFyYWxFWixcbiAgICAgICAgaW5Lb2RUYXROb3NlOiBpdGVtLk1DMDJOb3NlTWFyYWxFWixcbiAgICAgICAgaW5UcmFuc2FjdGlvbk51bWJlcjogaXRlbS5UcmFuc2FjdGlvbk51bWJlcixcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hQb3N0V2l0aGluUGFnZTxNb3JlRGV0YWlsc1Jlc3BvbnNlPihwYWdlLCBNT1JFX0RFVEFJTFNfVVJMLCBwYXJhbXMsIGFwaUhlYWRlcnMpO1xuICAgICAgY29uc3QgZGV0YWlscyA9IHJlc3BvbnNlPy5ib2R5LmZpZWxkcz8uWzBdPy5bMF0/LlJlY29yZHM/LlswXS5GaWVsZHM7XG4gICAgICBkZWJ1ZygnZmV0Y2ggZGV0YWlscyBmb3InLCBwYXJhbXMsICdkZXRhaWxzOicsIGRldGFpbHMpO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGV0YWlscykgJiYgZGV0YWlscy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGVudHJpZXMgPSBkZXRhaWxzLm1hcChyZWNvcmQgPT4gW3JlY29yZC5MYWJlbC50cmltKCksIHJlY29yZC5WYWx1ZS50cmltKCldKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBlbnRyaWVzOiBPYmplY3QuZnJvbUVudHJpZXMoZW50cmllcyksXG4gICAgICAgICAgbWVtbzogZW50cmllc1xuICAgICAgICAgICAgLmZpbHRlcigoW2xhYmVsXSkgPT4gWyfXqdedJywgJ9ee15TXldeqJywgJ9eX16nXkdeV158nXS5zb21lKGtleSA9PiBsYWJlbC5zdGFydHNXaXRoKGtleSkpKVxuICAgICAgICAgICAgLm1hcCgoW2xhYmVsLCB2YWx1ZV0pID0+IGAke2xhYmVsfSAke3ZhbHVlfWApXG4gICAgICAgICAgICAuam9pbignLCAnKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgZGVidWcoJ0Vycm9yIGZldGNoaW5nIGV4dHJhIHRyYW5zYWN0aW9uIGRldGFpbHM6JywgZXJyb3IpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbnRyaWVzOiB7fSxcbiAgICBtZW1vOiB1bmRlZmluZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURhdGFGcm9tUmVxdWVzdChyZXF1ZXN0OiBIVFRQUmVxdWVzdCwgb3B0aW9uc1N0YXJ0RGF0ZTogRGF0ZSkge1xuICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShyZXF1ZXN0LnBvc3REYXRhKCkgfHwgJ3t9Jyk7XG5cbiAgZGF0YS5pbkZyb21EYXRlID0gZ2V0U3RhcnRNb21lbnQob3B0aW9uc1N0YXJ0RGF0ZSkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgZGF0YS5pblRvRGF0ZSA9IG1vbWVudCgpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGRhdGEudGFibGUubWF4Um93ID0gTUFYX1JPV1NfUEVSX1JFUVVFU1Q7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUhlYWRlcnNGcm9tUmVxdWVzdChyZXF1ZXN0OiBIVFRQUmVxdWVzdCkge1xuICByZXR1cm4ge1xuICAgIG1penJhaGl4c3JmdG9rZW46IHJlcXVlc3QuaGVhZGVycygpLm1penJhaGl4c3JmdG9rZW4sXG4gICAgJ0NvbnRlbnQtVHlwZSc6IHJlcXVlc3QuaGVhZGVycygpWydjb250ZW50LXR5cGUnXSxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyhcbiAgdHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10sXG4gIGdldE1vcmVEZXRhaWxzOiAocm93OiBTY3JhcGVkVHJhbnNhY3Rpb24pID0+IFByb21pc2U8TW9yZURldGFpbHM+LFxuICBwZW5kaW5nSWZUb2RheVRyYW5zYWN0aW9uOiBib29sZWFuID0gZmFsc2UsXG4pOiBQcm9taXNlPFRyYW5zYWN0aW9uW10+IHtcbiAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgIHR4bnMubWFwKGFzeW5jIHJvdyA9PiB7XG4gICAgICBjb25zdCBtb3JlRGV0YWlscyA9IGF3YWl0IGdldE1vcmVEZXRhaWxzKHJvdyk7XG5cbiAgICAgIGNvbnN0IHR4bkRhdGUgPSBtb21lbnQocm93Lk1DMDJQZXVsYVRhYUVaLCBtb21lbnQuSFRNTDVfRk1ULkRBVEVUSU1FX0xPQ0FMX1NFQ09ORFMpLnRvSVNPU3RyaW5nKCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgICBpZGVudGlmaWVyOiByb3cuTUMwMkFzbWFodGFNZWtvcml0RVogPyBwYXJzZUludChyb3cuTUMwMkFzbWFodGFNZWtvcml0RVosIDEwKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGF0ZTogdHhuRGF0ZSxcbiAgICAgICAgcHJvY2Vzc2VkRGF0ZTogdHhuRGF0ZSxcbiAgICAgICAgb3JpZ2luYWxBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgICBjaGFyZ2VkQW1vdW50OiByb3cuTUMwMlNjaHVtRVosXG4gICAgICAgIGRlc2NyaXB0aW9uOiByb3cuTUMwMlRudWFUZXVyRVosXG4gICAgICAgIG1lbW86IG1vcmVEZXRhaWxzPy5tZW1vLFxuICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgcGVuZGluZ0lmVG9kYXlUcmFuc2FjdGlvbiAmJiByb3cuSXNUb2RheVRyYW5zYWN0aW9uXG4gICAgICAgICAgICA/IFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZ1xuICAgICAgICAgICAgOiBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCxcbiAgICAgIH07XG4gICAgfSksXG4gICk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV4dHJhY3RQZW5kaW5nVHJhbnNhY3Rpb25zKHBhZ2U6IEZyYW1lKTogUHJvbWlzZTxUcmFuc2FjdGlvbltdPiB7XG4gIGNvbnN0IHBlbmRpbmdUeG4gPSBhd2FpdCBwYWdlRXZhbEFsbChwYWdlLCAndHIucmdSb3csIHRyLnJnQWx0Um93JywgW10sIHRycyA9PiB7XG4gICAgcmV0dXJuIHRycy5tYXAodHIgPT4gQXJyYXkuZnJvbSh0ci5xdWVyeVNlbGVjdG9yQWxsKCd0ZCcpLCB0ZCA9PiB0ZC50ZXh0Q29udGVudCB8fCAnJykpO1xuICB9KTtcblxuICByZXR1cm4gcGVuZGluZ1R4blxuICAgIC5tYXAoKFtkYXRlU3RyLCBkZXNjcmlwdGlvbiwgaW5jb21lQW1vdW50U3RyLCBhbW91bnRTdHJdKSA9PiAoe1xuICAgICAgZGF0ZTogbW9tZW50KGRhdGVTdHIsICdERC9NTS9ZWScpLnRvSVNPU3RyaW5nKCksXG4gICAgICBhbW91bnQ6IHBhcnNlSW50KGFtb3VudFN0ciwgMTApLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBpbmNvbWVBbW91bnRTdHIsIC8vIFRPRE86IGhhbmRsZSBpbmNvbWVBbW91bnRTdHIgb25jZSB3ZSBrbm93IHRoZSBzaWduIG9mIGl0XG4gICAgfSkpXG4gICAgLmZpbHRlcih0eG4gPT4gdHhuLmRhdGUpXG4gICAgLm1hcCgoeyBkYXRlLCBkZXNjcmlwdGlvbiwgYW1vdW50IH0pID0+ICh7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiBkYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IGFtb3VudCxcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzLlBlbmRpbmcsXG4gICAgfSkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0TG9naW4ocGFnZTogUGFnZSkge1xuICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBhZnRlckxvZ2luU2VsZWN0b3IpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciksXG4gICAgd2FpdEZvclVybChwYWdlLCBDSEFOR0VfUEFTU1dPUkRfVVJMKSxcbiAgXSk7XG59XG5cbnR5cGUgU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMgPSB7IHVzZXJuYW1lOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfTtcblxuY2xhc3MgTWl6cmFoaVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3IsXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcih0aGlzLnBhZ2UsIGxvZ2luU3Bpbm5lclNlbGVjdG9yKSxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHBvc3RMb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyh0aGlzLnBhZ2UpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKCcjZHJvcGRvd25CYXNpYywgLml0ZW0nLCBlbCA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuXG4gICAgY29uc3QgbnVtT2ZBY2NvdW50cyA9IChhd2FpdCB0aGlzLnBhZ2UuJCQoYWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yKSkubGVuZ3RoO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdHM6IFRyYW5zYWN0aW9uc0FjY291bnRbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bU9mQWNjb3VudHM7IGkgKz0gMSkge1xuICAgICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoJyNkcm9wZG93bkJhc2ljLCAuaXRlbScsIGVsID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYCR7YWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yfTpudGgtY2hpbGQoJHtpICsgMX0pYCwgZWwgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICAgICAgcmVzdWx0cy5wdXNoKGF3YWl0IHRoaXMuZmV0Y2hBY2NvdW50KCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBhY2NvdW50czogcmVzdWx0cyxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yVHlwZTogU2NyYXBlckVycm9yVHlwZXMuR2VuZXJpYyxcbiAgICAgICAgZXJyb3JNZXNzYWdlOiAoZSBhcyBFcnJvcikubWVzc2FnZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRQZW5kaW5nVHJhbnNhY3Rpb25zKCk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xuICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbChgYVtocmVmKj1cIiR7UEVORElOR19UUkFOU0FDVElPTlNfUEFHRX1cIl1gLCBlbCA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2FpdFVudGlsSWZyYW1lRm91bmQodGhpcy5wYWdlLCBmID0+IGYudXJsKCkuaW5jbHVkZXMoUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FKSk7XG4gICAgY29uc3QgaXNQZW5kaW5nID0gYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkKVxuICAgICAgLnRoZW4oKCkgPT4gdHJ1ZSlcbiAgICAgIC5jYXRjaCgoKSA9PiBmYWxzZSk7XG4gICAgaWYgKCFpc1BlbmRpbmcpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgZXh0cmFjdFBlbmRpbmdUcmFuc2FjdGlvbnMoZnJhbWUpO1xuICAgIHJldHVybiBwZW5kaW5nVHhuO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaEFjY291bnQoKSB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLndhaXRGb3JTZWxlY3RvcihgYVtocmVmKj1cIiR7T1NIX1BBR0V9XCJdYCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtPU0hfUEFHRX1cIl1gLCBlbCA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZCh0aGlzLnBhZ2UsIGBhW2hyZWYqPVwiJHtUUkFOU0FDVElPTlNfUEFHRX1cIl1gKTtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYGFbaHJlZio9XCIke1RSQU5TQUNUSU9OU19QQUdFfVwiXWAsIGVsID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCBhY2NvdW50TnVtYmVyRWxlbWVudCA9IGF3YWl0IHRoaXMucGFnZS4kKCcjZHJvcGRvd25CYXNpYyBiIHNwYW4nKTtcbiAgICBjb25zdCBhY2NvdW50TnVtYmVySGFuZGxlID0gYXdhaXQgYWNjb3VudE51bWJlckVsZW1lbnQ/LmdldFByb3BlcnR5KCd0aXRsZScpO1xuICAgIGNvbnN0IGFjY291bnROdW1iZXIgPSAoYXdhaXQgYWNjb3VudE51bWJlckhhbmRsZT8uanNvblZhbHVlKCkpIGFzIHN0cmluZztcbiAgICBpZiAoIWFjY291bnROdW1iZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQWNjb3VudCBudW1iZXIgbm90IGZvdW5kJyk7XG4gICAgfVxuXG4gICAgY29uc3QgW3Jlc3BvbnNlLCBhcGlIZWFkZXJzXSA9IGF3YWl0IFByb21pc2UuYW55KFxuICAgICAgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMUy5tYXAoYXN5bmMgdXJsID0+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHRoaXMucGFnZS53YWl0Rm9yUmVxdWVzdCh1cmwpO1xuICAgICAgICBjb25zdCBkYXRhID0gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3QsIHRoaXMub3B0aW9ucy5zdGFydERhdGUpO1xuICAgICAgICBjb25zdCBoZWFkZXJzID0gY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0KHJlcXVlc3QpO1xuXG4gICAgICAgIHJldHVybiBbYXdhaXQgZmV0Y2hQb3N0V2l0aGluUGFnZTxTY3JhcGVkVHJhbnNhY3Rpb25zUmVzdWx0Pih0aGlzLnBhZ2UsIHVybCwgZGF0YSwgaGVhZGVycyksIGhlYWRlcnNdIGFzIGNvbnN0O1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIGlmICghcmVzcG9uc2UgfHwgcmVzcG9uc2UuaGVhZGVyLnN1Y2Nlc3MgPT09IGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFcnJvciBmZXRjaGluZyB0cmFuc2FjdGlvbi4gUmVzcG9uc2UgbWVzc2FnZTogJHtyZXNwb25zZSA/IHJlc3BvbnNlLmhlYWRlci5tZXNzYWdlc1swXS50ZXh0IDogJyd9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZXZhbnRSb3dzID0gcmVzcG9uc2UuYm9keS50YWJsZS5yb3dzLmZpbHRlcihyb3cgPT4gcm93LlJlY1R5cGVTcGVjaWZpZWQpO1xuICAgIGNvbnN0IG9zaFR4biA9IGF3YWl0IGNvbnZlcnRUcmFuc2FjdGlvbnMoXG4gICAgICByZWxldmFudFJvd3MsXG4gICAgICB0aGlzLm9wdGlvbnMuYWRkaXRpb25hbFRyYW5zYWN0aW9uSW5mb3JtYXRpb25cbiAgICAgICAgPyByb3cgPT4gZ2V0RXh0cmFUcmFuc2FjdGlvbkRldGFpbHModGhpcy5wYWdlLCByb3csIGFwaUhlYWRlcnMpXG4gICAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHsgZW50cmllczoge30sIG1lbW86IHVuZGVmaW5lZCB9KSxcbiAgICAgIHRoaXMub3B0aW9ucy5vcHRJbkZlYXR1cmVzPy5pbmNsdWRlcygnbWl6cmFoaTpwZW5kaW5nSWZUb2RheVRyYW5zYWN0aW9uJyksXG4gICAgKTtcblxuICAgIG9zaFR4blxuICAgICAgLmZpbHRlcih0eG4gPT4gdGhpcy5zaG91bGRNYXJrQXNQZW5kaW5nKHR4bikpXG4gICAgICAuZm9yRWFjaCh0eG4gPT4ge1xuICAgICAgICB0eG4uc3RhdHVzID0gVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nO1xuICAgICAgfSk7XG5cbiAgICAvLyB3b3JrYXJvdW5kIGZvciBhIGJ1ZyB3aGljaCB0aGUgYmFuaydzIEFQSSByZXR1cm5zIHRyYW5zYWN0aW9ucyBiZWZvcmUgdGhlIHJlcXVlc3RlZCBzdGFydCBkYXRlXG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBnZXRTdGFydE1vbWVudCh0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICBjb25zdCBvc2hUeG5BZnRlclN0YXJ0RGF0ZSA9IG9zaFR4bi5maWx0ZXIodHhuID0+IG1vbWVudCh0eG4uZGF0ZSkuaXNTYW1lT3JBZnRlcihzdGFydE1vbWVudCkpO1xuXG4gICAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IHRoaXMuZ2V0UGVuZGluZ1RyYW5zYWN0aW9ucygpO1xuICAgIGNvbnN0IGFsbFR4biA9IG9zaFR4bkFmdGVyU3RhcnREYXRlLmNvbmNhdChwZW5kaW5nVHhuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogYWxsVHhuLFxuICAgICAgYmFsYW5jZTogK3Jlc3BvbnNlLmJvZHkuZmllbGRzPy5ZaXRyYSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRNYXJrQXNQZW5kaW5nKHR4bjogVHJhbnNhY3Rpb24pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLm9wdEluRmVhdHVyZXM/LmluY2x1ZGVzKCdtaXpyYWhpOnBlbmRpbmdJZk5vSWRlbnRpZmllcicpICYmICF0eG4uaWRlbnRpZmllcikge1xuICAgICAgZGVidWcoYE1hcmtpbmcgdHJhbnNhY3Rpb24gJyR7dHhuLmRlc2NyaXB0aW9ufScgYXMgcGVuZGluZyBkdWUgdG8gbm8gaWRlbnRpZmllci5gKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMub3B0aW9ucy5vcHRJbkZlYXR1cmVzPy5pbmNsdWRlcygnbWl6cmFoaTpwZW5kaW5nSWZIYXNHZW5lcmljRGVzY3JpcHRpb24nKSAmJlxuICAgICAgZ2VuZXJpY0Rlc2NyaXB0aW9ucy5pbmNsdWRlcyh0eG4uZGVzY3JpcHRpb24pXG4gICAgKSB7XG4gICAgICBkZWJ1ZyhgTWFya2luZyB0cmFuc2FjdGlvbiAnJHt0eG4uZGVzY3JpcHRpb259JyBhcyBwZW5kaW5nIGR1ZSB0byBnZW5lcmljIGRlc2NyaXB0aW9uLmApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1penJhaGlTY3JhcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxxQkFBQSxHQUFBRixPQUFBO0FBTUEsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sdUJB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
@@ -36,6 +36,7 @@ describe('Mizrahi scraper', () => {
36
36
  (0, _testsUtils.maybeTestCompanyAPI)(COMPANY_ID)('should scrape transactions', async () => {
37
37
  const options = {
38
38
  ...testsConfig.options,
39
+ optInFeatures: ['mizrahi:pendingIfHasGenericDescription', 'mizrahi:pendingIfHasGenericDescriptionWithDate', 'mizrahi:pendingIfTodayTransaction'],
39
40
  companyId: COMPANY_ID
40
41
  };
41
42
  const scraper = new _mizrahi.default(options);
@@ -52,4 +53,4 @@ describe('Mizrahi scraper', () => {
52
53
  (0, _testsUtils.exportTransactions)(COMPANY_ID, result.accounts || []);
53
54
  });
54
55
  });
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWl6cmFoaSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Rlc3RzVXRpbHMiLCJfZGVmaW5pdGlvbnMiLCJfY29uc3RhbnRzIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZGVidWciLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZWJ1ZyIsImVuYWJsZSIsIkNPTVBBTllfSUQiLCJ0ZXN0c0NvbmZpZyIsImdldFRlc3RzQ29uZmlnIiwiZGVzY3JpYmUiLCJiZWZvcmVBbGwiLCJleHRlbmRBc3luY1RpbWVvdXQiLCJ0ZXN0IiwiZXhwZWN0IiwiU0NSQVBFUlMiLCJtaXpyYWhpIiwidG9CZURlZmluZWQiLCJsb2dpbkZpZWxkcyIsInRvQ29udGFpbiIsIm1heWJlVGVzdENvbXBhbnlBUEkiLCJjb25maWciLCJjb21wYW55QVBJIiwiaW52YWxpZFBhc3N3b3JkIiwib3B0aW9ucyIsImNvbXBhbnlJZCIsInNjcmFwZXIiLCJNaXpyYWhpU2NyYXBlciIsInJlc3VsdCIsInNjcmFwZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJzdWNjZXNzIiwidG9CZUZhbHN5IiwiZXJyb3JUeXBlIiwidG9CZSIsIkxvZ2luUmVzdWx0cyIsIkludmFsaWRQYXNzd29yZCIsImNyZWRlbnRpYWxzIiwiZXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJ0cmltIiwidG9CZVRydXRoeSIsImFjY291bnRzIiwibGVuZ3RoIiwidG9CZUdyZWF0ZXJUaGFuIiwiYWNjb3VudCIsImFjY291bnROdW1iZXIiLCJub3QiLCJ0eG5zIiwiZGF0ZSIsInRvTWF0Y2giLCJJU09fREFURV9SRUdFWCIsImV4cG9ydFRyYW5zYWN0aW9ucyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1penJhaGlTY3JhcGVyIGZyb20gJy4vbWl6cmFoaSc7XG5pbXBvcnQgeyBtYXliZVRlc3RDb21wYW55QVBJLCBleHRlbmRBc3luY1RpbWVvdXQsIGdldFRlc3RzQ29uZmlnLCBleHBvcnRUcmFuc2FjdGlvbnMgfSBmcm9tICcuLi90ZXN0cy90ZXN0cy11dGlscyc7XG5pbXBvcnQgeyBTQ1JBUEVSUyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IElTT19EQVRFX1JFR0VYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB0eXBlIFRyYW5zYWN0aW9uc0FjY291bnQgfSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuZGVidWcuZW5hYmxlKCdpc3JhZWxpLWJhbmstc2NyYXBlcnM6bWl6cmFoaScpO1xuXG5jb25zdCBDT01QQU5ZX0lEID0gJ21penJhaGknOyAvLyBUT0RPIHRoaXMgcHJvcGVydHkgc2hvdWxkIGJlIGhhcmQtY29kZWQgaW4gdGhlIHByb3ZpZGVyXG5jb25zdCB0ZXN0c0NvbmZpZyA9IGdldFRlc3RzQ29uZmlnKCk7XG5cbmRlc2NyaWJlKCdNaXpyYWhpIHNjcmFwZXInLCAoKSA9PiB7XG4gIGJlZm9yZUFsbCgoKSA9PiB7XG4gICAgZXh0ZW5kQXN5bmNUaW1lb3V0KCk7IC8vIFRoZSBkZWZhdWx0IHRpbWVvdXQgaXMgNSBzZWNvbmRzIHBlciBhc3luYyB0ZXN0LCB0aGlzIGZ1bmN0aW9uIGV4dGVuZHMgdGhlIHRpbWVvdXQgdmFsdWVcbiAgfSk7XG5cbiAgdGVzdCgnc2hvdWxkIGV4cG9zZSBsb2dpbiBmaWVsZHMgaW4gc2NyYXBlcnMgY29uc3RhbnQnLCAoKSA9PiB7XG4gICAgZXhwZWN0KFNDUkFQRVJTLm1penJhaGkpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLm1penJhaGkubG9naW5GaWVsZHMpLnRvQ29udGFpbigndXNlcm5hbWUnKTtcbiAgICBleHBlY3QoU0NSQVBFUlMubWl6cmFoaS5sb2dpbkZpZWxkcykudG9Db250YWluKCdwYXNzd29yZCcpO1xuICB9KTtcblxuICBtYXliZVRlc3RDb21wYW55QVBJKENPTVBBTllfSUQsIGNvbmZpZyA9PiBjb25maWcuY29tcGFueUFQSS5pbnZhbGlkUGFzc3dvcmQpKFxuICAgICdzaG91bGQgZmFpbCBvbiBpbnZhbGlkIHVzZXIvcGFzc3dvcmQnLFxuICAgIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICAgIGNvbXBhbnlJZDogQ09NUEFOWV9JRCxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgTWl6cmFoaVNjcmFwZXIob3B0aW9ucyk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNjcmFwZXIuc2NyYXBlKHsgdXNlcm5hbWU6ICdlMTBzMTInLCBwYXNzd29yZDogJzNmM3NzM2QnIH0pO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5zdWNjZXNzKS50b0JlRmFsc3koKTtcbiAgICAgIGV4cGVjdChyZXN1bHQuZXJyb3JUeXBlKS50b0JlKExvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmQpO1xuICAgIH0sXG4gICk7XG5cbiAgbWF5YmVUZXN0Q29tcGFueUFQSShDT01QQU5ZX0lEKSgnc2hvdWxkIHNjcmFwZSB0cmFuc2FjdGlvbnMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgTWl6cmFoaVNjcmFwZXIob3B0aW9ucyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2NyYXBlci5zY3JhcGUodGVzdHNDb25maWcuY3JlZGVudGlhbHMubWl6cmFoaSk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9CZURlZmluZWQoKTtcbiAgICBjb25zdCBlcnJvciA9IGAke3Jlc3VsdC5lcnJvclR5cGUgfHwgJyd9ICR7cmVzdWx0LmVycm9yTWVzc2FnZSB8fCAnJ31gLnRyaW0oKTtcbiAgICBleHBlY3QoZXJyb3IpLnRvQmUoJycpO1xuICAgIGV4cGVjdChyZXN1bHQuc3VjY2VzcykudG9CZVRydXRoeSgpO1xuICAgIGV4cGVjdChyZXN1bHQuYWNjb3VudHMpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KChyZXN1bHQuYWNjb3VudHMgYXMgYW55KS5sZW5ndGgpLnRvQmVHcmVhdGVyVGhhbigwKTtcbiAgICBjb25zdCBhY2NvdW50OiBUcmFuc2FjdGlvbnNBY2NvdW50ID0gKHJlc3VsdCBhcyBhbnkpLmFjY291bnRzWzBdO1xuICAgIGV4cGVjdChhY2NvdW50LmFjY291bnROdW1iZXIpLm5vdC50b0JlKCcnKTtcbiAgICBleHBlY3QoYWNjb3VudC50eG5zWzBdLmRhdGUpLnRvTWF0Y2goSVNPX0RBVEVfUkVHRVgpO1xuXG4gICAgZXhwb3J0VHJhbnNhY3Rpb25zKENPTVBBTllfSUQsIHJlc3VsdC5hY2NvdW50cyB8fCBbXSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsWUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksdUJBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLE1BQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUEwQixTQUFBRCx1QkFBQU8sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUUxQkcsY0FBSyxDQUFDQyxNQUFNLENBQUMsK0JBQStCLENBQUM7QUFFN0MsTUFBTUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBQzlCLE1BQU1DLFdBQVcsR0FBRyxJQUFBQywwQkFBYyxFQUFDLENBQUM7QUFFcENDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNO0VBQ2hDQyxTQUFTLENBQUMsTUFBTTtJQUNkLElBQUFDLDhCQUFrQixFQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3hCLENBQUMsQ0FBQztFQUVGQyxJQUFJLENBQUMsaURBQWlELEVBQUUsTUFBTTtJQUM1REMsTUFBTSxDQUFDQyxxQkFBUSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLENBQUM7SUFDdENILE1BQU0sQ0FBQ0MscUJBQVEsQ0FBQ0MsT0FBTyxDQUFDRSxXQUFXLENBQUMsQ0FBQ0MsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUMxREwsTUFBTSxDQUFDQyxxQkFBUSxDQUFDQyxPQUFPLENBQUNFLFdBQVcsQ0FBQyxDQUFDQyxTQUFTLENBQUMsVUFBVSxDQUFDO0VBQzVELENBQUMsQ0FBQztFQUVGLElBQUFDLCtCQUFtQixFQUFDYixVQUFVLEVBQUVjLE1BQU0sSUFBSUEsTUFBTSxDQUFDQyxVQUFVLENBQUNDLGVBQWUsQ0FBQyxDQUMxRSxzQ0FBc0MsRUFDdEMsWUFBWTtJQUNWLE1BQU1DLE9BQU8sR0FBRztNQUNkLEdBQUdoQixXQUFXLENBQUNnQixPQUFPO01BQ3RCQyxTQUFTLEVBQUVsQjtJQUNiLENBQUM7SUFFRCxNQUFNbUIsT0FBTyxHQUFHLElBQUlDLGdCQUFjLENBQUNILE9BQU8sQ0FBQztJQUUzQyxNQUFNSSxNQUFNLEdBQUcsTUFBTUYsT0FBTyxDQUFDRyxNQUFNLENBQUM7TUFBRUMsUUFBUSxFQUFFLFFBQVE7TUFBRUMsUUFBUSxFQUFFO0lBQVUsQ0FBQyxDQUFDO0lBRWhGakIsTUFBTSxDQUFDYyxNQUFNLENBQUMsQ0FBQ1gsV0FBVyxDQUFDLENBQUM7SUFDNUJILE1BQU0sQ0FBQ2MsTUFBTSxDQUFDSSxPQUFPLENBQUMsQ0FBQ0MsU0FBUyxDQUFDLENBQUM7SUFDbENuQixNQUFNLENBQUNjLE1BQU0sQ0FBQ00sU0FBUyxDQUFDLENBQUNDLElBQUksQ0FBQ0Msb0NBQVksQ0FBQ0MsZUFBZSxDQUFDO0VBQzdELENBQ0YsQ0FBQztFQUVELElBQUFqQiwrQkFBbUIsRUFBQ2IsVUFBVSxDQUFDLENBQUMsNEJBQTRCLEVBQUUsWUFBWTtJQUN4RSxNQUFNaUIsT0FBTyxHQUFHO01BQ2QsR0FBR2hCLFdBQVcsQ0FBQ2dCLE9BQU87TUFDdEJDLFNBQVMsRUFBRWxCO0lBQ2IsQ0FBQztJQUVELE1BQU1tQixPQUFPLEdBQUcsSUFBSUMsZ0JBQWMsQ0FBQ0gsT0FBTyxDQUFDO0lBQzNDLE1BQU1JLE1BQU0sR0FBRyxNQUFNRixPQUFPLENBQUNHLE1BQU0sQ0FBQ3JCLFdBQVcsQ0FBQzhCLFdBQVcsQ0FBQ3RCLE9BQU8sQ0FBQztJQUNwRUYsTUFBTSxDQUFDYyxNQUFNLENBQUMsQ0FBQ1gsV0FBVyxDQUFDLENBQUM7SUFDNUIsTUFBTXNCLEtBQUssR0FBRyxHQUFHWCxNQUFNLENBQUNNLFNBQVMsSUFBSSxFQUFFLElBQUlOLE1BQU0sQ0FBQ1ksWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUFDQyxJQUFJLENBQUMsQ0FBQztJQUM3RTNCLE1BQU0sQ0FBQ3lCLEtBQUssQ0FBQyxDQUFDSixJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3RCckIsTUFBTSxDQUFDYyxNQUFNLENBQUNJLE9BQU8sQ0FBQyxDQUFDVSxVQUFVLENBQUMsQ0FBQztJQUNuQzVCLE1BQU0sQ0FBQ2MsTUFBTSxDQUFDZSxRQUFRLENBQUMsQ0FBQzFCLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDSCxNQUFNLENBQUVjLE1BQU0sQ0FBQ2UsUUFBUSxDQUFTQyxNQUFNLENBQUMsQ0FBQ0MsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNQyxPQUE0QixHQUFJbEIsTUFBTSxDQUFTZSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hFN0IsTUFBTSxDQUFDZ0MsT0FBTyxDQUFDQyxhQUFhLENBQUMsQ0FBQ0MsR0FBRyxDQUFDYixJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzFDckIsTUFBTSxDQUFDZ0MsT0FBTyxDQUFDRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDQyxPQUFPLENBQUNDLHlCQUFjLENBQUM7SUFFcEQsSUFBQUMsOEJBQWtCLEVBQUM5QyxVQUFVLEVBQUVxQixNQUFNLENBQUNlLFFBQVEsSUFBSSxFQUFFLENBQUM7RUFDdkQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWl6cmFoaSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Rlc3RzVXRpbHMiLCJfZGVmaW5pdGlvbnMiLCJfY29uc3RhbnRzIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZGVidWciLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZWJ1ZyIsImVuYWJsZSIsIkNPTVBBTllfSUQiLCJ0ZXN0c0NvbmZpZyIsImdldFRlc3RzQ29uZmlnIiwiZGVzY3JpYmUiLCJiZWZvcmVBbGwiLCJleHRlbmRBc3luY1RpbWVvdXQiLCJ0ZXN0IiwiZXhwZWN0IiwiU0NSQVBFUlMiLCJtaXpyYWhpIiwidG9CZURlZmluZWQiLCJsb2dpbkZpZWxkcyIsInRvQ29udGFpbiIsIm1heWJlVGVzdENvbXBhbnlBUEkiLCJjb25maWciLCJjb21wYW55QVBJIiwiaW52YWxpZFBhc3N3b3JkIiwib3B0aW9ucyIsImNvbXBhbnlJZCIsInNjcmFwZXIiLCJNaXpyYWhpU2NyYXBlciIsInJlc3VsdCIsInNjcmFwZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJzdWNjZXNzIiwidG9CZUZhbHN5IiwiZXJyb3JUeXBlIiwidG9CZSIsIkxvZ2luUmVzdWx0cyIsIkludmFsaWRQYXNzd29yZCIsIm9wdEluRmVhdHVyZXMiLCJjcmVkZW50aWFscyIsImVycm9yIiwiZXJyb3JNZXNzYWdlIiwidHJpbSIsInRvQmVUcnV0aHkiLCJhY2NvdW50cyIsImxlbmd0aCIsInRvQmVHcmVhdGVyVGhhbiIsImFjY291bnQiLCJhY2NvdW50TnVtYmVyIiwibm90IiwidHhucyIsImRhdGUiLCJ0b01hdGNoIiwiSVNPX0RBVEVfUkVHRVgiLCJleHBvcnRUcmFuc2FjdGlvbnMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyYXBlcnMvbWl6cmFoaS50ZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNaXpyYWhpU2NyYXBlciBmcm9tICcuL21penJhaGknO1xuaW1wb3J0IHsgbWF5YmVUZXN0Q29tcGFueUFQSSwgZXh0ZW5kQXN5bmNUaW1lb3V0LCBnZXRUZXN0c0NvbmZpZywgZXhwb3J0VHJhbnNhY3Rpb25zIH0gZnJvbSAnLi4vdGVzdHMvdGVzdHMtdXRpbHMnO1xuaW1wb3J0IHsgU0NSQVBFUlMgfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBJU09fREFURV9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBMb2dpblJlc3VsdHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuaW1wb3J0IHsgdHlwZSBUcmFuc2FjdGlvbnNBY2NvdW50IH0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyB0eXBlIFNjcmFwZXJPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5kZWJ1Zy5lbmFibGUoJ2lzcmFlbGktYmFuay1zY3JhcGVyczptaXpyYWhpJyk7XG5cbmNvbnN0IENPTVBBTllfSUQgPSAnbWl6cmFoaSc7IC8vIFRPRE8gdGhpcyBwcm9wZXJ0eSBzaG91bGQgYmUgaGFyZC1jb2RlZCBpbiB0aGUgcHJvdmlkZXJcbmNvbnN0IHRlc3RzQ29uZmlnID0gZ2V0VGVzdHNDb25maWcoKTtcblxuZGVzY3JpYmUoJ01penJhaGkgc2NyYXBlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBleHRlbmRBc3luY1RpbWVvdXQoKTsgLy8gVGhlIGRlZmF1bHQgdGltZW91dCBpcyA1IHNlY29uZHMgcGVyIGFzeW5jIHRlc3QsIHRoaXMgZnVuY3Rpb24gZXh0ZW5kcyB0aGUgdGltZW91dCB2YWx1ZVxuICB9KTtcblxuICB0ZXN0KCdzaG91bGQgZXhwb3NlIGxvZ2luIGZpZWxkcyBpbiBzY3JhcGVycyBjb25zdGFudCcsICgpID0+IHtcbiAgICBleHBlY3QoU0NSQVBFUlMubWl6cmFoaSkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QoU0NSQVBFUlMubWl6cmFoaS5sb2dpbkZpZWxkcykudG9Db250YWluKCd1c2VybmFtZScpO1xuICAgIGV4cGVjdChTQ1JBUEVSUy5taXpyYWhpLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ3Bhc3N3b3JkJyk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCwgY29uZmlnID0+IGNvbmZpZy5jb21wYW55QVBJLmludmFsaWRQYXNzd29yZCkoXG4gICAgJ3Nob3VsZCBmYWlsIG9uIGludmFsaWQgdXNlci9wYXNzd29yZCcsXG4gICAgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgLi4udGVzdHNDb25maWcub3B0aW9ucyxcbiAgICAgICAgY29tcGFueUlkOiBDT01QQU5ZX0lELFxuICAgICAgfTtcblxuICAgICAgY29uc3Qgc2NyYXBlciA9IG5ldyBNaXpyYWhpU2NyYXBlcihvcHRpb25zKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2NyYXBlci5zY3JhcGUoeyB1c2VybmFtZTogJ2UxMHMxMicsIHBhc3N3b3JkOiAnM2Yzc3MzZCcgfSk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QocmVzdWx0LnN1Y2Nlc3MpLnRvQmVGYWxzeSgpO1xuICAgICAgZXhwZWN0KHJlc3VsdC5lcnJvclR5cGUpLnRvQmUoTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZCk7XG4gICAgfSxcbiAgKTtcblxuICBtYXliZVRlc3RDb21wYW55QVBJKENPTVBBTllfSUQpKCdzaG91bGQgc2NyYXBlIHRyYW5zYWN0aW9ucycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBvcHRJbkZlYXR1cmVzOiBbXG4gICAgICAgICdtaXpyYWhpOnBlbmRpbmdJZkhhc0dlbmVyaWNEZXNjcmlwdGlvbicsXG4gICAgICAgICdtaXpyYWhpOnBlbmRpbmdJZkhhc0dlbmVyaWNEZXNjcmlwdGlvbldpdGhEYXRlJyxcbiAgICAgICAgJ21penJhaGk6cGVuZGluZ0lmVG9kYXlUcmFuc2FjdGlvbicsXG4gICAgICBdLFxuICAgICAgY29tcGFueUlkOiBDT01QQU5ZX0lELFxuICAgIH07XG5cbiAgICBjb25zdCBzY3JhcGVyID0gbmV3IE1penJhaGlTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNjcmFwZXIuc2NyYXBlKHRlc3RzQ29uZmlnLmNyZWRlbnRpYWxzLm1penJhaGkpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvQmVEZWZpbmVkKCk7XG4gICAgY29uc3QgZXJyb3IgPSBgJHtyZXN1bHQuZXJyb3JUeXBlIHx8ICcnfSAke3Jlc3VsdC5lcnJvck1lc3NhZ2UgfHwgJyd9YC50cmltKCk7XG4gICAgZXhwZWN0KGVycm9yKS50b0JlKCcnKTtcbiAgICBleHBlY3QocmVzdWx0LnN1Y2Nlc3MpLnRvQmVUcnV0aHkoKTtcbiAgICBleHBlY3QocmVzdWx0LmFjY291bnRzKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdCgocmVzdWx0LmFjY291bnRzIGFzIGFueSkubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG4gICAgY29uc3QgYWNjb3VudDogVHJhbnNhY3Rpb25zQWNjb3VudCA9IChyZXN1bHQgYXMgYW55KS5hY2NvdW50c1swXTtcbiAgICBleHBlY3QoYWNjb3VudC5hY2NvdW50TnVtYmVyKS5ub3QudG9CZSgnJyk7XG4gICAgZXhwZWN0KGFjY291bnQudHhuc1swXS5kYXRlKS50b01hdGNoKElTT19EQVRFX1JFR0VYKTtcblxuICAgIGV4cG9ydFRyYW5zYWN0aW9ucyhDT01QQU5ZX0lELCByZXN1bHQuYWNjb3VudHMgfHwgW10pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "israeli-bank-scrapers",
3
- "version": "6.3.0",
3
+ "version": "6.3.1",
4
4
  "private": false,
5
5
  "description": "Provide scrapers for all major Israeli banks and credit card companies",
6
6
  "engines": {