ngx-snotifire 17.0.0 → 17.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/buttons/buttons.component.mjs +4 -4
- package/esm2022/lib/components/ngx-notifire/ngx-snotifire.component.mjs +4 -4
- package/esm2022/lib/components/prompt/prompt.component.mjs +4 -4
- package/esm2022/lib/components/toast/notifire-toast.model.mjs +1 -1
- package/esm2022/lib/components/toast/toast.component.mjs +4 -4
- package/esm2022/lib/decorators/transform-argument.decorator.mjs +1 -1
- package/esm2022/lib/ngx-snotifire.module.mjs +5 -5
- package/esm2022/lib/pipes/keys.pipe.mjs +4 -4
- package/esm2022/lib/pipes/truncate.pipe.mjs +4 -4
- package/esm2022/lib/services/notification.service.mjs +4 -4
- package/esm2022/lib/utils.mjs +1 -1
- package/fesm2022/ngx-snotifire.mjs +26 -26
- package/fesm2022/ngx-snotifire.mjs.map +1 -1
- package/package.json +4 -1
|
@@ -230,8 +230,8 @@ export class SnotifireService {
|
|
|
230
230
|
get(id) {
|
|
231
231
|
return (this.notifications && this.notifications.find((toast) => toast.id === id));
|
|
232
232
|
}
|
|
233
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
234
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnotifireService, deps: [{ token: 'snotifireConfig' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
234
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnotifireService }); }
|
|
235
235
|
}
|
|
236
236
|
__decorate([
|
|
237
237
|
TransformArgument
|
|
@@ -289,10 +289,10 @@ __decorate([
|
|
|
289
289
|
,
|
|
290
290
|
SetToastType
|
|
291
291
|
], SnotifireService.prototype, "async", null);
|
|
292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnotifireService, decorators: [{
|
|
293
293
|
type: Injectable
|
|
294
294
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
295
295
|
type: Inject,
|
|
296
296
|
args: ['snotifireConfig']
|
|
297
297
|
}] }], propDecorators: { success: [], error: [], info: [], warning: [], confirm: [], prompt: [], async: [] } });
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFHSixPQUFPLEVBQ1AsR0FBRyxFQUNILFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQW1CLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUcvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDb0MsYUFBZ0M7UUFBaEMsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBaEJwRTs7V0FFRztRQUNjLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUU3Qzs7V0FFRztRQUNNLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUUvQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDckMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUUzRCxrQkFBYSxHQUErQixFQUFFLENBQUM7SUFJNUMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBcUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUks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OztJQUNGLFlBQVk7K0NBR1o7QUEwQ0Q7SUFMQyxpQkFBaUI7SUFDbEI7O09BRUc7O0lBQ0YsWUFBWTs4Q0FHWjtBQTBERDtJQUxDLGlCQUFpQjtJQUNsQjs7T0FFRzs7SUFDRixZQUFZOzZDQW9EWjsyRkF4Z0JVLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBa0JOLE1BQU07MkJBQUMsaUJBQWlCO3lDQXlLM0IsT0FBTyxNQStDUCxLQUFLLE1BNENMLElBQUksTUE0Q0osT0FBTyxNQTRDUCxPQUFPLE1BNENQLE1BQU0sTUE0RE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGZpbmFsaXplLFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgdGFwLFxuICB0aHJvd0Vycm9yLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNldFRvYXN0VHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMvc2V0LXRvYXN0LXR5cGUuZGVjb3JhdG9yJztcbmltcG9ydCB7IFRyYW5zZm9ybUFyZ3VtZW50IH0gZnJvbSAnLi4vZGVjb3JhdG9ycy90cmFuc2Zvcm0tYXJndW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFNub3RpZmlyZUNvbmZpZywgU25vdGlmaXJlRXZlbnRUeXBlLCBTbm90aWZpcmVUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFNub3RpZmlyZURlZmF1bHRzIH0gZnJvbSAnLi4vZGVmYXVsdHMvZGVmYXVsdHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNub3RpZmlyZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Nub3RpZmlyZS5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVUb2FzdE1vZGVsIH0gZnJvbSAnLi4vY29tcG9uZW50cy90b2FzdC9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBtZXJnZURlZXAsIHV1aWQgfSBmcm9tICcuLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbm90aWZpcmVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gZGlzcGxheSB0aW1lIG9mIHRoZSBub3RpZmljYXRpb24gbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBtaW5pbXVtRGlzcGxheWVkVGltZSA9IDMwMDA7XG5cbiAgLyoqXG4gICAqIEVtaXRzIE5vdGlmaXJlIE5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGVtaXR0ZXIgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsW10+KCk7XG5cbiAgcmVhZG9ubHkgdG9hc3REZWxldGVkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICByZWFkb25seSB0b2FzdENoYW5nZWQgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsPigpO1xuXG4gIG5vdGlmaWNhdGlvbnM6IEFycmF5PFNub3RpZmlyZVRvYXN0TW9kZWw+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnc25vdGlmaXJlQ29uZmlnJykgcHVibGljIGRlZmF1bHRDb25maWc6IFNub3RpZmlyZURlZmF1bHRzXG4gICkge31cblxuICAvKipcbiAgICogQ3JlYXRlcyB0b2FzdCBhbmQgYWRkIGl0IHRvIGFycmF5LCByZXR1cm5zIHRvYXN0IGlkXG4gICAqIEBwYXJhbSBOb3RpZmljYXRpb25Nb2RlbCBOb3RpZmljYXRpb25Nb2RlbFxuICAgKiBAcmV0dXJuIG51bWJlclxuICAgKi9cbiAgY3JlYXRlKG5vdGlmOiBTbm90aWZpcmVNb2RlbCk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIGlmICh0aGlzLmRlZmF1bHRDb25maWcudHlwZSAmJiBub3RpZi5jb25maWcgJiYgbm90aWYuY29uZmlnLnR5cGUpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IG1lcmdlRGVlcChcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnR5cGVbbm90aWYuY29uZmlnLnR5cGVdLFxuICAgICAgICBub3RpZi5jb25maWdcbiAgICAgICk7XG4gICAgICBjb25zdCB0b2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgICB1dWlkKCksXG4gICAgICAgIG5vdGlmLnRpdGxlID8gbm90aWYudGl0bGUgOiAnJyxcbiAgICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgICAgY29uZmlnXG4gICAgICApO1xuICAgICAgdGhpcy5hZGQodG9hc3QpO1xuICAgICAgcmV0dXJuIHRvYXN0O1xuICAgIH1cbiAgICBjb25zdCBjb25maWcgPSBtZXJnZURlZXAodGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZywgbm90aWYuY29uZmlnKTtcbiAgICBjb25zdCBkZWZhdWxUb2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgdXVpZCgpLFxuICAgICAgbm90aWYudGl0bGUgPyBub3RpZi50aXRsZSA6ICcnLFxuICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgdGhpcy5hZGQoZGVmYXVsVG9hc3QpO1xuICAgIHJldHVybiBkZWZhdWxUb2FzdDtcbiAgfVxuICAvKipcbiAgICogSWYgSUQgcGFzc2VkLCBlbWl0cyB0b2FzdCBhbmltYXRpb24gcmVtb3ZlLCBpZiBJRCAmIFJFTU9WRSBwYXNzZWQsIHJlbW92ZXMgdG9hc3QgZnJvbSBub3RpZmljYXRpb25zIGFycmF5XG4gICAqIEBwYXJhbSBpZCBudW1iZXJcbiAgICogQHBhcmFtIHJlbW92ZSBib29sZWFuXG4gICAqL1xuICByZW1vdmUoaWQ6IG51bWJlciwgcmVtb3ZlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICAgIGlmIChyZW1vdmUpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9ucy5maWx0ZXIoXG4gICAgICAgICh0b2FzdCkgPT4gdG9hc3QuaWQgIT09IGlkXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRoaXMuZW1pdCgpO1xuICAgIH1cbiAgICB0aGlzLnRvYXN0RGVsZXRlZC5uZXh0KGlkKTtcbiAgfVxuXG4gIHNldERlZmF1bHRzKGRlZmF1bHRzOiBTbm90aWZpcmVEZWZhdWx0cyk6IFNub3RpZmlyZURlZmF1bHRzIHtcbiAgICBjb25zdCBtZXJnZWRDb25maWcgPSAodGhpcy5kZWZhdWx0Q29uZmlnID0gbWVyZ2VEZWVwKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLFxuICAgICAgZGVmYXVsdHNcbiAgICApIGFzIFNub3RpZmlyZURlZmF1bHRzKTtcbiAgICByZXR1cm4gbWVyZ2VkQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICovXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBOb3RpZmlyZVRvYXN0IHRvIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICogQHBhcmFtIHRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICovXG4gIHByaXZhdGUgYWRkKHRvYXN0OiBTbm90aWZpcmVUb2FzdE1vZGVsKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsLmZpbHRlckR1cGxpY2F0ZXMgJiZcbiAgICAgIHRoaXMuY29udGFpbnNUb2FzdCh0b2FzdClcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5maWx0ZXJEdXBsaWNhdGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnbG9iYWwgY29uZmlnJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5uZXdPblRvcFxuICAgICkge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnVuc2hpZnQodG9hc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaCh0b2FzdCk7XG4gICAgfVxuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGVtaXQgY2hhbmdlcyBpbiBub3RpZmljYXRpb25zIGFycmF5XG4gICAqL1xuICBwcml2YXRlIGVtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0dGVyLm5leHQodGhpcy5ub3RpZmljYXRpb25zLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrcyBpZiB0aGUgdG9hc3QgaXMgaW4gdGhlIGNvbGxlY3Rpb24uXG4gICAqIEBwYXJhbSBpblRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICogQHJldHVybnMgYm9vbGVhblxuICAgKi9cbiAgcHJpdmF0ZSBjb250YWluc1RvYXN0KGluVG9hc3Q6IFNub3RpZmlyZVRvYXN0TW9kZWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zLnNvbWUoKHRvYXN0KSA9PiB0b2FzdC5lcXVhbHMoaW5Ub2FzdCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgZW1wdHkgdG9hc3Qgd2l0aCBodG1sIHN0cmluZyBpbnNpZGVcbiAgICogQHBhcmFtIGh0bWwgc3RyaW5nIHwgU2FmZUh0bWxcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmlyZUNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGh0bWwoaHRtbDogc3RyaW5nIHwgU2FmZUh0bWwsIGNvbmZpZz86IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICB0aXRsZTogdW5kZWZpbmVkLFxuICAgICAgYm9keTogdW5kZWZpbmVkLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgLi4ueyBodG1sIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHN1Y2Nlc3Mgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBzdWNjZXNzKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIHN1Y2Nlc3MoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgaWYgKCFhcmdzLmNvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGNvbmZpZywgcGxlYXNlIGNvbmZpZ3VyZSBzZXJ2aWNlIGFjY29yZGluZ2x5Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSBjb25maWcgTm90aWZpY2F0aW9uQ29uZmlnXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgZXJyb3IoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSAgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIGVycm9yKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGluZm8gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBpbmZvKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBpbmZvKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHdhcm5pbmcgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICB3YXJuaW5nKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICB3YXJuaW5nKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGNvbmZpcm0gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBjb25maXJtKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBjb25maXJtKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgcHJvbXB0KGJvZHk6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIFByb21wdCBzdHlsZSB3aXRoIHR3byBidXR0b25zLCByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBwcm9tcHQoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPlxuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFzeW5jIHRvYXN0IHdpdGggSW5mbyBzdHlsZS4gUGFzcyBhY3Rpb24sIGFuZCByZXNvbHZlIG9yIHJlamVjdCBpdC5cbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+XG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBhc3luYyhcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+LFxuICAgIGNvbmZpZzogU25vdGlmaXJlQ29uZmlnXG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIHRpdGxlIHN0cmluZ1xuICAgKiBAcGFyYW0gYWN0aW9uIFByb21pc2U8Tm90aWZpY2F0aW9uTW9kZWw+IHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Nb2RlbD5cbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGFzeW5jKFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPixcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdG9hc3QgYXJndW1lbnRzIGludG8gTm90aWZpY2F0aW9uTW9kZWwgb2JqZWN0XG4gICAqL1xuICBAVHJhbnNmb3JtQXJndW1lbnRcbiAgLyoqXG4gICAqIERldGVybWluZXMgY3VycmVudCB0b2FzdCB0eXBlIGFuZCBjb2xsZWN0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIEBTZXRUb2FzdFR5cGVcbiAgYXN5bmMoYXJnczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgYXN5bmM6IE9ic2VydmFibGU8YW55PjtcbiAgICBpZiAoYXJncy5hY3Rpb24gaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICBhc3luYyA9IGZyb20oYXJncy5hY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3luYyA9IGFyZ3MuYWN0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG4gICAgbGV0IGZhaWxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGFzeW5jQXRpb24gPSBhc3luYy5waXBlKFxuICAgICAgdGFwKChuZXh0KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWxsZWQnKSwgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgZmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubWVyZ2VUb2FzdChcbiAgICAgICAgICB0b2FzdCxcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBmYWlsZWQgPT09IHRydWUgPyBTbm90aWZpcmVUeXBlLkVSUk9SIDogU25vdGlmaXJlVHlwZS5TVUNDRVNTXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdG9hc3Qub24oU25vdGlmaXJlRXZlbnRUeXBlLk1PVU5URUQsICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdtb3VudGVkJyk7XG4gICAgICByZXR1cm4gYXN5bmNBdGlvbjtcbiAgICB9KTtcbiAgICByZXR1cm4gYXN5bmNBdGlvbjtcblxuICAgIC8vIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG5cbiAgICAvLyB0b2FzdC5vbihTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCwgKCkgPT4ge1xuICAgIC8vICAgY29uc3Qgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBhc3luYy5zdWJzY3JpYmUoe1xuICAgIC8vICAgICBuZXh0OiAobmV4dD86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgZXJyb3I6IChlcnJvcj86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBlcnJvciwgU25vdGlmaXJlVHlwZS5FUlJPUik7XG4gICAgLy8gICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gICAgIH0sXG4gICAgLy8gICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCB7fSwgU25vdGlmaXJlVHlwZS5TVUNDRVNTKTtcbiAgICAvLyAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgIH0pO1xuICAgIC8vIH0pO1xuXG4gICAgLy8gcmV0dXJuIHRvYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZVRvYXN0KHRvYXN0OiBhbnksIG5leHQ6IGFueSwgdHlwZT86IFNub3RpZmlyZVR5cGUpIHtcbiAgICBpZiAobmV4dC5ib2R5KSB7XG4gICAgICB0b2FzdC5ib2R5ID0gbmV4dC5ib2R5O1xuICAgIH1cbiAgICBpZiAobmV4dC50aXRsZSkge1xuICAgICAgdG9hc3QudGl0bGUgPSBuZXh0LnRpdGxlO1xuICAgIH1cblxuICAgIGlmICh0eXBlICYmIHRoaXMuZGVmYXVsdENvbmZpZykge1xuICAgICAgY29uc29sZS5sb2codHlwZSk7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAoXG4gICAgICAgIHRvYXN0LmNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZz8udHlwZSxcbiAgICAgICAgeyB0eXBlIH0sXG4gICAgICAgIG5leHQuY29uZmlnXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAodG9hc3QuY29uZmlnLCBuZXh0LmNvbmZpZyk7XG4gICAgfVxuICAgIGlmIChuZXh0Lmh0bWwpIHtcbiAgICAgIHRvYXN0LmNvbmZpZy5odG1sID0gbmV4dC5odG1sO1xuICAgIH1cbiAgICB0aGlzLmVtaXQoKTtcbiAgICB0aGlzLnRvYXN0Q2hhbmdlZC5uZXh0KHRvYXN0KTtcbiAgfVxuICAvKipcbiAgICogcmV0dXJucyBTbm90aWZ5VG9hc3Qgb2JqZWN0XG4gICAqIEBwYXJhbSBpZCBOdW1iZXJcbiAgICogQHJldHVybiBTbm90aWZ5VG9hc3R8dW5kZWZpbmVkXG4gICAqL1xuICBnZXQoaWQ6IG51bWJlcik6IFNub3RpZmlyZVRvYXN0TW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgJiYgdGhpcy5ub3RpZmljYXRpb25zLmZpbmQoKHRvYXN0KSA9PiB0b2FzdC5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFHSixPQUFPLEVBQ1AsR0FBRyxFQUNILFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQW1CLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUcvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDb0MsYUFBZ0M7UUFBaEMsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBaEJwRTs7V0FFRztRQUNjLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUU3Qzs7V0FFRztRQUNNLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztRQUUvQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDckMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUUzRCxrQkFBYSxHQUErQixFQUFFLENBQUM7SUFJNUMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBcUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUks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Q2xCOztPQUVHOztJQUNGLFlBQVk7NkNBR1o7QUEwQ0Q7SUFMQyxpQkFBaUI7SUFDbEI7O09BRUc7O0lBQ0YsWUFBWTs0Q0FHWjtBQTBDRDtJQUxDLGlCQUFpQjtJQUNsQjs7T0FFRzs7SUFDRixZQUFZOytDQUdaO0FBMENEO0lBTEMsaUJBQWlCO0lBQ2xCOztPQUVHOztJQUNGLFlBQVk7K0NBR1o7QUEwQ0Q7SUFMQyxpQkFBaUI7SUFDbEI7O09BRUc7O0lBQ0YsWUFBWTs4Q0FHWjtBQTBERDtJQUxDLGlCQUFpQjtJQUNsQjs7T0FFRzs7SUFDRixZQUFZOzZDQW9EWjs0RkF4Z0JVLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBa0JOLE1BQU07MkJBQUMsaUJBQWlCO3lDQXlLM0IsT0FBTyxNQStDUCxLQUFLLE1BNENMLElBQUksTUE0Q0osT0FBTyxNQTRDUCxPQUFPLE1BNENQLE1BQU0sTUE0RE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGZpbmFsaXplLFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3ViamVjdCxcbiAgdGFwLFxuICB0aHJvd0Vycm9yLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNldFRvYXN0VHlwZSB9IGZyb20gJy4uL2RlY29yYXRvcnMvc2V0LXRvYXN0LXR5cGUuZGVjb3JhdG9yJztcbmltcG9ydCB7IFRyYW5zZm9ybUFyZ3VtZW50IH0gZnJvbSAnLi4vZGVjb3JhdG9ycy90cmFuc2Zvcm0tYXJndW1lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFNub3RpZmlyZUNvbmZpZywgU25vdGlmaXJlRXZlbnRUeXBlLCBTbm90aWZpcmVUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFNub3RpZmlyZURlZmF1bHRzIH0gZnJvbSAnLi4vZGVmYXVsdHMvZGVmYXVsdHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNub3RpZmlyZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Nub3RpZmlyZS5tb2RlbCc7XG5pbXBvcnQgeyBTbm90aWZpcmVUb2FzdE1vZGVsIH0gZnJvbSAnLi4vY29tcG9uZW50cy90b2FzdC9ub3RpZmlyZS10b2FzdC5tb2RlbCc7XG5pbXBvcnQgeyBtZXJnZURlZXAsIHV1aWQgfSBmcm9tICcuLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbm90aWZpcmVTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gZGlzcGxheSB0aW1lIG9mIHRoZSBub3RpZmljYXRpb24gbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBtaW5pbXVtRGlzcGxheWVkVGltZSA9IDMwMDA7XG5cbiAgLyoqXG4gICAqIEVtaXRzIE5vdGlmaXJlIE5vdGlmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGVtaXR0ZXIgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsW10+KCk7XG5cbiAgcmVhZG9ubHkgdG9hc3REZWxldGVkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICByZWFkb25seSB0b2FzdENoYW5nZWQgPSBuZXcgU3ViamVjdDxTbm90aWZpcmVUb2FzdE1vZGVsPigpO1xuXG4gIG5vdGlmaWNhdGlvbnM6IEFycmF5PFNub3RpZmlyZVRvYXN0TW9kZWw+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnc25vdGlmaXJlQ29uZmlnJykgcHVibGljIGRlZmF1bHRDb25maWc6IFNub3RpZmlyZURlZmF1bHRzXG4gICkge31cblxuICAvKipcbiAgICogQ3JlYXRlcyB0b2FzdCBhbmQgYWRkIGl0IHRvIGFycmF5LCByZXR1cm5zIHRvYXN0IGlkXG4gICAqIEBwYXJhbSBOb3RpZmljYXRpb25Nb2RlbCBOb3RpZmljYXRpb25Nb2RlbFxuICAgKiBAcmV0dXJuIG51bWJlclxuICAgKi9cbiAgY3JlYXRlKG5vdGlmOiBTbm90aWZpcmVNb2RlbCk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIGlmICh0aGlzLmRlZmF1bHRDb25maWcudHlwZSAmJiBub3RpZi5jb25maWcgJiYgbm90aWYuY29uZmlnLnR5cGUpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IG1lcmdlRGVlcChcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnR5cGVbbm90aWYuY29uZmlnLnR5cGVdLFxuICAgICAgICBub3RpZi5jb25maWdcbiAgICAgICk7XG4gICAgICBjb25zdCB0b2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgICB1dWlkKCksXG4gICAgICAgIG5vdGlmLnRpdGxlID8gbm90aWYudGl0bGUgOiAnJyxcbiAgICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgICAgY29uZmlnXG4gICAgICApO1xuICAgICAgdGhpcy5hZGQodG9hc3QpO1xuICAgICAgcmV0dXJuIHRvYXN0O1xuICAgIH1cbiAgICBjb25zdCBjb25maWcgPSBtZXJnZURlZXAodGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZywgbm90aWYuY29uZmlnKTtcbiAgICBjb25zdCBkZWZhdWxUb2FzdCA9IG5ldyBTbm90aWZpcmVUb2FzdE1vZGVsKFxuICAgICAgdXVpZCgpLFxuICAgICAgbm90aWYudGl0bGUgPyBub3RpZi50aXRsZSA6ICcnLFxuICAgICAgbm90aWYuYm9keSA/IG5vdGlmLmJvZHkgOiAnJyxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgdGhpcy5hZGQoZGVmYXVsVG9hc3QpO1xuICAgIHJldHVybiBkZWZhdWxUb2FzdDtcbiAgfVxuICAvKipcbiAgICogSWYgSUQgcGFzc2VkLCBlbWl0cyB0b2FzdCBhbmltYXRpb24gcmVtb3ZlLCBpZiBJRCAmIFJFTU9WRSBwYXNzZWQsIHJlbW92ZXMgdG9hc3QgZnJvbSBub3RpZmljYXRpb25zIGFycmF5XG4gICAqIEBwYXJhbSBpZCBudW1iZXJcbiAgICogQHBhcmFtIHJlbW92ZSBib29sZWFuXG4gICAqL1xuICByZW1vdmUoaWQ6IG51bWJlciwgcmVtb3ZlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghaWQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICAgIGlmIChyZW1vdmUpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IHRoaXMubm90aWZpY2F0aW9ucy5maWx0ZXIoXG4gICAgICAgICh0b2FzdCkgPT4gdG9hc3QuaWQgIT09IGlkXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRoaXMuZW1pdCgpO1xuICAgIH1cbiAgICB0aGlzLnRvYXN0RGVsZXRlZC5uZXh0KGlkKTtcbiAgfVxuXG4gIHNldERlZmF1bHRzKGRlZmF1bHRzOiBTbm90aWZpcmVEZWZhdWx0cyk6IFNub3RpZmlyZURlZmF1bHRzIHtcbiAgICBjb25zdCBtZXJnZWRDb25maWcgPSAodGhpcy5kZWZhdWx0Q29uZmlnID0gbWVyZ2VEZWVwKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLFxuICAgICAgZGVmYXVsdHNcbiAgICApIGFzIFNub3RpZmlyZURlZmF1bHRzKTtcbiAgICByZXR1cm4gbWVyZ2VkQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICovXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9ucyA9IFtdO1xuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBOb3RpZmlyZVRvYXN0IHRvIG5vdGlmaWNhdGlvbnMgYXJyYXlcbiAgICogQHBhcmFtIHRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICovXG4gIHByaXZhdGUgYWRkKHRvYXN0OiBTbm90aWZpcmVUb2FzdE1vZGVsKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsICYmXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuZ2xvYmFsLmZpbHRlckR1cGxpY2F0ZXMgJiZcbiAgICAgIHRoaXMuY29udGFpbnNUb2FzdCh0b2FzdClcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5maWx0ZXJEdXBsaWNhdGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBnbG9iYWwgY29uZmlnJyk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCAmJlxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbC5uZXdPblRvcFxuICAgICkge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnVuc2hpZnQodG9hc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMucHVzaCh0b2FzdCk7XG4gICAgfVxuICAgIHRoaXMuZW1pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGVtaXQgY2hhbmdlcyBpbiBub3RpZmljYXRpb25zIGFycmF5XG4gICAqL1xuICBwcml2YXRlIGVtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbWl0dGVyLm5leHQodGhpcy5ub3RpZmljYXRpb25zLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrcyBpZiB0aGUgdG9hc3QgaXMgaW4gdGhlIGNvbGxlY3Rpb24uXG4gICAqIEBwYXJhbSBpblRvYXN0IE5vdGlmaXJlVG9hc3RcbiAgICogQHJldHVybnMgYm9vbGVhblxuICAgKi9cbiAgcHJpdmF0ZSBjb250YWluc1RvYXN0KGluVG9hc3Q6IFNub3RpZmlyZVRvYXN0TW9kZWwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zLnNvbWUoKHRvYXN0KSA9PiB0b2FzdC5lcXVhbHMoaW5Ub2FzdCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgZW1wdHkgdG9hc3Qgd2l0aCBodG1sIHN0cmluZyBpbnNpZGVcbiAgICogQHBhcmFtIGh0bWwgc3RyaW5nIHwgU2FmZUh0bWxcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmlyZUNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGh0bWwoaHRtbDogc3RyaW5nIHwgU2FmZUh0bWwsIGNvbmZpZz86IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh7XG4gICAgICB0aXRsZTogdW5kZWZpbmVkLFxuICAgICAgYm9keTogdW5kZWZpbmVkLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgLi4ueyBodG1sIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHN1Y2Nlc3Mgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBzdWNjZXNzKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHN1Y2Nlc3MoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcblxuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIHN1Y2Nlc3MoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgaWYgKCFhcmdzLmNvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIGNvbmZpZywgcGxlYXNlIGNvbmZpZ3VyZSBzZXJ2aWNlIGFjY29yZGluZ2x5Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihib2R5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogQ3JlYXRlIHRvYXN0IHdpdGggZXJyb3Igc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSBjb25maWcgTm90aWZpY2F0aW9uQ29uZmlnXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgZXJyb3IoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBlcnJvciBzdHlsZSAgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBlcnJvcihcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBTbm90aWZpcmVUb2FzdE1vZGVsO1xuICAvKipcbiAgICogVHJhbnNmb3JtIHRvYXN0IGFyZ3VtZW50cyBpbnRvIE5vdGlmaWNhdGlvbk1vZGVsIG9iamVjdFxuICAgKi9cbiAgQFRyYW5zZm9ybUFyZ3VtZW50XG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGN1cnJlbnQgdG9hc3QgdHlwZSBhbmQgY29sbGVjdHMgZGVmYXVsdCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBAU2V0VG9hc3RUeXBlXG4gIGVycm9yKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGluZm8gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBpbmZvKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBpbmZvIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGluZm8oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBpbmZvKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIHdhcm5pbmcgc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICB3YXJuaW5nKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCB3YXJuaW5nIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIHdhcm5pbmcoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICB3YXJuaW5nKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIGNvbmZpcm0gc3R5bGUgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBjb25maXJtKGJvZHk6IHN0cmluZywgdGl0bGU6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlIHJldHVybnMgdG9hc3QgaWQ7XG4gICAqIEBwYXJhbSBib2R5IHN0cmluZ1xuICAgKiBAcGFyYW0gY29uZmlnIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBjb25maXJtIHN0eWxlICByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gW2JvZHldIHN0cmluZ1xuICAgKiBAcGFyYW0gW3RpdGxlXSBzdHJpbmdcbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGNvbmZpcm0oXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBjb25maXJtKGFyZ3M6IGFueSk6IFNub3RpZmlyZVRvYXN0TW9kZWwge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShhcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgcHJvbXB0KGJvZHk6IHN0cmluZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIENyZWF0ZSB0b2FzdCB3aXRoIFByb21wdCBzdHlsZSB3aXRoIHR3byBidXR0b25zLCByZXR1cm5zIHRvYXN0IGlkO1xuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGNvbmZpZyBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoYm9keTogc3RyaW5nLCBjb25maWc6IFNub3RpZmlyZUNvbmZpZyk6IFNub3RpZmlyZVRvYXN0TW9kZWw7XG4gIC8qKlxuICAgKiBDcmVhdGUgdG9hc3Qgd2l0aCBQcm9tcHQgc3R5bGUgd2l0aCB0d28gYnV0dG9ucywgcmV0dXJucyB0b2FzdCBpZDtcbiAgICogQHBhcmFtIFtib2R5XSBzdHJpbmdcbiAgICogQHBhcmFtIFt0aXRsZV0gc3RyaW5nXG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBwcm9tcHQoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTbm90aWZpcmVDb25maWdcbiAgKTogU25vdGlmaXJlVG9hc3RNb2RlbDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0b2FzdCBhcmd1bWVudHMgaW50byBOb3RpZmljYXRpb25Nb2RlbCBvYmplY3RcbiAgICovXG4gIEBUcmFuc2Zvcm1Bcmd1bWVudFxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBjdXJyZW50IHRvYXN0IHR5cGUgYW5kIGNvbGxlY3RzIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgQFNldFRvYXN0VHlwZVxuICBwcm9tcHQoYXJnczogYW55KTogU25vdGlmaXJlVG9hc3RNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPlxuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFzeW5jIHRvYXN0IHdpdGggSW5mbyBzdHlsZS4gUGFzcyBhY3Rpb24sIGFuZCByZXNvbHZlIG9yIHJlamVjdCBpdC5cbiAgICogQHBhcmFtIGJvZHkgc3RyaW5nXG4gICAqIEBwYXJhbSB0aXRsZSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEByZXR1cm5zIG51bWJlclxuICAgKi9cbiAgYXN5bmMoXG4gICAgYm9keTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+XG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIGFjdGlvbiBQcm9taXNlPE5vdGlmaWNhdGlvbk1vZGVsPiB8IE9ic2VydmFibGU8Tm90aWZpY2F0aW9uTW9kZWw+XG4gICAqIEBwYXJhbSBbY29uZmlnXSBOb3RpZmljYXRpb25Db25maWdcbiAgICogQHJldHVybnMgbnVtYmVyXG4gICAqL1xuICBhc3luYyhcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgYWN0aW9uOiBQcm9taXNlPFNub3RpZmlyZU1vZGVsPiB8IE9ic2VydmFibGU8U25vdGlmaXJlTW9kZWw+LFxuICAgIGNvbmZpZzogU25vdGlmaXJlQ29uZmlnXG4gICk6IE9ic2VydmFibGU8YW55PjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYXN5bmMgdG9hc3Qgd2l0aCBJbmZvIHN0eWxlLiBQYXNzIGFjdGlvbiwgYW5kIHJlc29sdmUgb3IgcmVqZWN0IGl0LlxuICAgKiBAcGFyYW0gYm9keSBzdHJpbmdcbiAgICogQHBhcmFtIHRpdGxlIHN0cmluZ1xuICAgKiBAcGFyYW0gYWN0aW9uIFByb21pc2U8Tm90aWZpY2F0aW9uTW9kZWw+IHwgT2JzZXJ2YWJsZTxOb3RpZmljYXRpb25Nb2RlbD5cbiAgICogQHBhcmFtIFtjb25maWddIE5vdGlmaWNhdGlvbkNvbmZpZ1xuICAgKiBAcmV0dXJucyBudW1iZXJcbiAgICovXG4gIGFzeW5jKFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGFjdGlvbjogUHJvbWlzZTxTbm90aWZpcmVNb2RlbD4gfCBPYnNlcnZhYmxlPFNub3RpZmlyZU1vZGVsPixcbiAgICBjb25maWc6IFNub3RpZmlyZUNvbmZpZ1xuICApOiBPYnNlcnZhYmxlPGFueT47XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdG9hc3QgYXJndW1lbnRzIGludG8gTm90aWZpY2F0aW9uTW9kZWwgb2JqZWN0XG4gICAqL1xuICBAVHJhbnNmb3JtQXJndW1lbnRcbiAgLyoqXG4gICAqIERldGVybWluZXMgY3VycmVudCB0b2FzdCB0eXBlIGFuZCBjb2xsZWN0cyBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIEBTZXRUb2FzdFR5cGVcbiAgYXN5bmMoYXJnczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgYXN5bmM6IE9ic2VydmFibGU8YW55PjtcbiAgICBpZiAoYXJncy5hY3Rpb24gaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICBhc3luYyA9IGZyb20oYXJncy5hY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3luYyA9IGFyZ3MuYWN0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG4gICAgbGV0IGZhaWxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGFzeW5jQXRpb24gPSBhc3luYy5waXBlKFxuICAgICAgdGFwKChuZXh0KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWxsZWQnKSwgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgZmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubWVyZ2VUb2FzdChcbiAgICAgICAgICB0b2FzdCxcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBmYWlsZWQgPT09IHRydWUgPyBTbm90aWZpcmVUeXBlLkVSUk9SIDogU25vdGlmaXJlVHlwZS5TVUNDRVNTXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdG9hc3Qub24oU25vdGlmaXJlRXZlbnRUeXBlLk1PVU5URUQsICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdtb3VudGVkJyk7XG4gICAgICByZXR1cm4gYXN5bmNBdGlvbjtcbiAgICB9KTtcbiAgICByZXR1cm4gYXN5bmNBdGlvbjtcblxuICAgIC8vIGNvbnN0IHRvYXN0ID0gdGhpcy5jcmVhdGUoYXJncyk7XG5cbiAgICAvLyB0b2FzdC5vbihTbm90aWZpcmVFdmVudFR5cGUuTU9VTlRFRCwgKCkgPT4ge1xuICAgIC8vICAgY29uc3Qgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBhc3luYy5zdWJzY3JpYmUoe1xuICAgIC8vICAgICBuZXh0OiAobmV4dD86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBuZXh0KTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgICAgZXJyb3I6IChlcnJvcj86IFNub3RpZmlyZU1vZGVsKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCBlcnJvciwgU25vdGlmaXJlVHlwZS5FUlJPUik7XG4gICAgLy8gICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gICAgIH0sXG4gICAgLy8gICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgLy8gICAgICAgdGhpcy5tZXJnZVRvYXN0KHRvYXN0LCB7fSwgU25vdGlmaXJlVHlwZS5TVUNDRVNTKTtcbiAgICAvLyAgICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAvLyAgICAgfSxcbiAgICAvLyAgIH0pO1xuICAgIC8vIH0pO1xuXG4gICAgLy8gcmV0dXJuIHRvYXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZVRvYXN0KHRvYXN0OiBhbnksIG5leHQ6IGFueSwgdHlwZT86IFNub3RpZmlyZVR5cGUpIHtcbiAgICBpZiAobmV4dC5ib2R5KSB7XG4gICAgICB0b2FzdC5ib2R5ID0gbmV4dC5ib2R5O1xuICAgIH1cbiAgICBpZiAobmV4dC50aXRsZSkge1xuICAgICAgdG9hc3QudGl0bGUgPSBuZXh0LnRpdGxlO1xuICAgIH1cblxuICAgIGlmICh0eXBlICYmIHRoaXMuZGVmYXVsdENvbmZpZykge1xuICAgICAgY29uc29sZS5sb2codHlwZSk7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAoXG4gICAgICAgIHRvYXN0LmNvbmZpZyxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLmdsb2JhbCxcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNub3RpZmlyZUNvbmZpZz8udHlwZSxcbiAgICAgICAgeyB0eXBlIH0sXG4gICAgICAgIG5leHQuY29uZmlnXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5jb25maWcgPSBtZXJnZURlZXAodG9hc3QuY29uZmlnLCBuZXh0LmNvbmZpZyk7XG4gICAgfVxuICAgIGlmIChuZXh0Lmh0bWwpIHtcbiAgICAgIHRvYXN0LmNvbmZpZy5odG1sID0gbmV4dC5odG1sO1xuICAgIH1cbiAgICB0aGlzLmVtaXQoKTtcbiAgICB0aGlzLnRvYXN0Q2hhbmdlZC5uZXh0KHRvYXN0KTtcbiAgfVxuICAvKipcbiAgICogcmV0dXJucyBTbm90aWZ5VG9hc3Qgb2JqZWN0XG4gICAqIEBwYXJhbSBpZCBOdW1iZXJcbiAgICogQHJldHVybiBTbm90aWZ5VG9hc3R8dW5kZWZpbmVkXG4gICAqL1xuICBnZXQoaWQ6IG51bWJlcik6IFNub3RpZmlyZVRvYXN0TW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbnMgJiYgdGhpcy5ub3RpZmljYXRpb25zLmZpbmQoKHRvYXN0KSA9PiB0b2FzdC5pZCA9PT0gaWQpXG4gICAgKTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/utils.mjs
CHANGED
|
@@ -38,4 +38,4 @@ export function uuid() {
|
|
|
38
38
|
export function isObject(item) {
|
|
39
39
|
return item && typeof item === 'object' && !Array.isArray(item);
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25vdGlmaXJlL3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBRyxPQUFjO0lBQ3pDLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDckIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BELENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFDRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsSUFBSTtJQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFDRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFTO0lBQ2hDLE9BQU8sSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVlcCBtZXJnZSBvYmplY3RzLlxuICogQHBhcmFtIHNvdXJjZXMgQXJyYXk8T2JqZWN0PGFueT4+XG4gKiBAcmV0dXJucyBPYmplY3Q8YW55PlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VEZWVwKC4uLnNvdXJjZXM6IGFueVtdKSB7XG4gIGNvbnN0IHRhcmdldDogYW55ID0ge307XG4gIGlmICghc291cmNlcy5sZW5ndGgpIHtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbiAgd2hpbGUgKHNvdXJjZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHNvdXJjZSA9IHNvdXJjZXMuc2hpZnQoKTtcbiAgICBpZiAoaXNPYmplY3Qoc291cmNlKSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChpc09iamVjdChzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IG1lcmdlRGVlcCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiBzb3VyY2Vba2V5XSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gdGFyZ2V0O1xufVxuLyoqXG4gKiBHZW5lcmF0ZXMgcmFuZG9tIGlkXG4gKiBAcmV0dXJuIG51bWJlclxuICovXG5leHBvcnQgZnVuY3Rpb24gdXVpZCgpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKERhdGUubm93KCkgLSAxKSkgKyAxO1xufVxuLyoqXG4gKiBTaW1wbGUgaXMgb2JqZWN0IGNoZWNrLlxuICogQHBhcmFtIGl0ZW0gT2JqZWN0PGFueT5cbiAqIEByZXR1cm5zIGJvb2xlYW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSk7XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Injectable, Inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Pipe, EventEmitter, Output, NgModule } from '@angular/core';
|
|
5
5
|
import { __decorate } from 'tslib';
|
|
6
|
-
import { Subject, from, tap,
|
|
6
|
+
import { Subject, from, tap, catchError, throwError, finalize, takeUntil } from 'rxjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Defines toast style depending on method name
|
|
@@ -497,8 +497,8 @@ class SnotifireService {
|
|
|
497
497
|
get(id) {
|
|
498
498
|
return (this.notifications && this.notifications.find((toast) => toast.id === id));
|
|
499
499
|
}
|
|
500
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
501
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
500
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnotifireService, deps: [{ token: 'snotifireConfig' }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
501
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnotifireService }); }
|
|
502
502
|
}
|
|
503
503
|
__decorate([
|
|
504
504
|
TransformArgument
|
|
@@ -556,7 +556,7 @@ __decorate([
|
|
|
556
556
|
,
|
|
557
557
|
SetToastType
|
|
558
558
|
], SnotifireService.prototype, "async", null);
|
|
559
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
559
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnotifireService, decorators: [{
|
|
560
560
|
type: Injectable
|
|
561
561
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
562
562
|
type: Inject,
|
|
@@ -576,10 +576,10 @@ class ButtonsComponent {
|
|
|
576
576
|
remove() {
|
|
577
577
|
this.service.remove(this.toast.id);
|
|
578
578
|
}
|
|
579
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
580
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
579
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonsComponent, deps: [{ token: SnotifireService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
580
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonsComponent, selector: "notifire-button", inputs: { toast: "toast" }, ngImport: i0, template: "<div class=\"notifire-toast__buttons\">\n <ng-container *ngIf=\"toast.config\">\n <button\n type=\"button\"\n *ngFor=\"let button of toast.config.buttons\"\n [ngClass]=\"{ 'notifire-toast__buttons--bold': button.bold }\"\n (click)=\"button.action ? button.action(toast) : remove()\"\n >\n {{ button.text }}\n </button>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
581
581
|
}
|
|
582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonsComponent, decorators: [{
|
|
583
583
|
type: Component,
|
|
584
584
|
args: [{ selector: 'notifire-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"notifire-toast__buttons\">\n <ng-container *ngIf=\"toast.config\">\n <button\n type=\"button\"\n *ngFor=\"let button of toast.config.buttons\"\n [ngClass]=\"{ 'notifire-toast__buttons--bold': button.bold }\"\n (click)=\"button.action ? button.action(toast) : remove()\"\n >\n {{ button.text }}\n </button>\n </ng-container>\n</div>\n" }]
|
|
585
585
|
}], ctorParameters: () => [{ type: SnotifireService }], propDecorators: { toast: [{
|
|
@@ -601,10 +601,10 @@ class TruncatePipe {
|
|
|
601
601
|
(args.length > 1 ? args[1] : this.DEFAULT_TRAIL)
|
|
602
602
|
: value;
|
|
603
603
|
}
|
|
604
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
605
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.
|
|
604
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
605
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TruncatePipe, name: "truncate" }); }
|
|
606
606
|
}
|
|
607
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
607
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TruncatePipe, decorators: [{
|
|
608
608
|
type: Pipe,
|
|
609
609
|
args: [{
|
|
610
610
|
name: 'truncate',
|
|
@@ -622,10 +622,10 @@ class PromptComponent {
|
|
|
622
622
|
getValue($event) {
|
|
623
623
|
return $event.target.value;
|
|
624
624
|
}
|
|
625
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
626
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
625
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
626
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PromptComponent, selector: "ngx-snotify-prompt", inputs: { toast: "toast" }, ngImport: i0, template: "<span\n class=\"notifire-toast__input\"\n [ngClass]=\"{ 'notifire-toast__input--filled': isPromptFocused }\"\n>\n <input\n (input)=\"toast.value = getValue($event); toast.eventEmitter.next(inputType)\"\n autofocus\n class=\"notifire-toast__input__field\"\n type=\"text\"\n [id]=\"toast.id\"\n (focus)=\"isPromptFocused = true\"\n (blur)=\"isPromptFocused = !!toast.value && !!toast.value.length\"\n >\n <label\n class=\"notifire-toast__input__label\"\n [for]=\"toast.id\"\n >\n <span\n class=\"notifire-toast__input__labelContent\"\n *ngIf=\"toast.config && toast.config.placeholder \"\n >\n {{ toast.config.placeholder | truncate }}\n </span>\n </label>\n</span>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TruncatePipe, name: "truncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
627
627
|
}
|
|
628
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
628
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PromptComponent, decorators: [{
|
|
629
629
|
type: Component,
|
|
630
630
|
args: [{ selector: 'ngx-snotify-prompt', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span\n class=\"notifire-toast__input\"\n [ngClass]=\"{ 'notifire-toast__input--filled': isPromptFocused }\"\n>\n <input\n (input)=\"toast.value = getValue($event); toast.eventEmitter.next(inputType)\"\n autofocus\n class=\"notifire-toast__input__field\"\n type=\"text\"\n [id]=\"toast.id\"\n (focus)=\"isPromptFocused = true\"\n (blur)=\"isPromptFocused = !!toast.value && !!toast.value.length\"\n >\n <label\n class=\"notifire-toast__input__label\"\n [for]=\"toast.id\"\n >\n <span\n class=\"notifire-toast__input__labelContent\"\n *ngIf=\"toast.config && toast.config.placeholder \"\n >\n {{ toast.config.placeholder | truncate }}\n </span>\n </label>\n</span>\n" }]
|
|
631
631
|
}], propDecorators: { toast: [{
|
|
@@ -796,10 +796,10 @@ class ToastComponent {
|
|
|
796
796
|
this.unsubscribe$.next();
|
|
797
797
|
this.unsubscribe$.complete();
|
|
798
798
|
}
|
|
799
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
800
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
799
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastComponent, deps: [{ token: SnotifireService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
800
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToastComponent, selector: "ngx-toast", inputs: { toast: "toast" }, outputs: { stateChanged: "stateChanged" }, ngImport: i0, template: "<ng-container *ngIf=\"toast && toast.config\">\n <div\n [attr.role]=\"toast.config.type === state.promptType ? 'dialog' : 'alert'\"\n [attr.aria-labelledby]=\"'snotify_' + toast.id\"\n [attr.aria-modal]=\"toast.config.type === state.promptType\"\n [ngClass]=\"[\n 'notifire-toast animated',\n 'snotify-' + toast.config.type,\n state.animation, toast.valid === undefined ? '' : toast.valid ? 'snotifyToast--valid' : 'snotifyToast--invalid'\n]\"\n [ngStyle]=\"{\n '-webkit-transition': toast.config.animation && toast.config.animation.time + 'ms',\n transition: toast.config.animation && toast.config.animation.time + 'ms',\n '-webkit-animation-duration': toast.config.animation && toast.config.animation.time + 'ms',\n 'animation-duration': toast.config.animation && toast.config.animation.time + 'ms'\n}\"\n (animationend)=\"onExitTransitionEnd()\"\n (click)=\"onClick()\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n >\n <div\n class=\"notifire-toast__progressBar\"\n *ngIf=\"toast.config.showProgressBar\"\n >\n <span\n class=\"notifire-toast__progressBar__percentage\"\n [ngStyle]=\"{ width: state.progress * 100 + '%' }\"\n ></span>\n </div>\n <div\n class=\"notifire-toast__inner\"\n *ngIf=\"!toast.config.html; else toastHTML\"\n >\n <div\n class=\"notifire-toast__title\"\n [attr.id]=\"'snotify_' + toast.id\"\n *ngIf=\"toast.title\"\n >\n {{ toast.title | truncate: toast.config.titleMaxLength }}\n </div>\n <div\n class=\"notifire-toast__body\"\n *ngIf=\"toast.body\"\n >\n {{ toast.body | truncate: toast.config.bodyMaxLength }}\n </div>\n <ngx-snotify-prompt\n *ngIf=\"toast.config.type === state.promptType\"\n [toast]=\"toast\"\n >\n </ngx-snotify-prompt>\n <div\n *ngIf=\"!toast.config.icon; else elseBlock\"\n [ngClass]=\"['snotifire-icon', toast.config.iconClass || 'snotifire-icon--' + toast.config.type]\"\n ></div>\n <ng-template #elseBlock>\n <img\n class=\"snotifire-icon\"\n [src]=\"toast.config.icon\"\n >\n </ng-template>\n </div>\n <ng-template #toastHTML>\n <div\n class=\"notifire-toast__inner\"\n [innerHTML]=\"toast.config.html\"\n ></div>\n </ng-template>\n <notifire-button\n *ngIf=\"toast.config.buttons\"\n [toast]=\"toast\"\n ></notifire-button>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: PromptComponent, selector: "ngx-snotify-prompt", inputs: ["toast"] }, { kind: "component", type: ButtonsComponent, selector: "notifire-button", inputs: ["toast"] }, { kind: "pipe", type: TruncatePipe, name: "truncate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
801
801
|
}
|
|
802
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
802
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastComponent, decorators: [{
|
|
803
803
|
type: Component,
|
|
804
804
|
args: [{ selector: 'ngx-toast', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"toast && toast.config\">\n <div\n [attr.role]=\"toast.config.type === state.promptType ? 'dialog' : 'alert'\"\n [attr.aria-labelledby]=\"'snotify_' + toast.id\"\n [attr.aria-modal]=\"toast.config.type === state.promptType\"\n [ngClass]=\"[\n 'notifire-toast animated',\n 'snotify-' + toast.config.type,\n state.animation, toast.valid === undefined ? '' : toast.valid ? 'snotifyToast--valid' : 'snotifyToast--invalid'\n]\"\n [ngStyle]=\"{\n '-webkit-transition': toast.config.animation && toast.config.animation.time + 'ms',\n transition: toast.config.animation && toast.config.animation.time + 'ms',\n '-webkit-animation-duration': toast.config.animation && toast.config.animation.time + 'ms',\n 'animation-duration': toast.config.animation && toast.config.animation.time + 'ms'\n}\"\n (animationend)=\"onExitTransitionEnd()\"\n (click)=\"onClick()\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n >\n <div\n class=\"notifire-toast__progressBar\"\n *ngIf=\"toast.config.showProgressBar\"\n >\n <span\n class=\"notifire-toast__progressBar__percentage\"\n [ngStyle]=\"{ width: state.progress * 100 + '%' }\"\n ></span>\n </div>\n <div\n class=\"notifire-toast__inner\"\n *ngIf=\"!toast.config.html; else toastHTML\"\n >\n <div\n class=\"notifire-toast__title\"\n [attr.id]=\"'snotify_' + toast.id\"\n *ngIf=\"toast.title\"\n >\n {{ toast.title | truncate: toast.config.titleMaxLength }}\n </div>\n <div\n class=\"notifire-toast__body\"\n *ngIf=\"toast.body\"\n >\n {{ toast.body | truncate: toast.config.bodyMaxLength }}\n </div>\n <ngx-snotify-prompt\n *ngIf=\"toast.config.type === state.promptType\"\n [toast]=\"toast\"\n >\n </ngx-snotify-prompt>\n <div\n *ngIf=\"!toast.config.icon; else elseBlock\"\n [ngClass]=\"['snotifire-icon', toast.config.iconClass || 'snotifire-icon--' + toast.config.type]\"\n ></div>\n <ng-template #elseBlock>\n <img\n class=\"snotifire-icon\"\n [src]=\"toast.config.icon\"\n >\n </ng-template>\n </div>\n <ng-template #toastHTML>\n <div\n class=\"notifire-toast__inner\"\n [innerHTML]=\"toast.config.html\"\n ></div>\n </ng-template>\n <notifire-button\n *ngIf=\"toast.config.buttons\"\n [toast]=\"toast\"\n ></notifire-button>\n </div>\n</ng-container>\n" }]
|
|
805
805
|
}], ctorParameters: () => [{ type: SnotifireService }], propDecorators: { toast: [{
|
|
@@ -818,10 +818,10 @@ class KeysPipe {
|
|
|
818
818
|
}
|
|
819
819
|
return Object.keys(value);
|
|
820
820
|
}
|
|
821
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
822
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.
|
|
821
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
822
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: KeysPipe, name: "keys", pure: false }); }
|
|
823
823
|
}
|
|
824
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
824
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KeysPipe, decorators: [{
|
|
825
825
|
type: Pipe,
|
|
826
826
|
args: [{
|
|
827
827
|
name: 'keys',
|
|
@@ -942,10 +942,10 @@ class NgxSnotifireComponent {
|
|
|
942
942
|
this.unsubscribe$.next();
|
|
943
943
|
this.unsubscribe$.complete();
|
|
944
944
|
}
|
|
945
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
946
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
945
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxSnotifireComponent, deps: [{ token: SnotifireService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
946
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NgxSnotifireComponent, selector: "ngx-snotifire", ngImport: i0, template: "<div\n class=\"snotifire-backdrop\"\n *ngIf=\"backdrop && backdrop >= 0\"\n [style.opacity]=\"backdrop\"\n></div>\n\n<div\n *ngFor=\"let position of notifications | keys\"\n class=\"snotify snotify-{{ position }}\"\n>\n <ngx-toast\n *ngFor=\"let notification of getNotificationArray(notifications, position) | slice: blockSizeA:blockSizeB\"\n [toast]=\"notification\"\n (stateChanged)=\"stateChanged($event)\"\n >\n </ngx-toast>\n\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToastComponent, selector: "ngx-toast", inputs: ["toast"], outputs: ["stateChanged"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: KeysPipe, name: "keys" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
947
947
|
}
|
|
948
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
948
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxSnotifireComponent, decorators: [{
|
|
949
949
|
type: Component,
|
|
950
950
|
args: [{ selector: 'ngx-snotifire', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"snotifire-backdrop\"\n *ngIf=\"backdrop && backdrop >= 0\"\n [style.opacity]=\"backdrop\"\n></div>\n\n<div\n *ngFor=\"let position of notifications | keys\"\n class=\"snotify snotify-{{ position }}\"\n>\n <ngx-toast\n *ngFor=\"let notification of getNotificationArray(notifications, position) | slice: blockSizeA:blockSizeB\"\n [toast]=\"notification\"\n (stateChanged)=\"stateChanged($event)\"\n >\n </ngx-toast>\n\n</div>\n" }]
|
|
951
951
|
}], ctorParameters: () => [{ type: SnotifireService }] });
|
|
@@ -957,16 +957,16 @@ class NgxSnotifireModule {
|
|
|
957
957
|
providers: [SnotifireService],
|
|
958
958
|
};
|
|
959
959
|
}
|
|
960
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
961
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxSnotifireModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
961
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NgxSnotifireModule, declarations: [PromptComponent,
|
|
962
962
|
ToastComponent,
|
|
963
963
|
ButtonsComponent,
|
|
964
964
|
TruncatePipe,
|
|
965
965
|
KeysPipe,
|
|
966
966
|
NgxSnotifireComponent], imports: [CommonModule], exports: [NgxSnotifireComponent] }); }
|
|
967
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
967
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxSnotifireModule, imports: [CommonModule] }); }
|
|
968
968
|
}
|
|
969
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxSnotifireModule, decorators: [{
|
|
970
970
|
type: NgModule,
|
|
971
971
|
args: [{
|
|
972
972
|
declarations: [
|