@elderbyte/ngx-starter 16.4.0 → 16.4.2

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.
@@ -57,8 +57,7 @@ export class RequiredFilterEvaluator {
57
57
  }
58
58
  allRequiredFiltersPresent(requiredFilters, currentFilters) {
59
59
  if (requiredFilters) {
60
- const validatedFilterGroups = requiredFilters.map(filterGroup => this.hasAllFilters(filterGroup, currentFilters));
61
- return validatedFilterGroups.find(validGroup => !!validGroup);
60
+ return requiredFilters.some(filterGroup => this.hasAllFilters(filterGroup, currentFilters));
62
61
  }
63
62
  return true;
64
63
  }
@@ -72,4 +71,4 @@ export class RequiredFilterEvaluator {
72
71
  return areAllRequiredFiltersPresent && areAllRequiredFiltersHaveValue;
73
72
  }
74
73
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtZmlsdGVyLWV2YWx1YXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL3JlcXVpcmVkLWZpbHRlci1ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLE9BQU8saUNBQWlDO0lBRTVDLFlBQ2tCLGVBQWdDLEVBQ2hDLGNBQXdCLEVBQ3hCLE9BQWdCO1FBRmhCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBVTtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBRWxDLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFhbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsYUFBNEIsRUFDNUIsZUFBaUM7UUFabEIscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBYzNFLElBQUksYUFBYSxJQUFJLElBQUksRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FDdkYsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7O2dGQUk0RTtJQUVwRSxXQUFXLENBQ2pCLGVBQWdDLEVBQ2hDLGNBQXdCO1FBRXhCLE9BQU8sSUFBSSxpQ0FBaUMsQ0FDMUMsZUFBZSxFQUNmLGNBQWMsRUFDZCxJQUFJLENBQUMseUJBQXlCLENBQzVCLGVBQWUsRUFDZixjQUFjLENBQ2YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHlCQUF5QixDQUMvQixlQUFnQyxFQUNoQyxjQUF3QjtRQUV4QixJQUFJLGVBQWUsRUFBRTtZQUNuQixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ2xILE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sYUFBYSxDQUNuQixlQUF5QixFQUN6QixjQUF3QjtRQUV4QixNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXBFLE1BQU0sNEJBQTRCLEdBQ2hDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUV2RSxNQUFNLDhCQUE4QixHQUNsQyxjQUFjO2FBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN6QyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFNUQsT0FBTyw0QkFBNEIsSUFBSSw4QkFBOEIsQ0FBQztJQUN4RSxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi9maWx0ZXJzL2ZpbHRlclwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29udGV4dCB9IGZyb20gXCIuL2ZpbHRlcnMvZmlsdGVyLWNvbnRleHRcIjtcblxuZXhwb3J0IGNsYXNzIFJlcXVpcmVkRmlsdGVyQ29udGV4dENoYW5nZWRFdmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHJlcXVpcmVkRmlsdGVyczogQXJyYXk8c3RyaW5nW10+LFxuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW50RmlsdGVyczogRmlsdGVyW10sXG4gICAgcHVibGljIHJlYWRvbmx5IGlzVmFsaWQ6IGJvb2xlYW5cbiAgKSB7XG4gIH1cblxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWlyZWRGaWx0ZXJFdmFsdWF0b3Ige1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckNvbnRleHQ6IEZpbHRlckNvbnRleHQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlcXVpcmVkRmlsdGVycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8c3RyaW5nW10+PihbXSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQkOiBPYnNlcnZhYmxlPFJlcXVpcmVkRmlsdGVyQ29udGV4dENoYW5nZWRFdmVudD47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgZmlsdGVyQ29udGV4dDogRmlsdGVyQ29udGV4dCxcbiAgICByZXF1aXJlZEZpbHRlcnM/OiBBcnJheTxzdHJpbmdbXT5cbiAgKSB7XG4gICAgaWYgKGZpbHRlckNvbnRleHQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZmlsdGVyQ29udGV4dCBtdXN0IG5vdCBiZSBudWxsIVwiKTtcbiAgICB9XG5cbiAgICB0aGlzLl9maWx0ZXJDb250ZXh0ID0gZmlsdGVyQ29udGV4dDtcbiAgICBpZiAocmVxdWlyZWRGaWx0ZXJzKSB7XG4gICAgICB0aGlzLl9yZXF1aXJlZEZpbHRlcnMubmV4dChyZXF1aXJlZEZpbHRlcnMpO1xuICAgIH1cblxuICAgIHRoaXMuY29udGV4dCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX3JlcXVpcmVkRmlsdGVycyxcbiAgICAgIHRoaXMuX2ZpbHRlckNvbnRleHQuZmlsdGVyc1xuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtyZXF1aXJlZCwgY3VycmVudEZpbHRlcnNdKSA9PiB0aGlzLmNyZWF0ZUV2ZW50KHJlcXVpcmVkRmlsdGVycywgY3VycmVudEZpbHRlcnMpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGZpbHRlckNvbnRleHQoKTogRmlsdGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlcXVpcmVkRmlsdGVycyQoKTogT2JzZXJ2YWJsZTxBcnJheTxzdHJpbmdbXT4+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRGaWx0ZXJzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXF1aXJlZEZpbHRlcnMoKTogQXJyYXk8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRGaWx0ZXJzLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNyZWF0ZUV2ZW50KFxuICAgIHJlcXVpcmVkRmlsdGVyczogQXJyYXk8c3RyaW5nW10+LFxuICAgIGN1cnJlbnRGaWx0ZXJzOiBGaWx0ZXJbXVxuICApOiBSZXF1aXJlZEZpbHRlckNvbnRleHRDaGFuZ2VkRXZlbnQge1xuICAgIHJldHVybiBuZXcgUmVxdWlyZWRGaWx0ZXJDb250ZXh0Q2hhbmdlZEV2ZW50KFxuICAgICAgcmVxdWlyZWRGaWx0ZXJzLFxuICAgICAgY3VycmVudEZpbHRlcnMsXG4gICAgICB0aGlzLmFsbFJlcXVpcmVkRmlsdGVyc1ByZXNlbnQoXG4gICAgICAgIHJlcXVpcmVkRmlsdGVycyxcbiAgICAgICAgY3VycmVudEZpbHRlcnNcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxSZXF1aXJlZEZpbHRlcnNQcmVzZW50KFxuICAgIHJlcXVpcmVkRmlsdGVyczogQXJyYXk8c3RyaW5nW10+LFxuICAgIGN1cnJlbnRGaWx0ZXJzOiBGaWx0ZXJbXVxuICApOiBib29sZWFuIHtcbiAgICBpZiAocmVxdWlyZWRGaWx0ZXJzKSB7XG4gICAgICBjb25zdCB2YWxpZGF0ZWRGaWx0ZXJHcm91cHMgPSByZXF1aXJlZEZpbHRlcnMubWFwKGZpbHRlckdyb3VwID0+IHRoaXMuaGFzQWxsRmlsdGVycyhmaWx0ZXJHcm91cCwgY3VycmVudEZpbHRlcnMpKTtcbiAgICAgIHJldHVybiB2YWxpZGF0ZWRGaWx0ZXJHcm91cHMuZmluZCh2YWxpZEdyb3VwID0+ICEhdmFsaWRHcm91cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGhhc0FsbEZpbHRlcnMoXG4gICAgcmVxdWlyZWRGaWx0ZXJzOiBzdHJpbmdbXSxcbiAgICBjdXJyZW50RmlsdGVyczogRmlsdGVyW11cbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVxdWlyZWRGaWx0ZXJTZXQgPSBuZXcgU2V0KHJlcXVpcmVkRmlsdGVycyk7XG4gICAgY29uc3QgY3VycmVudEZpbHRlcktleVNldCA9IG5ldyBTZXQoY3VycmVudEZpbHRlcnMubWFwKGYgPT4gZi5rZXkpKTtcblxuICAgIGNvbnN0IGFyZUFsbFJlcXVpcmVkRmlsdGVyc1ByZXNlbnQgPVxuICAgICAgcmVxdWlyZWRGaWx0ZXJzLmV2ZXJ5KHJlcXVpcmVkID0+IGN1cnJlbnRGaWx0ZXJLZXlTZXQuaGFzKHJlcXVpcmVkKSk7XG5cbiAgICBjb25zdCBhcmVBbGxSZXF1aXJlZEZpbHRlcnNIYXZlVmFsdWUgPVxuICAgICAgY3VycmVudEZpbHRlcnNcbiAgICAgICAgLmZpbHRlcihmID0+IHJlcXVpcmVkRmlsdGVyU2V0LmhhcyhmLmtleSkpXG4gICAgICAgIC5ldmVyeShjdXJyZW50RmlsdGVyID0+IEZpbHRlci5oYXNWYWx1ZShjdXJyZW50RmlsdGVyKSk7XG5cbiAgICByZXR1cm4gYXJlQWxsUmVxdWlyZWRGaWx0ZXJzUHJlc2VudCAmJiBhcmVBbGxSZXF1aXJlZEZpbHRlcnNIYXZlVmFsdWU7XG4gIH1cblxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtZmlsdGVyLWV2YWx1YXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL3JlcXVpcmVkLWZpbHRlci1ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLE9BQU8saUNBQWlDO0lBRTVDLFlBQ2tCLGVBQWdDLEVBQ2hDLGNBQXdCLEVBQ3hCLE9BQWdCO1FBRmhCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBVTtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBRWxDLENBQUM7Q0FFRjtBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFhbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsYUFBNEIsRUFDNUIsZUFBaUM7UUFabEIscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBYzNFLElBQUksYUFBYSxJQUFJLElBQUksRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQjtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FDdkYsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7O2dGQUk0RTtJQUVwRSxXQUFXLENBQ2pCLGVBQWdDLEVBQ2hDLGNBQXdCO1FBRXhCLE9BQU8sSUFBSSxpQ0FBaUMsQ0FDMUMsZUFBZSxFQUNmLGNBQWMsRUFDZCxJQUFJLENBQUMseUJBQXlCLENBQzVCLGVBQWUsRUFDZixjQUFjLENBQ2YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLHlCQUF5QixDQUMvQixlQUFnQyxFQUNoQyxjQUF3QjtRQUV4QixJQUFJLGVBQWUsRUFBRTtZQUNuQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQ3pCLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQy9ELENBQUM7U0FDSDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGFBQWEsQ0FDbkIsZUFBeUIsRUFDekIsY0FBd0I7UUFFeEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVwRSxNQUFNLDRCQUE0QixHQUNoQyxlQUFlLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFdkUsTUFBTSw4QkFBOEIsR0FDbEMsY0FBYzthQUNYLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDekMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBRTVELE9BQU8sNEJBQTRCLElBQUksOEJBQThCLENBQUM7SUFDeEUsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSBcIi4vZmlsdGVycy9maWx0ZXJcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEZpbHRlckNvbnRleHQgfSBmcm9tIFwiLi9maWx0ZXJzL2ZpbHRlci1jb250ZXh0XCI7XG5cbmV4cG9ydCBjbGFzcyBSZXF1aXJlZEZpbHRlckNvbnRleHRDaGFuZ2VkRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByZXF1aXJlZEZpbHRlcnM6IEFycmF5PHN0cmluZ1tdPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudEZpbHRlcnM6IEZpbHRlcltdLFxuICAgIHB1YmxpYyByZWFkb25seSBpc1ZhbGlkOiBib29sZWFuXG4gICkge1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIFJlcXVpcmVkRmlsdGVyRXZhbHVhdG9yIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJDb250ZXh0OiBGaWx0ZXJDb250ZXh0O1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXF1aXJlZEZpbHRlcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZ1tdPj4oW10pO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZXh0JDogT2JzZXJ2YWJsZTxSZXF1aXJlZEZpbHRlckNvbnRleHRDaGFuZ2VkRXZlbnQ+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZpbHRlckNvbnRleHQ6IEZpbHRlckNvbnRleHQsXG4gICAgcmVxdWlyZWRGaWx0ZXJzPzogQXJyYXk8c3RyaW5nW10+XG4gICkge1xuICAgIGlmIChmaWx0ZXJDb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImZpbHRlckNvbnRleHQgbXVzdCBub3QgYmUgbnVsbCFcIik7XG4gICAgfVxuXG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dCA9IGZpbHRlckNvbnRleHQ7XG4gICAgaWYgKHJlcXVpcmVkRmlsdGVycykge1xuICAgICAgdGhpcy5fcmVxdWlyZWRGaWx0ZXJzLm5leHQocmVxdWlyZWRGaWx0ZXJzKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRleHQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9yZXF1aXJlZEZpbHRlcnMsXG4gICAgICB0aGlzLl9maWx0ZXJDb250ZXh0LmZpbHRlcnNcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbcmVxdWlyZWQsIGN1cnJlbnRGaWx0ZXJzXSkgPT4gdGhpcy5jcmVhdGVFdmVudChyZXF1aXJlZEZpbHRlcnMsIGN1cnJlbnRGaWx0ZXJzKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBmaWx0ZXJDb250ZXh0KCk6IEZpbHRlckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldCByZXF1aXJlZEZpbHRlcnMkKCk6IE9ic2VydmFibGU8QXJyYXk8c3RyaW5nW10+PiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkRmlsdGVycy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVxdWlyZWRGaWx0ZXJzKCk6IEFycmF5PHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkRmlsdGVycy5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBjcmVhdGVFdmVudChcbiAgICByZXF1aXJlZEZpbHRlcnM6IEFycmF5PHN0cmluZ1tdPixcbiAgICBjdXJyZW50RmlsdGVyczogRmlsdGVyW11cbiAgKTogUmVxdWlyZWRGaWx0ZXJDb250ZXh0Q2hhbmdlZEV2ZW50IHtcbiAgICByZXR1cm4gbmV3IFJlcXVpcmVkRmlsdGVyQ29udGV4dENoYW5nZWRFdmVudChcbiAgICAgIHJlcXVpcmVkRmlsdGVycyxcbiAgICAgIGN1cnJlbnRGaWx0ZXJzLFxuICAgICAgdGhpcy5hbGxSZXF1aXJlZEZpbHRlcnNQcmVzZW50KFxuICAgICAgICByZXF1aXJlZEZpbHRlcnMsXG4gICAgICAgIGN1cnJlbnRGaWx0ZXJzXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWxsUmVxdWlyZWRGaWx0ZXJzUHJlc2VudChcbiAgICByZXF1aXJlZEZpbHRlcnM6IEFycmF5PHN0cmluZ1tdPixcbiAgICBjdXJyZW50RmlsdGVyczogRmlsdGVyW11cbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKHJlcXVpcmVkRmlsdGVycykge1xuICAgICAgcmV0dXJuIHJlcXVpcmVkRmlsdGVycy5zb21lKFxuICAgICAgICBmaWx0ZXJHcm91cCA9PiB0aGlzLmhhc0FsbEZpbHRlcnMoZmlsdGVyR3JvdXAsIGN1cnJlbnRGaWx0ZXJzKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGhhc0FsbEZpbHRlcnMoXG4gICAgcmVxdWlyZWRGaWx0ZXJzOiBzdHJpbmdbXSxcbiAgICBjdXJyZW50RmlsdGVyczogRmlsdGVyW11cbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVxdWlyZWRGaWx0ZXJTZXQgPSBuZXcgU2V0KHJlcXVpcmVkRmlsdGVycyk7XG4gICAgY29uc3QgY3VycmVudEZpbHRlcktleVNldCA9IG5ldyBTZXQoY3VycmVudEZpbHRlcnMubWFwKGYgPT4gZi5rZXkpKTtcblxuICAgIGNvbnN0IGFyZUFsbFJlcXVpcmVkRmlsdGVyc1ByZXNlbnQgPVxuICAgICAgcmVxdWlyZWRGaWx0ZXJzLmV2ZXJ5KHJlcXVpcmVkID0+IGN1cnJlbnRGaWx0ZXJLZXlTZXQuaGFzKHJlcXVpcmVkKSk7XG5cbiAgICBjb25zdCBhcmVBbGxSZXF1aXJlZEZpbHRlcnNIYXZlVmFsdWUgPVxuICAgICAgY3VycmVudEZpbHRlcnNcbiAgICAgICAgLmZpbHRlcihmID0+IHJlcXVpcmVkRmlsdGVyU2V0LmhhcyhmLmtleSkpXG4gICAgICAgIC5ldmVyeShjdXJyZW50RmlsdGVyID0+IEZpbHRlci5oYXNWYWx1ZShjdXJyZW50RmlsdGVyKSk7XG5cbiAgICByZXR1cm4gYXJlQWxsUmVxdWlyZWRGaWx0ZXJzUHJlc2VudCAmJiBhcmVBbGxSZXF1aXJlZEZpbHRlcnNIYXZlVmFsdWU7XG4gIH1cblxufVxuIl19
@@ -1,7 +1,7 @@
1
- import { Directive, Host } from "@angular/core";
2
- import { BehaviorSubject, combineLatestWith, of, Subject } from "rxjs";
3
- import { LoggerFactory } from "@elderbyte/ts-logger";
4
- import { delay, map, takeUntil } from "rxjs/operators";
1
+ import { Directive, Host } from '@angular/core';
2
+ import { BehaviorSubject, combineLatestWith, of, Subject } from 'rxjs';
3
+ import { LoggerFactory } from '@elderbyte/ts-logger';
4
+ import { delay, map, takeUntil } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/forms";
7
7
  /**
@@ -26,7 +26,7 @@ export class ElderInitialValueDirective {
26
26
  this.initialValue$ = new BehaviorSubject(null);
27
27
  this.destroy$ = new Subject();
28
28
  this.initialDone$ = new Subject();
29
- const ngModelValue$ = of("dummy")
29
+ const ngModelValue$ = of('dummy')
30
30
  .pipe(delay(10), map(() => this.ngModel.model));
31
31
  ngModelValue$
32
32
  .pipe(combineLatestWith(this.initialValue$), takeUntil(this.initialDone$), takeUntil(this.destroy$)).subscribe(([ngModelValue, initialValue]) => {
@@ -74,6 +74,9 @@ export class ElderInitialValueDirective {
74
74
  .pipe(takeUntil(this.destroy$));
75
75
  }
76
76
  applyInitialValue(value) {
77
+ if (value) {
78
+ this.ngModel.control.setValue(value);
79
+ }
77
80
  this.initialValue$.next(value);
78
81
  }
79
82
  ngOnDestroy() {
@@ -86,10 +89,10 @@ export class ElderInitialValueDirective {
86
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElderInitialValueDirective, decorators: [{
87
90
  type: Directive,
88
91
  args: [{
89
- selector: "[elderInitialValue]",
90
- exportAs: "elderInitialValue"
92
+ selector: '[elderInitialValue]',
93
+ exportAs: 'elderInitialValue'
91
94
  }]
92
95
  }], ctorParameters: function () { return [{ type: i1.NgModel, decorators: [{
93
96
  type: Host
94
97
  }] }]; } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5pdGlhbC12YWx1ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItaW5pdGlhbC12YWx1ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQWEsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFVLEdBQUcsRUFBRSxTQUFTLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRXBFOztHQUVHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQWNyQzs7OztnRkFJNEU7SUFFNUUsWUFBNEIsT0FBZ0I7UUFDMUMsd0ZBQXdGO1FBQ3hGLDBGQUEwRjtRQUZoRSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBbEI1Qzs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RCxrQkFBYSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUM1RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFZbEQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUM5QixJQUFJLENBQ0gsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUNULEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUM5QixDQUFDO1FBRUosYUFBYTthQUNWLElBQUksQ0FDSCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQ3JDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxJQUFJLFlBQVksRUFBRTtnQkFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUNGLENBQUM7UUFFSiwwQ0FBMEM7UUFDMUMsK0JBQStCO1FBQy9CLFdBQVc7UUFDWCxvQ0FBb0M7UUFDcEMsb0NBQW9DO1FBQ3BDLHlDQUF5QztRQUN6Qyx3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLDBDQUEwQztRQUMxQyxnREFBZ0Q7UUFDaEQsa0NBQWtDO1FBQ2xDLHNDQUFzQztRQUN0QyxzR0FBc0c7UUFDdEcsZUFBZTtRQUNmLHdEQUF3RDtRQUN4RCwyQ0FBMkM7UUFDM0Msc0NBQXNDO1FBQ3RDLDZCQUE2QjtRQUM3QixZQUFZO1FBQ1osUUFBUTtRQUNSLE1BQU07UUFDTixNQUFNO0lBQ1IsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUc1RTs7OztnRkFJNEU7SUFFNUUsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWTthQUNyQyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxLQUFVO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQS9GVSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsbUJBQW1CO2lCQUM5Qjs7MEJBcUJjLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBvZiwgc2tpcFVudGlsLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tIFwiQGVsZGVyYnl0ZS90cy1sb2dnZXJcIjtcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuLyoqXG4gKiBTZWFyY2ggbmFtZSBhZGFwdGVyIGZvciBpbnB1dCBjb250cm9scy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltlbGRlckluaXRpYWxWYWx1ZV1cIixcbiAgZXhwb3J0QXM6IFwiZWxkZXJJbml0aWFsVmFsdWVcIlxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckluaXRpYWxWYWx1ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgaW5pdGlhbFZhbHVlJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxEb25lJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWwpIHtcbiAgICAvL1RPRE86IFRoZSBkZWJvdW5jZSB0aW1lIGlzIGEgaGFja3kgd29ya2Fyb3VuZCwgZmluZCBhIHByb3BlciB3YXkgdG8gc2V0IGluaXRpYWwgdmFsdWUuXG4gICAgLy8gbmdNb2RlbCByZWd1bGFyIGFuZCB0d28gd2F5IGJpbmRpbmcgZGlmZmVyIGluIGluaXRpYWwgdmFsdWUsIHdoaWNoIGxlZCB0byB0aGlzIHNvbHV0aW9uXG5cbiAgICBjb25zdCBuZ01vZGVsVmFsdWUkID0gb2YoXCJkdW1teVwiKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlbGF5KDEwKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMubmdNb2RlbC5tb2RlbClcbiAgICAgICk7XG5cbiAgICBuZ01vZGVsVmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5pbml0aWFsVmFsdWUkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuaW5pdGlhbERvbmUkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKS5zdWJzY3JpYmUoKFtuZ01vZGVsVmFsdWUsIGluaXRpYWxWYWx1ZV0pID0+IHtcbiAgICAgICAgICBpZiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICAgICAgICBuZ01vZGVsLmNvbnRyb2wuc2V0VmFsdWUoaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pbml0aWFsRG9uZSQubmV4dCgpO1xuICAgICAgICAgIHRoaXMuaW5pdGlhbERvbmUkLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAvLyB0aGlzLm5nTW9kZWxWYWx1ZSA9IHRoaXMubmdNb2RlbC5tb2RlbDtcbiAgICAvLyBuZ01vZGVsLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgLy8gICAucGlwZShcbiAgICAvLyAgICAgdGFrZVVudGlsKHRoaXMuaW5pdGlhbERvbmUkKSxcbiAgICAvLyAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAvLyAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5uZXdWYWx1ZSQpLFxuICAgIC8vICAgICBkZWJvdW5jZVRpbWUoNTAwKVxuICAgIC8vICAgKS5zdWJzY3JpYmUoe1xuICAgIC8vICAgbmV4dDogKFtuZ01vZGVsVmFsdWUsIG5ld1ZhbHVlXSkgPT4ge1xuICAgIC8vICAgICBpZiAodGhpcy5pbml0aWFsVmFsdWUgPT09IG5nTW9kZWxWYWx1ZSkge1xuICAgIC8vICAgICAgIHRoaXMuaW5pdGlhbERvbmUkLm5leHQoKTtcbiAgICAvLyAgICAgICB0aGlzLmluaXRpYWxEb25lJC5jb21wbGV0ZSgpO1xuICAgIC8vICAgICAgIG5nTW9kZWwuY29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSA/IG5ld1ZhbHVlIDogbmdNb2RlbFZhbHVlKTsgLy8gV2h5IHNldCBuZ01vZGVsVmFsdWUgYWdhaW4/P1xuICAgIC8vICAgICB9IGVsc2Uge1xuICAgIC8vICAgICAgIHRoaXMubG9nLndhcm4oJ0luaXRpYWxpc2F0aW9uIG5vdCB5ZXQgZG9uZSEnLCB7XG4gICAgLy8gICAgICAgICBpbml0aWFsVmFsdWU6IHRoaXMuaW5pdGlhbFZhbHVlLFxuICAgIC8vICAgICAgICAgbmdNb2RlbFZhbHVlOiBuZ01vZGVsVmFsdWUsXG4gICAgLy8gICAgICAgICBuZXdWYWx1ZTogbmV3VmFsdWVcbiAgICAvLyAgICAgICB9KTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH0pO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHZhbHVlQ2hhbmdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMubmdNb2RlbC5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseUluaXRpYWxWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbml0aWFsVmFsdWUkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItaW5pdGlhbC12YWx1ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItaW5pdGlhbC12YWx1ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsS0FBSyxFQUFVLEdBQUcsRUFBRSxTQUFTLEVBQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRWxFOztHQUVHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQWNyQzs7OztnRkFJNEU7SUFFNUUsWUFBNEIsT0FBZ0I7UUFDMUMsd0ZBQXdGO1FBQ3hGLDBGQUEwRjtRQUZoRSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBbEI1Qzs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5RCxrQkFBYSxHQUF5QixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUM1RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMvQixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFZbEQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUM5QixJQUFJLENBQ0gsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUNULEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUM5QixDQUFDO1FBRUosYUFBYTthQUNWLElBQUksQ0FDSCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQ3JDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLFlBQVksRUFBRTtnQkFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUNGLENBQUM7UUFFRiwwQ0FBMEM7UUFDMUMsK0JBQStCO1FBQy9CLFdBQVc7UUFDWCxvQ0FBb0M7UUFDcEMsb0NBQW9DO1FBQ3BDLHlDQUF5QztRQUN6Qyx3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLDBDQUEwQztRQUMxQyxnREFBZ0Q7UUFDaEQsa0NBQWtDO1FBQ2xDLHNDQUFzQztRQUN0QyxzR0FBc0c7UUFDdEcsZUFBZTtRQUNmLHdEQUF3RDtRQUN4RCwyQ0FBMkM7UUFDM0Msc0NBQXNDO1FBQ3RDLDZCQUE2QjtRQUM3QixZQUFZO1FBQ1osUUFBUTtRQUNSLE1BQU07UUFDTixNQUFNO0lBQ1IsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUc1RTs7OztnRkFJNEU7SUFFNUUsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWTthQUNyQyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxLQUFVO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBbEdVLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzswQkFxQmMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdFdpdGgsIG9mLCBza2lwVW50aWwsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge2RlbGF5LCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBTZWFyY2ggbmFtZSBhZGFwdGVyIGZvciBpbnB1dCBjb250cm9scy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVySW5pdGlhbFZhbHVlXScsXG4gIGV4cG9ydEFzOiAnZWxkZXJJbml0aWFsVmFsdWUnXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVySW5pdGlhbFZhbHVlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBpbml0aWFsVmFsdWUkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbERvbmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHByaXZhdGUgbmdNb2RlbDogTmdNb2RlbCkge1xuICAgIC8vVE9ETzogVGhlIGRlYm91bmNlIHRpbWUgaXMgYSBoYWNreSB3b3JrYXJvdW5kLCBmaW5kIGEgcHJvcGVyIHdheSB0byBzZXQgaW5pdGlhbCB2YWx1ZS5cbiAgICAvLyBuZ01vZGVsIHJlZ3VsYXIgYW5kIHR3byB3YXkgYmluZGluZyBkaWZmZXIgaW4gaW5pdGlhbCB2YWx1ZSwgd2hpY2ggbGVkIHRvIHRoaXMgc29sdXRpb25cblxuICAgIGNvbnN0IG5nTW9kZWxWYWx1ZSQgPSBvZignZHVtbXknKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlbGF5KDEwKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMubmdNb2RlbC5tb2RlbClcbiAgICAgICk7XG5cbiAgICBuZ01vZGVsVmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5pbml0aWFsVmFsdWUkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuaW5pdGlhbERvbmUkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKS5zdWJzY3JpYmUoKFtuZ01vZGVsVmFsdWUsIGluaXRpYWxWYWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKGluaXRpYWxWYWx1ZSkge1xuICAgICAgICAgIG5nTW9kZWwuY29udHJvbC5zZXRWYWx1ZShpbml0aWFsVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdGlhbERvbmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsRG9uZSQuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gdGhpcy5uZ01vZGVsVmFsdWUgPSB0aGlzLm5nTW9kZWwubW9kZWw7XG4gICAgLy8gbmdNb2RlbC5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgIC8vICAgLnBpcGUoXG4gICAgLy8gICAgIHRha2VVbnRpbCh0aGlzLmluaXRpYWxEb25lJCksXG4gICAgLy8gICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgLy8gICAgIGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMubmV3VmFsdWUkKSxcbiAgICAvLyAgICAgZGVib3VuY2VUaW1lKDUwMClcbiAgICAvLyAgICkuc3Vic2NyaWJlKHtcbiAgICAvLyAgIG5leHQ6IChbbmdNb2RlbFZhbHVlLCBuZXdWYWx1ZV0pID0+IHtcbiAgICAvLyAgICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlID09PSBuZ01vZGVsVmFsdWUpIHtcbiAgICAvLyAgICAgICB0aGlzLmluaXRpYWxEb25lJC5uZXh0KCk7XG4gICAgLy8gICAgICAgdGhpcy5pbml0aWFsRG9uZSQuY29tcGxldGUoKTtcbiAgICAvLyAgICAgICBuZ01vZGVsLmNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUgPyBuZXdWYWx1ZSA6IG5nTW9kZWxWYWx1ZSk7IC8vIFdoeSBzZXQgbmdNb2RlbFZhbHVlIGFnYWluPz9cbiAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAvLyAgICAgICB0aGlzLmxvZy53YXJuKCdJbml0aWFsaXNhdGlvbiBub3QgeWV0IGRvbmUhJywge1xuICAgIC8vICAgICAgICAgaW5pdGlhbFZhbHVlOiB0aGlzLmluaXRpYWxWYWx1ZSxcbiAgICAvLyAgICAgICAgIG5nTW9kZWxWYWx1ZTogbmdNb2RlbFZhbHVlLFxuICAgIC8vICAgICAgICAgbmV3VmFsdWU6IG5ld1ZhbHVlXG4gICAgLy8gICAgICAgfSk7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCB2YWx1ZUNoYW5nZXMkKCkge1xuICAgIHJldHVybiB0aGlzLm5nTW9kZWwuY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlJbml0aWFsVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5uZ01vZGVsLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxWYWx1ZSQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { FilterContext } from '../../../../../common/data/filters/filter-context';
2
- import { combineLatestWith, map, skip, tap } from 'rxjs/operators';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { combineLatestWith, filter, map, skip, tap } from 'rxjs/operators';
3
4
  import { FilterUtil } from '../../../../../common/utils/filter-util';
4
5
  import { LoggerFactory } from '@elderbyte/ts-logger';
5
6
  export class SearchContext {
@@ -20,8 +21,9 @@ export class SearchContext {
20
21
  this.log = LoggerFactory.getLogger(this.constructor.name);
21
22
  this.userFilterContext = new FilterContext();
22
23
  this.forcedFilterContext = new FilterContext();
24
+ this.allFilters$ = new BehaviorSubject(undefined);
23
25
  this.id = id;
24
- this._allFilters$ = this.userFilterContext.filters.pipe(combineLatestWith(this.forcedFilterContext.filters), skip(1), map(([userFilters, forcedFilters]) => FilterUtil.mergeCombine(userFilters, forcedFilters)), tap(x => this.log.debug('allFilters changed: ', x)));
26
+ this.userFilterContext.filters.pipe(combineLatestWith(this.forcedFilterContext.filters), skip(1), map(([userFilters, forcedFilters]) => FilterUtil.mergeCombine(userFilters, forcedFilters)), tap(x => this.log.debug('allFilters changed: ', x))).subscribe(merged => this.allFilters$.next(merged));
25
27
  }
26
28
  /***************************************************************************
27
29
  * *
@@ -29,7 +31,7 @@ export class SearchContext {
29
31
  * *
30
32
  **************************************************************************/
