Socket
Socket
Sign inDemoInstall

@angular/router

Package Overview
Dependencies
6
Maintainers
1
Versions
826
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.0-alpha.1 to 3.0.0-alpha.2

11

common_router_providers.js

@@ -34,5 +34,10 @@ "use strict";

var appRef = injector.get(core_1.ApplicationRef);
appRef.registerBootstrapListener(function (_) {
if (appRef.componentTypes.length == 0) {
appRef.registerBootstrapListener(function (_) {
injector.get(router_1.Router).initialNavigation();
});
}
else {
injector.get(router_1.Router).initialNavigation();
});
}
}, 0);

@@ -46,2 +51,2 @@ return function (_) { return null; };

exports.provideRouter = provideRouter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3JvdXRlcl9wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbW9uX3JvdXRlcl9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUErRCxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2pGLHFCQUEyRSxlQUFlLENBQUMsQ0FBQTtBQUczRix1QkFBcUIsVUFBVSxDQUFDLENBQUE7QUFDaEMsa0NBQThCLHFCQUFxQixDQUFDLENBQUE7QUFDcEQsNkJBQTZCLGdCQUFnQixDQUFDLENBQUE7QUFDOUMsK0JBQWtELGtCQUFrQixDQUFDLENBQUE7QUFxQnJFLHVCQUE4QixNQUFvQjtJQUNoRCxNQUFNLENBQUM7UUFDTCxpQkFBUTtRQUNSLEVBQUMsT0FBTyxFQUFFLHlCQUFnQixFQUFFLFFBQVEsRUFBRSw2QkFBb0IsRUFBQztRQUMzRCxFQUFDLE9BQU8sRUFBRSw4QkFBYSxFQUFFLFFBQVEsRUFBRSxxQ0FBb0IsRUFBQztRQUV4RDtZQUNFLE9BQU8sRUFBRSxlQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRO2dCQUN0RSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7Z0JBQy9FLENBQUM7Z0JBQ0QsSUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsSUFBTSxDQUFDLEdBQUcsSUFBSSxlQUFNLENBQ2hCLGFBQWEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRixHQUFHLENBQUMsdUJBQXVCLENBQUMsY0FBTSxPQUFBLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBWCxDQUFXLENBQUMsQ0FBQztnQkFDL0MsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUM7WUFDRCxJQUFJLEVBQ0EsQ0FBQyxxQkFBYyxFQUFFLHdCQUFpQixFQUFFLDhCQUFhLEVBQUUsbUNBQWUsRUFBRSxpQkFBUSxFQUFFLGVBQVEsQ0FBQztTQUM1RjtRQUVELG1DQUFlO1FBQ2YsRUFBQyxPQUFPLEVBQUUsNkJBQWMsRUFBRSxVQUFVLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBbEIsQ0FBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFNLENBQUMsRUFBQztRQUdoRjtZQUNFLE9BQU8sRUFBRSxzQkFBZTtZQUN4QixLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxVQUFDLFFBQVE7Z0JBSW5CLFVBQVUsQ0FBQyxVQUFBLENBQUM7b0JBQ1YsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBYyxDQUFDLENBQUM7b0JBQzVDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxVQUFDLENBQUM7d0JBQ2pDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBTSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtvQkFDMUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLElBQUksRUFBSixDQUFJLENBQUM7WUFDbkIsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLGVBQVEsQ0FBQztTQUNqQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBNUNlLHFCQUFhLGdCQTRDNUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb24sIExvY2F0aW9uU3RyYXRlZ3ksIFBhdGhMb2NhdGlvblN0cmF0ZWd5fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZXNvbHZlciwgSW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1JvdXRlckNvbmZpZ30gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJy4vcm91dGVyJztcbmltcG9ydCB7Um91dGVyT3V0bGV0TWFwfSBmcm9tICcuL3JvdXRlcl9vdXRsZXRfbWFwJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJy4vcm91dGVyX3N0YXRlJztcbmltcG9ydCB7RGVmYXVsdFVybFNlcmlhbGl6ZXIsIFVybFNlcmlhbGl6ZXJ9IGZyb20gJy4vdXJsX3NlcmlhbGl6ZXInO1xuXG5cbi8qKlxuICogQSBsaXN0IG9mIHtAbGluayBQcm92aWRlcn1zLiBUbyB1c2UgdGhlIHJvdXRlciwgeW91IG11c3QgYWRkIHRoaXMgdG8geW91ciBhcHBsaWNhdGlvbi5cbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIGBgYFxuICogQENvbXBvbmVudCh7ZGlyZWN0aXZlczogW1JPVVRFUl9ESVJFQ1RJVkVTXX0pXG4gKiBjbGFzcyBBcHBDbXAge1xuICogICAvLyAuLi5cbiAqIH1cbiAqXG4gKiBjb25zdCByb3V0ZXIgPSBbXG4gKiAgIHtwYXRoOiAnL2hvbWUnLCBjb21wb25lbnQ6IEhvbWV9XG4gKiBdO1xuICpcbiAqIGJvb3RzdHJhcChBcHBDbXAsIFtwcm92aWRlUm91dGVyKHJvdXRlcildKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVJvdXRlcihjb25maWc6IFJvdXRlckNvbmZpZyk6IGFueVtdIHtcbiAgcmV0dXJuIFtcbiAgICBMb2NhdGlvbixcbiAgICB7cHJvdmlkZTogTG9jYXRpb25TdHJhdGVneSwgdXNlQ2xhc3M6IFBhdGhMb2NhdGlvblN0cmF0ZWd5fSxcbiAgICB7cHJvdmlkZTogVXJsU2VyaWFsaXplciwgdXNlQ2xhc3M6IERlZmF1bHRVcmxTZXJpYWxpemVyfSxcblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvdXRlcixcbiAgICAgIHVzZUZhY3Rvcnk6IChyZWYsIHJlc29sdmVyLCB1cmxTZXJpYWxpemVyLCBvdXRsZXRNYXAsIGxvY2F0aW9uLCBpbmplY3RvcikgPT4ge1xuICAgICAgICBpZiAocmVmLmNvbXBvbmVudFR5cGVzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb290c3RyYXAgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBiZWZvcmUgaW5qZWN0aW5nIFJvdXRlci4nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gcmVmLmNvbXBvbmVudFR5cGVzWzBdO1xuICAgICAgICBjb25zdCByID0gbmV3IFJvdXRlcihcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGUsIHJlc29sdmVyLCB1cmxTZXJpYWxpemVyLCBvdXRsZXRNYXAsIGxvY2F0aW9uLCBpbmplY3RvciwgY29uZmlnKTtcbiAgICAgICAgcmVmLnJlZ2lzdGVyRGlzcG9zZUxpc3RlbmVyKCgpID0+IHIuZGlzcG9zZSgpKTtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgICB9LFxuICAgICAgZGVwczpcbiAgICAgICAgICBbQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlc29sdmVyLCBVcmxTZXJpYWxpemVyLCBSb3V0ZXJPdXRsZXRNYXAsIExvY2F0aW9uLCBJbmplY3Rvcl1cbiAgICB9LFxuXG4gICAgUm91dGVyT3V0bGV0TWFwLFxuICAgIHtwcm92aWRlOiBBY3RpdmF0ZWRSb3V0ZSwgdXNlRmFjdG9yeTogKHIpID0+IHIucm91dGVyU3RhdGUucm9vdCwgZGVwczogW1JvdXRlcl19LFxuXG4gICAgLy8gVHJpZ2dlciBpbml0aWFsIG5hdmlnYXRpb25cbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IChpbmplY3RvcikgPT4ge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy85MTAxXG4gICAgICAgIC8vIERlbGF5IHRoZSByb3V0ZXIgaW5zdGFudGlhdGlvbiB0byBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5IChBcHBsaWNhdGlvblJlZiAtPlxuICAgICAgICAvLyBBUFBfSU5JVElBTElaRVIgLT4gUm91dGVyKVxuICAgICAgICBzZXRUaW1lb3V0KF8gPT4ge1xuICAgICAgICAgIGNvbnN0IGFwcFJlZiA9IGluamVjdG9yLmdldChBcHBsaWNhdGlvblJlZik7XG4gICAgICAgICAgYXBwUmVmLnJlZ2lzdGVyQm9vdHN0cmFwTGlzdGVuZXIoKF8pID0+IHtcbiAgICAgICAgICAgIGluamVjdG9yLmdldChSb3V0ZXIpLmluaXRpYWxOYXZpZ2F0aW9uKClcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgMCk7XG4gICAgICAgIHJldHVybiBfID0+IG51bGw7XG4gICAgICB9LFxuICAgICAgZGVwczogW0luamVjdG9yXVxuICAgIH1cbiAgXTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3JvdXRlcl9wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbW9uX3JvdXRlcl9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUErRCxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2pGLHFCQUEyRSxlQUFlLENBQUMsQ0FBQTtBQUczRix1QkFBcUIsVUFBVSxDQUFDLENBQUE7QUFDaEMsa0NBQThCLHFCQUFxQixDQUFDLENBQUE7QUFDcEQsNkJBQTZCLGdCQUFnQixDQUFDLENBQUE7QUFDOUMsK0JBQWtELGtCQUFrQixDQUFDLENBQUE7QUFxQnJFLHVCQUE4QixNQUFvQjtJQUNoRCxNQUFNLENBQUM7UUFDTCxpQkFBUTtRQUNSLEVBQUMsT0FBTyxFQUFFLHlCQUFnQixFQUFFLFFBQVEsRUFBRSw2QkFBb0IsRUFBQztRQUMzRCxFQUFDLE9BQU8sRUFBRSw4QkFBYSxFQUFFLFFBQVEsRUFBRSxxQ0FBb0IsRUFBQztRQUV4RDtZQUNFLE9BQU8sRUFBRSxlQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRO2dCQUN0RSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7Z0JBQy9FLENBQUM7Z0JBQ0QsSUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsSUFBTSxDQUFDLEdBQUcsSUFBSSxlQUFNLENBQ2hCLGFBQWEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRixHQUFHLENBQUMsdUJBQXVCLENBQUMsY0FBTSxPQUFBLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBWCxDQUFXLENBQUMsQ0FBQztnQkFDL0MsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUM7WUFDRCxJQUFJLEVBQ0EsQ0FBQyxxQkFBYyxFQUFFLHdCQUFpQixFQUFFLDhCQUFhLEVBQUUsbUNBQWUsRUFBRSxpQkFBUSxFQUFFLGVBQVEsQ0FBQztTQUM1RjtRQUVELG1DQUFlO1FBQ2YsRUFBQyxPQUFPLEVBQUUsNkJBQWMsRUFBRSxVQUFVLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBbEIsQ0FBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFNLENBQUMsRUFBQztRQUdoRjtZQUNFLE9BQU8sRUFBRSxzQkFBZTtZQUN4QixLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxVQUFDLFFBQVE7Z0JBSW5CLFVBQVUsQ0FBQyxVQUFBLENBQUM7b0JBQ1YsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxxQkFBYyxDQUFDLENBQUM7b0JBQzVDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3RDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxVQUFDLENBQUM7NEJBQ2pDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBTSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTt3QkFDMUMsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQztvQkFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDTixRQUFRLENBQUMsR0FBRyxDQUFDLGVBQU0sQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUE7b0JBQzFDLENBQUM7Z0JBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLElBQUksRUFBSixDQUFJLENBQUM7WUFDbkIsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLGVBQVEsQ0FBQztTQUNqQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBaERlLHFCQUFhLGdCQWdENUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb24sIExvY2F0aW9uU3RyYXRlZ3ksIFBhdGhMb2NhdGlvblN0cmF0ZWd5fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBUFBfSU5JVElBTElaRVIsIEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZXNvbHZlciwgSW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1JvdXRlckNvbmZpZ30gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJy4vcm91dGVyJztcbmltcG9ydCB7Um91dGVyT3V0bGV0TWFwfSBmcm9tICcuL3JvdXRlcl9vdXRsZXRfbWFwJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJy4vcm91dGVyX3N0YXRlJztcbmltcG9ydCB7RGVmYXVsdFVybFNlcmlhbGl6ZXIsIFVybFNlcmlhbGl6ZXJ9IGZyb20gJy4vdXJsX3NlcmlhbGl6ZXInO1xuXG5cbi8qKlxuICogQSBsaXN0IG9mIHtAbGluayBQcm92aWRlcn1zLiBUbyB1c2UgdGhlIHJvdXRlciwgeW91IG11c3QgYWRkIHRoaXMgdG8geW91ciBhcHBsaWNhdGlvbi5cbiAqXG4gKiAjIyMgRXhhbXBsZVxuICpcbiAqIGBgYFxuICogQENvbXBvbmVudCh7ZGlyZWN0aXZlczogW1JPVVRFUl9ESVJFQ1RJVkVTXX0pXG4gKiBjbGFzcyBBcHBDbXAge1xuICogICAvLyAuLi5cbiAqIH1cbiAqXG4gKiBjb25zdCByb3V0ZXIgPSBbXG4gKiAgIHtwYXRoOiAnL2hvbWUnLCBjb21wb25lbnQ6IEhvbWV9XG4gKiBdO1xuICpcbiAqIGJvb3RzdHJhcChBcHBDbXAsIFtwcm92aWRlUm91dGVyKHJvdXRlcildKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVJvdXRlcihjb25maWc6IFJvdXRlckNvbmZpZyk6IGFueVtdIHtcbiAgcmV0dXJuIFtcbiAgICBMb2NhdGlvbixcbiAgICB7cHJvdmlkZTogTG9jYXRpb25TdHJhdGVneSwgdXNlQ2xhc3M6IFBhdGhMb2NhdGlvblN0cmF0ZWd5fSxcbiAgICB7cHJvdmlkZTogVXJsU2VyaWFsaXplciwgdXNlQ2xhc3M6IERlZmF1bHRVcmxTZXJpYWxpemVyfSxcblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvdXRlcixcbiAgICAgIHVzZUZhY3Rvcnk6IChyZWYsIHJlc29sdmVyLCB1cmxTZXJpYWxpemVyLCBvdXRsZXRNYXAsIGxvY2F0aW9uLCBpbmplY3RvcikgPT4ge1xuICAgICAgICBpZiAocmVmLmNvbXBvbmVudFR5cGVzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb290c3RyYXAgYXQgbGVhc3Qgb25lIGNvbXBvbmVudCBiZWZvcmUgaW5qZWN0aW5nIFJvdXRlci4nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gcmVmLmNvbXBvbmVudFR5cGVzWzBdO1xuICAgICAgICBjb25zdCByID0gbmV3IFJvdXRlcihcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGUsIHJlc29sdmVyLCB1cmxTZXJpYWxpemVyLCBvdXRsZXRNYXAsIGxvY2F0aW9uLCBpbmplY3RvciwgY29uZmlnKTtcbiAgICAgICAgcmVmLnJlZ2lzdGVyRGlzcG9zZUxpc3RlbmVyKCgpID0+IHIuZGlzcG9zZSgpKTtcbiAgICAgICAgcmV0dXJuIHI7XG4gICAgICB9LFxuICAgICAgZGVwczpcbiAgICAgICAgICBbQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlc29sdmVyLCBVcmxTZXJpYWxpemVyLCBSb3V0ZXJPdXRsZXRNYXAsIExvY2F0aW9uLCBJbmplY3Rvcl1cbiAgICB9LFxuXG4gICAgUm91dGVyT3V0bGV0TWFwLFxuICAgIHtwcm92aWRlOiBBY3RpdmF0ZWRSb3V0ZSwgdXNlRmFjdG9yeTogKHIpID0+IHIucm91dGVyU3RhdGUucm9vdCwgZGVwczogW1JvdXRlcl19LFxuXG4gICAgLy8gVHJpZ2dlciBpbml0aWFsIG5hdmlnYXRpb25cbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IChpbmplY3RvcikgPT4ge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy85MTAxXG4gICAgICAgIC8vIERlbGF5IHRoZSByb3V0ZXIgaW5zdGFudGlhdGlvbiB0byBhdm9pZCBjaXJjdWxhciBkZXBlbmRlbmN5IChBcHBsaWNhdGlvblJlZiAtPlxuICAgICAgICAvLyBBUFBfSU5JVElBTElaRVIgLT4gUm91dGVyKVxuICAgICAgICBzZXRUaW1lb3V0KF8gPT4ge1xuICAgICAgICAgIGNvbnN0IGFwcFJlZiA9IGluamVjdG9yLmdldChBcHBsaWNhdGlvblJlZik7XG4gICAgICAgICAgaWYgKGFwcFJlZi5jb21wb25lbnRUeXBlcy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgYXBwUmVmLnJlZ2lzdGVyQm9vdHN0cmFwTGlzdGVuZXIoKF8pID0+IHtcbiAgICAgICAgICAgICAgaW5qZWN0b3IuZ2V0KFJvdXRlcikuaW5pdGlhbE5hdmlnYXRpb24oKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluamVjdG9yLmdldChSb3V0ZXIpLmluaXRpYWxOYXZpZ2F0aW9uKClcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgICAgICByZXR1cm4gXyA9PiBudWxsO1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtJbmplY3Rvcl1cbiAgICB9XG4gIF07XG59XG4iXX0=

