@o3r/rules-engine 11.3.3 → 11.3.4

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.
@@ -21,14 +21,9 @@ export const selectRulesetsStorePendingStatus = createSelector(selectRulesetsSta
21
21
  */
22
22
  const isValidDate = (d) => !isNaN(d) && d instanceof Date;
23
23
  /**
24
- * Returns only the rulesets ids which are not onDemand and in the validity range
25
- * OnDemand takes precedence over validity range.
26
- * Only if the ruleset is NOT onDemand (this means it is taken into consideration for the runs), the validity is checked
24
+ * Returns the rulesets which are in the validity range, if provided
27
25
  */
28
- export const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets) => ruleSets.filter((ruleSet) => {
29
- if (ruleSet.linkedComponents?.or?.length || ruleSet.linkedComponent) {
30
- return false;
31
- }
26
+ export const selectRuleSetsInRange = createSelector(selectAllRulesets, (ruleSets) => ruleSets.filter((ruleSet) => {
32
27
  const validity = ruleSet.validityRange;
33
28
  if (!validity || !validity.from && !validity.to) {
34
29
  return true;
@@ -46,10 +41,16 @@ export const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets)
46
41
  return from.getTime() <= time;
47
42
  }
48
43
  return to && to.getTime() >= time;
49
- }).map((ruleSet) => ruleSet.id));
50
- /*
44
+ }));
45
+ /**
46
+ * Returns the rulesets ids which are not onDemand and in the validity range
47
+ */
48
+ export const selectActiveRuleSets = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
49
+ .filter((ruleSet) => (!(ruleSet.linkedComponents?.or?.length || ruleSet.linkedComponent)))
50
+ .map((ruleSet) => ruleSet.id));
51
+ /**
51
52
  * Assign rulesetId to a component
52
- * @deprecated; It will be rmeoved in v12 with the selector using it
53
+ * @deprecated It will be removed in v12 with the selector using it
53
54
  */
