@tilde-nlp/ngx-common 4.0.34 → 4.0.35
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.
|
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
162
162
|
type: Inject,
|
|
163
163
|
args: [ALERT_CONFIGURATION_TOKEN]
|
|
164
164
|
}] }]; } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9hbGVydC9hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQUt6RixNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFnRSxNQUEwQjtRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUVsRixtQkFBYyxHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBU3BELG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzlDLHlFQUF5RTtRQUN4RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN6QyxnSEFBZ0g7UUFDL0YsbUJBQWMsR0FBRyxVQUFVLENBQUM7UUFDNUIsd0JBQW1CLEdBQUcsZUFBZSxDQUFDO0lBbEJzQyxDQUFDO0lBSTlGLElBQUksYUFBYTtRQUNmLE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7U0FDdkMsQ0FBQztJQUNKLENBQUM7SUFXRCxZQUFZLENBQUMsS0FBVztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FB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WUFBWSxrQkFDSCx5QkFBeUI7bUhBRGxDLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBRWMsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlLCBOb3RpZmljYXRpb25NZXNzYWdlVHlwZSB9IGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi1tZXNzYWdlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFsZXJ0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vbW9kZWxzL2FsZXJ0LWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBBTEVSVF9DT05GSUdVUkFUSU9OX1RPS0VOIH0gZnJvbSAnLi9pbmplY3Rpb24tdG9rZW5zL2FsZXJ0LWNvbmZpZ3VyYXRpb24udG9rZW4nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBTEVSVF9DT05GSUdVUkFUSU9OX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogQWxlcnRDb25maWd1cmF0aW9uKSB7fVxyXG5cclxuICBwcml2YXRlIG1lc3NhZ2VTdWJqZWN0OiBTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2U+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IGRlZmF1bHRQYXJhbXMoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbWFpbDogdGhpcy5jb25maWcuc3VwcG9ydEVtYWlsLFxyXG4gICAgICByZWdpc3Rlckxpbms6IHRoaXMuY29uZmlnLnJlZ2lzdGVyTGluayxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFcnJvcktleSA9ICdFUlJPUl9ERUZBVUxUJztcclxuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yS2V5ID0gJ0VSUk9SUy4nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbnVtZXJpY0Vycm9yS2V5UHJlZml4ID0gJ0VfJztcclxuICAvLyBpZiBtZXNzYWdlIGtleSBoYXMga2V5IHdpdGggdGhpcyBwb3N0Zml4LCBtZXNzYWdlIHNob3VsZCBiZSB3aXRoIHRpdGxlXHJcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZVBvc3RGaXggPSAnX1RJVExFJztcclxuICAvLyBpZiBtZXNzYWdlIGtleSBoYXMga2V5IHdpdGggdGhpcyBwb3N0Zml4LCBtZXNzYWdlIHNob3VsZCBiZSB3aXRoIHN1cHBvcnQgaW5mbywgaXQgaXMgY29uZmlndXJlZCBhbmQgdHVybmVkIG9uXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzdXBwb3J0UG9zdEZpeCA9ICdfU1VQUE9SVCc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25Qb3N0Rml4ID0gJ19TVUJTQ1JJUFRJT04nO1xyXG5cclxuICBkZWZhdWx0RXJyb3IoZXJyb3I/OiBhbnkpIHtcclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3IoXHJcbiAgICAgIGAke3RoaXMuZXJyb3JLZXl9JHt0aGlzLmRlZmF1bHRFcnJvcktleX1gLFxyXG4gICAgICBlcnJvcixcclxuICAgICAgdGhpcy5kZWZhdWx0UGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVzc2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGJhc2ljKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuQkFTSUMsIHRleHQsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBpbmZvKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuSU5GTywgdGV4dCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcbiAgXHJcbiAgc3VjY2Vzcyh0ZXh0OiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xyXG4gICAgdGhpcy5lbWl0KE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLlNVQ0NFU1MsIHRleHQsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBlcnJvcih0ZXh0OiBzdHJpbmcsIGVycm9yOiBhbnksIHBhcmFtcz86IGFueSkge1xyXG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuRVJST1IsIHRleHQsIGVycm9yLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgd2FybmluZyh0ZXh0OiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xyXG4gICAgdGhpcy5lbWl0KE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLldBUk5JTkcsIHRleHQsIG51bGwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVNZXNzYWdlKHR5cGU6IE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLCB0ZXh0OiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5lbWl0KHR5cGUsIHRleHQsIG51bGwsIHBhcmFtcywgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB1bmhhbmRlbGVkRXJyb3IoZXJyb3I6IGFueSwgZXJyb3JUcmFuc2xhdGlvblN1YktleXM6IHN0cmluZ1tdID0gW10sIHBhcmFtcz86IGFueSkge1xyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIGNvbnN0IGVycm9yS2V5ID0gdGhpcy5maW5kRXJyb3JLZXkoZXJyb3IsIGVycm9yVHJhbnNsYXRpb25TdWJLZXlzKTtcclxuXHJcbiAgICAgIGlmIChlcnJvcktleSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3IoZXJyb3JLZXksIGVycm9yLCBwYXJhbXMgPz8gdGhpcy5kZWZhdWx0UGFyYW1zKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZGVmYXVsdEVycm9yKGVycm9yKTtcclxuICB9XHJcblxyXG4gIGZpbmRFcnJvclRpdGxlQW5kTG9jYWxpemF0aW9uS2V5KGVycm9yOiB1bmtub3duLCBlcnJvclRyYW5zbGF0aW9uU3ViS2V5czogc3RyaW5nW10pOiB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICB9IHtcclxuICAgIGNvbnN0IGVycm9yRGVzY3JpcHRpb25LZXkgPSB0aGlzLmZpbmRFcnJvcktleShlcnJvciwgZXJyb3JUcmFuc2xhdGlvblN1YktleXMpO1xyXG4gICAgbGV0IGVycm9yVGl0bGVLZXkgPSBudWxsO1xyXG5cclxuICAgIGlmIChlcnJvckRlc2NyaXB0aW9uS2V5KSB7XHJcbiAgICAgIGVycm9yVGl0bGVLZXkgPSB0aGlzLmZpbmRQb3N0Zml4KGVycm9yRGVzY3JpcHRpb25LZXksIHRoaXMudGl0bGVQb3N0Rml4KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkZXNjcmlwdGlvbjogZXJyb3JEZXNjcmlwdGlvbktleSBhcyBzdHJpbmcsXHJcbiAgICAgIHRpdGxlOiBlcnJvclRpdGxlS2V5IGFzIHN0cmluZyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRFcnJvcktleShlcnJvcjogYW55LCBlcnJvclRyYW5zbGF0aW9uU3ViS2V5czogc3RyaW5nW10pIHtcclxuICAgIGlmICghZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGVycm9yS2V5ID0gbnVsbDtcclxuICAgIGNvbnN0IGVycm9yVHJhbnNsYXRpb25zID0gdGhpcy5jb25maWcuYXZhaWxhYmxlTGFuZ3VhZ2VzLmVuLkVSUk9SUztcclxuICAgIGlmIChcclxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJlxyXG4gICAgICBlcnJvclRyYW5zbGF0aW9uc1t0aGlzLm51bWVyaWNFcnJvcktleVByZWZpeCArIGVycm9yLnN0YXR1c11cclxuICAgICkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvclRyYW5zbGF0aW9uc1tlcnJvci5FcnJvckNvZGVdKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gZXJyb3IuRXJyb3JDb2RlO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgZXJyb3JUcmFuc2xhdGlvbnNbdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5FcnJvckNvZGVdXHJcbiAgICApIHtcclxuICAgICAgZXJyb3JLZXkgPSB0aGlzLm51bWVyaWNFcnJvcktleVByZWZpeCArIGVycm9yLkVycm9yQ29kZTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3JUcmFuc2xhdGlvbnNbZXJyb3IuZXJyb3I/LkVycm9yQ29kZV0pIHtcclxuICAgICAgZXJyb3JLZXkgPSBlcnJvci5lcnJvcj8uRXJyb3JDb2RlO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvclRyYW5zbGF0aW9uc1tlcnJvci5lcnJvcl0pIHtcclxuICAgICAgZXJyb3JLZXkgPSBlcnJvci5lcnJvcjtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuZXJyb3I/LkVycm9yQ29kZV1cclxuICAgICkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuZXJyb3I/LkVycm9yQ29kZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWVycm9yS2V5KSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXJyb3JUcmFuc2xhdGlvblN1YktleXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb25zdCBzdWJLZXkgPSBlcnJvclRyYW5zbGF0aW9uU3ViS2V5c1tpXTtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZXJyb3JUcmFuc2xhdGlvbnNbc3ViS2V5XTtcclxuICAgICAgICBpZiAoZWxlbWVudFtlcnJvci5FcnJvckNvZGVdKSB7XHJcbiAgICAgICAgICBlcnJvcktleSA9IGAke3N1YktleX0uJHtlcnJvci5FcnJvckNvZGV9YDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JLZXkgKyAoZXJyb3JLZXkgPz8gdGhpcy5kZWZhdWx0RXJyb3JLZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0KFxyXG4gICAgdHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUsXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICBlcnJvcjogYW55LFxyXG4gICAgcGFyYW1zPzogYW55LFxyXG4gICAgZGVsZXRlTXNnPzogYm9vbGVhblxyXG4gICkge1xyXG4gICAvLyBpZiB0aGVyZSBpcyBubyB0aXRsZSBmb3IgdGhpcyB0ZXh0LCB0ZXh0IHdpbGwgYmUgc2hvd24gYXMgdGl0bGVcclxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5maW5kUG9zdGZpeCh0ZXh0LCB0aGlzLnRpdGxlUG9zdEZpeCkgPz8gdGV4dDtcclxuICAgIGNvbnN0IG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UgPSB7XHJcbiAgICAgIGJvZHk6IHRleHQgPT09IHRpdGxlID8gdW5kZWZpbmVkIDogdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIHR5cGUsXHJcbiAgICAgIGxvY2FsaXphdGlvblBhcmFtczogeyAuLi50aGlzLmRlZmF1bHRQYXJhbXMsIC4uLnBhcmFtcyB9LFxyXG4gICAgICBzdXBwb3J0OiB0aGlzLmdldFN1cHBvcnRNZXNzYWdlKHRleHQpIGFzIHN0cmluZyxcclxuICAgICAgZGVsZXRlOiBkZWxldGVNc2dcclxuICAgIH07XHJcbiAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgbWVzc2FnZS5lcnJvciA9IGVycm9yO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tZXNzYWdlU3ViamVjdC5uZXh0KG1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTdXBwb3J0TWVzc2FnZSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IHN1cHBvcnQgPSB0aGlzLmZpbmRQb3N0Zml4KHRleHQsIHRoaXMuc3VwcG9ydFBvc3RGaXgpO1xyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5maW5kUG9zdGZpeCh0ZXh0LCB0aGlzLnN1YnNjcmlwdGlvblBvc3RGaXgpO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5jb250YWN0U3VwcG9ydCAmJiBzdXBwb3J0ICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBzdXBwb3J0O1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgdGhpcy5jb25maWcuc3Vic2NyaXB0aW9uU3VwcG9ydCAmJiBzdWJzY3JpcHRpb24gIT09IG51bGxcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kUG9zdGZpeCh0ZXh0OiBzdHJpbmcsIHBvc3RmaXg6IHN0cmluZykge1xyXG4gICAgY29uc3QgcGFydHMgPSB0ZXh0LnNwbGl0KCcuJyk7XHJcbiAgICBsZXQgbG9jYWxpemF0aW9uT2JqZWN0ID0gdGhpcy5jb25maWcuYXZhaWxhYmxlTGFuZ3VhZ2VzLmVuO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoaSA+IDApIHtcclxuICAgICAgICBsb2NhbGl6YXRpb25PYmplY3QgPSBsb2NhbGl6YXRpb25PYmplY3RbcGFydHNbaSAtIDFdXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWxvY2FsaXphdGlvbk9iamVjdFtwYXJ0c1tpXV0pIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5V2l0aFRpdGxlID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV0gKyBwb3N0Zml4O1xyXG4gICAgcmV0dXJuIGxvY2FsaXphdGlvbk9iamVjdFtrZXlXaXRoVGl0bGVdID8gdGV4dCArIHBvc3RmaXggOiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9hbGVydC9hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUF1Qix1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQUt6RixNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUErRCxNQUEwQjtRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUVqRixtQkFBYyxHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBU3BELG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxTQUFTLENBQUM7UUFDckIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQzlDLHlFQUF5RTtRQUN4RCxpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN6QyxnSEFBZ0g7UUFDL0YsbUJBQWMsR0FBRyxVQUFVLENBQUM7UUFDNUIsd0JBQW1CLEdBQUcsZUFBZSxDQUFDO0lBbEJxQyxDQUFDO0lBSTdGLElBQUksYUFBYTtRQUNmLE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7U0FDdkMsQ0FBQztJQUNKLENBQUM7SUFXRCxZQUFZLENBQUMsS0FBVztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FB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WUFBWSxrQkFDSCx5QkFBeUI7bUhBRGxDLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBRWMsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25NZXNzYWdlLCBOb3RpZmljYXRpb25NZXNzYWdlVHlwZSB9IGZyb20gJy4uLy4uL25vdGlmaWNhdGlvbi1tZXNzYWdlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFsZXJ0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vbW9kZWxzL2FsZXJ0LWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBBTEVSVF9DT05GSUdVUkFUSU9OX1RPS0VOIH0gZnJvbSAnLi9pbmplY3Rpb24tdG9rZW5zL2FsZXJ0LWNvbmZpZ3VyYXRpb24udG9rZW4nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBTEVSVF9DT05GSUdVUkFUSU9OX1RPS0VOKSBwdWJsaWMgcmVhZG9ubHkgY29uZmlnOiBBbGVydENvbmZpZ3VyYXRpb24pIHt9XHJcblxyXG4gIHByaXZhdGUgbWVzc2FnZVN1YmplY3Q6IFN1YmplY3Q8Tm90aWZpY2F0aW9uTWVzc2FnZT4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBnZXQgZGVmYXVsdFBhcmFtcygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGVtYWlsOiB0aGlzLmNvbmZpZy5zdXBwb3J0RW1haWwsXHJcbiAgICAgIHJlZ2lzdGVyTGluazogdGhpcy5jb25maWcucmVnaXN0ZXJMaW5rLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEVycm9yS2V5ID0gJ0VSUk9SX0RFRkFVTFQnO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JLZXkgPSAnRVJST1JTLic7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBudW1lcmljRXJyb3JLZXlQcmVmaXggPSAnRV8nO1xyXG4gIC8vIGlmIG1lc3NhZ2Uga2V5IGhhcyBrZXkgd2l0aCB0aGlzIHBvc3RmaXgsIG1lc3NhZ2Ugc2hvdWxkIGJlIHdpdGggdGl0bGVcclxuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlUG9zdEZpeCA9ICdfVElUTEUnO1xyXG4gIC8vIGlmIG1lc3NhZ2Uga2V5IGhhcyBrZXkgd2l0aCB0aGlzIHBvc3RmaXgsIG1lc3NhZ2Ugc2hvdWxkIGJlIHdpdGggc3VwcG9ydCBpbmZvLCBpdCBpcyBjb25maWd1cmVkIGFuZCB0dXJuZWQgb25cclxuICBwcml2YXRlIHJlYWRvbmx5IHN1cHBvcnRQb3N0Rml4ID0gJ19TVVBQT1JUJztcclxuICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvblBvc3RGaXggPSAnX1NVQlNDUklQVElPTic7XHJcblxyXG4gIGRlZmF1bHRFcnJvcihlcnJvcj86IGFueSkge1xyXG4gICAgaWYgKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lcnJvcihcclxuICAgICAgYCR7dGhpcy5lcnJvcktleX0ke3RoaXMuZGVmYXVsdEVycm9yS2V5fWAsXHJcbiAgICAgIGVycm9yLFxyXG4gICAgICB0aGlzLmRlZmF1bHRQYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRNZXNzYWdlcygpIHtcclxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgYmFzaWModGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5CQVNJQywgdGV4dCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGluZm8odGV4dDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5JTkZPLCB0ZXh0LCBudWxsLCBwYXJhbXMpO1xyXG4gIH1cclxuICBcclxuICBzdWNjZXNzKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuU1VDQ0VTUywgdGV4dCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGVycm9yKHRleHQ6IHN0cmluZywgZXJyb3I6IGFueSwgcGFyYW1zPzogYW55KSB7XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgIHRoaXMuZW1pdChOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5FUlJPUiwgdGV4dCwgZXJyb3IsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICB3YXJuaW5nKHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XHJcbiAgICB0aGlzLmVtaXQoTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUuV0FSTklORywgdGV4dCwgbnVsbCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZU1lc3NhZ2UodHlwZTogTm90aWZpY2F0aW9uTWVzc2FnZVR5cGUsIHRleHQ6IHN0cmluZywgcGFyYW1zPzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVtaXQodHlwZSwgdGV4dCwgbnVsbCwgcGFyYW1zLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHVuaGFuZGVsZWRFcnJvcihlcnJvcjogYW55LCBlcnJvclRyYW5zbGF0aW9uU3ViS2V5czogc3RyaW5nW10gPSBbXSwgcGFyYW1zPzogYW55KSB7XHJcbiAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgY29uc3QgZXJyb3JLZXkgPSB0aGlzLmZpbmRFcnJvcktleShlcnJvciwgZXJyb3JUcmFuc2xhdGlvblN1YktleXMpO1xyXG5cclxuICAgICAgaWYgKGVycm9yS2V5KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcihlcnJvcktleSwgZXJyb3IsIHBhcmFtcyA/PyB0aGlzLmRlZmF1bHRQYXJhbXMpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kZWZhdWx0RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgZmluZEVycm9yVGl0bGVBbmRMb2NhbGl6YXRpb25LZXkoZXJyb3I6IHVua25vd24sIGVycm9yVHJhbnNsYXRpb25TdWJLZXlzOiBzdHJpbmdbXSk6IHtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIH0ge1xyXG4gICAgY29uc3QgZXJyb3JEZXNjcmlwdGlvbktleSA9IHRoaXMuZmluZEVycm9yS2V5KGVycm9yLCBlcnJvclRyYW5zbGF0aW9uU3ViS2V5cyk7XHJcbiAgICBsZXQgZXJyb3JUaXRsZUtleSA9IG51bGw7XHJcblxyXG4gICAgaWYgKGVycm9yRGVzY3JpcHRpb25LZXkpIHtcclxuICAgICAgZXJyb3JUaXRsZUtleSA9IHRoaXMuZmluZFBvc3RmaXgoZXJyb3JEZXNjcmlwdGlvbktleSwgdGhpcy50aXRsZVBvc3RGaXgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRlc2NyaXB0aW9uOiBlcnJvckRlc2NyaXB0aW9uS2V5IGFzIHN0cmluZyxcclxuICAgICAgdGl0bGU6IGVycm9yVGl0bGVLZXkgYXMgc3RyaW5nLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZEVycm9yS2V5KGVycm9yOiBhbnksIGVycm9yVHJhbnNsYXRpb25TdWJLZXlzOiBzdHJpbmdbXSkge1xyXG4gICAgaWYgKCFlcnJvcikge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZXJyb3JLZXkgPSBudWxsO1xyXG4gICAgY29uc3QgZXJyb3JUcmFuc2xhdGlvbnMgPSB0aGlzLmNvbmZpZy5hdmFpbGFibGVMYW5ndWFnZXMuZW4uRVJST1JTO1xyXG4gICAgaWYgKFxyXG4gICAgICBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmXHJcbiAgICAgIGVycm9yVHJhbnNsYXRpb25zW3RoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3Iuc3RhdHVzXVxyXG4gICAgKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5zdGF0dXM7XHJcbiAgICB9IGVsc2UgaWYgKGVycm9yVHJhbnNsYXRpb25zW2Vycm9yLkVycm9yQ29kZV0pIHtcclxuICAgICAgZXJyb3JLZXkgPSBlcnJvci5FcnJvckNvZGU7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBlcnJvclRyYW5zbGF0aW9uc1t0aGlzLm51bWVyaWNFcnJvcktleVByZWZpeCArIGVycm9yLkVycm9yQ29kZV1cclxuICAgICkge1xyXG4gICAgICBlcnJvcktleSA9IHRoaXMubnVtZXJpY0Vycm9yS2V5UHJlZml4ICsgZXJyb3IuRXJyb3JDb2RlO1xyXG4gICAgfSBlbHNlIGlmIChlcnJvclRyYW5zbGF0aW9uc1tlcnJvci5lcnJvcj8uRXJyb3JDb2RlXSkge1xyXG4gICAgICBlcnJvcktleSA9IGVycm9yLmVycm9yPy5FcnJvckNvZGU7XHJcbiAgICB9IGVsc2UgaWYgKGVycm9yVHJhbnNsYXRpb25zW2Vycm9yLmVycm9yXSkge1xyXG4gICAgICBlcnJvcktleSA9IGVycm9yLmVycm9yO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgZXJyb3JUcmFuc2xhdGlvbnNbdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5lcnJvcj8uRXJyb3JDb2RlXVxyXG4gICAgKSB7XHJcbiAgICAgIGVycm9yS2V5ID0gdGhpcy5udW1lcmljRXJyb3JLZXlQcmVmaXggKyBlcnJvci5lcnJvcj8uRXJyb3JDb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghZXJyb3JLZXkpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlcnJvclRyYW5zbGF0aW9uU3ViS2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHN1YktleSA9IGVycm9yVHJhbnNsYXRpb25TdWJLZXlzW2ldO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlcnJvclRyYW5zbGF0aW9uc1tzdWJLZXldO1xyXG4gICAgICAgIGlmIChlbGVtZW50W2Vycm9yLkVycm9yQ29kZV0pIHtcclxuICAgICAgICAgIGVycm9yS2V5ID0gYCR7c3ViS2V5fS4ke2Vycm9yLkVycm9yQ29kZX1gO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvcktleSArIChlcnJvcktleSA/PyB0aGlzLmRlZmF1bHRFcnJvcktleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXQoXHJcbiAgICB0eXBlOiBOb3RpZmljYXRpb25NZXNzYWdlVHlwZSxcclxuICAgIHRleHQ6IHN0cmluZyxcclxuICAgIGVycm9yOiBhbnksXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBkZWxldGVNc2c/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgIC8vIGlmIHRoZXJlIGlzIG5vIHRpdGxlIGZvciB0aGlzIHRleHQsIHRleHQgd2lsbCBiZSBzaG93biBhcyB0aXRsZVxyXG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLmZpbmRQb3N0Zml4KHRleHQsIHRoaXMudGl0bGVQb3N0Rml4KSA/PyB0ZXh0O1xyXG4gICAgY29uc3QgbWVzc2FnZTogTm90aWZpY2F0aW9uTWVzc2FnZSA9IHtcclxuICAgICAgYm9keTogdGV4dCA9PT0gdGl0bGUgPyB1bmRlZmluZWQgOiB0ZXh0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgdHlwZSxcclxuICAgICAgbG9jYWxpemF0aW9uUGFyYW1zOiB7IC4uLnRoaXMuZGVmYXVsdFBhcmFtcywgLi4ucGFyYW1zIH0sXHJcbiAgICAgIHN1cHBvcnQ6IHRoaXMuZ2V0U3VwcG9ydE1lc3NhZ2UodGV4dCkgYXMgc3RyaW5nLFxyXG4gICAgICBkZWxldGU6IGRlbGV0ZU1zZ1xyXG4gICAgfTtcclxuICAgIGlmIChlcnJvcikge1xyXG4gICAgICBtZXNzYWdlLmVycm9yID0gZXJyb3I7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1lc3NhZ2VTdWJqZWN0Lm5leHQobWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFN1cHBvcnRNZXNzYWdlKHRleHQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgY29uc3Qgc3VwcG9ydCA9IHRoaXMuZmluZFBvc3RmaXgodGV4dCwgdGhpcy5zdXBwb3J0UG9zdEZpeCk7XHJcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmZpbmRQb3N0Zml4KHRleHQsIHRoaXMuc3Vic2NyaXB0aW9uUG9zdEZpeCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmNvbnRhY3RTdXBwb3J0ICYmIHN1cHBvcnQgIT09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIHN1cHBvcnQ7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLmNvbmZpZy5zdWJzY3JpcHRpb25TdXBwb3J0ICYmIHN1YnNjcmlwdGlvbiAhPT0gbnVsbFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRQb3N0Zml4KHRleHQ6IHN0cmluZywgcG9zdGZpeDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwYXJ0cyA9IHRleHQuc3BsaXQoJy4nKTtcclxuICAgIGxldCBsb2NhbGl6YXRpb25PYmplY3QgPSB0aGlzLmNvbmZpZy5hdmFpbGFibGVMYW5ndWFnZXMuZW47XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChpID4gMCkge1xyXG4gICAgICAgIGxvY2FsaXphdGlvbk9iamVjdCA9IGxvY2FsaXphdGlvbk9iamVjdFtwYXJ0c1tpIC0gMV1dO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghbG9jYWxpemF0aW9uT2JqZWN0W3BhcnRzW2ldXSkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBrZXlXaXRoVGl0bGUgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSArIHBvc3RmaXg7XHJcbiAgICByZXR1cm4gbG9jYWxpemF0aW9uT2JqZWN0W2tleVdpdGhUaXRsZV0gPyB0ZXh0ICsgcG9zdGZpeCA6IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|