@@ -175,3 +175,3 @@ "use strict";

var res = {};
collection_1.forEach(params, function (v, k) { return res[k] = v.toString(); });
collection_1.forEach(params, function (v, k) { return res[k] = "" + v; });
return res;

@@ -189,2 +189,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3VybF90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZV91cmxfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsdUJBQXFDLFVBQVUsQ0FBQyxDQUFBO0FBQ2hELHlCQUFrQyxZQUFZLENBQUMsQ0FBQTtBQUMvQywyQkFBb0Msb0JBQW9CLENBQUMsQ0FBQTtBQUN6RCxxQkFBdUIsY0FBYyxDQUFDLENBQUE7QUFFdEMsdUJBQ0ksS0FBcUIsRUFBRSxPQUFnQixFQUFFLFFBQWUsRUFBRSxXQUErQixFQUN6RixRQUE0QjtJQUM5QixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFRLENBQWEsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxJQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUUsSUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ2xELFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFDdkUsRUFBRSxD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QU0sQ0FBQyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsaUJBQWlCLElBQVksRUFBRSxNQUE0QixFQUFFLE9BQW1CO0lBQzlFLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSx5QkFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVELGlCQUNJLFVBQXNCLEVBQUUsSUFBZ0MsRUFBRSxJQUFXO0lBQ3ZFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxlQUFRLENBQWEsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLGVBQVEsQ0FBYSxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQge1BSSU1BUllfT1VUTEVULCBQYXJhbXN9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7VXJsU2VnbWVudCwgVXJsVHJlZX0gZnJvbSAnLi91cmxfdHJlZSc7XG5pbXBvcnQge2ZvckVhY2gsIHNoYWxsb3dFcXVhbH0gZnJvbSAnLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4vdXRpbHMvdHJlZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVcmxUcmVlKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgdXJsVHJlZTogVXJsVHJlZSwgY29tbWFuZHM6IGFueVtdLCBxdWVyeVBhcmFtczogUGFyYW1zIHwgdW5kZWZpbmVkLFxuICAgIGZyYWdtZW50OiBzdHJpbmcgfCB1bmRlZmluZWQpOiBVcmxUcmVlIHtcbiAgaWYgKGNvbW1hbmRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cmVlKHVybFRyZWUuX3Jvb3QsIHVybFRyZWUsIHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkQ29tbWFuZHMgPSBub3JtYWxpemVDb21tYW5kcyhjb21tYW5kcyk7XG4gIGlmIChuYXZpZ2F0ZVRvUm9vdChub3JtYWxpemVkQ29tbWFuZHMpKSB7XG4gICAgcmV0dXJuIHRyZWUobmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFRyZWUucm9vdCwgW10pLCB1cmxUcmVlLCBxdWVyeVBhcmFtcywgZnJhZ21lbnQpO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRpbmdOb2RlID0gZmluZFN0YXJ0aW5nTm9kZShub3JtYWxpemVkQ29tbWFuZHMsIHVybFRyZWUsIHJvdXRlKTtcbiAgY29uc3QgdXBkYXRlZCA9IG5vcm1hbGl6ZWRDb21tYW5kcy5jb21tYW5kcy5sZW5ndGggPiAwID9cbiAgICAgIHVwZGF0ZU1hbnkoc3RhcnRpbmdOb2RlLmNoaWxkcmVuLnNsaWNlKDApLCBub3JtYWxpemVkQ29tbWFuZHMuY29tbWFuZHMpIDpcbiAgICAgIFtdO1xuICBjb25zdCBuZXdSb290ID0gY29uc3RydWN0TmV3VHJlZSh1cmxUcmVlLl9yb290LCBzdGFydGluZ05vZGUsIHVwZGF0ZWQpO1xuXG4gIHJldHVybiB0cmVlKG5ld1Jvb3QsIHVybFRyZWUsIHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG59XG5cbmZ1bmN0aW9uIHRyZWUoXG4gICAgcm9vdDogVHJlZU5vZGU8VXJsU2VnbWVudD4sIHVybFRyZWU6IFVybFRyZWUsIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCB1bmRlZmluZWQsXG4gICAgZnJhZ21lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFVybFRyZWUge1xuICBjb25zdCBxID0gcXVlcnlQYXJhbXMgPyBzdHJpbmdpZnkocXVlcnlQYXJhbXMpIDogdXJsVHJlZS5xdWVyeVBhcmFtcztcbiAgY29uc3QgZiA9IGZyYWdtZW50ID8gZnJhZ21lbnQgOiB1cmxUcmVlLmZyYWdtZW50O1xuICByZXR1cm4gbmV3IFVybFRyZWUocm9vdCwgcSwgZik7XG59XG5cbmZ1bmN0aW9uIG5hdmlnYXRlVG9Sb290KG5vcm1hbGl6ZWRDaGFuZ2U6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZWRDaGFuZ2UuaXNBYnNvbHV0ZSAmJiBub3JtYWxpemVkQ2hhbmdlLmNvbW1hbmRzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgbm9ybWFsaXplZENoYW5nZS5jb21tYW5kc1swXSA9PSAnLyc7XG59XG5cbmNsYXNzIE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBpc0Fic29sdXRlOiBib29sZWFuLCBwdWJsaWMgbnVtYmVyT2ZEb3VibGVEb3RzOiBudW1iZXIsIHB1YmxpYyBjb21tYW5kczogYW55W10pIHt9XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUNvbW1hbmRzKGNvbW1hbmRzOiBhbnlbXSk6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMge1xuICBpZiAoKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gJ3N0cmluZycpICYmIGNvbW1hbmRzLmxlbmd0aCA9PT0gMSAmJiBjb21tYW5kc1swXSA9PSAnLycpIHtcbiAgICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHModHJ1ZSwgMCwgY29tbWFuZHMpO1xuICB9XG5cbiAgbGV0IG51bWJlck9mRG91YmxlRG90cyA9IDA7XG4gIGxldCBpc0Fic29sdXRlID0gZmFsc2U7XG4gIGNvbnN0IHJlcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29tbWFuZHMubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBjID0gY29tbWFuZHNbaV07XG5cbiAgICBpZiAoISh0eXBlb2YgYyA9PT0gJ3N0cmluZycpKSB7XG4gICAgICByZXMucHVzaChjKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnRzID0gYy5zcGxpdCgnLycpO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgcGFydHMubGVuZ3RoOyArK2opIHtcbiAgICAgIGxldCBjYyA9IHBhcnRzW2pdO1xuXG4gICAgICAvLyBmaXJzdCBleHAgaXMgdHJlYXRlZCBpbiBhIHNwZWNpYWwgd2F5XG4gICAgICBpZiAoaSA9PSAwKSB7XG4gICAgICAgIGlmIChqID09IDAgJiYgY2MgPT0gJy4nKSB7ICAvLyAgJy4vYSdcbiAgICAgICAgICAvLyBza2lwIGl0XG4gICAgICAgIH0gZWxzZSBpZiAoaiA9PSAwICYmIGNjID09ICcnKSB7ICAvLyAgJy9hJ1xuICAgICAgICAgIGlzQWJzb2x1dGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGNjID09ICcuLicpIHsgIC8vICAnLi4vYSdcbiAgICAgICAgICBudW1iZXJPZkRvdWJsZURvdHMrKztcbiAgICAgICAgfSBlbHNlIGlmIChjYyAhPSAnJykge1xuICAgICAgICAgIHJlcy5wdXNoKGNjKTtcbiAgICAgICAgfVxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY2MgIT0gJycpIHtcbiAgICAgICAgICByZXMucHVzaChjYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMoaXNBYnNvbHV0ZSwgbnVtYmVyT2ZEb3VibGVEb3RzLCByZXMpO1xufVxuXG5mdW5jdGlvbiBmaW5kU3RhcnRpbmdOb2RlKFxuICAgIG5vcm1hbGl6ZWRDaGFuZ2U6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMsIHVybFRyZWU6IFVybFRyZWUsXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBpZiAobm9ybWFsaXplZENoYW5nZS5pc0Fic29sdXRlKSB7XG4gICAgcmV0dXJuIHVybFRyZWUuX3Jvb3Q7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IGZpbmRVcmxTZWdtZW50KHJvdXRlLCB1cmxUcmVlLCBub3JtYWxpemVkQ2hhbmdlLm51bWJlck9mRG91YmxlRG90cyk7XG4gICAgcmV0dXJuIGZpbmRNYXRjaGluZ05vZGUodXJsU2VnbWVudCwgdXJsVHJlZS5fcm9vdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFVybFNlZ21lbnQoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCB1cmxUcmVlOiBVcmxUcmVlLCBudW1iZXJPZkRvdWJsZURvdHM6IG51bWJlcik6IFVybFNlZ21lbnQge1xuICBjb25zdCB1cmxTZWdtZW50ID0gcm91dGUuc25hcHNob3QuX2xhc3RVcmxTZWdtZW50O1xuICBjb25zdCBwYXRoID0gdXJsVHJlZS5wYXRoRnJvbVJvb3QodXJsU2VnbWVudCk7XG4gIGlmIChwYXRoLmxlbmd0aCA8PSBudW1iZXJPZkRvdWJsZURvdHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbnVtYmVyIG9mIFxcJy4uL1xcJycpO1xuICB9XG4gIHJldHVybiBwYXRoW3BhdGgubGVuZ3RoIC0gMSAtIG51bWJlck9mRG91YmxlRG90c107XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudDogVXJsU2VnbWVudCwgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChub2RlLnZhbHVlID09PSBzZWdtZW50KSByZXR1cm4gbm9kZTtcbiAgZm9yIChsZXQgYyBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgciA9IGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudCwgYyk7XG4gICAgaWYgKHIpIHJldHVybiByO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgdXJsIHNlZ21lbnQgJyR7c2VnbWVudH0nYCk7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdE5ld1RyZWUoXG4gICAgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4sIG9yaWdpbmFsOiBUcmVlTm9kZTxVcmxTZWdtZW50PixcbiAgICB1cGRhdGVkOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBpZiAobm9kZSA9PT0gb3JpZ2luYWwpIHtcbiAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KG5vZGUudmFsdWUsIHVwZGF0ZWQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4oXG4gICAgICAgIG5vZGUudmFsdWUsIG5vZGUuY2hpbGRyZW4ubWFwKGMgPT4gY29uc3RydWN0TmV3VHJlZShjLCBvcmlnaW5hbCwgdXBkYXRlZCkpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVNYW55KG5vZGVzOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdLCBjb21tYW5kczogYW55W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdIHtcbiAgY29uc3Qgb3V0bGV0ID0gZ2V0T3V0bGV0KGNvbW1hbmRzKTtcbiAgY29uc3Qgbm9kZXNJblJpZ2h0T3V0bGV0ID0gbm9kZXMuZmlsdGVyKGMgPT4gYy52YWx1ZS5vdXRsZXQgPT09IG91dGxldCk7XG4gIGlmIChub2Rlc0luUmlnaHRPdXRsZXQubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG5vZGVSaWdodE91dGxldCA9IG5vZGVzSW5SaWdodE91dGxldFswXTsgIC8vIHRoZXJlIGNhbiBiZSBvbmx5IG9uZVxuICAgIG5vZGVzW25vZGVzLmluZGV4T2Yobm9kZVJpZ2h0T3V0bGV0KV0gPSB1cGRhdGUobm9kZVJpZ2h0T3V0bGV0LCBjb21tYW5kcyk7XG4gIH0gZWxzZSB7XG4gICAgbm9kZXMucHVzaCh1cGRhdGUobnVsbCwgY29tbWFuZHMpKTtcbiAgfVxuICByZXR1cm4gbm9kZXM7XG59XG5cbmZ1bmN0aW9uIGdldFBhdGgoY29tbWFuZHM6IGFueVtdKTogYW55IHtcbiAgaWYgKCEodHlwZW9mIGNvbW1hbmRzWzBdID09PSAnc3RyaW5nJykpIHJldHVybiBjb21tYW5kc1swXTtcbiAgY29uc3QgcGFydHMgPSBjb21tYW5kc1swXS50b1N0cmluZygpLnNwbGl0KCc6Jyk7XG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMV0gOiBjb21tYW5kc1swXTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0bGV0KGNvbW1hbmRzOiBhbnlbXSk6IHN0cmluZyB7XG4gIGlmICghKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gJ3N0cmluZycpKSByZXR1cm4gUFJJTUFSWV9PVVRMRVQ7XG4gIGNvbnN0IHBhcnRzID0gY29tbWFuZHNbMF0udG9TdHJpbmcoKS5zcGxpdCgnOicpO1xuICByZXR1cm4gcGFydHMubGVuZ3RoID4gMSA/IHBhcnRzWzBdIDogUFJJTUFSWV9PVVRMRVQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZShub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PnwgbnVsbCwgY29tbWFuZHM6IGFueVtdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBjb25zdCByZXN0ID0gY29tbWFuZHMuc2xpY2UoMSk7XG4gIGNvbnN0IG5leHQgPSByZXN0Lmxlbmd0aCA9PT0gMCA/IG51bGwgOiByZXN0WzBdO1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChjb21tYW5kcyk7XG5cbiAgLy8gcmVhY2ggdGhlIGVuZCBvZiB0aGUgdHJlZSA9PiBjcmVhdGUgbmV3IHRyZWUgbm9kZXMuXG4gIGlmICghbm9kZSAmJiAhKHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JykpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwge30sIG91dGxldCk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSByZXN0Lmxlbmd0aCA9PT0gMCA/IFtdIDogW3VwZGF0ZShudWxsLCByZXN0KV07XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBjaGlsZHJlbik7XG5cbiAgfSBlbHNlIGlmICghbm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gZGlmZmVyZW50IG91dGxldCA9PiBwcmVzZXJ2ZSB0aGUgc3VidHJlZVxuICB9IGVsc2UgaWYgKG5vZGUgJiYgb3V0bGV0ICE9PSBub2RlLnZhbHVlLm91dGxldCkge1xuICAgIHJldHVybiBub2RlO1xuXG4gICAgLy8gcGFyYW1zIGNvbW1hbmRcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBwYXRoID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IG5ld1NlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChub2RlLnZhbHVlLnBhdGgsIHN0cmluZ2lmeShwYXRoKSwgbm9kZS52YWx1ZS5vdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKG5ld1NlZ21lbnQsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW4gcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JyAmJiBjb21wYXJlKHBhdGgsIHN0cmluZ2lmeShuZXh0KSwgbm9kZS52YWx1ZSkpIHtcbiAgICByZXR1cm4gcmVjdXJzZShub2RlLnZhbHVlLCBub2RlLCByZXN0LnNsaWNlKDEpKTtcblxuICAgIC8vIG5leHQgb25lIGlzIGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2FuIHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiBjb21wYXJlKHBhdGgsIHt9LCBub2RlLnZhbHVlKSkge1xuICAgIHJldHVybiByZWN1cnNlKG5vZGUudmFsdWUsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IG5ldyBVcmxTZWdtZW50KHBhdGgsIHt9LCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KToge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICBjb25zdCByZXMgPSB7fTtcbiAgZm9yRWFjaChwYXJhbXMsICh2LCBrKSA9PiByZXNba10gPSB2LnRvU3RyaW5nKCkpO1xuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlKHBhdGg6IHN0cmluZywgcGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSwgc2VnbWVudDogVXJsU2VnbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcGF0aCA9PSBzZWdtZW50LnBhdGggJiYgc2hhbGxvd0VxdWFsKHBhcmFtcywgc2VnbWVudC5wYXJhbWV0ZXJzKTtcbn1cblxuZnVuY3Rpb24gcmVjdXJzZShcbiAgICB1cmxTZWdtZW50OiBVcmxTZWdtZW50LCBub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PnwgbnVsbCwgcmVzdDogYW55W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChyZXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4odXJsU2VnbWVudCwgW10pO1xuICB9XG4gIGNvbnN0IGNoaWxkcmVuID0gbm9kZSA/IG5vZGUuY2hpbGRyZW4uc2xpY2UoMCkgOiBbXTtcbiAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCB1cGRhdGVNYW55KGNoaWxkcmVuLCByZXN0KSk7XG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3VybF90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZV91cmxfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsdUJBQXFDLFVBQVUsQ0FBQyxDQUFBO0FBQ2hELHlCQUFrQyxZQUFZLENBQUMsQ0FBQTtBQUMvQywyQkFBb0Msb0JBQW9CLENBQUMsQ0FBQTtBQUN6RCxxQkFBdUIsY0FBYyxDQUFDLENBQUE7QUFFdEMsdUJBQ0ksS0FBcUIsRUFBRSxPQUFnQixFQUFFLFFBQWUsRUFBRSxXQUErQixFQUN6RixRQUE0QjtJQUM5QixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFRLENBQWEsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxJQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUUsSUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ2xELFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFDdkUsRUFBRSxD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LENBQUM7QUFDYixDQUFDO0FBRUQsaUJBQWlCLElBQVksRUFBRSxNQUE0QixFQUFFLE9BQW1CO0lBQzlFLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSx5QkFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVELGlCQUNJLFVBQXNCLEVBQUUsSUFBZ0MsRUFBRSxJQUFXO0lBQ3ZFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxlQUFRLENBQWEsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLGVBQVEsQ0FBYSxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQge1BSSU1BUllfT1VUTEVULCBQYXJhbXN9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7VXJsU2VnbWVudCwgVXJsVHJlZX0gZnJvbSAnLi91cmxfdHJlZSc7XG5pbXBvcnQge2ZvckVhY2gsIHNoYWxsb3dFcXVhbH0gZnJvbSAnLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4vdXRpbHMvdHJlZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVcmxUcmVlKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgdXJsVHJlZTogVXJsVHJlZSwgY29tbWFuZHM6IGFueVtdLCBxdWVyeVBhcmFtczogUGFyYW1zIHwgdW5kZWZpbmVkLFxuICAgIGZyYWdtZW50OiBzdHJpbmcgfCB1bmRlZmluZWQpOiBVcmxUcmVlIHtcbiAgaWYgKGNvbW1hbmRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cmVlKHVybFRyZWUuX3Jvb3QsIHVybFRyZWUsIHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkQ29tbWFuZHMgPSBub3JtYWxpemVDb21tYW5kcyhjb21tYW5kcyk7XG4gIGlmIChuYXZpZ2F0ZVRvUm9vdChub3JtYWxpemVkQ29tbWFuZHMpKSB7XG4gICAgcmV0dXJuIHRyZWUobmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFRyZWUucm9vdCwgW10pLCB1cmxUcmVlLCBxdWVyeVBhcmFtcywgZnJhZ21lbnQpO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRpbmdOb2RlID0gZmluZFN0YXJ0aW5nTm9kZShub3JtYWxpemVkQ29tbWFuZHMsIHVybFRyZWUsIHJvdXRlKTtcbiAgY29uc3QgdXBkYXRlZCA9IG5vcm1hbGl6ZWRDb21tYW5kcy5jb21tYW5kcy5sZW5ndGggPiAwID9cbiAgICAgIHVwZGF0ZU1hbnkoc3RhcnRpbmdOb2RlLmNoaWxkcmVuLnNsaWNlKDApLCBub3JtYWxpemVkQ29tbWFuZHMuY29tbWFuZHMpIDpcbiAgICAgIFtdO1xuICBjb25zdCBuZXdSb290ID0gY29uc3RydWN0TmV3VHJlZSh1cmxUcmVlLl9yb290LCBzdGFydGluZ05vZGUsIHVwZGF0ZWQpO1xuXG4gIHJldHVybiB0cmVlKG5ld1Jvb3QsIHVybFRyZWUsIHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG59XG5cbmZ1bmN0aW9uIHRyZWUoXG4gICAgcm9vdDogVHJlZU5vZGU8VXJsU2VnbWVudD4sIHVybFRyZWU6IFVybFRyZWUsIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCB1bmRlZmluZWQsXG4gICAgZnJhZ21lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFVybFRyZWUge1xuICBjb25zdCBxID0gcXVlcnlQYXJhbXMgPyBzdHJpbmdpZnkocXVlcnlQYXJhbXMpIDogdXJsVHJlZS5xdWVyeVBhcmFtcztcbiAgY29uc3QgZiA9IGZyYWdtZW50ID8gZnJhZ21lbnQgOiB1cmxUcmVlLmZyYWdtZW50O1xuICByZXR1cm4gbmV3IFVybFRyZWUocm9vdCwgcSwgZik7XG59XG5cbmZ1bmN0aW9uIG5hdmlnYXRlVG9Sb290KG5vcm1hbGl6ZWRDaGFuZ2U6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZWRDaGFuZ2UuaXNBYnNvbHV0ZSAmJiBub3JtYWxpemVkQ2hhbmdlLmNvbW1hbmRzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgbm9ybWFsaXplZENoYW5nZS5jb21tYW5kc1swXSA9PSAnLyc7XG59XG5cbmNsYXNzIE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBpc0Fic29sdXRlOiBib29sZWFuLCBwdWJsaWMgbnVtYmVyT2ZEb3VibGVEb3RzOiBudW1iZXIsIHB1YmxpYyBjb21tYW5kczogYW55W10pIHt9XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUNvbW1hbmRzKGNvbW1hbmRzOiBhbnlbXSk6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMge1xuICBpZiAoKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gJ3N0cmluZycpICYmIGNvbW1hbmRzLmxlbmd0aCA9PT0gMSAmJiBjb21tYW5kc1swXSA9PSAnLycpIHtcbiAgICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHModHJ1ZSwgMCwgY29tbWFuZHMpO1xuICB9XG5cbiAgbGV0IG51bWJlck9mRG91YmxlRG90cyA9IDA7XG4gIGxldCBpc0Fic29sdXRlID0gZmFsc2U7XG4gIGNvbnN0IHJlcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29tbWFuZHMubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBjID0gY29tbWFuZHNbaV07XG5cbiAgICBpZiAoISh0eXBlb2YgYyA9PT0gJ3N0cmluZycpKSB7XG4gICAgICByZXMucHVzaChjKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnRzID0gYy5zcGxpdCgnLycpO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgcGFydHMubGVuZ3RoOyArK2opIHtcbiAgICAgIGxldCBjYyA9IHBhcnRzW2pdO1xuXG4gICAgICAvLyBmaXJzdCBleHAgaXMgdHJlYXRlZCBpbiBhIHNwZWNpYWwgd2F5XG4gICAgICBpZiAoaSA9PSAwKSB7XG4gICAgICAgIGlmIChqID09IDAgJiYgY2MgPT0gJy4nKSB7ICAvLyAgJy4vYSdcbiAgICAgICAgICAvLyBza2lwIGl0XG4gICAgICAgIH0gZWxzZSBpZiAoaiA9PSAwICYmIGNjID09ICcnKSB7ICAvLyAgJy9hJ1xuICAgICAgICAgIGlzQWJzb2x1dGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGNjID09ICcuLicpIHsgIC8vICAnLi4vYSdcbiAgICAgICAgICBudW1iZXJPZkRvdWJsZURvdHMrKztcbiAgICAgICAgfSBlbHNlIGlmIChjYyAhPSAnJykge1xuICAgICAgICAgIHJlcy5wdXNoKGNjKTtcbiAgICAgICAgfVxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY2MgIT0gJycpIHtcbiAgICAgICAgICByZXMucHVzaChjYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMoaXNBYnNvbHV0ZSwgbnVtYmVyT2ZEb3VibGVEb3RzLCByZXMpO1xufVxuXG5mdW5jdGlvbiBmaW5kU3RhcnRpbmdOb2RlKFxuICAgIG5vcm1hbGl6ZWRDaGFuZ2U6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMsIHVybFRyZWU6IFVybFRyZWUsXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBpZiAobm9ybWFsaXplZENoYW5nZS5pc0Fic29sdXRlKSB7XG4gICAgcmV0dXJuIHVybFRyZWUuX3Jvb3Q7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IGZpbmRVcmxTZWdtZW50KHJvdXRlLCB1cmxUcmVlLCBub3JtYWxpemVkQ2hhbmdlLm51bWJlck9mRG91YmxlRG90cyk7XG4gICAgcmV0dXJuIGZpbmRNYXRjaGluZ05vZGUodXJsU2VnbWVudCwgdXJsVHJlZS5fcm9vdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFVybFNlZ21lbnQoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCB1cmxUcmVlOiBVcmxUcmVlLCBudW1iZXJPZkRvdWJsZURvdHM6IG51bWJlcik6IFVybFNlZ21lbnQge1xuICBjb25zdCB1cmxTZWdtZW50ID0gcm91dGUuc25hcHNob3QuX2xhc3RVcmxTZWdtZW50O1xuICBjb25zdCBwYXRoID0gdXJsVHJlZS5wYXRoRnJvbVJvb3QodXJsU2VnbWVudCk7XG4gIGlmIChwYXRoLmxlbmd0aCA8PSBudW1iZXJPZkRvdWJsZURvdHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbnVtYmVyIG9mIFxcJy4uL1xcJycpO1xuICB9XG4gIHJldHVybiBwYXRoW3BhdGgubGVuZ3RoIC0gMSAtIG51bWJlck9mRG91YmxlRG90c107XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudDogVXJsU2VnbWVudCwgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChub2RlLnZhbHVlID09PSBzZWdtZW50KSByZXR1cm4gbm9kZTtcbiAgZm9yIChsZXQgYyBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgciA9IGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudCwgYyk7XG4gICAgaWYgKHIpIHJldHVybiByO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgdXJsIHNlZ21lbnQgJyR7c2VnbWVudH0nYCk7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdE5ld1RyZWUoXG4gICAgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4sIG9yaWdpbmFsOiBUcmVlTm9kZTxVcmxTZWdtZW50PixcbiAgICB1cGRhdGVkOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBpZiAobm9kZSA9PT0gb3JpZ2luYWwpIHtcbiAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KG5vZGUudmFsdWUsIHVwZGF0ZWQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4oXG4gICAgICAgIG5vZGUudmFsdWUsIG5vZGUuY2hpbGRyZW4ubWFwKGMgPT4gY29uc3RydWN0TmV3VHJlZShjLCBvcmlnaW5hbCwgdXBkYXRlZCkpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVNYW55KG5vZGVzOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdLCBjb21tYW5kczogYW55W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdIHtcbiAgY29uc3Qgb3V0bGV0ID0gZ2V0T3V0bGV0KGNvbW1hbmRzKTtcbiAgY29uc3Qgbm9kZXNJblJpZ2h0T3V0bGV0ID0gbm9kZXMuZmlsdGVyKGMgPT4gYy52YWx1ZS5vdXRsZXQgPT09IG91dGxldCk7XG4gIGlmIChub2Rlc0luUmlnaHRPdXRsZXQubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG5vZGVSaWdodE91dGxldCA9IG5vZGVzSW5SaWdodE91dGxldFswXTsgIC8vIHRoZXJlIGNhbiBiZSBvbmx5IG9uZVxuICAgIG5vZGVzW25vZGVzLmluZGV4T2Yobm9kZVJpZ2h0T3V0bGV0KV0gPSB1cGRhdGUobm9kZVJpZ2h0T3V0bGV0LCBjb21tYW5kcyk7XG4gIH0gZWxzZSB7XG4gICAgbm9kZXMucHVzaCh1cGRhdGUobnVsbCwgY29tbWFuZHMpKTtcbiAgfVxuICByZXR1cm4gbm9kZXM7XG59XG5cbmZ1bmN0aW9uIGdldFBhdGgoY29tbWFuZHM6IGFueVtdKTogYW55IHtcbiAgaWYgKCEodHlwZW9mIGNvbW1hbmRzWzBdID09PSAnc3RyaW5nJykpIHJldHVybiBjb21tYW5kc1swXTtcbiAgY29uc3QgcGFydHMgPSBjb21tYW5kc1swXS50b1N0cmluZygpLnNwbGl0KCc6Jyk7XG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMV0gOiBjb21tYW5kc1swXTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0bGV0KGNvbW1hbmRzOiBhbnlbXSk6IHN0cmluZyB7XG4gIGlmICghKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gJ3N0cmluZycpKSByZXR1cm4gUFJJTUFSWV9PVVRMRVQ7XG4gIGNvbnN0IHBhcnRzID0gY29tbWFuZHNbMF0udG9TdHJpbmcoKS5zcGxpdCgnOicpO1xuICByZXR1cm4gcGFydHMubGVuZ3RoID4gMSA/IHBhcnRzWzBdIDogUFJJTUFSWV9PVVRMRVQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZShub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PnwgbnVsbCwgY29tbWFuZHM6IGFueVtdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBjb25zdCByZXN0ID0gY29tbWFuZHMuc2xpY2UoMSk7XG4gIGNvbnN0IG5leHQgPSByZXN0Lmxlbmd0aCA9PT0gMCA/IG51bGwgOiByZXN0WzBdO1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChjb21tYW5kcyk7XG5cbiAgLy8gcmVhY2ggdGhlIGVuZCBvZiB0aGUgdHJlZSA9PiBjcmVhdGUgbmV3IHRyZWUgbm9kZXMuXG4gIGlmICghbm9kZSAmJiAhKHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JykpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwge30sIG91dGxldCk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSByZXN0Lmxlbmd0aCA9PT0gMCA/IFtdIDogW3VwZGF0ZShudWxsLCByZXN0KV07XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBjaGlsZHJlbik7XG5cbiAgfSBlbHNlIGlmICghbm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gZGlmZmVyZW50IG91dGxldCA9PiBwcmVzZXJ2ZSB0aGUgc3VidHJlZVxuICB9IGVsc2UgaWYgKG5vZGUgJiYgb3V0bGV0ICE9PSBub2RlLnZhbHVlLm91dGxldCkge1xuICAgIHJldHVybiBub2RlO1xuXG4gICAgLy8gcGFyYW1zIGNvbW1hbmRcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBwYXRoID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IG5ld1NlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChub2RlLnZhbHVlLnBhdGgsIHN0cmluZ2lmeShwYXRoKSwgbm9kZS52YWx1ZS5vdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKG5ld1NlZ21lbnQsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW4gcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JyAmJiBjb21wYXJlKHBhdGgsIHN0cmluZ2lmeShuZXh0KSwgbm9kZS52YWx1ZSkpIHtcbiAgICByZXR1cm4gcmVjdXJzZShub2RlLnZhbHVlLCBub2RlLCByZXN0LnNsaWNlKDEpKTtcblxuICAgIC8vIG5leHQgb25lIGlzIGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2FuIHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiBjb21wYXJlKHBhdGgsIHt9LCBub2RlLnZhbHVlKSkge1xuICAgIHJldHVybiByZWN1cnNlKG5vZGUudmFsdWUsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IG5ldyBVcmxTZWdtZW50KHBhdGgsIHt9LCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KToge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICBjb25zdCByZXMgPSB7fTtcbiAgZm9yRWFjaChwYXJhbXMsICh2LCBrKSA9PiByZXNba10gPSBgJHt2fWApO1xuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlKHBhdGg6IHN0cmluZywgcGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSwgc2VnbWVudDogVXJsU2VnbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcGF0aCA9PSBzZWdtZW50LnBhdGggJiYgc2hhbGxvd0VxdWFsKHBhcmFtcywgc2VnbWVudC5wYXJhbWV0ZXJzKTtcbn1cblxuZnVuY3Rpb24gcmVjdXJzZShcbiAgICB1cmxTZWdtZW50OiBVcmxTZWdtZW50LCBub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PnwgbnVsbCwgcmVzdDogYW55W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChyZXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4odXJsU2VnbWVudCwgW10pO1xuICB9XG4gIGNvbnN0IGNoaWxkcmVuID0gbm9kZSA/IG5vZGUuY2hpbGRyZW4uc2xpY2UoMCkgOiBbXTtcbiAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCB1cGRhdGVNYW55KGNoaWxkcmVuLCByZXN0KSk7XG59Il19

