UNPKG

@angular-package/range

Version:

The range between minimum and maximum.

52 lines 13.1 kB
var _Inequality_greater, _Inequality_less; import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib"; import { Greater } from './greater.class'; import { Less } from './less.class'; export class Inequality extends Number { constructor(value) { super(value); _Inequality_greater.set(this, void 0); _Inequality_less.set(this, void 0); __classPrivateFieldSet(this, _Inequality_greater, new Greater(value), "f"); __classPrivateFieldSet(this, _Inequality_less, new Less(value), "f"); } get greater() { return __classPrivateFieldGet(this, _Inequality_greater, "f"); } get less() { return __classPrivateFieldGet(this, _Inequality_less, "f"); } isBetween(min, max) { return min < max ? (this.greaterThan(min) && this.lessThan(max)) || min === this.valueOf() || max === this.valueOf() : false; } isBetweenEvery(...ranges) { return ranges.every((range) => this.isBetween(range[0], range[1])); } isBetweenSome(...ranges) { return ranges.some((range) => this.isBetween(range[0], range[1])); } greaterThan(value) { return __classPrivateFieldGet(this, _Inequality_greater, "f").than(value); } greaterThanEvery(...values) { return __classPrivateFieldGet(this, _Inequality_greater, "f").thanEvery(...values); } greaterThanSome(...values) { return __classPrivateFieldGet(this, _Inequality_greater, "f").thanSome(...values); } lessThan(value) { return __classPrivateFieldGet(this, _Inequality_less, "f").than(value); } lessThanEvery(...values) { return __classPrivateFieldGet(this, _Inequality_less, "f").thanEvery(...values); } lessThanSome(...values) { return __classPrivateFieldGet(this, _Inequality_less, "f").thanSome(...values); } } _Inequality_greater = new WeakMap(), _Inequality_less = new WeakMap(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5lcXVhbGl0eS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3JhbmdlL3NyYy9saWIvaW5lcXVhbGl0eS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSXBDLE1BQU0sT0FBZ0IsVUFBaUMsU0FBUSxNQUFNO0lBeUNuRSxZQUFZLEtBQVk7UUFDdEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBZmYsc0NBQXlCO1FBS3pCLG1DQUFtQjtRQVdqQix1QkFBQSxJQUFJLHVCQUFZLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7UUFDbkMsdUJBQUEsSUFBSSxvQkFBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBQSxDQUFDO0lBQy9CLENBQUM7SUFyQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sdUJBQUEsSUFBSSwyQkFBUyxDQUFDO0lBQ3ZCLENBQUM7SUFRRCxJQUFXLElBQUk7UUFDYixPQUFPLHVCQUFBLElBQUksd0JBQU0sQ0FBQztJQUNwQixDQUFDO0lBb0NNLFNBQVMsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUN2QyxPQUFPLEdBQUcsR0FBRyxHQUFHO1lBQ2QsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQyxHQUFHLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdEIsR0FBRyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNaLENBQUM7SUFTTSxjQUFjLENBQUMsR0FBRyxNQUEwQjtRQUNqRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQVFNLGFBQWEsQ0FBQyxHQUFHLE1BQTBCO1FBQ2hELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBU00sV0FBVyxDQUFDLEtBQWE7UUFDOUIsT0FBTyx1QkFBQSxJQUFJLDJCQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFTTSxnQkFBZ0IsQ0FBQyxHQUFHLE1BQWdCO1FBQ3pDLE9BQU8sdUJBQUEsSUFBSSwyQkFBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFTTSxlQUFlLENBQUMsR0FBRyxNQUFnQjtRQUN4QyxPQUFPLHVCQUFBLElBQUksMkJBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBU00sUUFBUSxDQUFDLEtBQWE7UUFDM0IsT0FBTyx1QkFBQSxJQUFJLHdCQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFTTSxhQUFhLENBQUMsR0FBRyxNQUFnQjtRQUN0QyxPQUFPLHVCQUFBLElBQUksd0JBQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBU00sWUFBWSxDQUFDLEdBQUcsTUFBZ0I7UUFDckMsT0FBTyx1QkFBQSxJQUFJLHdCQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ2xhc3MuXG5pbXBvcnQgeyBHcmVhdGVyIH0gZnJvbSAnLi9ncmVhdGVyLmNsYXNzJztcbmltcG9ydCB7IExlc3MgfSBmcm9tICcuL2xlc3MuY2xhc3MnO1xuLyoqXG4gKiBUaGUgYEluZXF1YWxpdHlgIGFic3RyYWN0IHByaW1pdGl2ZSB3cmFwcGVyIGBvYmplY3RgIHJlcHJlc2VudHMgdGhlIHByaW1pdGl2ZSB2YWx1ZSBncmVhdGVyIG9yIGxlc3MgdGhhbiB0aGUgZ2l2ZW4uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbmVxdWFsaXR5PFZhbHVlIGV4dGVuZHMgbnVtYmVyPiBleHRlbmRzIE51bWJlciB7XG4gIC8vI3JlZ2lvbiBpbnN0YW5jZSBwdWJsaWMgYWNjZXNzb3JzLlxuICAvKipcbiAgICogVGhlIGBnZXRgIGFjY2Vzc29yIG9idGFpbnMgZnJvbSB0aGUgcHJpdmF0ZSBgI2dyZWF0ZXJgIHByb3BlcnR5IGFuIGluc3RhbmNlIG9mIHRoZSBgR3JlYXRlcmAgd2l0aCBhIHByaW1pdGl2ZSB2YWx1ZSBmcm9tIGEgZ2l2ZW5cbiAgICogYHZhbHVlYCBvZiB0aGUgYEluZXF1YWxpdHlgIGNvbnN0cnVjdG9yLlxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBgR3JlYXRlcmAgaW5zdGFuY2Ugd2l0aCBhIHByaW1pdGl2ZSB2YWx1ZSBmcm9tIHRoZSBnaXZlbiBgdmFsdWVgIG9mIHRoZSBgSW5lcXVhbGl0eWAgY29uc3RydWN0b3IuXG4gICAqIEBhbmd1bGFycGFja2FnZVxuICAgKi9cbiAgcHVibGljIGdldCBncmVhdGVyKCk6IEdyZWF0ZXI8VmFsdWU+IHtcbiAgICByZXR1cm4gdGhpcy4jZ3JlYXRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYGdldGAgYWNjZXNzb3Igb2J0YWlucyBmcm9tIHRoZSBwcml2YXRlIGAjbGVzc2AgcHJvcGVydHkgYW4gaW5zdGFuY2Ugb2YgdGhlIGBMZXNzYCB3aXRoIGEgcHJpbWl0aXZlIHZhbHVlIGZyb20gYSBnaXZlbiBgdmFsdWVgIG9mXG4gICAqIHRoZSBgSW5lcXVhbGl0eWAgY29uc3RydWN0b3IuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGBMZXNzYCBpbnN0YW5jZSB3aXRoIGEgcHJpbWl0aXZlIHZhbHVlIGZyb20gdGhlIGdpdmVuIGB2YWx1ZWAgb2YgdGhlIGBJbmVxdWFsaXR5YCBjb25zdHJ1Y3Rvci5cbiAgICogQGFuZ3VsYXJwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGxlc3MoKTogTGVzczxWYWx1ZT4ge1xuICAgIHJldHVybiB0aGlzLiNsZXNzO1xuICB9XG4gIC8vI2VuZHJlZ2lvbiBpbnN0YW5jZSBwdWJsaWMgYWNjZXNzb3JzLlxuXG4gIC8vI3JlZ2lvbiBpbnN0YW5jZSBwcml2YXRlIHByb3BlcnRpZXMuXG4gIC8qKlxuICAgKiBQcml2YXRlIHByb3BlcnR5IG9mIHRoZSBgR3JlYXRlcmAgcHJpbWl0aXZlIHdyYXBwZXIgYG9iamVjdGAgaW5kaWNhdGVzIHRoZSB2YWx1ZSBvZiB0aGUgYG51bWJlcmAgdHlwZSBncmVhdGVyIHRoYW4gdGhlIGdpdmVuLlxuICAgKi9cbiAgI2dyZWF0ZXI6IEdyZWF0ZXI8VmFsdWU+O1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIHByb3BlcnR5IG9mIHRoZSBgTGVzc2AgcHJpbWl0aXZlIHdyYXBwZXIgYG9iamVjdGAgaW5kaWNhdGVzIHRoZSB2YWx1ZSBvZiBgbnVtYmVyYCB0eXBlIGxlc3MgdGhhbiB0aGUgZ2l2ZW4uXG4gICAqL1xuICAjbGVzczogTGVzczxWYWx1ZT47XG4gIC8vI2VuZHJlZ2lvbiBpbnN0YW5jZSBwcml2YXRlIHByb3BlcnRpZXMuXG5cbiAgLy8jcmVnaW9uIGNvbnN0cnVjdG9yLlxuICAvKipcbiAgICogQ3JlYXRlcyBhIGNoaWxkIGNsYXNzIGluc3RhbmNlIHdpdGggdGhlIGdpdmVuIHByaW1pdGl2ZSBgdmFsdWVgLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBnZW5lcmljIHR5cGUgdmFyaWFibGUgYFZhbHVlYCBpcyB0aGUgcHJpbWl0aXZlIHZhbHVlIG9mIGEgbmV3IGNoaWxkIGNsYXNzIGluc3RhbmNlLlxuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHZhbHVlOiBWYWx1ZSkge1xuICAgIHN1cGVyKHZhbHVlKTtcbiAgICB0aGlzLiNncmVhdGVyID0gbmV3IEdyZWF0ZXIodmFsdWUpO1xuICAgIHRoaXMuI2xlc3MgPSBuZXcgTGVzcyh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uIGNvbnN0cnVjdG9yLlxuXG4gIC8vI3JlZ2lvbiBpbnN0YW5jZSBwdWJsaWMgbWV0aG9kcy5cbiAgLyoqXG4gICAqIFRoZSBgaXNCZXR3ZWVuKClgIG1ldGhvZCBjaGVja3Mgd2hldGhlciB0aGUgcHJpbWl0aXZlIHZhbHVlIGlzIGJldHdlZW4gdGhlIHJhbmdlIG9mIGEgc3BlY2lmaWVkIG9iamVjdC5cbiAgICogQHBhcmFtIG1pbiBUaGUgbWluaW11bSByYW5nZSBvZiBudW1iZXIgdHlwZSB0byB0ZXN0LlxuICAgKiBAcGFyYW0gbWF4IFRoZSBtYXhpbXVtIHJhbmdlIG9mIG51bWJlciB0eXBlIHRvIHRlc3QuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBgYm9vbGVhbmAgdHlwZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBpcyBiZXR3ZWVuIHRoZSByYW5nZSBvZiBhIHNwZWNpZmllZCBvYmplY3QuXG4gICAqIEBhbmd1bGFycGFja2FnZVxuICAgKi9cbiAgcHVibGljIGlzQmV0d2VlbihtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbWluIDwgbWF4XG4gICAgICA/ICh0aGlzLmdyZWF0ZXJUaGFuKG1pbikgJiYgdGhpcy5sZXNzVGhhbihtYXgpKSB8fFxuICAgICAgICAgIG1pbiA9PT0gdGhpcy52YWx1ZU9mKCkgfHxcbiAgICAgICAgICBtYXggPT09IHRoaXMudmFsdWVPZigpXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcmltaXRpdmUgdmFsdWUgaXMgYmV0d2VlbiBldmVyeSByYW5nZSBvZiB0aGUgZ2l2ZW4gYHJhbmdlc2AuXG4gICAqIEBwYXJhbSByYW5nZXMgQSByZXN0IHBhcmFtZXRlciBvZiBgYXJyYXlgIHR5cGUgcmFuZ2VzIHRvIHRlc3QuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBgYm9vbGVhbmAgdHlwZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBpcyBiZXR3ZWVuIGV2ZXJ5IHJhbmdlIG9mIHRoZVxuICAgKiBnaXZlbiBgcmFuZ2VzYC5cbiAgICogQGFuZ3VsYXJwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgaXNCZXR3ZWVuRXZlcnkoLi4ucmFuZ2VzOiBbbnVtYmVyLCBudW1iZXJdW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmFuZ2VzLmV2ZXJ5KChyYW5nZSkgPT4gdGhpcy5pc0JldHdlZW4ocmFuZ2VbMF0sIHJhbmdlWzFdKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBpcyBiZXR3ZWVuIHNvbWUgZ2l2ZW4gYHJhbmdlc2AuXG4gICAqIEBwYXJhbSByYW5nZXMgQSByZXN0IHBhcmFtZXRlciBvZiBgYXJyYXlgIHR5cGUgcmFuZ2VzIHRvIHRlc3QuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBgYm9vbGVhbmAgdHlwZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBpcyBiZXR3ZWVuIHNvbWUgZ2l2ZW4gYHJhbmdlc2AuXG4gICAqIEBhbmd1bGFycGFja2FnZVxuICAgKi9cbiAgcHVibGljIGlzQmV0d2VlblNvbWUoLi4ucmFuZ2VzOiBbbnVtYmVyLCBudW1iZXJdW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmFuZ2VzLnNvbWUoKHJhbmdlKSA9PiB0aGlzLmlzQmV0d2VlbihyYW5nZVswXSwgcmFuZ2VbMV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgcHJpbWl0aXZlIHZhbHVlIG9mIGEgY2hpbGQgY2xhc3MgaW5zdGFuY2UgaXMgZ3JlYXRlciB0aGFuIHRoZSBnaXZlbiBgdmFsdWVgLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIG9mIGBudW1iZXJgIHR5cGUgdG8gdGVzdC5cbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyBhIGBib29sZWFuYCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBvZiBhIGNoaWxkIGNsYXNzIGluc3RhbmNlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgZ2l2ZW5cbiAgICogYHZhbHVlYC5cbiAgICogQGFuZ3VsYXJwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgZ3JlYXRlclRoYW4odmFsdWU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNncmVhdGVyLnRoYW4odmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgYSBjaGlsZCBjbGFzcyBpbnN0YW5jZSBpcyBncmVhdGVyIHRoYW4gZXZlcnkgdmFsdWUgb2YgdGhlIGdpdmVuIGB2YWx1ZXNgLlxuICAgKiBAcGFyYW0gdmFsdWVzIEEgcmVzdCBwYXJhbWV0ZXIgb2YgdGhlIG51bWJlcnMgdG8gdGVzdC5cbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyBhIGBib29sZWFuYCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBvZiBhIGNoaWxkIGNsYXNzIGluc3RhbmNlIGlzIGdyZWF0ZXIgdGhhbiBldmVyeSB2YWx1ZVxuICAgKiBvZiB0aGUgZ2l2ZW4gYHZhbHVlc2AuXG4gICAqIEBhbmd1bGFycGFja2FnZVxuICAgKi9cbiAgcHVibGljIGdyZWF0ZXJUaGFuRXZlcnkoLi4udmFsdWVzOiBudW1iZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNncmVhdGVyLnRoYW5FdmVyeSguLi52YWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgYSBjaGlsZCBjbGFzcyBpbnN0YW5jZSBpcyBncmVhdGVyIHRoYW4gc29tZSBnaXZlbiBgdmFsdWVzYC5cbiAgICogQHBhcmFtIHZhbHVlcyBBIHJlc3QgcGFyYW1ldGVyIG9mIHRoZSBudW1iZXJzIHRvIHRlc3QuXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgYSBgYm9vbGVhbmAgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgYSBjaGlsZCBjbGFzcyBpbnN0YW5jZSBpcyBncmVhdGVyIHRoYW4gc29tZSBnaXZlblxuICAgKiBgdmFsdWVzYC5cbiAgICogQGFuZ3VsYXJwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgZ3JlYXRlclRoYW5Tb21lKC4uLnZhbHVlczogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jZ3JlYXRlci50aGFuU29tZSguLi52YWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgYSBjaGlsZCBjbGFzcyBpbnN0YW5jZSBpcyBsZXNzIHRoYW4gdGhlIGdpdmVuIGB2YWx1ZWAuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgb2YgYG51bWJlcmAgdHlwZSB0byB0ZXN0LlxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgYGJvb2xlYW5gIGluZGljYXRpbmcgd2hldGhlciB0aGUgcHJpbWl0aXZlIHZhbHVlIG9mIGEgY2hpbGQgY2xhc3MgaW5zdGFuY2UgaXMgKipsZXNzKiogdGhhbiB0aGUgZ2l2ZW5cbiAgICogYHZhbHVlYC5cbiAgICogQGFuZ3VsYXJwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgbGVzc1RoYW4odmFsdWU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNsZXNzLnRoYW4odmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgYSBjaGlsZCBjbGFzcyBpbnN0YW5jZSBpcyBsZXNzIHRoYW4gZXZlcnkgZ2l2ZW4gdmFsdWUuXG4gICAqIEBwYXJhbSB2YWx1ZXMgQSByZXN0IHBhcmFtZXRlciBvZiB0aGUgbnVtYmVycyB0byB0ZXN0LlxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgYGJvb2xlYW5gIGluZGljYXRpbmcgd2hldGhlciB0aGUgcHJpbWl0aXZlIHZhbHVlIG9mIGEgY2hpbGQgY2xhc3MgaW5zdGFuY2UgaXMgbGVzcyB0aGFuIGV2ZXJ5IHZhbHVlIG9mXG4gICAqIHRoZSBnaXZlbiBgdmFsdWVzYC5cbiAgICogQGFuZ3VsYXJwYWNrYWdlXG4gICAqL1xuICBwdWJsaWMgbGVzc1RoYW5FdmVyeSguLi52YWx1ZXM6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2xlc3MudGhhbkV2ZXJ5KC4uLnZhbHVlcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBvZiBhIGNoaWxkIGNsYXNzIGluc3RhbmNlIGlzIGxlc3MgdGhhbiBzb21lIGdpdmVuIGB2YWx1ZXNgLlxuICAgKiBAcGFyYW0gdmFsdWVzIEEgcmVzdCBwYXJhbWV0ZXIgb2YgdGhlIG51bWJlcnMgdG8gdGVzdC5cbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyBhIGBib29sZWFuYCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHByaW1pdGl2ZSB2YWx1ZSBvZiBhIGNoaWxkIGNsYXNzIGluc3RhbmNlIGlzIGxlc3MgdGhhbiBzb21lIGdpdmVuXG4gICAqIGB2YWx1ZXNgLlxuICAgKiBAYW5ndWxhcnBhY2thZ2VcbiAgICovXG4gIHB1YmxpYyBsZXNzVGhhblNvbWUoLi4udmFsdWVzOiBudW1iZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNsZXNzLnRoYW5Tb21lKC4uLnZhbHVlcyk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uIGluc3RhbmNlIHB1YmxpYyBtZXRob2RzLlxufVxuIl19