31
33
  get allFiltersChanged() {
32
- return this._allFilters$;
34
+ return this.allFilters$.pipe(filter(filters => !!filters));
33
35
  }
34
36
  get userFilters() {
35
37
  return this.userFilterContext;
@@ -48,5 +50,8 @@ export class SearchContext {
48
50
  replaceUserFilters(filters) {
49
51
  this.userFilterContext.replaceFilters(filters);
50
52
  }
53
+ replaceForcedFilters(filters) {
54
+ this.forcedFilterContext.replaceFilters(filters);
55
+ }
51
56
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9kb21haW4vY29udGV4dC9zZWFyY2gtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFHaEYsT0FBTyxFQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sYUFBYTtJQUVqQixNQUFNLENBQUMsVUFBVTtRQUN0QixPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFnQkQ7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsRUFBVTtRQXJCWjs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdyRCxzQkFBaUIsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLHdCQUFtQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFhekQsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNyRCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQ25ELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQ0QsQ0FBQyxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLENBQy9CLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUN0RCxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxpQkFBaUIsQ0FBQyxPQUFpQjtRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxPQUFpQjtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FTRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsdGVyQ29udGV4dH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXItY29udGV4dCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcnMvZmlsdGVyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdFdpdGgsIG1hcCwgc2tpcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0ZpbHRlclV0aWx9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9maWx0ZXItdXRpbCc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcblxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbnRleHQge1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhbmRhbG9uZSgpOiBTZWFyY2hDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IFNlYXJjaENvbnRleHQobnVsbCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlckZpbHRlckNvbnRleHQgPSBuZXcgRmlsdGVyQ29udGV4dCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcmNlZEZpbHRlckNvbnRleHQgPSBuZXcgRmlsdGVyQ29udGV4dCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FsbEZpbHRlcnMkOiBPYnNlcnZhYmxlPEZpbHRlcltdPjtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nXG4gICkge1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLl9hbGxGaWx0ZXJzJCA9IHRoaXMudXNlckZpbHRlckNvbnRleHQuZmlsdGVycy5waXBlKFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5mb3JjZWRGaWx0ZXJDb250ZXh0LmZpbHRlcnMpLFxuICAgICAgc2tpcCgxKSxcbiAgICAgIG1hcChcbiAgICAgICAgKFt1c2VyRmlsdGVycywgZm9yY2VkRmlsdGVyc10pID0+XG4gICAgICAgICAgRmlsdGVyVXRpbC5tZXJnZUNvbWJpbmUodXNlckZpbHRlcnMsIGZvcmNlZEZpbHRlcnMpXG4gICAgICApLFxuICAgICAgdGFwKHggPT4gdGhpcy5sb2cuZGVidWcoJ2FsbEZpbHRlcnMgY2hhbmdlZDogJywgeCkpLFxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGFsbEZpbHRlcnNDaGFuZ2VkKCk6IE9ic2VydmFibGU8RmlsdGVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5fYWxsRmlsdGVycyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVzZXJGaWx0ZXJzKCk6IEZpbHRlckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLnVzZXJGaWx0ZXJDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JjZWRGaWx0ZXJzKCk6IEZpbHRlckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmZvcmNlZEZpbHRlckNvbnRleHQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdXBkYXRlVXNlckZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJGaWx0ZXJDb250ZXh0LnVwZGF0ZUZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVVzZXJGaWx0ZXJzKGZpbHRlcnM6IEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy51c2VyRmlsdGVyQ29udGV4dC5yZXBsYWNlRmlsdGVycyhmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL3NlYXJjaC9kb21haW4vY29udGV4dC9zZWFyY2gtY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDaEYsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sYUFBYTtJQUVqQixNQUFNLENBQUMsVUFBVTtRQUN0QixPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFnQkQ7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsRUFBVTtRQXJCWjs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdyRCxzQkFBaUIsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3hDLHdCQUFtQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFFMUMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVyxTQUFTLENBQUMsQ0FBQztRQVd0RSxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNqQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQ25ELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQ0QsQ0FBQyxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLENBQy9CLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUN0RCxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3BELENBQUMsU0FBUyxDQUNULE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQ3hDLENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLGlCQUFpQixDQUFDLE9BQWlCO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE9BQWlCO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE9BQWlCO1FBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztDQVNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGaWx0ZXJDb250ZXh0fSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIG1hcCwgc2tpcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0ZpbHRlclV0aWx9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9maWx0ZXItdXRpbCc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcblxuZXhwb3J0IGNsYXNzIFNlYXJjaENvbnRleHQge1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhbmRhbG9uZSgpOiBTZWFyY2hDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IFNlYXJjaENvbnRleHQobnVsbCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlckZpbHRlckNvbnRleHQgPSBuZXcgRmlsdGVyQ29udGV4dCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcmNlZEZpbHRlckNvbnRleHQgPSBuZXcgRmlsdGVyQ29udGV4dCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsRmlsdGVycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlcltdPih1bmRlZmluZWQpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMudXNlckZpbHRlckNvbnRleHQuZmlsdGVycy5waXBlKFxuICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5mb3JjZWRGaWx0ZXJDb250ZXh0LmZpbHRlcnMpLFxuICAgICAgc2tpcCgxKSxcbiAgICAgIG1hcChcbiAgICAgICAgKFt1c2VyRmlsdGVycywgZm9yY2VkRmlsdGVyc10pID0+XG4gICAgICAgICAgRmlsdGVyVXRpbC5tZXJnZUNvbWJpbmUodXNlckZpbHRlcnMsIGZvcmNlZEZpbHRlcnMpXG4gICAgICApLFxuICAgICAgdGFwKHggPT4gdGhpcy5sb2cuZGVidWcoJ2FsbEZpbHRlcnMgY2hhbmdlZDogJywgeCkpLFxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgbWVyZ2VkID0+IHRoaXMuYWxsRmlsdGVycyQubmV4dChtZXJnZWQpXG4gICAgKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBhbGxGaWx0ZXJzQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPEZpbHRlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRmlsdGVycyQucGlwZShcbiAgICAgIGZpbHRlcihmaWx0ZXJzID0+ICEhZmlsdGVycylcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyRmlsdGVycygpOiBGaWx0ZXJDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy51c2VyRmlsdGVyQ29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9yY2VkRmlsdGVycygpOiBGaWx0ZXJDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JjZWRGaWx0ZXJDb250ZXh0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHVwZGF0ZVVzZXJGaWx0ZXJzKGZpbHRlcnM6IEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy51c2VyRmlsdGVyQ29udGV4dC51cGRhdGVGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIHJlcGxhY2VVc2VyRmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMudXNlckZpbHRlckNvbnRleHQucmVwbGFjZUZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZUZvcmNlZEZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLmZvcmNlZEZpbHRlckNvbnRleHQucmVwbGFjZUZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG59XG4iXX0=
@@ -4,7 +4,7 @@ import { Objects } from '../../../../../common/objects';
4
4
  */
5
5
  export class SearchInputState {
6
6
  static unknown() {
7
- return new SearchInputState(null, null, null, true);
7
+ return new SearchInputState(null, null, null, true, false);
8
8
  }
9
9
  /***************************************************************************
10
10
  * *
@@ -27,11 +27,16 @@ export class SearchInputState {
27
27
  /**
28
28
  * pristine Has the user touched this?
29
29
  */
30
- pristine) {
30
+ pristine,
31
+ /**
32
+ * Was the input changed by a user interaction
33
+ */
34
+ userEvent) {
31
35
  this.attribute = attribute;
32
36
  this.queryValue = queryValue;
33
37
  this.queryKey = queryKey;
34
38
  this.pristine = pristine;
39
+ this.userEvent = userEvent;
35
40
  }
36
41
  /***************************************************************************
37
42
  * *
@@ -75,7 +80,7 @@ export class SearchInputState {
75
80
  pristineNow = pristine;
76
81
  }
77
82
  }
78
- return new SearchInputState(this.attribute, value, this.queryKey, pristineNow);
83
+ return new SearchInputState(this.attribute, value, this.queryKey, pristineNow, true);
79
84
  }
80
85
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFO0lBRUU7O09BRUc7SUFDYSxTQUFpQjtJQUVqQzs7T0FFRztJQUNhLFVBQW9DO0lBRXBEOztPQUVHO0lBQ2EsUUFBZ0I7SUFFaEM7O09BRUc7SUFDYSxRQUFpQjtRQWZqQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBS2pCLGVBQVUsR0FBVixVQUFVLENBQTBCO1FBS3BDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFLaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztJQUMvQixDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBK0I7UUFDMUQsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtnQkFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsY0FBYyxDQUFDLEtBQStCLEVBQUUsUUFBa0I7UUFFdkUsSUFBSSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9DLFdBQVcsR0FBRyxRQUFRLENBQUM7YUFDeEI7U0FDRjtRQUVELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsSUFBSSxDQUFDLFNBQVMsRUFDZCxLQUFLLEVBQ0wsSUFBSSxDQUFDLFFBQVEsRUFDYixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7Q0FJRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JqZWN0c30gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9uL29iamVjdHMnO1xuXG4vKipcbiAqIEltbXV0YWJsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgc3RhdGUgb2YgYW4gc2VhcmNoIGlucHV0XG4gKi9cbmV4cG9ydCBjbGFzcyBTZWFyY2hJbnB1dFN0YXRlIHtcblxuICBwdWJsaWMgc3RhdGljIHVua25vd24oKTogU2VhcmNoSW5wdXRTdGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBTZWFyY2hJbnB1dFN0YXRlKFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcblxuICAgIC8qKlxuICAgICAqIGF0dHJpYnV0ZSBUaGUgbmFtZSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJpYnV0ZTogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogcXVlcnlWYWx1ZSBUaGUgcXVlcnkgdmFsdWUgYXMgc3RyaW5nLiBTdXBwb3J0cyBtdWx0aSBzdHJpbmcgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5VmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCxcblxuICAgIC8qKlxuICAgICAqIHF1ZXJ5S2V5IFRoZSBxdWVyeSBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcXVlcnlLZXk6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIHByaXN0aW5lIEhhcyB0aGUgdXNlciB0b3VjaGVkIHRoaXM/XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHByaXN0aW5lOiBib29sZWFuXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBpc1ZhbHVlRGVmaW5lZCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKE9iamVjdHMubm9uTnVsbCh2YWx1ZSkpIHtcbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhpcyBzZWFyY2ggaW5wdXQgaGFzIGEgdmFsdWUuXG4gICAqXG4gICAqIFRoZSB2YWx1ZSBtdXN0IG5vdCBiZSBudWxsIGFuZCBpbiBjYXNlIGl0c1xuICAgKiBhbiBhcnJheSwgaXQgbXVzdCBub3QgYmUgZW1wdHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTZWFyY2hJbnB1dFN0YXRlLmlzVmFsdWVEZWZpbmVkKHRoaXMucXVlcnlWYWx1ZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFwaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgd2l0aFF1ZXJ5VmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCwgcHJpc3RpbmU/OiBib29sZWFuKTogU2VhcmNoSW5wdXRTdGF0ZSB7XG5cbiAgICBsZXQgcHJpc3RpbmVOb3cgPSBTZWFyY2hJbnB1dFN0YXRlLmlzVmFsdWVEZWZpbmVkKHZhbHVlKTtcbiAgICBpZiAoIXByaXN0aW5lTm93KSB7XG4gICAgICBpZiAocHJpc3RpbmUgIT09IHVuZGVmaW5lZCAmJiBwcmlzdGluZSAhPT0gbnVsbCkge1xuICAgICAgICBwcmlzdGluZU5vdyA9IHByaXN0aW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2VhcmNoSW5wdXRTdGF0ZShcbiAgICAgIHRoaXMuYXR0cmlidXRlLFxuICAgICAgdmFsdWUsXG4gICAgICB0aGlzLnF1ZXJ5S2V5LFxuICAgICAgcHJpc3RpbmVOb3dcbiAgICApO1xuICB9XG5cblxuXG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRXBCLE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTtJQUVFOztPQUVHO0lBQ2EsU0FBaUI7SUFFakM7O09BRUc7SUFDYSxVQUFvQztJQUVwRDs7T0FFRztJQUNhLFFBQWdCO0lBRWhDOztPQUVHO0lBQ2EsUUFBaUI7SUFFakM7O09BRUc7SUFDYSxTQUFrQjtRQXBCbEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUtqQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQUtwQyxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBS2hCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFLakIsY0FBUyxHQUFULFNBQVMsQ0FBUztJQUNoQyxDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBK0I7UUFDMUQsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtnQkFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7O09BS0c7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsY0FBYyxDQUFDLEtBQStCLEVBQUUsUUFBa0I7UUFFdkUsSUFBSSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7Z0JBQy9DLFdBQVcsR0FBRyxRQUFRLENBQUM7YUFDeEI7U0FDRjtRQUVELE9BQU8sSUFBSSxnQkFBZ0IsQ0FDekIsSUFBSSxDQUFDLFNBQVMsRUFDZCxLQUFLLEVBQ0wsSUFBSSxDQUFDLFFBQVEsRUFDYixXQUFXLEVBQ1gsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0NBSUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdHN9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi9vYmplY3RzJztcblxuLyoqXG4gKiBJbW11dGFibGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIHN0YXRlIG9mIGFuIHNlYXJjaCBpbnB1dFxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoSW5wdXRTdGF0ZSB7XG5cbiAgcHVibGljIHN0YXRpYyB1bmtub3duKCk6IFNlYXJjaElucHV0U3RhdGUge1xuICAgIHJldHVybiBuZXcgU2VhcmNoSW5wdXRTdGF0ZShcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIHRydWUsXG4gICAgICBmYWxzZVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcblxuICAgIC8qKlxuICAgICAqIGF0dHJpYnV0ZSBUaGUgbmFtZSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF0dHJpYnV0ZTogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogcXVlcnlWYWx1ZSBUaGUgcXVlcnkgdmFsdWUgYXMgc3RyaW5nLiBTdXBwb3J0cyBtdWx0aSBzdHJpbmcgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5VmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCxcblxuICAgIC8qKlxuICAgICAqIHF1ZXJ5S2V5IFRoZSBxdWVyeSBrZXlcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcXVlcnlLZXk6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIHByaXN0aW5lIEhhcyB0aGUgdXNlciB0b3VjaGVkIHRoaXM/XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHByaXN0aW5lOiBib29sZWFuLFxuXG4gICAgLyoqXG4gICAgICogV2FzIHRoZSBpbnB1dCBjaGFuZ2VkIGJ5IGEgdXNlciBpbnRlcmFjdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSB1c2VyRXZlbnQ6IGJvb2xlYW5cbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIGlzVmFsdWVEZWZpbmVkKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoT2JqZWN0cy5ub25OdWxsKHZhbHVlKSkge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIHNlYXJjaCBpbnB1dCBoYXMgYSB2YWx1ZS5cbiAgICpcbiAgICogVGhlIHZhbHVlIG11c3Qgbm90IGJlIG51bGwgYW5kIGluIGNhc2UgaXRzXG4gICAqIGFuIGFycmF5LCBpdCBtdXN0IG5vdCBiZSBlbXB0eS5cbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNlYXJjaElucHV0U3RhdGUuaXNWYWx1ZURlZmluZWQodGhpcy5xdWVyeVZhbHVlKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQXBpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB3aXRoUXVlcnlWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsLCBwcmlzdGluZT86IGJvb2xlYW4pOiBTZWFyY2hJbnB1dFN0YXRlIHtcblxuICAgIGxldCBwcmlzdGluZU5vdyA9IFNlYXJjaElucHV0U3RhdGUuaXNWYWx1ZURlZmluZWQodmFsdWUpO1xuICAgIGlmICghcHJpc3RpbmVOb3cpIHtcbiAgICAgIGlmIChwcmlzdGluZSAhPT0gdW5kZWZpbmVkICYmIHByaXN0aW5lICE9PSBudWxsKSB7XG4gICAgICAgIHByaXN0aW5lTm93ID0gcHJpc3RpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTZWFyY2hJbnB1dFN0YXRlKFxuICAgICAgdGhpcy5hdHRyaWJ1dGUsXG4gICAgICB2YWx1ZSxcbiAgICAgIHRoaXMucXVlcnlLZXksXG4gICAgICBwcmlzdGluZU5vdyxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG5cblxuXG59XG4iXX0=
@@ -5,6 +5,7 @@ import { BehaviorSubject, Subject, combineLatest } from 'rxjs';
5
5
  import { Filter } from '../../../common/data/filters/filter';
6
6
  import { FilterContext } from '../../../common/data/filters/filter-context';
7
7
  import { SearchContext } from './domain/context/search-context';
8
+ import { FilterUtil } from '../../../common/utils/filter-util';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "./domain/context/search-context.service";
10
11
  /**
@@ -45,11 +46,10 @@ export class ElderSearchContextDirective {
45
46
  this.syncSearchContextToBoundFilterContext();
46
47
  }
47
48
  ngAfterContentInit() {
49
+ const searchContext = this.searchContext;
50
+ this.applySearchContextToInputs(searchContext);
48
51
  this.syncSearchInputsToSearchContext();
49
52
  }
50
- ngAfterViewInit() {
51
- this.applySearchContextToInputs();
52
- }
53
53
  ngOnDestroy() {
54
54
  this.destroy$.next();
55
55
  this.destroy$.complete();
@@ -97,7 +97,7 @@ export class ElderSearchContextDirective {
97
97
  * to also keep the users intent (by merging) them.
98
98
  */
99
99
  set forcedFilters(filters) {
100
- this.searchContext.forcedFilters.replaceFilters(filters);
100
+ this.searchContext.replaceForcedFilters(filters);
101
101
  }
102
102
  get forcedFilters() {
103
103
  return this.searchContext.forcedFilters.filtersSnapshot;
@@ -150,7 +150,8 @@ export class ElderSearchContextDirective {
150
150
  const searchContext = this.searchContext;
151
151
  if (searchContext.userFilters.isEmpty) {
152
152
  if (!dcFilters.isEmpty) {
153
- searchContext.updateUserFilters(dcFilters.filtersSnapshot);
153
+ // Consider all filters in DC as defaults, expect for foced filters.
154
+ searchContext.updateUserFilters(FilterUtil.strip(dcFilters.filtersSnapshot, this.forcedFilters));
154
155
  }
155
156
  }
156
157
  else {
@@ -178,30 +179,33 @@ export class ElderSearchContextDirective {
178
179
  this.log.warn('Failed to apply filters since no FilterContext is available!', filters);
179
180
  }
180
181
  }
181
- applySearchContextToInputs() {
182
- const ctx = this.searchContext;
183
- this.applyFiltersToInputs(ctx.userFilters.filtersSnapshot // this.filterContext.filtersSnapshot (old)
184
- );
182
+ applySearchContextToInputs(searchContext) {
183
+ this.applyFiltersToInputs(searchContext.userFilters.filtersSnapshot);
185
184
  }
186
185
  applyFiltersToInputs(filters) {
187
- this.log.warn('applyFiltersToInputs', filters);
188
- this._searchInputs$.getValue().forEach(input => {
189
- const filter = this.findFilterForInput(input, filters);
190
- if (filter) {
191
- input.applyInitialValue(filter.value);
192
- }
193
- });
194
- }
195
- findFilterForInput(input, filters) {
196
- for (const filter of filters) {
197
- if (filter.key === input.name) {
198
- return filter;
199
- }
186
+ if (filters.length > 0) {
187
+ const inputsByName = this.searchInputsByName();
188
+ this.log.warn('applyFiltersToInputs [' + Array.from(inputsByName.keys()) + ']', {
189
+ filters: filters,
190
+ inputsByName: inputsByName
191
+ });
192
+ filters.forEach(f => {
193
+ const input = inputsByName.get(f.key);
194
+ if (input) {
195
+ input.applyInitialValue(f.value);
196
+ }
197
+ });
200
198
  }
201
- return null;
199
+ }
200
+ searchInputsByName() {
201
+ const inputs = this._searchInputs$.getValue();
202
+ const map = new Map();
203
+ inputs.forEach(input => map.set(input.name, input));
204
+ return map;
202
205
  }
203
206
  convertToFilters(states) {
204
207
  return states
208
+ .filter(s => s.userEvent)
205
209
  .filter(s => !!s.queryKey)
206
210
  .map(s => new Filter(s.queryKey, s.queryValue));
207
211
  }
@@ -222,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
222
226
  }], forcedFilters: [{
223
227
  type: Input
224
228
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0MsU0FBUyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFjLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV6RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBRzFFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRTlEOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTywyQkFBMkI7SUFtQnRDOzs7O2dGQUk0RTtJQUU1RSxZQUNFLG9CQUEwQztRQXhCNUM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFL0IsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDeEQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIs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SUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RCxJQUFJLE1BQU0sRUFBRTtnQkFDVixLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBa0IsRUFBRSxPQUFpQjtRQUM5RCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDN0IsT0FBTyxNQUFNLENBQUM7YUFDZjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBMEI7UUFDakQsT0FBTyxNQUFNO2FBQ1YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7YUFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQTNQVSwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjsyR0FvRVksZUFBZTtzQkFEekIsS0FBSztnQkFrQkssYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMkJoQixhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdFdpdGgsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoSW5wdXR9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7U2VhcmNoSW5wdXRTdGF0ZX0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7U2VhcmNoQ29udGV4dFNlcnZpY2V9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQge1NlYXJjaENvbnRleHR9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQnO1xuXG4vKipcbiAqIFRoZSBTZWFyY2hDb250ZXh0RGlyZWN0aXZlIGJpbmRzIGEgZ3JvdXAgb2Ygc2VhcmNoLWlucHV0c1xuICogdG8gYSBTZWFyY2hDb250ZXh0IHdpdGggYSB0d28td2F5IGJpbmRpbmcuXG4gKlxuICogSXQgYWxzbyBiaW5kcyB0aGUgU2VhcmNoQ29udGV4dCB0byBhIEZpbHRlckNvbnRleHQgKERhdGFDb250ZXh0KS5cbiAqIFRPRE8gTWF5YmUgc2VwYXJhdGUgdGhpcz8/XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclNlYXJjaENvbnRleHRdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaENvbnRleHQnXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQ29udGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoSW5wdXRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VhcmNoSW5wdXRbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hTdGF0ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hJbnB1dFN0YXRlW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlckNvbnRleHQ+KG51bGwpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaENvbnRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hDb250ZXh0PihTZWFyY2hDb250ZXh0LnN0YW5kYWxvbmUoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoQ29udGV4dElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWFyY2hDb250ZXh0U2VydmljZTogU2VhcmNoQ29udGV4dFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0SWQkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIoY29udGV4dElkID0+ICEhY29udGV4dElkKSxcbiAgICAgIG1hcChjb250ZXh0SWQgPT4gc2VhcmNoQ29udGV4dFNlcnZpY2UuY29udGV4dChjb250ZXh0SWQpKSxcbiAgICApLnN1YnNjcmliZShjdHggPT4gdGhpcy5fc2VhcmNoQ29udGV4dCQubmV4dChjdHgpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5RGVmYXVsdEZpbHRlcnNUb1NlYXJjaENvbnRleHQoKTtcbiAgICB0aGlzLnN5bmNTZWFyY2hDb250ZXh0VG9Cb3VuZEZpbHRlckNvbnRleHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jU2VhcmNoSW5wdXRzVG9TZWFyY2hDb250ZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlTZWFyY2hDb250ZXh0VG9JbnB1dHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VhcmNoQ29udGV4dElkKGNvbnRleHRJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0SWQkLm5leHQoY29udGV4dElkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VhcmNoQ29udGV4dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoQ29udGV4dElkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hDb250ZXh0JCgpOiBPYnNlcnZhYmxlPFNlYXJjaENvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoQ29udGV4dCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaENvbnRleHQoKTogU2VhcmNoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaENvbnRleHQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBASW5wdXQoJ2VsZGVyU2VhcmNoQ29udGV4dCcpXG4gIHB1YmxpYyBzZXQgZmlsdGVyQ29udGV4dCh2YWx1ZTogRmlsdGVyQ29udGV4dCB8ICcnKSB7XG4gICAgbGV0IGNvbnRleHQ6IEZpbHRlckNvbnRleHQ7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICBjb250ZXh0ID0gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZy53YXJuKCdJbGxlZ2FsIHZhbHVlIHByb3ZpZGVkIGZvciBwcm9wZXJ0eSBmaWx0ZXJDb250ZXh0OiAnLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgdmFsdWUgcHJvdmlkZWQgZm9yIHByb3BlcnR5IGZpbHRlckNvbnRleHQhICcgKyB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQgPSBGaWx0ZXJDb250ZXh0LmVtcHR5KCk7XG4gICAgfVxuICAgIHRoaXMuX2ZpbHRlckNvbnRleHQkLm5leHQoY29udGV4dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbHRlckNvbnRleHQoKTogRmlsdGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbnRleHQkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogRm9yY2VkIGZpbHRlcnMgYXJlIGFsd2F5cyBtZXJnZWQgaW50byB0aGUgZmluYWwgRmlsdGVyQ29udGV4dC5cbiAgICpcbiAgICogVGhpcyBtZWFucyB0aGV5IG92ZXJyaWRlIHVzZXIgZGVmaW5lZCBmaWx0ZXJzLCBidXQgYXR0ZW1wdFxuICAgKiB0byBhbHNvIGtlZXAgdGhlIHVzZXJzIGludGVudCAoYnkgbWVyZ2luZykgdGhlbS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZm9yY2VkRmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIHRoaXMuc2VhcmNoQ29udGV4dC5mb3JjZWRGaWx0ZXJzLnJlcGxhY2VGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JjZWRGaWx0ZXJzKCk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hDb250ZXh0LmZvcmNlZEZpbHRlcnMuZmlsdGVyc1NuYXBzaG90O1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRyaWJ1dGVzKCk6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hJbnB1dHMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRyaWJ1dGVzU25hcHNob3QoKTogU2VhcmNoSW5wdXRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaElucHV0cyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGVzJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hTdGF0ZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZXNTbmFwc2hvdCgpOiBTZWFyY2hJbnB1dFN0YXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hTdGF0ZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCB1c2VyIHRvdWNoZWQgYXR0cmlidXRlcy4gKGlnbm9yaW5nIGZhbGxiYWNrcylcbiAgICovXG4gIHB1YmxpYyBnZXQgdXNlckRlZmluZWRBdHRyaWJ1dGVzJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcyQucGlwZShcbiAgICAgIG1hcChzdGF0ZXMgPT4gc3RhdGVzLmZpbHRlcihzID0+ICFzLnByaXN0aW5lKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbmV3IHNlYXJjaCBuYW1lIGluIHRoaXMgY29udGFpbmVyXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIoc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgdGhpcy5sb2cuZGVidWcoJ1JlZ2lzdGVyaW5nIHNlYXJjaCBpbnB1dCBbJyArIHNlYXJjaElucHV0Lm5hbWUgKyAnXScpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9zZWFyY2hJbnB1dHMkLmdldFZhbHVlKCk7XG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJC5uZXh0KFsuLi5jdXJyZW50LCBzZWFyY2hJbnB1dF0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuYXR0cmlidXRlc1NuYXBzaG90XG4gICAgICAuZmlsdGVyKGF0dHIgPT4gIWF0dHIucmVhZG9ubHkpXG4gICAgICAuZm9yRWFjaChhID0+IHtcbiAgICAgICAgYS5yZXNldCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdEZpbHRlcnNUb1NlYXJjaENvbnRleHQoKTogdm9pZCB7XG4gICAgY29uc3QgZGNGaWx0ZXJzID0gdGhpcy5maWx0ZXJDb250ZXh0O1xuICAgIGNvbnN0IHNlYXJjaENvbnRleHQgPSB0aGlzLnNlYXJjaENvbnRleHQ7XG4gICAgaWYgKHNlYXJjaENvbnRleHQudXNlckZpbHRlcnMuaXNFbXB0eSkge1xuICAgICAgaWYgKCFkY0ZpbHRlcnMuaXNFbXB0eSkge1xuICAgICAgICBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzKGRjRmlsdGVycy5maWx0ZXJzU25hcHNob3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkY0ZpbHRlcnMucmVwbGFjZUZpbHRlcnMoXG4gICAgICAgIHNlYXJjaENvbnRleHQudXNlckZpbHRlcnMuZmlsdGVyc1NuYXBzaG90XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3luY1NlYXJjaElucHV0c1RvU2VhcmNoQ29udGV4dCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEZpbHRlcnMkID0gdGhpcy5fc2VhcmNoSW5wdXRzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGlucHV0cyA9PiBjb21iaW5lTGF0ZXN0KGlucHV0cy5tYXAoaSA9PiBpLnN0YXRlJCkpKSxcbiAgICAgIGRlYm91bmNlVGltZSg1KSxcbiAgICAgIHRhcChzdGF0ZXMgPT4gdGhpcy5fc2VhcmNoU3RhdGVzJC5uZXh0KHN0YXRlcykpLFxuICAgICAgbWFwKHN0YXRlcyA9PiB0aGlzLmNvbnZlcnRUb0ZpbHRlcnMoc3RhdGVzKSlcbiAgICApO1xuXG4gICAgaW5wdXRGaWx0ZXJzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5fc2VhcmNoQ29udGV4dCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbaW5wdXRGaWx0ZXJzLCBzZWFyY2hDb250ZXh0XSkgPT4ge1xuICAgICAgICBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzKGlucHV0RmlsdGVycyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY1NlYXJjaENvbnRleHRUb0JvdW5kRmlsdGVyQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWFyY2hDb250ZXh0JC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgc3dpdGNoTWFwKGNvbnRleHQgPT4gY29udGV4dC5hbGxGaWx0ZXJzQ2hhbmdlZClcbiAgICApLnN1YnNjcmliZShhbGxGaWx0ZXJzID0+IHRoaXMuYXBwbHlUb0JvdW5kRmlsdGVyQ29udGV4dChhbGxGaWx0ZXJzKSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5VG9Cb3VuZEZpbHRlckNvbnRleHQoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJDdHggPSB0aGlzLmZpbHRlckNvbnRleHQ7XG4gICAgaWYgKGZpbHRlckN0eCkge1xuICAgICAgZmlsdGVyQ3R4LnJlcGxhY2VGaWx0ZXJzKGZpbHRlcnMpO1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ0FwcGxpZWQgRmlsdGVycyBvZiBTZWFyY2hDb250ZXh0ICcrdGhpcy5zZWFyY2hDb250ZXh0SWQrJyB0byBEYXRhQ29udGV4dCBGaWx0ZXJDb250ZXh0LicsIGZpbHRlcnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKCdGYWlsZWQgdG8gYXBwbHkgZmlsdGVycyBzaW5jZSBubyBGaWx0ZXJDb250ZXh0IGlzIGF2YWlsYWJsZSEnLCBmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTZWFyY2hDb250ZXh0VG9JbnB1dHMoKTogdm9pZCB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5zZWFyY2hDb250ZXh0O1xuICAgIHRoaXMuYXBwbHlGaWx0ZXJzVG9JbnB1dHMoXG4gICAgICBjdHgudXNlckZpbHRlcnMuZmlsdGVyc1NuYXBzaG90IC8vIHRoaXMuZmlsdGVyQ29udGV4dC5maWx0ZXJzU25hcHNob3QgKG9sZClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUZpbHRlcnNUb0lucHV0cyhmaWx0ZXJzOiBGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMubG9nLndhcm4oJ2FwcGx5RmlsdGVyc1RvSW5wdXRzJywgZmlsdGVycyk7XG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJC5nZXRWYWx1ZSgpLmZvckVhY2goaW5wdXQgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5maW5kRmlsdGVyRm9ySW5wdXQoaW5wdXQsIGZpbHRlcnMpO1xuICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICBpbnB1dC5hcHBseUluaXRpYWxWYWx1ZShmaWx0ZXIudmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRmlsdGVyRm9ySW5wdXQoaW5wdXQ6IFNlYXJjaElucHV0LCBmaWx0ZXJzOiBGaWx0ZXJbXSk6IEZpbHRlciB7XG4gICAgZm9yIChjb25zdCBmaWx0ZXIgb2YgZmlsdGVycykge1xuICAgICAgaWYgKGZpbHRlci5rZXkgPT09IGlucHV0Lm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb0ZpbHRlcnMoc3RhdGVzOiBTZWFyY2hJbnB1dFN0YXRlW10pOiBGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIHN0YXRlc1xuICAgICAgLmZpbHRlcihzID0+ICEhcy5xdWVyeUtleSlcbiAgICAgIC5tYXAocyA9PiBuZXcgRmlsdGVyKHMucXVlcnlLZXksIHMucXVlcnlWYWx1ZSkpO1xuICB9XG5cblxufVxuXG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvZWxkZXItc2VhcmNoLWNvbnRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0MsU0FBUyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxlQUFlLEVBQUUsT0FBTyxFQUFjLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV6RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBRzFFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7OztBQUU3RDs7Ozs7O0dBTUc7QUFLSCxNQUFNLE9BQU8sMkJBQTJCO0lBbUJ0Qzs7OztnRkFJNEU7SUFFNUUsWUFDRSxvQkFBMEM7UUF4QjVDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUs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QUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQW5RVSwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjsyR0FrRVksZUFBZTtzQkFEekIsS0FBSztnQkFrQkssYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMkJoQixhQUFhO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdFdpdGgsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2VhcmNoSW5wdXR9IGZyb20gJy4vZG9tYWluL2lucHV0L3NlYXJjaC1pbnB1dCc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXInO1xuaW1wb3J0IHtGaWx0ZXJDb250ZXh0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXJzL2ZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7U2VhcmNoSW5wdXRTdGF0ZX0gZnJvbSAnLi9kb21haW4vaW5wdXQvc2VhcmNoLWlucHV0LXN0YXRlJztcbmltcG9ydCB7U2VhcmNoQ29udGV4dFNlcnZpY2V9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQge1NlYXJjaENvbnRleHR9IGZyb20gJy4vZG9tYWluL2NvbnRleHQvc2VhcmNoLWNvbnRleHQnO1xuaW1wb3J0IHtGaWx0ZXJVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvZmlsdGVyLXV0aWwnO1xuXG4vKipcbiAqIFRoZSBTZWFyY2hDb250ZXh0RGlyZWN0aXZlIGJpbmRzIGEgZ3JvdXAgb2Ygc2VhcmNoLWlucHV0c1xuICogdG8gYSBTZWFyY2hDb250ZXh0IHdpdGggYSB0d28td2F5IGJpbmRpbmcuXG4gKlxuICogSXQgYWxzbyBiaW5kcyB0aGUgU2VhcmNoQ29udGV4dCB0byBhIEZpbHRlckNvbnRleHQgKERhdGFDb250ZXh0KS5cbiAqIFRPRE8gTWF5YmUgc2VwYXJhdGUgdGhpcz8/XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlclNlYXJjaENvbnRleHRdJyxcbiAgZXhwb3J0QXM6ICdlbGRlclNlYXJjaENvbnRleHQnXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2VhcmNoQ29udGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoSW5wdXRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VhcmNoSW5wdXRbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hTdGF0ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hJbnB1dFN0YXRlW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyQ29udGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlckNvbnRleHQ+KG51bGwpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaENvbnRleHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hDb250ZXh0PihTZWFyY2hDb250ZXh0LnN0YW5kYWxvbmUoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoQ29udGV4dElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWFyY2hDb250ZXh0U2VydmljZTogU2VhcmNoQ29udGV4dFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0SWQkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICBmaWx0ZXIoY29udGV4dElkID0+ICEhY29udGV4dElkKSxcbiAgICAgIG1hcChjb250ZXh0SWQgPT4gc2VhcmNoQ29udGV4dFNlcnZpY2UuY29udGV4dChjb250ZXh0SWQpKSxcbiAgICApLnN1YnNjcmliZShjdHggPT4gdGhpcy5fc2VhcmNoQ29udGV4dCQubmV4dChjdHgpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5RGVmYXVsdEZpbHRlcnNUb1NlYXJjaENvbnRleHQoKTtcbiAgICB0aGlzLnN5bmNTZWFyY2hDb250ZXh0VG9Cb3VuZEZpbHRlckNvbnRleHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ29udGV4dCA9IHRoaXMuc2VhcmNoQ29udGV4dDtcbiAgICB0aGlzLmFwcGx5U2VhcmNoQ29udGV4dFRvSW5wdXRzKHNlYXJjaENvbnRleHQpO1xuICAgIHRoaXMuc3luY1NlYXJjaElucHV0c1RvU2VhcmNoQ29udGV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWFyY2hDb250ZXh0SWQoY29udGV4dElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaENvbnRleHRJZCQubmV4dChjb250ZXh0SWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hDb250ZXh0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hDb250ZXh0SWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlYXJjaENvbnRleHQkKCk6IE9ic2VydmFibGU8U2VhcmNoQ29udGV4dD4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hDb250ZXh0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VhcmNoQ29udGV4dCgpOiBTZWFyY2hDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZWxkZXJTZWFyY2hDb250ZXh0JylcbiAgcHVibGljIHNldCBmaWx0ZXJDb250ZXh0KHZhbHVlOiBGaWx0ZXJDb250ZXh0IHwgJycpIHtcbiAgICBsZXQgY29udGV4dDogRmlsdGVyQ29udGV4dDtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnRleHQgPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9nLndhcm4oJ0lsbGVnYWwgdmFsdWUgcHJvdmlkZWQgZm9yIHByb3BlcnR5IGZpbHRlckNvbnRleHQ6ICcsIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSWxsZWdhbCB2YWx1ZSBwcm92aWRlZCBmb3IgcHJvcGVydHkgZmlsdGVyQ29udGV4dCEgJyArIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dCA9IEZpbHRlckNvbnRleHQuZW1wdHkoKTtcbiAgICB9XG4gICAgdGhpcy5fZmlsdGVyQ29udGV4dCQubmV4dChjb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVyQ29udGV4dCgpOiBGaWx0ZXJDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JjZWQgZmlsdGVycyBhcmUgYWx3YXlzIG1lcmdlZCBpbnRvIHRoZSBmaW5hbCBGaWx0ZXJDb250ZXh0LlxuICAgKlxuICAgKiBUaGlzIG1lYW5zIHRoZXkgb3ZlcnJpZGUgdXNlciBkZWZpbmVkIGZpbHRlcnMsIGJ1dCBhdHRlbXB0XG4gICAqIHRvIGFsc28ga2VlcCB0aGUgdXNlcnMgaW50ZW50IChieSBtZXJnaW5nKSB0aGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb3JjZWRGaWx0ZXJzKGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgdGhpcy5zZWFyY2hDb250ZXh0LnJlcGxhY2VGb3JjZWRGaWx0ZXJzKGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBmb3JjZWRGaWx0ZXJzKCk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hDb250ZXh0LmZvcmNlZEZpbHRlcnMuZmlsdGVyc1NuYXBzaG90O1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRyaWJ1dGVzKCk6IE9ic2VydmFibGU8U2VhcmNoSW5wdXRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hJbnB1dHMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRyaWJ1dGVzU25hcHNob3QoKTogU2VhcmNoSW5wdXRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaElucHV0cyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGVzJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hTdGF0ZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZXNTbmFwc2hvdCgpOiBTZWFyY2hJbnB1dFN0YXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hTdGF0ZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCB1c2VyIHRvdWNoZWQgYXR0cmlidXRlcy4gKGlnbm9yaW5nIGZhbGxiYWNrcylcbiAgICovXG4gIHB1YmxpYyBnZXQgdXNlckRlZmluZWRBdHRyaWJ1dGVzJCgpOiBPYnNlcnZhYmxlPFNlYXJjaElucHV0U3RhdGVbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlcyQucGlwZShcbiAgICAgIG1hcChzdGF0ZXMgPT4gc3RhdGVzLmZpbHRlcihzID0+ICFzLnByaXN0aW5lKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbmV3IHNlYXJjaCBuYW1lIGluIHRoaXMgY29udGFpbmVyXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIoc2VhcmNoSW5wdXQ6IFNlYXJjaElucHV0KTogdm9pZCB7XG4gICAgdGhpcy5sb2cuZGVidWcoJ1JlZ2lzdGVyaW5nIHNlYXJjaCBpbnB1dCBbJyArIHNlYXJjaElucHV0Lm5hbWUgKyAnXScpO1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl9zZWFyY2hJbnB1dHMkLmdldFZhbHVlKCk7XG4gICAgdGhpcy5fc2VhcmNoSW5wdXRzJC5uZXh0KFsuLi5jdXJyZW50LCBzZWFyY2hJbnB1dF0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuYXR0cmlidXRlc1NuYXBzaG90XG4gICAgICAuZmlsdGVyKGF0dHIgPT4gIWF0dHIucmVhZG9ubHkpXG4gICAgICAuZm9yRWFjaChhID0+IHtcbiAgICAgICAgYS5yZXNldCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGFwcGx5RGVmYXVsdEZpbHRlcnNUb1NlYXJjaENvbnRleHQoKTogdm9pZCB7XG4gICAgY29uc3QgZGNGaWx0ZXJzID0gdGhpcy5maWx0ZXJDb250ZXh0O1xuICAgIGNvbnN0IHNlYXJjaENvbnRleHQgPSB0aGlzLnNlYXJjaENvbnRleHQ7XG4gICAgaWYgKHNlYXJjaENvbnRleHQudXNlckZpbHRlcnMuaXNFbXB0eSkge1xuICAgICAgaWYgKCFkY0ZpbHRlcnMuaXNFbXB0eSkge1xuICAgICAgICAvLyBDb25zaWRlciBhbGwgZmlsdGVycyBpbiBEQyBhcyBkZWZhdWx0cywgZXhwZWN0IGZvciBmb2NlZCBmaWx0ZXJzLlxuICAgICAgICBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzKFxuICAgICAgICAgIEZpbHRlclV0aWwuc3RyaXAoXG4gICAgICAgICAgICBkY0ZpbHRlcnMuZmlsdGVyc1NuYXBzaG90LFxuICAgICAgICAgICAgdGhpcy5mb3JjZWRGaWx0ZXJzXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkY0ZpbHRlcnMucmVwbGFjZUZpbHRlcnMoXG4gICAgICAgIHNlYXJjaENvbnRleHQudXNlckZpbHRlcnMuZmlsdGVyc1NuYXBzaG90XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3luY1NlYXJjaElucHV0c1RvU2VhcmNoQ29udGV4dCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEZpbHRlcnMkID0gdGhpcy5fc2VhcmNoSW5wdXRzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGlucHV0cyA9PiBjb21iaW5lTGF0ZXN0KGlucHV0cy5tYXAoaSA9PiBpLnN0YXRlJCkpKSxcbiAgICAgIGRlYm91bmNlVGltZSg1KSxcbiAgICAgIHRhcChzdGF0ZXMgPT4gdGhpcy5fc2VhcmNoU3RhdGVzJC5uZXh0KHN0YXRlcykpLFxuICAgICAgbWFwKHN0YXRlcyA9PiB0aGlzLmNvbnZlcnRUb0ZpbHRlcnMoc3RhdGVzKSlcbiAgICApO1xuXG4gICAgaW5wdXRGaWx0ZXJzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5fc2VhcmNoQ29udGV4dCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbaW5wdXRGaWx0ZXJzLCBzZWFyY2hDb250ZXh0XSkgPT4ge1xuICAgICAgICBzZWFyY2hDb250ZXh0LnVwZGF0ZVVzZXJGaWx0ZXJzKGlucHV0RmlsdGVycyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY1NlYXJjaENvbnRleHRUb0JvdW5kRmlsdGVyQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWFyY2hDb250ZXh0JC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgc3dpdGNoTWFwKGNvbnRleHQgPT4gY29udGV4dC5hbGxGaWx0ZXJzQ2hhbmdlZClcbiAgICApLnN1YnNjcmliZShhbGxGaWx0ZXJzID0+IHRoaXMuYXBwbHlUb0JvdW5kRmlsdGVyQ29udGV4dChhbGxGaWx0ZXJzKSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5VG9Cb3VuZEZpbHRlckNvbnRleHQoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJDdHggPSB0aGlzLmZpbHRlckNvbnRleHQ7XG4gICAgaWYgKGZpbHRlckN0eCkge1xuICAgICAgZmlsdGVyQ3R4LnJlcGxhY2VGaWx0ZXJzKGZpbHRlcnMpO1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ0FwcGxpZWQgRmlsdGVycyBvZiBTZWFyY2hDb250ZXh0ICcgKyB0aGlzLnNlYXJjaENvbnRleHRJZCArICcgdG8gRGF0YUNvbnRleHQgRmlsdGVyQ29udGV4dC4nLCBmaWx0ZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignRmFpbGVkIHRvIGFwcGx5IGZpbHRlcnMgc2luY2Ugbm8gRmlsdGVyQ29udGV4dCBpcyBhdmFpbGFibGUhJywgZmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNlYXJjaENvbnRleHRUb0lucHV0cyhzZWFyY2hDb250ZXh0OiBTZWFyY2hDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5hcHBseUZpbHRlcnNUb0lucHV0cyhcbiAgICAgIHNlYXJjaENvbnRleHQudXNlckZpbHRlcnMuZmlsdGVyc1NuYXBzaG90XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlGaWx0ZXJzVG9JbnB1dHMoZmlsdGVyczogRmlsdGVyW10pOiB2b2lkIHtcbiAgICBpZiAoZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpbnB1dHNCeU5hbWUgPSB0aGlzLnNlYXJjaElucHV0c0J5TmFtZSgpO1xuICAgICAgdGhpcy5sb2cud2FybignYXBwbHlGaWx0ZXJzVG9JbnB1dHMgWycgKyBBcnJheS5mcm9tKGlucHV0c0J5TmFtZS5rZXlzKCkpICsgJ10nLCB7XG4gICAgICAgIGZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGlucHV0c0J5TmFtZTogaW5wdXRzQnlOYW1lXG4gICAgICB9KTtcbiAgICAgIGZpbHRlcnMuZm9yRWFjaChmID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dHNCeU5hbWUuZ2V0KGYua2V5KTtcbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgaW5wdXQuYXBwbHlJbml0aWFsVmFsdWUoZi52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoSW5wdXRzQnlOYW1lKCk6IE1hcDxzdHJpbmcsIFNlYXJjaElucHV0PiB7XG4gICAgY29uc3QgaW5wdXRzID0gdGhpcy5fc2VhcmNoSW5wdXRzJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBTZWFyY2hJbnB1dD4oKTtcbiAgICBpbnB1dHMuZm9yRWFjaChpbnB1dCA9PiBtYXAuc2V0KGlucHV0Lm5hbWUsIGlucHV0KSk7XG4gICAgcmV0dXJuIG1hcDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvRmlsdGVycyhzdGF0ZXM6IFNlYXJjaElucHV0U3RhdGVbXSk6IEZpbHRlcltdIHtcbiAgICByZXR1cm4gc3RhdGVzXG4gICAgICAuZmlsdGVyKHMgPT4gcy51c2VyRXZlbnQpXG4gICAgICAuZmlsdGVyKHMgPT4gISFzLnF1ZXJ5S2V5KVxuICAgICAgLm1hcChzID0+IG5ldyBGaWx0ZXIocy5xdWVyeUtleSwgcy5xdWVyeVZhbHVlKSk7XG4gIH1cbn1cblxuIl19