valtech-components 2.0.828 → 2.0.830
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/services/app-version/app-version.service.mjs +10 -1
- package/esm2022/lib/services/auth/auth.service.mjs +55 -10
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +64 -10
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/services/auth/auth.service.d.ts +13 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -159,6 +159,15 @@ export class AppVersionService {
|
|
|
159
159
|
this.swUpdate.versionUpdates
|
|
160
160
|
.pipe(filter(evt => evt.type === 'VERSION_READY'), takeUntilDestroyed(this.destroyRef))
|
|
161
161
|
.subscribe(() => this.swUpdateReady.set(true));
|
|
162
|
+
// SW en estado irrecuperable — la caché del service worker se corrompió o
|
|
163
|
+
// fue parcialmente evictada (común en PWAs standalone de iOS tras deploys
|
|
164
|
+
// repetidos). La app no puede cargar sus assets → pantalla en blanco.
|
|
165
|
+
// Recuperación recomendada por Angular: recargar para traer todo fresco
|
|
166
|
+
// desde la red.
|
|
167
|
+
this.swUpdate.unrecoverable.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {
|
|
168
|
+
console.error('[AppVersionService] SW unrecoverable — reloading:', event.reason);
|
|
169
|
+
this.document.defaultView?.location.reload();
|
|
170
|
+
});
|
|
162
171
|
// Chequeo periódico.
|
|
163
172
|
const intervalMs = this.serviceConfig?.checkIntervalMs ?? DEFAULT_APP_VERSION_SERVICE_CONFIG.checkIntervalMs;
|
|
164
173
|
interval(intervalMs)
|
|
@@ -184,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
184
193
|
type: Injectable,
|
|
185
194
|
args: [{ providedIn: 'root' }]
|
|
186
195
|
}], ctorParameters: () => [] });
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBwLXZlcnNpb24vYXBwLXZlcnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQVUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQW9CLGtDQUFrQyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUUvRTs7O0dBR0c7QUFDSCxTQUFTLGNBQWMsQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUMxQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxN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LEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWpELHFCQUFxQjtRQUNyQixNQUFNLFVBQVUsR0FDZCxJQUFJLENBQUMsYUFBYSxFQUFFLGVBQWUsSUFBSSxrQ0FBa0MsQ0FBQyxlQUFlLENBQUM7UUFFNUYsUUFBUSxDQUFDLFVBQVUsQ0FBQzthQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLHlDQUF5QztRQUN6QyxNQUFNLFNBQVMsR0FBRyxHQUFTLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDaEQsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxtQkFBbUI7UUFDbkIsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0F6SlUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FESixNQUFNOzs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXBwVmVyc2lvblNlcnZpY2VcbiAqXG4gKiBWZXJpZmljYWNpw7NuIGRlIHZlcnNpw7NuIGRlIGxhIGFwcCBwYXJhIFBXQSAvIHdlYi5cbiAqXG4gKiBVbmlmaWNhIGRvcyBzZcOxYWxlcyBwYXJhIGRldGVjdGFyIGFjdHVhbGl6YWNpb25lczpcbiAqXG4gKiAxLiBgU3dVcGRhdGVgIChgQGFuZ3VsYXIvc2VydmljZS13b3JrZXJgKSDigJQgZWwgZXZlbnRvIGBWRVJTSU9OX1JFQURZYCBpbmRpY2FcbiAqICAgIHF1ZSB1biBidW5kbGUgbnVldm8gZnVlIGRlc2NhcmdhZG8geSBlc3TDoSBsaXN0byBwYXJhIGFjdGl2YXJzZS4gU29sbyBlc3TDoVxuICogICAgZGlzcG9uaWJsZSBjdWFuZG8gZWwgc2VydmljZSB3b3JrZXIgZXN0w6EgcmVnaXN0cmFkbyAoYnVpbGQgZGUgcHJvZHVjY2nDs24pLlxuICogICAgQWRlbcOhcyBzZSBjaGVxdWVhIHByb2FjdGl2YW1lbnRlIGNhZGEgYGNoZWNrSW50ZXJ2YWxNc2AgeSBjYWRhIHZleiBxdWUgbGFcbiAqICAgIGFwcCB2dWVsdmUgYSBmb3JlZ3JvdW5kIChgdmlzaWJpbGl0eWNoYW5nZWApLlxuICpcbiAqIDIuIGBBcHBDb25maWdTZXJ2aWNlYCAoY29uZmlnIHJlbW90byBlbiBGaXJlc3RvcmUpIOKAlCBleHBvbmUgYHZlcnNpb25gXG4gKiAgICAow7psdGltYSB2ZXJzacOzbiBwdWJsaWNhZGEpIHkgYG1pblZlcnNpb25gICh2ZXJzacOzbiBtw61uaW1hIHNvcG9ydGFkYSkuXG4gKiAgICBTZSB1c2EgcGFyYSBsYSBwb2zDrXRpY2EgZGUgYWN0dWFsaXphY2nDs24gb2JsaWdhdG9yaWEgKGhhcmQgZ2F0ZSkuXG4gKlxuICogQW1iYXMgZGVwZW5kZW5jaWFzIHNlIGlueWVjdGFuIGNvbW8gb3BjaW9uYWxlczogZWwgc2VydmljaW8gZGVncmFkYSBjb25cbiAqIGdyYWNpYSBzaSBlbCBTVyBubyBlc3TDoSBoYWJpbGl0YWRvIChkZXYgbW9kZSkgbyBzaSBgQXBwQ29uZmlnU2VydmljZWAgbm9cbiAqIGVzdMOhIHdpcmVhZG8gZW4gbGEgYXBwLlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdGFibGUsIFNpZ25hbCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBTd1VwZGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3NlcnZpY2Utd29ya2VyJztcbmltcG9ydCB7IGZpbHRlciwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2FwcC1jb25maWcvYXBwLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFZBTFRFQ0hfQVBQX1ZFUlNJT04gfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBBcHBWZXJzaW9uU3RhdHVzLCBERUZBVUxUX0FQUF9WRVJTSU9OX1NFUlZJQ0VfQ09ORklHIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ29tcGFyYSBkb3MgdmVyc2lvbmVzIHNlbXZlci4gUmV0b3JuYSB0cnVlIHNpIGBhYCBlcyBlc3RyaWN0YW1lbnRlIG1lbm9yXG4gKiBxdWUgYGJgLiBUb2xlcmFudGUgYSBsb25naXR1ZGVzIGRpc3RpbnRhcyB5IGEgcGFydGVzIG5vIG51bcOpcmljYXMuXG4gKi9cbmZ1bmN0aW9uIGlzVmVyc2lvbkxvd2VyKGE6IHN0cmluZywgYjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhID0gYS5zcGxpdCgnLicpLm1hcChuID0+IE51bWJlcihuKSB8fCAwKTtcbiAgY29uc3QgcGIgPSBiLnNwbGl0KCcuJykubWFwKG4gPT4gTnVtYmVyKG4pIHx8IDApO1xuICBjb25zdCBsZW4gPSBNYXRoLm1heChwYS5sZW5ndGgsIHBiLmxlbmd0aCk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IHggPSBwYVtpXSB8fCAwO1xuICAgIGNvbnN0IHkgPSBwYltpXSB8fCAwO1xuICAgIGlmICh4IDwgeSkgcmV0dXJuIHRydWU7XG4gICAgaWYgKHggPiB5KSByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXBwVmVyc2lvblNlcnZpY2Uge1xuICAvKiogU3dVcGRhdGUgc29sbyBleGlzdGUgc2kgZWwgU1cgZXN0w6EgcmVnaXN0cmFkbyAocHJvZCBidWlsZCkuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3dVcGRhdGUgPSBpbmplY3QoU3dVcGRhdGUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIC8qKiBBcHBDb25maWdTZXJ2aWNlIGVzIG9wY2lvbmFsOiBsYSBhcHAgcHVlZGUgbm8gd2lyZWFybG8uICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnID0gaW5qZWN0KEFwcENvbmZpZ1NlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZUNvbmZpZyA9IGluamVjdChWQUxURUNIX0FQUF9WRVJTSU9OLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIC8qKiBUcnVlIGN1YW5kbyBlbCBTVyByZXBvcnTDsyB1biBidW5kbGUgbnVldm8gbGlzdG8gKGBWRVJTSU9OX1JFQURZYCkuICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3dVcGRhdGVSZWFkeSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFRydWUgY3VhbmRvIGVsIHVzdWFyaW8gZGVzY2FydMOzIGVsIGJhbm5lciBkZSBhY3R1YWxpemFjacOzbiBvcGNpb25hbC5cbiAgICogRWwgYmFubmVyIG9ibGlnYXRvcmlvIChgdXBkYXRlLXJlcXVpcmVkYCkgaWdub3JhIGVzdGUgZmxhZy5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc21pc3NlZCA9IHNpZ25hbChmYWxzZSk7XG4gIHJlYWRvbmx5IGRpc21pc3NlZDogU2lnbmFsPGJvb2xlYW4+ID0gdGhpcy5fZGlzbWlzc2VkLmFzUmVhZG9ubHkoKTtcblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU0lHTkFMUyBQw5pCTElDT1NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZlcnNpw7NuIGxvY2FsIGRlbCBidWlsZCBhY3R1YWwgZGUgbGEgYXBwLlxuICAgKiBQcm92aWVuZSBkZWwgcHJvdmlkZXIgYHByb3ZpZGVWYWx0ZWNoQXBwVmVyc2lvbih7IGN1cnJlbnRWZXJzaW9uIH0pYC5cbiAgICovXG4gIHJlYWRvbmx5IGN1cnJlbnRWZXJzaW9uOiBTaWduYWw8c3RyaW5nPiA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuc2VydmljZUNvbmZpZz8uY3VycmVudFZlcnNpb24gPz8gJzAuMC4wJ1xuICApO1xuXG4gIC8qKlxuICAgKiDDmmx0aW1hIHZlcnNpw7NuIHB1YmxpY2FkYSBzZWfDum4gZWwgY29uZmlnIHJlbW90by5cbiAgICogYG51bGxgIHNpIGBBcHBDb25maWdTZXJ2aWNlYCBubyBlc3TDoSBkaXNwb25pYmxlIG8gYcO6biBubyBjYXJnw7MuXG4gICAqL1xuICByZWFkb25seSBsYXRlc3RWZXJzaW9uOiBTaWduYWw8c3RyaW5nIHwgbnVsbD4gPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmFwcENvbmZpZz8ucmVtb3RlVmVyc2lvbigpID8/IG51bGxcbiAgKTtcblxuICAvKipcbiAgICogRXN0YWRvIGRlIGxhIHZlcnNpw7NuOlxuICAgKiAtIGB1cGRhdGUtcmVxdWlyZWRgIOKAlCBsYSB2ZXJzacOzbiBsb2NhbCBxdWVkw7MgcG9yIGRlYmFqbyBkZSBgbWluVmVyc2lvbmBcbiAgICogICBkZWwgY29uZmlnIHJlbW90by4gSGFyZCBnYXRlLiBTb2xvIHNpIGBBcHBDb25maWdTZXJ2aWNlYCB0aWVuZSBkYXRvcy5cbiAgICogLSBgdXBkYXRlLWF2YWlsYWJsZWAg4oCUIGVsIFNXIGRlc2NhcmfDsyB1biBidW5kbGUgbnVldm8gKGBWRVJTSU9OX1JFQURZYClcbiAgICogICBvIGBBcHBDb25maWdTZXJ2aWNlLmhhc1VwZGF0ZWAgZXMgdHJ1ZS5cbiAgICogLSBgdXAtdG8tZGF0ZWAg4oCUIGVuIGN1YWxxdWllciBvdHJvIGNhc28uXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM6IFNpZ25hbDxBcHBWZXJzaW9uU3RhdHVzPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAvLyAxLiBIYXJkIGdhdGUg4oCUIG1pblZlcnNpb24gZGVsIGNvbmZpZyByZW1vdG8uXG4gICAgaWYgKHRoaXMuYXBwQ29uZmlnKSB7XG4gICAgICBjb25zdCBtaW5WZXJzaW9uID0gdGhpcy5hcHBDb25maWcuYXBwQ29uZmlnKCk/Lm1pblZlcnNpb247XG4gICAgICBpZiAobWluVmVyc2lvbiAmJiBpc1ZlcnNpb25Mb3dlcih0aGlzLmN1cnJlbnRWZXJzaW9uKCksIG1pblZlcnNpb24pKSB7XG4gICAgICAgIHJldHVybiAndXBkYXRlLXJlcXVpcmVkJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAyLiBVcGRhdGUgb3BjaW9uYWwg4oCUIFNXIGJ1bmRsZSBsaXN0byBvIGNvbmZpZyByZW1vdG8gbcOhcyBudWV2by5cbiAgICBpZiAodGhpcy5zd1VwZGF0ZVJlYWR5KCkgfHwgdGhpcy5hcHBDb25maWc/Lmhhc1VwZGF0ZSgpKSB7XG4gICAgICByZXR1cm4gJ3VwZGF0ZS1hdmFpbGFibGUnO1xuICAgIH1cblxuICAgIHJldHVybiAndXAtdG8tZGF0ZSc7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMud2lyZVNlcnZpY2VXb3JrZXIoKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBNw4lUT0RPUyBQw5pCTElDT1NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwbGljYSBsYSBhY3R1YWxpemFjacOzbiBwZW5kaWVudGUuXG4gICAqXG4gICAqIFNpIGVsIFNXIGVzdMOhIGhhYmlsaXRhZG8sIGFjdGl2YSBsYSB2ZXJzacOzbiBkZXNjYXJnYWRhIHkgcmVjYXJnYTsgc2kgbm8sXG4gICAqIHNvbG8gcmVjYXJnYSBsYSBww6FnaW5hIChsYSB3ZWIgb2J0aWVuZSBlbCBidW5kbGUgbnVldm8gZGVsIHNlcnZpZG9yKS5cbiAgICovXG4gIGFzeW5jIGFwcGx5VXBkYXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5zd1VwZGF0ZT8uaXNFbmFibGVkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc3dVcGRhdGUuYWN0aXZhdGVVcGRhdGUoKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUud2FybignW0FwcFZlcnNpb25TZXJ2aWNlXSBhY3RpdmF0ZVVwZGF0ZSBmYWlsZWQ6JywgZXJyKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlc2NhcnRhIGVsIGJhbm5lciBkZSBhY3R1YWxpemFjacOzbiBvcGNpb25hbC5cbiAgICogTm8gdGllbmUgZWZlY3RvIHNvYnJlIGVsIGVzdGFkbyBgdXBkYXRlLXJlcXVpcmVkYCAoaGFyZCBnYXRlKS5cbiAgICovXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzbWlzc2VkLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdWVyemEgdW4gY2hlcXVlbyBkZSBhY3R1YWxpemFjacOzbiBkZWwgc2VydmljZSB3b3JrZXIuXG4gICAqIE5vLW9wIHNpIGVsIFNXIG5vIGVzdMOhIGhhYmlsaXRhZG8uXG4gICAqL1xuICBhc3luYyBjaGVja05vdygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuc3dVcGRhdGU/LmlzRW5hYmxlZCkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnN3VXBkYXRlLmNoZWNrRm9yVXBkYXRlKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tBcHBWZXJzaW9uU2VydmljZV0gY2hlY2tGb3JVcGRhdGUgZmFpbGVkOicsIGVycik7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBSSVZBRE9cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFN1c2NyaWJlIGB2ZXJzaW9uVXBkYXRlc2AsIHByb2dyYW1hIGNoZXF1ZW9zIHBlcmnDs2RpY29zIHkgcmVhY2Npb25hIGFsXG4gICAqIHZvbHZlciBsYSBhcHAgYSBmb3JlZ3JvdW5kLiBTb2xvIGFjdMO6YSBzaSBlbCBTVyBlc3TDoSBoYWJpbGl0YWRvLlxuICAgKi9cbiAgcHJpdmF0ZSB3aXJlU2VydmljZVdvcmtlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3dVcGRhdGU/LmlzRW5hYmxlZCkgcmV0dXJuO1xuXG4gICAgLy8gQnVuZGxlIG51ZXZvIGRlc2NhcmdhZG8geSBsaXN0by5cbiAgICB0aGlzLnN3VXBkYXRlLnZlcnNpb25VcGRhdGVzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2dCA9PiBldnQudHlwZSA9PT0gJ1ZFUlNJT05fUkVBRFknKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zd1VwZGF0ZVJlYWR5LnNldCh0cnVlKSk7XG5cbiAgICAvLyBDaGVxdWVvIHBlcmnDs2RpY28uXG4gICAgY29uc3QgaW50ZXJ2YWxNcyA9XG4gICAgICB0aGlzLnNlcnZpY2VDb25maWc/LmNoZWNrSW50ZXJ2YWxNcyA/PyBERUZBVUxUX0FQUF9WRVJTSU9OX1NFUlZJQ0VfQ09ORklHLmNoZWNrSW50ZXJ2YWxNcztcblxuICAgIGludGVydmFsKGludGVydmFsTXMpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdm9pZCB0aGlzLmNoZWNrTm93KCkpO1xuXG4gICAgLy8gQ2hlcXVlbyBhbCB2b2x2ZXIgbGEgYXBwIGEgZm9yZWdyb3VuZC5cbiAgICBjb25zdCBvblZpc2libGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICBpZiAodGhpcy5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICB2b2lkIHRoaXMuY2hlY2tOb3coKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIG9uVmlzaWJsZSk7XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICB0aGlzLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBvblZpc2libGUpO1xuICAgIH0pO1xuXG4gICAgLy8gQ2hlcXVlbyBpbmljaWFsLlxuICAgIHZvaWQgdGhpcy5jaGVja05vdygpO1xuICB9XG59XG4iXX0=
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXZlcnNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBwLXZlcnNpb24vYXBwLXZlcnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQVUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQW9CLGtDQUFrQyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUUvRTs7O0dBR0c7QUFDSCxTQUFTLGNBQWMsQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUMxQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxN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QixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUgsbUJBQW1CO1FBQ25CLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBbktVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBREosTUFBTTs7NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwcFZlcnNpb25TZXJ2aWNlXG4gKlxuICogVmVyaWZpY2FjacOzbiBkZSB2ZXJzacOzbiBkZSBsYSBhcHAgcGFyYSBQV0EgLyB3ZWIuXG4gKlxuICogVW5pZmljYSBkb3Mgc2XDsWFsZXMgcGFyYSBkZXRlY3RhciBhY3R1YWxpemFjaW9uZXM6XG4gKlxuICogMS4gYFN3VXBkYXRlYCAoYEBhbmd1bGFyL3NlcnZpY2Utd29ya2VyYCkg4oCUIGVsIGV2ZW50byBgVkVSU0lPTl9SRUFEWWAgaW5kaWNhXG4gKiAgICBxdWUgdW4gYnVuZGxlIG51ZXZvIGZ1ZSBkZXNjYXJnYWRvIHkgZXN0w6EgbGlzdG8gcGFyYSBhY3RpdmFyc2UuIFNvbG8gZXN0w6FcbiAqICAgIGRpc3BvbmlibGUgY3VhbmRvIGVsIHNlcnZpY2Ugd29ya2VyIGVzdMOhIHJlZ2lzdHJhZG8gKGJ1aWxkIGRlIHByb2R1Y2Npw7NuKS5cbiAqICAgIEFkZW3DoXMgc2UgY2hlcXVlYSBwcm9hY3RpdmFtZW50ZSBjYWRhIGBjaGVja0ludGVydmFsTXNgIHkgY2FkYSB2ZXogcXVlIGxhXG4gKiAgICBhcHAgdnVlbHZlIGEgZm9yZWdyb3VuZCAoYHZpc2liaWxpdHljaGFuZ2VgKS5cbiAqXG4gKiAyLiBgQXBwQ29uZmlnU2VydmljZWAgKGNvbmZpZyByZW1vdG8gZW4gRmlyZXN0b3JlKSDigJQgZXhwb25lIGB2ZXJzaW9uYFxuICogICAgKMO6bHRpbWEgdmVyc2nDs24gcHVibGljYWRhKSB5IGBtaW5WZXJzaW9uYCAodmVyc2nDs24gbcOtbmltYSBzb3BvcnRhZGEpLlxuICogICAgU2UgdXNhIHBhcmEgbGEgcG9sw610aWNhIGRlIGFjdHVhbGl6YWNpw7NuIG9ibGlnYXRvcmlhIChoYXJkIGdhdGUpLlxuICpcbiAqIEFtYmFzIGRlcGVuZGVuY2lhcyBzZSBpbnllY3RhbiBjb21vIG9wY2lvbmFsZXM6IGVsIHNlcnZpY2lvIGRlZ3JhZGEgY29uXG4gKiBncmFjaWEgc2kgZWwgU1cgbm8gZXN0w6EgaGFiaWxpdGFkbyAoZGV2IG1vZGUpIG8gc2kgYEFwcENvbmZpZ1NlcnZpY2VgIG5vXG4gKiBlc3TDoSB3aXJlYWRvIGVuIGxhIGFwcC5cbiAqL1xuXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3RhYmxlLCBTaWduYWwsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU3dVcGRhdGUgfSBmcm9tICdAYW5ndWxhci9zZXJ2aWNlLXdvcmtlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0FQUF9WRVJTSU9OIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgQXBwVmVyc2lvblN0YXR1cywgREVGQVVMVF9BUFBfVkVSU0lPTl9TRVJWSUNFX0NPTkZJRyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIENvbXBhcmEgZG9zIHZlcnNpb25lcyBzZW12ZXIuIFJldG9ybmEgdHJ1ZSBzaSBgYWAgZXMgZXN0cmljdGFtZW50ZSBtZW5vclxuICogcXVlIGBiYC4gVG9sZXJhbnRlIGEgbG9uZ2l0dWRlcyBkaXN0aW50YXMgeSBhIHBhcnRlcyBubyBudW3DqXJpY2FzLlxuICovXG5mdW5jdGlvbiBpc1ZlcnNpb25Mb3dlcihhOiBzdHJpbmcsIGI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBwYSA9IGEuc3BsaXQoJy4nKS5tYXAobiA9PiBOdW1iZXIobikgfHwgMCk7XG4gIGNvbnN0IHBiID0gYi5zcGxpdCgnLicpLm1hcChuID0+IE51bWJlcihuKSB8fCAwKTtcbiAgY29uc3QgbGVuID0gTWF0aC5tYXgocGEubGVuZ3RoLCBwYi5sZW5ndGgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCB4ID0gcGFbaV0gfHwgMDtcbiAgICBjb25zdCB5ID0gcGJbaV0gfHwgMDtcbiAgICBpZiAoeCA8IHkpIHJldHVybiB0cnVlO1xuICAgIGlmICh4ID4geSkgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFwcFZlcnNpb25TZXJ2aWNlIHtcbiAgLyoqIFN3VXBkYXRlIHNvbG8gZXhpc3RlIHNpIGVsIFNXIGVzdMOhIHJlZ2lzdHJhZG8gKHByb2QgYnVpbGQpLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHN3VXBkYXRlID0gaW5qZWN0KFN3VXBkYXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAvKiogQXBwQ29uZmlnU2VydmljZSBlcyBvcGNpb25hbDogbGEgYXBwIHB1ZWRlIG5vIHdpcmVhcmxvLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZyA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2VDb25maWcgPSBpbmplY3QoVkFMVEVDSF9BUFBfVkVSU0lPTiwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAvKiogVHJ1ZSBjdWFuZG8gZWwgU1cgcmVwb3J0w7MgdW4gYnVuZGxlIG51ZXZvIGxpc3RvIChgVkVSU0lPTl9SRUFEWWApLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHN3VXBkYXRlUmVhZHkgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBUcnVlIGN1YW5kbyBlbCB1c3VhcmlvIGRlc2NhcnTDsyBlbCBiYW5uZXIgZGUgYWN0dWFsaXphY2nDs24gb3BjaW9uYWwuXG4gICAqIEVsIGJhbm5lciBvYmxpZ2F0b3JpbyAoYHVwZGF0ZS1yZXF1aXJlZGApIGlnbm9yYSBlc3RlIGZsYWcuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNtaXNzZWQgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBkaXNtaXNzZWQ6IFNpZ25hbDxib29sZWFuPiA9IHRoaXMuX2Rpc21pc3NlZC5hc1JlYWRvbmx5KCk7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNJR05BTFMgUMOaQkxJQ09TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBWZXJzacOzbiBsb2NhbCBkZWwgYnVpbGQgYWN0dWFsIGRlIGxhIGFwcC5cbiAgICogUHJvdmllbmUgZGVsIHByb3ZpZGVyIGBwcm92aWRlVmFsdGVjaEFwcFZlcnNpb24oeyBjdXJyZW50VmVyc2lvbiB9KWAuXG4gICAqL1xuICByZWFkb25seSBjdXJyZW50VmVyc2lvbjogU2lnbmFsPHN0cmluZz4gPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLnNlcnZpY2VDb25maWc/LmN1cnJlbnRWZXJzaW9uID8/ICcwLjAuMCdcbiAgKTtcblxuICAvKipcbiAgICogw5psdGltYSB2ZXJzacOzbiBwdWJsaWNhZGEgc2Vnw7puIGVsIGNvbmZpZyByZW1vdG8uXG4gICAqIGBudWxsYCBzaSBgQXBwQ29uZmlnU2VydmljZWAgbm8gZXN0w6EgZGlzcG9uaWJsZSBvIGHDum4gbm8gY2FyZ8OzLlxuICAgKi9cbiAgcmVhZG9ubHkgbGF0ZXN0VmVyc2lvbjogU2lnbmFsPHN0cmluZyB8IG51bGw+ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy5hcHBDb25maWc/LnJlbW90ZVZlcnNpb24oKSA/PyBudWxsXG4gICk7XG5cbiAgLyoqXG4gICAqIEVzdGFkbyBkZSBsYSB2ZXJzacOzbjpcbiAgICogLSBgdXBkYXRlLXJlcXVpcmVkYCDigJQgbGEgdmVyc2nDs24gbG9jYWwgcXVlZMOzIHBvciBkZWJham8gZGUgYG1pblZlcnNpb25gXG4gICAqICAgZGVsIGNvbmZpZyByZW1vdG8uIEhhcmQgZ2F0ZS4gU29sbyBzaSBgQXBwQ29uZmlnU2VydmljZWAgdGllbmUgZGF0b3MuXG4gICAqIC0gYHVwZGF0ZS1hdmFpbGFibGVgIOKAlCBlbCBTVyBkZXNjYXJnw7MgdW4gYnVuZGxlIG51ZXZvIChgVkVSU0lPTl9SRUFEWWApXG4gICAqICAgbyBgQXBwQ29uZmlnU2VydmljZS5oYXNVcGRhdGVgIGVzIHRydWUuXG4gICAqIC0gYHVwLXRvLWRhdGVgIOKAlCBlbiBjdWFscXVpZXIgb3RybyBjYXNvLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdHVzOiBTaWduYWw8QXBwVmVyc2lvblN0YXR1cz4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgLy8gMS4gSGFyZCBnYXRlIOKAlCBtaW5WZXJzaW9uIGRlbCBjb25maWcgcmVtb3RvLlxuICAgIGlmICh0aGlzLmFwcENvbmZpZykge1xuICAgICAgY29uc3QgbWluVmVyc2lvbiA9IHRoaXMuYXBwQ29uZmlnLmFwcENvbmZpZygpPy5taW5WZXJzaW9uO1xuICAgICAgaWYgKG1pblZlcnNpb24gJiYgaXNWZXJzaW9uTG93ZXIodGhpcy5jdXJyZW50VmVyc2lvbigpLCBtaW5WZXJzaW9uKSkge1xuICAgICAgICByZXR1cm4gJ3VwZGF0ZS1yZXF1aXJlZCc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gMi4gVXBkYXRlIG9wY2lvbmFsIOKAlCBTVyBidW5kbGUgbGlzdG8gbyBjb25maWcgcmVtb3RvIG3DoXMgbnVldm8uXG4gICAgaWYgKHRoaXMuc3dVcGRhdGVSZWFkeSgpIHx8IHRoaXMuYXBwQ29uZmlnPy5oYXNVcGRhdGUoKSkge1xuICAgICAgcmV0dXJuICd1cGRhdGUtYXZhaWxhYmxlJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3VwLXRvLWRhdGUnO1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLndpcmVTZXJ2aWNlV29ya2VyKCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gTcOJVE9ET1MgUMOaQkxJQ09TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBBcGxpY2EgbGEgYWN0dWFsaXphY2nDs24gcGVuZGllbnRlLlxuICAgKlxuICAgKiBTaSBlbCBTVyBlc3TDoSBoYWJpbGl0YWRvLCBhY3RpdmEgbGEgdmVyc2nDs24gZGVzY2FyZ2FkYSB5IHJlY2FyZ2E7IHNpIG5vLFxuICAgKiBzb2xvIHJlY2FyZ2EgbGEgcMOhZ2luYSAobGEgd2ViIG9idGllbmUgZWwgYnVuZGxlIG51ZXZvIGRlbCBzZXJ2aWRvcikuXG4gICAqL1xuICBhc3luYyBhcHBseVVwZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuc3dVcGRhdGU/LmlzRW5hYmxlZCkge1xuICAgICAgICBhd2FpdCB0aGlzLnN3VXBkYXRlLmFjdGl2YXRlVXBkYXRlKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1tBcHBWZXJzaW9uU2VydmljZV0gYWN0aXZhdGVVcGRhdGUgZmFpbGVkOicsIGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXc/LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNjYXJ0YSBlbCBiYW5uZXIgZGUgYWN0dWFsaXphY2nDs24gb3BjaW9uYWwuXG4gICAqIE5vIHRpZW5lIGVmZWN0byBzb2JyZSBlbCBlc3RhZG8gYHVwZGF0ZS1yZXF1aXJlZGAgKGhhcmQgZ2F0ZSkuXG4gICAqL1xuICBkaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc21pc3NlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRnVlcnphIHVuIGNoZXF1ZW8gZGUgYWN0dWFsaXphY2nDs24gZGVsIHNlcnZpY2Ugd29ya2VyLlxuICAgKiBOby1vcCBzaSBlbCBTVyBubyBlc3TDoSBoYWJpbGl0YWRvLlxuICAgKi9cbiAgYXN5bmMgY2hlY2tOb3coKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnN3VXBkYXRlPy5pc0VuYWJsZWQpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zd1VwZGF0ZS5jaGVja0ZvclVwZGF0ZSgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS53YXJuKCdbQXBwVmVyc2lvblNlcnZpY2VdIGNoZWNrRm9yVXBkYXRlIGZhaWxlZDonLCBlcnIpO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQURPXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBTdXNjcmliZSBgdmVyc2lvblVwZGF0ZXNgLCBwcm9ncmFtYSBjaGVxdWVvcyBwZXJpw7NkaWNvcyB5IHJlYWNjaW9uYSBhbFxuICAgKiB2b2x2ZXIgbGEgYXBwIGEgZm9yZWdyb3VuZC4gU29sbyBhY3TDumEgc2kgZWwgU1cgZXN0w6EgaGFiaWxpdGFkby5cbiAgICovXG4gIHByaXZhdGUgd2lyZVNlcnZpY2VXb3JrZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnN3VXBkYXRlPy5pc0VuYWJsZWQpIHJldHVybjtcblxuICAgIC8vIEJ1bmRsZSBudWV2byBkZXNjYXJnYWRvIHkgbGlzdG8uXG4gICAgdGhpcy5zd1VwZGF0ZS52ZXJzaW9uVXBkYXRlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldnQgPT4gZXZ0LnR5cGUgPT09ICdWRVJTSU9OX1JFQURZJyksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc3dVcGRhdGVSZWFkeS5zZXQodHJ1ZSkpO1xuXG4gICAgLy8gU1cgZW4gZXN0YWRvIGlycmVjdXBlcmFibGUg4oCUIGxhIGNhY2jDqSBkZWwgc2VydmljZSB3b3JrZXIgc2UgY29ycm9tcGnDsyBvXG4gICAgLy8gZnVlIHBhcmNpYWxtZW50ZSBldmljdGFkYSAoY29tw7puIGVuIFBXQXMgc3RhbmRhbG9uZSBkZSBpT1MgdHJhcyBkZXBsb3lzXG4gICAgLy8gcmVwZXRpZG9zKS4gTGEgYXBwIG5vIHB1ZWRlIGNhcmdhciBzdXMgYXNzZXRzIOKGkiBwYW50YWxsYSBlbiBibGFuY28uXG4gICAgLy8gUmVjdXBlcmFjacOzbiByZWNvbWVuZGFkYSBwb3IgQW5ndWxhcjogcmVjYXJnYXIgcGFyYSB0cmFlciB0b2RvIGZyZXNjb1xuICAgIC8vIGRlc2RlIGxhIHJlZC5cbiAgICB0aGlzLnN3VXBkYXRlLnVucmVjb3ZlcmFibGUucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tBcHBWZXJzaW9uU2VydmljZV0gU1cgdW5yZWNvdmVyYWJsZSDigJQgcmVsb2FkaW5nOicsIGV2ZW50LnJlYXNvbik7XG4gICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3Py5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9KTtcblxuICAgIC8vIENoZXF1ZW8gcGVyacOzZGljby5cbiAgICBjb25zdCBpbnRlcnZhbE1zID1cbiAgICAgIHRoaXMuc2VydmljZUNvbmZpZz8uY2hlY2tJbnRlcnZhbE1zID8/IERFRkFVTFRfQVBQX1ZFUlNJT05fU0VSVklDRV9DT05GSUcuY2hlY2tJbnRlcnZhbE1zO1xuXG4gICAgaW50ZXJ2YWwoaW50ZXJ2YWxNcylcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB2b2lkIHRoaXMuY2hlY2tOb3coKSk7XG5cbiAgICAvLyBDaGVxdWVvIGFsIHZvbHZlciBsYSBhcHAgYSBmb3JlZ3JvdW5kLlxuICAgIGNvbnN0IG9uVmlzaWJsZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG4gICAgICAgIHZvaWQgdGhpcy5jaGVja05vdygpO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgb25WaXNpYmxlKTtcbiAgICB0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgIHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIG9uVmlzaWJsZSk7XG4gICAgfSk7XG5cbiAgICAvLyBDaGVxdWVvIGluaWNpYWwuXG4gICAgdm9pZCB0aGlzLmNoZWNrTm93KCk7XG4gIH1cbn1cbiJdfQ==
|