@@ -33,5 +33,10 @@ import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';

const appRef = injector.get(ApplicationRef);
appRef.registerBootstrapListener((_) => {
if (appRef.componentTypes.length == 0) {
appRef.registerBootstrapListener((_) => {
injector.get(Router).initialNavigation();
});
}
else {
injector.get(Router).initialNavigation();
});
}
}, 0);

@@ -44,2 +49,2 @@ return _ => null;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3JvdXRlcl9wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uX3JvdXRlcl9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik9BQU8sRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxpQkFBaUI7T0FDekUsRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWU7T0FHbkYsRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVO09BQ3hCLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCO09BQzVDLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCO09BQ3RDLEVBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFDLE1BQU0sa0JBQWtCO0FBcUJwRSw4QkFBOEIsTUFBb0I7SUFDaEQsTUFBTSxDQUFDO1FBQ0wsUUFBUTtRQUNSLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBQztRQUMzRCxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFDO1FBRXhEO1lBQ0UsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVE7Z0JBQ3RFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztnQkFDL0UsQ0FBQztnQkFDRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FDaEIsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25GLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELElBQUksRUFDQSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7U0FDNUY7UUFFRCxlQUFlO1FBQ2YsRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztRQUdoRjtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLEtBQUssRUFBRSxJQUFJO1lBQ1gsVUFBVSxFQUFFLENBQUMsUUFBUTtnQkFJbkIsVUFBVSxDQUFDLENBQUM7b0JBQ1YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDNUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQzt3QkFDakMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO29CQUMxQyxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sTUFBTSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDbkIsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztTQUNqQjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbiwgTG9jYXRpb25TdHJhdGVneSwgUGF0aExvY2F0aW9uU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlc29sdmVyLCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Um91dGVyQ29uZmlnfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnLi9yb3V0ZXInO1xuaW1wb3J0IHtSb3V0ZXJPdXRsZXRNYXB9IGZyb20gJy4vcm91dGVyX291dGxldF9tYXAnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnLi9yb3V0ZXJfc3RhdGUnO1xuaW1wb3J0IHtEZWZhdWx0VXJsU2VyaWFsaXplciwgVXJsU2VyaWFsaXplcn0gZnJvbSAnLi91cmxfc2VyaWFsaXplcic7XG5cblxuLyoqXG4gKiBBIGxpc3Qgb2Yge0BsaW5rIFByb3ZpZGVyfXMuIFRvIHVzZSB0aGUgcm91dGVyLCB5b3UgbXVzdCBhZGQgdGhpcyB0byB5b3VyIGFwcGxpY2F0aW9uLlxuICpcbiAqICMjIyBFeGFtcGxlXG4gKlxuICogYGBgXG4gKiBAQ29tcG9uZW50KHtkaXJlY3RpdmVzOiBbUk9VVEVSX0RJUkVDVElWRVNdfSlcbiAqIGNsYXNzIEFwcENtcCB7XG4gKiAgIC8vIC4uLlxuICogfVxuICpcbiAqIGNvbnN0IHJvdXRlciA9IFtcbiAqICAge3BhdGg6ICcvaG9tZScsIGNvbXBvbmVudDogSG9tZX1cbiAqIF07XG4gKlxuICogYm9vdHN0cmFwKEFwcENtcCwgW3Byb3ZpZGVSb3V0ZXIocm91dGVyKV0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUm91dGVyKGNvbmZpZzogUm91dGVyQ29uZmlnKTogYW55W10ge1xuICByZXR1cm4gW1xuICAgIExvY2F0aW9uLFxuICAgIHtwcm92aWRlOiBMb2NhdGlvblN0cmF0ZWd5LCB1c2VDbGFzczogUGF0aExvY2F0aW9uU3RyYXRlZ3l9LFxuICAgIHtwcm92aWRlOiBVcmxTZXJpYWxpemVyLCB1c2VDbGFzczogRGVmYXVsdFVybFNlcmlhbGl6ZXJ9LFxuXG4gICAge1xuICAgICAgcHJvdmlkZTogUm91dGVyLFxuICAgICAgdXNlRmFjdG9yeTogKHJlZiwgcmVzb2x2ZXIsIHVybFNlcmlhbGl6ZXIsIG91dGxldE1hcCwgbG9jYXRpb24sIGluamVjdG9yKSA9PiB7XG4gICAgICAgIGlmIChyZWYuY29tcG9uZW50VHlwZXMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jvb3RzdHJhcCBhdCBsZWFzdCBvbmUgY29tcG9uZW50IGJlZm9yZSBpbmplY3RpbmcgUm91dGVyLicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSByZWYuY29tcG9uZW50VHlwZXNbMF07XG4gICAgICAgIGNvbnN0IHIgPSBuZXcgUm91dGVyKFxuICAgICAgICAgICAgY29tcG9uZW50VHlwZSwgcmVzb2x2ZXIsIHVybFNlcmlhbGl6ZXIsIG91dGxldE1hcCwgbG9jYXRpb24sIGluamVjdG9yLCBjb25maWcpO1xuICAgICAgICByZWYucmVnaXN0ZXJEaXNwb3NlTGlzdGVuZXIoKCkgPT4gci5kaXNwb3NlKCkpO1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH0sXG4gICAgICBkZXBzOlxuICAgICAgICAgIFtBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVzb2x2ZXIsIFVybFNlcmlhbGl6ZXIsIFJvdXRlck91dGxldE1hcCwgTG9jYXRpb24sIEluamVjdG9yXVxuICAgIH0sXG5cbiAgICBSb3V0ZXJPdXRsZXRNYXAsXG4gICAge3Byb3ZpZGU6IEFjdGl2YXRlZFJvdXRlLCB1c2VGYWN0b3J5OiAocikgPT4gci5yb3V0ZXJTdGF0ZS5yb290LCBkZXBzOiBbUm91dGVyXX0sXG5cbiAgICAvLyBUcmlnZ2VyIGluaXRpYWwgbmF2aWdhdGlvblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRmFjdG9yeTogKGluamVjdG9yKSA9PiB7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzkxMDFcbiAgICAgICAgLy8gRGVsYXkgdGhlIHJvdXRlciBpbnN0YW50aWF0aW9uIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgKEFwcGxpY2F0aW9uUmVmIC0+XG4gICAgICAgIC8vIEFQUF9JTklUSUFMSVpFUiAtPiBSb3V0ZXIpXG4gICAgICAgIHNldFRpbWVvdXQoXyA9PiB7XG4gICAgICAgICAgY29uc3QgYXBwUmVmID0gaW5qZWN0b3IuZ2V0KEFwcGxpY2F0aW9uUmVmKTtcbiAgICAgICAgICBhcHBSZWYucmVnaXN0ZXJCb290c3RyYXBMaXN0ZW5lcigoXykgPT4ge1xuICAgICAgICAgICAgaW5qZWN0b3IuZ2V0KFJvdXRlcikuaW5pdGlhbE5hdmlnYXRpb24oKVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgcmV0dXJuIF8gPT4gbnVsbDtcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbSW5qZWN0b3JdXG4gICAgfVxuICBdO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX3JvdXRlcl9wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uX3JvdXRlcl9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ik9BQU8sRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxpQkFBaUI7T0FDekUsRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWU7T0FHbkYsRUFBQyxNQUFNLEVBQUMsTUFBTSxVQUFVO09BQ3hCLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCO09BQzVDLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCO09BQ3RDLEVBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFDLE1BQU0sa0JBQWtCO0FBcUJwRSw4QkFBOEIsTUFBb0I7SUFDaEQsTUFBTSxDQUFDO1FBQ0wsUUFBUTtRQUNSLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBQztRQUMzRCxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFDO1FBRXhEO1lBQ0UsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVE7Z0JBQ3RFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztnQkFDL0UsQ0FBQztnQkFDRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FDaEIsYUFBYSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25GLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUNELElBQUksRUFDQSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7U0FDNUY7UUFFRCxlQUFlO1FBQ2YsRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBQztRQUdoRjtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLEtBQUssRUFBRSxJQUFJO1lBQ1gsVUFBVSxFQUFFLENBQUMsUUFBUTtnQkFJbkIsVUFBVSxDQUFDLENBQUM7b0JBQ1YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDNUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDdEMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQzs0QkFDakMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO3dCQUMxQyxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNOLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtvQkFDMUMsQ0FBQztnQkFDSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sTUFBTSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDbkIsQ0FBQztZQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztTQUNqQjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbiwgTG9jYXRpb25TdHJhdGVneSwgUGF0aExvY2F0aW9uU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudFJlc29sdmVyLCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Um91dGVyQ29uZmlnfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnLi9yb3V0ZXInO1xuaW1wb3J0IHtSb3V0ZXJPdXRsZXRNYXB9IGZyb20gJy4vcm91dGVyX291dGxldF9tYXAnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnLi9yb3V0ZXJfc3RhdGUnO1xuaW1wb3J0IHtEZWZhdWx0VXJsU2VyaWFsaXplciwgVXJsU2VyaWFsaXplcn0gZnJvbSAnLi91cmxfc2VyaWFsaXplcic7XG5cblxuLyoqXG4gKiBBIGxpc3Qgb2Yge0BsaW5rIFByb3ZpZGVyfXMuIFRvIHVzZSB0aGUgcm91dGVyLCB5b3UgbXVzdCBhZGQgdGhpcyB0byB5b3VyIGFwcGxpY2F0aW9uLlxuICpcbiAqICMjIyBFeGFtcGxlXG4gKlxuICogYGBgXG4gKiBAQ29tcG9uZW50KHtkaXJlY3RpdmVzOiBbUk9VVEVSX0RJUkVDVElWRVNdfSlcbiAqIGNsYXNzIEFwcENtcCB7XG4gKiAgIC8vIC4uLlxuICogfVxuICpcbiAqIGNvbnN0IHJvdXRlciA9IFtcbiAqICAge3BhdGg6ICcvaG9tZScsIGNvbXBvbmVudDogSG9tZX1cbiAqIF07XG4gKlxuICogYm9vdHN0cmFwKEFwcENtcCwgW3Byb3ZpZGVSb3V0ZXIocm91dGVyKV0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlUm91dGVyKGNvbmZpZzogUm91dGVyQ29uZmlnKTogYW55W10ge1xuICByZXR1cm4gW1xuICAgIExvY2F0aW9uLFxuICAgIHtwcm92aWRlOiBMb2NhdGlvblN0cmF0ZWd5LCB1c2VDbGFzczogUGF0aExvY2F0aW9uU3RyYXRlZ3l9LFxuICAgIHtwcm92aWRlOiBVcmxTZXJpYWxpemVyLCB1c2VDbGFzczogRGVmYXVsdFVybFNlcmlhbGl6ZXJ9LFxuXG4gICAge1xuICAgICAgcHJvdmlkZTogUm91dGVyLFxuICAgICAgdXNlRmFjdG9yeTogKHJlZiwgcmVzb2x2ZXIsIHVybFNlcmlhbGl6ZXIsIG91dGxldE1hcCwgbG9jYXRpb24sIGluamVjdG9yKSA9PiB7XG4gICAgICAgIGlmIChyZWYuY29tcG9uZW50VHlwZXMubGVuZ3RoID09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jvb3RzdHJhcCBhdCBsZWFzdCBvbmUgY29tcG9uZW50IGJlZm9yZSBpbmplY3RpbmcgUm91dGVyLicpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSByZWYuY29tcG9uZW50VHlwZXNbMF07XG4gICAgICAgIGNvbnN0IHIgPSBuZXcgUm91dGVyKFxuICAgICAgICAgICAgY29tcG9uZW50VHlwZSwgcmVzb2x2ZXIsIHVybFNlcmlhbGl6ZXIsIG91dGxldE1hcCwgbG9jYXRpb24sIGluamVjdG9yLCBjb25maWcpO1xuICAgICAgICByZWYucmVnaXN0ZXJEaXNwb3NlTGlzdGVuZXIoKCkgPT4gci5kaXNwb3NlKCkpO1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH0sXG4gICAgICBkZXBzOlxuICAgICAgICAgIFtBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50UmVzb2x2ZXIsIFVybFNlcmlhbGl6ZXIsIFJvdXRlck91dGxldE1hcCwgTG9jYXRpb24sIEluamVjdG9yXVxuICAgIH0sXG5cbiAgICBSb3V0ZXJPdXRsZXRNYXAsXG4gICAge3Byb3ZpZGU6IEFjdGl2YXRlZFJvdXRlLCB1c2VGYWN0b3J5OiAocikgPT4gci5yb3V0ZXJTdGF0ZS5yb290LCBkZXBzOiBbUm91dGVyXX0sXG5cbiAgICAvLyBUcmlnZ2VyIGluaXRpYWwgbmF2aWdhdGlvblxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRmFjdG9yeTogKGluamVjdG9yKSA9PiB7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzkxMDFcbiAgICAgICAgLy8gRGVsYXkgdGhlIHJvdXRlciBpbnN0YW50aWF0aW9uIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgKEFwcGxpY2F0aW9uUmVmIC0+XG4gICAgICAgIC8vIEFQUF9JTklUSUFMSVpFUiAtPiBSb3V0ZXIpXG4gICAgICAgIHNldFRpbWVvdXQoXyA9PiB7XG4gICAgICAgICAgY29uc3QgYXBwUmVmID0gaW5qZWN0b3IuZ2V0KEFwcGxpY2F0aW9uUmVmKTtcbiAgICAgICAgICBpZiAoYXBwUmVmLmNvbXBvbmVudFR5cGVzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICAgICBhcHBSZWYucmVnaXN0ZXJCb290c3RyYXBMaXN0ZW5lcigoXykgPT4ge1xuICAgICAgICAgICAgICBpbmplY3Rvci5nZXQoUm91dGVyKS5pbml0aWFsTmF2aWdhdGlvbigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW5qZWN0b3IuZ2V0KFJvdXRlcikuaW5pdGlhbE5hdmlnYXRpb24oKVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgICAgIHJldHVybiBfID0+IG51bGw7XG4gICAgICB9LFxuICAgICAgZGVwczogW0luamVjdG9yXVxuICAgIH1cbiAgXTtcbn1cbiJdfQ==

