@snabcentr/client-core 3.20.0 → 3.20.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.
|
@@ -56,7 +56,7 @@ export declare class ScCatalogRedirectService {
|
|
|
56
56
|
* (адрес со slug либо с идентификатором — в зависимости от настроек окружения).
|
|
57
57
|
*
|
|
58
58
|
* @param commands Сегменты канонического маршрута.
|
|
59
|
-
* @param status Статус редиректа:
|
|
59
|
+
* @param status Статус редиректа: вид адреса задаётся настройками окружения и может быть изменён, поэтому по умолчанию временный.
|
|
60
60
|
* @returns Дерево канонического маршрута для навигации либо `false`, если редирект выполнен ответом сервера.
|
|
61
61
|
*/
|
|
62
62
|
redirectToCanonicalUrl(commands: Array<number | string>, status?: ScRedirectStatusEnum): boolean | UrlTree;
|
|
@@ -66,11 +66,11 @@ export class ScCatalogRedirectService {
|
|
|
66
66
|
* (адрес со slug либо с идентификатором — в зависимости от настроек окружения).
|
|
67
67
|
*
|
|
68
68
|
* @param commands Сегменты канонического маршрута.
|
|
69
|
-
* @param status Статус редиректа:
|
|
69
|
+
* @param status Статус редиректа: вид адреса задаётся настройками окружения и может быть изменён, поэтому по умолчанию временный.
|
|
70
70
|
* @returns Дерево канонического маршрута для навигации либо `false`, если редирект выполнен ответом сервера.
|
|
71
71
|
*/
|
|
72
72
|
// eslint-disable-next-line sonarjs/function-return-type
|
|
73
|
-
redirectToCanonicalUrl(commands, status = ScRedirectStatusEnum.
|
|
73
|
+
redirectToCanonicalUrl(commands, status = ScRedirectStatusEnum.Temporary) {
|
|
74
74
|
const urlTree = this.router.createUrlTree(commands);
|
|
75
75
|
if (this.isCanonicalRedirectEnabled && this.isServer && this.setServerRedirect(this.router.serializeUrl(urlTree), status)) {
|
|
76
76
|
return false;
|
|
@@ -207,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
207
207
|
providedIn: 'root',
|
|
208
208
|
}]
|
|
209
209
|
}] });
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy1yZWRpcmVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL3NlcnZpY2VzL3NjLWNhdGFsb2ctcmVkaXJlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXdDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFJSTs7V0FFRztRQUNjLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFM0Q7O1dBRUc7UUFDYyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsYUFBUSxHQUFHLE1BQU0s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LENBQUM7b0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO2dCQUVELG1GQUFtRjtnQkFDbkYsK0ZBQStGO2dCQUMvRixFQUFFO2dCQUNGLDJHQUEyRztnQkFDM0csdUhBQXVIO2dCQUN2SCxnRkFBZ0Y7Z0JBQ2hGLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFRCxxR0FBcUc7WUFDckcsdUdBQXVHO1lBQ3ZHLDhHQUE4RztZQUM5RyxFQUFFO1lBQ0YsMEdBQTBHO1lBQzFHLDZHQUE2RztZQUM3RywySEFBMkg7WUFDM0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTFDLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQTlNUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIEVNUFRZLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY1JlZGlyZWN0U3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9yZWRpcmVjdC1zdGF0dXMtZW51bSc7XG5pbXBvcnQgeyBJU19TRVJWRVIsIFJFU1BPTlNFIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU0NfQ0FOT05JQ0FMX1JFRElSRUNUX0VOQUJMRUQgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtY2Fub25pY2FsLXJlZGlyZWN0LWVuYWJsZWQnO1xuaW1wb3J0IHsgU0NfSURfT1JfU0xVR19JTl9ST1VURSB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1pZC1vci1zbHVnLWluLXJvdXRlJztcbmltcG9ydCB7IFNjSVBhcmVudENhdGVnb3J5UmVkaXJlY3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcGFyZW50LWNhdGVnb3J5LXJlZGlyZWN0JztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NjLWNhdGFsb2cuc2VydmljZSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINGA0LXQtNC40YDQtdC60YLQvtCyINC60LDRgtCw0LvQvtCz0LA6INC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7RgdGC0LggKEhUVFAgNDA0KSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuFxuICog0Lgg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuCAo0YHQvC4ge0BsaW5rIHJlZGlyZWN0VG9DYW5vbmljYWxVcmx9KS5cbiAqXG4gKiDQoNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRji5cbiAqXG4gKiDQl9Cw0L/RgNCw0YjQuNCy0LDQtdGCINGDINCx0Y3QutC10L3QtNCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0L3QtdC00L7RgdGC0YPQv9C90L7QuSDRgdGD0YnQvdC+0YHRgtC4INC4INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCOlxuICogLSDQvdCwINGB0LXRgNCy0LXRgNC1IChTU1IpINC/0YDQuCDQtNC+0YHRgtGD0L/QvdC+0Lwge0BsaW5rIFJFU1BPTlNFfSDigJQg0LLRi9GB0YLQsNCy0LvRj9C10YIgSFRUUC3RgdGC0LDRgtGD0YEgMzAyINC4INC30LDQs9C+0LvQvtCy0L7QuiBgTG9jYXRpb25gINC00LvRjyDQutC+0YDRgNC10LrRgtC90L7Qs9C+INGA0LXQtNC40YDQtdC60YLQsCDQv9C+0LjRgdC60L7QstGL0YUg0LHQvtGC0L7QsjtcbiAqIC0g0L3QsCDRgdC10YDQstC10YDQtSDQsdC10Lcge0BsaW5rIFJFU1BPTlNFfSAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBgbmcgc2VydmVgKSDigJQg0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Log0L7RiNC40LHQutC+0LkgNDA0LCDRh9GC0L7QsdGLINC+0YLQvtCx0YDQsNC30LjQu9Cw0YHRjCDRgdGC0YDQsNC90LjRhtCwINC+0YjQuNCx0LrQuDtcbiAqIC0g0LIg0LHRgNCw0YPQt9C10YDQtSDigJQg0LLRi9C/0L7Qu9C90Y/QtdGCINC/0L7Qu9C90YPRjiDQvdCw0LLQuNCz0LDRhtC40Y4g0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLlxuICpcbiAqINCV0YHQu9C4INGA0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsCwg0L/QvtGC0L7QuiDRgtCw0LrQttC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0Lkge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSxcbiAqINGH0YLQvtCx0Ysg0LLRi9C30YvQstCw0Y7RidC40Lkg0LrQvtC0INC+0YLQvtCx0YDQsNC30LjQuyDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nUmVkaXJlY3RTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRhbG9nU2VydmljZSA9IGluamVjdChTY0NhdGFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQvNCw0YDRiNGA0YPRgtC40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQuNC70Lggc2x1ZyDQsiDQvNCw0YDRiNGA0YPRgtCw0YUg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRPclNsdWcgPSBpbmplY3QoU0NfSURfT1JfU0xVR19JTl9ST1VURSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INCy0LrQu9GO0YfRkdC9INC/0L7RgdGC0L7Rj9C90L3Ri9C5INGA0LXQtNC40YDQtdC60YIg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQ2Fub25pY2FsUmVkaXJlY3RFbmFibGVkID0gaW5qZWN0KFNDX0NBTk9OSUNBTF9SRURJUkVDVF9FTkFCTEVEKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YLQtdC60YPRidC40Lkg0YHQutGA0LjQv9GCINC40YHQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCDRgdC10YDQstC10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzU2VydmVyID0gaW5qZWN0KElTX1NFUlZFUik7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L7QsSDQvtGC0LLQtdGC0LUg0L3QsCDQt9Cw0L/RgNC+0YEgKNC00L7RgdGC0YPQv9C90Ysg0YLQvtC70YzQutC+INC90LAg0YHQtdGA0LLQtdGA0LUg0L/RgNC4IFNTUikuXG4gICAgICpcbiAgICAgKiBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6IHtAbGluayBSRVNQT05TRX0g4oCUINC60LDRgdGC0L7QvNC90YvQuSBFeHByZXNzLdGC0L7QutC10L0sINC60L7RgtC+0YDRi9C5INC/0YDQvtCy0LDQudC00LjRgtGB0Y8g0LIgYHNlcnZlci50c2BcbiAgICAgKiDRh9C10YDQtdC3IENvbW1vbkVuZ2luZS4g0J3QsCB1cGdyYWRlLdCy0LXRgtC60LUgYHNlcnZlci50c2Ag0L7RgdGC0LDQu9GB0Y8g0L3QsCBDb21tb25FbmdpbmUsINC/0L7RjdGC0L7QvNGDINC/0YDQuCDRgdC70LjRj9C90LjQuCDQt9C00LXRgdGMXG4gICAgICog0L3QuNGH0LXQs9C+INC80LXQvdGP0YLRjCDQvdC1INC90YPQttC90L4uINCV0YHQu9C4IGBzZXJ2ZXIudHNgINC80LjQs9GA0LjRgNGD0Y7RgiDQvdCwIGBBbmd1bGFyTm9kZUFwcEVuZ2luZWAgKyBgY3JlYXRlTm9kZVJlcXVlc3RIYW5kbGVyYCxcbiAgICAgKiDQt9Cw0LzQtdC90LjRgtC1IHtAbGluayBSRVNQT05TRX0g0L3QsCDQvdCw0YLQuNCy0L3Ri9C5IGBSRVNQT05TRV9JTklUYCAoYEluamVjdGlvblRva2VuPFJlc3BvbnNlSW5pdCB8IG51bGw+YCDQuNC3IGBAYW5ndWxhci9jb3JlYCk7XG4gICAgICog0YHQvC4g0YHQtdGA0LLQtdGA0L3Ri9C1INCy0LXRgtC60Lgg0LIge0BsaW5rIHJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSR9INC4IHtAbGluayByZWRpcmVjdFRvQ2Fub25pY2FsVXJsfS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlID0gaW5qZWN0KFJFU1BPTlNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICog0JTQvtC60YPQvNC10L3RgiDRgtC10LrRg9GJ0LXQuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YDQtdC30YPQu9GM0YLQsNGCINGB0YLRgNCw0LbQsCDQvNCw0YDRiNGA0YPRgtCwINC00LvRjyDQv9C10YDQtdGF0L7QtNCwINC90LAg0LrQsNC90L7QvdC40YfQtdGB0LrQuNC5INCw0LTRgNC10YEg0YLQvtCy0LDRgNCwINC40LvQuCDQutCw0YLQtdCz0L7RgNC40LhcbiAgICAgKiAo0LDQtNGA0LXRgSDRgdC+IHNsdWcg0LvQuNCx0L4g0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8IOKAlCDQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIg0L3QsNGB0YLRgNC+0LXQuiDQvtC60YDRg9C20LXQvdC40Y8pLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbW1hbmRzINCh0LXQs9C80LXQvdGC0Ysg0LrQsNC90L7QvdC40YfQtdGB0LrQvtCz0L4g0LzQsNGA0YjRgNGD0YLQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzINCh0YLQsNGC0YPRgSDRgNC10LTQuNGA0LXQutGC0LA6INCw0LTRgNC10YEg0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8INC30LDQvNC10L3Rj9C10YLRgdGPINC90LAg0LrQsNC90L7QvdC40YfQtdGB0LrQuNC5INC90LDQstGB0LXQs9C00LAsINC/0L7RjdGC0L7QvNGDINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0L7RgdGC0L7Rj9C90L3Ri9C5LlxuICAgICAqIEByZXR1cm5zINCU0LXRgNC10LLQviDQutCw0L3QvtC90LjRh9C10YHQutC+0LPQviDQvNCw0YDRiNGA0YPRgtCwINC00LvRjyDQvdCw0LLQuNCz0LDRhtC40Lgg0LvQuNCx0L4gYGZhbHNlYCwg0LXRgdC70Lgg0YDQtdC00LjRgNC10LrRgiDQstGL0L/QvtC70L3QtdC9INC+0YLQstC10YLQvtC8INGB0LXRgNCy0LXRgNCwLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2Z1bmN0aW9uLXJldHVybi10eXBlXG4gICAgcHVibGljIHJlZGlyZWN0VG9DYW5vbmljYWxVcmwoY29tbWFuZHM6IEFycmF5PG51bWJlciB8IHN0cmluZz4sIHN0YXR1czogU2NSZWRpcmVjdFN0YXR1c0VudW0gPSBTY1JlZGlyZWN0U3RhdHVzRW51bS5QZXJtYW5lbnQpOiBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKGNvbW1hbmRzKTtcblxuICAgICAgICBpZiAodGhpcy5pc0Nhbm9uaWNhbFJlZGlyZWN0RW5hYmxlZCAmJiB0aGlzLmlzU2VydmVyICYmIHRoaXMuc2V0U2VydmVyUmVkaXJlY3QodGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpLCBzdGF0dXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsVHJlZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YHRgtCw0LLQu9GP0LXRgiDRgNC10LTQuNGA0LXQutGCINCyINC+0YLQstC10YLQtSDRgdC10YDQstC10YDQsCAoU1NSKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXRVcmwg0JDQtNGA0LXRgSwg0L3QsCDQutC+0YLQvtGA0YvQuSDQstGL0L/QvtC70L3Rj9C10YLRgdGPINGA0LXQtNC40YDQtdC60YIuXG4gICAgICogQHBhcmFtIHN0YXR1cyDQodGC0LDRgtGD0YEg0YDQtdC00LjRgNC10LrRgtCwLlxuICAgICAqIEByZXR1cm5zINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YDQtdC00LjRgNC10LrRgiDQstGL0YHRgtCw0LLQu9C10L07IGBmYWxzZWAsINC10YHQu9C4INC00LDQvdC90YvQtSDQvtCxINC+0YLQstC10YLQtSDQvdC10LTQvtGB0YLRg9C/0L3RiyAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBgbmcgc2VydmVgKS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldFNlcnZlclJlZGlyZWN0KHRhcmdldFVybDogc3RyaW5nLCBzdGF0dXM6IFNjUmVkaXJlY3RTdGF0dXNFbnVtKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5yZXNwb25zZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQW5ndWxhciAyMSAo0LzQuNCz0YDQsNGG0LjRjyBTU1IpOiDQv9GA0Lgg0L/QtdGA0LXRhdC+0LTQtSBzZXJ2ZXIudHMg0L3QsCBBbmd1bGFyTm9kZUFwcEVuZ2luZSDRgdGC0LDRgtGD0YEg0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6INCy0YvRgdGC0LDQstC70Y/RjtGC0YHRj1xuICAgICAgICAvLyDRh9C10YDQtdC3INC90LDRgtC40LLQvdGL0LkgUkVTUE9OU0VfSU5JVCDQstC80LXRgdGC0L4gRXhwcmVzcy3QvNC10YLQvtC00L7QsiByZXNwb25zZS5zZXRIZWFkZXIvcmVzcG9uc2Uuc3RhdHVzLlxuICAgICAgICB0aGlzLnJlc3BvbnNlLnNldEhlYWRlcignTG9jYXRpb24nLCB0YXJnZXRVcmwpO1xuICAgICAgICB0aGlzLnJlc3BvbnNlLnN0YXR1cyhzdGF0dXMpO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiDQvdC10LTQvtGB0YLRg9C/0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqIEByZXR1cm5zINCf0L7RgtC+0LosINC30LDQstC10YDRiNCw0Y7RidC40LnRgdGPINC/0L7RgdC70LUg0YDQtdC00LjRgNC10LrRgtCwLiDQrdC80LjRgtC40YIg0L7RiNC40LHQutGDIHtAbGluayBIdHRwRXJyb3JSZXNwb25zZX0sINC10YHQu9C4INGA0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVkaXJlY3RUb0NhdGVnb3J5UGFyZW50JChjYXRlZ29yeUlkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSQodGhpcy5jYXRhbG9nU2VydmljZS5nZXRDYXRlZ29yeVBhcmVudENhdGVnb3J5JChjYXRlZ29yeUlkT3JTbHVnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOINC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdElkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICogQHJldHVybnMg0J/QvtGC0L7Quiwg0LfQsNCy0LXRgNGI0LDRjtGJ0LjQudGB0Y8g0L/QvtGB0LvQtSDRgNC10LTQuNGA0LXQutGC0LAuINCt0LzQuNGC0LjRgiDQvtGI0LjQsdC60YMge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSwg0LXRgdC70Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWRpcmVjdFRvUHJvZHVjdFBhcmVudCQocHJvZHVjdElkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSQodGhpcy5jYXRhbG9nU2VydmljZS5nZXRQcm9kdWN0UGFyZW50Q2F0ZWdvcnkkKHByb2R1Y3RJZE9yU2x1ZykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0L/QtdGA0LDRgtC+0YAg0YPRgdGC0L7QudGH0LjQstC+0Lkg0L7QsdGA0LDQsdC+0YLQutC4INC90LXQtNC+0YHRgtGD0L/QvdC+0LkgKEhUVFAt0L7RiNC40LHQutCwKSDQutCw0YLQtdCz0L7RgNC40Lgg0LIg0L/QvtGC0L7QutC1INC00LDQvdC90YvRhTog0L/RgNC4IDQwNCDQstGL0L/QvtC70L3Rj9C10YIg0YDQtdC00LjRgNC10LrRglxuICAgICAqINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiwg0L/RgNC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lwg0YDQvtC00LjRgtC10LvQtSDQuNC70Lgg0LjQvdC+0Lkg0L7RiNC40LHQutC1INGB0L7QvtCx0YnQsNC10YIg0LrQvtC0INGH0LXRgNC10Lcge0BsaW5rIG9uRXJyb3JDb2RlfS5cbiAgICAgKiDQntGI0LjQsdC60YMg0L3QtSDQv9GA0L7QsdGA0LDRgdGL0LLQsNC10YIgKNC30LDQstC10YDRiNCw0LXRgiDQv9C+0YLQvtC6IHtAbGluayBFTVBUWX0pLCDQv9C+0Y3RgtC+0LzRgyDQv9C+0YLQvtC6INC00LDQvdC90YvRhSDQvdC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZE9yU2x1ZyDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQuNC70Lggc2x1ZyDQvdC10LTQvtGB0YLRg9C/0L3QvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKiBAcGFyYW0gb25FcnJvckNvZGUg0JrQvtC70LHRjdC6INGD0YHRgtCw0L3QvtCy0LrQuCDQutC+0LTQsCDQvtGI0LjQsdC60LggKNC90LDQv9GA0LjQvNC10YAsINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGB0YLRgNCw0L3QuNGG0Ysg0L7RiNC40LHQutC4KS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFuZGxlVW5hdmFpbGFibGVDYXRlZ29yeSQ8VD4oY2F0ZWdvcnlJZE9yU2x1ZzogbnVtYmVyIHwgc3RyaW5nLCBvbkVycm9yQ29kZTogKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVW5hdmFpbGFibGUkKCgpID0+IHRoaXMucmVkaXJlY3RUb0NhdGVnb3J5UGFyZW50JChjYXRlZ29yeUlkT3JTbHVnKSwgb25FcnJvckNvZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0L/QtdGA0LDRgtC+0YAg0YPRgdGC0L7QudGH0LjQstC+0Lkg0L7QsdGA0LDQsdC+0YLQutC4INC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviAoSFRUUC3QvtGI0LjQsdC60LApINGC0L7QstCw0YDQsCDQsiDQv9C+0YLQvtC60LUg0LTQsNC90L3Ri9GFOiDQv9GA0LggNDA0INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCXG4gICAgICog0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOINGC0L7QstCw0YDQsCwg0L/RgNC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lwg0YDQvtC00LjRgtC10LvQtSDQuNC70Lgg0LjQvdC+0Lkg0L7RiNC40LHQutC1INGB0L7QvtCx0YnQsNC10YIg0LrQvtC0INGH0LXRgNC10Lcge0BsaW5rIG9uRXJyb3JDb2RlfS5cbiAgICAgKiDQntGI0LjQsdC60YMg0L3QtSDQv9GA0L7QsdGA0LDRgdGL0LLQsNC10YIgKNC30LDQstC10YDRiNCw0LXRgiDQv9C+0YLQvtC6IHtAbGluayBFTVBUWX0pLCDQv9C+0Y3RgtC+0LzRgyDQv9C+0YLQvtC6INC00LDQvdC90YvRhSDQvdC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdElkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0LPQviDRgtC+0LLQsNGA0LAuXG4gICAgICogQHBhcmFtIG9uRXJyb3JDb2RlINCa0L7Qu9Cx0Y3QuiDRg9GB0YLQsNC90L7QstC60Lgg0LrQvtC00LAg0L7RiNC40LHQutC4ICjQvdCw0L/RgNC40LzQtdGALCDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDRgdGC0YDQsNC90LjRhtGLINC+0YjQuNCx0LrQuCkuXG4gICAgICovXG4gICAgcHVibGljIGhhbmRsZVVuYXZhaWxhYmxlUHJvZHVjdCQ8VD4ocHJvZHVjdElkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcsIG9uRXJyb3JDb2RlOiAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVVbmF2YWlsYWJsZSQoKCkgPT4gdGhpcy5yZWRpcmVjdFRvUHJvZHVjdFBhcmVudCQocHJvZHVjdElkT3JTbHVnKSwgb25FcnJvckNvZGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCR0LDQt9C+0LLRi9C5INC+0L/QtdGA0LDRgtC+0YAg0YPRgdGC0L7QudGH0LjQstC+0Lkg0L7QsdGA0LDQsdC+0YLQutC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0YHRg9GJ0L3QvtGB0YLQuDog0L/RgNC4IDQwNCDigJQg0YDQtdC00LjRgNC10LrRgiDQvdCwINGA0L7QtNC40YLQtdC70Y8gKNGH0LXRgNC10Lcge0BsaW5rIHJlZGlyZWN0VG9QYXJlbnQkfSksXG4gICAgICog0L/RgNC4INC90LXQtNC+0YHRgtGD0L/QvdC+0Lwg0YDQvtC00LjRgtC10LvQtSDQuNC70Lgg0LjQvdC+0Lwge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSDigJQge0BsaW5rIG9uRXJyb3JDb2RlfSDRgSDQutC+0LTQvtC8INC+0YLQstC10YLQsDsg0LLRgdC10LPQtNCwIHtAbGluayBFTVBUWX0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVkaXJlY3RUb1BhcmVudCQg0KTQsNCx0YDQuNC60LAg0L/QvtGC0L7QutCwINGA0LXQtNC40YDQtdC60YLQsCDQvdCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4uXG4gICAgICogQHBhcmFtIG9uRXJyb3JDb2RlINCa0L7Qu9Cx0Y3QuiDRg9GB0YLQsNC90L7QstC60Lgg0LrQvtC00LAg0L7RiNC40LHQutC4LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gICAgcHJpdmF0ZSBoYW5kbGVVbmF2YWlsYWJsZSQ8VD4ocmVkaXJlY3RUb1BhcmVudCQ6ICgpID0+IE9ic2VydmFibGU8bmV2ZXI+LCBvbkVycm9yQ29kZTogKHN0YXR1czogbnVtYmVyKSA9PiB2b2lkKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgICAgICAgcmV0dXJuIChzb3VyY2UkKSA9PlxuICAgICAgICAgICAgc291cmNlJC5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVkaXJlY3RUb1BhcmVudCQoKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKHJlZGlyZWN0RXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0RXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvckNvZGUocmVkaXJlY3RFcnJvci5zdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3JDb2RlKGVycm9yLnN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0L3QsCDQv9C+0LvRg9GH0LXQvdC90YPRjiDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmVudENhdGVnb3J5JCDQn9C+0YLQvtC6INGBINC00LDQvdC90YvQvNC4INGA0L7QtNC40YLQtdC70YzRgdC60L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICogQHJldHVybnMg0J/QvtGC0L7Quiwg0LfQsNCy0LXRgNGI0LDRjtGJ0LjQudGB0Y8g0L/QvtGB0LvQtSDRgNC10LTQuNGA0LXQutGC0LAuINCt0LzQuNGC0LjRgiDQvtGI0LjQsdC60YMge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSDRgSDQutC+0LTQvtC8IDQwNCwg0LXRgdC70Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVkaXJlY3RUb1BhcmVudENhdGVnb3J5JChwYXJlbnRDYXRlZ29yeSQ6IE9ic2VydmFibGU8U2NJUGFyZW50Q2F0ZWdvcnlSZWRpcmVjdD4pOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIHJldHVybiBwYXJlbnRDYXRlZ29yeSQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocGFyZW50Q2F0ZWdvcnkpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VjdXJpdHkvZGV0ZWN0LW9iamVjdC1pbmplY3Rpb25cbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBwYXJlbnRDYXRlZ29yeVt0aGlzLmlkT3JTbHVnXTtcblxuICAgICAgICAgICAgICAgIC8vINCg0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsCDigJQg0L7RgtC+0LHRgNCw0LbQsNC10Lwg0YHRgtGA0LDQvdC40YbRgyDQvtGI0LjQsdC60LguXG4gICAgICAgICAgICAgICAgaWYgKCF0dWlJc1ByZXNlbnQodGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoeyBzdGF0dXM6IDQwNCB9KSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycvY2F0YWxvZycsIHRhcmdldF0pO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0VXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8g0KHQutGA0YvRgtGL0LUg0LrQsNGC0LXQs9C+0YDQuNGPINC40LvQuCDRgtC+0LLQsNGAINC80L7Qs9GD0YIg0YHQvdC+0LLQsCDRgdGC0LDRgtGMINC00L7RgdGC0YPQv9C90YvQvNC4LCDQv9C+0Y3RgtC+0LzRgyDRgNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjyDQstGA0LXQvNC10L3QvdGL0LkuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNldFNlcnZlclJlZGlyZWN0KHRhcmdldFVybCwgU2NSZWRpcmVjdFN0YXR1c0VudW0uVGVtcG9yYXJ5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU1NSINCx0LXQtyBSRVNQT05TRSAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBuZyBzZXJ2ZSk6INGB0LXRgNCy0LXRgNC90YvQuSDRgNC10LTQuNGA0LXQutGCINC90LXQstC+0LfQvNC+0LbQtdC9LFxuICAgICAgICAgICAgICAgICAgICAvLyDQv9C+0Y3RgtC+0LzRgyDQvtGC0L7QsdGA0LDQttCw0LXQvCDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuCwg0LrQsNC6INC00L4g0LLQvdC10LTRgNC10L3QuNGPINGA0LXQtNC40YDQtdC60YLQsCwg0LLQvNC10YHRgtC+INCx0LXRgdC60L7QvdC10YfQvdC+0LPQviDQu9C+0LDQtNC10YDQsC5cbiAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgLy8gQW5ndWxhciAyMSAo0LzQuNCz0YDQsNGG0LjRjyBTU1IpOiDRjdGC0L7RgiDRhNC+0LvQsdGN0Log0L3Rg9C20LXQvSwg0L/QvtC60LAgbmcgc2VydmUg0L3QtSDQuNGB0L/QvtC70L3Rj9C10YIgc2VydmVyLnRzICjQvtC9INC90LAgQ29tbW9uRW5naW5lKS5cbiAgICAgICAgICAgICAgICAgICAgLy8g0J/QvtGB0LvQtSDQvNC40LPRgNCw0YbQuNC4IHNlcnZlci50cyDQvdCwIGNyZWF0ZU5vZGVSZXF1ZXN0SGFuZGxlciBkZXYt0YHQtdGA0LLQtdGAINC90LDRh9C90ZHRgiDQuNGB0L/QvtC70L3Rj9GC0Ywgc2VydmVyLnRzLCDQuCBSRVNQT05TRS9SRVNQT05TRV9JTklUXG4gICAgICAgICAgICAgICAgICAgIC8vINGB0YLQsNC90LXRgiDQtNC+0YHRgtGD0L/QtdC9INCyIG5nIHNlcnZlIOKAlCDRgtC+0LPQtNCwINGN0YLRgyDQstC10YLQutGDINGBIHRocm93RXJyb3IoNDA0KSDQvNC+0LbQvdC+INGD0LTQsNC70LjRgtGMLlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoeyBzdGF0dXM6IDQwNCB9KSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8g0JHRgNCw0YPQt9C10YA6INC/0L7RgtC+0Log0LTQsNC90L3Ri9GFINC60LDRgtC10LPQvtGA0LjQuCAoU0NfQ0FURUdPUllfSU5GTykg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjyDQvtGI0LjQsdC60L7QuSDQv9GA0LggNDA0INC4INC90LUg0LLQvtC30L7QsdC90L7QstC70Y/QtdGC0YHRj1xuICAgICAgICAgICAgICAgIC8vINC/0YDQuCDQvdCw0LLQuNCz0LDRhtC40Lgg0LIg0YDQsNC80LrQsNGFINGC0L7Qs9C+INC20LUg0LzQsNGA0YjRgNGD0YLQsCwg0L/QvtGN0YLQvtC80YMg0YDQtdC00LjRgNC10LrRgiDQstGL0L/QvtC70L3Rj9C10YLRgdGPINC/0L7Qu9C90L7QuSDQv9C10YDQtdC30LDQs9GA0YPQt9C60L7QuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAgICAgICAgICAgIC8vIGxvY2F0aW9uLnJlcGxhY2Ug0L3QtSDQtNC+0LHQsNCy0LvRj9C10YIg0LfQsNC/0LjRgdGMINCyINC40YHRgtC+0YDQuNGOLCDRh9GC0L7QsdGLINC60L3QvtC/0LrQsCDCq9Cd0LDQt9Cw0LTCuyDQvdC1INCy0L7Qt9Cy0YDQsNGJ0LDQu9CwINC90LAg0L3QtdC00L7RgdGC0YPQv9C90YPRjiDRgdGC0YDQsNC90LjRhtGDLlxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgLy8gQW5ndWxhciAyMSAo0LzQuNCz0YDQsNGG0LjRjyBTU1IpOiDRjdGC0YMg0YHRgtGA0L7QutGDINCw0L/Qs9GA0LXQudC0INCd0JUg0YHQvdC40LzQsNC10YIg4oCUINC/0YDQuNGH0LjQvdCwINCyINGA0LDQvdGC0LDQudC80LUg0L/RgNC40LvQvtC20LXQvdC40Y8gKNC80ZHRgNGC0LLRi9C5INC/0L7RgtC+0LpcbiAgICAgICAgICAgICAgICAvLyBTQ19DQVRFR09SWV9JTkZPINC/0YDQuCBTUEEt0L3QsNCy0LjQs9Cw0YbQuNC4KSwg0LAg0L3QtSDQsiBTU1IuINCS0LXRgNC90YPRgtGMIFNQQS3QvdCw0LLQuNCz0LDRhtC40Y4gKHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKSDQvNC+0LbQvdC+INGC0L7Qu9GM0LrQvlxuICAgICAgICAgICAgICAgIC8vINGB0LTQtdC70LDQsiBTQ19DQVRFR09SWV9JTkZPINGD0YHRgtC+0LnRh9C40LLRi9C8INC6IDQwNCAo0LvQvtCy0LjRgtGMINC+0YjQuNCx0LrRgyDQstC90YPRgtGA0Lggc3dpdGNoTWFwKSDQu9C40LHQviDRg9C90LXRgdGPINGA0LXQtNC40YDQtdC60YIg0LIgZ3VhcmQgKyBSZWRpcmVjdENvbW1hbmQuXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5sb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2F0YWxvZy1yZWRpcmVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXRhbG9nL3NlcnZpY2VzL3NjLWNhdGFsb2ctcmVkaXJlY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXdDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFIckM7UUFJSTs7V0FFRztRQUNjLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFM0Q7O1dBRUc7UUFDYyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDOztXQUVHO1FBQ2MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTNEOztXQUVHO1FBQ2MsK0JBQTBCLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFcEY7O1dBRUc7UUFDYyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlDOzs7Ozs7OztXQVFHO1FBQ2MsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVqRTs7V0FFRztRQUNjLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0F1S2hEO0lBcktHOzs7Ozs7O09BT0c7SUFDSCx3REFBd0Q7SUFDakQsc0JBQXNCLENBQUMsUUFBZ0MsRUFBRSxTQUErQixvQkFBb0IsQ0FBQyxTQUFTO1FBQ3pILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLDBCQUEwQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEgsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLE1BQTRCO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELDRHQUE0RztRQUM1RywwRkFBMEY7UUFDMUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHlCQUF5QixDQUFDLGdCQUFpQztRQUM5RCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSx3QkFBd0IsQ0FBQyxlQUFnQztRQUM1RCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSwwQkFBMEIsQ0FBSSxnQkFBaUMsRUFBRSxXQUFxQztRQUN6RyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHlCQUF5QixDQUFJLGVBQWdDLEVBQUUsV0FBcUM7UUFDdkcsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrREFBa0Q7SUFDMUMsa0JBQWtCLENBQUksaUJBQTBDLEVBQUUsV0FBcUM7UUFDM0csT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2YsT0FBTyxDQUFDLElBQUksQ0FDUixVQUFVLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUMxQixJQUFJLEtBQUssWUFBWSxpQkFBaUIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUM3RCxPQUFPLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUMzQixVQUFVLENBQUMsQ0FBQyxhQUFzQixFQUFFLEVBQUU7b0JBQ2xDLElBQUksYUFBYSxZQUFZLGlCQUFpQixFQUFFLENBQUM7d0JBQzdDLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RDLENBQUM7b0JBRUQsT0FBTyxLQUFLLENBQUM7Z0JBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7WUFDTixDQUFDO1lBRUQsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztnQkFDckMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHlCQUF5QixDQUFDLGVBQXNEO1FBQ3BGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FDdkIsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDekIsNERBQTREO1lBQzVELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFN0Msa0VBQWtFO1lBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFcEQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLG9HQUFvRztnQkFDcEcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO2dCQUVELG1GQUFtRjtnQkFDbkYsK0ZBQStGO2dCQUMvRixFQUFFO2dCQUNGLDJHQUEyRztnQkFDM0csdUhBQXVIO2dCQUN2SCxnRkFBZ0Y7Z0JBQ2hGLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFRCxxR0FBcUc7WUFDckcsdUdBQXVHO1lBQ3ZHLDhHQUE4RztZQUM5RyxFQUFFO1lBQ0YsMEdBQTBHO1lBQzFHLDZHQUE2RztZQUM3RywySEFBMkg7WUFDM0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTFDLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQTlNUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0dWlJc1ByZXNlbnQgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIEVNUFRZLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY1JlZGlyZWN0U3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtcy9yZWRpcmVjdC1zdGF0dXMtZW51bSc7XG5pbXBvcnQgeyBJU19TRVJWRVIsIFJFU1BPTlNFIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU0NfQ0FOT05JQ0FMX1JFRElSRUNUX0VOQUJMRUQgfSBmcm9tICcuLi8uLi90b2tlbnMvc2MtY2Fub25pY2FsLXJlZGlyZWN0LWVuYWJsZWQnO1xuaW1wb3J0IHsgU0NfSURfT1JfU0xVR19JTl9ST1VURSB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy1pZC1vci1zbHVnLWluLXJvdXRlJztcbmltcG9ydCB7IFNjSVBhcmVudENhdGVnb3J5UmVkaXJlY3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLWktcGFyZW50LWNhdGVnb3J5LXJlZGlyZWN0JztcbmltcG9ydCB7IFNjQ2F0YWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NjLWNhdGFsb2cuc2VydmljZSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINGA0LXQtNC40YDQtdC60YLQvtCyINC60LDRgtCw0LvQvtCz0LA6INC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRjiDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7RgdGC0LggKEhUVFAgNDA0KSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuFxuICog0Lgg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuCAo0YHQvC4ge0BsaW5rIHJlZGlyZWN0VG9DYW5vbmljYWxVcmx9KS5cbiAqXG4gKiDQoNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRji5cbiAqXG4gKiDQl9Cw0L/RgNCw0YjQuNCy0LDQtdGCINGDINCx0Y3QutC10L3QtNCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0L3QtdC00L7RgdGC0YPQv9C90L7QuSDRgdGD0YnQvdC+0YHRgtC4INC4INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCOlxuICogLSDQvdCwINGB0LXRgNCy0LXRgNC1IChTU1IpINC/0YDQuCDQtNC+0YHRgtGD0L/QvdC+0Lwge0BsaW5rIFJFU1BPTlNFfSDigJQg0LLRi9GB0YLQsNCy0LvRj9C10YIgSFRUUC3RgdGC0LDRgtGD0YEgMzAyINC4INC30LDQs9C+0LvQvtCy0L7QuiBgTG9jYXRpb25gINC00LvRjyDQutC+0YDRgNC10LrRgtC90L7Qs9C+INGA0LXQtNC40YDQtdC60YLQsCDQv9C+0LjRgdC60L7QstGL0YUg0LHQvtGC0L7QsjtcbiAqIC0g0L3QsCDRgdC10YDQstC10YDQtSDQsdC10Lcge0BsaW5rIFJFU1BPTlNFfSAo0L3QsNC/0YDQuNC80LXRgCwgZGV2LdGB0LXRgNCy0LXRgCBgbmcgc2VydmVgKSDigJQg0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Log0L7RiNC40LHQutC+0LkgNDA0LCDRh9GC0L7QsdGLINC+0YLQvtCx0YDQsNC30LjQu9Cw0YHRjCDRgdGC0YDQsNC90LjRhtCwINC+0YjQuNCx0LrQuDtcbiAqIC0g0LIg0LHRgNCw0YPQt9C10YDQtSDigJQg0LLRi9C/0L7Qu9C90Y/QtdGCINC/0L7Qu9C90YPRjiDQvdCw0LLQuNCz0LDRhtC40Y4g0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLlxuICpcbiAqINCV0YHQu9C4INGA0L7QtNC40YLQtdC70YzRgdC60LDRjyDQutCw0YLQtdCz0L7RgNC40Y8g0L3QtSDQvdCw0LnQtNC10L3QsCwg0L/QvtGC0L7QuiDRgtCw0LrQttC1INC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L7RiNC40LHQutC+0Lkge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSxcbiAqINGH0YLQvtCx0Ysg0LLRi9C30YvQstCw0Y7RidC40Lkg0LrQvtC0INC+0YLQvtCx0YDQsNC30LjQuyDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXRhbG9nUmVkaXJlY3RTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutCw0YLQsNC70L7Qs9C+0LwuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXRhbG9nU2VydmljZSA9IGluamVjdChTY0NhdGFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQvNCw0YDRiNGA0YPRgtC40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQsCDQuNC70Lggc2x1ZyDQsiDQvNCw0YDRiNGA0YPRgtCw0YUg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRPclNsdWcgPSBpbmplY3QoU0NfSURfT1JfU0xVR19JTl9ST1VURSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INCy0LrQu9GO0YfRkdC9INC/0L7RgdGC0L7Rj9C90L3Ri9C5INGA0LXQtNC40YDQtdC60YIg0L3QsCDQutCw0L3QvtC90LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDRgtC+0LLQsNGA0LAg0LjQu9C4INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQ2Fub25pY2FsUmVkaXJlY3RFbmFibGVkID0gaW5qZWN0KFNDX0NBTk9OSUNBTF9SRURJUkVDVF9FTkFCTEVEKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YLQtdC60YPRidC40Lkg0YHQutGA0LjQv9GCINC40YHQv9C+0LvQvdGP0LXRgtGB0Y8g0L3QsCDRgdC10YDQstC10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzU2VydmVyID0gaW5qZWN0KElTX1NFUlZFUik7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0L3QvdGL0LUg0L7QsSDQvtGC0LLQtdGC0LUg0L3QsCDQt9Cw0L/RgNC+0YEgKNC00L7RgdGC0YPQv9C90Ysg0YLQvtC70YzQutC+INC90LAg0YHQtdGA0LLQtdGA0LUg0L/RgNC4IFNTUikuXG4gICAgICpcbiAgICAgKiBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6IHtAbGluayBSRVNQT05TRX0g4oCUINC60LDRgdGC0L7QvNC90YvQuSBFeHByZXNzLdGC0L7QutC10L0sINC60L7RgtC+0YDRi9C5INC/0YDQvtCy0LDQudC00LjRgtGB0Y8g0LIgYHNlcnZlci50c2BcbiAgICAgKiDRh9C10YDQtdC3IENvbW1vbkVuZ2luZS4g0J3QsCB1cGdyYWRlLdCy0LXRgtC60LUgYHNlcnZlci50c2Ag0L7RgdGC0LDQu9GB0Y8g0L3QsCBDb21tb25FbmdpbmUsINC/0L7RjdGC0L7QvNGDINC/0YDQuCDRgdC70LjRj9C90LjQuCDQt9C00LXRgdGMXG4gICAgICog0L3QuNGH0LXQs9C+INC80LXQvdGP0YLRjCDQvdC1INC90YPQttC90L4uINCV0YHQu9C4IGBzZXJ2ZXIudHNgINC80LjQs9GA0LjRgNGD0Y7RgiDQvdCwIGBBbmd1bGFyTm9kZUFwcEVuZ2luZWAgKyBgY3JlYXRlTm9kZVJlcXVlc3RIYW5kbGVyYCxcbiAgICAgKiDQt9Cw0LzQtdC90LjRgtC1IHtAbGluayBSRVNQT05TRX0g0L3QsCDQvdCw0YLQuNCy0L3Ri9C5IGBSRVNQT05TRV9JTklUYCAoYEluamVjdGlvblRva2VuPFJlc3BvbnNlSW5pdCB8IG51bGw+YCDQuNC3IGBAYW5ndWxhci9jb3JlYCk7XG4gICAgICog0YHQvC4g0YHQtdGA0LLQtdGA0L3Ri9C1INCy0LXRgtC60Lgg0LIge0BsaW5rIHJlZGlyZWN0VG9QYXJlbnRDYXRlZ29yeSR9INC4IHtAbGluayByZWRpcmVjdFRvQ2Fub25pY2FsVXJsfS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlID0gaW5qZWN0KFJFU1BPTlNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICog0JTQvtC60YPQvNC10L3RgiDRgtC10LrRg9GJ0LXQuSDRgdGC0YDQsNC90LjRhtGLLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YDQtdC30YPQu9GM0YLQsNGCINGB0YLRgNCw0LbQsCDQvNCw0YDRiNGA0YPRgtCwINC00LvRjyDQv9C10YDQtdGF0L7QtNCwINC90LAg0LrQsNC90L7QvdC40YfQtdGB0LrQuNC5INCw0LTRgNC10YEg0YLQvtCy0LDRgNCwINC40LvQuCDQutCw0YLQtdCz0L7RgNC40LhcbiAgICAgKiAo0LDQtNGA0LXRgSDRgdC+IHNsdWcg0LvQuNCx0L4g0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8IOKAlCDQsiDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4INC+0YIg0L3QsNGB0YLRgNC+0LXQuiDQvtC60YDRg9C20LXQvdC40Y8pLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbW1hbmRzINCh0LXQs9C80LXQvdGC0Ysg0LrQsNC90L7QvdC40YfQtdGB0LrQvtCz0L4g0LzQsNGA0YjRgNGD0YLQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzINCh0YLQsNGC0YPRgSDRgNC10LTQuNGA0LXQutGC0LA6INCy0LjQtCDQsNC00YDQtdGB0LAg0LfQsNC00LDRkdGC0YHRjyDQvdCw0YHRgtGA0L7QudC60LDQvNC4INC+0LrRgNGD0LbQtdC90LjRjyDQuCDQvNC+0LbQtdGCINCx0YvRgtGMINC40LfQvNC10L3RkdC9LCDQv9C+0Y3RgtC+0LzRgyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQstGA0LXQvNC10L3QvdGL0LkuXG4gICAgICogQHJldHVybnMg0JTQtdGA0LXQstC+INC60LDQvdC+0L3QuNGH0LXRgdC60L7Qs9C+INC80LDRgNGI0YDRg9GC0LAg0LTQu9GPINC90LDQstC40LPQsNGG0LjQuCDQu9C40LHQviBgZmFsc2VgLCDQtdGB0LvQuCDRgNC10LTQuNGA0LXQutGCINCy0YvQv9C+0LvQvdC10L0g0L7RgtCy0LXRgtC+0Lwg0YHQtdGA0LLQtdGA0LAuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvZnVuY3Rpb24tcmV0dXJuLXR5cGVcbiAgICBwdWJsaWMgcmVkaXJlY3RUb0Nhbm9uaWNhbFVybChjb21tYW5kczogQXJyYXk8bnVtYmVyIHwgc3RyaW5nPiwgc3RhdHVzOiBTY1JlZGlyZWN0U3RhdHVzRW51bSA9IFNjUmVkaXJlY3RTdGF0dXNFbnVtLlRlbXBvcmFyeSk6IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoY29tbWFuZHMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzQ2Fub25pY2FsUmVkaXJlY3RFbmFibGVkICYmIHRoaXMuaXNTZXJ2ZXIgJiYgdGhpcy5zZXRTZXJ2ZXJSZWRpcmVjdCh0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSksIHN0YXR1cykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxUcmVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0YvRgdGC0LDQstC70Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0LIg0L7RgtCy0LXRgtC1INGB0LXRgNCy0LXRgNCwIChTU1IpLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldFVybCDQkNC00YDQtdGBLCDQvdCwINC60L7RgtC+0YDRi9C5INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0YDQtdC00LjRgNC10LrRgi5cbiAgICAgKiBAcGFyYW0gc3RhdHVzINCh0YLQsNGC0YPRgSDRgNC10LTQuNGA0LXQutGC0LAuXG4gICAgICogQHJldHVybnMg0J/RgNC40LfQvdCw0LosINGH0YLQviDRgNC10LTQuNGA0LXQutGCINCy0YvRgdGC0LDQstC70LXQvTsgYGZhbHNlYCwg0LXRgdC70Lgg0LTQsNC90L3Ri9C1INC+0LEg0L7RgtCy0LXRgtC1INC90LXQtNC+0YHRgtGD0L/QvdGLICjQvdCw0L/RgNC40LzQtdGALCBkZXYt0YHQtdGA0LLQtdGAIGBuZyBzZXJ2ZWApLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0U2VydmVyUmVkaXJlY3QodGFyZ2V0VXJsOiBzdHJpbmcsIHN0YXR1czogU2NSZWRpcmVjdFN0YXR1c0VudW0pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc3BvbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6INC/0YDQuCDQv9C10YDQtdGF0L7QtNC1IHNlcnZlci50cyDQvdCwIEFuZ3VsYXJOb2RlQXBwRW5naW5lINGB0YLQsNGC0YPRgSDQuCDQt9Cw0LPQvtC70L7QstC+0Log0LLRi9GB0YLQsNCy0LvRj9GO0YLRgdGPXG4gICAgICAgIC8vINGH0LXRgNC10Lcg0L3QsNGC0LjQstC90YvQuSBSRVNQT05TRV9JTklUINCy0LzQtdGB0YLQviBFeHByZXNzLdC80LXRgtC+0LTQvtCyIHJlc3BvbnNlLnNldEhlYWRlci9yZXNwb25zZS5zdGF0dXMuXG4gICAgICAgIHRoaXMucmVzcG9uc2Uuc2V0SGVhZGVyKCdMb2NhdGlvbicsIHRhcmdldFVybCk7XG4gICAgICAgIHRoaXMucmVzcG9uc2Uuc3RhdHVzKHN0YXR1cyk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YIg0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOINC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGVnb3J5SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0L3QtdC00L7RgdGC0YPQv9C90L7QuSDQutCw0YLQtdCz0L7RgNC40LguXG4gICAgICogQHJldHVybnMg0J/QvtGC0L7Quiwg0LfQsNCy0LXRgNGI0LDRjtGJ0LjQudGB0Y8g0L/QvtGB0LvQtSDRgNC10LTQuNGA0LXQutGC0LAuINCt0LzQuNGC0LjRgiDQvtGI0LjQsdC60YMge0BsaW5rIEh0dHBFcnJvclJlc3BvbnNlfSwg0LXRgdC70Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWRpcmVjdFRvQ2F0ZWdvcnlQYXJlbnQkKGNhdGVnb3J5SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RUb1BhcmVudENhdGVnb3J5JCh0aGlzLmNhdGFsb2dTZXJ2aWNlLmdldENhdGVnb3J5UGFyZW50Q2F0ZWdvcnkkKGNhdGVnb3J5SWRPclNsdWcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0YDQtdC00LjRgNC10LrRgiDQvdCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+INGC0L7QstCw0YDQsC5cbiAgICAgKiBAcmV0dXJucyDQn9C+0YLQvtC6LCDQt9Cw0LLQtdGA0YjQsNGO0YnQuNC50YHRjyDQv9C+0YHQu9C1INGA0LXQtNC40YDQtdC60YLQsC4g0K3QvNC40YLQuNGCINC+0YjQuNCx0LrRgyB7QGxpbmsgSHR0cEVycm9yUmVzcG9uc2V9LCDQtdGB0LvQuCDRgNC+0LTQuNGC0LXQu9GM0YHQutCw0Y8g0LrQsNGC0LXQs9C+0YDQuNGPINC90LUg0L3QsNC50LTQtdC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlZGlyZWN0VG9Qcm9kdWN0UGFyZW50JChwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZyk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RUb1BhcmVudENhdGVnb3J5JCh0aGlzLmNhdGFsb2dTZXJ2aWNlLmdldFByb2R1Y3RQYXJlbnRDYXRlZ29yeSQocHJvZHVjdElkT3JTbHVnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7Qv9C10YDQsNGC0L7RgCDRg9GB0YLQvtC50YfQuNCy0L7QuSDQvtCx0YDQsNCx0L7RgtC60Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QuSAoSFRUUC3QvtGI0LjQsdC60LApINC60LDRgtC10LPQvtGA0LjQuCDQsiDQv9C+0YLQvtC60LUg0LTQsNC90L3Ri9GFOiDQv9GA0LggNDA0INCy0YvQv9C+0LvQvdGP0LXRgiDRgNC10LTQuNGA0LXQutGCXG4gICAgICog0L3QsCDRgNC+0LTQuNGC0LXQu9GM0YHQutGD0Y4g0LrQsNGC0LXQs9C+0YDQuNGOLCDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QvCDRgNC+0LTQuNGC0LXQu9C1INC40LvQuCDQuNC90L7QuSDQvtGI0LjQsdC60LUg0YHQvtC+0LHRidCw0LXRgiDQutC+0LQg0YfQtdGA0LXQtyB7QGxpbmsgb25FcnJvckNvZGV9LlxuICAgICAqINCe0YjQuNCx0LrRgyDQvdC1INC/0YDQvtCx0YDQsNGB0YvQstCw0LXRgiAo0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Loge0BsaW5rIEVNUFRZfSksINC/0L7RjdGC0L7QvNGDINC/0L7RgtC+0Log0LTQsNC90L3Ri9GFINC90LUg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjyDQvtGI0LjQsdC60L7QuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkT3JTbHVnINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC40LvQuCBzbHVnINC90LXQtNC+0YHRgtGD0L/QvdC+0Lkg0LrQsNGC0LXQs9C+0YDQuNC4LlxuICAgICAqIEBwYXJhbSBvbkVycm9yQ29kZSDQmtC+0LvQsdGN0Log0YPRgdGC0LDQvdC+0LLQutC4INC60L7QtNCwINC+0YjQuNCx0LrQuCAo0L3QsNC/0YDQuNC80LXRgCwg0LTQu9GPINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0YHRgtGA0LDQvdC40YbRiyDQvtGI0LjQsdC60LgpLlxuICAgICAqL1xuICAgIHB1YmxpYyBoYW5kbGVVbmF2YWlsYWJsZUNhdGVnb3J5JDxUPihjYXRlZ29yeUlkT3JTbHVnOiBudW1iZXIgfCBzdHJpbmcsIG9uRXJyb3JDb2RlOiAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVVbmF2YWlsYWJsZSQoKCkgPT4gdGhpcy5yZWRpcmVjdFRvQ2F0ZWdvcnlQYXJlbnQkKGNhdGVnb3J5SWRPclNsdWcpLCBvbkVycm9yQ29kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7Qv9C10YDQsNGC0L7RgCDRg9GB0YLQvtC50YfQuNCy0L7QuSDQvtCx0YDQsNCx0L7RgtC60Lgg0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+IChIVFRQLdC+0YjQuNCx0LrQsCkg0YLQvtCy0LDRgNCwINCyINC/0L7RgtC+0LrQtSDQtNCw0L3QvdGL0YU6INC/0YDQuCA0MDQg0LLRi9C/0L7Qu9C90Y/QtdGCINGA0LXQtNC40YDQtdC60YJcbiAgICAgKiDQvdCwINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4g0YLQvtCy0LDRgNCwLCDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QvCDRgNC+0LTQuNGC0LXQu9C1INC40LvQuCDQuNC90L7QuSDQvtGI0LjQsdC60LUg0YHQvtC+0LHRidCw0LXRgiDQutC+0LQg0YfQtdGA0LXQtyB7QGxpbmsgb25FcnJvckNvZGV9LlxuICAgICAqINCe0YjQuNCx0LrRgyDQvdC1INC/0YDQvtCx0YDQsNGB0YvQstCw0LXRgiAo0LfQsNCy0LXRgNGI0LDQtdGCINC/0L7RgtC+0Loge0BsaW5rIEVNUFRZfSksINC/0L7RjdGC0L7QvNGDINC/0L7RgtC+0Log0LTQsNC90L3Ri9GFINC90LUg0LfQsNCy0LXRgNGI0LDQtdGC0YHRjyDQvtGI0LjQsdC60L7QuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0SWRPclNsdWcg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LjQu9C4IHNsdWcg0L3QtdC00L7RgdGC0YPQv9C90L7Qs9C+INGC0L7QstCw0YDQsC5cbiAgICAgKiBAcGFyYW0gb25FcnJvckNvZGUg0JrQvtC70LHRjdC6INGD0YHRgtCw0L3QvtCy0LrQuCDQutC+0LTQsCDQvtGI0LjQsdC60LggKNC90LDQv9GA0LjQvNC10YAsINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGB0YLRgNCw0L3QuNGG0Ysg0L7RiNC40LHQutC4KS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFuZGxlVW5hdmFpbGFibGVQcm9kdWN0JDxUPihwcm9kdWN0SWRPclNsdWc6IG51bWJlciB8IHN0cmluZywgb25FcnJvckNvZGU6IChzdGF0dXM6IG51bWJlcikgPT4gdm9pZCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVVuYXZhaWxhYmxlJCgoKSA9PiB0aGlzLnJlZGlyZWN0VG9Qcm9kdWN0UGFyZW50JChwcm9kdWN0SWRPclNsdWcpLCBvbkVycm9yQ29kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JHQsNC30L7QstGL0Lkg0L7Qv9C10YDQsNGC0L7RgCDRg9GB0YLQvtC50YfQuNCy0L7QuSDQvtCx0YDQsNCx0L7RgtC60Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QuSDRgdGD0YnQvdC+0YHRgtC4OiDQv9GA0LggNDA0IOKAlCDRgNC10LTQuNGA0LXQutGCINC90LAg0YDQvtC00LjRgtC10LvRjyAo0YfQtdGA0LXQtyB7QGxpbmsgcmVkaXJlY3RUb1BhcmVudCR9KSxcbiAgICAgKiDQv9GA0Lgg0L3QtdC00L7RgdGC0YPQv9C90L7QvCDRgNC+0LTQuNGC0LXQu9C1INC40LvQuCDQuNC90L7QvCB7QGxpbmsgSHR0cEVycm9yUmVzcG9uc2V9IOKAlCB7QGxpbmsgb25FcnJvckNvZGV9INGBINC60L7QtNC+0Lwg0L7RgtCy0LXRgtCwOyDQstGB0LXQs9C00LAge0BsaW5rIEVNUFRZfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWRpcmVjdFRvUGFyZW50JCDQpNCw0LHRgNC40LrQsCDQv9C+0YLQvtC60LAg0YDQtdC00LjRgNC10LrRgtCwINC90LAg0YDQvtC00LjRgtC10LvRjNGB0LrRg9GOINC60LDRgtC10LPQvtGA0LjRji5cbiAgICAgKiBAcGFyYW0gb25FcnJvckNvZGUg0JrQvtC70LHRjdC6INGD0YHRgtCw0L3QvtCy0LrQuCDQutC+0LTQsCDQvtGI0LjQsdC60LguXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgICBwcml2YXRlIGhhbmRsZVVuYXZhaWxhYmxlJDxUPihyZWRpcmVjdFRvUGFyZW50JDogKCkgPT4gT2JzZXJ2YWJsZTxuZXZlcj4sIG9uRXJyb3JDb2RlOiAoc3RhdHVzOiBudW1iZXIpID0+IHZvaWQpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgICAgICByZXR1cm4gKHNvdXJjZSQpID0+XG4gICAgICAgICAgICBzb3VyY2UkLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWRpcmVjdFRvUGFyZW50JCgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigocmVkaXJlY3RFcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVkaXJlY3RFcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yQ29kZShyZWRpcmVjdEVycm9yLnN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvckNvZGUoZXJyb3Iuc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0YDQtdC00LjRgNC10LrRgiDQvdCwINC/0L7Qu9GD0YfQtdC90L3Rg9GOINGA0L7QtNC40YLQtdC70YzRgdC60YPRjiDQutCw0YLQtdCz0L7RgNC40Y4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFyZW50Q2F0ZWdvcnkkINCf0L7RgtC+0Log0YEg0LTQsNC90L3Ri9C80Lgg0YDQvtC00LjRgtC10LvRjNGB0LrQvtC5INC60LDRgtC10LPQvtGA0LjQuC5cbiAgICAgKiBAcmV0dXJucyDQn9C+0YLQvtC6LCDQt9Cw0LLQtdGA0YjQsNGO0YnQuNC50YHRjyDQv9C+0YHQu9C1INGA0LXQtNC40YDQtdC60YLQsC4g0K3QvNC40YLQuNGCINC+0YjQuNCx0LrRgyB7QGxpbmsgSHR0cEVycm9yUmVzcG9uc2V9INGBINC60L7QtNC+0LwgNDA0LCDQtdGB0LvQuCDRgNC+0LTQuNGC0LXQu9GM0YHQutCw0Y8g0LrQsNGC0LXQs9C+0YDQuNGPINC90LUg0L3QsNC50LTQtdC90LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWRpcmVjdFRvUGFyZW50Q2F0ZWdvcnkkKHBhcmVudENhdGVnb3J5JDogT2JzZXJ2YWJsZTxTY0lQYXJlbnRDYXRlZ29yeVJlZGlyZWN0Pik6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgcmV0dXJuIHBhcmVudENhdGVnb3J5JC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChwYXJlbnRDYXRlZ29yeSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHBhcmVudENhdGVnb3J5W3RoaXMuaWRPclNsdWddO1xuXG4gICAgICAgICAgICAgICAgLy8g0KDQvtC00LjRgtC10LvRjNGB0LrQsNGPINC60LDRgtC10LPQvtGA0LjRjyDQvdC1INC90LDQudC00LXQvdCwIOKAlCDQvtGC0L7QsdGA0LDQttCw0LXQvCDRgdGC0YDQsNC90LjRhtGDINC+0YjQuNCx0LrQuC5cbiAgICAgICAgICAgICAgICBpZiAoIXR1aUlzUHJlc2VudCh0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7IHN0YXR1czogNDA0IH0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy9jYXRhbG9nJywgdGFyZ2V0XSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRVcmwgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1NlcnZlcikge1xuICAgICAgICAgICAgICAgICAgICAvLyDQodC60YDRi9GC0YvQtSDQutCw0YLQtdCz0L7RgNC40Y8g0LjQu9C4INGC0L7QstCw0YAg0LzQvtCz0YPRgiDRgdC90L7QstCwINGB0YLQsNGC0Ywg0LTQvtGB0YLRg9C/0L3Ri9C80LgsINC/0L7RjdGC0L7QvNGDINGA0LXQtNC40YDQtdC60YIg0L3QsCDRgNC+0LTQuNGC0LXQu9GPINCy0YDQtdC80LXQvdC90YvQuS5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2V0U2VydmVyUmVkaXJlY3QodGFyZ2V0VXJsLCBTY1JlZGlyZWN0U3RhdHVzRW51bS5UZW1wb3JhcnkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBTU1Ig0LHQtdC3IFJFU1BPTlNFICjQvdCw0L/RgNC40LzQtdGALCBkZXYt0YHQtdGA0LLQtdGAIG5nIHNlcnZlKTog0YHQtdGA0LLQtdGA0L3Ri9C5INGA0LXQtNC40YDQtdC60YIg0L3QtdCy0L7Qt9C80L7QttC10L0sXG4gICAgICAgICAgICAgICAgICAgIC8vINC/0L7RjdGC0L7QvNGDINC+0YLQvtCx0YDQsNC20LDQtdC8INGB0YLRgNCw0L3QuNGG0YMg0L7RiNC40LHQutC4LCDQutCw0Log0LTQviDQstC90LXQtNGA0LXQvdC40Y8g0YDQtdC00LjRgNC10LrRgtCwLCDQstC80LXRgdGC0L4g0LHQtdGB0LrQvtC90LXRh9C90L7Qs9C+INC70L7QsNC00LXRgNCwLlxuICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAvLyBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6INGN0YLQvtGCINGE0L7Qu9Cx0Y3QuiDQvdGD0LbQtdC9LCDQv9C+0LrQsCBuZyBzZXJ2ZSDQvdC1INC40YHQv9C+0LvQvdGP0LXRgiBzZXJ2ZXIudHMgKNC+0L0g0L3QsCBDb21tb25FbmdpbmUpLlxuICAgICAgICAgICAgICAgICAgICAvLyDQn9C+0YHQu9C1INC80LjQs9GA0LDRhtC40Lggc2VydmVyLnRzINC90LAgY3JlYXRlTm9kZVJlcXVlc3RIYW5kbGVyIGRldi3RgdC10YDQstC10YAg0L3QsNGH0L3RkdGCINC40YHQv9C+0LvQvdGP0YLRjCBzZXJ2ZXIudHMsINC4IFJFU1BPTlNFL1JFU1BPTlNFX0lOSVRcbiAgICAgICAgICAgICAgICAgICAgLy8g0YHRgtCw0L3QtdGCINC00L7RgdGC0YPQv9C10L0g0LIgbmcgc2VydmUg4oCUINGC0L7Qs9C00LAg0Y3RgtGDINCy0LXRgtC60YMg0YEgdGhyb3dFcnJvcig0MDQpINC80L7QttC90L4g0YPQtNCw0LvQuNGC0YwuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7IHN0YXR1czogNDA0IH0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyDQkdGA0LDRg9C30LXRgDog0L/QvtGC0L7QuiDQtNCw0L3QvdGL0YUg0LrQsNGC0LXQs9C+0YDQuNC4IChTQ19DQVRFR09SWV9JTkZPKSDQt9Cw0LLQtdGA0YjQsNC10YLRgdGPINC+0YjQuNCx0LrQvtC5INC/0YDQuCA0MDQg0Lgg0L3QtSDQstC+0LfQvtCx0L3QvtCy0LvRj9C10YLRgdGPXG4gICAgICAgICAgICAgICAgLy8g0L/RgNC4INC90LDQstC40LPQsNGG0LjQuCDQsiDRgNCw0LzQutCw0YUg0YLQvtCz0L4g0LbQtSDQvNCw0YDRiNGA0YPRgtCwLCDQv9C+0Y3RgtC+0LzRgyDRgNC10LTQuNGA0LXQutGCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L/QvtC70L3QvtC5INC/0LXRgNC10LfQsNCz0YDRg9C30LrQvtC5INGB0YLRgNCw0L3QuNGG0YsuXG4gICAgICAgICAgICAgICAgLy8gbG9jYXRpb24ucmVwbGFjZSDQvdC1INC00L7QsdCw0LLQu9GP0LXRgiDQt9Cw0L/QuNGB0Ywg0LIg0LjRgdGC0L7RgNC40Y4sINGH0YLQvtCx0Ysg0LrQvdC+0L/QutCwIMKr0J3QsNC30LDQtMK7INC90LUg0LLQvtC30LLRgNCw0YnQsNC70LAg0L3QsCDQvdC10LTQvtGB0YLRg9C/0L3Rg9GOINGB0YLRgNCw0L3QuNGG0YMuXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAvLyBBbmd1bGFyIDIxICjQvNC40LPRgNCw0YbQuNGPIFNTUik6INGN0YLRgyDRgdGC0YDQvtC60YMg0LDQv9Cz0YDQtdC50LQg0J3QlSDRgdC90LjQvNCw0LXRgiDigJQg0L/RgNC40YfQuNC90LAg0LIg0YDQsNC90YLQsNC50LzQtSDQv9GA0LjQu9C+0LbQtdC90LjRjyAo0LzRkdGA0YLQstGL0Lkg0L/QvtGC0L7QulxuICAgICAgICAgICAgICAgIC8vIFNDX0NBVEVHT1JZX0lORk8g0L/RgNC4IFNQQS3QvdCw0LLQuNCz0LDRhtC40LgpLCDQsCDQvdC1INCyIFNTUi4g0JLQtdGA0L3Rg9GC0YwgU1BBLdC90LDQstC40LPQsNGG0LjRjiAocm91dGVyLm5hdmlnYXRlQnlVcmwpINC80L7QttC90L4g0YLQvtC70YzQutC+XG4gICAgICAgICAgICAgICAgLy8g0YHQtNC10LvQsNCyIFNDX0NBVEVHT1JZX0lORk8g0YPRgdGC0L7QudGH0LjQstGL0Lwg0LogNDA0ICjQu9C+0LLQuNGC0Ywg0L7RiNC40LHQutGDINCy0L3Rg9GC0YDQuCBzd2l0Y2hNYXApINC70LjQsdC+INGD0L3QtdGB0Y8g0YDQtdC00LjRgNC10LrRgiDQsiBndWFyZCArIFJlZGlyZWN0Q29tbWFuZC5cbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -3685,11 +3685,11 @@ class ScCatalogRedirectService {
|
|
|
3685
3685
|
* (адрес со slug либо с идентификатором — в зависимости от настроек окружения).
|
|
3686
3686
|
*
|
|
3687
3687
|
* @param commands Сегменты канонического маршрута.
|
|
3688
|
-
* @param status Статус редиректа:
|
|
3688
|
+
* @param status Статус редиректа: вид адреса задаётся настройками окружения и может быть изменён, поэтому по умолчанию временный.
|
|
3689
3689
|
* @returns Дерево канонического маршрута для навигации либо `false`, если редирект выполнен ответом сервера.
|
|
3690
3690
|
*/
|
|
3691
3691
|
// eslint-disable-next-line sonarjs/function-return-type
|
|
3692
|
-
redirectToCanonicalUrl(commands, status = ScRedirectStatusEnum.
|
|
3692
|
+
redirectToCanonicalUrl(commands, status = ScRedirectStatusEnum.Temporary) {
|
|
3693
3693
|
const urlTree = this.router.createUrlTree(commands);
|
|
3694
3694
|
if (this.isCanonicalRedirectEnabled && this.isServer && this.setServerRedirect(this.router.serializeUrl(urlTree), status)) {
|
|
3695
3695
|
return false;
|