@agorapulse/ui-components 18.0.18 → 18.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-18.0.19.tgz +0 -0
- package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +4 -5
- package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +3 -3
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +4 -5
- package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +3 -3
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +7 -3
- package/esm2022/nav-selector/nav-selector.component.mjs +33 -8
- package/esm2022/nav-selector/nav-selector.mjs +1 -1
- package/esm2022/nav-selector/utils/nav-selector.builder.mjs +2 -1
- package/esm2022/nav-selector/utils/nav-selector.folding.mjs +3 -3
- package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +17 -18
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +66 -39
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +0 -1
- package/nav-selector/nav-selector-popover/nav-selector-popover.component.d.ts +1 -0
- package/nav-selector/nav-selector.component.d.ts +4 -1
- package/nav-selector/nav-selector.d.ts +2 -0
- package/package.json +7 -7
- package/agorapulse-ui-components-18.0.18.tgz +0 -0
|
@@ -74,7 +74,7 @@ export class NavSelectorFolding {
|
|
|
74
74
|
}
|
|
75
75
|
return {
|
|
76
76
|
...entry,
|
|
77
|
-
children: this.toggleEntryFolding(entry.children, entryUid, minified, parentFolded || entry.folded),
|
|
77
|
+
children: this.toggleEntryFolding(entry.children, entryUid, multipleMode, minified, parentFolded || entry.folded),
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
80
|
if (isInternalNavSelectorEntryALeaf(entry)) {
|
|
@@ -199,7 +199,7 @@ export class NavSelectorFolding {
|
|
|
199
199
|
}
|
|
200
200
|
return {
|
|
201
201
|
...leaf,
|
|
202
|
-
displayCounter:
|
|
202
|
+
displayCounter: leaf.counterDisplayable,
|
|
203
203
|
folded: true,
|
|
204
204
|
details: leaf.details.map(detail => ({ ...detail, focusable: false })),
|
|
205
205
|
};
|
|
@@ -219,4 +219,4 @@ export class NavSelectorFolding {
|
|
|
219
219
|
};
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZvbGRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3IuZm9sZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0gsbUNBQW1DLEVBQ25DLGdDQUFnQyxFQUNoQywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FDaEIsT0FBWSxFQUNaLFFBQWdCLEVBQ2hCLFlBQXFCLEVBQ3JCLFFBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FDUCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FDVCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQzdCLE9BQVksRUFDWixRQUFnQixFQUNoQixZQUFx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QztRQUNELE9BQU87WUFDSCxHQUFHLElBQUk7WUFDUCxjQUFjLEVBQUUsS0FBSztZQUNyQixNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDLEdBQUcsTUFBTTtnQkFDVCxTQUFTLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyw2QkFBNkI7YUFDdEQsQ0FBQyxDQUFDO1NBQ04sQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnksXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZixcbn0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUgfSBmcm9tICcuLi91dGlscy9sZWFmLnV0aWxzJztcblxuLyoqXG4gKiBDbGFzcyB0byBoYW5kbGUgdGhlIGZvbGRpbmcgYW5kIHVuZm9sZGluZyBvZiBuYXYgc2VsZWN0b3IgZW50cmllcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yRm9sZGluZyB7XG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHRoZSBmb2xkaW5nIHN0YXRlIG9mIGFuIGVudHJ5LlxuICAgICAqXG4gICAgICogQHNlZSB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLmZvbGR9IGFuZCB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLnVuZm9sZH0gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gZm9sZGluZyBhbmQgdW5mb2xkaW5nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byB0b2dnbGVcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBhbmQgZGV0YWlscyBjb3JyZWN0bHkuXG4gICAgICogQHBhcmFtIG1pbmlmaWVkIHRydWUgaWYgdGhlIG5hdiBzZWxlY3RvciBpcyBtaW5pZmllZC4gTmVlZGVkIGZvciBsZWFmIGFzIHRoZXkgYXJlIG5vdCBmb2xkYWJsZSBpbiBtaW5pZmllZCBtb2RlXG4gICAgICovXG4gICAgc3RhdGljIHRvZ2dsZUZvbGRpbmc8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhblxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJpZXMsIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb2xkIGFuIGVudHJ5LlxuICAgICAqXG4gICAgICogU2V0IHVuZm9jdXNhYmxlIG9uIGFsbCBjaGlsZHJlbiBvZiB0aGUgZm9sZGVkIGVudHJ5LlxuICAgICAqIENvbXB1dGUgd2hlbmV2ZXIgdGhlIGNvdW50ZXIgYW5kIHRva2VuIGludmFsaWQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBncm91cHMgYW5kIGxlYXZlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gZm9sZFxuICAgICAqIEBwYXJhbSBtdWx0aXBsZU1vZGUgdG8gdXBkYXRlIHRoZSBmb2N1c2FibGUgc3RhdGUgb2YgbGVhdmVzIGFuZCBkZXRhaWxzIGNvcnJlY3RseS5cbiAgICAgKiBAcGFyYW0gbWluaWZpZWQgdHJ1ZSBpZiB0aGUgbmF2IHNlbGVjdG9yIGlzIG1pbmlmaWVkLiBOZWVkZWQgZm9yIGxlYWYgYXMgdGhleSBhcmUgbm90IGZvbGRhYmxlIGluIG1pbmlmaWVkIG1vZGVcbiAgICAgKi9cbiAgICBzdGF0aWMgZm9sZDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2xkRW50cnkoZW50cmllcywgZW50cnlVaWQsIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuZm9sZCBhbiBlbnRyeS5cbiAgICAgKlxuICAgICAqIFNldCBmb2N1c2FibGUgb24gYWxsIGNoaWxkcmVuIG9mIHRoZSBmb2xkZWQgZW50cnkuXG4gICAgICogQ29tcHV0ZSB3aGVuZXZlciB0aGUgY291bnRlciBhbmQgdG9rZW4gaW52YWxpZCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIGdyb3VwcyBhbmQgbGVhdmVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byB1bmZvbGRcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBhbmQgZGV0YWlscyBjb3JyZWN0bHkuXG4gICAgICogQHBhcmFtIG1pbmlmaWVkIHRydWUgaWYgdGhlIG5hdiBzZWxlY3RvciBpcyBtaW5pZmllZC4gTmVlZGVkIGZvciBsZWFmIGFzIHRoZXkgYXJlIG5vdCBmb2xkYWJsZSBpbiBtaW5pZmllZCBtb2RlXG4gICAgICovXG4gICAgc3RhdGljIHVuZm9sZDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRFbnRyeShlbnRyaWVzLCBlbnRyeVVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdG9nZ2xlRW50cnlGb2xkaW5nPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KFxuICAgICAgICBlbnRyaWVzOiBUW10sXG4gICAgICAgIGVudHJ5VWlkOiBzdHJpbmcsXG4gICAgICAgIG11bHRpcGxlTW9kZTogYm9vbGVhbixcbiAgICAgICAgbWluaWZpZWQ6IGJvb2xlYW4sXG4gICAgICAgIHBhcmVudEZvbGRlZCA9IGZhbHNlXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkQ2F0ZWdvcnkoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbWluaWZpZWQsIGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2xkZWQgPSAhZW50cnkuZm9sZGVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy50b2dnbGVFbnRyeUZvbGRpbmcoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtaW5pZmllZCwgcGFyZW50Rm9sZGVkIHx8IGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb2xkRW50cnk8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhbixcbiAgICAgICAgcGFyZW50Rm9sZGVkID0gZmFsc2VcbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtaW5pZmllZCwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRHcm91cChlbnRyeSwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmZvbGRFbnRyeShlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZExlYWYoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRFbnRyeTxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuLFxuICAgICAgICBwYXJlbnRGb2xkZWQgPSBmYWxzZVxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhcGFyZW50Rm9sZGVkLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHsgcGFyZW50Rm9sZGVkLCBtdWx0aXBsZU1vZGUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZENhdGVnb3J5KGNhdGVnb3J5OiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNhdGVnb3J5LFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuZm9sZEVudHJ5KGNhdGVnb3J5LmNoaWxkcmVuLCBjYXRlZ29yeS51aWQsIG1pbmlmaWVkLCB0cnVlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkQ2F0ZWdvcnkoY2F0ZWdvcnk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2F0ZWdvcnksXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoY2F0ZWdvcnkuY2hpbGRyZW4sIGNhdGVnb3J5LnVpZCwgbWluaWZpZWQsIGZhbHNlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZEdyb3VwKGdyb3VwOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsIG11bHRpcGxlTW9kZTogYm9vbGVhbiwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBmb2xkZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZ3JvdXAuY2hpbGRyZW4sIGdyb3VwLnVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCwgdHJ1ZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiAhIWdyb3VwLmNvdW50ZXIsXG4gICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBncm91cC5jaGlsZHJlbi5zb21lKCh7IGRpc3BsYXlUb2tlbkludmFsaWQgfSkgPT4gZGlzcGxheVRva2VuSW52YWxpZCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkR3JvdXAoZ3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCwgbXVsdGlwbGVNb2RlOiBib29sZWFuLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy51bmZvbGRFbnRyeShncm91cC5jaGlsZHJlbiwgZ3JvdXAudWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBmYWxzZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc3BsYXlUb2tlbkludmFsaWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvbGRMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgaWYgKCFsZWFmLmZvbGRhYmxlIHx8IG1pbmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiB0cnVlLFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICAgICAgZGV0YWlsczogbGVhZi5kZXRhaWxzLm1hcChkZXRhaWwgPT4gKHsgLi4uZGV0YWlsLCBmb2N1c2FibGU6IGZhbHNlIH0pKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgaWYgKCFsZWFmLmZvbGRhYmxlIHx8IG1pbmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICBkZXRhaWxzOiBsZWFmLmRldGFpbHMubWFwKChkZXRhaWwsIGlkeCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5kZXRhaWwsXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlOiBpZHggPCBsZWFmLnZpZXdNb3JlRGV0YWlsc0Rpc3BsYXllZExpbWl0LFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZvbGRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3IuZm9sZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0gsbUNBQW1DLEVBQ25DLGdDQUFnQyxFQUNoQywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FDaEIsT0FBWSxFQUNaLFFBQWdCLEVBQ2hCLFlBQXFCLEVBQ3JCLFFBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FDUCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FDVCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQzdCLE9BQVksRUFDWixRQUFnQixFQUNoQixZQUFx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QU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsY0FBYyxFQUFFLEtBQUs7WUFDckIsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxHQUFHLE1BQU07Z0JBQ1QsU0FBUyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsNkJBQTZCO2FBQ3RELENBQUMsQ0FBQztTQUNOLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnksXG4gICAgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwLFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5LFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYsXG59IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRm9jdXNhYmxlIH0gZnJvbSAnLi4vdXRpbHMvbGVhZi51dGlscyc7XG5cbi8qKlxuICogQ2xhc3MgdG8gaGFuZGxlIHRoZSBmb2xkaW5nIGFuZCB1bmZvbGRpbmcgb2YgbmF2IHNlbGVjdG9yIGVudHJpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckZvbGRpbmcge1xuICAgIC8qKlxuICAgICAqIFRvZ2dsZSB0aGUgZm9sZGluZyBzdGF0ZSBvZiBhbiBlbnRyeS5cbiAgICAgKlxuICAgICAqIEBzZWUge0BsaW5rIE5hdlNlbGVjdG9yRm9sZGluZy5mb2xkfSBhbmQge0BsaW5rIE5hdlNlbGVjdG9yRm9sZGluZy51bmZvbGR9IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGZvbGRpbmcgYW5kIHVuZm9sZGluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gdG9nZ2xlXG4gICAgICogQHBhcmFtIG11bHRpcGxlTW9kZSB0byB1cGRhdGUgdGhlIGZvY3VzYWJsZSBzdGF0ZSBvZiBsZWF2ZXMgYW5kIGRldGFpbHMgY29ycmVjdGx5LlxuICAgICAqIEBwYXJhbSBtaW5pZmllZCB0cnVlIGlmIHRoZSBuYXYgc2VsZWN0b3IgaXMgbWluaWZpZWQuIE5lZWRlZCBmb3IgbGVhZiBhcyB0aGV5IGFyZSBub3QgZm9sZGFibGUgaW4gbWluaWZpZWQgbW9kZVxuICAgICAqL1xuICAgIHN0YXRpYyB0b2dnbGVGb2xkaW5nPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KFxuICAgICAgICBlbnRyaWVzOiBUW10sXG4gICAgICAgIGVudHJ5VWlkOiBzdHJpbmcsXG4gICAgICAgIG11bHRpcGxlTW9kZTogYm9vbGVhbixcbiAgICAgICAgbWluaWZpZWQ6IGJvb2xlYW5cbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZUVudHJ5Rm9sZGluZyhlbnRyaWVzLCBlbnRyeVVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9sZCBhbiBlbnRyeS5cbiAgICAgKlxuICAgICAqIFNldCB1bmZvY3VzYWJsZSBvbiBhbGwgY2hpbGRyZW4gb2YgdGhlIGZvbGRlZCBlbnRyeS5cbiAgICAgKiBDb21wdXRlIHdoZW5ldmVyIHRoZSBjb3VudGVyIGFuZCB0b2tlbiBpbnZhbGlkIHNob3VsZCBiZSBkaXNwbGF5ZWQgb24gZ3JvdXBzIGFuZCBsZWF2ZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZW50cmllcyBuYXYgc2VsZWN0b3IgZW50cmllc1xuICAgICAqIEBwYXJhbSBlbnRyeVVpZCB0aGUgZW50cnkgdWlkIHRvIGZvbGRcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBhbmQgZGV0YWlscyBjb3JyZWN0bHkuXG4gICAgICogQHBhcmFtIG1pbmlmaWVkIHRydWUgaWYgdGhlIG5hdiBzZWxlY3RvciBpcyBtaW5pZmllZC4gTmVlZGVkIGZvciBsZWFmIGFzIHRoZXkgYXJlIG5vdCBmb2xkYWJsZSBpbiBtaW5pZmllZCBtb2RlXG4gICAgICovXG4gICAgc3RhdGljIGZvbGQ8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhblxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9sZEVudHJ5KGVudHJpZXMsIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbmZvbGQgYW4gZW50cnkuXG4gICAgICpcbiAgICAgKiBTZXQgZm9jdXNhYmxlIG9uIGFsbCBjaGlsZHJlbiBvZiB0aGUgZm9sZGVkIGVudHJ5LlxuICAgICAqIENvbXB1dGUgd2hlbmV2ZXIgdGhlIGNvdW50ZXIgYW5kIHRva2VuIGludmFsaWQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBncm91cHMgYW5kIGxlYXZlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gdW5mb2xkXG4gICAgICogQHBhcmFtIG11bHRpcGxlTW9kZSB0byB1cGRhdGUgdGhlIGZvY3VzYWJsZSBzdGF0ZSBvZiBsZWF2ZXMgYW5kIGRldGFpbHMgY29ycmVjdGx5LlxuICAgICAqIEBwYXJhbSBtaW5pZmllZCB0cnVlIGlmIHRoZSBuYXYgc2VsZWN0b3IgaXMgbWluaWZpZWQuIE5lZWRlZCBmb3IgbGVhZiBhcyB0aGV5IGFyZSBub3QgZm9sZGFibGUgaW4gbWluaWZpZWQgbW9kZVxuICAgICAqL1xuICAgIHN0YXRpYyB1bmZvbGQ8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhblxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkRW50cnkoZW50cmllcywgZW50cnlVaWQsIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHRvZ2dsZUVudHJ5Rm9sZGluZzxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuLFxuICAgICAgICBwYXJlbnRGb2xkZWQgPSBmYWxzZVxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2xkZWQgPSAhZW50cnkuZm9sZGVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkQ2F0ZWdvcnkoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnRvZ2dsZUVudHJ5Rm9sZGluZyhlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG1pbmlmaWVkLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9sZGVkID0gIWVudHJ5LmZvbGRlZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvbGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZEdyb3VwKGVudHJ5LCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVuZm9sZEdyb3VwKGVudHJ5LCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCwgcGFyZW50Rm9sZGVkIHx8IGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb2xkRW50cnk8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhbixcbiAgICAgICAgcGFyZW50Rm9sZGVkID0gZmFsc2VcbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtaW5pZmllZCwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRHcm91cChlbnRyeSwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmZvbGRFbnRyeShlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZExlYWYoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRFbnRyeTxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuLFxuICAgICAgICBwYXJlbnRGb2xkZWQgPSBmYWxzZVxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhcGFyZW50Rm9sZGVkLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHsgcGFyZW50Rm9sZGVkLCBtdWx0aXBsZU1vZGUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZENhdGVnb3J5KGNhdGVnb3J5OiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNhdGVnb3J5LFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuZm9sZEVudHJ5KGNhdGVnb3J5LmNoaWxkcmVuLCBjYXRlZ29yeS51aWQsIG1pbmlmaWVkLCB0cnVlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkQ2F0ZWdvcnkoY2F0ZWdvcnk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2F0ZWdvcnksXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoY2F0ZWdvcnkuY2hpbGRyZW4sIGNhdGVnb3J5LnVpZCwgbWluaWZpZWQsIGZhbHNlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZEdyb3VwKGdyb3VwOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsIG11bHRpcGxlTW9kZTogYm9vbGVhbiwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBmb2xkZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZ3JvdXAuY2hpbGRyZW4sIGdyb3VwLnVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCwgdHJ1ZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiAhIWdyb3VwLmNvdW50ZXIsXG4gICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBncm91cC5jaGlsZHJlbi5zb21lKCh7IGRpc3BsYXlUb2tlbkludmFsaWQgfSkgPT4gZGlzcGxheVRva2VuSW52YWxpZCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkR3JvdXAoZ3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCwgbXVsdGlwbGVNb2RlOiBib29sZWFuLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy51bmZvbGRFbnRyeShncm91cC5jaGlsZHJlbiwgZ3JvdXAudWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBmYWxzZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc3BsYXlUb2tlbkludmFsaWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvbGRMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgaWYgKCFsZWFmLmZvbGRhYmxlIHx8IG1pbmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBsZWFmLmNvdW50ZXJEaXNwbGF5YWJsZSxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbHM6IGxlYWYuZGV0YWlscy5tYXAoZGV0YWlsID0+ICh7IC4uLmRldGFpbCwgZm9jdXNhYmxlOiBmYWxzZSB9KSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkTGVhZihsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGlmICghbGVhZi5mb2xkYWJsZSB8fCBtaW5pZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIGxlYWY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBkaXNwbGF5Q291bnRlcjogZmFsc2UsXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGV0YWlsczogbGVhZi5kZXRhaWxzLm1hcCgoZGV0YWlsLCBpZHgpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uZGV0YWlsLFxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaWR4IDwgbGVhZi52aWV3TW9yZURldGFpbHNEaXNwbGF5ZWRMaW1pdCxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -54,6 +54,7 @@ export class NavSelectorSingleSelect {
|
|
|
54
54
|
},
|
|
55
55
|
selected: false,
|
|
56
56
|
folded: !leaf.folded ? false : details.every(detail => !detail.selected),
|
|
57
|
+
detailSelected: details.some(detail => detail.selected),
|
|
57
58
|
details,
|
|
58
59
|
};
|
|
59
60
|
}
|
|
@@ -70,6 +71,19 @@ export class NavSelectorSingleSelect {
|
|
|
70
71
|
};
|
|
71
72
|
}
|
|
72
73
|
static selectALeafWithDisplayableDetails(leaf) {
|
|
74
|
+
const details = leaf.details.reduce(({ previousDetailSelected, details }, detail, idx) => {
|
|
75
|
+
const detailSelected = !previousDetailSelected && leaf.detailsDisplayable && !detail.displayError && (idx === 0 || !details[idx - 1].selected);
|
|
76
|
+
details.push({
|
|
77
|
+
...detail,
|
|
78
|
+
selected: detailSelected,
|
|
79
|
+
focusable: true,
|
|
80
|
+
accessibility: {
|
|
81
|
+
...detail.accessibility,
|
|
82
|
+
tabIndex: detailSelected ? 0 : -1,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
return { previousDetailSelected: previousDetailSelected || detailSelected, details };
|
|
86
|
+
}, { previousDetailSelected: false, details: [] }).details;
|
|
73
87
|
return {
|
|
74
88
|
...leaf,
|
|
75
89
|
selected: false,
|
|
@@ -77,25 +91,10 @@ export class NavSelectorSingleSelect {
|
|
|
77
91
|
...leaf.accessibility,
|
|
78
92
|
tabIndex: -1,
|
|
79
93
|
},
|
|
80
|
-
counterDisplayable: true,
|
|
81
94
|
displayCounter: false,
|
|
82
95
|
folded: !leaf.detailsDisplayable,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
leaf.detailsDisplayable &&
|
|
86
|
-
!detail.displayError &&
|
|
87
|
-
(idx === 0 || !details[idx - 1].selected);
|
|
88
|
-
details.push({
|
|
89
|
-
...detail,
|
|
90
|
-
selected: detailSelected,
|
|
91
|
-
focusable: true,
|
|
92
|
-
accessibility: {
|
|
93
|
-
...detail.accessibility,
|
|
94
|
-
tabIndex: detailSelected ? 0 : -1,
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
return { previousDetailSelected: previousDetailSelected || detailSelected, details };
|
|
98
|
-
}, { previousDetailSelected: false, details: [] }).details,
|
|
96
|
+
detailSelected: details.some(detail => detail.selected),
|
|
97
|
+
details,
|
|
99
98
|
};
|
|
100
99
|
}
|
|
101
100
|
static selectALeafWithoutDetails(leaf, entryUid) {
|
|
@@ -111,4 +110,4 @@ export class NavSelectorSingleSelect {
|
|
|
111
110
|
};
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLnNpbmdsZS1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3Iuc2luZ2xlLXNlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBcUMsT0FBWSxFQUFFLFFBQWdCO1FBQzVFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QixJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0MsQ0FBQztpQkFBTSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE9BQU87b0JBQ0gsR0FBRyxLQUFLO29CQUNSLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDNUUsQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQTZCLEVBQUUsUUFBZ0I7UUFDdEUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVB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QUcsTUFBTTtvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsYUFBYSxFQUFFO3dCQUNYLEdBQUcsTUFBTSxDQUFDLGFBQWE7d0JBQ3ZCLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNwQztpQkFDSixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixJQUFJLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN6RixDQUFDLEVBQ0QsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQXNDLEVBQUUsQ0FDckYsQ0FBQyxPQUFPO1NBQ1osQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMseUJBQXlCLENBQUMsSUFBNkIsRUFBRSxRQUFnQjtRQUNwRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDO1FBQzFELE9BQU87WUFDSCxHQUFHLElBQUk7WUFDUCxRQUFRO1lBQ1IsYUFBYSxFQUFFO2dCQUNYLEdBQUcsSUFBSSxDQUFDLGFBQWE7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlCO1lBQ0QsTUFBTSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnksXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTm9kZSxcbn0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcblxuLyoqXG4gKiBOYXZTZWxlY3RvclNpbmdsZVNlbGVjdCBpcyBhIHV0aWxpdHkgY2xhc3MgdGhhdCBwcm92aWRlcyBtZXRob2RzIHRvIHNlbGVjdCBhIHNpbmdsZSBlbnRyeSBpbiBhIG5hdiBzZWxlY3Rvci5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yU2luZ2xlU2VsZWN0IHtcbiAgICAvKipcbiAgICAgKiBTZWxlY3RzIGEgc2luZ2xlIGVudHJ5IGluIHRoZSBuYXYgc2VsZWN0b3IuXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byBzZWxlY3RcbiAgICAgKi9cbiAgICBzdGF0aWMgc2VsZWN0PFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KGVudHJpZXM6IFRbXSwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmKGVudHJ5LCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBlbnRyeS5jaGlsZHJlbi5mbGF0TWFwKGNoaWxkID0+IHRoaXMuc2VsZWN0KFtjaGlsZF0sIGVudHJ5VWlkKSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGlmICghIWxlYWYuZGV0YWlscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmV2l0aERldGFpbHMobGVhZiwgZW50cnlVaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmV2l0aG91dERldGFpbHMobGVhZiwgZW50cnlVaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmV2l0aERldGFpbHMobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGlmIChsZWFmLnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgIGlmICghbGVhZi5kZXRhaWxzRGlzcGxheWFibGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZldpdERldGFpbHNOb3REaXNwbGF5YWJsZShsZWFmKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0QUxlYWZXaXRoRGlzcGxheWFibGVEZXRhaWxzKGxlYWYpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBsZWFmLmRldGFpbHMubWFwKGRldGFpbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZXRhaWxTZWxlY3RlZCA9IGRldGFpbC51aWQgPT09IGVudHJ5VWlkICYmICFkZXRhaWwuZGlzcGxheUVycm9yO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5kZXRhaWwsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGRldGFpbFNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZGV0YWlsLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgICAgIHRhYkluZGV4OiBkZXRhaWxTZWxlY3RlZCA/IDAgOiAtMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgLi4ubGVhZi5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBmb2xkZWQ6ICFsZWFmLmZvbGRlZCA/IGZhbHNlIDogZGV0YWlscy5ldmVyeShkZXRhaWwgPT4gIWRldGFpbC5zZWxlY3RlZCksXG4gICAgICAgICAgICBkZXRhaWxzLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmV2l0RGV0YWlsc05vdERpc3BsYXlhYmxlKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGxlYWYuc2VsZWN0YWJsZTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAuLi5sZWFmLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg6IHNlbGVjdGVkID8gMCA6IC0xLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvbGRlZDogIWxlYWYuZGV0YWlsc0Rpc3BsYXlhYmxlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmV2l0aERpc3BsYXlhYmxlRGV0YWlscyhsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgLi4ubGVhZi5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb3VudGVyRGlzcGxheWFibGU6IHRydWUsXG4gICAgICAgICAgICBkaXNwbGF5Q291bnRlcjogZmFsc2UsXG4gICAgICAgICAgICBmb2xkZWQ6ICFsZWFmLmRldGFpbHNEaXNwbGF5YWJsZSxcbiAgICAgICAgICAgIGRldGFpbHM6IGxlYWYuZGV0YWlscy5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHsgcHJldmlvdXNEZXRhaWxTZWxlY3RlZCwgZGV0YWlscyB9LCBkZXRhaWwsIGlkeCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXRhaWxTZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAhcHJldmlvdXNEZXRhaWxTZWxlY3RlZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbGVhZi5kZXRhaWxzRGlzcGxheWFibGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFkZXRhaWwuZGlzcGxheUVycm9yICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAoaWR4ID09PSAwIHx8ICFkZXRhaWxzW2lkeCAtIDFdLnNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlscy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBkZXRhaWxTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5kZXRhaWwuYWNjZXNzaWJpbGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleDogZGV0YWlsU2VsZWN0ZWQgPyAwIDogLTEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgcHJldmlvdXNEZXRhaWxTZWxlY3RlZDogcHJldmlvdXNEZXRhaWxTZWxlY3RlZCB8fCBkZXRhaWxTZWxlY3RlZCwgZGV0YWlscyB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgeyBwcmV2aW91c0RldGFpbFNlbGVjdGVkOiBmYWxzZSwgZGV0YWlsczogW10gYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZEZXRhaWxzW10gfVxuICAgICAgICAgICAgKS5kZXRhaWxzLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmV2l0aG91dERldGFpbHMobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gbGVhZi5zZWxlY3RhYmxlICYmIGxlYWYudWlkID09PSBlbnRyeVVpZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAuLi5sZWFmLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg6IHNlbGVjdGVkID8gMCA6IC0xLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLnNpbmdsZS1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3Iuc2luZ2xlLXNlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBcUMsT0FBWSxFQUFFLFFBQWdCO1FBQzVFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QixJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0MsQ0FBQztpQkFBTSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE9BQU87b0JBQ0gsR0FBRyxLQUFLO29CQUNSLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDNUUsQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQTZCLEVBQUUsUUFBZ0I7UUFDdEUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixJQUFJLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6RixDQUFDLEVBQ0QsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQXNDLEVBQUUsQ0FDckYsQ0FBQyxPQUFPLENBQUM7UUFDVixPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsUUFBUSxFQUFFLEtBQUs7WUFDZixhQUFhLEVBQUU7Z0JBQ1gsR0FBRyxJQUFJLENBQUMsYUFBYTtnQkFDckIsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNmO1lBQ0QsY0FBYyxFQUFFLEtBQUs7WUFDckIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNoQyxjQUFjLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkQsT0FBTztTQUNWLENBQUM7SUFDTixDQUFDO0lBRU8sTUFBTSxDQUFDLHlCQUF5QixDQUFDLElBQTZCLEVBQUUsUUFBZ0I7UUFDcEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQztRQUMxRCxPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsUUFBUTtZQUNSLGFBQWEsRUFBRTtnQkFDWCxHQUFHLElBQUksQ0FBQyxhQUFhO2dCQUNyQixRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5QjtZQUNELE1BQU0sRUFBRSxJQUFJO1NBQ2YsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmLFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUsXG59IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5cbi8qKlxuICogTmF2U2VsZWN0b3JTaW5nbGVTZWxlY3QgaXMgYSB1dGlsaXR5IGNsYXNzIHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBzZWxlY3QgYSBzaW5nbGUgZW50cnkgaW4gYSBuYXYgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvclNpbmdsZVNlbGVjdCB7XG4gICAgLyoqXG4gICAgICogU2VsZWN0cyBhIHNpbmdsZSBlbnRyeSBpbiB0aGUgbmF2IHNlbGVjdG9yLlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gc2VsZWN0XG4gICAgICovXG4gICAgc3RhdGljIHNlbGVjdDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZihlbnRyeSwgZW50cnlVaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogZW50cnkuY2hpbGRyZW4uZmxhdE1hcChjaGlsZCA9PiB0aGlzLnNlbGVjdChbY2hpbGRdLCBlbnRyeVVpZCkpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBlbnRyeVVpZDogc3RyaW5nKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAoISFsZWFmLmRldGFpbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZldpdGhEZXRhaWxzKGxlYWYsIGVudHJ5VWlkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZldpdGhvdXREZXRhaWxzKGxlYWYsIGVudHJ5VWlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RBTGVhZldpdGhEZXRhaWxzKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBlbnRyeVVpZDogc3RyaW5nKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAobGVhZi51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICBpZiAoIWxlYWYuZGV0YWlsc0Rpc3BsYXlhYmxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0QUxlYWZXaXREZXRhaWxzTm90RGlzcGxheWFibGUobGVhZik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmV2l0aERpc3BsYXlhYmxlRGV0YWlscyhsZWFmKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkZXRhaWxzID0gbGVhZi5kZXRhaWxzLm1hcChkZXRhaWwgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGV0YWlsU2VsZWN0ZWQgPSBkZXRhaWwudWlkID09PSBlbnRyeVVpZCAmJiAhZGV0YWlsLmRpc3BsYXlFcnJvcjtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZGV0YWlsLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBkZXRhaWxTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbC5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgICAgICB0YWJJbmRleDogZGV0YWlsU2VsZWN0ZWQgPyAwIDogLTEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgYWNjZXNzaWJpbGl0eToge1xuICAgICAgICAgICAgICAgIC4uLmxlYWYuYWNjZXNzaWJpbGl0eSxcbiAgICAgICAgICAgICAgICB0YWJJbmRleDogLTEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZm9sZGVkOiAhbGVhZi5mb2xkZWQgPyBmYWxzZSA6IGRldGFpbHMuZXZlcnkoZGV0YWlsID0+ICFkZXRhaWwuc2VsZWN0ZWQpLFxuICAgICAgICAgICAgZGV0YWlsU2VsZWN0ZWQ6IGRldGFpbHMuc29tZShkZXRhaWwgPT4gZGV0YWlsLnNlbGVjdGVkKSxcbiAgICAgICAgICAgIGRldGFpbHMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWZXaXREZXRhaWxzTm90RGlzcGxheWFibGUobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gbGVhZi5zZWxlY3RhYmxlO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgYWNjZXNzaWJpbGl0eToge1xuICAgICAgICAgICAgICAgIC4uLmxlYWYuYWNjZXNzaWJpbGl0eSxcbiAgICAgICAgICAgICAgICB0YWJJbmRleDogc2VsZWN0ZWQgPyAwIDogLTEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9sZGVkOiAhbGVhZi5kZXRhaWxzRGlzcGxheWFibGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWZXaXRoRGlzcGxheWFibGVEZXRhaWxzKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBjb25zdCBkZXRhaWxzID0gbGVhZi5kZXRhaWxzLnJlZHVjZShcbiAgICAgICAgICAgICh7IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQsIGRldGFpbHMgfSwgZGV0YWlsLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXRhaWxTZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgICAgICFwcmV2aW91c0RldGFpbFNlbGVjdGVkICYmIGxlYWYuZGV0YWlsc0Rpc3BsYXlhYmxlICYmICFkZXRhaWwuZGlzcGxheUVycm9yICYmIChpZHggPT09IDAgfHwgIWRldGFpbHNbaWR4IC0gMV0uc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIGRldGFpbHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbCxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGRldGFpbFNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbC5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg6IGRldGFpbFNlbGVjdGVkID8gMCA6IC0xLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQ6IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQgfHwgZGV0YWlsU2VsZWN0ZWQsIGRldGFpbHMgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQ6IGZhbHNlLCBkZXRhaWxzOiBbXSBhcyBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHNbXSB9XG4gICAgICAgICkuZGV0YWlscztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgLi4ubGVhZi5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkaXNwbGF5Q291bnRlcjogZmFsc2UsXG4gICAgICAgICAgICBmb2xkZWQ6ICFsZWFmLmRldGFpbHNEaXNwbGF5YWJsZSxcbiAgICAgICAgICAgIGRldGFpbFNlbGVjdGVkOiBkZXRhaWxzLnNvbWUoZGV0YWlsID0+IGRldGFpbC5zZWxlY3RlZCksXG4gICAgICAgICAgICBkZXRhaWxzLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmV2l0aG91dERldGFpbHMobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gbGVhZi5zZWxlY3RhYmxlICYmIGxlYWYudWlkID09PSBlbnRyeVVpZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAuLi5sZWFmLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg6IHNlbGVjdGVkID8gMCA6IC0xLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|