@@ -171,3 +171,3 @@ import { PRIMARY_OUTLET } from './shared';

const res = {};
forEach(params, (v, k) => res[k] = v.toString());
forEach(params, (v, k) => res[k] = `${v}`);
return res;

@@ -185,2 +185,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3VybF90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZV91cmxfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FDTyxFQUFDLGNBQWMsRUFBUyxNQUFNLFVBQVU7T0FDeEMsRUFBQyxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sWUFBWTtPQUN2QyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsTUFBTSxvQkFBb0I7T0FDakQsRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjO0FBRXJDLDhCQUNJLEtBQXFCLEVBQUUsT0FBZ0IsRUFBRSxRQUFlLEVBQUUsV0FBK0IsRUFDekYsUUFBNEI7SUFDOUIsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFhLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFFLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNsRCxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUs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QUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFHZCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUd6QyxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFHekMsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUM7QUFFRCxtQkFBbUIsTUFBNEI7SUFDN0MsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsaUJBQWlCLElBQVksRUFBRSxNQUE0QixFQUFFLE9BQW1CO0lBQzlFLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQsaUJBQ0ksVUFBc0IsRUFBRSxJQUFnQyxFQUFFLElBQVc7SUFDdkUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBYSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDcEQsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFhLFVBQVUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJy4vcm91dGVyX3N0YXRlJztcbmltcG9ydCB7UFJJTUFSWV9PVVRMRVQsIFBhcmFtc30gZnJvbSAnLi9zaGFyZWQnO1xuaW1wb3J0IHtVcmxTZWdtZW50LCBVcmxUcmVlfSBmcm9tICcuL3VybF90cmVlJztcbmltcG9ydCB7Zm9yRWFjaCwgc2hhbGxvd0VxdWFsfSBmcm9tICcuL3V0aWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHtUcmVlTm9kZX0gZnJvbSAnLi91dGlscy90cmVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVybFRyZWUoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCB1cmxUcmVlOiBVcmxUcmVlLCBjb21tYW5kczogYW55W10sIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCB1bmRlZmluZWQsXG4gICAgZnJhZ21lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFVybFRyZWUge1xuICBpZiAoY29tbWFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRyZWUodXJsVHJlZS5fcm9vdCwgdXJsVHJlZSwgcXVlcnlQYXJhbXMsIGZyYWdtZW50KTtcbiAgfVxuXG4gIGNvbnN0IG5vcm1hbGl6ZWRDb21tYW5kcyA9IG5vcm1hbGl6ZUNvbW1hbmRzKGNvbW1hbmRzKTtcbiAgaWYgKG5hdmlnYXRlVG9Sb290KG5vcm1hbGl6ZWRDb21tYW5kcykpIHtcbiAgICByZXR1cm4gdHJlZShuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4odXJsVHJlZS5yb290LCBbXSksIHVybFRyZWUsIHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG4gIH1cblxuICBjb25zdCBzdGFydGluZ05vZGUgPSBmaW5kU3RhcnRpbmdOb2RlKG5vcm1hbGl6ZWRDb21tYW5kcywgdXJsVHJlZSwgcm91dGUpO1xuICBjb25zdCB1cGRhdGVkID0gbm9ybWFsaXplZENvbW1hbmRzLmNvbW1hbmRzLmxlbmd0aCA+IDAgP1xuICAgICAgdXBkYXRlTWFueShzdGFydGluZ05vZGUuY2hpbGRyZW4uc2xpY2UoMCksIG5vcm1hbGl6ZWRDb21tYW5kcy5jb21tYW5kcykgOlxuICAgICAgW107XG4gIGNvbnN0IG5ld1Jvb3QgPSBjb25zdHJ1Y3ROZXdUcmVlKHVybFRyZWUuX3Jvb3QsIHN0YXJ0aW5nTm9kZSwgdXBkYXRlZCk7XG5cbiAgcmV0dXJuIHRyZWUobmV3Um9vdCwgdXJsVHJlZSwgcXVlcnlQYXJhbXMsIGZyYWdtZW50KTtcbn1cblxuZnVuY3Rpb24gdHJlZShcbiAgICByb290OiBUcmVlTm9kZTxVcmxTZWdtZW50PiwgdXJsVHJlZTogVXJsVHJlZSwgcXVlcnlQYXJhbXM6IFBhcmFtcyB8IHVuZGVmaW5lZCxcbiAgICBmcmFnbWVudDogc3RyaW5nIHwgdW5kZWZpbmVkKTogVXJsVHJlZSB7XG4gIGNvbnN0IHEgPSBxdWVyeVBhcmFtcyA/IHN0cmluZ2lmeShxdWVyeVBhcmFtcykgOiB1cmxUcmVlLnF1ZXJ5UGFyYW1zO1xuICBjb25zdCBmID0gZnJhZ21lbnQgPyBmcmFnbWVudCA6IHVybFRyZWUuZnJhZ21lbnQ7XG4gIHJldHVybiBuZXcgVXJsVHJlZShyb290LCBxLCBmKTtcbn1cblxuZnVuY3Rpb24gbmF2aWdhdGVUb1Jvb3Qobm9ybWFsaXplZENoYW5nZTogTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyk6IGJvb2xlYW4ge1xuICByZXR1cm4gbm9ybWFsaXplZENoYW5nZS5pc0Fic29sdXRlICYmIG5vcm1hbGl6ZWRDaGFuZ2UuY29tbWFuZHMubGVuZ3RoID09PSAxICYmXG4gICAgICBub3JtYWxpemVkQ2hhbmdlLmNvbW1hbmRzWzBdID09ICcvJztcbn1cblxuY2xhc3MgTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGlzQWJzb2x1dGU6IGJvb2xlYW4sIHB1YmxpYyBudW1iZXJPZkRvdWJsZURvdHM6IG51bWJlciwgcHVibGljIGNvbW1hbmRzOiBhbnlbXSkge31cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQ29tbWFuZHMoY29tbWFuZHM6IGFueVtdKTogTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyB7XG4gIGlmICgodHlwZW9mIGNvbW1hbmRzWzBdID09PSAnc3RyaW5nJykgJiYgY29tbWFuZHMubGVuZ3RoID09PSAxICYmIGNvbW1hbmRzWzBdID09ICcvJykge1xuICAgIHJldHVybiBuZXcgTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyh0cnVlLCAwLCBjb21tYW5kcyk7XG4gIH1cblxuICBsZXQgbnVtYmVyT2ZEb3VibGVEb3RzID0gMDtcbiAgbGV0IGlzQWJzb2x1dGUgPSBmYWxzZTtcbiAgY29uc3QgcmVzID0gW107XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21tYW5kcy5sZW5ndGg7ICsraSkge1xuICAgIGNvbnN0IGMgPSBjb21tYW5kc1tpXTtcblxuICAgIGlmICghKHR5cGVvZiBjID09PSAnc3RyaW5nJykpIHtcbiAgICAgIHJlcy5wdXNoKGMpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHMgPSBjLnNwbGl0KCcvJyk7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBwYXJ0cy5sZW5ndGg7ICsraikge1xuICAgICAgbGV0IGNjID0gcGFydHNbal07XG5cbiAgICAgIC8vIGZpcnN0IGV4cCBpcyB0cmVhdGVkIGluIGEgc3BlY2lhbCB3YXlcbiAgICAgIGlmIChpID09IDApIHtcbiAgICAgICAgaWYgKGogPT0gMCAmJiBjYyA9PSAnLicpIHsgIC8vICAnLi9hJ1xuICAgICAgICAgIC8vIHNraXAgaXRcbiAgICAgICAgfSBlbHNlIGlmIChqID09IDAgJiYgY2MgPT0gJycpIHsgIC8vICAnL2EnXG4gICAgICAgICAgaXNBYnNvbHV0ZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoY2MgPT0gJy4uJykgeyAgLy8gICcuLi9hJ1xuICAgICAgICAgIG51bWJlck9mRG91YmxlRG90cysrO1xuICAgICAgICB9IGVsc2UgaWYgKGNjICE9ICcnKSB7XG4gICAgICAgICAgcmVzLnB1c2goY2MpO1xuICAgICAgICB9XG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChjYyAhPSAnJykge1xuICAgICAgICAgIHJlcy5wdXNoKGNjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcyhpc0Fic29sdXRlLCBudW1iZXJPZkRvdWJsZURvdHMsIHJlcyk7XG59XG5cbmZ1bmN0aW9uIGZpbmRTdGFydGluZ05vZGUoXG4gICAgbm9ybWFsaXplZENoYW5nZTogTm9ybWFsaXplZE5hdmlnYXRpb25Db21tYW5kcywgdXJsVHJlZTogVXJsVHJlZSxcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChub3JtYWxpemVkQ2hhbmdlLmlzQWJzb2x1dGUpIHtcbiAgICByZXR1cm4gdXJsVHJlZS5fcm9vdDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gZmluZFVybFNlZ21lbnQocm91dGUsIHVybFRyZWUsIG5vcm1hbGl6ZWRDaGFuZ2UubnVtYmVyT2ZEb3VibGVEb3RzKTtcbiAgICByZXR1cm4gZmluZE1hdGNoaW5nTm9kZSh1cmxTZWdtZW50LCB1cmxUcmVlLl9yb290KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kVXJsU2VnbWVudChcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHVybFRyZWU6IFVybFRyZWUsIG51bWJlck9mRG91YmxlRG90czogbnVtYmVyKTogVXJsU2VnbWVudCB7XG4gIGNvbnN0IHVybFNlZ21lbnQgPSByb3V0ZS5zbmFwc2hvdC5fbGFzdFVybFNlZ21lbnQ7XG4gIGNvbnN0IHBhdGggPSB1cmxUcmVlLnBhdGhGcm9tUm9vdCh1cmxTZWdtZW50KTtcbiAgaWYgKHBhdGgubGVuZ3RoIDw9IG51bWJlck9mRG91YmxlRG90cykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBudW1iZXIgb2YgXFwnLi4vXFwnJyk7XG4gIH1cbiAgcmV0dXJuIHBhdGhbcGF0aC5sZW5ndGggLSAxIC0gbnVtYmVyT2ZEb3VibGVEb3RzXTtcbn1cblxuZnVuY3Rpb24gZmluZE1hdGNoaW5nTm9kZShzZWdtZW50OiBVcmxTZWdtZW50LCBub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50Pik6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKG5vZGUudmFsdWUgPT09IHNlZ21lbnQpIHJldHVybiBub2RlO1xuICBmb3IgKGxldCBjIG9mIG5vZGUuY2hpbGRyZW4pIHtcbiAgICBjb25zdCByID0gZmluZE1hdGNoaW5nTm9kZShzZWdtZW50LCBjKTtcbiAgICBpZiAocikgcmV0dXJuIHI7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCB1cmwgc2VnbWVudCAnJHtzZWdtZW50fSdgKTtcbn1cblxuZnVuY3Rpb24gY29uc3RydWN0TmV3VHJlZShcbiAgICBub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50Piwgb3JpZ2luYWw6IFRyZWVOb2RlPFVybFNlZ21lbnQ+LFxuICAgIHVwZGF0ZWQ6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChub2RlID09PSBvcmlnaW5hbCkge1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4obm9kZS52YWx1ZSwgdXBkYXRlZCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50PihcbiAgICAgICAgbm9kZS52YWx1ZSwgbm9kZS5jaGlsZHJlbi5tYXAoYyA9PiBjb25zdHJ1Y3ROZXdUcmVlKGMsIG9yaWdpbmFsLCB1cGRhdGVkKSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU1hbnkobm9kZXM6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10sIGNvbW1hbmRzOiBhbnlbXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+W10ge1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBub2Rlc0luUmlnaHRPdXRsZXQgPSBub2Rlcy5maWx0ZXIoYyA9PiBjLnZhbHVlLm91dGxldCA9PT0gb3V0bGV0KTtcbiAgaWYgKG5vZGVzSW5SaWdodE91dGxldC5sZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgbm9kZVJpZ2h0T3V0bGV0ID0gbm9kZXNJblJpZ2h0T3V0bGV0WzBdOyAgLy8gdGhlcmUgY2FuIGJlIG9ubHkgb25lXG4gICAgbm9kZXNbbm9kZXMuaW5kZXhPZihub2RlUmlnaHRPdXRsZXQpXSA9IHVwZGF0ZShub2RlUmlnaHRPdXRsZXQsIGNvbW1hbmRzKTtcbiAgfSBlbHNlIHtcbiAgICBub2Rlcy5wdXNoKHVwZGF0ZShudWxsLCBjb21tYW5kcykpO1xuICB9XG4gIHJldHVybiBub2Rlcztcbn1cblxuZnVuY3Rpb24gZ2V0UGF0aChjb21tYW5kczogYW55W10pOiBhbnkge1xuICBpZiAoISh0eXBlb2YgY29tbWFuZHNbMF0gPT09ICdzdHJpbmcnKSkgcmV0dXJuIGNvbW1hbmRzWzBdO1xuICBjb25zdCBwYXJ0cyA9IGNvbW1hbmRzWzBdLnRvU3RyaW5nKCkuc3BsaXQoJzonKTtcbiAgcmV0dXJuIHBhcnRzLmxlbmd0aCA+IDEgPyBwYXJ0c1sxXSA6IGNvbW1hbmRzWzBdO1xufVxuXG5mdW5jdGlvbiBnZXRPdXRsZXQoY29tbWFuZHM6IGFueVtdKTogc3RyaW5nIHtcbiAgaWYgKCEodHlwZW9mIGNvbW1hbmRzWzBdID09PSAnc3RyaW5nJykpIHJldHVybiBQUklNQVJZX09VVExFVDtcbiAgY29uc3QgcGFydHMgPSBjb21tYW5kc1swXS50b1N0cmluZygpLnNwbGl0KCc6Jyk7XG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMF0gOiBQUklNQVJZX09VVExFVDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlKG5vZGU6IFRyZWVOb2RlPFVybFNlZ21lbnQ+fCBudWxsLCBjb21tYW5kczogYW55W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGNvbnN0IHJlc3QgPSBjb21tYW5kcy5zbGljZSgxKTtcbiAgY29uc3QgbmV4dCA9IHJlc3QubGVuZ3RoID09PSAwID8gbnVsbCA6IHJlc3RbMF07XG4gIGNvbnN0IG91dGxldCA9IGdldE91dGxldChjb21tYW5kcyk7XG4gIGNvbnN0IHBhdGggPSBnZXRQYXRoKGNvbW1hbmRzKTtcblxuICAvLyByZWFjaCB0aGUgZW5kIG9mIHRoZSB0cmVlID0+IGNyZWF0ZSBuZXcgdHJlZSBub2Rlcy5cbiAgaWYgKCFub2RlICYmICEodHlwZW9mIG5leHQgPT09ICdvYmplY3QnKSkge1xuICAgIGNvbnN0IHVybFNlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChwYXRoLCB7fSwgb3V0bGV0KTtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHJlc3QubGVuZ3RoID09PSAwID8gW10gOiBbdXBkYXRlKG51bGwsIHJlc3QpXTtcbiAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFNlZ21lbnQsIGNoaWxkcmVuKTtcblxuICB9IGVsc2UgaWYgKCFub2RlICYmIHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHVybFNlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChwYXRoLCBzdHJpbmdpZnkobmV4dCksIG91dGxldCk7XG4gICAgcmV0dXJuIHJlY3Vyc2UodXJsU2VnbWVudCwgbm9kZSwgcmVzdC5zbGljZSgxKSk7XG5cbiAgICAvLyBkaWZmZXJlbnQgb3V0bGV0ID0+IHByZXNlcnZlIHRoZSBzdWJ0cmVlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiBvdXRsZXQgIT09IG5vZGUudmFsdWUub3V0bGV0KSB7XG4gICAgcmV0dXJuIG5vZGU7XG5cbiAgICAvLyBwYXJhbXMgY29tbWFuZFxuICB9IGVsc2UgaWYgKG5vZGUgJiYgdHlwZW9mIHBhdGggPT09ICdvYmplY3QnKSB7XG4gICAgY29uc3QgbmV3U2VnbWVudCA9IG5ldyBVcmxTZWdtZW50KG5vZGUudmFsdWUucGF0aCwgc3RyaW5naWZ5KHBhdGgpLCBub2RlLnZhbHVlLm91dGxldCk7XG4gICAgcmV0dXJuIHJlY3Vyc2UobmV3U2VnbWVudCwgbm9kZSwgcmVzdCk7XG5cbiAgICAvLyBuZXh0IG9uZSBpcyBhIHBhcmFtcyBjb21tYW5kICYmIGNhbiByZXVzZSB0aGUgbm9kZVxuICB9IGVsc2UgaWYgKG5vZGUgJiYgdHlwZW9mIG5leHQgPT09ICdvYmplY3QnICYmIGNvbXBhcmUocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBub2RlLnZhbHVlKSkge1xuICAgIHJldHVybiByZWN1cnNlKG5vZGUudmFsdWUsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW5ub3QgcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHVybFNlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChwYXRoLCBzdHJpbmdpZnkobmV4dCksIG91dGxldCk7XG4gICAgcmV0dXJuIHJlY3Vyc2UodXJsU2VnbWVudCwgbm9kZSwgcmVzdC5zbGljZSgxKSk7XG5cbiAgICAvLyBuZXh0IG9uZSBpcyBub3QgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW4gcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIGlmIChub2RlICYmIGNvbXBhcmUocGF0aCwge30sIG5vZGUudmFsdWUpKSB7XG4gICAgcmV0dXJuIHJlY3Vyc2Uobm9kZS52YWx1ZSwgbm9kZSwgcmVzdCk7XG5cbiAgICAvLyBuZXh0IG9uZSBpcyBub3QgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW5ub3QgcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwge30sIG91dGxldCk7XG4gICAgcmV0dXJuIHJlY3Vyc2UodXJsU2VnbWVudCwgbm9kZSwgcmVzdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5KHBhcmFtczoge1trZXk6IHN0cmluZ106IGFueX0pOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSB7XG4gIGNvbnN0IHJlcyA9IHt9O1xuICBmb3JFYWNoKHBhcmFtcywgKHYsIGspID0+IHJlc1trXSA9IHYudG9TdHJpbmcoKSk7XG4gIHJldHVybiByZXM7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmUocGF0aDogc3RyaW5nLCBwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9LCBzZWdtZW50OiBVcmxTZWdtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBwYXRoID09IHNlZ21lbnQucGF0aCAmJiBzaGFsbG93RXF1YWwocGFyYW1zLCBzZWdtZW50LnBhcmFtZXRlcnMpO1xufVxuXG5mdW5jdGlvbiByZWN1cnNlKFxuICAgIHVybFNlZ21lbnQ6IFVybFNlZ21lbnQsIG5vZGU6IFRyZWVOb2RlPFVybFNlZ21lbnQ+fCBudWxsLCByZXN0OiBhbnlbXSk6IFRyZWVOb2RlPFVybFNlZ21lbnQ+IHtcbiAgaWYgKHJlc3QubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBbXSk7XG4gIH1cbiAgY29uc3QgY2hpbGRyZW4gPSBub2RlID8gbm9kZS5jaGlsZHJlbi5zbGljZSgwKSA6IFtdO1xuICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFNlZ21lbnQsIHVwZGF0ZU1hbnkoY2hpbGRyZW4sIHJlc3QpKTtcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3VybF90cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZV91cmxfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FDTyxFQUFDLGNBQWMsRUFBUyxNQUFNLFVBQVU7T0FDeEMsRUFBQyxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sWUFBWTtPQUN2QyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsTUFBTSxvQkFBb0I7T0FDakQsRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjO0FBRXJDLDhCQUNJLEtBQXFCLEVBQUUsT0FBZ0IsRUFBRSxRQUFlLEVBQUUsV0FBK0IsRUFDekYsUUFBNEI7SUFDOUIsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFhLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFFLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNsRCxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUs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QUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFHZCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUd6QyxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRCxDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFHekMsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUM7QUFFRCxtQkFBbUIsTUFBNEI7SUFDN0MsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2YsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxNQUFNLENBQUMsR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELGlCQUFpQixJQUFZLEVBQUUsTUFBNEIsRUFBRSxPQUFtQjtJQUM5RSxNQUFNLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVELGlCQUNJLFVBQXNCLEVBQUUsSUFBZ0MsRUFBRSxJQUFXO0lBQ3ZFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsSUFBSSxRQUFRLENBQWEsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BELE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBYSxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICcuL3JvdXRlcl9zdGF0ZSc7XG5pbXBvcnQge1BSSU1BUllfT1VUTEVULCBQYXJhbXN9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7VXJsU2VnbWVudCwgVXJsVHJlZX0gZnJvbSAnLi91cmxfdHJlZSc7XG5pbXBvcnQge2ZvckVhY2gsIHNoYWxsb3dFcXVhbH0gZnJvbSAnLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7VHJlZU5vZGV9IGZyb20gJy4vdXRpbHMvdHJlZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVcmxUcmVlKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgdXJsVHJlZTogVXJsVHJlZSwgY29tbWFuZHM6IGFueVtdLCBxdWVyeVBhcmFtczogUGFyYW1zIHwgdW5kZWZpbmVkLFxuICAgIGZyYWdtZW50OiBzdHJpbmcgfCB1bmRlZmluZWQpOiBVcmxUcmVlIHtcbiAgaWYgKGNvbW1hbmRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0cmVlKHVybFRyZWUuX3Jvb3QsIHVybFRyZWUsIHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkQ29tbWFuZHMgPSBub3JtYWxpemVDb21tYW5kcyhjb21tYW5kcyk7XG4gIGlmIChuYXZpZ2F0ZVRvUm9vdChub3JtYWxpemVkQ29tbWFuZHMpKSB7XG4gICAgcmV0dXJuIHRyZWUobmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KHVybFRyZWUucm9vdCwgW10pLCB1cmxUcmVlLCBxdWVyeVBhcmFtcywgZnJhZ21lbnQpO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRpbmdOb2RlID0gZmluZFN0YXJ0aW5nTm9kZShub3JtYWxpemVkQ29tbWFuZHMsIHVybFRyZWUsIHJvdXRlKTtcbiAgY29uc3QgdXBkYXRlZCA9IG5vcm1hbGl6ZWRDb21tYW5kcy5jb21tYW5kcy5sZW5ndGggPiAwID9cbiAgICAgIHVwZGF0ZU1hbnkoc3RhcnRpbmdOb2RlLmNoaWxkcmVuLnNsaWNlKDApLCBub3JtYWxpemVkQ29tbWFuZHMuY29tbWFuZHMpIDpcbiAgICAgIFtdO1xuICBjb25zdCBuZXdSb290ID0gY29uc3RydWN0TmV3VHJlZSh1cmxUcmVlLl9yb290LCBzdGFydGluZ05vZGUsIHVwZGF0ZWQpO1xuXG4gIHJldHVybiB0cmVlKG5ld1Jvb3QsIHVybFRyZWUsIHF1ZXJ5UGFyYW1zLCBmcmFnbWVudCk7XG59XG5cbmZ1bmN0aW9uIHRyZWUoXG4gICAgcm9vdDogVHJlZU5vZGU8VXJsU2VnbWVudD4sIHVybFRyZWU6IFVybFRyZWUsIHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfCB1bmRlZmluZWQsXG4gICAgZnJhZ21lbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFVybFRyZWUge1xuICBjb25zdCBxID0gcXVlcnlQYXJhbXMgPyBzdHJpbmdpZnkocXVlcnlQYXJhbXMpIDogdXJsVHJlZS5xdWVyeVBhcmFtcztcbiAgY29uc3QgZiA9IGZyYWdtZW50ID8gZnJhZ21lbnQgOiB1cmxUcmVlLmZyYWdtZW50O1xuICByZXR1cm4gbmV3IFVybFRyZWUocm9vdCwgcSwgZik7XG59XG5cbmZ1bmN0aW9uIG5hdmlnYXRlVG9Sb290KG5vcm1hbGl6ZWRDaGFuZ2U6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZWRDaGFuZ2UuaXNBYnNvbHV0ZSAmJiBub3JtYWxpemVkQ2hhbmdlLmNvbW1hbmRzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgbm9ybWFsaXplZENoYW5nZS5jb21tYW5kc1swXSA9PSAnLyc7XG59XG5cbmNsYXNzIE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBpc0Fic29sdXRlOiBib29sZWFuLCBwdWJsaWMgbnVtYmVyT2ZEb3VibGVEb3RzOiBudW1iZXIsIHB1YmxpYyBjb21tYW5kczogYW55W10pIHt9XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUNvbW1hbmRzKGNvbW1hbmRzOiBhbnlbXSk6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMge1xuICBpZiAoKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gJ3N0cmluZycpICYmIGNvbW1hbmRzLmxlbmd0aCA9PT0gMSAmJiBjb21tYW5kc1swXSA9PSAnLycpIHtcbiAgICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHModHJ1ZSwgMCwgY29tbWFuZHMpO1xuICB9XG5cbiAgbGV0IG51bWJlck9mRG91YmxlRG90cyA9IDA7XG4gIGxldCBpc0Fic29sdXRlID0gZmFsc2U7XG4gIGNvbnN0IHJlcyA9IFtdO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29tbWFuZHMubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBjID0gY29tbWFuZHNbaV07XG5cbiAgICBpZiAoISh0eXBlb2YgYyA9PT0gJ3N0cmluZycpKSB7XG4gICAgICByZXMucHVzaChjKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnRzID0gYy5zcGxpdCgnLycpO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgcGFydHMubGVuZ3RoOyArK2opIHtcbiAgICAgIGxldCBjYyA9IHBhcnRzW2pdO1xuXG4gICAgICAvLyBmaXJzdCBleHAgaXMgdHJlYXRlZCBpbiBhIHNwZWNpYWwgd2F5XG4gICAgICBpZiAoaSA9PSAwKSB7XG4gICAgICAgIGlmIChqID09IDAgJiYgY2MgPT0gJy4nKSB7ICAvLyAgJy4vYSdcbiAgICAgICAgICAvLyBza2lwIGl0XG4gICAgICAgIH0gZWxzZSBpZiAoaiA9PSAwICYmIGNjID09ICcnKSB7ICAvLyAgJy9hJ1xuICAgICAgICAgIGlzQWJzb2x1dGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGNjID09ICcuLicpIHsgIC8vICAnLi4vYSdcbiAgICAgICAgICBudW1iZXJPZkRvdWJsZURvdHMrKztcbiAgICAgICAgfSBlbHNlIGlmIChjYyAhPSAnJykge1xuICAgICAgICAgIHJlcy5wdXNoKGNjKTtcbiAgICAgICAgfVxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY2MgIT0gJycpIHtcbiAgICAgICAgICByZXMucHVzaChjYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMoaXNBYnNvbHV0ZSwgbnVtYmVyT2ZEb3VibGVEb3RzLCByZXMpO1xufVxuXG5mdW5jdGlvbiBmaW5kU3RhcnRpbmdOb2RlKFxuICAgIG5vcm1hbGl6ZWRDaGFuZ2U6IE5vcm1hbGl6ZWROYXZpZ2F0aW9uQ29tbWFuZHMsIHVybFRyZWU6IFVybFRyZWUsXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBpZiAobm9ybWFsaXplZENoYW5nZS5pc0Fic29sdXRlKSB7XG4gICAgcmV0dXJuIHVybFRyZWUuX3Jvb3Q7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IGZpbmRVcmxTZWdtZW50KHJvdXRlLCB1cmxUcmVlLCBub3JtYWxpemVkQ2hhbmdlLm51bWJlck9mRG91YmxlRG90cyk7XG4gICAgcmV0dXJuIGZpbmRNYXRjaGluZ05vZGUodXJsU2VnbWVudCwgdXJsVHJlZS5fcm9vdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZFVybFNlZ21lbnQoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCB1cmxUcmVlOiBVcmxUcmVlLCBudW1iZXJPZkRvdWJsZURvdHM6IG51bWJlcik6IFVybFNlZ21lbnQge1xuICBjb25zdCB1cmxTZWdtZW50ID0gcm91dGUuc25hcHNob3QuX2xhc3RVcmxTZWdtZW50O1xuICBjb25zdCBwYXRoID0gdXJsVHJlZS5wYXRoRnJvbVJvb3QodXJsU2VnbWVudCk7XG4gIGlmIChwYXRoLmxlbmd0aCA8PSBudW1iZXJPZkRvdWJsZURvdHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbnVtYmVyIG9mIFxcJy4uL1xcJycpO1xuICB9XG4gIHJldHVybiBwYXRoW3BhdGgubGVuZ3RoIC0gMSAtIG51bWJlck9mRG91YmxlRG90c107XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudDogVXJsU2VnbWVudCwgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChub2RlLnZhbHVlID09PSBzZWdtZW50KSByZXR1cm4gbm9kZTtcbiAgZm9yIChsZXQgYyBvZiBub2RlLmNoaWxkcmVuKSB7XG4gICAgY29uc3QgciA9IGZpbmRNYXRjaGluZ05vZGUoc2VnbWVudCwgYyk7XG4gICAgaWYgKHIpIHJldHVybiByO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgdXJsIHNlZ21lbnQgJyR7c2VnbWVudH0nYCk7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdE5ld1RyZWUoXG4gICAgbm9kZTogVHJlZU5vZGU8VXJsU2VnbWVudD4sIG9yaWdpbmFsOiBUcmVlTm9kZTxVcmxTZWdtZW50PixcbiAgICB1cGRhdGVkOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBpZiAobm9kZSA9PT0gb3JpZ2luYWwpIHtcbiAgICByZXR1cm4gbmV3IFRyZWVOb2RlPFVybFNlZ21lbnQ+KG5vZGUudmFsdWUsIHVwZGF0ZWQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4oXG4gICAgICAgIG5vZGUudmFsdWUsIG5vZGUuY2hpbGRyZW4ubWFwKGMgPT4gY29uc3RydWN0TmV3VHJlZShjLCBvcmlnaW5hbCwgdXBkYXRlZCkpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVNYW55KG5vZGVzOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdLCBjb21tYW5kczogYW55W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PltdIHtcbiAgY29uc3Qgb3V0bGV0ID0gZ2V0T3V0bGV0KGNvbW1hbmRzKTtcbiAgY29uc3Qgbm9kZXNJblJpZ2h0T3V0bGV0ID0gbm9kZXMuZmlsdGVyKGMgPT4gYy52YWx1ZS5vdXRsZXQgPT09IG91dGxldCk7XG4gIGlmIChub2Rlc0luUmlnaHRPdXRsZXQubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IG5vZGVSaWdodE91dGxldCA9IG5vZGVzSW5SaWdodE91dGxldFswXTsgIC8vIHRoZXJlIGNhbiBiZSBvbmx5IG9uZVxuICAgIG5vZGVzW25vZGVzLmluZGV4T2Yobm9kZVJpZ2h0T3V0bGV0KV0gPSB1cGRhdGUobm9kZVJpZ2h0T3V0bGV0LCBjb21tYW5kcyk7XG4gIH0gZWxzZSB7XG4gICAgbm9kZXMucHVzaCh1cGRhdGUobnVsbCwgY29tbWFuZHMpKTtcbiAgfVxuICByZXR1cm4gbm9kZXM7XG59XG5cbmZ1bmN0aW9uIGdldFBhdGgoY29tbWFuZHM6IGFueVtdKTogYW55IHtcbiAgaWYgKCEodHlwZW9mIGNvbW1hbmRzWzBdID09PSAnc3RyaW5nJykpIHJldHVybiBjb21tYW5kc1swXTtcbiAgY29uc3QgcGFydHMgPSBjb21tYW5kc1swXS50b1N0cmluZygpLnNwbGl0KCc6Jyk7XG4gIHJldHVybiBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMV0gOiBjb21tYW5kc1swXTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0bGV0KGNvbW1hbmRzOiBhbnlbXSk6IHN0cmluZyB7XG4gIGlmICghKHR5cGVvZiBjb21tYW5kc1swXSA9PT0gJ3N0cmluZycpKSByZXR1cm4gUFJJTUFSWV9PVVRMRVQ7XG4gIGNvbnN0IHBhcnRzID0gY29tbWFuZHNbMF0udG9TdHJpbmcoKS5zcGxpdCgnOicpO1xuICByZXR1cm4gcGFydHMubGVuZ3RoID4gMSA/IHBhcnRzWzBdIDogUFJJTUFSWV9PVVRMRVQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZShub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PnwgbnVsbCwgY29tbWFuZHM6IGFueVtdKTogVHJlZU5vZGU8VXJsU2VnbWVudD4ge1xuICBjb25zdCByZXN0ID0gY29tbWFuZHMuc2xpY2UoMSk7XG4gIGNvbnN0IG5leHQgPSByZXN0Lmxlbmd0aCA9PT0gMCA/IG51bGwgOiByZXN0WzBdO1xuICBjb25zdCBvdXRsZXQgPSBnZXRPdXRsZXQoY29tbWFuZHMpO1xuICBjb25zdCBwYXRoID0gZ2V0UGF0aChjb21tYW5kcyk7XG5cbiAgLy8gcmVhY2ggdGhlIGVuZCBvZiB0aGUgdHJlZSA9PiBjcmVhdGUgbmV3IHRyZWUgbm9kZXMuXG4gIGlmICghbm9kZSAmJiAhKHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JykpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwge30sIG91dGxldCk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSByZXN0Lmxlbmd0aCA9PT0gMCA/IFtdIDogW3VwZGF0ZShudWxsLCByZXN0KV07XG4gICAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCBjaGlsZHJlbik7XG5cbiAgfSBlbHNlIGlmICghbm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gZGlmZmVyZW50IG91dGxldCA9PiBwcmVzZXJ2ZSB0aGUgc3VidHJlZVxuICB9IGVsc2UgaWYgKG5vZGUgJiYgb3V0bGV0ICE9PSBub2RlLnZhbHVlLm91dGxldCkge1xuICAgIHJldHVybiBub2RlO1xuXG4gICAgLy8gcGFyYW1zIGNvbW1hbmRcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBwYXRoID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IG5ld1NlZ21lbnQgPSBuZXcgVXJsU2VnbWVudChub2RlLnZhbHVlLnBhdGgsIHN0cmluZ2lmeShwYXRoKSwgbm9kZS52YWx1ZS5vdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKG5ld1NlZ21lbnQsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgYSBwYXJhbXMgY29tbWFuZCAmJiBjYW4gcmV1c2UgdGhlIG5vZGVcbiAgfSBlbHNlIGlmIChub2RlICYmIHR5cGVvZiBuZXh0ID09PSAnb2JqZWN0JyAmJiBjb21wYXJlKHBhdGgsIHN0cmluZ2lmeShuZXh0KSwgbm9kZS52YWx1ZSkpIHtcbiAgICByZXR1cm4gcmVjdXJzZShub2RlLnZhbHVlLCBub2RlLCByZXN0LnNsaWNlKDEpKTtcblxuICAgIC8vIG5leHQgb25lIGlzIGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiB0eXBlb2YgbmV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB1cmxTZWdtZW50ID0gbmV3IFVybFNlZ21lbnQocGF0aCwgc3RyaW5naWZ5KG5leHQpLCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3Quc2xpY2UoMSkpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2FuIHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSBpZiAobm9kZSAmJiBjb21wYXJlKHBhdGgsIHt9LCBub2RlLnZhbHVlKSkge1xuICAgIHJldHVybiByZWN1cnNlKG5vZGUudmFsdWUsIG5vZGUsIHJlc3QpO1xuXG4gICAgLy8gbmV4dCBvbmUgaXMgbm90IGEgcGFyYW1zIGNvbW1hbmQgJiYgY2Fubm90IHJldXNlIHRoZSBub2RlXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdXJsU2VnbWVudCA9IG5ldyBVcmxTZWdtZW50KHBhdGgsIHt9LCBvdXRsZXQpO1xuICAgIHJldHVybiByZWN1cnNlKHVybFNlZ21lbnQsIG5vZGUsIHJlc3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeShwYXJhbXM6IHtba2V5OiBzdHJpbmddOiBhbnl9KToge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICBjb25zdCByZXMgPSB7fTtcbiAgZm9yRWFjaChwYXJhbXMsICh2LCBrKSA9PiByZXNba10gPSBgJHt2fWApO1xuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlKHBhdGg6IHN0cmluZywgcGFyYW1zOiB7W2tleTogc3RyaW5nXTogYW55fSwgc2VnbWVudDogVXJsU2VnbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcGF0aCA9PSBzZWdtZW50LnBhdGggJiYgc2hhbGxvd0VxdWFsKHBhcmFtcywgc2VnbWVudC5wYXJhbWV0ZXJzKTtcbn1cblxuZnVuY3Rpb24gcmVjdXJzZShcbiAgICB1cmxTZWdtZW50OiBVcmxTZWdtZW50LCBub2RlOiBUcmVlTm9kZTxVcmxTZWdtZW50PnwgbnVsbCwgcmVzdDogYW55W10pOiBUcmVlTm9kZTxVcmxTZWdtZW50PiB7XG4gIGlmIChyZXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBuZXcgVHJlZU5vZGU8VXJsU2VnbWVudD4odXJsU2VnbWVudCwgW10pO1xuICB9XG4gIGNvbnN0IGNoaWxkcmVuID0gbm9kZSA/IG5vZGUuY2hpbGRyZW4uc2xpY2UoMCkgOiBbXTtcbiAgcmV0dXJuIG5ldyBUcmVlTm9kZTxVcmxTZWdtZW50Pih1cmxTZWdtZW50LCB1cGRhdGVNYW55KGNoaWxkcmVuLCByZXN0KSk7XG59Il19
{
"name": "@angular/router",
"version": "3.0.0-alpha.1",
"version": "3.0.0-alpha.2",
"description": "",

@@ -5,0 +5,0 @@ "main": "./index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc