ng2-rest 16.0.12 → 16.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/content-type.mjs +1 -1
- package/browser/esm2022/lib/cookie.mjs +1 -1
- package/browser/esm2022/lib/helpers.mjs +1 -1
- package/browser/esm2022/lib/index.mjs +2 -2
- package/browser/esm2022/lib/mapping.mjs +1 -1
- package/browser/esm2022/lib/models.mjs +3 -1
- package/browser/esm2022/lib/other/simple-resource.mjs +2 -2
- package/browser/esm2022/lib/params.mjs +1 -1
- package/browser/esm2022/lib/request-cache.mjs +1 -1
- package/browser/esm2022/lib/{resource.service.mjs → resource-service.mjs} +2 -2
- package/browser/esm2022/lib/rest-headers.mjs +1 -1
- package/browser/esm2022/lib/rest-request.mjs +2 -2
- package/browser/esm2022/lib/rest.class.mjs +1 -1
- package/browser/fesm2022/ng2-rest.mjs +3 -1
- package/browser/fesm2022/ng2-rest.mjs.map +1 -1
- package/browser/lib/index.d.ts +1 -1
- package/client/esm2022/lib/content-type.mjs +1 -1
- package/client/esm2022/lib/cookie.mjs +1 -1
- package/client/esm2022/lib/helpers.mjs +1 -1
- package/client/esm2022/lib/index.mjs +2 -2
- package/client/esm2022/lib/mapping.mjs +1 -1
- package/client/esm2022/lib/models.mjs +3 -1
- package/client/esm2022/lib/other/simple-resource.mjs +2 -2
- package/client/esm2022/lib/params.mjs +1 -1
- package/client/esm2022/lib/request-cache.mjs +1 -1
- package/client/esm2022/lib/{resource.service.mjs → resource-service.mjs} +2 -2
- package/client/esm2022/lib/rest-headers.mjs +1 -1
- package/client/esm2022/lib/rest-request.mjs +2 -2
- package/client/esm2022/lib/rest.class.mjs +1 -1
- package/client/fesm2022/ng2-rest.mjs +3 -1
- package/client/fesm2022/ng2-rest.mjs.map +1 -1
- package/client/lib/index.d.ts +1 -1
- package/client/package.json +66 -44
- package/index.js.map +1 -1
- package/lib/content-type.js.map +1 -1
- package/lib/cookie.js.map +1 -1
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/mapping.js.map +1 -1
- package/lib/models.d.ts +2 -0
- package/lib/models.js +1 -0
- package/lib/models.js.map +1 -1
- package/lib/other/simple-resource.js +1 -1
- package/lib/other/simple-resource.js.map +1 -1
- package/lib/params.js.map +1 -1
- package/lib/request-cache.js.map +1 -1
- package/lib/{resource.service.js → resource-service.js} +1 -1
- package/lib/resource-service.js.map +1 -0
- package/lib/rest-headers.js.map +1 -1
- package/lib/rest-request.js +1 -1
- package/lib/rest-request.js.map +1 -1
- package/lib/rest.class.js.map +1 -1
- package/package.json +4 -4
- package/tmp-environment.json +72 -52
- package/websql/esm2022/lib/content-type.mjs +1 -1
- package/websql/esm2022/lib/cookie.mjs +1 -1
- package/websql/esm2022/lib/helpers.mjs +1 -1
- package/websql/esm2022/lib/index.mjs +2 -2
- package/websql/esm2022/lib/mapping.mjs +1 -1
- package/websql/esm2022/lib/models.mjs +3 -1
- package/websql/esm2022/lib/other/simple-resource.mjs +2 -2
- package/websql/esm2022/lib/params.mjs +1 -1
- package/websql/esm2022/lib/request-cache.mjs +1 -1
- package/websql/esm2022/lib/{resource.service.mjs → resource-service.mjs} +2 -2
- package/websql/esm2022/lib/rest-headers.mjs +1 -1
- package/websql/esm2022/lib/rest-request.mjs +2 -2
- package/websql/esm2022/lib/rest.class.mjs +1 -1
- package/websql/fesm2022/ng2-rest.mjs +3 -1
- package/websql/fesm2022/ng2-rest.mjs.map +1 -1
- package/websql/lib/index.d.ts +1 -1
- package/lib/resource.service.js.map +0 -1
- /package/browser/lib/{resource.service.d.ts → resource-service.d.ts} +0 -0
- /package/client/lib/{resource.service.d.ts → resource-service.d.ts} +0 -0
- /package/lib/{resource.service.d.ts → resource-service.d.ts} +0 -0
- /package/websql/lib/{resource.service.d.ts → resource-service.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
2
2
|
|
|
3
|
-
Assets from this folder are being shipped with this npm package (ng2-rest@16.0.
|
|
3
|
+
Assets from this folder are being shipped with this npm package (ng2-rest@16.0.15)
|
|
4
4
|
created from this project.
|
|
5
5
|
|
|
6
6
|
THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
|
|
@@ -10,4 +10,4 @@ export const CONTENT_TYPE = {
|
|
|
10
10
|
}),
|
|
11
11
|
};
|
|
12
12
|
({}); // @--end-of-file-for-module=ng2-rest lib/content-type.ts
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL2NvbnRlbnQtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDakMsY0FBYyxFQUFFLGtCQUFrQjtRQUNsQyxRQUFRLEVBQUUsa0JBQWtCO0tBQzdCLENBQUM7SUFDRix3QkFBd0IsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3pDLGNBQWMsRUFBRSwwQkFBMEI7UUFDMUMsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQyxDQUFDO0NBQ0gsQ0FFQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5REFBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgUmVzdEhlYWRlcnMgfSBmcm9tIFwiLi9yZXN0LWhlYWRlcnNcIjtcblxuXG5leHBvcnQgY29uc3QgQ09OVEVOVF9UWVBFID0ge1xuICBBUFBMSUNBVElPTl9KU09OOiBSZXN0SGVhZGVycy5mcm9tKHtcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbidcbiAgfSksXG4gIEFQUExJQ0FUSU5PX1ZORF9BUElfSlNPTjogUmVzdEhlYWRlcnMuZnJvbSh7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24nLFxuICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vdm5kLmFwaStqc29uJ1xuICB9KSxcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9jb250ZW50LXR5cGUudHMiXX0=
|
|
@@ -26,4 +26,4 @@ export class Cookie {
|
|
|
26
26
|
}
|
|
27
27
|
;
|
|
28
28
|
({}); // @--end-of-file-for-module=ng2-rest lib/cookie.ts
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL2Nvb2tpZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sTUFBTTtJQUVSLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztTQUNwQztRQUNELE9BQU8sTUFBTSxDQUFDLFVBQWlCLENBQUM7SUFDcEMsQ0FBQztJQUdEO0lBQ0EsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFZO1FBQ2IsSUFBSSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEcsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxJQUFhO1FBQzVDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztTQUNuQjtRQUVELElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLE9BQU8sR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWhELFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLEdBQUcsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBRUo7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY2xhc3MgQ29va2llIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IEluc3RhbmNlKCk6IENvb2tpZSB7XG4gICAgICAgIGlmICghQ29va2llLl9faW5zdGFuY2UpIHtcbiAgICAgICAgICAgIENvb2tpZS5fX2luc3RhbmNlID0gbmV3IENvb2tpZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBDb29raWUuX19pbnN0YW5jZSBhcyBhbnk7XG4gICAgfVxuICAgIHByaXZhdGUgc3RhdGljIF9faW5zdGFuY2U7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cblxuICAgIHJlYWQobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBuZXcgUmVnRXhwKCcoPzpefDsgKScgKyBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPShbXjtdKiknKS5leGVjKGRvY3VtZW50LmNvb2tpZSk7XG4gICAgICAgIHJldHVybiByZXN1bHQgPyByZXN1bHRbMV0gOiBudWxsO1xuICAgIH1cblxuICAgIHdyaXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZGF5cz86IG51bWJlcikge1xuICAgICAgICBpZiAoIWRheXMpIHtcbiAgICAgICAgICAgIGRheXMgPSAzNjUgKiAyMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgKGRheXMgKiAyNCAqIDYwICogNjAgKiAxMDAwKSk7XG5cbiAgICAgICAgdmFyIGV4cGlyZXMgPSBcIjsgZXhwaXJlcz1cIiArIGRhdGUudG9VVENTdHJpbmcoKTtcblxuICAgICAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgXCI9XCIgKyB2YWx1ZSArIGV4cGlyZXMgKyBcIjsgcGF0aD0vXCI7XG4gICAgfVxuXG4gICAgcmVtb3ZlKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLndyaXRlKG5hbWUsIFwiXCIsIC0xKTtcbiAgICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9jb29raWUudHMiXX0=
|
|
@@ -22,4 +22,4 @@ class Helpers extends CoreHelpers {
|
|
|
22
22
|
export { Helpers };
|
|
23
23
|
;
|
|
24
24
|
({}); // @--end-of-file-for-module=ng2-rest lib/helpers.ts
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxhQUFhO0FBQ2IsTUFBYSxPQUFRLFNBQVEsV0FBVzthQUUvQixTQUFJLEdBQUcsTUFBTSxDQUFDO0lBRXJCLE1BQU0sS0FBSyxPQUFPO1FBQ2hCLE9BQU87WUFDTCxNQUFNLENBQWUsSUFBWSxFQUFFLE9BQXdCO2dCQUN6RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBWSxFQUFFLFVBQVUsR0FBRyxLQUFLO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1lBQ3pDLENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVztRQUM5QixJQUFJLEtBQUssR0FBRyw2RUFBNkUsQ0FBQztRQUMxRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQzs7U0FsQlUsT0FBTztBQXdCbkIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IE1hcHBpbmcgfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgSlNPTjEwIH0gZnJvbSAnanNvbjEwL2Jyb3dzZXInO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY2xhc3MgSGVscGVycyBleHRlbmRzIENvcmVIZWxwZXJzIHtcblxuICBzdGF0aWMgSlNPTiA9IEpTT04xMDtcblxuICBzdGF0aWMgZ2V0IE1hcHBpbmcoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVuY29kZTxUID0gRnVuY3Rpb24+KGpzb246IE9iamVjdCwgbWFwcGluZzogTWFwcGluZy5NYXBwaW5nKTogVCB7XG4gICAgICAgIHJldHVybiBNYXBwaW5nLmVuY29kZShqc29uLCBtYXBwaW5nKTtcbiAgICAgIH0sXG4gICAgICBkZWNvZGUoanNvbjogT2JqZWN0LCBhdXRvZGV0ZWN0ID0gZmFsc2UgKTogTWFwcGluZy5NYXBwaW5nIHtcbiAgICAgICAgcmV0dXJuIE1hcHBpbmcuZGVjb2RlKGpzb24sIGF1dG9kZXRlY3QpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGNoZWNrVmFsaWRVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgcmVnZXggPSAvKGh0dHB8aHR0cHMpOlxcL1xcLyhcXHcrOnswLDF9XFx3Kik/KFxcUyspKDpbMC05XSspPyhcXC98XFwvKFtcXHcjITouPys9JiUhXFwtXFwvXSkpPy87XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QodXJsKTtcbiAgfVxuXG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL2hlbHBlcnMudHMiXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './resource
|
|
1
|
+
export * from './resource-service';
|
|
2
2
|
export * from './models';
|
|
3
3
|
export * from './mapping';
|
|
4
4
|
export * from './rest.class';
|
|
@@ -10,4 +10,4 @@ export { SimpleResource } from './other/simple-resource';
|
|
|
10
10
|
export { interpolateParamsToUrl } from './params';
|
|
11
11
|
;
|
|
12
12
|
({}); // @--end-of-file-for-module=ng2-rest lib/index.ts
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL25nMi1yZXN0L3Byb2plY3RzL25nMi1yZXN0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWpELENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2Utc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL21hcHBpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN0LmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzdC1oZWFkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZW50LXR5cGUnO1xuZXhwb3J0IHsgU2ltcGxlUmVzb3VyY2UgfSBmcm9tICcuL290aGVyL3NpbXBsZS1yZXNvdXJjZSc7XG5leHBvcnQgeyBpbnRlcnBvbGF0ZVBhcmFtc1RvVXJsIH0gZnJvbSAnLi9wYXJhbXMnO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL2luZGV4LnRzIl19
|
|
@@ -247,4 +247,4 @@ export var Mapping;
|
|
|
247
247
|
})(Mapping || (Mapping = {}));
|
|
248
248
|
;
|
|
249
249
|
({}); // @--end-of-file-for-module=ng2-rest lib/mapping.ts
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHakUsTUFBTSxLQUFXLE9BQU8sQ0FxVHZCO0FBclRELFdBQWlCLE9BQU87SUFFdEIsU0FBZ0IsTUFBTSxDQUFDLElBQVksRUFBRSxVQUFVLEdBQUcsS0FBSztRQUdyRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBSSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFdEYsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBZGUsY0FBTSxTQWNyQixDQUFBO0lBRUQsU0FBZ0IsTUFBTSxDQUFlLElBQVksRUFBRSxPQUFnQixFQUFFLFdBQW1CLEVBQUU7UUFDeEYsSUFBSSxDQUFDLENBQUMsUUFBUSxD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QUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFO3dCQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDOztxREFFNEIsZUFBZTt3QkFDNUMsTUFBTSxDQUFDLElBQUk7OzthQUd0QixDQUFDLENBQUE7cUJBQ0g7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLHVDQUF1QztxQkFDekU7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBSUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUVwRSxNQUFNLFlBQVksR0FBRyxNQUFNO3FCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDbEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNaLE1BQU0sVUFBVSxHQUFHLE1BQU07eUJBQ3RCLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ25ELE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBRy9FO1FBQ0gsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQWpFZSwrQkFBdUIsMEJBaUV0QyxDQUFBO0FBRUgsQ0FBQyxFQXJUZ0IsT0FBTyxLQUFQLE9BQU8sUUFxVHZCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBDaXJjLCBKU09OMTAgfSBmcm9tICdqc29uMTAvYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWxrIH0gZnJvbSAnbG9kYXNoLXdhbGstb2JqZWN0L2Jyb3dzZXInO1xuaW1wb3J0IHsgQ0xBU1MsIFNZTUJPTCB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgYXMgSGVscGVyc0xvZyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5leHBvcnQgbmFtZXNwYWNlIE1hcHBpbmcge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBkZWNvZGUoanNvbjogT2JqZWN0LCBhdXRvZGV0ZWN0ID0gZmFsc2UpOiBNYXBwaW5nIHtcblxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQoanNvbikpIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuXG4gICAgbGV0IG1hcHBpbmcgPSBkZWNvZGVGcm9tRGVjb3JhdG9yKF8uaXNBcnJheShqc29uKSA/IF8uZmlyc3QoanNvbikgOiBqc29uLCAhYXV0b2RldGVjdClcblxuICAgIGlmIChhdXRvZGV0ZWN0KSB7XG4gICAgICBtYXBwaW5nID0gXy5tZXJnZShnZXRNYXBwaW5nTmFpdmUoanNvbiksIG1hcHBpbmcpO1xuICAgIH1cblxuICAgIHJldHVybiBtYXBwaW5nO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGVuY29kZTxUID0gRnVuY3Rpb24+KGpzb246IE9iamVjdCwgbWFwcGluZzogTWFwcGluZywgY2lyY3VsYXI6IENpcmNbXSA9IFtdKTogVCB7XG4gICAgaWYgKF8uaXNTdHJpbmcoanNvbikgfHwgXy5pc0Jvb2xlYW4oanNvbikgfHwgXy5pc051bWJlcihqc29uKSkge1xuICAgICAgcmV0dXJuIGpzb24gYXMgYW55O1xuICAgIH1cblxuICAgIGlmIChtYXBwaW5nWycnXSkge1xuICAgICAgY29uc3QgZGVjb3JhdG9yTWFwcGluZyA9IGdldE1vZGVsc01hcHBpbmcoQ0xBU1MuZ2V0QnkobWFwcGluZ1snJ10pKTtcbiAgICAgIG1hcHBpbmcgPSBfLm1lcmdlKG1hcHBpbmcsIGRlY29yYXRvck1hcHBpbmcpXG4gICAgfVxuXG4gICAgbGV0IHJlczogYW55O1xuICAgIGlmIChfLmlzQXJyYXkoY2lyY3VsYXIpICYmIGNpcmN1bGFyLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlcyA9IHNldE1hcHBpbmdDaXJjKGpzb24sIG1hcHBpbmcsIGNpcmN1bGFyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzID0gc2V0TWFwcGluZyhqc29uLCBtYXBwaW5nKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG5cbiAgZnVuY3Rpb24gZGVjb2RlRnJvbURlY29yYXRvcihqc29uOiBPYmplY3QsIHByb2R1Y3Rpb24gPSBmYWxzZSk6IE1hcHBpbmcge1xuICAgIGNvbnN0IGVudGl0eUNsYXNzID0gQ0xBU1MuZ2V0RnJvbU9iamVjdChqc29uKTtcbiAgICBjb25zdCBtYXBwaW5ncyA9IGdldE1vZGVsc01hcHBpbmcoZW50aXR5Q2xhc3MpO1xuICAgIHJldHVybiBtYXBwaW5ncyBhcyBhbnk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxzTWFwcGluZyhlbnRpdHk6IEZ1bmN0aW9uKSB7XG5cbiAgICBpZiAoIV8uaXNGdW5jdGlvbihlbnRpdHkpIHx8IGVudGl0eSA9PT0gT2JqZWN0KSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IENMQVNTLmdldE5hbWUoZW50aXR5KVxuXG4gICAgbGV0IGVuaXR5T1duTWFwcGluZzogYW55W10gPSBfLmlzQXJyYXkoZW50aXR5W1NZTUJPTC5NT0RFTFNfTUFQUElOR10pID9cbiAgICAgIGVudGl0eVtTWU1CT0wuTU9ERUxTX01BUFBJTkddIDogW3sgJyc6IGNsYXNzTmFtZSB9XTtcblxuICAgIGxldCByZXMgPSB7fTtcbiAgICBsZXQgcGFyZW50cyA9IGVuaXR5T1duTWFwcGluZ1xuICAgICAgLmZpbHRlcihtID0+ICFfLmlzVW5kZWZpbmVkKG1bJyddKSAmJiBtWycnXSAhPT0gY2xhc3NOYW1lKVxuICAgICAgLm1hcChtID0+IG1bJyddKTtcblxuICAgIGVuaXR5T1duTWFwcGluZy5yZXZlcnNlKCkuZm9yRWFjaChtID0+IHtcbiAgICAgIG0gPSBfLmNsb25lRGVlcChtKTtcblxuICAgICAgT2JqZWN0LmtleXMobSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBjb25zdCB2ID0gbVtrZXldXG4gICAgICAgIGNvbnN0IGlzQXJyID0gXy5pc0FycmF5KHYpXG4gICAgICAgIGNvbnN0IG1vZGVsID0gaXNBcnIgPyBfLmZpcnN0KHYpIDogdjtcbiAgICAgICAgaWYgKHBhcmVudHMuaW5jbHVkZXMobW9kZWwpKSB7XG4gICAgICAgICAgbVtrZXldID0gaXNBcnIgPyBbY2xhc3NOYW1lXSA6IGNsYXNzTmFtZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHJlcyA9IF8ubWVyZ2UocmVzLCBtKVxuICAgIH0pXG4gICAgcmVzWycnXSA9IGNsYXNzTmFtZTtcblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuXG4gIGV4cG9ydCB0eXBlIE1hcHBpbmc8VCA9IHt9PiA9IHtcbiAgICBbUCBpbiBrZXlvZiBUXT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGFkZChvOiBPYmplY3QsIHBhdGg6IHN0cmluZywgbWFwcGluZzogTWFwcGluZyA9IHt9KSB7XG4gICAgaWYgKCFvIHx8IEFycmF5LmlzQXJyYXkobykgfHwgdHlwZW9mIG8gIT09ICdvYmplY3QnKSByZXR1cm47XG4gICAgY29uc3Qgb2JqZWN0Q2xhc3NOYW1lID0gQ0xBU1MuZ2V0TmFtZShPYmplY3QuZ2V0UHJvdG90eXBlT2YobykuY29uc3RydWN0b3IpO1xuICAgIGNvbnN0IHJlc29sdmVDbGFzcyA9IENMQVNTLmdldEJ5KG9iamVjdENsYXNzTmFtZSk7XG4gICAgaWYgKCFyZXNvbHZlQ2xhc3MpIHtcbiAgICAgIGlmIChvYmplY3RDbGFzc05hbWUgIT09ICdPYmplY3QnKSB7XG4gICAgICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYENhbm5vdCByZXNvbHZlIGNsYXNzIFwiJHtvYmplY3RDbGFzc05hbWV9XCIgd2hpbGUgbWFwcGluZy5gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghbWFwcGluZ1twYXRoXSkgbWFwcGluZ1twYXRoXSA9IENMQVNTLmdldE5hbWUocmVzb2x2ZUNsYXNzKSBhcyBhbnk7O1xuICB9XG5cbiAgLyoqXG4gICAqIFVTRSBPTkxZIElOIERFVkVMT1BNRU5UXG4gICAqIEBwYXJhbSBjXG4gICAqIEBwYXJhbSBwYXRoXG4gICAqIEBwYXJhbSBtYXBwaW5nXG4gICAqIEBwYXJhbSBsZXZlbFxuICAgKi9cbiAgZnVuY3Rpb24gZ2V0TWFwcGluZ05haXZlKGM6IE9iamVjdCwgcGF0aCA9ICcnLCBtYXBwaW5nOiBNYXBwaW5nID0ge30sIGxldmVsID0gMCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGMpKSB7XG4gICAgICBjLmZvckVhY2goYyA9PiBnZXRNYXBwaW5nTmFpdmUoYywgcGF0aCwgbWFwcGluZywgbGV2ZWwpKVxuICAgICAgcmV0dXJuIG1hcHBpbmc7XG4gICAgfVxuICAgIGlmICgrK2xldmVsID09PSAxNikgcmV0dXJuO1xuICAgIGFkZChjLCBwYXRoLCBtYXBwaW5nKTtcbiAgICBmb3IgKHZhciBwIGluIGMpIHtcbiAgICAgIGlmIChjLmhhc093blByb3BlcnR5KHApKSB7XG4gICAgICAgIGNvbnN0IHYgPSBjW3BdO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSAmJiB2Lmxlbmd0aCA+IDApIHsgLy8gcmVkdWNlciBhcyBpbXBvdmVtZW50XG4gICAgICAgICAgdi5mb3JFYWNoKChlbGVtLCBpKSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYWh0ID0gW3BhdGgsIHBdLmZpbHRlcihjID0+IGMudHJpbSgpICE9ICcnKS5qb2luKCcuJyk7XG4gICAgICAgICAgICBnZXRNYXBwaW5nTmFpdmUoZWxlbSwgY3VycmVudFBhaHQsIG1hcHBpbmcsIGxldmVsKTtcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYWh0ID0gW3BhdGgsIHBdLmZpbHRlcihjID0+IGMudHJpbSgpICE9ICcnKS5qb2luKCcuJyk7XG4gICAgICAgICAgYWRkKHYsIGN1cnJlbnRQYWh0LCBtYXBwaW5nKTtcbiAgICAgICAgICBnZXRNYXBwaW5nTmFpdmUodiwgY3VycmVudFBhaHQsIG1hcHBpbmcsIGxldmVsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwcGluZztcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldE1hcHBpbmdQYXRoRnJvbShwYXRoTG9kaGFzOiBzdHJpbmcpIHtcbiAgICBpZiAoIV8uaXNTdHJpbmcocGF0aExvZGhhcykpIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIGNvbnN0IHJlZ2V4ID0gL1xcWyhbMC05YS16QS1aXXxcXCd8XFxcIikqXFxdL2c7XG4gICAgcGF0aExvZGhhcyA9IHBhdGhMb2RoYXNcbiAgICAgIC5yZXBsYWNlKHJlZ2V4LCAnJylcbiAgICAgIC5yZXBsYWNlKCcuLicsICcuJyk7XG4gICAgaWYgKHBhdGhMb2RoYXMuc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgICBwYXRoTG9kaGFzID0gcGF0aExvZGhhcy5zbGljZSgxKVxuICAgIH1cbiAgICByZXR1cm4gcGF0aExvZGhhcztcbiAgfVxuXG4gIGZ1bmN0aW9uIHNldE1hcHBpbmdDaXJjKGpzb246IE9iamVjdCwgbWFwcGluZzogTWFwcGluZyA9IHt9LCBjaXJjdWxhcjogQ2lyY1tdID0gW10pIHtcblxuICAgIGNvbnN0IG1haW5DbGFzc0ZuID0gIV8uaXNBcnJheShqc29uKSAmJiBDTEFTUy5nZXRCeShtYXBwaW5nWycnXSk7XG5cbiAgICB3YWxrLk9iamVjdChqc29uLCAodiwgbG9kYXNoUGF0aCwgY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh2KSAmJiAhXy5pc051bGwodikpIHtcbiAgICAgICAgY29uc3QgbWFwcGluZ1BhdGggPSBnZXRNYXBwaW5nUGF0aEZyb20obG9kYXNoUGF0aClcbiAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKG1hcHBpbmdbbWFwcGluZ1BhdGhdKSkge1xuICAgICAgICAgIGNvbnN0IGlzQXJyYXkgPSBfLmlzQXJyYXkobWFwcGluZ1ttYXBwaW5nUGF0aF0pO1xuICAgICAgICAgIGlmICghaXNBcnJheSkge1xuICAgICAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gaXNBcnJheSA/IF8uZmlyc3QobWFwcGluZ1ttYXBwaW5nUGF0aF0pIDogbWFwcGluZ1ttYXBwaW5nUGF0aF07XG4gICAgICAgICAgICBjb25zdCBjbGFzc0ZOID0gQ0xBU1MuZ2V0QnkoY2xhc3NOYW1lKVxuICAgICAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihjbGFzc0ZOKSkge1xuXG4gICAgICAgICAgICAgIGNoYW5nZVZhbHVlKF8ubWVyZ2UobmV3IChjbGFzc0ZOIGFzIGFueSkoKSwgdikpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIGNpcmN1bGFyLmZvckVhY2goYyA9PiB7XG4gICAgICBjb25zdCByZWYgPSBfLmdldChqc29uLCBjLmNpcmN1cmFsVGFyZ2V0UGF0aClcbiAgICAgIF8uc2V0KGpzb24sIGMucGF0aFRvT2JqLCByZWYpXG4gICAgfSlcblxuICAgIGlmIChfLmlzRnVuY3Rpb24obWFpbkNsYXNzRm4pKSB7XG4gICAgICBqc29uID0gXy5tZXJnZShuZXcgKG1haW5DbGFzc0ZuIGFzIGFueSkoKSwganNvbilcbiAgICB9XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG5cblxuICBmdW5jdGlvbiBzZXRNYXBwaW5nKGpzb246IE9iamVjdCwgbWFwcGluZzogTWFwcGluZyA9IHt9KSB7XG5cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGpzb24pKSB7XG4gICAgICByZXR1cm4ganNvbi5tYXAoaiA9PiB7XG4gICAgICAgIHJldHVybiBzZXRNYXBwaW5nKGosIG1hcHBpbmcpXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IG1haW5DbGFzc0ZuID0gQ0xBU1MuZ2V0QnkobWFwcGluZ1snJ10pO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4ganNvbikge1xuICAgICAgaWYgKGpzb24uaGFzT3duUHJvcGVydHkoa2V5KSkge1xuXG5cblxuICAgICAgICBpZiAoXy5pc0FycmF5KGpzb25ba2V5XSkpIHtcbiAgICAgICAgICBqc29uW2tleV0gPSBqc29uW2tleV0ubWFwKGFyck9iaiA9PiB7XG4gICAgICAgICAgICBjb25zdCBvYmpNYXBwaW5nID0gZ2V0TW9kZWxzTWFwcGluZyhDTEFTUy5nZXRCeShtYXBwaW5nW2tleV0pKVxuICAgICAgICAgICAgcmV0dXJuIHNldE1hcHBpbmcoYXJyT2JqLCBvYmpNYXBwaW5nKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSBpZiAoXy5pc09iamVjdChqc29uW2tleV0pKSB7XG4gICAgICAgICAgY29uc3Qgb2JqTWFwcGluZyA9IGdldE1vZGVsc01hcHBpbmcoQ0xBU1MuZ2V0QnkobWFwcGluZ1trZXldKSlcbiAgICAgICAgICBqc29uW2tleV0gPSBzZXRNYXBwaW5nKGpzb25ba2V5XSwgb2JqTWFwcGluZylcbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuXG5cbiAgICB9XG5cbiAgICBPYmplY3RcbiAgICAgIC5rZXlzKG1hcHBpbmcpXG4gICAgICAuZmlsdGVyKGtleSA9PiBrZXkgIT09ICcnICYmIGtleS5zcGxpdCgnLicpLmxlbmd0aCA+PSAyKVxuICAgICAgLmZvckVhY2gobG9kYXNQYXRoID0+IHtcblxuICAgICAgICBjb25zdCBvYmpNYXBwaW5nID0gZ2V0TW9kZWxzTWFwcGluZyhDTEFTUy5nZXRCeShtYXBwaW5nW2xvZGFzUGF0aF0pKVxuICAgICAgICBjb25zdCBpbnB1dCA9IF8uZ2V0KGpzb24sIGxvZGFzUGF0aClcbiAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGlucHV0KSkge1xuICAgICAgICAgIGNvbnN0IHJlcyA9IHNldE1hcHBpbmcoaW5wdXQsIG9iak1hcHBpbmcpXG4gICAgICAgICAgXy5zZXQoanNvbiwgbG9kYXNQYXRoLCByZXMpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICBpZiAoIW1haW5DbGFzc0ZuKSB7XG4gICAgICByZXR1cm4ganNvbjtcbiAgICB9XG4gICAgcmV0dXJuIF8ubWVyZ2UobmV3IChtYWluQ2xhc3NGbiBhcyBhbnkpKCksIGpzb24pXG4gIH1cblxuXG5cblxuICBleHBvcnQgdHlwZSBNb2RlbFZhbHVlPFQ+ID0ge1xuICAgIC8qKlxuICAgICAqIEluc2lkZSBtb2RlbHMgdHlwZXNcbiAgICAgKi9cbiAgICBbcHJvcE5hbWUgaW4ga2V5b2YgVF0/OiBUW3Byb3BOYW1lXTtcbiAgfTtcblxuXG4gIGV4cG9ydCBmdW5jdGlvbiBEZWZhdWx0TW9kZWxXaXRoTWFwcGluZzxUID0gT2JqZWN0PihcbiAgICBkZWZhdWx0TW9kZWxWYWx1ZXM/OiBNb2RlbFZhbHVlPFQ+LFxuICAgIG1hcHBpbmc/OiBNYXBwaW5nPFQ+XG4gICkge1xuICAgIHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBGdW5jdGlvbikge1xuXG4gICAgICBpZiAoIV8uaXNBcnJheSh0YXJnZXRbU1lNQk9MLk1PREVMU19NQVBQSU5HXSkpIHtcbiAgICAgICAgdGFyZ2V0W1NZTUJPTC5NT0RFTFNfTUFQUElOR10gPSBbXTtcbiAgICAgIH1cblxuICAgICAgKHRhcmdldFtTWU1CT0wuTU9ERUxTX01BUFBJTkddIGFzIGFueVtdKS5wdXNoKHsgJyc6IENMQVNTLmdldE5hbWUodGFyZ2V0KSB9KTtcbiAgICAgIGlmIChfLmlzT2JqZWN0KG1hcHBpbmcpKSB7XG4gICAgICAgIHRhcmdldFtTWU1CT0wuTU9ERUxTX01BUFBJTkddID0gKHRhcmdldFtTWU1CT0wuTU9ERUxTX01BUFBJTkddIGFzIGFueVtdKS5jb25jYXQobWFwcGluZylcbiAgICAgICAgT2JqZWN0LmtleXMobWFwcGluZylcbiAgICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdiA9IG1hcHBpbmc7XG4gICAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh2KSB8fCBfLmlzRnVuY3Rpb24odikpIHtcbiAgICAgICAgICAgICAgdGhyb3cgYFxuXG5cbiAgICAgICAgICAgIENsYXNzOiAnJHt0YXJnZXQubmFtZX0nXG5bbmcycmVzdF0gQmFkIG1hcHBpbmcgdmFsdWUgZm9yIHBhdGg6ICR7a2V5fSAsIHBsZWFzZSB1c2UgdHlwZTogPHN0cmluZz4gb3IgWzxzdHJpbmc+XVxuYDtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG5cbiAgICAgIGlmIChfLmlzT2JqZWN0KGRlZmF1bHRNb2RlbFZhbHVlcykpIHtcbiAgICAgICAgY29uc3QgdG9NZXJnZSA9IHt9O1xuICAgICAgICBjb25zdCBkZXNjcmliZWRUYXJnZXQgPSBDTEFTU1xuICAgICAgICAgIC5kZXNjcmliZVByb3Blcml0ZXModGFyZ2V0KVxuICAgICAgICAgIC5maWx0ZXIocHJvcCA9PiAvXihbYS16QS1aMC05XXxcXF98XFwjKSskLy50ZXN0KHByb3ApKVxuXG4gICAgICAgIGRlc2NyaWJlZFRhcmdldC5mb3JFYWNoKHByb3BEZWZJbkNvbnN0ciA9PiB7XG4gICAgICAgICAgaWYgKGRlZmF1bHRNb2RlbFZhbHVlc1twcm9wRGVmSW5Db25zdHJdKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFxuXG4gICAgICAgICAgICBDT05GTElDVDogZGVmYXVsdCB2YWx1ZSBmb3IgcHJvcGVydHk6IFwiJHtwcm9wRGVmSW5Db25zdHJ9XCJcbiAgICAgICAgICAgIGluIGNsYXNzIFwiJHt0YXJnZXQubmFtZX1cIiBhbHJlYWR5IGRlZmluZWQgYXMgdHlwZXNjcmlwdFxuICAgICAgICAgICAgZGVmYXVsdCBjbGFzcyBwcm9wcnR5IHZhbHVlLlxuXG4gICAgICAgICAgICBgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0b01lcmdlW3Byb3BEZWZJbkNvbnN0cl0gPSBudWxsOyAvLyBUT0RPIGZyb20gdG9TdHJpbmcgSSBjYW4ndCBrbm93IHRoYXRcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG5cblxuICAgICAgICB0YXJnZXRbU1lNQk9MLkRFRkFVTFRfTU9ERUxdID0gXy5tZXJnZSh0b01lcmdlLCBkZWZhdWx0TW9kZWxWYWx1ZXMpO1xuXG4gICAgICAgIGNvbnN0IHByb3BzVG9PbW1pdCA9IE9iamVjdFxuICAgICAgICAgIC5rZXlzKHRhcmdldFtTWU1CT0wuREVGQVVMVF9NT0RFTF0pXG4gICAgICAgICAgLmZpbHRlcihrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdFxuICAgICAgICAgICAgICAuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldC5wcm90b3R5cGUsIGtleSk7XG4gICAgICAgICAgICByZXR1cm4gISFkZXNjcmlwdG9yO1xuICAgICAgICAgIH0pO1xuICAgICAgICBfLm1lcmdlKHRhcmdldC5wcm90b3R5cGUsIF8ub21pdCh0YXJnZXRbU1lNQk9MLkRFRkFVTFRfTU9ERUxdLCBwcm9wc1RvT21taXQpKTtcblxuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9tYXBwaW5nLnRzIl19
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHakUsTUFBTSxLQUFXLE9BQU8sQ0FxVHZCO0FBclRELFdBQWlCLE9BQU87SUFFdEIsU0FBZ0IsTUFBTSxDQUFDLElBQVksRUFBRSxVQUFVLEdBQUcsS0FBSztRQUdyRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxLQUFLLENBQUMsQ0FBQztTQUNmO1FBRUQsSUFBSSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFdEYsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBZGUsY0FBTSxTQWNyQixDQUFBO0lBRUQsU0FBZ0IsTUFBTSxDQUFlLElBQVksRUFBRSxPQUFnQixFQUFFLFdBQW1CLEVBQUU7UUFDeEYsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3RCxPQUFPLElBQVcsQ0FBQztTQUNwQjtRQUVELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2YsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUE7U0FDN0M7UUFFRCxJQUFJLEdBQVEsQ0FBQztRQUNiLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QyxHQUFHLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDL0M7YUFBTTtZQUNMLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBakJlLGNBQU0sU0FpQnJCLENBQUE7SUFHRCxTQUFTLG1CQUFtQixDQUFDLElBQVksRUFBRSxVQUFVLEdBQUcsS0FBSztRQUMzRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sUUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxNQUFnQjtRQUUvQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQzlDLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXZDLElBQUksZUFBZSxHQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXRELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksT0FBTyxHQUFHLGVBQWU7YUFDMUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxTQUFTLENBQUM7YUFDekQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbkIsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVuQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNoQixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMzQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7aUJBQzFDO1lBQ0gsQ0FBQyxDQUFDLENBQUE7WUFDRixHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdkIsQ0FBQyxDQUFDLENBQUE7UUFDRixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBRXBCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQS9CZSx3QkFBZ0IsbUJBK0IvQixDQUFBO0lBT0QsU0FBUyxHQUFHLENBQUMsQ0FBUyxFQUFFLElBQVksRUFBRSxVQUFtQixFQUFFO1FBQ3pELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1lBQUUsT0FBTztRQUM1RCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUUsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLElBQUksZUFBZSxLQUFLLFFBQVEsRUFBRTtnQkFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO29CQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixlQUFlLGtCQUFrQixDQUFDLENBQUE7aUJBQzFFO2FBQ0Y7WUFDRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBUSxDQUFDO1FBQUEsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxlQUFlLENBQUMsQ0FBUyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsVUFBbUIsRUFBRSxFQUFFLEtBQUssR0FBRyxDQUFDO1FBQzdFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDeEQsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUU7WUFBRSxPQUFPO1FBQzNCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RCLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsd0JBQXdCO29CQUM5RCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO3dCQUVwQixNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNwRSxlQUFlLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ3JELENBQUMsQ0FBQyxDQUFBO2lCQUNIO3FCQUFNLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUNoQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNwRSxHQUFHLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDN0IsZUFBZSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUNqRDthQUNGO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsU0FBUyxrQkFBa0IsQ0FBQyxVQUFrQjtRQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxNQUFNLEtBQUssR0FBRywyQkFBMkIsQ0FBQztRQUMxQyxVQUFVLEdBQUcsVUFBVTthQUNwQixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUNsQixPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5QixVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNqQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFZLEVBQUUsVUFBbUIsRUFBRSxFQUFFLFdBQW1CLEVBQUU7UUFFaEYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDckMsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUE7Z0JBQ2xELElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO29CQUN4QyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsT0FBTyxFQUFFO3dCQUNaLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUNqRixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO3dCQUN0QyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7NEJBRXpCLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssT0FBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTt5QkFDaEQ7cUJBQ0Y7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtZQUM3QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQy9CLENBQUMsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzdCLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssV0FBbUIsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO1NBQ2pEO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSUQsU0FBUyxVQUFVLENBQUMsSUFBWSxFQUFFLFVBQW1CLEVBQUU7UUFHckQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEIsT0FBTyxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQy9CLENBQUMsQ0FBQyxDQUFBO1NBQ0g7UUFFRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFJNUIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTt3QkFDakMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO3dCQUM5RCxPQUFPLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUE7b0JBQ3ZDLENBQUMsQ0FBQyxDQUFBO2lCQUNIO3FCQUFNLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDaEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQTtpQkFDOUM7YUFDRjtTQU1GO1FBRUQsTUFBTTthQUNILElBQUksQ0FBQyxPQUFPLENBQUM7YUFDYixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQzthQUN2RCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFFbkIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3BFLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ3BDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFBO2dCQUN6QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUE7YUFDNUI7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUVKLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLFdBQW1CLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBYUQsU0FBZ0IsdUJBQXVCLENBQ3JDLGtCQUFrQyxFQUNsQyxPQUFvQjtRQUVwQixPQUFPLFVBQVUsTUFBZ0I7WUFFL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNwQztZQUVBLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDeEYsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDYixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUN2QyxNQUFNOzs7c0JBR0UsTUFBTSxDQUFDLElBQUk7d0NBQ08sR0FBRztDQUMxQyxDQUFDO3FCQUVXO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ047WUFHRCxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixNQUFNLGVBQWUsR0FBRyxLQUFLO3FCQUMxQixrQkFBa0IsQ0FBQyxNQUFNLENBQUM7cUJBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO2dCQUV0RCxlQUFlLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO29CQUN4QyxJQUFJLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFO3dCQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDOztxREFFNEIsZUFBZTt3QkFDNUMsTUFBTSxDQUFDLElBQUk7OzthQUd0QixDQUFDLENBQUE7cUJBQ0g7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLHVDQUF1QztxQkFDekU7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBSUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUVwRSxNQUFNLFlBQVksR0FBRyxNQUFNO3FCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDbEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNaLE1BQU0sVUFBVSxHQUFHLE1BQU07eUJBQ3RCLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ25ELE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBRy9FO1FBQ0gsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQWpFZSwrQkFBdUIsMEJBaUV0QyxDQUFBO0FBRUgsQ0FBQyxFQXJUZ0IsT0FBTyxLQUFQLE9BQU8sUUFxVHZCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgQ2lyYywgSlNPTjEwIH0gZnJvbSAnanNvbjEwL2Jyb3dzZXInO1xuaW1wb3J0IHsgd2FsayB9IGZyb20gJ2xvZGFzaC13YWxrLW9iamVjdC9icm93c2VyJztcbmltcG9ydCB7IENMQVNTLCBTWU1CT0wgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIGFzIEhlbHBlcnNMb2cgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuZXhwb3J0IG5hbWVzcGFjZSBNYXBwaW5nIHtcblxuICBleHBvcnQgZnVuY3Rpb24gZGVjb2RlKGpzb246IE9iamVjdCwgYXV0b2RldGVjdCA9IGZhbHNlKTogTWFwcGluZyB7XG5cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKGpzb24pKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIGxldCBtYXBwaW5nID0gZGVjb2RlRnJvbURlY29yYXRvcihfLmlzQXJyYXkoanNvbikgPyBfLmZpcnN0KGpzb24pIDoganNvbiwgIWF1dG9kZXRlY3QpXG5cbiAgICBpZiAoYXV0b2RldGVjdCkge1xuICAgICAgbWFwcGluZyA9IF8ubWVyZ2UoZ2V0TWFwcGluZ05haXZlKGpzb24pLCBtYXBwaW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGluZztcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBlbmNvZGU8VCA9IEZ1bmN0aW9uPihqc29uOiBPYmplY3QsIG1hcHBpbmc6IE1hcHBpbmcsIGNpcmN1bGFyOiBDaXJjW10gPSBbXSk6IFQge1xuICAgIGlmIChfLmlzU3RyaW5nKGpzb24pIHx8IF8uaXNCb29sZWFuKGpzb24pIHx8IF8uaXNOdW1iZXIoanNvbikpIHtcbiAgICAgIHJldHVybiBqc29uIGFzIGFueTtcbiAgICB9XG5cbiAgICBpZiAobWFwcGluZ1snJ10pIHtcbiAgICAgIGNvbnN0IGRlY29yYXRvck1hcHBpbmcgPSBnZXRNb2RlbHNNYXBwaW5nKENMQVNTLmdldEJ5KG1hcHBpbmdbJyddKSk7XG4gICAgICBtYXBwaW5nID0gXy5tZXJnZShtYXBwaW5nLCBkZWNvcmF0b3JNYXBwaW5nKVxuICAgIH1cblxuICAgIGxldCByZXM6IGFueTtcbiAgICBpZiAoXy5pc0FycmF5KGNpcmN1bGFyKSAmJiBjaXJjdWxhci5sZW5ndGggPiAwKSB7XG4gICAgICByZXMgPSBzZXRNYXBwaW5nQ2lyYyhqc29uLCBtYXBwaW5nLCBjaXJjdWxhcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlcyA9IHNldE1hcHBpbmcoanNvbiwgbWFwcGluZyk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cblxuXG4gIGZ1bmN0aW9uIGRlY29kZUZyb21EZWNvcmF0b3IoanNvbjogT2JqZWN0LCBwcm9kdWN0aW9uID0gZmFsc2UpOiBNYXBwaW5nIHtcbiAgICBjb25zdCBlbnRpdHlDbGFzcyA9IENMQVNTLmdldEZyb21PYmplY3QoanNvbik7XG4gICAgY29uc3QgbWFwcGluZ3MgPSBnZXRNb2RlbHNNYXBwaW5nKGVudGl0eUNsYXNzKTtcbiAgICByZXR1cm4gbWFwcGluZ3MgYXMgYW55O1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldE1vZGVsc01hcHBpbmcoZW50aXR5OiBGdW5jdGlvbikge1xuXG4gICAgaWYgKCFfLmlzRnVuY3Rpb24oZW50aXR5KSB8fCBlbnRpdHkgPT09IE9iamVjdCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBjbGFzc05hbWUgPSBDTEFTUy5nZXROYW1lKGVudGl0eSlcblxuICAgIGxldCBlbml0eU9Xbk1hcHBpbmc6IGFueVtdID0gXy5pc0FycmF5KGVudGl0eVtTWU1CT0wuTU9ERUxTX01BUFBJTkddKSA/XG4gICAgICBlbnRpdHlbU1lNQk9MLk1PREVMU19NQVBQSU5HXSA6IFt7ICcnOiBjbGFzc05hbWUgfV07XG5cbiAgICBsZXQgcmVzID0ge307XG4gICAgbGV0IHBhcmVudHMgPSBlbml0eU9Xbk1hcHBpbmdcbiAgICAgIC5maWx0ZXIobSA9PiAhXy5pc1VuZGVmaW5lZChtWycnXSkgJiYgbVsnJ10gIT09IGNsYXNzTmFtZSlcbiAgICAgIC5tYXAobSA9PiBtWycnXSk7XG5cbiAgICBlbml0eU9Xbk1hcHBpbmcucmV2ZXJzZSgpLmZvckVhY2gobSA9PiB7XG4gICAgICBtID0gXy5jbG9uZURlZXAobSk7XG5cbiAgICAgIE9iamVjdC5rZXlzKG0pLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgY29uc3QgdiA9IG1ba2V5XVxuICAgICAgICBjb25zdCBpc0FyciA9IF8uaXNBcnJheSh2KVxuICAgICAgICBjb25zdCBtb2RlbCA9IGlzQXJyID8gXy5maXJzdCh2KSA6IHY7XG4gICAgICAgIGlmIChwYXJlbnRzLmluY2x1ZGVzKG1vZGVsKSkge1xuICAgICAgICAgIG1ba2V5XSA9IGlzQXJyID8gW2NsYXNzTmFtZV0gOiBjbGFzc05hbWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICByZXMgPSBfLm1lcmdlKHJlcywgbSlcbiAgICB9KVxuICAgIHJlc1snJ10gPSBjbGFzc05hbWU7XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cblxuICBleHBvcnQgdHlwZSBNYXBwaW5nPFQgPSB7fT4gPSB7XG4gICAgW1AgaW4ga2V5b2YgVF0/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgfTtcblxuICBmdW5jdGlvbiBhZGQobzogT2JqZWN0LCBwYXRoOiBzdHJpbmcsIG1hcHBpbmc6IE1hcHBpbmcgPSB7fSkge1xuICAgIGlmICghbyB8fCBBcnJheS5pc0FycmF5KG8pIHx8IHR5cGVvZiBvICE9PSAnb2JqZWN0JykgcmV0dXJuO1xuICAgIGNvbnN0IG9iamVjdENsYXNzTmFtZSA9IENMQVNTLmdldE5hbWUoT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pLmNvbnN0cnVjdG9yKTtcbiAgICBjb25zdCByZXNvbHZlQ2xhc3MgPSBDTEFTUy5nZXRCeShvYmplY3RDbGFzc05hbWUpO1xuICAgIGlmICghcmVzb2x2ZUNsYXNzKSB7XG4gICAgICBpZiAob2JqZWN0Q2xhc3NOYW1lICE9PSAnT2JqZWN0Jykge1xuICAgICAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBDYW5ub3QgcmVzb2x2ZSBjbGFzcyBcIiR7b2JqZWN0Q2xhc3NOYW1lfVwiIHdoaWxlIG1hcHBpbmcuYClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIW1hcHBpbmdbcGF0aF0pIG1hcHBpbmdbcGF0aF0gPSBDTEFTUy5nZXROYW1lKHJlc29sdmVDbGFzcykgYXMgYW55OztcbiAgfVxuXG4gIC8qKlxuICAgKiBVU0UgT05MWSBJTiBERVZFTE9QTUVOVFxuICAgKiBAcGFyYW0gY1xuICAgKiBAcGFyYW0gcGF0aFxuICAgKiBAcGFyYW0gbWFwcGluZ1xuICAgKiBAcGFyYW0gbGV2ZWxcbiAgICovXG4gIGZ1bmN0aW9uIGdldE1hcHBpbmdOYWl2ZShjOiBPYmplY3QsIHBhdGggPSAnJywgbWFwcGluZzogTWFwcGluZyA9IHt9LCBsZXZlbCA9IDApIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjKSkge1xuICAgICAgYy5mb3JFYWNoKGMgPT4gZ2V0TWFwcGluZ05haXZlKGMsIHBhdGgsIG1hcHBpbmcsIGxldmVsKSlcbiAgICAgIHJldHVybiBtYXBwaW5nO1xuICAgIH1cbiAgICBpZiAoKytsZXZlbCA9PT0gMTYpIHJldHVybjtcbiAgICBhZGQoYywgcGF0aCwgbWFwcGluZyk7XG4gICAgZm9yICh2YXIgcCBpbiBjKSB7XG4gICAgICBpZiAoYy5oYXNPd25Qcm9wZXJ0eShwKSkge1xuICAgICAgICBjb25zdCB2ID0gY1twXTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodikgJiYgdi5sZW5ndGggPiAwKSB7IC8vIHJlZHVjZXIgYXMgaW1wb3ZlbWVudFxuICAgICAgICAgIHYuZm9yRWFjaCgoZWxlbSwgaSkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGFodCA9IFtwYXRoLCBwXS5maWx0ZXIoYyA9PiBjLnRyaW0oKSAhPSAnJykuam9pbignLicpO1xuICAgICAgICAgICAgZ2V0TWFwcGluZ05haXZlKGVsZW0sIGN1cnJlbnRQYWh0LCBtYXBwaW5nLCBsZXZlbCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50UGFodCA9IFtwYXRoLCBwXS5maWx0ZXIoYyA9PiBjLnRyaW0oKSAhPSAnJykuam9pbignLicpO1xuICAgICAgICAgIGFkZCh2LCBjdXJyZW50UGFodCwgbWFwcGluZyk7XG4gICAgICAgICAgZ2V0TWFwcGluZ05haXZlKHYsIGN1cnJlbnRQYWh0LCBtYXBwaW5nLCBsZXZlbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1hcHBpbmc7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRNYXBwaW5nUGF0aEZyb20ocGF0aExvZGhhczogc3RyaW5nKSB7XG4gICAgaWYgKCFfLmlzU3RyaW5nKHBhdGhMb2RoYXMpKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBjb25zdCByZWdleCA9IC9cXFsoWzAtOWEtekEtWl18XFwnfFxcXCIpKlxcXS9nO1xuICAgIHBhdGhMb2RoYXMgPSBwYXRoTG9kaGFzXG4gICAgICAucmVwbGFjZShyZWdleCwgJycpXG4gICAgICAucmVwbGFjZSgnLi4nLCAnLicpO1xuICAgIGlmIChwYXRoTG9kaGFzLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgICAgcGF0aExvZGhhcyA9IHBhdGhMb2RoYXMuc2xpY2UoMSlcbiAgICB9XG4gICAgcmV0dXJuIHBhdGhMb2RoYXM7XG4gIH1cblxuICBmdW5jdGlvbiBzZXRNYXBwaW5nQ2lyYyhqc29uOiBPYmplY3QsIG1hcHBpbmc6IE1hcHBpbmcgPSB7fSwgY2lyY3VsYXI6IENpcmNbXSA9IFtdKSB7XG5cbiAgICBjb25zdCBtYWluQ2xhc3NGbiA9ICFfLmlzQXJyYXkoanNvbikgJiYgQ0xBU1MuZ2V0QnkobWFwcGluZ1snJ10pO1xuXG4gICAgd2Fsay5PYmplY3QoanNvbiwgKHYsIGxvZGFzaFBhdGgsIGNoYW5nZVZhbHVlKSA9PiB7XG4gICAgICBpZiAoIV8uaXNVbmRlZmluZWQodikgJiYgIV8uaXNOdWxsKHYpKSB7XG4gICAgICAgIGNvbnN0IG1hcHBpbmdQYXRoID0gZ2V0TWFwcGluZ1BhdGhGcm9tKGxvZGFzaFBhdGgpXG4gICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChtYXBwaW5nW21hcHBpbmdQYXRoXSkpIHtcbiAgICAgICAgICBjb25zdCBpc0FycmF5ID0gXy5pc0FycmF5KG1hcHBpbmdbbWFwcGluZ1BhdGhdKTtcbiAgICAgICAgICBpZiAoIWlzQXJyYXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGlzQXJyYXkgPyBfLmZpcnN0KG1hcHBpbmdbbWFwcGluZ1BhdGhdKSA6IG1hcHBpbmdbbWFwcGluZ1BhdGhdO1xuICAgICAgICAgICAgY29uc3QgY2xhc3NGTiA9IENMQVNTLmdldEJ5KGNsYXNzTmFtZSlcbiAgICAgICAgICAgIGlmIChfLmlzRnVuY3Rpb24oY2xhc3NGTikpIHtcblxuICAgICAgICAgICAgICBjaGFuZ2VWYWx1ZShfLm1lcmdlKG5ldyAoY2xhc3NGTiBhcyBhbnkpKCksIHYpKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBjaXJjdWxhci5mb3JFYWNoKGMgPT4ge1xuICAgICAgY29uc3QgcmVmID0gXy5nZXQoanNvbiwgYy5jaXJjdXJhbFRhcmdldFBhdGgpXG4gICAgICBfLnNldChqc29uLCBjLnBhdGhUb09iaiwgcmVmKVxuICAgIH0pXG5cbiAgICBpZiAoXy5pc0Z1bmN0aW9uKG1haW5DbGFzc0ZuKSkge1xuICAgICAganNvbiA9IF8ubWVyZ2UobmV3IChtYWluQ2xhc3NGbiBhcyBhbnkpKCksIGpzb24pXG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuXG5cbiAgZnVuY3Rpb24gc2V0TWFwcGluZyhqc29uOiBPYmplY3QsIG1hcHBpbmc6IE1hcHBpbmcgPSB7fSkge1xuXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShqc29uKSkge1xuICAgICAgcmV0dXJuIGpzb24ubWFwKGogPT4ge1xuICAgICAgICByZXR1cm4gc2V0TWFwcGluZyhqLCBtYXBwaW5nKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBtYWluQ2xhc3NGbiA9IENMQVNTLmdldEJ5KG1hcHBpbmdbJyddKTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIGpzb24pIHtcbiAgICAgIGlmIChqc29uLmhhc093blByb3BlcnR5KGtleSkpIHtcblxuXG5cbiAgICAgICAgaWYgKF8uaXNBcnJheShqc29uW2tleV0pKSB7XG4gICAgICAgICAganNvbltrZXldID0ganNvbltrZXldLm1hcChhcnJPYmogPT4ge1xuICAgICAgICAgICAgY29uc3Qgb2JqTWFwcGluZyA9IGdldE1vZGVsc01hcHBpbmcoQ0xBU1MuZ2V0QnkobWFwcGluZ1trZXldKSlcbiAgICAgICAgICAgIHJldHVybiBzZXRNYXBwaW5nKGFyck9iaiwgb2JqTWFwcGluZylcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QoanNvbltrZXldKSkge1xuICAgICAgICAgIGNvbnN0IG9iak1hcHBpbmcgPSBnZXRNb2RlbHNNYXBwaW5nKENMQVNTLmdldEJ5KG1hcHBpbmdba2V5XSkpXG4gICAgICAgICAganNvbltrZXldID0gc2V0TWFwcGluZyhqc29uW2tleV0sIG9iak1hcHBpbmcpXG4gICAgICAgIH1cbiAgICAgIH1cblxuXG5cblxuXG4gICAgfVxuXG4gICAgT2JqZWN0XG4gICAgICAua2V5cyhtYXBwaW5nKVxuICAgICAgLmZpbHRlcihrZXkgPT4ga2V5ICE9PSAnJyAmJiBrZXkuc3BsaXQoJy4nKS5sZW5ndGggPj0gMilcbiAgICAgIC5mb3JFYWNoKGxvZGFzUGF0aCA9PiB7XG5cbiAgICAgICAgY29uc3Qgb2JqTWFwcGluZyA9IGdldE1vZGVsc01hcHBpbmcoQ0xBU1MuZ2V0QnkobWFwcGluZ1tsb2Rhc1BhdGhdKSlcbiAgICAgICAgY29uc3QgaW5wdXQgPSBfLmdldChqc29uLCBsb2Rhc1BhdGgpXG4gICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChpbnB1dCkpIHtcbiAgICAgICAgICBjb25zdCByZXMgPSBzZXRNYXBwaW5nKGlucHV0LCBvYmpNYXBwaW5nKVxuICAgICAgICAgIF8uc2V0KGpzb24sIGxvZGFzUGF0aCwgcmVzKVxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgaWYgKCFtYWluQ2xhc3NGbikge1xuICAgICAgcmV0dXJuIGpzb247XG4gICAgfVxuICAgIHJldHVybiBfLm1lcmdlKG5ldyAobWFpbkNsYXNzRm4gYXMgYW55KSgpLCBqc29uKVxuICB9XG5cblxuXG5cbiAgZXhwb3J0IHR5cGUgTW9kZWxWYWx1ZTxUPiA9IHtcbiAgICAvKipcbiAgICAgKiBJbnNpZGUgbW9kZWxzIHR5cGVzXG4gICAgICovXG4gICAgW3Byb3BOYW1lIGluIGtleW9mIFRdPzogVFtwcm9wTmFtZV07XG4gIH07XG5cblxuICBleHBvcnQgZnVuY3Rpb24gRGVmYXVsdE1vZGVsV2l0aE1hcHBpbmc8VCA9IE9iamVjdD4oXG4gICAgZGVmYXVsdE1vZGVsVmFsdWVzPzogTW9kZWxWYWx1ZTxUPixcbiAgICBtYXBwaW5nPzogTWFwcGluZzxUPlxuICApIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogRnVuY3Rpb24pIHtcblxuICAgICAgaWYgKCFfLmlzQXJyYXkodGFyZ2V0W1NZTUJPTC5NT0RFTFNfTUFQUElOR10pKSB7XG4gICAgICAgIHRhcmdldFtTWU1CT0wuTU9ERUxTX01BUFBJTkddID0gW107XG4gICAgICB9XG5cbiAgICAgICh0YXJnZXRbU1lNQk9MLk1PREVMU19NQVBQSU5HXSBhcyBhbnlbXSkucHVzaCh7ICcnOiBDTEFTUy5nZXROYW1lKHRhcmdldCkgfSk7XG4gICAgICBpZiAoXy5pc09iamVjdChtYXBwaW5nKSkge1xuICAgICAgICB0YXJnZXRbU1lNQk9MLk1PREVMU19NQVBQSU5HXSA9ICh0YXJnZXRbU1lNQk9MLk1PREVMU19NQVBQSU5HXSBhcyBhbnlbXSkuY29uY2F0KG1hcHBpbmcpXG4gICAgICAgIE9iamVjdC5rZXlzKG1hcHBpbmcpXG4gICAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBtYXBwaW5nO1xuICAgICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodikgfHwgXy5pc0Z1bmN0aW9uKHYpKSB7XG4gICAgICAgICAgICAgIHRocm93IGBcblxuXG4gICAgICAgICAgICBDbGFzczogJyR7dGFyZ2V0Lm5hbWV9J1xuW25nMnJlc3RdIEJhZCBtYXBwaW5nIHZhbHVlIGZvciBwYXRoOiAke2tleX0gLCBwbGVhc2UgdXNlIHR5cGU6IDxzdHJpbmc+IG9yIFs8c3RyaW5nPl1cbmA7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cblxuXG4gICAgICBpZiAoXy5pc09iamVjdChkZWZhdWx0TW9kZWxWYWx1ZXMpKSB7XG4gICAgICAgIGNvbnN0IHRvTWVyZ2UgPSB7fTtcbiAgICAgICAgY29uc3QgZGVzY3JpYmVkVGFyZ2V0ID0gQ0xBU1NcbiAgICAgICAgICAuZGVzY3JpYmVQcm9wZXJpdGVzKHRhcmdldClcbiAgICAgICAgICAuZmlsdGVyKHByb3AgPT4gL14oW2EtekEtWjAtOV18XFxffFxcIykrJC8udGVzdChwcm9wKSlcblxuICAgICAgICBkZXNjcmliZWRUYXJnZXQuZm9yRWFjaChwcm9wRGVmSW5Db25zdHIgPT4ge1xuICAgICAgICAgIGlmIChkZWZhdWx0TW9kZWxWYWx1ZXNbcHJvcERlZkluQ29uc3RyXSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBcblxuICAgICAgICAgICAgQ09ORkxJQ1Q6IGRlZmF1bHQgdmFsdWUgZm9yIHByb3BlcnR5OiBcIiR7cHJvcERlZkluQ29uc3RyfVwiXG4gICAgICAgICAgICBpbiBjbGFzcyBcIiR7dGFyZ2V0Lm5hbWV9XCIgYWxyZWFkeSBkZWZpbmVkIGFzIHR5cGVzY3JpcHRcbiAgICAgICAgICAgIGRlZmF1bHQgY2xhc3MgcHJvcHJ0eSB2YWx1ZS5cblxuICAgICAgICAgICAgYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdG9NZXJnZVtwcm9wRGVmSW5Db25zdHJdID0gbnVsbDsgLy8gVE9ETyBmcm9tIHRvU3RyaW5nIEkgY2FuJ3Qga25vdyB0aGF0XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuXG5cbiAgICAgICAgdGFyZ2V0W1NZTUJPTC5ERUZBVUxUX01PREVMXSA9IF8ubWVyZ2UodG9NZXJnZSwgZGVmYXVsdE1vZGVsVmFsdWVzKTtcblxuICAgICAgICBjb25zdCBwcm9wc1RvT21taXQgPSBPYmplY3RcbiAgICAgICAgICAua2V5cyh0YXJnZXRbU1lNQk9MLkRFRkFVTFRfTU9ERUxdKVxuICAgICAgICAgIC5maWx0ZXIoa2V5ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3RcbiAgICAgICAgICAgICAgLmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQucHJvdG90eXBlLCBrZXkpO1xuICAgICAgICAgICAgcmV0dXJuICEhZGVzY3JpcHRvcjtcbiAgICAgICAgICB9KTtcbiAgICAgICAgXy5tZXJnZSh0YXJnZXQucHJvdG90eXBlLCBfLm9taXQodGFyZ2V0W1NZTUJPTC5ERUZBVUxUX01PREVMXSwgcHJvcHNUb09tbWl0KSk7XG5cblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1uZzItcmVzdCBsaWIvbWFwcGluZy50cyJdfQ==
|
|
@@ -5,6 +5,8 @@ import { JSON10 } from 'json10/browser';
|
|
|
5
5
|
import { RequestCache } from './request-cache';
|
|
6
6
|
import { _ } from 'tnp-core/browser';
|
|
7
7
|
import { Helpers } from 'tnp-core/browser';
|
|
8
|
+
/* */
|
|
9
|
+
/* */
|
|
8
10
|
export var Models;
|
|
9
11
|
(function (Models) {
|
|
10
12
|
Models.MethodConfig = HelpersModels.MethodConfig;
|
|
@@ -157,4 +159,4 @@ export var Models;
|
|
|
157
159
|
})(Models || (Models = {}));
|
|
158
160
|
;
|
|
159
161
|
({}); // @--end-of-file-for-module=ng2-rest lib/models.ts
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLE1BQU0sSUFBSSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHM0MsTUFBTSxLQUFXLE1BQU0sQ0E2UnRCO0FBN1JELFdBQWlCLE1BQU07SUFLUCxtQkFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDMUMsa0JBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLGtCQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQTtJQTRFcEQsQ0FBQztJQUtELENBQUM7SUFXRCxFQUFFLENBQUM7SUFFSixNQUFzQixRQUFRO1FBQ2xCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxHQUFHLEtBQUs7WUFDeEMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsSUFBSTtvQkFDRixDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdEI7Z0JBQUMs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O1FBRUQsSUFBSSxLQUFLO1lBQ1AsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQztZQUNELE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztLQUVGO0lBbkRZLG1CQUFZLGVBbUR4QixDQUFBO0lBRUQsTUFBYSxpQkFBa0IsU0FBUSxZQUFpQjtRQUt0RCxZQUNTLE9BQWUsRUFDdEIsWUFBcUIsRUFDckIsT0FBcUIsRUFDckIsVUFBOEIsRUFDdkIsS0FBYztZQUVyQixLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQU5sQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1lBSWYsVUFBSyxHQUFMLEtBQUssQ0FBUztZQUdyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3pDLENBQUM7S0FDRjtJQWZZLHdCQUFpQixvQkFlN0IsQ0FBQTtJQVlILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztBQUVMLENBQUMsRUE3UmdCLE1BQU0sS0FBTixNQUFNLFFBNlJ0QjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgeyBSZXN0SGVhZGVycyB9IGZyb20gJy4vcmVzdC1oZWFkZXJzJztcbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuL3Jlc3QuY2xhc3MnO1xuaW1wb3J0IHsgQ29va2llIH0gZnJvbSAnLi9jb29raWUnO1xuaW1wb3J0IHsgTWFwcGluZyB9IGZyb20gJy4vbWFwcGluZyc7XG5pbXBvcnQgeyBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgTW9kZWxzIGFzIEhlbHBlcnNNb2RlbHMgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3NlcidcbmltcG9ydCB7IEpTT04xMCwgQ2lyYyB9IGZyb20gJ2pzb24xMC9icm93c2VyJztcbmltcG9ydCB7IFJlcXVlc3RDYWNoZSB9IGZyb20gJy4vcmVxdWVzdC1jYWNoZSc7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBDb25maWdNb2RlbHMgfSBmcm9tICd0bnAtY29uZmlnL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9kZWxzIHtcblxuICBleHBvcnQgaW1wb3J0IEh0dHBNZXRob2QgPSBDb25maWdNb2RlbHMuSHR0cE1ldGhvZDtcbiAgZXhwb3J0IGltcG9ydCBQYXJhbVR5cGUgPSBDb25maWdNb2RlbHMuUGFyYW1UeXBlO1xuXG4gIGV4cG9ydCBpbXBvcnQgTWV0aG9kQ29uZmlnID0gSGVscGVyc01vZGVscy5NZXRob2RDb25maWc7XG4gIGV4cG9ydCBpbXBvcnQgQ2xhc3NDb25maWcgPSBIZWxwZXJzTW9kZWxzLkNsYXNzQ29uZmlnO1xuICBleHBvcnQgaW1wb3J0IFBhcmFtQ29uZmlnID0gSGVscGVyc01vZGVscy5QYXJhbUNvbmZpZ1xuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBIYW5kbGVSZXN1bHRPcHRpb25zIHtcbiAgICByZXM6IE1vZGVscy5Nb2NrUmVzcG9uc2U7XG4gICAgbWV0aG9kOiBNb2RlbHMuSHR0cE1ldGhvZDtcbiAgICBqb2JpZD86IG51bWJlcjtcbiAgICBpc0FycmF5PzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMge1xuICAgIHVybDogc3RyaW5nLFxuICAgIG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsXG5cbiAgICBib2R5OiBhbnksXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIEJhY2tlbmRFcnJvciA9IHtcbiAgICBtc2c/OiBzdHJpbmc7XG4gICAgc3RhY2s/OiBzdHJpbmdbXTtcbiAgICBkYXRhOiBhbnk7XG4gIH1cblxuICBleHBvcnQgdHlwZSBNZXRhUmVxdWVzdCA9IHtcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgZW5kcG9pbnQ6IHN0cmluZztcbiAgICBlbnRpdHk6IE1hcHBpbmcuTWFwcGluZztcbiAgICBjaXJjdWxhcjogQ2lyY1tdO1xuICB9XG4gIGV4cG9ydCB0eXBlIEh0dHBDb2RlID0gMjAwIHwgNDAwIHwgNDAxIHwgNDA0IHwgNTAwO1xuXG4gIGV4cG9ydCB0eXBlIFByb21pc2VPYnNlcnZhYmxlTWl4PFQ+ID0gUHJvbWlzZTxUPiAmIHtcbiAgICBjYWNoZT86IFJlcXVlc3RDYWNoZSxcbiAgICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+O1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgTWV0aG9kV2l0aG91dEJvZHk8RSwgVCwgUiA9IFByb21pc2VPYnNlcnZhYmxlTWl4PEU+PiA9IChwYXJhbXM/OiBVcmxQYXJhbXNbXSwgZG9Ob3RTZXJpYWxpemVQYXJhbXM/OiBib29sZWFuKSA9PiBSXG4gIGV4cG9ydCB0eXBlIE1ldGhvZFdpdGhCb2R5PEUsIFQsIFIgPSBQcm9taXNlT2JzZXJ2YWJsZU1peDxFPj4gPSAoaXRlbT86IFQsIHBhcmFtcz86IFVybFBhcmFtc1tdLCBkb05vdFNlcmlhbGl6ZVBhcmFtcz86IGJvb2xlYW4pID0+IFJcbiAgZXhwb3J0IHR5cGUgUmVwbGF5RGF0YSA9IHtcbiAgICBzdWJqZWN0OiBTdWJqZWN0PGFueT4sXG4gICAgZGF0YTogeyB1cmw6IHN0cmluZywgYm9keTogc3RyaW5nLCBoZWFkZXJzOiBSZXN0SGVhZGVycywgaXNBcnJheTogYm9vbGVhbjsgfSxcbiAgICAvKipcbiAgICAgKiBqb2JpZFxuICAgICAqL1xuICAgIGlkOiBudW1iZXI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFJlcVBhcmFtcyA9IHsgdXJsOiBzdHJpbmcsIG1ldGhvZDogQ29uZmlnTW9kZWxzLkh0dHBNZXRob2QsIGhlYWRlcnM/OiBSZXN0SGVhZGVycywgYm9keT86IGFueSwgam9iaWQ6IG51bWJlciwgaXNBcnJheTogYm9vbGVhbiB9O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VNb2RlbDxBLCBUQT4ge1xuICAgIG1vZGVsOiAocGF0aE1vZGVscz86IE9iamVjdCwgcmVzcG9uc2VPYmplY3RUeXBlPzogRnVuY3Rpb24pID0+IFJlc3Q8QSwgVEE+LFxuICAgIHJlcGxheTogKG1ldGhvZDogQ29uZmlnTW9kZWxzLkh0dHBNZXRob2QpID0+IHZvaWQ7XG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnM7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIE5nMlJlc3RNZXRob2RzPEUsIFQ+IHtcbiAgICBnZXQ6IE1ldGhvZFdpdGhvdXRCb2R5PEUsIFQ+O1xuICAgIHBvc3Q6IE1ldGhvZFdpdGhCb2R5PEUsIFQ+O1xuICAgIHB1dDogTWV0aG9kV2l0aEJvZHk8RSwgVD47XG4gICAgcGF0Y2g6IE1ldGhvZFdpdGhCb2R5PEUsIFQ+O1xuICAgIGhlYWQ6IE1ldGhvZFdpdGhvdXRCb2R5PEUsIFQ+O1xuICAgIGRlbGV0ZTogTWV0aG9kV2l0aG91dEJvZHk8RSwgVD47XG4gICAganNvbnA6IE1ldGhvZFdpdGhvdXRCb2R5PEUsIFQ+O1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgTW9ja0NvbnRyb2xsZXIgPSAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgbWV0aG9kOiBDb25maWdNb2RlbHMuSHR0cE1ldGhvZCxcbiAgICBoZWFkZXJzPzogUmVzdEhlYWRlcnMsXG4gICAgYm9keT86IGFueVxuICApID0+IE1vY2tSZXNwb25zZTtcblxuICBleHBvcnQgdHlwZSBNb2NrSHR0cCA9IChNb2NrUmVzcG9uc2UgfCBNb2NrQ29udHJvbGxlcik7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBGbk1ldGhvZHNIdHRwPFQsIFRBPiBleHRlbmRzIE5nMlJlc3RNZXRob2RzPEh0dHBSZXNwb25zZTxUPiwgVD4ge1xuICAgIGFycmF5OiBOZzJSZXN0TWV0aG9kczxIdHRwUmVzcG9uc2U8VEE+LCBUQT47XG4gIH07XG5cbiAgZXhwb3J0IGludGVyZmFjZSBGbk1ldGhvZHNIdHRwV2l0aE1vY2s8VCwgVEE+IGV4dGVuZHMgTmcyUmVzdE1ldGhvZHM8SHR0cFJlc3BvbnNlPFQ+LCBUPiB7XG4gICAgYXJyYXk6IE5nMlJlc3RNZXRob2RzPEh0dHBSZXNwb25zZTxUQT4sIFRBPjtcbiAgICBtb2NrKG1vY2s6IE1vY2tIdHRwLCBjb2RlOiBIdHRwQ29kZSk6IEZuTWV0aG9kc0h0dHA8VCwgVEE+O1xuICB9O1xuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIE5lc3RlZFBhcmFtcyB7XG4gICAgW3BhcmFtczogc3RyaW5nXTogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBVcmxQYXJhbXMge1xuICAgIFt1cmxNb2RlbE5hbWU6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWdFeHAgfCBPYmplY3Q7XG4gICAgcmVnZXg/OiBSZWdFeHA7XG4gIH1bXTtcblxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUJvZHkge1xuICAgIHByb3RlY3RlZCB0b0pTT04oZGF0YSwgaXNKU09OQXJyYXkgPSBmYWxzZSkge1xuICAgICAgbGV0IHIgPSBpc0pTT05BcnJheSA/IFtdIDoge307XG4gICAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgciA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gciBhcyBhbnk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIEh0dHBCb2R5PFQ+IGV4dGVuZHMgQmFzZUJvZHkge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNwb25zZVRleHQ6IHN0cmluZyB8IEJsb2IsIHByaXZhdGUgaXNBcnJheSA9IGZhbHNlLFxuICAgICAgcHJpdmF0ZSBlbnRpdHk6IE1hcHBpbmcuTWFwcGluZyxcbiAgICAgIHByaXZhdGUgY2lyY3VsYXI6IENpcmNbXVxuICAgICkge1xuICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJsb2IoKTogQmxvYiB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZVRleHQgYXMgQmxvYjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJvb2xlYW5WYWx1ZSgpIHtcbiAgICAgIGlmICghSGVscGVycy5pc0Jsb2IodGhpcy5yZXNwb25zZVRleHQpKSB7XG4gICAgICAgIHJldHVybiBbJ29rJywgJ3RydWUnXS5pbmNsdWRlcygodGhpcy5yZXNwb25zZVRleHQgYXMgc3RyaW5nKS50cmltKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmF3SnNvbigpOiBQYXJ0aWFsPFQ+IHtcbiAgICAgIGlmICghSGVscGVycy5pc0Jsb2IodGhpcy5yZXNwb25zZVRleHQpKSB7XG4gICAgICAgIGxldCByZXMgPSB0aGlzLnRvSlNPTih0aGlzLnJlc3BvbnNlVGV4dCwgdGhpcy5pc0FycmF5KTtcbiAgICAgICAgaWYgKHRoaXMuY2lyY3VsYXIgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmNpcmN1bGFyKSkge1xuICAgICAgICAgIHJlcyA9IEpTT04xMC5wYXJzZShKU09OLnN0cmluZ2lmeShyZXMpLCB0aGlzLmNpcmN1bGFyKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGpzb24oKTogVCB7XG4gICAgICBpZiAoIUhlbHBlcnMuaXNCbG9iKHRoaXMucmVzcG9uc2VUZXh0KSkge1xuICAgICAgICBpZiAodGhpcy5lbnRpdHkgJiYgdHlwZW9mIHRoaXMuZW50aXR5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5KCk7IC8vIEBMQVNUXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZW50aXR5ICYmIHR5cGVvZiB0aGlzLmVudGl0eSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy50b0pTT04odGhpcy5yZXNwb25zZVRleHQsIHRoaXMuaXNBcnJheSk7XG4gICAgICAgICAgcmV0dXJuIE1hcHBpbmcuZW5jb2RlKGpzb24sIHRoaXMuZW50aXR5LCB0aGlzLmNpcmN1bGFyKSBhcyBhbnk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlcyA9IHRoaXMudG9KU09OKHRoaXMucmVzcG9uc2VUZXh0LCB0aGlzLmlzQXJyYXkpO1xuICAgICAgICBpZiAodGhpcy5jaXJjdWxhciAmJiBBcnJheS5pc0FycmF5KHRoaXMuY2lyY3VsYXIpKSB7XG4gICAgICAgICAgcmVzID0gSlNPTjEwLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlcyksIHRoaXMuY2lyY3VsYXIpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIGdldCB0ZXh0KCkge1xuICAgICAgaWYgKCFIZWxwZXJzLmlzQmxvYih0aGlzLnJlc3BvbnNlVGV4dCkpIHtcblxuICAgICAgICByZXR1cm4gKHRoaXMucmVzcG9uc2VUZXh0IGFzIHN0cmluZykucmVwbGFjZSgvXlxcXCIvLCAnJykucmVwbGFjZSgvXFxcIiQvLCAnJylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgRXJyb3JCb2R5IGV4dGVuZHMgQmFzZUJvZHkge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YSkge1xuICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGpzb24oKTogT2JqZWN0IHtcbiAgICAgIHJldHVybiB0aGlzLnRvSlNPTih0aGlzLmRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHRleHQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhXG4gICAgfVxuICB9XG5cblxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVJlc3BvbnNlPFQ+IHtcbiAgICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IGNvb2tpZXMgPSBDb29raWUuSW5zdGFuY2U7XG5cbiAgICBwdWJsaWMgZ2V0IGNvb2tpZXMoKSB7XG4gICAgICByZXR1cm4gQmFzZVJlc3BvbnNlLmNvb2tpZXM7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIHJlc3BvbnNlVGV4dD86IHN0cmluZyB8IEJsb2IsXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVycz86IFJlc3RIZWFkZXJzLFxuICAgICAgcHVibGljIHJlYWRvbmx5IHN0YXR1c0NvZGU/OiBIdHRwQ29kZSB8IG51bWJlcixcbiAgICAgIHB1YmxpYyBpc0FycmF5ID0gZmFsc2VcbiAgICApIHtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgSHR0cFJlc3BvbnNlPFQ+IGV4dGVuZHMgQmFzZVJlc3BvbnNlPFQ+IHtcbiAgICBwdWJsaWMgYm9keT86IEh0dHBCb2R5PFQ+O1xuXG5cblxuXG4gICAgcnE6IFJlcXVlc3RDYWNoZTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBzb3VyY2VSZXF1ZXN0OiBNb2RlbHMuSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMsXG4gICAgICBwdWJsaWMgcmVzcG9uc2VUZXh0Pzogc3RyaW5nIHwgQmxvYixcbiAgICAgIHB1YmxpYyBoZWFkZXJzPzogUmVzdEhlYWRlcnMsXG4gICAgICBwdWJsaWMgc3RhdHVzQ29kZT86IEh0dHBDb2RlIHwgbnVtYmVyLFxuICAgICAgcHVibGljIGVudGl0eT86IE1hcHBpbmcuTWFwcGluZyB8IEZ1bmN0aW9uLFxuICAgICAgcHVibGljIGNpcmN1bGFyPzogQ2lyY1tdLFxuICAgICAgcHVibGljIGpvYmlkPzogbnVtYmVyLFxuICAgICAgcHVibGljIGlzQXJyYXkgPSBmYWxzZSxcbiAgICApIHtcblxuXG5cbiAgICAgIHN1cGVyKHJlc3BvbnNlVGV4dCwgaGVhZGVycywgc3RhdHVzQ29kZSwgaXNBcnJheSk7XG5cbiAgICAgIHRoaXMuaW5pdCgpXG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZW50aXR5ID09PSAnc3RyaW5nJykge1xuXG4gICAgICAgIGxldCBlbnRpdHlKU09OID0gdGhpcy5oZWFkZXJzLmdldEFsbCh0aGlzLmVudGl0eSlcbiAgICAgICAgaWYgKCEhZW50aXR5SlNPTikge1xuICAgICAgICAgIHRoaXMuZW50aXR5ID0gSlNPTi5wYXJzZShlbnRpdHlKU09OLmpvaW4oKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jaXJjdWxhciA9PT0gJ3N0cmluZycpIHtcblxuICAgICAgICBsZXQgY2lyY3VyYWxKU09OID0gdGhpcy5oZWFkZXJzLmdldEFsbCh0aGlzLmNpcmN1bGFyKTtcbiAgICAgICAgaWYgKCEhY2lyY3VyYWxKU09OKSB7XG4gICAgICAgICAgdGhpcy5jaXJjdWxhciA9IEpTT04ucGFyc2UoY2lyY3VyYWxKU09OLmpvaW4oKSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgdGhpcy5ib2R5ID0gbmV3IEh0dHBCb2R5KHRoaXMucmVzcG9uc2VUZXh0LCB0aGlzLmlzQXJyYXksIHRoaXMuZW50aXR5LCB0aGlzLmNpcmN1bGFyKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgZ2V0IGNhY2hlKCkge1xuICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5ycSkpIHtcbiAgICAgICAgdGhpcy5ycSA9IG5ldyBSZXF1ZXN0Q2FjaGUodGhpcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IFJlcXVlc3RDYWNoZSh0aGlzKTtcbiAgICB9XG5cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBIdHRwUmVzcG9uc2VFcnJvciBleHRlbmRzIEJhc2VSZXNwb25zZTxhbnk+IHtcbiAgICBwcml2YXRlIGJvZHk6IEVycm9yQm9keTtcblxuXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICByZXNwb25zZVRleHQ/OiBzdHJpbmcsXG4gICAgICBoZWFkZXJzPzogUmVzdEhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlPzogSHR0cENvZGUgfCBudW1iZXIsXG4gICAgICBwdWJsaWMgam9iaWQ/OiBudW1iZXIsXG4gICAgKSB7XG4gICAgICBzdXBlcihyZXNwb25zZVRleHQsIGhlYWRlcnMsIHN0YXR1c0NvZGUpO1xuICAgICAgdGhpcy5ib2R5ID0gbmV3IEVycm9yQm9keShyZXNwb25zZVRleHQpXG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBNb2NrUmVzcG9uc2Uge1xuICAgIGRhdGE/OiBhbnk7XG4gICAgY29kZT86IEh0dHBDb2RlO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIGhlYWRlcnM/OiBSZXN0SGVhZGVycztcbiAgICBqb2JpZD86IG51bWJlcjtcbiAgICBpc0FycmF5OiBib29sZWFuO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgUmVzcG9uc2VUeXBlQXhpb3MgPSAnYmxvYicgfCAndGV4dCdcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1uZzItcmVzdCBsaWIvbW9kZWxzLnRzIl19
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLE1BQU0sSUFBSSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsS0FBSztBQUNMLEtBQUs7QUFJTCxNQUFNLEtBQVcsTUFBTSxDQTZSdEI7QUE3UkQsV0FBaUIsTUFBTTtJQUtQLG1CQUFZLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUMxQyxrQkFBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsa0JBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFBO0lBNEVwRCxDQUFDO0lBS0QsQ0FBQztJQVdELEVBQUUsQ0FBQztJQUVKLE1BQXNCLFFBQVE7UUFDbEIsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLEdBQUcsS0FBSztZQUN4QyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUM1QixJQUFJO29CQUNGLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FB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Q0FBUSxDQUFDO1FBQy9GLENBQUM7UUFFRCxJQUFJLEtBQUs7WUFDUCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO0tBRUY7SUFuRFksbUJBQVksZUFtRHhCLENBQUE7SUFFRCxNQUFhLGlCQUFrQixTQUFRLFlBQWlCO1FBS3RELFlBQ1MsT0FBZSxFQUN0QixZQUFxQixFQUNyQixPQUFxQixFQUNyQixVQUE4QixFQUN2QixLQUFjO1lBRXJCLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBTmxDLFlBQU8sR0FBUCxPQUFPLENBQVE7WUFJZixVQUFLLEdBQUwsS0FBSyxDQUFTO1lBR3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDekMsQ0FBQztLQUNGO0lBZlksd0JBQWlCLG9CQWU3QixDQUFBO0lBWUgsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBRUwsQ0FBQyxFQTdSZ0IsTUFBTSxLQUFOLE1BQU0sUUE2UnRCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtREFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgeyBSZXN0SGVhZGVycyB9IGZyb20gJy4vcmVzdC1oZWFkZXJzJztcbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuL3Jlc3QuY2xhc3MnO1xuaW1wb3J0IHsgQ29va2llIH0gZnJvbSAnLi9jb29raWUnO1xuaW1wb3J0IHsgTWFwcGluZyB9IGZyb20gJy4vbWFwcGluZyc7XG5pbXBvcnQgeyBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgTW9kZWxzIGFzIEhlbHBlcnNNb2RlbHMgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3NlcidcbmltcG9ydCB7IEpTT04xMCwgQ2lyYyB9IGZyb20gJ2pzb24xMC9icm93c2VyJztcbmltcG9ydCB7IFJlcXVlc3RDYWNoZSB9IGZyb20gJy4vcmVxdWVzdC1jYWNoZSc7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBDb25maWdNb2RlbHMgfSBmcm9tICd0bnAtY29uZmlnL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuLyogKi9cbi8qICovXG4gIFxuXG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9kZWxzIHtcblxuICBleHBvcnQgaW1wb3J0IEh0dHBNZXRob2QgPSBDb25maWdNb2RlbHMuSHR0cE1ldGhvZDtcbiAgZXhwb3J0IGltcG9ydCBQYXJhbVR5cGUgPSBDb25maWdNb2RlbHMuUGFyYW1UeXBlO1xuXG4gIGV4cG9ydCBpbXBvcnQgTWV0aG9kQ29uZmlnID0gSGVscGVyc01vZGVscy5NZXRob2RDb25maWc7XG4gIGV4cG9ydCBpbXBvcnQgQ2xhc3NDb25maWcgPSBIZWxwZXJzTW9kZWxzLkNsYXNzQ29uZmlnO1xuICBleHBvcnQgaW1wb3J0IFBhcmFtQ29uZmlnID0gSGVscGVyc01vZGVscy5QYXJhbUNvbmZpZ1xuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBIYW5kbGVSZXN1bHRPcHRpb25zIHtcbiAgICByZXM6IE1vZGVscy5Nb2NrUmVzcG9uc2U7XG4gICAgbWV0aG9kOiBNb2RlbHMuSHR0cE1ldGhvZDtcbiAgICBqb2JpZD86IG51bWJlcjtcbiAgICBpc0FycmF5PzogYm9vbGVhbjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMge1xuICAgIHVybDogc3RyaW5nLFxuICAgIG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsXG5cbiAgICBib2R5OiBhbnksXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIEJhY2tlbmRFcnJvciA9IHtcbiAgICBtc2c/OiBzdHJpbmc7XG4gICAgc3RhY2s/OiBzdHJpbmdbXTtcbiAgICBkYXRhOiBhbnk7XG4gIH1cblxuICBleHBvcnQgdHlwZSBNZXRhUmVxdWVzdCA9IHtcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgZW5kcG9pbnQ6IHN0cmluZztcbiAgICBlbnRpdHk6IE1hcHBpbmcuTWFwcGluZztcbiAgICBjaXJjdWxhcjogQ2lyY1tdO1xuICB9XG4gIGV4cG9ydCB0eXBlIEh0dHBDb2RlID0gMjAwIHwgNDAwIHwgNDAxIHwgNDA0IHwgNTAwO1xuXG4gIGV4cG9ydCB0eXBlIFByb21pc2VPYnNlcnZhYmxlTWl4PFQ+ID0gUHJvbWlzZTxUPiAmIHtcbiAgICBjYWNoZT86IFJlcXVlc3RDYWNoZSxcbiAgICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+O1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgTWV0aG9kV2l0aG91dEJvZHk8RSwgVCwgUiA9IFByb21pc2VPYnNlcnZhYmxlTWl4PEU+PiA9IChwYXJhbXM/OiBVcmxQYXJhbXNbXSwgZG9Ob3RTZXJpYWxpemVQYXJhbXM/OiBib29sZWFuKSA9PiBSXG4gIGV4cG9ydCB0eXBlIE1ldGhvZFdpdGhCb2R5PEUsIFQsIFIgPSBQcm9taXNlT2JzZXJ2YWJsZU1peDxFPj4gPSAoaXRlbT86IFQsIHBhcmFtcz86IFVybFBhcmFtc1tdLCBkb05vdFNlcmlhbGl6ZVBhcmFtcz86IGJvb2xlYW4pID0+IFJcbiAgZXhwb3J0IHR5cGUgUmVwbGF5RGF0YSA9IHtcbiAgICBzdWJqZWN0OiBTdWJqZWN0PGFueT4sXG4gICAgZGF0YTogeyB1cmw6IHN0cmluZywgYm9keTogc3RyaW5nLCBoZWFkZXJzOiBSZXN0SGVhZGVycywgaXNBcnJheTogYm9vbGVhbjsgfSxcbiAgICAvKipcbiAgICAgKiBqb2JpZFxuICAgICAqL1xuICAgIGlkOiBudW1iZXI7XG4gIH07XG4gIGV4cG9ydCB0eXBlIFJlcVBhcmFtcyA9IHsgdXJsOiBzdHJpbmcsIG1ldGhvZDogQ29uZmlnTW9kZWxzLkh0dHBNZXRob2QsIGhlYWRlcnM/OiBSZXN0SGVhZGVycywgYm9keT86IGFueSwgam9iaWQ6IG51bWJlciwgaXNBcnJheTogYm9vbGVhbiB9O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VNb2RlbDxBLCBUQT4ge1xuICAgIG1vZGVsOiAocGF0aE1vZGVscz86IE9iamVjdCwgcmVzcG9uc2VPYmplY3RUeXBlPzogRnVuY3Rpb24pID0+IFJlc3Q8QSwgVEE+LFxuICAgIHJlcGxheTogKG1ldGhvZDogQ29uZmlnTW9kZWxzLkh0dHBNZXRob2QpID0+IHZvaWQ7XG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnM7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIE5nMlJlc3RNZXRob2RzPEUsIFQ+IHtcbiAgICBnZXQ6IE1ldGhvZFdpdGhvdXRCb2R5PEUsIFQ+O1xuICAgIHBvc3Q6IE1ldGhvZFdpdGhCb2R5PEUsIFQ+O1xuICAgIHB1dDogTWV0aG9kV2l0aEJvZHk8RSwgVD47XG4gICAgcGF0Y2g6IE1ldGhvZFdpdGhCb2R5PEUsIFQ+O1xuICAgIGhlYWQ6IE1ldGhvZFdpdGhvdXRCb2R5PEUsIFQ+O1xuICAgIGRlbGV0ZTogTWV0aG9kV2l0aG91dEJvZHk8RSwgVD47XG4gICAganNvbnA6IE1ldGhvZFdpdGhvdXRCb2R5PEUsIFQ+O1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgTW9ja0NvbnRyb2xsZXIgPSAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgbWV0aG9kOiBDb25maWdNb2RlbHMuSHR0cE1ldGhvZCxcbiAgICBoZWFkZXJzPzogUmVzdEhlYWRlcnMsXG4gICAgYm9keT86IGFueVxuICApID0+IE1vY2tSZXNwb25zZTtcblxuICBleHBvcnQgdHlwZSBNb2NrSHR0cCA9IChNb2NrUmVzcG9uc2UgfCBNb2NrQ29udHJvbGxlcik7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBGbk1ldGhvZHNIdHRwPFQsIFRBPiBleHRlbmRzIE5nMlJlc3RNZXRob2RzPEh0dHBSZXNwb25zZTxUPiwgVD4ge1xuICAgIGFycmF5OiBOZzJSZXN0TWV0aG9kczxIdHRwUmVzcG9uc2U8VEE+LCBUQT47XG4gIH07XG5cbiAgZXhwb3J0IGludGVyZmFjZSBGbk1ldGhvZHNIdHRwV2l0aE1vY2s8VCwgVEE+IGV4dGVuZHMgTmcyUmVzdE1ldGhvZHM8SHR0cFJlc3BvbnNlPFQ+LCBUPiB7XG4gICAgYXJyYXk6IE5nMlJlc3RNZXRob2RzPEh0dHBSZXNwb25zZTxUQT4sIFRBPjtcbiAgICBtb2NrKG1vY2s6IE1vY2tIdHRwLCBjb2RlOiBIdHRwQ29kZSk6IEZuTWV0aG9kc0h0dHA8VCwgVEE+O1xuICB9O1xuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIE5lc3RlZFBhcmFtcyB7XG4gICAgW3BhcmFtczogc3RyaW5nXTogc3RyaW5nO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBVcmxQYXJhbXMge1xuICAgIFt1cmxNb2RlbE5hbWU6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWdFeHAgfCBPYmplY3Q7XG4gICAgcmVnZXg/OiBSZWdFeHA7XG4gIH1bXTtcblxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUJvZHkge1xuICAgIHByb3RlY3RlZCB0b0pTT04oZGF0YSwgaXNKU09OQXJyYXkgPSBmYWxzZSkge1xuICAgICAgbGV0IHIgPSBpc0pTT05BcnJheSA/IFtdIDoge307XG4gICAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgciA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gciBhcyBhbnk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIEh0dHBCb2R5PFQ+IGV4dGVuZHMgQmFzZUJvZHkge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNwb25zZVRleHQ6IHN0cmluZyB8IEJsb2IsIHByaXZhdGUgaXNBcnJheSA9IGZhbHNlLFxuICAgICAgcHJpdmF0ZSBlbnRpdHk6IE1hcHBpbmcuTWFwcGluZyxcbiAgICAgIHByaXZhdGUgY2lyY3VsYXI6IENpcmNbXVxuICAgICkge1xuICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJsb2IoKTogQmxvYiB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZVRleHQgYXMgQmxvYjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJvb2xlYW5WYWx1ZSgpIHtcbiAgICAgIGlmICghSGVscGVycy5pc0Jsb2IodGhpcy5yZXNwb25zZVRleHQpKSB7XG4gICAgICAgIHJldHVybiBbJ29rJywgJ3RydWUnXS5pbmNsdWRlcygodGhpcy5yZXNwb25zZVRleHQgYXMgc3RyaW5nKS50cmltKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmF3SnNvbigpOiBQYXJ0aWFsPFQ+IHtcbiAgICAgIGlmICghSGVscGVycy5pc0Jsb2IodGhpcy5yZXNwb25zZVRleHQpKSB7XG4gICAgICAgIGxldCByZXMgPSB0aGlzLnRvSlNPTih0aGlzLnJlc3BvbnNlVGV4dCwgdGhpcy5pc0FycmF5KTtcbiAgICAgICAgaWYgKHRoaXMuY2lyY3VsYXIgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmNpcmN1bGFyKSkge1xuICAgICAgICAgIHJlcyA9IEpTT04xMC5wYXJzZShKU09OLnN0cmluZ2lmeShyZXMpLCB0aGlzLmNpcmN1bGFyKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGpzb24oKTogVCB7XG4gICAgICBpZiAoIUhlbHBlcnMuaXNCbG9iKHRoaXMucmVzcG9uc2VUZXh0KSkge1xuICAgICAgICBpZiAodGhpcy5lbnRpdHkgJiYgdHlwZW9mIHRoaXMuZW50aXR5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5KCk7IC8vIEBMQVNUXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZW50aXR5ICYmIHR5cGVvZiB0aGlzLmVudGl0eSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBqc29uID0gdGhpcy50b0pTT04odGhpcy5yZXNwb25zZVRleHQsIHRoaXMuaXNBcnJheSk7XG4gICAgICAgICAgcmV0dXJuIE1hcHBpbmcuZW5jb2RlKGpzb24sIHRoaXMuZW50aXR5LCB0aGlzLmNpcmN1bGFyKSBhcyBhbnk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlcyA9IHRoaXMudG9KU09OKHRoaXMucmVzcG9uc2VUZXh0LCB0aGlzLmlzQXJyYXkpO1xuICAgICAgICBpZiAodGhpcy5jaXJjdWxhciAmJiBBcnJheS5pc0FycmF5KHRoaXMuY2lyY3VsYXIpKSB7XG4gICAgICAgICAgcmVzID0gSlNPTjEwLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlcyksIHRoaXMuY2lyY3VsYXIpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9XG4gICAgcHVibGljIGdldCB0ZXh0KCkge1xuICAgICAgaWYgKCFIZWxwZXJzLmlzQmxvYih0aGlzLnJlc3BvbnNlVGV4dCkpIHtcblxuICAgICAgICByZXR1cm4gKHRoaXMucmVzcG9uc2VUZXh0IGFzIHN0cmluZykucmVwbGFjZSgvXlxcXCIvLCAnJykucmVwbGFjZSgvXFxcIiQvLCAnJylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgRXJyb3JCb2R5IGV4dGVuZHMgQmFzZUJvZHkge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YSkge1xuICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGpzb24oKTogT2JqZWN0IHtcbiAgICAgIHJldHVybiB0aGlzLnRvSlNPTih0aGlzLmRhdGEpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHRleHQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhXG4gICAgfVxuICB9XG5cblxuICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVJlc3BvbnNlPFQ+IHtcbiAgICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IGNvb2tpZXMgPSBDb29raWUuSW5zdGFuY2U7XG5cbiAgICBwdWJsaWMgZ2V0IGNvb2tpZXMoKSB7XG4gICAgICByZXR1cm4gQmFzZVJlc3BvbnNlLmNvb2tpZXM7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIHJlc3BvbnNlVGV4dD86IHN0cmluZyB8IEJsb2IsXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVycz86IFJlc3RIZWFkZXJzLFxuICAgICAgcHVibGljIHJlYWRvbmx5IHN0YXR1c0NvZGU/OiBIdHRwQ29kZSB8IG51bWJlcixcbiAgICAgIHB1YmxpYyBpc0FycmF5ID0gZmFsc2VcbiAgICApIHtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgSHR0cFJlc3BvbnNlPFQ+IGV4dGVuZHMgQmFzZVJlc3BvbnNlPFQ+IHtcbiAgICBwdWJsaWMgYm9keT86IEh0dHBCb2R5PFQ+O1xuXG5cblxuXG4gICAgcnE6IFJlcXVlc3RDYWNoZTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBzb3VyY2VSZXF1ZXN0OiBNb2RlbHMuSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMsXG4gICAgICBwdWJsaWMgcmVzcG9uc2VUZXh0Pzogc3RyaW5nIHwgQmxvYixcbiAgICAgIHB1YmxpYyBoZWFkZXJzPzogUmVzdEhlYWRlcnMsXG4gICAgICBwdWJsaWMgc3RhdHVzQ29kZT86IEh0dHBDb2RlIHwgbnVtYmVyLFxuICAgICAgcHVibGljIGVudGl0eT86IE1hcHBpbmcuTWFwcGluZyB8IEZ1bmN0aW9uLFxuICAgICAgcHVibGljIGNpcmN1bGFyPzogQ2lyY1tdLFxuICAgICAgcHVibGljIGpvYmlkPzogbnVtYmVyLFxuICAgICAgcHVibGljIGlzQXJyYXkgPSBmYWxzZSxcbiAgICApIHtcblxuXG5cbiAgICAgIHN1cGVyKHJlc3BvbnNlVGV4dCwgaGVhZGVycywgc3RhdHVzQ29kZSwgaXNBcnJheSk7XG5cbiAgICAgIHRoaXMuaW5pdCgpXG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuZW50aXR5ID09PSAnc3RyaW5nJykge1xuXG4gICAgICAgIGxldCBlbnRpdHlKU09OID0gdGhpcy5oZWFkZXJzLmdldEFsbCh0aGlzLmVudGl0eSlcbiAgICAgICAgaWYgKCEhZW50aXR5SlNPTikge1xuICAgICAgICAgIHRoaXMuZW50aXR5ID0gSlNPTi5wYXJzZShlbnRpdHlKU09OLmpvaW4oKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jaXJjdWxhciA9PT0gJ3N0cmluZycpIHtcblxuICAgICAgICBsZXQgY2lyY3VyYWxKU09OID0gdGhpcy5oZWFkZXJzLmdldEFsbCh0aGlzLmNpcmN1bGFyKTtcbiAgICAgICAgaWYgKCEhY2lyY3VyYWxKU09OKSB7XG4gICAgICAgICAgdGhpcy5jaXJjdWxhciA9IEpTT04ucGFyc2UoY2lyY3VyYWxKU09OLmpvaW4oKSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgdGhpcy5ib2R5ID0gbmV3IEh0dHBCb2R5KHRoaXMucmVzcG9uc2VUZXh0LCB0aGlzLmlzQXJyYXksIHRoaXMuZW50aXR5LCB0aGlzLmNpcmN1bGFyKSBhcyBhbnk7XG4gICAgfVxuXG4gICAgZ2V0IGNhY2hlKCkge1xuICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5ycSkpIHtcbiAgICAgICAgdGhpcy5ycSA9IG5ldyBSZXF1ZXN0Q2FjaGUodGhpcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IFJlcXVlc3RDYWNoZSh0aGlzKTtcbiAgICB9XG5cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBIdHRwUmVzcG9uc2VFcnJvciBleHRlbmRzIEJhc2VSZXNwb25zZTxhbnk+IHtcbiAgICBwcml2YXRlIGJvZHk6IEVycm9yQm9keTtcblxuXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICByZXNwb25zZVRleHQ/OiBzdHJpbmcsXG4gICAgICBoZWFkZXJzPzogUmVzdEhlYWRlcnMsXG4gICAgICBzdGF0dXNDb2RlPzogSHR0cENvZGUgfCBudW1iZXIsXG4gICAgICBwdWJsaWMgam9iaWQ/OiBudW1iZXIsXG4gICAgKSB7XG4gICAgICBzdXBlcihyZXNwb25zZVRleHQsIGhlYWRlcnMsIHN0YXR1c0NvZGUpO1xuICAgICAgdGhpcy5ib2R5ID0gbmV3IEVycm9yQm9keShyZXNwb25zZVRleHQpXG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBNb2NrUmVzcG9uc2Uge1xuICAgIGRhdGE/OiBhbnk7XG4gICAgY29kZT86IEh0dHBDb2RlO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIGhlYWRlcnM/OiBSZXN0SGVhZGVycztcbiAgICBqb2JpZD86IG51bWJlcjtcbiAgICBpc0FycmF5OiBib29sZWFuO1xuICB9XG5cbiAgZXhwb3J0IHR5cGUgUmVzcG9uc2VUeXBlQXhpb3MgPSAnYmxvYicgfCAndGV4dCdcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1uZzItcmVzdCBsaWIvbW9kZWxzLnRzIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { Resource } from '../resource
|
|
2
|
+
import { Resource } from '../resource-service';
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
5
5
|
* @export
|
|
@@ -116,4 +116,4 @@ class SimpleResource {
|
|
|
116
116
|
export { SimpleResource };
|
|
117
117
|
;
|
|
118
118
|
({}); // @--end-of-file-for-module=ng2-rest lib/other/simple-resource.ts
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL290aGVyL3NpbXBsZS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBS2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXFCL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLGdCQUFnQjthQUNOLDhCQUF5QixHQUFHLEtBQUssQUFBUixDQUFTO2FBQ2xDLGFBQVEsR0FBbUIsRUFBRSxBQUFyQixDQUFzQjtJQTZHNUMsWUFBMkIsUUFBb0IsRUFBVSxVQUFrQjtRQUFoRCxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQXpHM0U7O1VBRUU7UUFDRixVQUFLLEdBQXlCLENBQUMsVUFBZSxFQUFFLEVBQUU7WUFFaEQsT0FBTztnQkFFTCxHQUFHLEVBQUUsQ0FBQyxVQUFlLEVBQUUsRUFBRTtvQkFDdkIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFO3dCQUNqRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzs2QkFDdkQsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7NkJBQzdELFVBQVU7NkJBQ1YsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFD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LENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7U0F0QlUsY0FBYztBQTBCMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrRUFBa0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuXG5cblxuZXhwb3J0IGludGVyZmFjZSBSZXN0UHJvbWlzZXM8QSwgVEEsIFFQIGV4dGVuZHMgTW9kZWxzLlVybFBhcmFtcz4ge1xuICBnZXQ6IChxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8QT4+O1xuICBoZWFkOiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+PjtcbiAgcXVlcnk6IChxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8VEE+PjtcbiAgcHV0OiAoaXRlbT86IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIHBhdGNoOiAoaXRlbT86IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIHBvc3Q6IChpdGVtPzogQSwgcXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+PjtcbiAgZGVsZXRlOiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+IHwgYW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RlbDxBLCBUQSwgUlAgZXh0ZW5kcyBPYmplY3QsIFFQIGV4dGVuZHMgTW9kZWxzLlVybFBhcmFtcz4ge1xuICAocmVzdFBhcmFtcz86IFJQKTogUmVzdFByb21pc2VzPEEsIFRBLCBRUD47XG59XG5cblxuXG5cbi8qKlxuICpcbiAqIEBleHBvcnRcbiAqIEBhYnN0cmFjdFxuICogQGNsYXNzIFNpbXBsZVJlc291cmNlXG4gKiBAZXh0ZW5kcyB7UmVzb3VyY2U8VCwgQSwgVEE+fVxuICogQHRlbXBsYXRlIEUgIEVuZHBvaW50IHR5cGVcbiAqIEB0ZW1wbGF0ZSBBIFNpbmdsZSBtb2RsZSB0eXBlXG4gKiBAdGVtcGxhdGUgVEEgQXJyYXkgTW9kZWwgVHlwZVxuICogQHRlbXBsYXRlIFJQIHJlc3QgdXJsIHBhcmFtZXRlcnMgdHlwZVxuICogQHRlbXBsYXRlIFFQIHF1ZXJ5IHBhcmFtZXRlciB0eXBlXG4gKi9cbmNsYXNzIEV4dGVuZGVkUmVzb3VyY2U8RSwgQSwgVEEsIFJQIGV4dGVuZHMgT2JqZWN0LCBRUCBleHRlbmRzIE1vZGVscy5VcmxQYXJhbXM+ICB7XG4gIHB1YmxpYyBzdGF0aWMgZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcyA9IGZhbHNlO1xuICBwdWJsaWMgc3RhdGljIGhhbmRsZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIHJlc3Q6IE1vZGVscy5SZXNvdXJjZU1vZGVsPEEsIFRBPjtcblxuICAvKipcbiAgICogR2V0IG1vZGVsIGJ5IHJlc3QgcGFyYW1zXG4gICovXG4gIG1vZGVsOiBNb2RlbDxBLCBUQSwgUlAsIFFQPiA9IChyZXN0UGFyYW1zPzogUlApID0+IHtcblxuICAgIHJldHVybiB7XG5cbiAgICAgIGdldDogKHF1ZXJ5UHJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5nZXQoW3F1ZXJ5UHJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuICAgICAgfSxcblxuICAgICAgcGF0Y2g6IChpdGVtOiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLnB1dChpdGVtLCBbcXVlcnlQYXJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuXG4gICAgICB9LFxuXG4gICAgICBoZWFkOiAocXVlcnlQcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLmhlYWQoW3F1ZXJ5UHJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuICAgICAgfSxcblxuICAgICAgcXVlcnk6IChxdWVyeVByYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8VEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKS5cbiAgICAgICAgICAgIGFycmF5XG4gICAgICAgICAgICAuZ2V0KFtxdWVyeVByYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcbiAgICAgIH0sXG5cblxuICAgICAgcG9zdDogKGl0ZW06IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QT4pID0+IHtcbiAgICAgICAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLnB1c2godGhpcy5yZXN0Lm1vZGVsKHJlc3RQYXJhbXMpXG4gICAgICAgICAgICAucG9zdChpdGVtLCBbcXVlcnlQYXJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuXG4gICAgICB9LFxuXG5cbiAgICAgIHB1dDogKGl0ZW06IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QT4pID0+IHtcbiAgICAgICAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLnB1c2godGhpcy5yZXN0Lm1vZGVsKHJlc3RQYXJhbXMpXG4gICAgICAgICAgICAucHV0KGl0ZW0sIFtxdWVyeVBhcmFtc10sIEV4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcylcbiAgICAgICAgICAgIC5vYnNlcnZhYmxlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICBkYXRhID0+IG9ic2VydmVyLm5leHQoZGF0YS5ib2R5Lmpzb24pLFxuICAgICAgICAgICAgICBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKSkpXG4gICAgICAgIH0pXG5cbiAgICAgIH0sXG5cblxuICAgICAgZGVsZXRlOiAocXVlcnlQcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLmRlbGV0ZShbcXVlcnlQcmFtc10sIEV4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcylcbiAgICAgICAgICAgIC5vYnNlcnZhYmxlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICBkYXRhID0+IG9ic2VydmVyLm5leHQoZGF0YS5ib2R5Lmpzb24pLFxuICAgICAgICAgICAgICBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKSkpXG4gICAgICAgIH0pXG4gICAgICB9XG5cblxuICAgIH1cbiAgfVxuXG5cblxuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGVuZHBvaW50OiBFIHwgc3RyaW5nLCBwcml2YXRlIHBhdGhfbW9kZWw6IHN0cmluZykge1xuICAgIHRoaXMucmVzdCA9IDxhbnk+UmVzb3VyY2UuY3JlYXRlPEEsIFRBPig8YW55PmVuZHBvaW50LCBwYXRoX21vZGVsKTtcblxuICB9XG5cbn1cblxuXG5cbi8qKlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTaW1wbGVSZXNvdXJjZVxuICogQHRlbXBsYXRlIEEgc2luZ2xlIG1vZGVsIHR5cGVcbiAqIEB0ZW1wbGF0ZSBUQSBhcnJheSBtb2RlbCB0eXBlXG4gKiBAdGVtcGxhdGUgUlAgcmVzdCBwYXJhbWV0ZXJzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBRUCBxdWVyeSBwYXJhbWV0ZXJzIHR5cGVcbiAqL1xuZXhwb3J0IGNsYXNzIFNpbXBsZVJlc291cmNlPEEsIFRBPiB7XG4gIG1vZGVsOiBNb2RlbDxBLCBUQSwgT2JqZWN0LCBNb2RlbHMuVXJsUGFyYW1zPjtcblxuXG4gIHByaXZhdGUgc3RhdGljIF9pc1NldFF1ZXJ5UGFyYW1zU2VyaWFsaXphdGlvbiA9IGZhbHNlO1xuICBwdWJsaWMgc3RhdGljIHNldCBkb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKHZhbHVlKSB7XG4gICAgaWYgKCFTaW1wbGVSZXNvdXJjZS5faXNTZXRRdWVyeVBhcmFtc1NlcmlhbGl6YXRpb24pIHtcbiAgICAgIFNpbXBsZVJlc291cmNlLl9pc1NldFF1ZXJ5UGFyYW1zU2VyaWFsaXphdGlvbiA9IHRydWU7XG4gICAgICBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMgPSB2YWx1ZVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zb2xlLndhcm4oYFF1ZXJ5IHBhcmFtcyBzZXJpYWxpemF0aW9uIGFscmVhZHkgc2V0IGFzXG4gICAgICAgICR7RXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zfSxgKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgX19kZXN0cm95KCkge1xuICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMuZm9yRWFjaChoID0+IGgudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihlbmRwb2ludDogc3RyaW5nLCBtb2RlbDogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3QgPSBuZXcgRXh0ZW5kZWRSZXNvdXJjZTxzdHJpbmcsIEEsIFRBLCBPYmplY3QsIE1vZGVscy5VcmxQYXJhbXM+KGVuZHBvaW50LCBtb2RlbCk7XG4gICAgdGhpcy5tb2RlbCA9IHJlc3QubW9kZWw7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL290aGVyL3NpbXBsZS1yZXNvdXJjZS50cyJdfQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL290aGVyL3NpbXBsZS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBS2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXFCL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLGdCQUFnQjthQUNOLDhCQUF5QixHQUFHLEtBQUssQUFBUixDQUFTO2FBQ2xDLGFBQVEsR0FBbUIsRUFBRSxBQUFyQixDQUFzQjtJQTZHNUMsWUFBMkIsUUFBb0IsRUFBVSxVQUFrQjtRQUFoRCxhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQXpHM0U7O1VBRUU7UUFDRixVQUFLLEdBQXlCLENBQUMsVUFBZSxFQUFFLEVBQUU7WUFFaEQsT0FBTztnQkFFTCxHQUFHLEVBQUUsQ0FBQyxVQUFlLEVBQUUsRUFBRTtvQkFDdkIsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBcUIsRUFBRSxFQUFFO3dCQUNqRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQzs2QkFDdkQsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7NkJBQzdELFVBQVU7NkJBQ1YsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFD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LENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7U0F0QlUsY0FBYztBQTBCMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrRUFBa0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmVzb3VyY2UgfSBmcm9tICcuLi9yZXNvdXJjZS1zZXJ2aWNlJztcblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdFByb21pc2VzPEEsIFRBLCBRUCBleHRlbmRzIE1vZGVscy5VcmxQYXJhbXM+IHtcbiAgZ2V0OiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPEE+PjtcbiAgaGVhZDogKHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIHF1ZXJ5OiAocXVlcnlQYXJhbXM/OiBRUCkgPT4gT2JzZXJ2YWJsZTxNb2RlbHMuSHR0cFJlc3BvbnNlPFRBPj47XG4gIHB1dDogKGl0ZW0/OiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8QT4+O1xuICBwYXRjaDogKGl0ZW0/OiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiBPYnNlcnZhYmxlPE1vZGVscy5IdHRwUmVzcG9uc2U8QT4+O1xuICBwb3N0OiAoaXRlbT86IEEsIHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPj47XG4gIGRlbGV0ZTogKHF1ZXJ5UGFyYW1zPzogUVApID0+IE9ic2VydmFibGU8TW9kZWxzLkh0dHBSZXNwb25zZTxBPiB8IGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWw8QSwgVEEsIFJQIGV4dGVuZHMgT2JqZWN0LCBRUCBleHRlbmRzIE1vZGVscy5VcmxQYXJhbXM+IHtcbiAgKHJlc3RQYXJhbXM/OiBSUCk6IFJlc3RQcm9taXNlczxBLCBUQSwgUVA+O1xufVxuXG5cblxuXG4vKipcbiAqXG4gKiBAZXhwb3J0XG4gKiBAYWJzdHJhY3RcbiAqIEBjbGFzcyBTaW1wbGVSZXNvdXJjZVxuICogQGV4dGVuZHMge1Jlc291cmNlPFQsIEEsIFRBPn1cbiAqIEB0ZW1wbGF0ZSBFICBFbmRwb2ludCB0eXBlXG4gKiBAdGVtcGxhdGUgQSBTaW5nbGUgbW9kbGUgdHlwZVxuICogQHRlbXBsYXRlIFRBIEFycmF5IE1vZGVsIFR5cGVcbiAqIEB0ZW1wbGF0ZSBSUCByZXN0IHVybCBwYXJhbWV0ZXJzIHR5cGVcbiAqIEB0ZW1wbGF0ZSBRUCBxdWVyeSBwYXJhbWV0ZXIgdHlwZVxuICovXG5jbGFzcyBFeHRlbmRlZFJlc291cmNlPEUsIEEsIFRBLCBSUCBleHRlbmRzIE9iamVjdCwgUVAgZXh0ZW5kcyBNb2RlbHMuVXJsUGFyYW1zPiAge1xuICBwdWJsaWMgc3RhdGljIGRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMgPSBmYWxzZTtcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVyczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICByZXN0OiBNb2RlbHMuUmVzb3VyY2VNb2RlbDxBLCBUQT47XG5cbiAgLyoqXG4gICAqIEdldCBtb2RlbCBieSByZXN0IHBhcmFtc1xuICAqL1xuICBtb2RlbDogTW9kZWw8QSwgVEEsIFJQLCBRUD4gPSAocmVzdFBhcmFtcz86IFJQKSA9PiB7XG5cbiAgICByZXR1cm4ge1xuXG4gICAgICBnZXQ6IChxdWVyeVByYW1zPzogUVApID0+IHtcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKChvYnNlcnZlcjogT2JzZXJ2ZXI8QT4pID0+IHtcbiAgICAgICAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLnB1c2godGhpcy5yZXN0Lm1vZGVsKHJlc3RQYXJhbXMpXG4gICAgICAgICAgICAuZ2V0KFtxdWVyeVByYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHBhdGNoOiAoaXRlbTogQSwgcXVlcnlQYXJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5wdXQoaXRlbSwgW3F1ZXJ5UGFyYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcblxuICAgICAgfSxcblxuICAgICAgaGVhZDogKHF1ZXJ5UHJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5oZWFkKFtxdWVyeVByYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcbiAgICAgIH0sXG5cbiAgICAgIHF1ZXJ5OiAocXVlcnlQcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFRBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcykuXG4gICAgICAgICAgICBhcnJheVxuICAgICAgICAgICAgLmdldChbcXVlcnlQcmFtc10sIEV4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcylcbiAgICAgICAgICAgIC5vYnNlcnZhYmxlXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICBkYXRhID0+IG9ic2VydmVyLm5leHQoZGF0YS5ib2R5Lmpzb24pLFxuICAgICAgICAgICAgICBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKSkpXG4gICAgICAgIH0pXG4gICAgICB9LFxuXG5cbiAgICAgIHBvc3Q6IChpdGVtOiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLnBvc3QoaXRlbSwgW3F1ZXJ5UGFyYW1zXSwgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKVxuICAgICAgICAgICAgLm9ic2VydmFibGVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gb2JzZXJ2ZXIubmV4dChkYXRhLmJvZHkuanNvbiksXG4gICAgICAgICAgICAgIGVyciA9PiBvYnNlcnZlci5lcnJvcihlcnIpLFxuICAgICAgICAgICAgICAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpKSlcbiAgICAgICAgfSlcblxuICAgICAgfSxcblxuXG4gICAgICBwdXQ6IChpdGVtOiBBLCBxdWVyeVBhcmFtcz86IFFQKSA9PiB7XG4gICAgICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgob2JzZXJ2ZXI6IE9ic2VydmVyPEE+KSA9PiB7XG4gICAgICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5oYW5kbGVycy5wdXNoKHRoaXMucmVzdC5tb2RlbChyZXN0UGFyYW1zKVxuICAgICAgICAgICAgLnB1dChpdGVtLCBbcXVlcnlQYXJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuXG4gICAgICB9LFxuXG5cbiAgICAgIGRlbGV0ZTogKHF1ZXJ5UHJhbXM/OiBRUCkgPT4ge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9ic2VydmVyOiBPYnNlcnZlcjxBPikgPT4ge1xuICAgICAgICAgIEV4dGVuZGVkUmVzb3VyY2UuaGFuZGxlcnMucHVzaCh0aGlzLnJlc3QubW9kZWwocmVzdFBhcmFtcylcbiAgICAgICAgICAgIC5kZWxldGUoW3F1ZXJ5UHJhbXNdLCBFeHRlbmRlZFJlc291cmNlLmRvTm90U2VyaWFsaXplUXVlcnlQYXJhbXMpXG4gICAgICAgICAgICAub2JzZXJ2YWJsZVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgZGF0YSA9PiBvYnNlcnZlci5uZXh0KGRhdGEuYm9keS5qc29uKSxcbiAgICAgICAgICAgICAgZXJyID0+IG9ic2VydmVyLmVycm9yKGVyciksXG4gICAgICAgICAgICAgICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpKVxuICAgICAgICB9KVxuICAgICAgfVxuXG5cbiAgICB9XG4gIH1cblxuXG5cblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBlbmRwb2ludDogRSB8IHN0cmluZywgcHJpdmF0ZSBwYXRoX21vZGVsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlc3QgPSA8YW55PlJlc291cmNlLmNyZWF0ZTxBLCBUQT4oPGFueT5lbmRwb2ludCwgcGF0aF9tb2RlbCk7XG5cbiAgfVxuXG59XG5cblxuXG4vKipcbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgU2ltcGxlUmVzb3VyY2VcbiAqIEB0ZW1wbGF0ZSBBIHNpbmdsZSBtb2RlbCB0eXBlXG4gKiBAdGVtcGxhdGUgVEEgYXJyYXkgbW9kZWwgdHlwZVxuICogQHRlbXBsYXRlIFJQIHJlc3QgcGFyYW1ldGVycyB0eXBlXG4gKiBAdGVtcGxhdGUgUVAgcXVlcnkgcGFyYW1ldGVycyB0eXBlXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVSZXNvdXJjZTxBLCBUQT4ge1xuICBtb2RlbDogTW9kZWw8QSwgVEEsIE9iamVjdCwgTW9kZWxzLlVybFBhcmFtcz47XG5cblxuICBwcml2YXRlIHN0YXRpYyBfaXNTZXRRdWVyeVBhcmFtc1NlcmlhbGl6YXRpb24gPSBmYWxzZTtcbiAgcHVibGljIHN0YXRpYyBzZXQgZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtcyh2YWx1ZSkge1xuICAgIGlmICghU2ltcGxlUmVzb3VyY2UuX2lzU2V0UXVlcnlQYXJhbXNTZXJpYWxpemF0aW9uKSB7XG4gICAgICBTaW1wbGVSZXNvdXJjZS5faXNTZXRRdWVyeVBhcmFtc1NlcmlhbGl6YXRpb24gPSB0cnVlO1xuICAgICAgRXh0ZW5kZWRSZXNvdXJjZS5kb05vdFNlcmlhbGl6ZVF1ZXJ5UGFyYW1zID0gdmFsdWVcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKGBRdWVyeSBwYXJhbXMgc2VyaWFsaXphdGlvbiBhbHJlYWR5IHNldCBhc1xuICAgICAgICAke0V4dGVuZGVkUmVzb3VyY2UuZG9Ob3RTZXJpYWxpemVRdWVyeVBhcmFtc30sYCk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIF9fZGVzdHJveSgpIHtcbiAgICBFeHRlbmRlZFJlc291cmNlLmhhbmRsZXJzLmZvckVhY2goaCA9PiBoLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoZW5kcG9pbnQ6IHN0cmluZywgbW9kZWw6IHN0cmluZykge1xuICAgIGxldCByZXN0ID0gbmV3IEV4dGVuZGVkUmVzb3VyY2U8c3RyaW5nLCBBLCBUQSwgT2JqZWN0LCBNb2RlbHMuVXJsUGFyYW1zPihlbmRwb2ludCwgbW9kZWwpO1xuICAgIHRoaXMubW9kZWwgPSByZXN0Lm1vZGVsO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9vdGhlci9zaW1wbGUtcmVzb3VyY2UudHMiXX0=
|
|
@@ -276,4 +276,4 @@ export function prepareUrlOldWay(params) {
|
|
|
276
276
|
}
|
|
277
277
|
;
|
|
278
278
|
({}); // @--end-of-file-for-module=ng2-rest lib/params.ts
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7QUFJNUQseUNBQXlDO0FBQ3pDLE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBZTtJQUNyQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVyxFQUFFLE9BQWU7SUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENB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SUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4QzthQUVGO1lBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FHckM7SUFHSCxDQUFDLENBQUMsQ0FBQztJQUNILElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBR0QsU0FBUyxTQUFTLENBQUMsQ0FBQztJQUNsQixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUN6QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM5QztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUdELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUE2QjtJQUM1RCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzVCO0lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDdEMsQ0FBQztBQUdBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlmZkNoYXJzIH0gZnJvbSAnZGlmZic7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBMb2csIExldmVsIH0gZnJvbSAnbmcyLWxvZ2dlci9icm93c2VyJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKCdbbmcyLXJlc3RdIHBhcmFtcycsIExldmVsLl9fTk9USElORylcblxuXG5cbi8qKiBjaGVjayBpZiBzdHJpbmcgaXMgYSB2YWxpZCBwYXR0ZXJuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZChwYXR0ZXJuOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChuZXcgUmVnRXhwKCdcXC86W2EtekEtWl0qJywgJ2cnKSkudGVzdChwYXR0ZXJuLnJlcGxhY2UoJzovLycsICcnKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVjayh1cmw6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmICghSGVscGVycy5jaGVja1ZhbGlkVXJsKHVybCkpIHtcbiAgICBsb2cuZXJyb3IoYEluY29ycmVjdCB1cmw6ICR7dXJsfWApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodXJsLmNoYXJBdCh1cmwubGVuZ3RoIC0gMSkgPT09ICcvJykgdXJsID0gdXJsLnNsaWNlKDAsIHVybC5sZW5ndGggLSAyKTtcbiAgaWYgKHBhdHRlcm4uY2hhckF0KHBhdHRlcm4ubGVuZ3RoIC0gMSkgPT09ICcvJykgcGF0dGVybiA9IHBhdHRlcm4uc2xpY2UoMCwgdXJsLmxlbmd0aCAtIDIpO1xuICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKC9cXC8vZywgJ1xcLycpO1xuICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcLzpbYS16QS1aXSonLCAnZycpLCAnLisnKTtcbiAgbGV0IHJlZyA9IG5ldyBSZWdFeHAocGF0dGVybiwgJ2cnKTtcbiAgcmV0dXJuIHJlZy50ZXN0KHVybCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2RlbHMocGF0dGVybjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBsZXQgbSA9IHBhdHRlcm4ubWF0Y2gobmV3IFJlZ0V4cCgnW2Etei1BLVpdKlxcLzonLCAnZycpKTtcbiAgcmV0dXJuIG0ubWFwKHAgPT4gcC5yZXBsYWNlKCcvOicsICcnKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXN0UHJhbXNOYW1lcyhwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGlmIChwYXR0ZXJuLmNoYXJBdChwYXR0ZXJuLmxlbmd0aCAtIDEpICE9PSAnLycpIHBhdHRlcm4gPSBgJHtwYXR0ZXJufS9gO1xuICBsZXQgbSA9IHBhdHRlcm4ubWF0Y2gobmV3IFJlZ0V4cCgnOlthLXpBLVpdKlxcLycsICdnJykpO1xuICBsZXQgcmVzID0gbS5tYXAocCA9PiBwLnJlcGxhY2UoJzonLCAnJykucmVwbGFjZSgnLycsICcnKSk7XG4gIHJldHVybiByZXMuZmlsdGVyKHAgPT4gcC50cmltKCkgIT09ICcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zTW9kZWxzKHVybDogc3RyaW5nLCBtb2RlbHM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIGlmICh1cmwuY2hhckF0KDApICE9PSAnLycpIHVybCA9ICcvJyArIHVybDtcblxuICBsZXQgcmVzID0gbW9kZWxzLmZpbHRlcihtID0+IHtcbiAgICBsZXQgd29yZCA9ICcvJyArIG07XG5cbiAgICBsZXQgaWlpID0gdXJsLmluZGV4T2Yod29yZCk7XG5cbiAgICBpZiAoaWlpICsgd29yZC5sZW5ndGggPCB1cmwubGVuZ3RoICYmIHVybC5jaGFyQXQoaWlpICsgd29yZC5sZW5ndGgpICE9PSAnLycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlpaSAhPT0gLTEpIHtcbiAgICAgIHVybCA9IHVybC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcLycgKyBtLCAnZycpLCAnJyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9KS5sZW5ndGg7XG5cbiAgcmV0dXJuIHJlcyA9PT0gbW9kZWxzLmxlbmd0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJzKG46IG51bWJlcik6IHN0cmluZyB7XG4gIGxldCByZXMgPSAnJztcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHJlcyArPSAnKic7XG4gIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXN0UGFyYW1zKHVybDogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBPYmplY3Qge1xuICBsZXQgcmVzID0ge307XG4gIGxldCBtb2RlbHMgPSBnZXRSZXN0UHJhbXNOYW1lcyhwYXR0ZXJuKTtcblxuICBtb2RlbHMuZm9yRWFjaChtID0+IHtcbiAgICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKGA6JHttfWAsIHN0YXJzKG0ubGVuZ3RoKSk7XG4gIH0pXG5cbiAgbGV0IGN1cnJlbnRNb2RlbDogc3RyaW5nID0gdm9pZCAwO1xuICBkaWZmQ2hhcnMocGF0dGVybiwgdXJsKS5mb3JFYWNoKGQgPT4ge1xuXG4gICAgaWYgKGQuYWRkZWQpIHtcbiAgICAgIGlmICghaXNOYU4oTnVtYmVyKGQudmFsdWUpKSkgcmVzW2N1cnJlbnRNb2RlbF0gPSBOdW1iZXIoZC52YWx1ZSk7XG4gICAgICBlbHNlIGlmIChkLnZhbHVlLnRyaW0oKSA9PT0gJ3RydWUnKSByZXNbY3VycmVudE1vZGVsXSA9IHRydWU7XG4gICAgICBlbHNlIGlmIChkLnZhbHVlLnRyaW0oKSA9PT0gJ2ZhbHNlJykgcmVzW2N1cnJlbnRNb2RlbF0gPSBmYWxzZTtcbiAgICAgIGVsc2UgcmVzW2N1cnJlbnRNb2RlbF0gPSBkZWNvZGVVUklDb21wb25lbnQoZC52YWx1ZSk7XG4gICAgICBjdXJyZW50TW9kZWwgPSB2b2lkIDA7XG4gICAgfVxuICAgIGxldCBtID0gZC52YWx1ZS5yZXBsYWNlKCc6JywgXCJcIik7XG5cbiAgICBpZiAoZC5yZW1vdmVkKSB7XG4gICAgICBjdXJyZW50TW9kZWwgPSBtb2RlbHMuc2hpZnQoKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnQgY29uc3QgcmVnZXhpc1BhdGggPSAvW15cXC4uXSsoXFwuW15cXC4uXSspKy9nO1xuXG4vKipcbiAqIE1vZGVscyBsaWtlIGJvb2tzLzppZFxuICovXG5mdW5jdGlvbiBjdXRVcmxNb2RlbChwYXJhbXM6IE9iamVjdCwgbW9kZWxzOiBzdHJpbmdbXSwgb3V0cHV0OiBzdHJpbmdbXSkge1xuICBpZiAobW9kZWxzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG91dHB1dC5qb2luKCdcXC8nKTtcbiAgbGV0IG0gPSBtb2RlbHMucG9wKCk7XG5cbiAgbGV0IHBhcmFtID0gbS5tYXRjaCgvOlthLXpBLVowLTlcXC5dKy8pWzBdLnJlcGxhY2UoJzonLCAnJyk7XG4gIGNvbnN0IHBhcmFtSXNQYXRoID0gcmVnZXhpc1BhdGgudGVzdChwYXJhbSlcblxuICBsZXQgbW9kZWwgPSBtLm1hdGNoKC9bYS16QS1aMC05XStcXC8vKVswXS5yZXBsYWNlKCdcXC8nLCAnJyk7XG4gIGlmIChwYXJhbXMgPT09IHZvaWQgMCB8fFxuICAgIChwYXJhbUlzUGF0aCA/IF8uZ2V0KHBhcmFtcywgcGFyYW0pID09PSB2b2lkIDAgOiBwYXJhbXNbcGFyYW1dID09PSB2b2lkIDApIHx8XG4gICAgcGFyYW0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgb3V0cHV0Lmxlbmd0aCA9IDA7XG4gICAgb3V0cHV0LnVuc2hpZnQobW9kZWwpXG4gICAgcmV0dXJuIGN1dFVybE1vZGVsKHBhcmFtcywgbW9kZWxzLCBvdXRwdXQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwYXJhbUlzUGF0aCkge1xuXG4gICAgICBsZXQgbXJlcCA9IG0ucmVwbGFjZShuZXcgUmVnRXhwKGA6JHtwYXJhbX1gLCAnZycpLCBgJHtfLmdldChwYXJhbXMsIHBhcmFtKX1gKVxuICAgICAgb3V0cHV0LnVuc2hpZnQobXJlcClcbiAgICAgIHJldHVybiBjdXRVcmxNb2RlbChwYXJhbXMsIG1vZGVscywgb3V0cHV0KTtcbiAgICB9IGVsc2Uge1xuXG4gICAgICBsZXQgbXJlcCA9IG0ucmVwbGFjZShuZXcgUmVnRXhwKGA6JHtwYXJhbX1gLCAnZycpLCBgJHtwYXJhbXNbcGFyYW1dfWApXG4gICAgICBvdXRwdXQudW5zaGlmdChtcmVwKVxuICAgICAgcmV0dXJuIGN1dFVybE1vZGVsKHBhcmFtcywgbW9kZWxzLCBvdXRwdXQpO1xuICAgIH1cblxuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVycG9sYXRlUGFyYW1zVG9VcmwocGFyYW1zOiBPYmplY3QsIHVybDogc3RyaW5nKTogc3RyaW5nIHtcblxuICBjb25zdCByZWdleEludCA9IC9cXFtcXFsoW15cXC4uXStcXC5bXlxcLi5dKykrXFxdXFxdL2c7XG5cbiAgdXJsID0gdXJsLnNwbGl0KCcvJykubWFwKHAgPT4ge1xuXG4gICAgbGV0IGlzUGFyYW0gPSBwLnN0YXJ0c1dpdGgoJzonKVxuICAgIGlmIChpc1BhcmFtKSB7XG4gICAgICBsZXQgcGFydCA9IHAuc2xpY2UoMSk7XG5cbiAgICAgIGlmIChyZWdleEludC50ZXN0KHBhcnQpKSB7XG5cbiAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgnW1snLCAnJylcbiAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgnXV0nLCAnJylcbiAgICAgIH1cbiAgICAgIHJldHVybiBgOiR7cGFydH1gXG4gICAgfVxuICAgIHJldHVybiBwO1xuICB9KS5qb2luKCcvJyk7XG5cblxuXG5cblxuICBsZXQgc2xhc2ggPSB7XG4gICAgc3RhcnQ6IHVybC5jaGFyQXQoMCkgPT09ICdcXC8nLFxuICAgIGVuZDogdXJsLmNoYXJBdCh1cmwubGVuZ3RoIC0gMSkgPT09ICdcXC8nXG4gIH1cblxuICBsZXQgbW9yZVByYW1zT25FbmQgPSB1cmwubWF0Y2goLyhcXC86W2EtekEtWjAtOVxcLl0rKXsyLDEwfS9nKTtcbiAgaWYgKG1vcmVQcmFtc09uRW5kICYmIChBcnJheS5pc0FycmF5KG1vcmVQcmFtc09uRW5kKSAmJiBtb3JlUHJhbXNPbkVuZC5sZW5ndGggPT09IDEpKSB7XG5cbiAgICBsZXQgbSA9IG1vcmVQcmFtc09uRW5kWzBdO1xuICAgIGxldCBtYXRjaCA9IG0ubWF0Y2goL1xcLzpbYS16QS1aMC05XFwuXSsvZyk7XG5cbiAgICBtYXRjaC5mb3JFYWNoKGUgPT4ge1xuICAgICAgbGV0IGMgPSBlLnJlcGxhY2UoJ1xcLzonLCAnJyk7XG5cbiAgICAgIGlmIChyZWdleGlzUGF0aC50ZXN0KGMpKSB7XG4gICAgICAgIHVybCA9IHVybC5yZXBsYWNlKGUsIGAvJHtfLmdldChwYXJhbXMsIGMpfWApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cmwgPSB1cmwucmVwbGFjZShlLCBgLyR7cGFyYW1zW2NdfWApXG4gICAgICB9XG5cblxuXG4gICAgfSlcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgbGV0IG5lc3RlZFBhcmFtcyA9IHVybC5tYXRjaCgvW2EtekEtWjAtOV0rXFwvOlthLXpBLVowLTlcXC5dKy9nKTtcbiAgaWYgKCFuZXN0ZWRQYXJhbXMgfHwgKEFycmF5LmlzQXJyYXkobmVzdGVkUGFyYW1zKSAmJiBuZXN0ZWRQYXJhbXMubGVuZ3RoID09PSAwKSkgcmV0dXJuIHVybDtcblxuXG4gIGlmICghc2xhc2guZW5kKSB1cmwgPSBgJHt1cmx9L2A7XG4gIGxldCBhZGRVbmRlZmluZWRGb3JBbG9uZSA9ICghLzpbYS16QS1aMC05XFwuXStcXC8kL2cudGVzdCh1cmwpICYmIC9bYS16QS1aMC05XStcXC8kL2cudGVzdCh1cmwpKTtcblxuICBsZXQgcmVwbGFjZSA9IChuZXN0ZWRQYXJhbXMubGVuZ3RoID4gMSA/IG5lc3RlZFBhcmFtcy5qb2luKCdcXC8nKSA6IG5lc3RlZFBhcmFtc1swXSkgK1xuICAgIChhZGRVbmRlZmluZWRGb3JBbG9uZSA/ICdcXC8nICsgdXJsLm1hdGNoKC9bYS16QS1aMC05XStcXC8kL2cpWzBdIDogJ1xcLycpO1xuICBsZXQgYmVnaW5IcmVmID0gdXJsLnJlcGxhY2UocmVwbGFjZSwgJycpXG5cbiAgaWYgKGFkZFVuZGVmaW5lZEZvckFsb25lKSB7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoL1xcLyQvZywgJy86dW5kZWZpbmVkJylcbiAgICBuZXN0ZWRQYXJhbXMgPSB1cmwubWF0Y2goL1thLXpBLVowLTldK1xcLzpbYS16QS1aMC05XFwuXSsvZyk7XG4gICAgdXJsID0gY3V0VXJsTW9kZWwocGFyYW1zLCBuZXN0ZWRQYXJhbXMsIFtdKVxuICB9IGVsc2Uge1xuICAgIHVybCA9IGN1dFVybE1vZGVsKHBhcmFtcywgbmVzdGVkUGFyYW1zLCBbXSlcbiAgfVxuICB1cmwgPSBiZWdpbkhyZWYgKyB1cmw7XG5cbiAgaWYgKHVybC5jaGFyQXQodXJsLmxlbmd0aCAtIDEpICE9PSAnLycgJiYgc2xhc2guZW5kKSB1cmwgPSBgJHt1cmx9L2A7XG4gIGlmICh1cmwuY2hhckF0KDApICE9PSAnXFwvJyAmJiBzbGFzaC5zdGFydCkgdXJsID0gYC8ke3VybH1gO1xuXG4gIHJldHVybiB1cmw7XG59XG5cbi8qKlxuICogR2V0IHF1ZXJ5IHBhcmFtcyBmcm9tIHVybCwgbGlrZSAnZXgnIGluIC9hcGkvYm9va3M/ZXg9dmFsdWVcbiovXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlVXJsKHVybDogc3RyaW5nKTogT2JqZWN0IHtcbiAgbGV0IHJlZ2V4ID0gL1s/Jl0oW149I10rKT0oW14mI10qKS9nLFxuICAgIHBhcmFtcyA9IHt9LFxuICAgIG1hdGNoO1xuICB3aGlsZSAobWF0Y2ggPSByZWdleC5leGVjKHVybCkpIHtcbiAgICBwYXJhbXNbZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzFdKV0gPSBkZWNvZGVVUklDb21wb25lbnQobWF0Y2hbMl0pO1xuICB9XG4gIGxldCBwYXJhbXNPYmplY3QgPSA8T2JqZWN0PnBhcmFtcztcbiAgZm9yIChsZXQgcCBpbiBwYXJhbXNPYmplY3QpIHtcbiAgICBpZiAocGFyYW1zT2JqZWN0W3BdID09PSB2b2lkIDApIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXNPYmplY3RbcF07XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKHBhcmFtc09iamVjdC5oYXNPd25Qcm9wZXJ0eShwKSkge1xuXG4gICAgICBsZXQgbiA9IE51bWJlcihwYXJhbXNbcF0pO1xuICAgICAgaWYgKCFpc05hTihuKSkge1xuICAgICAgICBwYXJhbXNbcF0gPSBuO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgcGFyYW1zW3BdID09PSAnc3RyaW5nJykge1xuXG5cbiAgICAgICAgbGV0IGpzb247XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAganNvbiA9IEpTT04ucGFyc2UocGFyYW1zW3BdKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsgfVxuICAgICAgICBpZiAoanNvbiAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgcGFyYW1zW3BdID0ganNvbjtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG5cblxuXG5cblxuXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJhbXM7XG59XG5cbi8qKlxuICogQ3JlYXRlIHF1ZXJ5IHBhcmFtcyBzdHJpbmcgZm9yIHVybFxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VXJsUGFyYW1zW119IHBhcmFtc1xuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmFtc1VybChwYXJhbXM6IE1vZGVscy5VcmxQYXJhbXNbXSwgZG9Ob3RTZXJpYWxpemU6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG4gIGxldCB1cmxwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgaWYgKCFwYXJhbXMpIHJldHVybiAnJztcbiAgaWYgKCEocGFyYW1zIGluc3RhbmNlb2YgQXJyYXkpKSByZXR1cm4gJyc7XG4gIGlmIChwYXJhbXMubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG5cbiAgcGFyYW1zLmZvckVhY2godXJscGFyYW0gPT4ge1xuICAgIGlmIChKU09OLnN0cmluZ2lmeSh1cmxwYXJhbSkgIT09ICd7fScpIHtcblxuICAgICAgbGV0IHBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgcGFyYW1PYmplY3QgPSA8T2JqZWN0PnVybHBhcmFtO1xuXG5cbiAgICAgIGZvciAobGV0IHAgaW4gcGFyYW1PYmplY3QpIHtcbiAgICAgICAgaWYgKHBhcmFtT2JqZWN0W3BdID09PSB2b2lkIDApIGRlbGV0ZSBwYXJhbU9iamVjdFtwXTtcbiAgICAgICAgaWYgKHBhcmFtT2JqZWN0Lmhhc093blByb3BlcnR5KHApICYmIHR5cGVvZiBwID09PSAnc3RyaW5nJyAmJiBwICE9PSAncmVnZXgnICYmICEocGFyYW1PYmplY3RbcF0gaW5zdGFuY2VvZiBSZWdFeHApKSB7XG4gICAgICAgICAgaWYgKHAubGVuZ3RoID4gMCAmJiBwWzBdID09PSAnLycpIHtcbiAgICAgICAgICAgIGxldCBuZXdOYW1lID0gcC5zbGljZSgxLCBwLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgdXJscGFyYW1bbmV3TmFtZV0gPSB1cmxwYXJhbVtwXTtcbiAgICAgICAgICAgIHVybHBhcmFtW3BdID0gdm9pZCAwO1xuICAgICAgICAgICAgcCA9IG5ld05hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDAgJiYgcFtwLmxlbmd0aCAtIDFdID09PSAnLycpIHtcbiAgICAgICAgICAgIGxldCBuZXdOYW1lID0gcC5zbGljZSgwLCBwLmxlbmd0aCAtIDIpO1xuICAgICAgICAgICAgdXJscGFyYW1bbmV3TmFtZV0gPSB1cmxwYXJhbVtwXTtcbiAgICAgICAgICAgIHVybHBhcmFtW3BdID0gdm9pZCAwO1xuICAgICAgICAgICAgcCA9IG5ld05hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxldCB2OiBhbnkgPSB1cmxwYXJhbVtwXTtcbiAgICAgICAgICBpZiAodiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgdXJscGFyYW1bcF0gPSBKU09OLnN0cmluZ2lmeSh1cmxwYXJhbVtwXSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHVybHBhcmFtW3BdID0gZG9Ob3RTZXJpYWxpemUgPyA8c3RyaW5nPnVybHBhcmFtW3BdIDogZW5jb2RlVVJJQ29tcG9uZW50KDxzdHJpbmc+dXJscGFyYW1bcF0pO1xuICAgICAgICAgIGlmICh1cmxwYXJhbS5yZWdleCAhPT0gdm9pZCAwICYmIHVybHBhcmFtLnJlZ2V4IGluc3RhbmNlb2YgUmVnRXhwKSB7XG5cbiAgICAgICAgICAgIGlmICghdXJscGFyYW0ucmVnZXgudGVzdCg8c3RyaW5nPnVybHBhcmFtW3BdKSkge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYERhdGE6ICR7dXJscGFyYW1bcF19IGluY29zdGlzdGVudCB3aXRoIHJlZ2V4ICR7dXJscGFyYW0ucmVnZXguc291cmNlfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXJhbWV0ZXJzLnB1c2goYCR7cH09JHt1cmxwYXJhbVtwXX1gKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIHVybHBhcnRzLnB1c2gocGFyYW1ldGVycy5qb2luKCcmJykpO1xuXG5cbiAgICB9XG5cblxuICB9KTtcbiAgbGV0IGpvaW4gPSB1cmxwYXJ0cy5qb2luKCkudHJpbSgpO1xuICBpZiAoam9pbi50cmltKCkgPT09ICcnKSByZXR1cm4gJyc7XG4gIHJldHVybiBgPyR7dXJscGFydHMuam9pbignJicpfWA7XG59XG5cblxuZnVuY3Rpb24gdHJhbnNmb3JtKG8pIHtcbiAgaWYgKHR5cGVvZiBvID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkobykpO1xuICB9XG4gIHJldHVybiBvO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlVXJsT2xkV2F5KHBhcmFtcz86IFRlbXBsYXRlU3RyaW5nc0FycmF5KTogc3RyaW5nIHtcbiAgaWYgKCFwYXJhbXMpIHJldHVybiB0aGlzLmVuZHBvaW50O1xuICBpZiAodHlwZW9mIHBhcmFtcyA9PT0gJ29iamVjdCcpIHtcbiAgICBwYXJhbXMgPSB0cmFuc2Zvcm0ocGFyYW1zKTtcbiAgfVxuICByZXR1cm4gdGhpcy5lbmRwb2ludCArICcvJyArIHBhcmFtcztcbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9bmcyLXJlc3QgbGliL3BhcmFtcy50cyJdfQ==
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3BhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7QUFJNUQseUNBQXlDO0FBQ3pDLE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBZTtJQUNyQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVyxFQUFFLE9BQWU7SUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDL0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxHQUFHLENB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SUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUN4QzthQUVGO1lBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FHckM7SUFHSCxDQUFDLENBQUMsQ0FBQztJQUNILElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDbEMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBR0QsU0FBUyxTQUFTLENBQUMsQ0FBQztJQUNsQixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUN6QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM5QztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUdELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUE2QjtJQUM1RCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzVCO0lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7QUFDdEMsQ0FBQztBQUdBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IGRpZmZDaGFycyB9IGZyb20gJ2RpZmYnO1xuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuY29uc3QgbG9nID0gTG9nLmNyZWF0ZSgnW25nMi1yZXN0XSBwYXJhbXMnLCBMZXZlbC5fX05PVEhJTkcpXG5cblxuXG4vKiogY2hlY2sgaWYgc3RyaW5nIGlzIGEgdmFsaWQgcGF0dGVybiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWQocGF0dGVybjogc3RyaW5nKSB7XG4gIHJldHVybiAobmV3IFJlZ0V4cCgnXFwvOlthLXpBLVpdKicsICdnJykpLnRlc3QocGF0dGVybi5yZXBsYWNlKCc6Ly8nLCAnJykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2sodXJsOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoIUhlbHBlcnMuY2hlY2tWYWxpZFVybCh1cmwpKSB7XG4gICAgbG9nLmVycm9yKGBJbmNvcnJlY3QgdXJsOiAke3VybH1gKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHVybC5jaGFyQXQodXJsLmxlbmd0aCAtIDEpID09PSAnLycpIHVybCA9IHVybC5zbGljZSgwLCB1cmwubGVuZ3RoIC0gMik7XG4gIGlmIChwYXR0ZXJuLmNoYXJBdChwYXR0ZXJuLmxlbmd0aCAtIDEpID09PSAnLycpIHBhdHRlcm4gPSBwYXR0ZXJuLnNsaWNlKDAsIHVybC5sZW5ndGggLSAyKTtcbiAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZSgvXFwvL2csICdcXC8nKTtcbiAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZShuZXcgUmVnRXhwKCdcXC86W2EtekEtWl0qJywgJ2cnKSwgJy4rJyk7XG4gIGxldCByZWcgPSBuZXcgUmVnRXhwKHBhdHRlcm4sICdnJyk7XG4gIHJldHVybiByZWcudGVzdCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxzKHBhdHRlcm46IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgbGV0IG0gPSBwYXR0ZXJuLm1hdGNoKG5ldyBSZWdFeHAoJ1thLXotQS1aXSpcXC86JywgJ2cnKSk7XG4gIHJldHVybiBtLm1hcChwID0+IHAucmVwbGFjZSgnLzonLCAnJykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzdFByYW1zTmFtZXMocGF0dGVybjogc3RyaW5nKTogc3RyaW5nW10ge1xuICBpZiAocGF0dGVybi5jaGFyQXQocGF0dGVybi5sZW5ndGggLSAxKSAhPT0gJy8nKSBwYXR0ZXJuID0gYCR7cGF0dGVybn0vYDtcbiAgbGV0IG0gPSBwYXR0ZXJuLm1hdGNoKG5ldyBSZWdFeHAoJzpbYS16QS1aXSpcXC8nLCAnZycpKTtcbiAgbGV0IHJlcyA9IG0ubWFwKHAgPT4gcC5yZXBsYWNlKCc6JywgJycpLnJlcGxhY2UoJy8nLCAnJykpO1xuICByZXR1cm4gcmVzLmZpbHRlcihwID0+IHAudHJpbSgpICE9PSAnJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250YWluc01vZGVscyh1cmw6IHN0cmluZywgbW9kZWxzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICBpZiAodXJsLmNoYXJBdCgwKSAhPT0gJy8nKSB1cmwgPSAnLycgKyB1cmw7XG5cbiAgbGV0IHJlcyA9IG1vZGVscy5maWx0ZXIobSA9PiB7XG4gICAgbGV0IHdvcmQgPSAnLycgKyBtO1xuXG4gICAgbGV0IGlpaSA9IHVybC5pbmRleE9mKHdvcmQpO1xuXG4gICAgaWYgKGlpaSArIHdvcmQubGVuZ3RoIDwgdXJsLmxlbmd0aCAmJiB1cmwuY2hhckF0KGlpaSArIHdvcmQubGVuZ3RoKSAhPT0gJy8nKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpaWkgIT09IC0xKSB7XG4gICAgICB1cmwgPSB1cmwucmVwbGFjZShuZXcgUmVnRXhwKCdcXC8nICsgbSwgJ2cnKSwgJycpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSkubGVuZ3RoO1xuXG4gIHJldHVybiByZXMgPT09IG1vZGVscy5sZW5ndGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFycyhuOiBudW1iZXIpOiBzdHJpbmcge1xuICBsZXQgcmVzID0gJyc7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSByZXMgKz0gJyonO1xuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzdFBhcmFtcyh1cmw6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKTogT2JqZWN0IHtcbiAgbGV0IHJlcyA9IHt9O1xuICBsZXQgbW9kZWxzID0gZ2V0UmVzdFByYW1zTmFtZXMocGF0dGVybik7XG5cbiAgbW9kZWxzLmZvckVhY2gobSA9PiB7XG4gICAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZShgOiR7bX1gLCBzdGFycyhtLmxlbmd0aCkpO1xuICB9KVxuXG4gIGxldCBjdXJyZW50TW9kZWw6IHN0cmluZyA9IHZvaWQgMDtcbiAgZGlmZkNoYXJzKHBhdHRlcm4sIHVybCkuZm9yRWFjaChkID0+IHtcblxuICAgIGlmIChkLmFkZGVkKSB7XG4gICAgICBpZiAoIWlzTmFOKE51bWJlcihkLnZhbHVlKSkpIHJlc1tjdXJyZW50TW9kZWxdID0gTnVtYmVyKGQudmFsdWUpO1xuICAgICAgZWxzZSBpZiAoZC52YWx1ZS50cmltKCkgPT09ICd0cnVlJykgcmVzW2N1cnJlbnRNb2RlbF0gPSB0cnVlO1xuICAgICAgZWxzZSBpZiAoZC52YWx1ZS50cmltKCkgPT09ICdmYWxzZScpIHJlc1tjdXJyZW50TW9kZWxdID0gZmFsc2U7XG4gICAgICBlbHNlIHJlc1tjdXJyZW50TW9kZWxdID0gZGVjb2RlVVJJQ29tcG9uZW50KGQudmFsdWUpO1xuICAgICAgY3VycmVudE1vZGVsID0gdm9pZCAwO1xuICAgIH1cbiAgICBsZXQgbSA9IGQudmFsdWUucmVwbGFjZSgnOicsIFwiXCIpO1xuXG4gICAgaWYgKGQucmVtb3ZlZCkge1xuICAgICAgY3VycmVudE1vZGVsID0gbW9kZWxzLnNoaWZ0KCk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHJlcztcbn1cblxuZXhwb3J0IGNvbnN0IHJlZ2V4aXNQYXRoID0gL1teXFwuLl0rKFxcLlteXFwuLl0rKSsvZztcblxuLyoqXG4gKiBNb2RlbHMgbGlrZSBib29rcy86aWRcbiAqL1xuZnVuY3Rpb24gY3V0VXJsTW9kZWwocGFyYW1zOiBPYmplY3QsIG1vZGVsczogc3RyaW5nW10sIG91dHB1dDogc3RyaW5nW10pIHtcbiAgaWYgKG1vZGVscy5sZW5ndGggPT09IDApIHJldHVybiBvdXRwdXQuam9pbignXFwvJyk7XG4gIGxldCBtID0gbW9kZWxzLnBvcCgpO1xuXG4gIGxldCBwYXJhbSA9IG0ubWF0Y2goLzpbYS16QS1aMC05XFwuXSsvKVswXS5yZXBsYWNlKCc6JywgJycpO1xuICBjb25zdCBwYXJhbUlzUGF0aCA9IHJlZ2V4aXNQYXRoLnRlc3QocGFyYW0pXG5cbiAgbGV0IG1vZGVsID0gbS5tYXRjaCgvW2EtekEtWjAtOV0rXFwvLylbMF0ucmVwbGFjZSgnXFwvJywgJycpO1xuICBpZiAocGFyYW1zID09PSB2b2lkIDAgfHxcbiAgICAocGFyYW1Jc1BhdGggPyBfLmdldChwYXJhbXMsIHBhcmFtKSA9PT0gdm9pZCAwIDogcGFyYW1zW3BhcmFtXSA9PT0gdm9pZCAwKSB8fFxuICAgIHBhcmFtID09PSAndW5kZWZpbmVkJykge1xuICAgIG91dHB1dC5sZW5ndGggPSAwO1xuICAgIG91dHB1dC51bnNoaWZ0KG1vZGVsKVxuICAgIHJldHVybiBjdXRVcmxNb2RlbChwYXJhbXMsIG1vZGVscywgb3V0cHV0KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGFyYW1Jc1BhdGgpIHtcblxuICAgICAgbGV0IG1yZXAgPSBtLnJlcGxhY2UobmV3IFJlZ0V4cChgOiR7cGFyYW19YCwgJ2cnKSwgYCR7Xy5nZXQocGFyYW1zLCBwYXJhbSl9YClcbiAgICAgIG91dHB1dC51bnNoaWZ0KG1yZXApXG4gICAgICByZXR1cm4gY3V0VXJsTW9kZWwocGFyYW1zLCBtb2RlbHMsIG91dHB1dCk7XG4gICAgfSBlbHNlIHtcblxuICAgICAgbGV0IG1yZXAgPSBtLnJlcGxhY2UobmV3IFJlZ0V4cChgOiR7cGFyYW19YCwgJ2cnKSwgYCR7cGFyYW1zW3BhcmFtXX1gKVxuICAgICAgb3V0cHV0LnVuc2hpZnQobXJlcClcbiAgICAgIHJldHVybiBjdXRVcmxNb2RlbChwYXJhbXMsIG1vZGVscywgb3V0cHV0KTtcbiAgICB9XG5cbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcnBvbGF0ZVBhcmFtc1RvVXJsKHBhcmFtczogT2JqZWN0LCB1cmw6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgY29uc3QgcmVnZXhJbnQgPSAvXFxbXFxbKFteXFwuLl0rXFwuW15cXC4uXSspK1xcXVxcXS9nO1xuXG4gIHVybCA9IHVybC5zcGxpdCgnLycpLm1hcChwID0+IHtcblxuICAgIGxldCBpc1BhcmFtID0gcC5zdGFydHNXaXRoKCc6JylcbiAgICBpZiAoaXNQYXJhbSkge1xuICAgICAgbGV0IHBhcnQgPSBwLnNsaWNlKDEpO1xuXG4gICAgICBpZiAocmVnZXhJbnQudGVzdChwYXJ0KSkge1xuXG4gICAgICAgIHBhcnQgPSBwYXJ0LnJlcGxhY2UoJ1tbJywgJycpXG4gICAgICAgIHBhcnQgPSBwYXJ0LnJlcGxhY2UoJ11dJywgJycpXG4gICAgICB9XG4gICAgICByZXR1cm4gYDoke3BhcnR9YFxuICAgIH1cbiAgICByZXR1cm4gcDtcbiAgfSkuam9pbignLycpO1xuXG5cblxuXG5cbiAgbGV0IHNsYXNoID0ge1xuICAgIHN0YXJ0OiB1cmwuY2hhckF0KDApID09PSAnXFwvJyxcbiAgICBlbmQ6IHVybC5jaGFyQXQodXJsLmxlbmd0aCAtIDEpID09PSAnXFwvJ1xuICB9XG5cbiAgbGV0IG1vcmVQcmFtc09uRW5kID0gdXJsLm1hdGNoKC8oXFwvOlthLXpBLVowLTlcXC5dKyl7MiwxMH0vZyk7XG4gIGlmIChtb3JlUHJhbXNPbkVuZCAmJiAoQXJyYXkuaXNBcnJheShtb3JlUHJhbXNPbkVuZCkgJiYgbW9yZVByYW1zT25FbmQubGVuZ3RoID09PSAxKSkge1xuXG4gICAgbGV0IG0gPSBtb3JlUHJhbXNPbkVuZFswXTtcbiAgICBsZXQgbWF0Y2ggPSBtLm1hdGNoKC9cXC86W2EtekEtWjAtOVxcLl0rL2cpO1xuXG4gICAgbWF0Y2guZm9yRWFjaChlID0+IHtcbiAgICAgIGxldCBjID0gZS5yZXBsYWNlKCdcXC86JywgJycpO1xuXG4gICAgICBpZiAocmVnZXhpc1BhdGgudGVzdChjKSkge1xuICAgICAgICB1cmwgPSB1cmwucmVwbGFjZShlLCBgLyR7Xy5nZXQocGFyYW1zLCBjKX1gKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoZSwgYC8ke3BhcmFtc1tjXX1gKVxuICAgICAgfVxuXG5cblxuICAgIH0pXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIGxldCBuZXN0ZWRQYXJhbXMgPSB1cmwubWF0Y2goL1thLXpBLVowLTldK1xcLzpbYS16QS1aMC05XFwuXSsvZyk7XG4gIGlmICghbmVzdGVkUGFyYW1zIHx8IChBcnJheS5pc0FycmF5KG5lc3RlZFBhcmFtcykgJiYgbmVzdGVkUGFyYW1zLmxlbmd0aCA9PT0gMCkpIHJldHVybiB1cmw7XG5cblxuICBpZiAoIXNsYXNoLmVuZCkgdXJsID0gYCR7dXJsfS9gO1xuICBsZXQgYWRkVW5kZWZpbmVkRm9yQWxvbmUgPSAoIS86W2EtekEtWjAtOVxcLl0rXFwvJC9nLnRlc3QodXJsKSAmJiAvW2EtekEtWjAtOV0rXFwvJC9nLnRlc3QodXJsKSk7XG5cbiAgbGV0IHJlcGxhY2UgPSAobmVzdGVkUGFyYW1zLmxlbmd0aCA+IDEgPyBuZXN0ZWRQYXJhbXMuam9pbignXFwvJykgOiBuZXN0ZWRQYXJhbXNbMF0pICtcbiAgICAoYWRkVW5kZWZpbmVkRm9yQWxvbmUgPyAnXFwvJyArIHVybC5tYXRjaCgvW2EtekEtWjAtOV0rXFwvJC9nKVswXSA6ICdcXC8nKTtcbiAgbGV0IGJlZ2luSHJlZiA9IHVybC5yZXBsYWNlKHJlcGxhY2UsICcnKVxuXG4gIGlmIChhZGRVbmRlZmluZWRGb3JBbG9uZSkge1xuICAgIHVybCA9IHVybC5yZXBsYWNlKC9cXC8kL2csICcvOnVuZGVmaW5lZCcpXG4gICAgbmVzdGVkUGFyYW1zID0gdXJsLm1hdGNoKC9bYS16QS1aMC05XStcXC86W2EtekEtWjAtOVxcLl0rL2cpO1xuICAgIHVybCA9IGN1dFVybE1vZGVsKHBhcmFtcywgbmVzdGVkUGFyYW1zLCBbXSlcbiAgfSBlbHNlIHtcbiAgICB1cmwgPSBjdXRVcmxNb2RlbChwYXJhbXMsIG5lc3RlZFBhcmFtcywgW10pXG4gIH1cbiAgdXJsID0gYmVnaW5IcmVmICsgdXJsO1xuXG4gIGlmICh1cmwuY2hhckF0KHVybC5sZW5ndGggLSAxKSAhPT0gJy8nICYmIHNsYXNoLmVuZCkgdXJsID0gYCR7dXJsfS9gO1xuICBpZiAodXJsLmNoYXJBdCgwKSAhPT0gJ1xcLycgJiYgc2xhc2guc3RhcnQpIHVybCA9IGAvJHt1cmx9YDtcblxuICByZXR1cm4gdXJsO1xufVxuXG4vKipcbiAqIEdldCBxdWVyeSBwYXJhbXMgZnJvbSB1cmwsIGxpa2UgJ2V4JyBpbiAvYXBpL2Jvb2tzP2V4PXZhbHVlXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVVybCh1cmw6IHN0cmluZyk6IE9iamVjdCB7XG4gIGxldCByZWdleCA9IC9bPyZdKFtePSNdKyk9KFteJiNdKikvZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBtYXRjaDtcbiAgd2hpbGUgKG1hdGNoID0gcmVnZXguZXhlYyh1cmwpKSB7XG4gICAgcGFyYW1zW2RlY29kZVVSSUNvbXBvbmVudChtYXRjaFsxXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzJdKTtcbiAgfVxuICBsZXQgcGFyYW1zT2JqZWN0ID0gPE9iamVjdD5wYXJhbXM7XG4gIGZvciAobGV0IHAgaW4gcGFyYW1zT2JqZWN0KSB7XG4gICAgaWYgKHBhcmFtc09iamVjdFtwXSA9PT0gdm9pZCAwKSB7XG4gICAgICBkZWxldGUgcGFyYW1zT2JqZWN0W3BdO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChwYXJhbXNPYmplY3QuaGFzT3duUHJvcGVydHkocCkpIHtcblxuICAgICAgbGV0IG4gPSBOdW1iZXIocGFyYW1zW3BdKTtcbiAgICAgIGlmICghaXNOYU4obikpIHtcbiAgICAgICAgcGFyYW1zW3BdID0gbjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHBhcmFtc1twXSA9PT0gJ3N0cmluZycpIHtcblxuXG4gICAgICAgIGxldCBqc29uO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKHBhcmFtc1twXSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IH1cbiAgICAgICAgaWYgKGpzb24gIT09IHZvaWQgMCkge1xuICAgICAgICAgIHBhcmFtc1twXSA9IGpzb247XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuXG5cblxuXG5cblxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcGFyYW1zO1xufVxuXG4vKipcbiAqIENyZWF0ZSBxdWVyeSBwYXJhbXMgc3RyaW5nIGZvciB1cmxcbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge1VybFBhcmFtc1tdfSBwYXJhbXNcbiAqIEByZXR1cm5zIHtzdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJhbXNVcmwocGFyYW1zOiBNb2RlbHMuVXJsUGFyYW1zW10sIGRvTm90U2VyaWFsaXplOiBib29sZWFuID0gZmFsc2UpOiBzdHJpbmcge1xuICBsZXQgdXJscGFydHM6IHN0cmluZ1tdID0gW107XG4gIGlmICghcGFyYW1zKSByZXR1cm4gJyc7XG4gIGlmICghKHBhcmFtcyBpbnN0YW5jZW9mIEFycmF5KSkgcmV0dXJuICcnO1xuICBpZiAocGFyYW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuXG4gIHBhcmFtcy5mb3JFYWNoKHVybHBhcmFtID0+IHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodXJscGFyYW0pICE9PSAne30nKSB7XG5cbiAgICAgIGxldCBwYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgbGV0IHBhcmFtT2JqZWN0ID0gPE9iamVjdD51cmxwYXJhbTtcblxuXG4gICAgICBmb3IgKGxldCBwIGluIHBhcmFtT2JqZWN0KSB7XG4gICAgICAgIGlmIChwYXJhbU9iamVjdFtwXSA9PT0gdm9pZCAwKSBkZWxldGUgcGFyYW1PYmplY3RbcF07XG4gICAgICAgIGlmIChwYXJhbU9iamVjdC5oYXNPd25Qcm9wZXJ0eShwKSAmJiB0eXBlb2YgcCA9PT0gJ3N0cmluZycgJiYgcCAhPT0gJ3JlZ2V4JyAmJiAhKHBhcmFtT2JqZWN0W3BdIGluc3RhbmNlb2YgUmVnRXhwKSkge1xuICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDAgJiYgcFswXSA9PT0gJy8nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TmFtZSA9IHAuc2xpY2UoMSwgcC5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgIHVybHBhcmFtW25ld05hbWVdID0gdXJscGFyYW1bcF07XG4gICAgICAgICAgICB1cmxwYXJhbVtwXSA9IHZvaWQgMDtcbiAgICAgICAgICAgIHAgPSBuZXdOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocC5sZW5ndGggPiAwICYmIHBbcC5sZW5ndGggLSAxXSA9PT0gJy8nKSB7XG4gICAgICAgICAgICBsZXQgbmV3TmFtZSA9IHAuc2xpY2UoMCwgcC5sZW5ndGggLSAyKTtcbiAgICAgICAgICAgIHVybHBhcmFtW25ld05hbWVdID0gdXJscGFyYW1bcF07XG4gICAgICAgICAgICB1cmxwYXJhbVtwXSA9IHZvaWQgMDtcbiAgICAgICAgICAgIHAgPSBuZXdOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgdjogYW55ID0gdXJscGFyYW1bcF07XG4gICAgICAgICAgaWYgKHYgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgICAgIHVybHBhcmFtW3BdID0gSlNPTi5zdHJpbmdpZnkodXJscGFyYW1bcF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB1cmxwYXJhbVtwXSA9IGRvTm90U2VyaWFsaXplID8gPHN0cmluZz51cmxwYXJhbVtwXSA6IGVuY29kZVVSSUNvbXBvbmVudCg8c3RyaW5nPnVybHBhcmFtW3BdKTtcbiAgICAgICAgICBpZiAodXJscGFyYW0ucmVnZXggIT09IHZvaWQgMCAmJiB1cmxwYXJhbS5yZWdleCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuXG4gICAgICAgICAgICBpZiAoIXVybHBhcmFtLnJlZ2V4LnRlc3QoPHN0cmluZz51cmxwYXJhbVtwXSkpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBEYXRhOiAke3VybHBhcmFtW3BdfSBpbmNvc3Rpc3RlbnQgd2l0aCByZWdleCAke3VybHBhcmFtLnJlZ2V4LnNvdXJjZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcGFyYW1ldGVycy5wdXNoKGAke3B9PSR7dXJscGFyYW1bcF19YCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICB1cmxwYXJ0cy5wdXNoKHBhcmFtZXRlcnMuam9pbignJicpKTtcblxuXG4gICAgfVxuXG5cbiAgfSk7XG4gIGxldCBqb2luID0gdXJscGFydHMuam9pbigpLnRyaW0oKTtcbiAgaWYgKGpvaW4udHJpbSgpID09PSAnJykgcmV0dXJuICcnO1xuICByZXR1cm4gYD8ke3VybHBhcnRzLmpvaW4oJyYnKX1gO1xufVxuXG5cbmZ1bmN0aW9uIHRyYW5zZm9ybShvKSB7XG4gIGlmICh0eXBlb2YgbyA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KG8pKTtcbiAgfVxuICByZXR1cm4gbztcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZVVybE9sZFdheShwYXJhbXM/OiBUZW1wbGF0ZVN0cmluZ3NBcnJheSk6IHN0cmluZyB7XG4gIGlmICghcGFyYW1zKSByZXR1cm4gdGhpcy5lbmRwb2ludDtcbiAgaWYgKHR5cGVvZiBwYXJhbXMgPT09ICdvYmplY3QnKSB7XG4gICAgcGFyYW1zID0gdHJhbnNmb3JtKHBhcmFtcyk7XG4gIH1cbiAgcmV0dXJuIHRoaXMuZW5kcG9pbnQgKyAnLycgKyBwYXJhbXM7XG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9wYXJhbXMudHMiXX0=
|
|
@@ -99,4 +99,4 @@ class RequestCache {
|
|
|
99
99
|
export { RequestCache };
|
|
100
100
|
;
|
|
101
101
|
({}); // @--end-of-file-for-module=ng2-rest lib/request-cache.ts
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvbmcyLXJlc3QvcHJvamVjdHMvbmcyLXJlc3Qvc3JjL2xpYi9yZXF1ZXN0LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUV4RDs7O0dBR0c7QUFDSCxNQUFhLFlBQVk7YUFFUCxzQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQzthQUUzQyxXQUFNLEdBQW1CLEVBQUUsQ0FBQzthQUM1QiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7SUFFMUMsTUFBTSxDQUFDLHVCQUF1QjtRQUNwQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsRUFBRTtZQUM1QyxZQUFZLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDbEUsSUFBSSxRQUFRLEdBQW1CLEVBQUUsQ0FBQztZQUNsQyxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJO29CQUNGLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBbUIsQ0FBQztpQkFDL0M7Z0JBQUMsT0FBTyxLQUFLLEVBQUU7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QUNKLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxLQUFLO1FBQ0gsWUFBWSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMvQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU07UUFDSixZQUFZLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7O1NBakhVLFlBQVk7QUFxSHhCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMERBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgUmVzdEhlYWRlcnMgfSBmcm9tICcuL3Jlc3QtaGVhZGVycyc7XG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKCdyZXF1ZXN0LWNhY2hlJywgTGV2ZWwuX19OT1RISU5HKVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiB0aGVyZSBpcyBDYWNoZSBBUEkgZm9yIHRoYXRcbiAqL1xuZXhwb3J0IGNsYXNzIFJlcXVlc3RDYWNoZSB7XG5cbiAgc3RhdGljIHJlYWRvbmx5IExPQ0FMX1NUT1JBR0VfS0VZID0gJ25nMnJlc3RyZXF1ZXN0Y2FjaGUnO1xuXG4gIHByaXZhdGUgc3RhdGljIGNhY2hlZDogUmVxdWVzdENhY2hlW10gPSBbXTtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNSZXN0b3JlZEZyb21Mb2NhbFN0b3JhZ2UgPSBmYWxzZTtcblxuICBwcml2YXRlIHN0YXRpYyByZXN0b3JlRnJvbUxvY2FsU3RvcmFnZSgpIHtcbiAgICBpZiAoSGVscGVycy5pc05vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFSZXF1ZXN0Q2FjaGUuaXNSZXN0b3JlZEZyb21Mb2NhbFN0b3JhZ2UpIHtcbiAgICAgIFJlcXVlc3RDYWNoZS5pc1Jlc3RvcmVkRnJvbUxvY2FsU3RvcmFnZSA9IHRydWU7XG4gICAgICBjb25zdCBkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oUmVxdWVzdENhY2hlLkxPQ0FMX1NUT1JBR0VfS0VZKTtcbiAgICAgIGxldCByZXF1ZXN0czogUmVxdWVzdENhY2hlW10gPSBbXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVxdWVzdHMgPSBKU09OLnBhcnNlKGRhdGEpIGFzIFJlcXVlc3RDYWNoZVtdO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdG9yZWQgPSByZXF1ZXN0cy5tYXAociA9PiB7XG4gICAgICAgICAgbGV0IHsgc291cmNlUmVxdWVzdCwgcmVzcG9uc2VUZXh0LCBib2R5LCBoZWFkZXJzLCBjaXJjdWxhcixcbiAgICAgICAgICAgIGVudGl0eSwgaXNBcnJheSwgY29va2llcywgc3RhdHVzQ29kZSB9ID0gci5yZXNwb25zZTtcbiAgICAgICAgICByLnJlc3BvbnNlID0gbmV3IE1vZGVscy5IdHRwUmVzcG9uc2UoXG4gICAgICAgICAgICBzb3VyY2VSZXF1ZXN0LFxuICAgICAgICAgICAgcmVzcG9uc2VUZXh0LFxuICAgICAgICAgICAgUmVzdEhlYWRlcnMuZnJvbShoZWFkZXJzKSxcbiAgICAgICAgICAgIHN0YXR1c0NvZGUsXG4gICAgICAgICAgICBlbnRpdHksXG4gICAgICAgICAgICBjaXJjdWxhcixcbiAgICAgICAgICAgIC0xLCAvLyBqb2JpZCBmcm9tIGxvY2FsIHN0b3JhZ2UgVE9ET1xuICAgICAgICAgICAgaXNBcnJheSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHIgPSBuZXcgUmVxdWVzdENhY2hlKHIucmVzcG9uc2UpO1xuICAgICAgICAgIHIucmVzcG9uc2UucnEgPSByO1xuXG4gICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgIH0pO1xuICAgICAgICBsb2cuaSgnUkVTVE9SRUQgRlJPTSBMT0NBTCBTVE9SQUdFJywgcmVzdG9yZWQpO1xuICAgICAgICBSZXF1ZXN0Q2FjaGUuY2FjaGVkID0gcmVzdG9yZWQ7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZpbmRCeShzb3VyY2VSZXF1ZXN0OiBNb2RlbHMuSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBsb2cuaSgnZmluZGJ5Jywgc291cmNlUmVxdWVzdClcbiAgICBsb2cuaSgnUmVxdWVzdENhY2hlLmNhY2hlZCcsIFJlcXVlc3RDYWNoZS5jYWNoZWQpXG4gICAgUmVxdWVzdENhY2hlLnJlc3RvcmVGcm9tTG9jYWxTdG9yYWdlKCk7XG4gICAgcmV0dXJuIFJlcXVlc3RDYWNoZS5jYWNoZWQuZmluZChjID0+IHtcbiAgICAgIGNvbnN0IGEgPSBjLnJlc3BvbnNlLnNvdXJjZVJlcXVlc3Q7XG4gICAgICBjb25zdCBiID0gc291cmNlUmVxdWVzdDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGEuaXNBcnJheSA9PT0gYi5pc0FycmF5ICYmXG4gICAgICAgIGEudXJsID09PSBiLnVybCAmJlxuICAgICAgICBhLm1ldGhvZCA9PT0gYi5tZXRob2QgJiZcbiAgICAgICAgYS5ib2R5ID09PSBiLmJvZHlcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG5cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZXNwb25zZTogTW9kZWxzLkh0dHBSZXNwb25zZTxhbnk+XG4gICkge1xuXG4gIH1cblxuICBnZXQgY29udGFpbnNDYWNoZSgpIHtcbiAgICBSZXF1ZXN0Q2FjaGUucmVzdG9yZUZyb21Mb2NhbFN0b3JhZ2UoKTtcbiAgICByZXR1cm4gUmVxdWVzdENhY2hlLmNhY2hlZC5pbmNsdWRlcyh0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgcGVyc2lzdHNJbkxvY2FsU3RvcmFnZSgpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShSZXF1ZXN0Q2FjaGUuTE9DQUxfU1RPUkFHRV9LRVksXG4gICAgICBKU09OLnN0cmluZ2lmeShSZXF1ZXN0Q2FjaGUuY2FjaGVkLm1hcChyID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNwb25zZToge1xuICAgICAgICAgICAgc291cmNlUmVxdWVzdDogci5yZXNwb25zZS5zb3VyY2VSZXF1ZXN0LFxuICAgICAgICAgICAgcmVzcG9uc2VUZXh0OiByLnJlc3BvbnNlLnJlc3BvbnNlVGV4dCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHIucmVzcG9uc2UuaGVhZGVycyxcbiAgICAgICAgICAgIHN0YXR1c0NvZGU6IHIucmVzcG9uc2Uuc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIGVudGl0eTogci5yZXNwb25zZS5lbnRpdHksXG4gICAgICAgICAgICBjaXJjdWxhcjogci5yZXNwb25zZS5jaXJjdWxhcixcbiAgICAgICAgICAgIGlzQXJyYXk6IHIucmVzcG9uc2UuaXNBcnJheSxcbiAgICAgICAgICB9IGFzIE1vZGVscy5IdHRwUmVzcG9uc2U8YW55PlxuICAgICAgICB9O1xuICAgICAgfSkpKTtcbiAgfVxuXG4gIHN0b3JlKCkge1xuICAgIFJlcXVlc3RDYWNoZS5yZXN0b3JlRnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgIGlmICghdGhpcy5jb250YWluc0NhY2hlKSB7XG4gICAgICBSZXF1ZXN0Q2FjaGUuY2FjaGVkLnB1c2godGhpcyk7XG4gICAgICB0aGlzLnBlcnNpc3RzSW5Mb2NhbFN0b3JhZ2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coJ2FscmVhZHkgc3RvcmVkJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIFJlcXVlc3RDYWNoZS5yZXN0b3JlRnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgIGNvbnN0IGluZGV4ID0gUmVxdWVzdENhY2hlLmNhY2hlZC5pbmRleE9mKHRoaXMpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIFJlcXVlc3RDYWNoZS5jYWNoZWQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMucGVyc2lzdHNJbkxvY2FsU3RvcmFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnYWxyZWFkeSByZW1vdmVkJyk7XG4gICAgfVxuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPW5nMi1yZXN0IGxpYi9yZXF1ZXN0LWNhY2hlLnRzIl19
|