54
55
  function linkRulesetToComponent(compName, library, ruleSetId, acc = {}) {
55
56
  const configName = computeItemIdentifier(compName, library);
@@ -66,7 +67,7 @@ function linkComponentToRuleset(compName, library, ruleSetId, acc = {}) {
66
67
  * Select the map of ruleSet to activate based on the component computed name
67
68
  * @deprecated use {@link selectComponentsLinkedToRuleset} instead. It will be removed in v12
68
69
  */
69
- export const selectRuleSetLinkComponents = createSelector(selectAllRulesets, (ruleSets) => ruleSets
70
+ export const selectRuleSetLinkComponents = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
70
71
  .reduce((acc, ruleSet) => {
71
72
  if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
72
73
  return acc;
@@ -85,7 +86,7 @@ export const selectRuleSetLinkComponents = createSelector(selectAllRulesets, (ru
85
86
  /**
86
87
  * Select the map of ruleSets to activate based on linked components
87
88
  */
88
- export const selectComponentsLinkedToRuleset = createSelector(selectAllRulesets, (ruleSets) => ruleSets
89
+ export const selectComponentsLinkedToRuleset = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
89
90
  .reduce((acc, ruleSet) => {
90
91
  if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
91
92
  return acc;
@@ -101,4 +102,4 @@ export const selectComponentsLinkedToRuleset = createSelector(selectAllRulesets,
101
102
  }
102
103
  return acc;
103
104
  }, { or: {} }));
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RSxNQUFNLEVBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRTNGLDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBZ0IsbUJBQW1CLENBQUMsQ0FBQztBQUU3Rix1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEYsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUUxRixzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBGLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsQ0FB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QyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUcsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVCLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsRUFBRSxFQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbXB1dGVJdGVtSWRlbnRpZmllciB9IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFJ1bGVzZXQgfSBmcm9tICcuLi8uLi9lbmdpbmUnO1xuaW1wb3J0IHsgcnVsZXNldHNBZGFwdGVyIH0gZnJvbSAnLi9ydWxlc2V0cy5yZWR1Y2VyJztcbmltcG9ydCB7IFJVTEVTRVRTX1NUT1JFX05BTUUsIFJ1bGVzZXRzU3RhdGUgfSBmcm9tICcuL3J1bGVzZXRzLnN0YXRlJztcblxuY29uc3Qge3NlbGVjdElkcywgc2VsZWN0RW50aXRpZXMsIHNlbGVjdEFsbCwgc2VsZWN0VG90YWx9ID0gcnVsZXNldHNBZGFwdGVyLmdldFNlbGVjdG9ycygpO1xuXG4vKiogU2VsZWN0IFJ1bGVzZXRzIFN0YXRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxSdWxlc2V0c1N0YXRlPihSVUxFU0VUU19TVE9SRV9OQU1FKTtcblxuLyoqIFNlbGVjdCB0aGUgYXJyYXkgb2YgUnVsZXNldHMgaWRzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNJZHMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RJZHMpO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBSdWxlc2V0cyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEFsbFJ1bGVzZXRzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgc2VsZWN0QWxsKTtcblxuLyoqIFNlbGVjdCB0aGUgZGljdGlvbmFyeSBvZiBSdWxlc2V0cyBlbnRpdGllcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RFbnRpdGllcyk7XG5cbi8qKiBTZWxlY3QgdGhlIHRvdGFsIFJ1bGVzZXRzIGNvdW50ICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNUb3RhbCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIHNlbGVjdFRvdGFsKTtcblxuLyoqIFNlbGVjdCB0aGUgc3RvcmUgcGVuZGluZyBzdGF0dXMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c1N0b3JlUGVuZGluZ1N0YXR1cyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIChzdGF0ZSkgPT4gc3RhdGUuaXNQZW5kaW5nIHx8IGZhbHNlKTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCBkYXRlXG4gKiBAcGFyYW0gZFxuICovXG5jb25zdCBpc1ZhbGlkRGF0ZSA9IChkOiBhbnkpID0+ICFpc05hTihkKSAmJiBkIGluc3RhbmNlb2YgRGF0ZTtcblxuLyoqXG4gKiBSZXR1cm5zIG9ubHkgdGhlIHJ1bGVzZXRzIGlkcyB3aGljaCBhcmUgbm90IG9uRGVtYW5kIGFuZCBpbiB0aGUgdmFsaWRpdHkgcmFuZ2VcbiAqIE9uRGVtYW5kIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB2YWxpZGl0eSByYW5nZS5cbiAqIE9ubHkgaWYgdGhlIHJ1bGVzZXQgaXMgTk9UIG9uRGVtYW5kICh0aGlzIG1lYW5zIGl0IGlzIHRha2VuIGludG8gY29uc2lkZXJhdGlvbiBmb3IgdGhlIHJ1bnMpLCB0aGUgdmFsaWRpdHkgaXMgY2hlY2tlZFxuICovXG5leHBvcnQgY29uc3Qgc2VsZWN0QWN0aXZlUnVsZVNldHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0QWxsUnVsZXNldHMsXG4gIChydWxlU2V0cykgPT4gcnVsZVNldHMuZmlsdGVyKChydWxlU2V0OiBSdWxlc2V0KSA9PiB7XG5cbiAgICBpZiAocnVsZVNldC5saW5rZWRDb21wb25lbnRzPy5vcj8ubGVuZ3RoIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRpdHkgPSBydWxlU2V0LnZhbGlkaXR5UmFuZ2U7XG4gICAgaWYgKCF2YWxpZGl0eSB8fCAhdmFsaWRpdHkuZnJvbSAmJiAhdmFsaWRpdHkudG8pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGZyb20gPSB2YWxpZGl0eS5mcm9tICYmIG5ldyBEYXRlKHZhbGlkaXR5LmZyb20pO1xuICAgIGNvbnN0IHRvID0gdmFsaWRpdHkudG8gJiYgbmV3IERhdGUodmFsaWRpdHkudG8pO1xuXG4gICAgaWYgKHRvICYmICFpc1ZhbGlkRGF0ZSh0bykgfHwgZnJvbSAmJiAhaXNWYWxpZERhdGUoZnJvbSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gICAgaWYgKHRvICYmIGZyb20pIHtcbiAgICAgIHJldHVybiBmcm9tLmdldFRpbWUoKSA8PSB0aW1lICYmIHRvLmdldFRpbWUoKSA+PSB0aW1lO1xuICAgIH1cblxuICAgIGlmIChmcm9tKSB7XG4gICAgICByZXR1cm4gZnJvbS5nZXRUaW1lKCkgPD0gdGltZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG8gJiYgdG8uZ2V0VGltZSgpID49IHRpbWU7XG4gIH0pLm1hcCgocnVsZVNldDogUnVsZXNldCkgPT4gcnVsZVNldC5pZCkpO1xuXG4vKlxuICogQXNzaWduIHJ1bGVzZXRJZCB0byBhIGNvbXBvbmVudFxuICogQGRlcHJlY2F0ZWQ7IEl0IHdpbGwgYmUgcm1lb3ZlZCBpbiB2MTIgd2l0aCB0aGUgc2VsZWN0b3IgdXNpbmcgaXRcbiAqL1xuZnVuY3Rpb24gbGlua1J1bGVzZXRUb0NvbXBvbmVudChjb21wTmFtZTogc3RyaW5nLCBsaWJyYXJ5OiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nLCBhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZ05hbWUgPSBjb21wdXRlSXRlbUlkZW50aWZpZXIoY29tcE5hbWUsIGxpYnJhcnkpO1xuICBhY2NbY29uZmlnTmFtZV0gfHw9IFtdO1xuICBhY2NbY29uZmlnTmFtZV0ucHVzaChydWxlU2V0SWQpO1xufVxuXG4vKiBBc3NpZ24gY29tcG9uZW50IHRvIFJ1bGVzZXRJZHMgTWFwICovXG5mdW5jdGlvbiBsaW5rQ29tcG9uZW50VG9SdWxlc2V0KGNvbXBOYW1lOiBzdHJpbmcsIGxpYnJhcnk6IHN0cmluZywgcnVsZVNldElkOiBzdHJpbmcsIGFjYzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge30pIHtcbiAgY29uc3QgY29uZmlnTmFtZSA9IGNvbXB1dGVJdGVtSWRlbnRpZmllcihjb21wTmFtZSwgbGlicmFyeSk7XG4gIGFjY1tydWxlU2V0SWRdIHx8PSBbXTtcbiAgYWNjW3J1bGVTZXRJZF0ucHVzaChjb25maWdOYW1lKTtcbn1cblxuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXQgdG8gYWN0aXZhdGUgYmFzZWQgb24gdGhlIGNvbXBvbmVudCBjb21wdXRlZCBuYW1lXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIHNlbGVjdENvbXBvbmVudHNMaW5rZWRUb1J1bGVzZXR9IGluc3RlYWQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTJcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVTZXRMaW5rQ29tcG9uZW50cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBbGxSdWxlc2V0cyxcbiAgKHJ1bGVTZXRzKSA9PlxuICAgIHJ1bGVTZXRzXG4gICAgICAucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiwgcnVsZVNldDogUnVsZXNldCkgPT4ge1xuICAgICAgICBpZiAoKCFydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5sZW5ndGggPT09IDApICYmICFydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCkge1xuICAgICAgICAgIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5mb3JFYWNoKGxpbmtDb21wID0+IHtcbiAgICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pXG4pO1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXRzIHRvIGFjdGl2YXRlIGJhc2VkIG9uIGxpbmtlZCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdEFsbFJ1bGVzZXRzLFxuICAocnVsZVNldHMpID0+XG4gICAgcnVsZVNldHNcbiAgICAgIC5yZWR1Y2UoKGFjYzoge29yOiB7W2tleTogc3RyaW5nXTogc3RyaW5nW119fSwgcnVsZVNldDogUnVsZXNldCkgPT4ge1xuICAgICAgICBpZiAoKCFydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5sZW5ndGggPT09IDApICYmICFydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCkge1xuICAgICAgICAgIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5mb3JFYWNoKGxpbmtDb21wID0+IHtcbiAgICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge29yOiB7fX0pXG4pO1xuXG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBaUIsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RSxNQUFNLEVBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRTNGLDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBZ0IsbUJBQW1CLENBQUMsQ0FBQztBQUU3Rix1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEYsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUUxRixzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBGLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLENBQUM7QUFFekg7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUM7QUFFL0Q7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxjQUFjLENBQ2pELGlCQUFpQixFQUNqQixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUNqRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhELElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3pELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN4QixJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUNILENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGNBQWMsQ0FDaEQscUJBQXFCLEVBQ3JCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRO0tBQ25CLE1BQU0sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0tBQ2xHLEdBQUcsQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTVDOzs7R0FHRztBQUNILFNBQVMsc0JBQXNCLENBQUMsUUFBZ0IsRUFBRSxPQUFlLEVBQUUsU0FBaUIsRUFBRSxNQUFnQyxFQUFFO0lBQ3RILE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELHdDQUF3QztBQUN4QyxTQUFTLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsT0FBZSxFQUFFLFNBQWlCLEVBQUUsTUFBZ0MsRUFBRTtJQUN0SCxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFHRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxjQUFjLENBQ3ZELHFCQUFxQixFQUNyQixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1gsUUFBUTtLQUNMLE1BQU0sQ0FBQyxDQUFDLEdBQTZCLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQzFELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUcsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUIsc0JBQXNCLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1gsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsY0FBYyxDQUMzRCxxQkFBcUIsRUFDckIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUNYLFFBQVE7S0FDTCxNQUFNLENBQUMsQ0FBQyxHQUFvQyxFQUFFLE9BQWdCLEVBQUUsRUFBRTtJQUNqRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVHLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixzQkFBc0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21wdXRlSXRlbUlkZW50aWZpZXIgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBSdWxlc2V0IH0gZnJvbSAnLi4vLi4vZW5naW5lJztcbmltcG9ydCB7IHJ1bGVzZXRzQWRhcHRlciB9IGZyb20gJy4vcnVsZXNldHMucmVkdWNlcic7XG5pbXBvcnQgeyBSVUxFU0VUU19TVE9SRV9OQU1FLCBSdWxlc2V0c1N0YXRlIH0gZnJvbSAnLi9ydWxlc2V0cy5zdGF0ZSc7XG5cbmNvbnN0IHtzZWxlY3RJZHMsIHNlbGVjdEVudGl0aWVzLCBzZWxlY3RBbGwsIHNlbGVjdFRvdGFsfSA9IHJ1bGVzZXRzQWRhcHRlci5nZXRTZWxlY3RvcnMoKTtcblxuLyoqIFNlbGVjdCBSdWxlc2V0cyBTdGF0ZSAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzU3RhdGUgPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8UnVsZXNldHNTdGF0ZT4oUlVMRVNFVFNfU1RPUkVfTkFNRSk7XG5cbi8qKiBTZWxlY3QgdGhlIGFycmF5IG9mIFJ1bGVzZXRzIGlkcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzSWRzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgc2VsZWN0SWRzKTtcblxuLyoqIFNlbGVjdCB0aGUgYXJyYXkgb2YgUnVsZXNldHMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RBbGxSdWxlc2V0cyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIHNlbGVjdEFsbCk7XG5cbi8qKiBTZWxlY3QgdGhlIGRpY3Rpb25hcnkgb2YgUnVsZXNldHMgZW50aXRpZXMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c0VudGl0aWVzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgc2VsZWN0RW50aXRpZXMpO1xuXG4vKiogU2VsZWN0IHRoZSB0b3RhbCBSdWxlc2V0cyBjb3VudCAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzVG90YWwgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RUb3RhbCk7XG5cbi8qKiBTZWxlY3QgdGhlIHN0b3JlIHBlbmRpbmcgc3RhdHVzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNTdG9yZVBlbmRpbmdTdGF0dXMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCAoc3RhdGUpID0+IHN0YXRlLmlzUGVuZGluZyB8fCBmYWxzZSk7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQgZGF0ZVxuICogQHBhcmFtIGRcbiAqL1xuY29uc3QgaXNWYWxpZERhdGUgPSAoZDogYW55KSA9PiAhaXNOYU4oZCkgJiYgZCBpbnN0YW5jZW9mIERhdGU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcnVsZXNldHMgd2hpY2ggYXJlIGluIHRoZSB2YWxpZGl0eSByYW5nZSwgaWYgcHJvdmlkZWRcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVTZXRzSW5SYW5nZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBbGxSdWxlc2V0cyxcbiAgKHJ1bGVTZXRzKSA9PiBydWxlU2V0cy5maWx0ZXIoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+IHtcbiAgICBjb25zdCB2YWxpZGl0eSA9IHJ1bGVTZXQudmFsaWRpdHlSYW5nZTtcbiAgICBpZiAoIXZhbGlkaXR5IHx8ICF2YWxpZGl0eS5mcm9tICYmICF2YWxpZGl0eS50bykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgZnJvbSA9IHZhbGlkaXR5LmZyb20gJiYgbmV3IERhdGUodmFsaWRpdHkuZnJvbSk7XG4gICAgY29uc3QgdG8gPSB2YWxpZGl0eS50byAmJiBuZXcgRGF0ZSh2YWxpZGl0eS50byk7XG5cbiAgICBpZiAodG8gJiYgIWlzVmFsaWREYXRlKHRvKSB8fCBmcm9tICYmICFpc1ZhbGlkRGF0ZShmcm9tKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB0aW1lID0gRGF0ZS5ub3coKTtcbiAgICBpZiAodG8gJiYgZnJvbSkge1xuICAgICAgcmV0dXJuIGZyb20uZ2V0VGltZSgpIDw9IHRpbWUgJiYgdG8uZ2V0VGltZSgpID49IHRpbWU7XG4gICAgfVxuXG4gICAgaWYgKGZyb20pIHtcbiAgICAgIHJldHVybiBmcm9tLmdldFRpbWUoKSA8PSB0aW1lO1xuICAgIH1cbiAgICByZXR1cm4gdG8gJiYgdG8uZ2V0VGltZSgpID49IHRpbWU7XG4gIH0pXG4pO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHJ1bGVzZXRzIGlkcyB3aGljaCBhcmUgbm90IG9uRGVtYW5kIGFuZCBpbiB0aGUgdmFsaWRpdHkgcmFuZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEFjdGl2ZVJ1bGVTZXRzID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdFJ1bGVTZXRzSW5SYW5nZSxcbiAgKHJ1bGVTZXRzKSA9PiBydWxlU2V0c1xuICAgIC5maWx0ZXIoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+ICghKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCB8fCBydWxlU2V0LmxpbmtlZENvbXBvbmVudCkpKVxuICAgIC5tYXAoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+IHJ1bGVTZXQuaWQpKTtcblxuLyoqXG4gKiBBc3NpZ24gcnVsZXNldElkIHRvIGEgY29tcG9uZW50XG4gKiBAZGVwcmVjYXRlZCBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyIHdpdGggdGhlIHNlbGVjdG9yIHVzaW5nIGl0XG4gKi9cbmZ1bmN0aW9uIGxpbmtSdWxlc2V0VG9Db21wb25lbnQoY29tcE5hbWU6IHN0cmluZywgbGlicmFyeTogc3RyaW5nLCBydWxlU2V0SWQ6IHN0cmluZywgYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fSkge1xuICBjb25zdCBjb25maWdOYW1lID0gY29tcHV0ZUl0ZW1JZGVudGlmaWVyKGNvbXBOYW1lLCBsaWJyYXJ5KTtcbiAgYWNjW2NvbmZpZ05hbWVdIHx8PSBbXTtcbiAgYWNjW2NvbmZpZ05hbWVdLnB1c2gocnVsZVNldElkKTtcbn1cblxuLyogQXNzaWduIGNvbXBvbmVudCB0byBSdWxlc2V0SWRzIE1hcCAqL1xuZnVuY3Rpb24gbGlua0NvbXBvbmVudFRvUnVsZXNldChjb21wTmFtZTogc3RyaW5nLCBsaWJyYXJ5OiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nLCBhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9KSB7XG4gIGNvbnN0IGNvbmZpZ05hbWUgPSBjb21wdXRlSXRlbUlkZW50aWZpZXIoY29tcE5hbWUsIGxpYnJhcnkpO1xuICBhY2NbcnVsZVNldElkXSB8fD0gW107XG4gIGFjY1tydWxlU2V0SWRdLnB1c2goY29uZmlnTmFtZSk7XG59XG5cblxuLyoqXG4gKiBTZWxlY3QgdGhlIG1hcCBvZiBydWxlU2V0IHRvIGFjdGl2YXRlIGJhc2VkIG9uIHRoZSBjb21wb25lbnQgY29tcHV0ZWQgbmFtZVxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0fSBpbnN0ZWFkLiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlU2V0TGlua0NvbXBvbmVudHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0UnVsZVNldHNJblJhbmdlLFxuICAocnVsZVNldHMpID0+XG4gICAgcnVsZVNldHNcbiAgICAgIC5yZWR1Y2UoKGFjYzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+LCBydWxlU2V0OiBSdWxlc2V0KSA9PiB7XG4gICAgICAgIGlmICgoIXJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3IgfHwgcnVsZVNldC5saW5rZWRDb21wb25lbnRzLm9yLmxlbmd0aCA9PT0gMCkgJiYgIXJ1bGVTZXQubGlua2VkQ29tcG9uZW50KSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgICBpZiAocnVsZVNldC5saW5rZWRDb21wb25lbnRzPy5vcj8ubGVuZ3RoKSB7XG4gICAgICAgICAgcnVsZVNldC5saW5rZWRDb21wb25lbnRzLm9yLmZvckVhY2gobGlua0NvbXAgPT4ge1xuICAgICAgICAgICAgbGlua1J1bGVzZXRUb0NvbXBvbmVudChsaW5rQ29tcC5uYW1lLCBsaW5rQ29tcC5saWJyYXJ5LCBydWxlU2V0LmlkLCBhY2MpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50KSB7XG4gICAgICAgICAgbGlua1J1bGVzZXRUb0NvbXBvbmVudChydWxlU2V0LmxpbmtlZENvbXBvbmVudC5uYW1lLCBydWxlU2V0LmxpbmtlZENvbXBvbmVudC5saWJyYXJ5LCBydWxlU2V0LmlkLCBhY2MpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSlcbik7XG5cbi8qKlxuICogU2VsZWN0IHRoZSBtYXAgb2YgcnVsZVNldHMgdG8gYWN0aXZhdGUgYmFzZWQgb24gbGlua2VkIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdENvbXBvbmVudHNMaW5rZWRUb1J1bGVzZXQgPSBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0UnVsZVNldHNJblJhbmdlLFxuICAocnVsZVNldHMpID0+XG4gICAgcnVsZVNldHNcbiAgICAgIC5yZWR1Y2UoKGFjYzoge29yOiB7W2tleTogc3RyaW5nXTogc3RyaW5nW119fSwgcnVsZVNldDogUnVsZXNldCkgPT4ge1xuICAgICAgICBpZiAoKCFydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yIHx8IHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5sZW5ndGggPT09IDApICYmICFydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCkge1xuICAgICAgICAgIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cy5vci5mb3JFYWNoKGxpbmtDb21wID0+IHtcbiAgICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtDb21wb25lbnRUb1J1bGVzZXQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjLm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge29yOiB7fX0pXG4pO1xuIl19
@@ -486,14 +486,9 @@ const selectRulesetsStorePendingStatus = createSelector(selectRulesetsState, (st
486
486
  */
487
487
  const isValidDate$1 = (d) => !isNaN(d) && d instanceof Date;
488
488
  /**
489
- * Returns only the rulesets ids which are not onDemand and in the validity range
490
- * OnDemand takes precedence over validity range.
491
- * Only if the ruleset is NOT onDemand (this means it is taken into consideration for the runs), the validity is checked
489
+ * Returns the rulesets which are in the validity range, if provided
492
490
  */
493
- const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets) => ruleSets.filter((ruleSet) => {
494
- if (ruleSet.linkedComponents?.or?.length || ruleSet.linkedComponent) {
495
- return false;
496
- }
491
+ const selectRuleSetsInRange = createSelector(selectAllRulesets, (ruleSets) => ruleSets.filter((ruleSet) => {
497
492
  const validity = ruleSet.validityRange;
498
493
  if (!validity || !validity.from && !validity.to) {
499
494
  return true;
@@ -511,10 +506,16 @@ const selectActiveRuleSets = createSelector(selectAllRulesets, (ruleSets) => rul
511
506
  return from.getTime() <= time;
512
507
  }
513
508
  return to && to.getTime() >= time;
514
- }).map((ruleSet) => ruleSet.id));
515
- /*
509
+ }));
510
+ /**
511
+ * Returns the rulesets ids which are not onDemand and in the validity range
512
+ */
513
+ const selectActiveRuleSets = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
514
+ .filter((ruleSet) => (!(ruleSet.linkedComponents?.or?.length || ruleSet.linkedComponent)))
515
+ .map((ruleSet) => ruleSet.id));
516
+ /**
516
517
  * Assign rulesetId to a component
517
- * @deprecated; It will be rmeoved in v12 with the selector using it
518
+ * @deprecated It will be removed in v12 with the selector using it
518
519
  */
519
520
  function linkRulesetToComponent(compName, library, ruleSetId, acc = {}) {
520
521
  const configName = computeItemIdentifier(compName, library);
@@ -531,7 +532,7 @@ function linkComponentToRuleset(compName, library, ruleSetId, acc = {}) {
531
532
  * Select the map of ruleSet to activate based on the component computed name
532
533
  * @deprecated use {@link selectComponentsLinkedToRuleset} instead. It will be removed in v12
533
534
  */
534
- const selectRuleSetLinkComponents = createSelector(selectAllRulesets, (ruleSets) => ruleSets
535
+ const selectRuleSetLinkComponents = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
535
536
  .reduce((acc, ruleSet) => {
536
537
  if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
537
538
  return acc;
@@ -550,7 +551,7 @@ const selectRuleSetLinkComponents = createSelector(selectAllRulesets, (ruleSets)
550
551
  /**
551
552
  * Select the map of ruleSets to activate based on linked components
552
553
  */
553
- const selectComponentsLinkedToRuleset = createSelector(selectAllRulesets, (ruleSets) => ruleSets
554
+ const selectComponentsLinkedToRuleset = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
554
555
  .reduce((acc, ruleSet) => {
555
556
  if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
556
557
  return acc;
@@ -2507,5 +2508,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
2507
2508
  * Generated bundle index. Do not edit.
2508
2509
  */
2509
2510
 
2510
- export { CurrentTimeFactsService, DEFAULT_RULES_ENGINE_OPTIONS, EngineDebugger, FactsService, FallbackToPipe, O3rFallbackToPipe, O3rJsonOrStringPipe, OTTER_RULES_ENGINE_DEVTOOLS_DEFAULT_OPTIONS, OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, OtterRulesEngineDevtools, RULESETS_REDUCER_TOKEN, RULESETS_STORE_NAME, RULES_ENGINE_OPTIONS, RulesEngine, RulesEngineDevtoolsConsoleService, RulesEngineDevtoolsMessageService, RulesEngineDevtoolsModule, RulesEngineRunnerModule, RulesEngineRunnerService, RulesetHistoryPresComponent, RulesetHistoryPresModule, RulesetsEffect, RulesetsStoreModule, allEqual, allGreater, allIn, allLower, allMatch, allNotIn, allRangeNumber, arrayBasedOperators, arrayContains, basicOperators, cancelRulesetsRequest, clearRulesetsEntities, dateAfter, dateBasedOperators, dateBefore, dateEquals, dateInNextMinutes, dateNotEquals, dateNotInNextMinutes, equals, executeOperator, failRulesetsEntities, getDefaultRulesetsReducer, getStatus, greaterThan, greaterThanOrEqual, inArray, inRangeDate, inString, isAllConditions, isAnyConditions, isConditionProperties, isDefined, isNotCondition, isOperandFact, isOperandLiteral, isOperandRuntimeFact, isRangeNumber, isRulesEngineMessage, isString, isSupportedSimpleTypes, isUndefined, isValidDate, isValidDateInput, isValidDateRange, lengthEquals, lengthGreaterThan, lengthGreaterThanOrEquals, lengthLessThan, lengthLessThanOrEquals, lengthNotEquals, lessOrEqual, lessThan, matchesPattern, notArrayContains, notEquals, notInArray, notInString, notStringContains, numberBasedOperators, numberValidator, oneEquals, oneGreater, oneIn, oneLower, oneMatches, oneRangeNumber, operatorList, parseRegExp, resetRulesets, rulesetReportToHistory, rulesetsAdapter, rulesetsInitialState, rulesetsReducer, rulesetsReducerFeatures, rulesetsStorageDeserializer, rulesetsStorageSerializer, rulesetsStorageSync, selectActiveRuleSets, selectAllRulesets, selectComponentsLinkedToRuleset, selectRuleSetLinkComponents, selectRulesetsEntities, selectRulesetsIds, selectRulesetsState, selectRulesetsStorePendingStatus, selectRulesetsTotal, setRulesets, setRulesetsEntities, setRulesetsEntitiesFromApi, stringContains, updateRulesets, upsertRulesetsEntities, upsertRulesetsEntitiesFromApi };
2511
+ export { CurrentTimeFactsService, DEFAULT_RULES_ENGINE_OPTIONS, EngineDebugger, FactsService, FallbackToPipe, O3rFallbackToPipe, O3rJsonOrStringPipe, OTTER_RULES_ENGINE_DEVTOOLS_DEFAULT_OPTIONS, OTTER_RULES_ENGINE_DEVTOOLS_OPTIONS, OtterRulesEngineDevtools, RULESETS_REDUCER_TOKEN, RULESETS_STORE_NAME, RULES_ENGINE_OPTIONS, RulesEngine, RulesEngineDevtoolsConsoleService, RulesEngineDevtoolsMessageService, RulesEngineDevtoolsModule, RulesEngineRunnerModule, RulesEngineRunnerService, RulesetHistoryPresComponent, RulesetHistoryPresModule, RulesetsEffect, RulesetsStoreModule, allEqual, allGreater, allIn, allLower, allMatch, allNotIn, allRangeNumber, arrayBasedOperators, arrayContains, basicOperators, cancelRulesetsRequest, clearRulesetsEntities, dateAfter, dateBasedOperators, dateBefore, dateEquals, dateInNextMinutes, dateNotEquals, dateNotInNextMinutes, equals, executeOperator, failRulesetsEntities, getDefaultRulesetsReducer, getStatus, greaterThan, greaterThanOrEqual, inArray, inRangeDate, inString, isAllConditions, isAnyConditions, isConditionProperties, isDefined, isNotCondition, isOperandFact, isOperandLiteral, isOperandRuntimeFact, isRangeNumber, isRulesEngineMessage, isString, isSupportedSimpleTypes, isUndefined, isValidDate, isValidDateInput, isValidDateRange, lengthEquals, lengthGreaterThan, lengthGreaterThanOrEquals, lengthLessThan, lengthLessThanOrEquals, lengthNotEquals, lessOrEqual, lessThan, matchesPattern, notArrayContains, notEquals, notInArray, notInString, notStringContains, numberBasedOperators, numberValidator, oneEquals, oneGreater, oneIn, oneLower, oneMatches, oneRangeNumber, operatorList, parseRegExp, resetRulesets, rulesetReportToHistory, rulesetsAdapter, rulesetsInitialState, rulesetsReducer, rulesetsReducerFeatures, rulesetsStorageDeserializer, rulesetsStorageSerializer, rulesetsStorageSync, selectActiveRuleSets, selectAllRulesets, selectComponentsLinkedToRuleset, selectRuleSetLinkComponents, selectRuleSetsInRange, selectRulesetsEntities, selectRulesetsIds, selectRulesetsState, selectRulesetsStorePendingStatus, selectRulesetsTotal, setRulesets, setRulesetsEntities, setRulesetsEntitiesFromApi, stringContains, updateRulesets, upsertRulesetsEntities, upsertRulesetsEntitiesFromApi };
2511
2512
  //# sourceMappingURL=o3r-rules-engine.mjs.map