ng-pli-commons 0.0.1597 → 0.0.1598

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.
@@ -82,6 +82,9 @@ export class PdfVisualizerComponent {
82
82
  var data = atob(this.base64);
83
83
  PDFJS.workerSrc = 'https://mozilla.github.io/pdf.js/build/pdf.worker.js';
84
84
  // create instance of PdfDocument with the id of canvas
85
+ if (PDFJS.GlobalWorkerOptions)
86
+ PDFJS.GlobalWorkerOptions.workerSrc =
87
+ 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.worker.js';
85
88
  this.pdfDocument = new PdfDocument(this.id_canvas);
86
89
  // assign variables out of scope
87
90
  let pdfdocument = this.pdfDocument;
@@ -365,4 +368,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
365
368
  }], onPdfRendered: [{
366
369
  type: Output
367
370
  }] } });
368
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL3BkZi12aXN1YWxpemVyL3BkZi12aXN1YWxpemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlzdWFsaXplci9wZGYtdmlzdWFsaXplci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUlULEtBQUssRUFFTCxZQUFZLEVBRVosTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQUs1RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDckIsNEJBQTRCO0FBTzVCLE1BQU0sT0FBTyxzQkFBc0I7SUF5RWxDLFlBQ1csYUFBNEIsRUFDL0IsWUFBMEIsRUFDekIsYUFBNEIsRUFDNUIsV0FBd0I7UUFIdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFwRGpDLGlCQUFpQjtRQUNSLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDbkMsb0JBQW9CO1FBQ1gsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDdEMsbUJBQW1CO1FBQ1YsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFvQjVCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNsRSwyQ0FBMkM7UUFDakMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuRSwrQ0FBK0M7UUFDckMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3RFLHNDQUFzQztRQUNwQywyQ0FBMkM7UUFDbkMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU9yRSw2QkFBNkI7UUFDNUIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN2Qix3Q0FBd0M7UUFDeEMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUd2QixtQ0FBbUM7UUFDbkMsY0FBUyxHQUFXLFlBQVksQ0FBQztJQU85QixDQUFDO0lBRUosdUNBQXVDO0lBQ3ZDLFdBQVcsQ0FBQyxPQUFzQjtRQUNqQyxNQUFNLFdBQVcsR0FBaUIsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBaUIsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUM5QyxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFO1lBQzVDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNuQjthQUFNLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNuQjthQUFNO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO2dCQUNoRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztnQkFDckMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuRCxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO2FBQzdCO1NBQ0Q7SUFDRixDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLFdBQVc7UUFDVixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDM0QsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUNELENBQUM7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QixzQkFBc0I7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUM5RCxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQ0QsQ0FBQztTQUNGO0lBQ0YsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFNO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM1QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxTQUFTLEdBQUcsc0RBQXNELENBQUM7UUFDekUsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5ELGdDQUFnQztRQUNoQyxJQUFJLFdBQVcsR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVoRCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDaEMsWUFBWSxFQUFFLEtBQUs7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBRSxLQUFLLFdBQVUsT0FBTztZQUM3RCxXQUFXLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUI7UUFDaEIsNkJBQTZCO1FBQzdCLElBQUksUUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBQ2pDLG1FQUFtRTtRQUNuRSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUMzQixDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFDZixLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNYLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxVQUFVLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBZSxFQUFFLFFBQWdCO1FBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUN4QyxRQUFRLENBQUMsWUFBWSxFQUNyQixHQUFHLEVBQ0gsQ0FBQyxFQUNELENBQUMsRUFDRCxNQUFNLEVBQ04sUUFBUSxDQUNSLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUN0RCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUNELENBQUM7SUFDSCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLFNBQVM7UUFDUixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUMzQyxPQUFPLHNCQUFzQixDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDckQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSxVQUFVLENBQUMsR0FBRztRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUN0QyxnQ0FBZ0M7UUFDaEMsSUFBSSxlQUFlLEdBQWdCLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSTtZQUN2RCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ2hELGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFFOUMsc0NBQXNDO1lBQ3RDLElBQUksYUFBYSxHQUFHO2dCQUNuQixhQUFhLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUN0RCxRQUFRLEVBQUUsUUFBUTthQUNsQixDQUFDO1lBQ0YsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUU1QywrQkFBK0I7WUFDL0IsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUN0QyxJQUFJLGVBQWUsQ0FBQyxjQUFjLEtBQUssSUFBSSxFQUFFO29CQUM1QyxnQ0FBZ0M7b0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUNoRCxlQUFlLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztpQkFDdEM7WUFDRixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxHQUFHO1FBQ2xCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDO1NBQ3RDO2FBQU07WUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JCO0lBQ0YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsRUFBRTtZQUN2RCxPQUFPO1NBQ1A7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ3RGLE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDckQsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksR0FBRyxFQUFFO1lBQ3ZELE9BQU87U0FDUDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUN0RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFFBQVEsS0FBSSxDQUFDO0lBRWIscUNBQXFDO0lBQ3JDLFNBQVM7UUFDUixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDbkIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsT0FBTztTQUNQO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLFFBQVE7UUFDUCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDekIsQ0FBQyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNWLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZixNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ25CLENBQUMsQ0FBQztRQUNKLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixrQ0FBa0M7SUFDbEMsSUFBSTtJQUVKLHdCQUF3QjtJQUN4QixVQUFVO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNQLE9BQU8sQ0FDTixJQUFJLENBQUMsV0FBVztZQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxTQUFTO1lBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLElBQUksQ0FDL0IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxFQUFFLEVBQUUsU0FBUyxHQUFHLEdBQUc7UUFDbkQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxLQUFLLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksU0FBUyxFQUFFO1lBQ3pFLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztZQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMzQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzs7QUFsWU0scUNBQWMsR0FBRyxHQUFHLENBQUM7bUhBRGhCLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHN1QkMzQm5DLHl3TEFpS0E7MkZEdElhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDQyxvQkFBb0I7cUxBUXJCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksSUFBSTtzQkFBWixLQUFLO2dCQUVFLE9BQU87c0JBQWYsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsUUFBUTtzQkFBakIsTUFBTTtnQkFHRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0T25Jbml0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG5cdElucHV0LFxyXG5cdFNpbXBsZUNoYW5nZSxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0T3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFBERkpTXyBmcm9tICdwZGZqcy1kaXN0L2J1aWxkL3BkZic7XHJcbmltcG9ydCBwYW56b29tIGZyb20gJ3Bhbnpvb20vZGlzdC9wYW56b29tJztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGRmRG9jdW1lbnQsIFV0aWxTdHJpbmcsIEVQcm9jZXNvLCBSZXF1ZXN0UGRmIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgeyBGaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5jb25zdCBQREZKUyA9IFBERkpTXztcclxuLy8gY29uc3QgcGFuem9vbSA9IHBhbnpvb21fO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdwbGktcGRmLXZpc3VhbGl6ZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlzdWFsaXplci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZGZWaXN1YWxpemVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cdHN0YXRpYyBERUZBVUxUX0hFSUdIVCA9IDUwMDtcclxuXHJcbiAgLyoqIFBkZnMgdG8gYmUgZ2VuZXJhdGVkIGFuZCBtZXJnZWQgKi9cclxuXHRASW5wdXQoKSBsUGRmUmVxdWVzdDogUmVxdWVzdFBkZltdO1xyXG5cdC8qKiB0ZXh0IGh0bWwgd2lsbCBiZWNvbWUgcGRmICovXHJcblx0QElucHV0KCkgaHRtbDogc3RyaW5nO1xyXG5cdC8qKiB0ZXh0IGhlYWRlciB3aWxsIGJlY29tZSBwZGYgKi9cclxuXHRASW5wdXQoKSBoZWFkZXI6IHN0cmluZztcclxuXHQvKiogdGV4dCBmb290ZXIgd2lsbCBiZWNvbWUgcGRmICovXHJcblx0QElucHV0KCkgZm9vdGVyOiBzdHJpbmc7XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBtYXJnaW5Ub3Agd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSBtYXJnaW5Ub3A6IG51bWJlcjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG1hcmdpblJpZ2h0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcGRmICovXHJcblx0QElucHV0KCkgbWFyZ2luUmlnaHQ6IG51bWJlcjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG1hcmdpbkJvdHRvbSB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIG1hcmdpbkJvdHRvbTogbnVtYmVyO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgbWFyZ2luTGVmdCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlcjtcclxuXHQvKiogSXQgY29udGFpbnMgdGhlIGZvbnQgb2YgdGhlIGh0bWwgKi9cclxuXHRASW5wdXQoKSBmb250OiBzdHJpbmc7XHJcblx0LyoqIEl0IGNvbnRhaW5zIHRoZSBwZGYgb3JpZW50YXRpb24gKi9cclxuXHRASW5wdXQoKSBvcmllbnRhdGlvbjogbnVtYmVyO1xyXG5cdC8qKiBJdCBjb250YWlucyB0aGUgcGRmIHNpemUgKi9cclxuXHRASW5wdXQoKSBzaXplOiBudW1iZXI7XHJcblx0LyoqIHNob3cgcGFnZXIgKi9cclxuXHRASW5wdXQoKSBzaG93UGFnZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKiByZXBlYXQgaGVhZGVyICovXHJcblx0QElucHV0KCkgcmVwZWF0SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogcmVwZWF0IGZvb3RlciovXHJcblx0QElucHV0KCkgcmVwZWF0Rm9vdGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogSGVhZGVyIGhlaWdodCAqL1xyXG5cdEBJbnB1dCgpIGhlYWRlckhlaWdodDogbnVtYmVyO1xyXG5cdC8qKiBGb290ZXIgaGVpZ2h0ICovXHJcblx0QElucHV0KCkgZm9vdGVySGVpZ2h0OiBudW1iZXI7XHJcblxyXG5cdC8qKiBJdCB2ZXJpZmllcyBpZiBpcyBwb3NzaWJsZSB0byBlZGl0IGh0bWwgKi9cclxuXHRASW5wdXQoKSBlbmFibGVFZGl0OiBib29sZWFuO1xyXG5cdC8qKiB0aXRsZSBvZiB0aGUgcGRmICovXHJcblx0QElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHQvKiogdGhlIGhlaWdodCBvZiB0aGUgcGRmIGNhbnZhcyAqL1xyXG5cdEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xyXG5cdC8qKiBUaGUgZmlsZW5hbWUgb2YgdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIGZpbGVuYW1lOiBzdHJpbmc7XHJcblx0LyoqIEl0IHZlcmlmaWVzIGlmIGl0IGFsbG93cyB0byBzZW5kIHRoZSBlbWFpbCAqL1xyXG5cdEBJbnB1dCgpIGVuYWJsZUVtYWlsOiBib29sZWFuO1xyXG5cdC8qKiBJdCBmaXJlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGRvd25sb2FkZWQgKi9cclxuICBASW5wdXQoKSBsYW5nOiBzdHJpbmc7XHJcblx0LyoqIFRoZSB1cmwgb2YgdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIHVybEZpbGU6IHN0cmluZztcclxuXHRAT3V0cHV0KCkgb25Eb3dubG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgbmFtZSBoYXMgYmVlbiBzZW50ICovXHJcblx0QE91dHB1dCgpIG9uU2VuZEVtYWlsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdC8qKiBJdCBmaXJlcyB3aGVuIHRoZSBodG1sIGhhcyBiZWVuIG1vZGlmaWVkICovXHJcblx0QE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cdC8qKiBJdCBjb250YWlucyB0aGUgbGFuZyBvZiB0aGUgcGRmICovXHJcbiAgXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgbmFtZSBoYXMgYmVlbiBzZW50ICovXHJcblx0QE91dHB1dCgpIG9uUGRmUmVuZGVyZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cclxuXHRlbWFpbDogc3RyaW5nO1xyXG5cclxuXHQvKiogYmFzZTY0IGFzIHJlc3VsdCBvZiBodG1sIDIgcGRmICovXHJcblx0YmFzZTY0OiBzdHJpbmc7IC8vIFRPRE8gLSBDaGVjayBmdW5jdGlvbmFsaXR5XHJcblx0LyoqIEl0IGFsbG93cyB0byBlZGl0IGh0bWwgKi9cclxuICBlZGl0OiBib29sZWFuID0gZmFsc2U7XHJcblx0LyoqIGl0IHZlcmlmaWVzIGlmIGNvbXBvbmVudCBpcyByZWFkeSAqL1xyXG5cdHJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblx0LyoqIEl0IGNvbnRpbmFzIHRoZSBhYnN0cmFjdGlvbiBvZiBwZGYgZG9jdW1lbnQgKi9cclxuXHRwZGZEb2N1bWVudDogUGRmRG9jdW1lbnQ7XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBpZCBvZiBjYW52YXMgKi9cclxuXHRpZF9jYW52YXM6IHN0cmluZyA9ICdwZGYtY2FudmFzJztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuXHRcdHB1YmxpYyBzYW5pdGl6YXRpb246IERvbVNhbml0aXplcixcclxuXHRcdHByaXZhdGUgdGFvc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZmlsZVNlcnZpY2U6IEZpbGVTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHQvLyBpdCByZXNvbHZlcyB3aGVuIHRoZSBodG1sIGlzIGNoYW5nZWRcclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRjb25zdCBsUGRmUmVxdWVzdDogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5sUGRmUmVxdWVzdDtcclxuXHRcdGNvbnN0IHVybEZpbGU6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMudXJsRmlsZTtcclxuXHRcdGlmIChsUGRmUmVxdWVzdCAmJiBsUGRmUmVxdWVzdC5jdXJyZW50VmFsdWUpIHtcclxuXHRcdFx0dGhpcy5nZW5lcmF0ZVBERigpO1xyXG5cdFx0fSBlbHNlIGlmICh1cmxGaWxlICYmIHVybEZpbGUuY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdHRoaXMudXJsRmlsZSA9IHVybEZpbGUuY3VycmVudFZhbHVlO1xyXG5cdFx0XHR0aGlzLmdlbmVyYXRlUERGKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnJlYWR5ID0gZmFsc2U7XHJcblx0XHRcdGlmICh0aGlzLnBkZkRvY3VtZW50ICYmIHRoaXMucGRmRG9jdW1lbnQuY2FudmFzKSB7XHJcblx0XHRcdFx0bGV0IGNhbnZhcyA9IHRoaXMucGRmRG9jdW1lbnQuY2FudmFzO1xyXG5cdFx0XHRcdHZhciBjdHggPSB0aGlzLnBkZkRvY3VtZW50LmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG5cdFx0XHRcdGN0eC5jbGVhclJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcclxuXHRcdFx0XHR0aGlzLnBkZkRvY3VtZW50ID0gdW5kZWZpbmVkO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZ2VuZXJhdGVzIHRoZSBwZGYgKi9cclxuXHRnZW5lcmF0ZVBERigpIHtcclxuXHRcdGlmIChVdGlsU3RyaW5nLmlzVmFsaWQodGhpcy51cmxGaWxlKSkge1xyXG5cdFx0XHR0aGlzLmNvbW1vblNlcnZpY2UuZ2V0QmFzZTY0UGRmQnlVcmwodGhpcy51cmxGaWxlKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5zaG93QmFzZTY0UGRmKHJlc3VsdCk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHRyeWluZyB0byByZW5kZXIgUERGJywgZXJyb3IpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5sUGRmUmVxdWVzdCkge1xyXG5cdFx0XHQvLyBpZiBodG1sIHdhcyBjaGFuZ2VkXHJcblx0XHRcdHRoaXMuY29tbW9uU2VydmljZS5nZXRCYXNlNjRQZGZMaXN0KHRoaXMubFBkZlJlcXVlc3QpLnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzdWx0KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dCYXNlNjRQZGYocmVzdWx0KTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5lcnJvcignRXJyb3IgdHJ5aW5nIHRvIHJlbmRlciBQREYnLCBlcnJvcik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2hvd0Jhc2U2NFBkZihyZXN1bHQpIHtcclxuXHRcdHRoaXMuYmFzZTY0ID0gcmVzdWx0LmJhc2U2NDtcclxuXHRcdHZhciBkYXRhID0gYXRvYih0aGlzLmJhc2U2NCk7XHJcblx0XHRQREZKUy53b3JrZXJTcmMgPSAnaHR0cHM6Ly9tb3ppbGxhLmdpdGh1Yi5pby9wZGYuanMvYnVpbGQvcGRmLndvcmtlci5qcyc7XHJcblx0XHQvLyBjcmVhdGUgaW5zdGFuY2Ugb2YgUGRmRG9jdW1lbnQgd2l0aCB0aGUgaWQgb2YgY2FudmFzXHJcblx0XHR0aGlzLnBkZkRvY3VtZW50ID0gbmV3IFBkZkRvY3VtZW50KHRoaXMuaWRfY2FudmFzKTtcclxuXHJcblx0XHQvLyBhc3NpZ24gdmFyaWFibGVzIG91dCBvZiBzY29wZVxyXG5cdFx0bGV0IHBkZmRvY3VtZW50OiBQZGZEb2N1bWVudCA9IHRoaXMucGRmRG9jdW1lbnQ7XHJcbiAgICBcclxuXHRcdHBhbnpvb20odGhpcy5wZGZEb2N1bWVudC5jYW52YXMsIHtcclxuXHRcdFx0c21vb3RoU2Nyb2xsOiBmYWxzZVxyXG5cdFx0fSk7XHJcblx0XHRsZXQgc2VsZiA9IHRoaXM7XHJcblx0XHRsZXQgcmVhZHkgPSB0aGlzLnJlYWR5O1xyXG5cdFx0UERGSlMuZ2V0RG9jdW1lbnQoeyBkYXRhOiBkYXRhIH0pLnRoZW4oIGFzeW5jIGZ1bmN0aW9uKHBkZkRvY18pIHtcclxuXHRcdFx0cGRmZG9jdW1lbnQucGRmRG9jID0gcGRmRG9jXztcclxuXHRcdFx0c2VsZi5yZW5kZXJQYWdlKDEpO1xyXG5cdFx0XHRyZWFkeSA9IHRydWU7XHJcblx0XHRcdHNlbGYub25QZGZSZW5kZXJlZC5lbWl0KHRydWUpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHR0ZXN0QmFzZTY0VG9GaWxlMigpIHtcclxuXHRcdC8vIGxldCBkYXRhdXJsID0gdGhpcy5iYXNlNjQ7XHJcblx0XHRsZXQgZmlsZU5hbWUgPSAnVGVzdE9QcmFkYTIucGRmJztcclxuXHRcdC8vIHZhciBhcnIgPSBkYXRhdXJsLnNwbGl0KCcsJyksIG1pbWUgPSBhcnJbMF0ubWF0Y2goLzooLio/KTsvKVsxXSxcclxuXHRcdHZhciBic3RyID0gYXRvYih0aGlzLmJhc2U2NCksXHJcblx0XHRcdG4gPSBic3RyLmxlbmd0aCxcclxuXHRcdFx0dThhcnIgPSBuZXcgVWludDhBcnJheShuKTtcclxuXHRcdHdoaWxlIChuLS0pIHtcclxuXHRcdFx0dThhcnJbbl0gPSBic3RyLmNoYXJDb2RlQXQobik7XHJcblx0XHR9XHJcblx0XHRsZXQgZmlsZVJldHVybiA9IG5ldyBGaWxlKFt1OGFycl0sIGZpbGVOYW1lLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pO1xyXG5cdFx0dGhpcy50ZXN0RW52aW9Eb2MoZmlsZVJldHVybiwgZmlsZU5hbWUpO1xyXG5cdH1cclxuXHJcblx0dGVzdEVudmlvRG9jKGZpbGVSZXR1cm46IGFueSwgZmlsZU5hbWU6IHN0cmluZykge1xyXG5cdFx0Y29uc3QgZmlsZVBhdGggPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFBhdGgoXHJcblx0XHRcdEVQcm9jZXNvLkNPTlZPQ0FUT1JJQSxcclxuXHRcdFx0NTAwLFxyXG5cdFx0XHQyLFxyXG5cdFx0XHQxLFxyXG5cdFx0XHQnYWFhYScsXHJcblx0XHRcdGZpbGVOYW1lXHJcblx0XHQpO1xyXG5cdFx0dGhpcy5maWxlU2VydmljZS51cGxvYWQoZmlsZVBhdGgsIGZpbGVSZXR1cm4pLnN1YnNjcmliZShcclxuXHRcdFx0KHVybCkgPT4ge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdGaW5hbGl6byBlbnbDrW8gZG9jdW1lbnRvJywgdXJsKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0KGVycm9yKSA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ0Vycm9yIHRyeWluZyB0byB1cGxvYWQ6ICcsIGVycm9yKTtcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBoZWlnaHQgICovXHJcblx0Z2V0SGVpZ2h0KCk6IHN0cmluZyB7XHJcblx0XHRpZiAodGhpcy5oZWlnaHQpIHJldHVybiB0aGlzLmhlaWdodCArICdweCc7XHJcblx0XHRyZXR1cm4gUGRmVmlzdWFsaXplckNvbXBvbmVudC5ERUZBVUxUX0hFSUdIVCArICdweCc7XHJcblx0fVxyXG5cclxuXHQvKiogR2V0IHBhZ2UgaW5mbyBmcm9tIGRvY3VtZW50LCByZXNpemUgY2FudmFzIGFjY29yZGluZ2x5LCBhbmQgcmVuZGVyIHBhZ2UuICovXHJcblx0cmVuZGVyUGFnZShudW0pIHtcclxuXHRcdHRoaXMucGRmRG9jdW1lbnQucGFnZVJlbmRlcmluZyA9IHRydWU7XHJcblx0XHQvLyBhc3NpZ24gdmFyaWFibGVzIG91dCBvZiBzY29wZVxyXG5cdFx0bGV0IHNlbGZQZGZEb2N1bWVudDogUGRmRG9jdW1lbnQgPSB0aGlzLnBkZkRvY3VtZW50O1xyXG5cdFx0bGV0IHNlbGYgPSB0aGlzO1xyXG5cdFx0Ly8gVXNpbmcgcHJvbWlzZSB0byBmZXRjaCB0aGUgcGFnZVxyXG5cdFx0dGhpcy5wZGZEb2N1bWVudC5wZGZEb2MuZ2V0UGFnZShudW0pLnRoZW4oZnVuY3Rpb24gKHBhZ2UpIHtcclxuXHRcdFx0dmFyIHZpZXdwb3J0ID0gcGFnZS5nZXRWaWV3cG9ydChzZWxmUGRmRG9jdW1lbnQuc2NhbGUpO1xyXG5cdFx0XHRzZWxmUGRmRG9jdW1lbnQuY2FudmFzLmhlaWdodCA9IHZpZXdwb3J0LmhlaWdodDtcclxuXHRcdFx0c2VsZlBkZkRvY3VtZW50LmNhbnZhcy53aWR0aCA9IHZpZXdwb3J0LndpZHRoO1xyXG5cclxuXHRcdFx0Ly8gUmVuZGVyIFBERiBwYWdlIGludG8gY2FudmFzIGNvbnRleHRcclxuXHRcdFx0dmFyIHJlbmRlckNvbnRleHQgPSB7XHJcblx0XHRcdFx0Y2FudmFzQ29udGV4dDogc2VsZlBkZkRvY3VtZW50LmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpLFxyXG5cdFx0XHRcdHZpZXdwb3J0OiB2aWV3cG9ydFxyXG5cdFx0XHR9O1xyXG5cdFx0XHR2YXIgcmVuZGVyVGFzayA9IHBhZ2UucmVuZGVyKHJlbmRlckNvbnRleHQpO1xyXG5cclxuXHRcdFx0Ly8gV2FpdCBmb3IgcmVuZGVyaW5nIHRvIGZpbmlzaFxyXG5cdFx0XHRyZW5kZXJUYXNrLnByb21pc2UudGhlbihmdW5jdGlvbiAoKSB7XHJcblx0XHRcdFx0c2VsZlBkZkRvY3VtZW50LnBhZ2VSZW5kZXJpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRpZiAoc2VsZlBkZkRvY3VtZW50LnBhZ2VOdW1QZW5kaW5nICE9PSBudWxsKSB7XHJcblx0XHRcdFx0XHQvLyBOZXcgcGFnZSByZW5kZXJpbmcgaXMgcGVuZGluZ1xyXG5cdFx0XHRcdFx0c2VsZi5yZW5kZXJQYWdlKHNlbGZQZGZEb2N1bWVudC5wYWdlTnVtUGVuZGluZyk7XHJcblx0XHRcdFx0XHRzZWxmUGRmRG9jdW1lbnQucGFnZU51bVBlbmRpbmcgPSBudWxsO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIElmIGFub3RoZXIgcGFnZSByZW5kZXJpbmcgaW4gcHJvZ3Jlc3MsIHdhaXRzIHVudGlsIHRoZSByZW5kZXJpbmcgaXNcclxuXHQgKiBmaW5pc2VkLiBPdGhlcndpc2UsIGV4ZWN1dGVzIHJlbmRlcmluZyBpbW1lZGlhdGVseS5cclxuXHQgKi9cclxuXHRxdWV1ZVJlbmRlclBhZ2UobnVtKSB7XHJcblx0XHRpZiAodGhpcy5wZGZEb2N1bWVudC5wYWdlUmVuZGVyaW5nKSB7XHJcblx0XHRcdHRoaXMucGRmRG9jdW1lbnQucGFnZU51bVBlbmRpbmcgPSBudW07XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnJlbmRlclBhZ2UobnVtKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERpc3BsYXlzIHByZXZpb3VzIHBhZ2UuXHJcblx0ICovXHJcblx0b25QcmV2UGFnZSgpIHtcclxuXHRcdGlmICghdGhpcy5wZGZEb2N1bWVudCB8fCB0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0gPD0gMSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0tLTtcclxuXHRcdHRoaXMucXVldWVSZW5kZXJQYWdlKHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEaXNwbGF5cyBuZXh0IHBhZ2UuXHJcblx0ICovXHJcblx0b25OZXh0UGFnZSgpIHtcclxuXHRcdGlmICghdGhpcy5wZGZEb2N1bWVudCB8fCB0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0gPj0gdGhpcy5wZGZEb2N1bWVudC5wZGZEb2MubnVtUGFnZXMpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtKys7XHJcblx0XHR0aGlzLnF1ZXVlUmVuZGVyUGFnZSh0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGlzcGxheXMgWm9vbSBJbi5cclxuXHQgKi9cclxuXHRvblpvb21JbigpIHtcclxuXHRcdGlmICghdGhpcy5wZGZEb2N1bWVudCB8fCB0aGlzLnBkZkRvY3VtZW50LnNjYWxlID49IDMpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wZGZEb2N1bWVudC5zY2FsZSA9IHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgKyAwLjI7XHJcblx0XHR0aGlzLnF1ZXVlUmVuZGVyUGFnZSh0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGlzcGxheXMgWm9vbSBPdXQuXHJcblx0ICovXHJcblx0b25ab29tT3V0KCkge1xyXG5cdFx0aWYgKCF0aGlzLnBkZkRvY3VtZW50IHx8IHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgPD0gMC40KSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgPSB0aGlzLnBkZkRvY3VtZW50LnNjYWxlIC0gMC4yO1xyXG5cdFx0dGhpcy5xdWV1ZVJlbmRlclBhZ2UodGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge31cclxuXHJcblx0LyoqIEl0IHNlbmRzIHRoZSBkb2N1bWVudCBieSBlbWFpbCAqL1xyXG5cdHNlbmRFbWFpbCgpIHtcclxuXHRcdGlmICh0aGlzLmVtYWlsICYmIFV0aWxTdHJpbmcudmFsaWRhdGVFbWFpbCh0aGlzLmVtYWlsKSkge1xyXG5cdFx0XHR0aGlzLm9uU2VuZEVtYWlsLmVtaXQoe1xyXG5cdFx0XHRcdHRvOiB0aGlzLmVtYWlsLFxyXG5cdFx0XHRcdGJhc2U2NDogdGhpcy5iYXNlNjRcclxuXHRcdFx0fSk7XHJcblx0XHRcdHRoaXMuZW1haWwgPSAnJztcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy50YW9zdHJTZXJ2aWNlLndhcm5pbmcoJ0NvcnJlbyBlbGVjdHLDs25pY28gZXMgaW5jb3JyZWN0bycpO1xyXG5cdH1cclxuXHJcblx0LyoqIEl0IGZpcmVzIHRoZSBldmVudCBkb3dubG9hZCAqL1xyXG5cdGRvd25sb2FkKCkge1xyXG5cdFx0Y29uc3QgY29udGVudFR5cGUgPSAnYXBwbGljYXRpb24vcGRmJztcclxuXHRcdGNvbnN0IGI2NERhdGEgPSB0aGlzLmJhc2U2NDtcclxuXHRcdGNvbnN0IGJsb2IgPSB0aGlzLmI2NHRvQmxvYihiNjREYXRhLCBjb250ZW50VHlwZSk7XHJcblx0XHRjb25zdCBibG9iVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuXHRcdHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG5cdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcclxuXHRcdGEuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuXHRcdGEuaHJlZiA9IGJsb2JVcmw7XHJcblx0XHRhLmRvd25sb2FkID0gdGhpcy5maWxlbmFtZTtcclxuXHRcdGEuY2xpY2soKTtcclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHR3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChibG9iVXJsKTtcclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcclxuXHRcdFx0dGhpcy5vbkRvd25sb2FkLmVtaXQoe1xyXG5cdFx0XHRcdGJhc2U2NDogdGhpcy5iYXNlNjRcclxuXHRcdFx0fSk7XHJcblx0XHR9LCAyMDApO1xyXG5cdH1cclxuXHJcblx0LyoqIEl0IGZpcmVzIHdoZW4gdGhlIGh0bWwgaXMgY2hhbmdlZCAqL1xyXG5cdC8vIGNoYW5nZSgpIHtcclxuXHQvLyBcdHRoaXMuZ2VuZXJhdGVQREYoKTtcclxuXHQvLyBcdHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLmh0bWwpO1xyXG5cdC8vIH1cclxuXHJcblx0LyoqIGl0IGFsbG93cyB0byBlZGl0ICovXHJcblx0dG9nZ2xlRWRpdCgpIHtcclxuXHRcdHRoaXMuZWRpdCA9ICF0aGlzLmVkaXQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIFBkZkRvY3VtZW50XHJcblx0ICovXHJcblx0aXNQZGZEb2N1bWVudCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLnBkZkRvY3VtZW50ICE9PSB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIFRpdGxlXHJcblx0ICovXHJcblx0aXNUaXRsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLnRpdGxlICE9PSB1bmRlZmluZWQ7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBpdCByZXR1cm5zIGlmIGlzIGlzUGRmRG9jXHJcblx0ICovXHJcblx0aXNQZGZEb2MoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gKFxyXG5cdFx0XHR0aGlzLnBkZkRvY3VtZW50ICYmXHJcblx0XHRcdHRoaXMucGRmRG9jdW1lbnQucGRmRG9jICE9IHVuZGVmaW5lZCAmJlxyXG5cdFx0XHR0aGlzLnBkZkRvY3VtZW50LnBkZkRvYyAhPSBudWxsXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogaXQgcmV0dXJucyBpZiBpcyBmaWxlbmFtZVxyXG5cdCAqL1xyXG5cdGlzRmlsZW5hbWUoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5maWxlbmFtZSAhPT0gdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogaXQgcmV0dXJucyBpZiBpcyBlbmFibGVFZGl0XHJcblx0ICovXHJcblx0aXNFbmFibGVFZGl0KCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZW5hYmxlRWRpdCA9PSB0cnVlO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogaXQgcmV0dXJucyBpZiBpcyBlZGl0XHJcblx0ICovXHJcblx0aXNFZGl0KCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZWRpdCA9PSB0cnVlO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogaXQgcmV0dXJucyBpZiBpcyBlbmFibGVFbWFpbFxyXG5cdCAqL1xyXG5cdGlzRW5hYmxlRW1haWwoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5lbmFibGVFbWFpbCA9PSB0cnVlO1xyXG5cdH1cclxuXHJcblx0YjY0dG9CbG9iKGI2NERhdGEsIGNvbnRlbnRUeXBlID0gJycsIHNsaWNlU2l6ZSA9IDUxMikge1xyXG5cdFx0Y29uc3QgYnl0ZUFycmF5cyA9IFtdO1xyXG5cdFx0Y29uc3QgYnl0ZUNoYXJhY3RlcnMgPSBhdG9iKGI2NERhdGEpO1xyXG5cdFx0Zm9yIChsZXQgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgYnl0ZUNoYXJhY3RlcnMubGVuZ3RoOyBvZmZzZXQgKz0gc2xpY2VTaXplKSB7XHJcblx0XHRcdGNvbnN0IHNsaWNlID0gYnl0ZUNoYXJhY3RlcnMuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBzbGljZVNpemUpO1xyXG5cdFx0XHRjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShzbGljZS5sZW5ndGgpO1xyXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHNsaWNlLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0Ynl0ZU51bWJlcnNbaV0gPSBzbGljZS5jaGFyQ29kZUF0KGkpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuXHRcdFx0Ynl0ZUFycmF5cy5wdXNoKGJ5dGVBcnJheSk7XHJcblx0XHR9XHJcblx0XHRjb25zdCBibG9iID0gbmV3IEJsb2IoYnl0ZUFycmF5cywgeyB0eXBlOiBjb250ZW50VHlwZSB9KTtcclxuXHRcdHJldHVybiBibG9iO1xyXG5cdH1cclxufVxyXG4iLCI8aDMgY2xhc3M9XCJwZGYtdmlzdWFsaXplci10aXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cclxuPGRpdiBjbGFzcz1cInBkZi12aXN1YWxpemVyLWNvbnRhaW5lclwiPlxyXG5cdDxkaXYgY2xhc3M9XCJwZGYtdmlzdWFsaXplci1jb250cm9sc1wiICpuZ0lmPVwiaXNQZGZEb2N1bWVudCgpID09PSB0cnVlXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtN1wiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhclwiIHJvbGU9XCJ0b29sYmFyXCIgYXJpYS1sYWJlbD1cIlRvb2xiYXIgd2l0aCBidXR0b24gZ3JvdXBzXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIGJ0bi1ncm91cC1zbSBtci0yXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIlNlY29uZCBncm91cFwiPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIHpvb20gaW4tLT5cclxuXHRcdFx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFx0XHRocmVmPVwiSmF2YXNjcmlwdDo7XCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkFjZXJjYXJcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uWm9vbUluKClcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1zZWFyY2gtcGx1c1wiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9hPlxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLSB6b29tIG91dC0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJKYXZhc2NyaXB0OjtcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiQWxlamFyXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJvblpvb21PdXQoKVwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLXNlYXJjaC1taW51c1wiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9hPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtc20gbXItMlwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJUaGlyZCBncm91cFwiPlxyXG5cdFx0XHRcdFx0XHQ8IS0tcHJldiAtLT5cclxuXHRcdFx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFx0XHRocmVmPVwiSmF2YXNjcmlwdDo7XCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJvblByZXZQYWdlKClcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiQW50ZXJpb3JcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1jaGV2cm9uLWxlZnRcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS0gcGFnaW5hdGlvbi0tPlxyXG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiAqbmdJZj1cImlzUGRmRG9jKCkgPT09IHRydWVcIj5cclxuXHRcdFx0XHRcdFx0XHRQw6FnaW5hOiB7eyBwZGZEb2N1bWVudC5wYWdlTnVtIH19IC8ge3sgcGRmRG9jdW1lbnQucGRmRG9jLm51bVBhZ2VzIH19XHJcblx0XHRcdFx0XHRcdDwvc3Bhbj5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS1uZXh0IC0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJKYXZhc2NyaXB0OjtcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uTmV4dFBhZ2UoKVwiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJTaWd1aWVudGVcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1jaGV2cm9uLXJpZ2h0XCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIGJ0bi1ncm91cC1zbVwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJGaXJzdCBncm91cFwiPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIGRvd25sb2FkLS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0W2Rvd25sb2FkXT1cImZpbGVuYW1lXCJcclxuXHRcdFx0XHRcdFx0XHQqbmdJZj1cImlzRmlsZW5hbWUoKSA9PT0gdHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cImRvd25sb2FkKClcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJEZXNjYXJnYXJcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSBbaHJlZl09XCJcclxuXHRcdFx0XHRcdFx0XHRzYW5pdGl6YXRpb24uYnlwYXNzU2VjdXJpdHlUcnVzdFVybChcclxuXHRcdFx0XHRcdFx0XHRcdCdkYXRhOmFwcGxpY2F0aW9uL3BkZjtiYXNlNjQsJyArIHRoaXMuYmFzZTY0XHJcblx0XHRcdFx0XHRcdFx0KVxyXG5cdFx0XHRcdFx0XHRcIiAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLWRvd25sb2FkXCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblxyXG5cdFx0XHRcdFx0XHQ8IS0tIHRvZ2dsZSBlZGl0LS1cclxuICAgICAgICAgICAgPGEgaHJlZj1cIkphdmFzY3JpcHQ6O1wiICpuZ0lmPVwiaXNFbmFibGVFZGl0KCkgPT09IHRydWVcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIiB0aXRsZT1cIkVkaXRhclwiXHJcbiAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIiAoY2xpY2spPVwidG9nZ2xlRWRpdCgpXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1lZGl0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICA8IS0tIGdlbmVyYXRlIHBkZi0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJKYXZhc2NyaXB0OjtcIlxyXG5cdFx0XHRcdFx0XHRcdCpuZ0lmPVwiaXNFZGl0KCkgPT09IHRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJHZW5lcmFyXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwiY2hhbmdlKClcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1wbGF5XCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTUgcHVsbC1yaWdodFwiICpuZ0lmPVwiaXNFbmFibGVFbWFpbCgpID09PSB0cnVlXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGlucHV0LWdyb3VwLXNtXCI+XHJcblx0XHRcdFx0XHQ8bGFiZWwgZm9yPVwicGRmLXZpc3VhbGl6ZXItZW1haWxcIiBjbGFzcz1cInBkZlwiPlxyXG5cdFx0XHRcdFx0XHRFbnZpYXIgbWVuc2FqZSBhXHJcblx0XHRcdFx0XHQ8L2xhYmVsPlxyXG5cdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdHR5cGU9XCJlbWFpbFwiXHJcblx0XHRcdFx0XHRcdGlkPVwicGRmLXZpc3VhbGl6ZXItZW1haWxcIlxyXG5cdFx0XHRcdFx0XHRuYW1lPVwicGRmLXZpc3VhbGl6ZXItZW1haWxcIlxyXG5cdFx0XHRcdFx0XHRyZXF1aXJlZD1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiQ29ycmVvIGVsZWN0csOzbmljb1wiXHJcblx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwiZW1haWxcIlxyXG5cdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cclxuXHRcdFx0XHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiXHJcblx0XHRcdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cInNlbmRFbWFpbCgpXCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkVudmlhclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0XHQ8aW1nXHJcblx0XHRcdFx0XHRcdFx0XHRzcmM9XCJodHRwOi8vZ2lybzM2MC5jby96b25hMzYwL2NvbGZ1dHVyby9QTElDL2ltZy9leHBvcnQuc3ZnXCJcclxuXHRcdFx0XHRcdFx0XHRcdGFsdD1cIlwiXHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aD1cIjE2XCJcclxuXHRcdFx0XHRcdFx0XHQvPlxyXG5cdFx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItZGFzaGJvYXJkXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNVwiICpuZ0lmPVwiaXNFZGl0KCkgPT09IHRydWVcIj5cclxuXHRcdFx0XHQ8dGV4dGFyZWFcclxuXHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFtzdHlsZS5oZWlnaHRdPVwiZ2V0SGVpZ2h0KClcIlxyXG5cdFx0XHRcdFx0c3R5bGU9XCJyZXNpemU6dmVydGljYWw7XCJcclxuXHRcdFx0XHRcdFsobmdNb2RlbCldPVwiaHRtbFwiXHJcblx0XHRcdFx0PjwvdGV4dGFyZWE+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvbC1tZC03JzogZWRpdCA9PT0gdHJ1ZSwgJ2NvbC1tZC0xMic6ICFlZGl0IH1cIj5cclxuXHRcdFx0XHQ8ZGl2XHJcblx0XHRcdFx0XHRpZD1cInBkZi1zY3JvbGxhYmxlXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItc2Nyb2xsYWJsZVwiXHJcblx0XHRcdFx0XHRbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8Y2FudmFzIGlkPVwicGRmLWNhbnZhc1wiIGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItY2FudmFzXCI+IDwvY2FudmFzPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL3BkZi12aXN1YWxpemVyL3BkZi12aXN1YWxpemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlzdWFsaXplci9wZGYtdmlzdWFsaXplci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUlULEtBQUssRUFFTCxZQUFZLEVBRVosTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE1BQU0sc0JBQXNCLENBQUM7QUFFL0MsT0FBTyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQUs1RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7QUFDckIsNEJBQTRCO0FBTzVCLE1BQU0sT0FBTyxzQkFBc0I7SUF5RWxDLFlBQ1csYUFBNEIsRUFDL0IsWUFBMEIsRUFDekIsYUFBNEIsRUFDNUIsV0FBd0I7UUFIdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFwRGpDLGlCQUFpQjtRQUNSLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDbkMsb0JBQW9CO1FBQ1gsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDdEMsbUJBQW1CO1FBQ1YsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFvQjVCLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVB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aEIsc0JBQXNCO3VHQUF0QixzQkFBc0Isc3VCQzVCbkMseXdMQWlLQTsyRkRySWEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNDLG9CQUFvQjtxTEFRckIsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUUsT0FBTztzQkFBZixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxRQUFRO3NCQUFqQixNQUFNO2dCQUdHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdENvbXBvbmVudCxcclxuXHRPbkluaXQsXHJcblx0T25DaGFuZ2VzLFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0SW5wdXQsXHJcblx0U2ltcGxlQ2hhbmdlLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgUERGSlNfIGZyb20gJ3BkZmpzLWRpc3QvYnVpbGQvcGRmJztcclxuXHJcbmltcG9ydCBwYW56b29tIGZyb20gJ3Bhbnpvb20vZGlzdC9wYW56b29tJztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGRmRG9jdW1lbnQsIFV0aWxTdHJpbmcsIEVQcm9jZXNvLCBSZXF1ZXN0UGRmIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgeyBGaWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5jb25zdCBQREZKUyA9IFBERkpTXztcclxuLy8gY29uc3QgcGFuem9vbSA9IHBhbnpvb21fO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdwbGktcGRmLXZpc3VhbGl6ZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlzdWFsaXplci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGRmLXZpc3VhbGl6ZXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZGZWaXN1YWxpemVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cdHN0YXRpYyBERUZBVUxUX0hFSUdIVCA9IDUwMDtcclxuXHJcbiAgLyoqIFBkZnMgdG8gYmUgZ2VuZXJhdGVkIGFuZCBtZXJnZWQgKi9cclxuXHRASW5wdXQoKSBsUGRmUmVxdWVzdDogUmVxdWVzdFBkZltdO1xyXG5cdC8qKiB0ZXh0IGh0bWwgd2lsbCBiZWNvbWUgcGRmICovXHJcblx0QElucHV0KCkgaHRtbDogc3RyaW5nO1xyXG5cdC8qKiB0ZXh0IGhlYWRlciB3aWxsIGJlY29tZSBwZGYgKi9cclxuXHRASW5wdXQoKSBoZWFkZXI6IHN0cmluZztcclxuXHQvKiogdGV4dCBmb290ZXIgd2lsbCBiZWNvbWUgcGRmICovXHJcblx0QElucHV0KCkgZm9vdGVyOiBzdHJpbmc7XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBtYXJnaW5Ub3Agd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwZGYgKi9cclxuXHRASW5wdXQoKSBtYXJnaW5Ub3A6IG51bWJlcjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG1hcmdpblJpZ2h0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcGRmICovXHJcblx0QElucHV0KCkgbWFyZ2luUmlnaHQ6IG51bWJlcjtcclxuXHQvKiogaXQgY29udGFpbnMgdGhlIG1hcmdpbkJvdHRvbSB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIG1hcmdpbkJvdHRvbTogbnVtYmVyO1xyXG5cdC8qKiBpdCBjb250YWlucyB0aGUgbWFyZ2luTGVmdCB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIG1hcmdpbkxlZnQ6IG51bWJlcjtcclxuXHQvKiogSXQgY29udGFpbnMgdGhlIGZvbnQgb2YgdGhlIGh0bWwgKi9cclxuXHRASW5wdXQoKSBmb250OiBzdHJpbmc7XHJcblx0LyoqIEl0IGNvbnRhaW5zIHRoZSBwZGYgb3JpZW50YXRpb24gKi9cclxuXHRASW5wdXQoKSBvcmllbnRhdGlvbjogbnVtYmVyO1xyXG5cdC8qKiBJdCBjb250YWlucyB0aGUgcGRmIHNpemUgKi9cclxuXHRASW5wdXQoKSBzaXplOiBudW1iZXI7XHJcblx0LyoqIHNob3cgcGFnZXIgKi9cclxuXHRASW5wdXQoKSBzaG93UGFnZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKiByZXBlYXQgaGVhZGVyICovXHJcblx0QElucHV0KCkgcmVwZWF0SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogcmVwZWF0IGZvb3RlciovXHJcblx0QElucHV0KCkgcmVwZWF0Rm9vdGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKiogSGVhZGVyIGhlaWdodCAqL1xyXG5cdEBJbnB1dCgpIGhlYWRlckhlaWdodDogbnVtYmVyO1xyXG5cdC8qKiBGb290ZXIgaGVpZ2h0ICovXHJcblx0QElucHV0KCkgZm9vdGVySGVpZ2h0OiBudW1iZXI7XHJcblxyXG5cdC8qKiBJdCB2ZXJpZmllcyBpZiBpcyBwb3NzaWJsZSB0byBlZGl0IGh0bWwgKi9cclxuXHRASW5wdXQoKSBlbmFibGVFZGl0OiBib29sZWFuO1xyXG5cdC8qKiB0aXRsZSBvZiB0aGUgcGRmICovXHJcblx0QElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHQvKiogdGhlIGhlaWdodCBvZiB0aGUgcGRmIGNhbnZhcyAqL1xyXG5cdEBJbnB1dCgpIGhlaWdodDogbnVtYmVyO1xyXG5cdC8qKiBUaGUgZmlsZW5hbWUgb2YgdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIGZpbGVuYW1lOiBzdHJpbmc7XHJcblx0LyoqIEl0IHZlcmlmaWVzIGlmIGl0IGFsbG93cyB0byBzZW5kIHRoZSBlbWFpbCAqL1xyXG5cdEBJbnB1dCgpIGVuYWJsZUVtYWlsOiBib29sZWFuO1xyXG5cdC8qKiBJdCBmaXJlcyB3aGVuIHRoZSBmaWxlIGhhcyBiZWVuIGRvd25sb2FkZWQgKi9cclxuICBASW5wdXQoKSBsYW5nOiBzdHJpbmc7XHJcblx0LyoqIFRoZSB1cmwgb2YgdGhlIHBkZiAqL1xyXG5cdEBJbnB1dCgpIHVybEZpbGU6IHN0cmluZztcclxuXHRAT3V0cHV0KCkgb25Eb3dubG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgbmFtZSBoYXMgYmVlbiBzZW50ICovXHJcblx0QE91dHB1dCgpIG9uU2VuZEVtYWlsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdC8qKiBJdCBmaXJlcyB3aGVuIHRoZSBodG1sIGhhcyBiZWVuIG1vZGlmaWVkICovXHJcblx0QE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cdC8qKiBJdCBjb250YWlucyB0aGUgbGFuZyBvZiB0aGUgcGRmICovXHJcbiAgXHQvKiogSXQgZmlyZXMgd2hlbiB0aGUgbmFtZSBoYXMgYmVlbiBzZW50ICovXHJcblx0QE91dHB1dCgpIG9uUGRmUmVuZGVyZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cclxuXHRlbWFpbDogc3RyaW5nO1xyXG5cclxuXHQvKiogYmFzZTY0IGFzIHJlc3VsdCBvZiBodG1sIDIgcGRmICovXHJcblx0YmFzZTY0OiBzdHJpbmc7IC8vIFRPRE8gLSBDaGVjayBmdW5jdGlvbmFsaXR5XHJcblx0LyoqIEl0IGFsbG93cyB0byBlZGl0IGh0bWwgKi9cclxuICBlZGl0OiBib29sZWFuID0gZmFsc2U7XHJcblx0LyoqIGl0IHZlcmlmaWVzIGlmIGNvbXBvbmVudCBpcyByZWFkeSAqL1xyXG5cdHJlYWR5OiBib29sZWFuID0gZmFsc2U7XHJcblx0LyoqIEl0IGNvbnRpbmFzIHRoZSBhYnN0cmFjdGlvbiBvZiBwZGYgZG9jdW1lbnQgKi9cclxuXHRwZGZEb2N1bWVudDogUGRmRG9jdW1lbnQ7XHJcblx0LyoqIGl0IGNvbnRhaW5zIHRoZSBpZCBvZiBjYW52YXMgKi9cclxuXHRpZF9jYW52YXM6IHN0cmluZyA9ICdwZGYtY2FudmFzJztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuXHRcdHB1YmxpYyBzYW5pdGl6YXRpb246IERvbVNhbml0aXplcixcclxuXHRcdHByaXZhdGUgdGFvc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZmlsZVNlcnZpY2U6IEZpbGVTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHQvLyBpdCByZXNvbHZlcyB3aGVuIHRoZSBodG1sIGlzIGNoYW5nZWRcclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRjb25zdCBsUGRmUmVxdWVzdDogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5sUGRmUmVxdWVzdDtcclxuXHRcdGNvbnN0IHVybEZpbGU6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMudXJsRmlsZTtcclxuXHRcdGlmIChsUGRmUmVxdWVzdCAmJiBsUGRmUmVxdWVzdC5jdXJyZW50VmFsdWUpIHtcclxuXHRcdFx0dGhpcy5nZW5lcmF0ZVBERigpO1xyXG5cdFx0fSBlbHNlIGlmICh1cmxGaWxlICYmIHVybEZpbGUuY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdHRoaXMudXJsRmlsZSA9IHVybEZpbGUuY3VycmVudFZhbHVlO1xyXG5cdFx0XHR0aGlzLmdlbmVyYXRlUERGKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnJlYWR5ID0gZmFsc2U7XHJcblx0XHRcdGlmICh0aGlzLnBkZkRvY3VtZW50ICYmIHRoaXMucGRmRG9jdW1lbnQuY2FudmFzKSB7XHJcblx0XHRcdFx0bGV0IGNhbnZhcyA9IHRoaXMucGRmRG9jdW1lbnQuY2FudmFzO1xyXG5cdFx0XHRcdHZhciBjdHggPSB0aGlzLnBkZkRvY3VtZW50LmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG5cdFx0XHRcdGN0eC5jbGVhclJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcclxuXHRcdFx0XHR0aGlzLnBkZkRvY3VtZW50ID0gdW5kZWZpbmVkO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZ2VuZXJhdGVzIHRoZSBwZGYgKi9cclxuXHRnZW5lcmF0ZVBERigpIHtcclxuXHRcdGlmIChVdGlsU3RyaW5nLmlzVmFsaWQodGhpcy51cmxGaWxlKSkge1xyXG5cdFx0XHR0aGlzLmNvbW1vblNlcnZpY2UuZ2V0QmFzZTY0UGRmQnlVcmwodGhpcy51cmxGaWxlKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5zaG93QmFzZTY0UGRmKHJlc3VsdCk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHRyeWluZyB0byByZW5kZXIgUERGJywgZXJyb3IpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5sUGRmUmVxdWVzdCkge1xyXG5cdFx0XHQvLyBpZiBodG1sIHdhcyBjaGFuZ2VkXHJcblx0XHRcdHRoaXMuY29tbW9uU2VydmljZS5nZXRCYXNlNjRQZGZMaXN0KHRoaXMubFBkZlJlcXVlc3QpLnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzdWx0KSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dCYXNlNjRQZGYocmVzdWx0KTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5lcnJvcignRXJyb3IgdHJ5aW5nIHRvIHJlbmRlciBQREYnLCBlcnJvcik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2hvd0Jhc2U2NFBkZihyZXN1bHQpIHtcclxuXHRcdHRoaXMuYmFzZTY0ID0gcmVzdWx0LmJhc2U2NDtcclxuXHRcdHZhciBkYXRhID0gYXRvYih0aGlzLmJhc2U2NCk7XHJcblx0XHRQREZKUy53b3JrZXJTcmMgPSAnaHR0cHM6Ly9tb3ppbGxhLmdpdGh1Yi5pby9wZGYuanMvYnVpbGQvcGRmLndvcmtlci5qcyc7XHJcblx0XHQvLyBjcmVhdGUgaW5zdGFuY2Ugb2YgUGRmRG9jdW1lbnQgd2l0aCB0aGUgaWQgb2YgY2FudmFzXHJcbiAgICBpZiAoUERGSlMuR2xvYmFsV29ya2VyT3B0aW9ucylcclxuXHRcdFx0UERGSlMuR2xvYmFsV29ya2VyT3B0aW9ucy53b3JrZXJTcmMgPVxyXG5cdFx0XHRcdCdodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9wZGYuanMvMi4yLjIyOC9wZGYud29ya2VyLmpzJztcclxuXHRcdHRoaXMucGRmRG9jdW1lbnQgPSBuZXcgUGRmRG9jdW1lbnQodGhpcy5pZF9jYW52YXMpO1xyXG5cclxuXHRcdC8vIGFzc2lnbiB2YXJpYWJsZXMgb3V0IG9mIHNjb3BlXHJcblx0XHRsZXQgcGRmZG9jdW1lbnQ6IFBkZkRvY3VtZW50ID0gdGhpcy5wZGZEb2N1bWVudDtcclxuXHJcblx0XHRwYW56b29tKHRoaXMucGRmRG9jdW1lbnQuY2FudmFzLCB7XHJcblx0XHRcdHNtb290aFNjcm9sbDogZmFsc2VcclxuXHRcdH0pO1xyXG5cdFx0bGV0IHNlbGYgPSB0aGlzO1xyXG5cdFx0bGV0IHJlYWR5ID0gdGhpcy5yZWFkeTtcclxuXHRcdFBERkpTLmdldERvY3VtZW50KHsgZGF0YTogZGF0YSB9KS50aGVuKCBhc3luYyBmdW5jdGlvbihwZGZEb2NfKSB7XHJcblx0XHRcdHBkZmRvY3VtZW50LnBkZkRvYyA9IHBkZkRvY187XHJcblx0XHRcdHNlbGYucmVuZGVyUGFnZSgxKTtcclxuXHRcdFx0cmVhZHkgPSB0cnVlO1xyXG5cdFx0XHRzZWxmLm9uUGRmUmVuZGVyZWQuZW1pdCh0cnVlKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0dGVzdEJhc2U2NFRvRmlsZTIoKSB7XHJcblx0XHQvLyBsZXQgZGF0YXVybCA9IHRoaXMuYmFzZTY0O1xyXG5cdFx0bGV0IGZpbGVOYW1lID0gJ1Rlc3RPUHJhZGEyLnBkZic7XHJcblx0XHQvLyB2YXIgYXJyID0gZGF0YXVybC5zcGxpdCgnLCcpLCBtaW1lID0gYXJyWzBdLm1hdGNoKC86KC4qPyk7LylbMV0sXHJcblx0XHR2YXIgYnN0ciA9IGF0b2IodGhpcy5iYXNlNjQpLFxyXG5cdFx0XHRuID0gYnN0ci5sZW5ndGgsXHJcblx0XHRcdHU4YXJyID0gbmV3IFVpbnQ4QXJyYXkobik7XHJcblx0XHR3aGlsZSAobi0tKSB7XHJcblx0XHRcdHU4YXJyW25dID0gYnN0ci5jaGFyQ29kZUF0KG4pO1xyXG5cdFx0fVxyXG5cdFx0bGV0IGZpbGVSZXR1cm4gPSBuZXcgRmlsZShbdThhcnJdLCBmaWxlTmFtZSwgeyB0eXBlOiAnYXBwbGljYXRpb24vcGRmJyB9KTtcclxuXHRcdHRoaXMudGVzdEVudmlvRG9jKGZpbGVSZXR1cm4sIGZpbGVOYW1lKTtcclxuXHR9XHJcblxyXG5cdHRlc3RFbnZpb0RvYyhmaWxlUmV0dXJuOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuXHRcdGNvbnN0IGZpbGVQYXRoID0gdGhpcy5maWxlU2VydmljZS5nZXRQYXRoKFxyXG5cdFx0XHRFUHJvY2Vzby5DT05WT0NBVE9SSUEsXHJcblx0XHRcdDUwMCxcclxuXHRcdFx0MixcclxuXHRcdFx0MSxcclxuXHRcdFx0J2FhYWEnLFxyXG5cdFx0XHRmaWxlTmFtZVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuZmlsZVNlcnZpY2UudXBsb2FkKGZpbGVQYXRoLCBmaWxlUmV0dXJuKS5zdWJzY3JpYmUoXHJcblx0XHRcdCh1cmwpID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnRmluYWxpem8gZW52w61vIGRvY3VtZW50bycsIHVybCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdFcnJvciB0cnlpbmcgdG8gdXBsb2FkOiAnLCBlcnJvcik7XHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgaGVpZ2h0ICAqL1xyXG5cdGdldEhlaWdodCgpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMuaGVpZ2h0KSByZXR1cm4gdGhpcy5oZWlnaHQgKyAncHgnO1xyXG5cdFx0cmV0dXJuIFBkZlZpc3VhbGl6ZXJDb21wb25lbnQuREVGQVVMVF9IRUlHSFQgKyAncHgnO1xyXG5cdH1cclxuXHJcblx0LyoqIEdldCBwYWdlIGluZm8gZnJvbSBkb2N1bWVudCwgcmVzaXplIGNhbnZhcyBhY2NvcmRpbmdseSwgYW5kIHJlbmRlciBwYWdlLiAqL1xyXG5cdHJlbmRlclBhZ2UobnVtKSB7XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnBhZ2VSZW5kZXJpbmcgPSB0cnVlO1xyXG5cdFx0Ly8gYXNzaWduIHZhcmlhYmxlcyBvdXQgb2Ygc2NvcGVcclxuXHRcdGxldCBzZWxmUGRmRG9jdW1lbnQ6IFBkZkRvY3VtZW50ID0gdGhpcy5wZGZEb2N1bWVudDtcclxuXHRcdGxldCBzZWxmID0gdGhpcztcclxuXHRcdC8vIFVzaW5nIHByb21pc2UgdG8gZmV0Y2ggdGhlIHBhZ2VcclxuXHRcdHRoaXMucGRmRG9jdW1lbnQucGRmRG9jLmdldFBhZ2UobnVtKS50aGVuKGZ1bmN0aW9uIChwYWdlKSB7XHJcblx0XHRcdHZhciB2aWV3cG9ydCA9IHBhZ2UuZ2V0Vmlld3BvcnQoc2VsZlBkZkRvY3VtZW50LnNjYWxlKTtcclxuXHRcdFx0c2VsZlBkZkRvY3VtZW50LmNhbnZhcy5oZWlnaHQgPSB2aWV3cG9ydC5oZWlnaHQ7XHJcblx0XHRcdHNlbGZQZGZEb2N1bWVudC5jYW52YXMud2lkdGggPSB2aWV3cG9ydC53aWR0aDtcclxuXHJcblx0XHRcdC8vIFJlbmRlciBQREYgcGFnZSBpbnRvIGNhbnZhcyBjb250ZXh0XHJcblx0XHRcdHZhciByZW5kZXJDb250ZXh0ID0ge1xyXG5cdFx0XHRcdGNhbnZhc0NvbnRleHQ6IHNlbGZQZGZEb2N1bWVudC5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKSxcclxuXHRcdFx0XHR2aWV3cG9ydDogdmlld3BvcnRcclxuXHRcdFx0fTtcclxuXHRcdFx0dmFyIHJlbmRlclRhc2sgPSBwYWdlLnJlbmRlcihyZW5kZXJDb250ZXh0KTtcclxuXHJcblx0XHRcdC8vIFdhaXQgZm9yIHJlbmRlcmluZyB0byBmaW5pc2hcclxuXHRcdFx0cmVuZGVyVGFzay5wcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRcdHNlbGZQZGZEb2N1bWVudC5wYWdlUmVuZGVyaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0aWYgKHNlbGZQZGZEb2N1bWVudC5wYWdlTnVtUGVuZGluZyAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0Ly8gTmV3IHBhZ2UgcmVuZGVyaW5nIGlzIHBlbmRpbmdcclxuXHRcdFx0XHRcdHNlbGYucmVuZGVyUGFnZShzZWxmUGRmRG9jdW1lbnQucGFnZU51bVBlbmRpbmcpO1xyXG5cdFx0XHRcdFx0c2VsZlBkZkRvY3VtZW50LnBhZ2VOdW1QZW5kaW5nID0gbnVsbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJZiBhbm90aGVyIHBhZ2UgcmVuZGVyaW5nIGluIHByb2dyZXNzLCB3YWl0cyB1bnRpbCB0aGUgcmVuZGVyaW5nIGlzXHJcblx0ICogZmluaXNlZC4gT3RoZXJ3aXNlLCBleGVjdXRlcyByZW5kZXJpbmcgaW1tZWRpYXRlbHkuXHJcblx0ICovXHJcblx0cXVldWVSZW5kZXJQYWdlKG51bSkge1xyXG5cdFx0aWYgKHRoaXMucGRmRG9jdW1lbnQucGFnZVJlbmRlcmluZykge1xyXG5cdFx0XHR0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW1QZW5kaW5nID0gbnVtO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5yZW5kZXJQYWdlKG51bSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEaXNwbGF5cyBwcmV2aW91cyBwYWdlLlxyXG5cdCAqL1xyXG5cdG9uUHJldlBhZ2UoKSB7XHJcblx0XHRpZiAoIXRoaXMucGRmRG9jdW1lbnQgfHwgdGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtIDw9IDEpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtLS07XHJcblx0XHR0aGlzLnF1ZXVlUmVuZGVyUGFnZSh0aGlzLnBkZkRvY3VtZW50LnBhZ2VOdW0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRGlzcGxheXMgbmV4dCBwYWdlLlxyXG5cdCAqL1xyXG5cdG9uTmV4dFBhZ2UoKSB7XHJcblx0XHRpZiAoIXRoaXMucGRmRG9jdW1lbnQgfHwgdGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtID49IHRoaXMucGRmRG9jdW1lbnQucGRmRG9jLm51bVBhZ2VzKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSsrO1xyXG5cdFx0dGhpcy5xdWV1ZVJlbmRlclBhZ2UodGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERpc3BsYXlzIFpvb20gSW4uXHJcblx0ICovXHJcblx0b25ab29tSW4oKSB7XHJcblx0XHRpZiAoIXRoaXMucGRmRG9jdW1lbnQgfHwgdGhpcy5wZGZEb2N1bWVudC5zY2FsZSA+PSAzKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMucGRmRG9jdW1lbnQuc2NhbGUgPSB0aGlzLnBkZkRvY3VtZW50LnNjYWxlICsgMC4yO1xyXG5cdFx0dGhpcy5xdWV1ZVJlbmRlclBhZ2UodGhpcy5wZGZEb2N1bWVudC5wYWdlTnVtKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIERpc3BsYXlzIFpvb20gT3V0LlxyXG5cdCAqL1xyXG5cdG9uWm9vbU91dCgpIHtcclxuXHRcdGlmICghdGhpcy5wZGZEb2N1bWVudCB8fCB0aGlzLnBkZkRvY3VtZW50LnNjYWxlIDw9IDAuNCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBkZkRvY3VtZW50LnNjYWxlID0gdGhpcy5wZGZEb2N1bWVudC5zY2FsZSAtIDAuMjtcclxuXHRcdHRoaXMucXVldWVSZW5kZXJQYWdlKHRoaXMucGRmRG9jdW1lbnQucGFnZU51bSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHt9XHJcblxyXG5cdC8qKiBJdCBzZW5kcyB0aGUgZG9jdW1lbnQgYnkgZW1haWwgKi9cclxuXHRzZW5kRW1haWwoKSB7XHJcblx0XHRpZiAodGhpcy5lbWFpbCAmJiBVdGlsU3RyaW5nLnZhbGlkYXRlRW1haWwodGhpcy5lbWFpbCkpIHtcclxuXHRcdFx0dGhpcy5vblNlbmRFbWFpbC5lbWl0KHtcclxuXHRcdFx0XHR0bzogdGhpcy5lbWFpbCxcclxuXHRcdFx0XHRiYXNlNjQ6IHRoaXMuYmFzZTY0XHJcblx0XHRcdH0pO1xyXG5cdFx0XHR0aGlzLmVtYWlsID0gJyc7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMudGFvc3RyU2VydmljZS53YXJuaW5nKCdDb3JyZW8gZWxlY3Ryw7NuaWNvIGVzIGluY29ycmVjdG8nKTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCBmaXJlcyB0aGUgZXZlbnQgZG93bmxvYWQgKi9cclxuXHRkb3dubG9hZCgpIHtcclxuXHRcdGNvbnN0IGNvbnRlbnRUeXBlID0gJ2FwcGxpY2F0aW9uL3BkZic7XHJcblx0XHRjb25zdCBiNjREYXRhID0gdGhpcy5iYXNlNjQ7XHJcblx0XHRjb25zdCBibG9iID0gdGhpcy5iNjR0b0Jsb2IoYjY0RGF0YSwgY29udGVudFR5cGUpO1xyXG5cdFx0Y29uc3QgYmxvYlVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcblx0XHR2YXIgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuXHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XHJcblx0XHRhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcblx0XHRhLmhyZWYgPSBibG9iVXJsO1xyXG5cdFx0YS5kb3dubG9hZCA9IHRoaXMuZmlsZW5hbWU7XHJcblx0XHRhLmNsaWNrKCk7XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0d2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwoYmxvYlVybCk7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcblx0XHRcdHRoaXMub25Eb3dubG9hZC5lbWl0KHtcclxuXHRcdFx0XHRiYXNlNjQ6IHRoaXMuYmFzZTY0XHJcblx0XHRcdH0pO1xyXG5cdFx0fSwgMjAwKTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCBmaXJlcyB3aGVuIHRoZSBodG1sIGlzIGNoYW5nZWQgKi9cclxuXHQvLyBjaGFuZ2UoKSB7XHJcblx0Ly8gXHR0aGlzLmdlbmVyYXRlUERGKCk7XHJcblx0Ly8gXHR0aGlzLm9uQ2hhbmdlLmVtaXQodGhpcy5odG1sKTtcclxuXHQvLyB9XHJcblxyXG5cdC8qKiBpdCBhbGxvd3MgdG8gZWRpdCAqL1xyXG5cdHRvZ2dsZUVkaXQoKSB7XHJcblx0XHR0aGlzLmVkaXQgPSAhdGhpcy5lZGl0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogaXQgcmV0dXJucyBpZiBpcyBQZGZEb2N1bWVudFxyXG5cdCAqL1xyXG5cdGlzUGRmRG9jdW1lbnQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5wZGZEb2N1bWVudCAhPT0gdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogaXQgcmV0dXJucyBpZiBpcyBUaXRsZVxyXG5cdCAqL1xyXG5cdGlzVGl0bGUoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy50aXRsZSAhPT0gdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogaXQgcmV0dXJucyBpZiBpcyBpc1BkZkRvY1xyXG5cdCAqL1xyXG5cdGlzUGRmRG9jKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIChcclxuXHRcdFx0dGhpcy5wZGZEb2N1bWVudCAmJlxyXG5cdFx0XHR0aGlzLnBkZkRvY3VtZW50LnBkZkRvYyAhPSB1bmRlZmluZWQgJiZcclxuXHRcdFx0dGhpcy5wZGZEb2N1bWVudC5wZGZEb2MgIT0gbnVsbFxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgZmlsZW5hbWVcclxuXHQgKi9cclxuXHRpc0ZpbGVuYW1lKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZmlsZW5hbWUgIT09IHVuZGVmaW5lZDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgZW5hYmxlRWRpdFxyXG5cdCAqL1xyXG5cdGlzRW5hYmxlRWRpdCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmVuYWJsZUVkaXQgPT0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgZWRpdFxyXG5cdCAqL1xyXG5cdGlzRWRpdCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmVkaXQgPT0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0IHJldHVybnMgaWYgaXMgZW5hYmxlRW1haWxcclxuXHQgKi9cclxuXHRpc0VuYWJsZUVtYWlsKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZW5hYmxlRW1haWwgPT0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdGI2NHRvQmxvYihiNjREYXRhLCBjb250ZW50VHlwZSA9ICcnLCBzbGljZVNpemUgPSA1MTIpIHtcclxuXHRcdGNvbnN0IGJ5dGVBcnJheXMgPSBbXTtcclxuXHRcdGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiNjREYXRhKTtcclxuXHRcdGZvciAobGV0IG9mZnNldCA9IDA7IG9mZnNldCA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgb2Zmc2V0ICs9IHNsaWNlU2l6ZSkge1xyXG5cdFx0XHRjb25zdCBzbGljZSA9IGJ5dGVDaGFyYWN0ZXJzLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgc2xpY2VTaXplKTtcclxuXHRcdFx0Y29uc3QgYnl0ZU51bWJlcnMgPSBuZXcgQXJyYXkoc2xpY2UubGVuZ3RoKTtcclxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZS5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdGJ5dGVOdW1iZXJzW2ldID0gc2xpY2UuY2hhckNvZGVBdChpKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XHJcblx0XHRcdGJ5dGVBcnJheXMucHVzaChieXRlQXJyYXkpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgYmxvYiA9IG5ldyBCbG9iKGJ5dGVBcnJheXMsIHsgdHlwZTogY29udGVudFR5cGUgfSk7XHJcblx0XHRyZXR1cm4gYmxvYjtcclxuXHR9XHJcbn1cclxuIiwiPGgzIGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItdGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XHJcbjxkaXYgY2xhc3M9XCJwZGYtdmlzdWFsaXplci1jb250YWluZXJcIj5cclxuXHQ8ZGl2IGNsYXNzPVwicGRmLXZpc3VhbGl6ZXItY29udHJvbHNcIiAqbmdJZj1cImlzUGRmRG9jdW1lbnQoKSA9PT0gdHJ1ZVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTdcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLXRvb2xiYXJcIiByb2xlPVwidG9vbGJhclwiIGFyaWEtbGFiZWw9XCJUb29sYmFyIHdpdGggYnV0dG9uIGdyb3Vwc1wiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtc20gbXItMlwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJTZWNvbmQgZ3JvdXBcIj5cclxuXHRcdFx0XHRcdFx0PCEtLSB6b29tIGluLS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJBY2VyY2FyXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJvblpvb21JbigpXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtc2VhcmNoLXBsdXNcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS0gem9vbSBvdXQtLT5cclxuXHRcdFx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFx0XHRocmVmPVwiSmF2YXNjcmlwdDo7XCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkFsZWphclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25ab29tT3V0KClcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1zZWFyY2gtbWludXNcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLXNtIG1yLTJcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiVGhpcmQgZ3JvdXBcIj5cclxuXHRcdFx0XHRcdFx0PCEtLXByZXYgLS0+XHJcblx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0aHJlZj1cIkphdmFzY3JpcHQ6O1wiXHJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25QcmV2UGFnZSgpXCJcclxuXHRcdFx0XHRcdFx0XHR0aXRsZT1cIkFudGVyaW9yXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1sZWZ0XCI+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2E+XHJcblxyXG5cdFx0XHRcdFx0XHQ8IS0tIHBhZ2luYXRpb24tLT5cclxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgKm5nSWY9XCJpc1BkZkRvYygpID09PSB0cnVlXCI+XHJcblx0XHRcdFx0XHRcdFx0UMOhZ2luYToge3sgcGRmRG9jdW1lbnQucGFnZU51bSB9fSAvIHt7IHBkZkRvY3VtZW50LnBkZkRvYy5udW1QYWdlcyB9fVxyXG5cdFx0XHRcdFx0XHQ8L3NwYW4+XHJcblxyXG5cdFx0XHRcdFx0XHQ8IS0tbmV4dCAtLT5cclxuXHRcdFx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFx0XHRocmVmPVwiSmF2YXNjcmlwdDo7XCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJvbk5leHRQYWdlKClcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiU2lndWllbnRlXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtY2hldnJvbi1yaWdodFwiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9hPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtc21cIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiRmlyc3QgZ3JvdXBcIj5cclxuXHRcdFx0XHRcdFx0PCEtLSBkb3dubG9hZC0tPlxyXG5cdFx0XHRcdFx0XHQ8YVxyXG5cdFx0XHRcdFx0XHRcdFtkb3dubG9hZF09XCJmaWxlbmFtZVwiXHJcblx0XHRcdFx0XHRcdFx0Km5nSWY9XCJpc0ZpbGVuYW1lKCkgPT09IHRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJkb3dubG9hZCgpXCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiRGVzY2FyZ2FyXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtcGxhY2VtZW50PVwidG9wXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gW2hyZWZdPVwiXHJcblx0XHRcdFx0XHRcdFx0c2FuaXRpemF0aW9uLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoXHJcblx0XHRcdFx0XHRcdFx0XHQnZGF0YTphcHBsaWNhdGlvbi9wZGY7YmFzZTY0LCcgKyB0aGlzLmJhc2U2NFxyXG5cdFx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0XCIgLS0+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1kb3dubG9hZFwiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9hPlxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLSB0b2dnbGUgZWRpdC0tXHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCJKYXZhc2NyaXB0OjtcIiAqbmdJZj1cImlzRW5hYmxlRWRpdCgpID09PSB0cnVlXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgdGl0bGU9XCJFZGl0YXJcIlxyXG4gICAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtcGxhY2VtZW50PVwidG9wXCIgKGNsaWNrKT1cInRvZ2dsZUVkaXQoKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmEgZmEtZWRpdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG5cclxuICAgICAgICAgICAgPCEtLSBnZW5lcmF0ZSBwZGYtLT5cclxuXHRcdFx0XHRcdFx0PGFcclxuXHRcdFx0XHRcdFx0XHRocmVmPVwiSmF2YXNjcmlwdDo7XCJcclxuXHRcdFx0XHRcdFx0XHQqbmdJZj1cImlzRWRpdCgpID09PSB0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiR2VuZXJhclwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRkYXRhLXBsYWNlbWVudD1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cImNoYW5nZSgpXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiZmEgZmEtcGxheVwiPjwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC9hPlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1tZC01IHB1bGwtcmlnaHRcIiAqbmdJZj1cImlzRW5hYmxlRW1haWwoKSA9PT0gdHJ1ZVwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBpbnB1dC1ncm91cC1zbVwiPlxyXG5cdFx0XHRcdFx0PGxhYmVsIGZvcj1cInBkZi12aXN1YWxpemVyLWVtYWlsXCIgY2xhc3M9XCJwZGZcIj5cclxuXHRcdFx0XHRcdFx0RW52aWFyIG1lbnNhamUgYVxyXG5cdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHR0eXBlPVwiZW1haWxcIlxyXG5cdFx0XHRcdFx0XHRpZD1cInBkZi12aXN1YWxpemVyLWVtYWlsXCJcclxuXHRcdFx0XHRcdFx0bmFtZT1cInBkZi12aXN1YWxpemVyLWVtYWlsXCJcclxuXHRcdFx0XHRcdFx0cmVxdWlyZWQ9XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkNvcnJlbyBlbGVjdHLDs25pY29cIlxyXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cImVtYWlsXCJcclxuXHRcdFx0XHRcdC8+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XHJcblx0XHRcdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnlcIlxyXG5cdFx0XHRcdFx0XHRcdHR5cGU9XCJidXR0b25cIlxyXG5cdFx0XHRcdFx0XHRcdChjbGljayk9XCJzZW5kRW1haWwoKVwiXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU9XCJFbnZpYXJcIlxyXG5cdFx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0ZGF0YS1wbGFjZW1lbnQ9XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGltZ1xyXG5cdFx0XHRcdFx0XHRcdFx0c3JjPVwiaHR0cDovL2dpcm8zNjAuY28vem9uYTM2MC9jb2xmdXR1cm8vUExJQy9pbWcvZXhwb3J0LnN2Z1wiXHJcblx0XHRcdFx0XHRcdFx0XHRhbHQ9XCJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg9XCIxNlwiXHJcblx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PGRpdiBjbGFzcz1cInBkZi12aXN1YWxpemVyLWRhc2hib2FyZFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInJvd1wiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTVcIiAqbmdJZj1cImlzRWRpdCgpID09PSB0cnVlXCI+XHJcblx0XHRcdFx0PHRleHRhcmVhXHJcblx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwicmVzaXplOnZlcnRpY2FsO1wiXHJcblx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cImh0bWxcIlxyXG5cdFx0XHRcdD48L3RleHRhcmVhPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBbbmdDbGFzc109XCJ7ICdjb2wtbWQtNyc6IGVkaXQgPT09IHRydWUsICdjb2wtbWQtMTInOiAhZWRpdCB9XCI+XHJcblx0XHRcdFx0PGRpdlxyXG5cdFx0XHRcdFx0aWQ9XCJwZGYtc2Nyb2xsYWJsZVwiXHJcblx0XHRcdFx0XHRjbGFzcz1cInBkZi12aXN1YWxpemVyLXNjcm9sbGFibGVcIlxyXG5cdFx0XHRcdFx0W3N0eWxlLmhlaWdodF09XCJnZXRIZWlnaHQoKVwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0PGNhbnZhcyBpZD1cInBkZi1jYW52YXNcIiBjbGFzcz1cInBkZi12aXN1YWxpemVyLWNhbnZhc1wiPiA8L2NhbnZhcz5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -22,8 +22,8 @@ export const VERSION = {
22
22
  },
23
23
  "suffix": "1906-gf0f40b39-dirty",
24
24
  "semverString": "0.0.18+1906.gf0f40b39",
25
- "version": "0.0.1597",
26
- "buildTimestamp": "2022-09-27T22:35:37.269Z"
25
+ "version": "0.0.1598",
26
+ "buildTimestamp": "2022-09-28T14:17:11.707Z"
27
27
  };
28
28
  /* tslint:enable */
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLDhCQUE4QjtJQUNyQyxNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixRQUFRLEVBQUU7UUFDTixTQUFTLEVBQUU7WUFDUCxPQUFPLEVBQUUsS0FBSztZQUNkLG1CQUFtQixFQUFFLEtBQUs7U0FDN0I7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtRQUNYLFlBQVksRUFBRSxFQUFFO1FBQ2hCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsU0FBUyxFQUFFLFFBQVE7S0FDdEI7SUFDRCxRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkMsU0FBUyxFQUFFLFVBQVU7SUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0NBQy9DLENBQUM7QUFDRixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJTVBPUlRBTlQ6IFRISVMgRklMRSBJUyBBVVRPIEdFTkVSQVRFRCEgRE8gTk9UIE1BTlVBTExZIEVESVQgT1IgQ0hFQ0tJTiFcbi8qIHRzbGludDpkaXNhYmxlICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHtcbiAgICBcImRpcnR5XCI6IHRydWUsXG4gICAgXCJyYXdcIjogXCJ2MC4wLjE4LTE5MDYtZ2YwZjQwYjM5LWRpcnR5XCIsXG4gICAgXCJoYXNoXCI6IFwiZ2YwZjQwYjM5XCIsXG4gICAgXCJkaXN0YW5jZVwiOiAxOTA2LFxuICAgIFwidGFnXCI6IFwidjAuMC4xOFwiLFxuICAgIFwic2VtdmVyXCI6IHtcbiAgICAgICAgXCJvcHRpb25zXCI6IHtcbiAgICAgICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgICAgICBcImluY2x1ZGVQcmVyZWxlYXNlXCI6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgIFwicmF3XCI6IFwidjAuMC4xOFwiLFxuICAgICAgICBcIm1ham9yXCI6IDAsXG4gICAgICAgIFwibWlub3JcIjogMCxcbiAgICAgICAgXCJwYXRjaFwiOiAxOCxcbiAgICAgICAgXCJwcmVyZWxlYXNlXCI6IFtdLFxuICAgICAgICBcImJ1aWxkXCI6IFtdLFxuICAgICAgICBcInZlcnNpb25cIjogXCIwLjAuMThcIlxuICAgIH0sXG4gICAgXCJzdWZmaXhcIjogXCIxOTA2LWdmMGY0MGIzOS1kaXJ0eVwiLFxuICAgIFwic2VtdmVyU3RyaW5nXCI6IFwiMC4wLjE4KzE5MDYuZ2YwZjQwYjM5XCIsXG4gICAgXCJ2ZXJzaW9uXCI6IFwiMC4wLjE1OTdcIixcbiAgICBcImJ1aWxkVGltZXN0YW1wXCI6IFwiMjAyMi0wOS0yN1QyMjozNTozNy4yNjlaXCJcbn07XG4vKiB0c2xpbnQ6ZW5hYmxlICovXG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLDhCQUE4QjtJQUNyQyxNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixRQUFRLEVBQUU7UUFDTixTQUFTLEVBQUU7WUFDUCxPQUFPLEVBQUUsS0FBSztZQUNkLG1CQUFtQixFQUFFLEtBQUs7U0FDN0I7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtRQUNYLFlBQVksRUFBRSxFQUFFO1FBQ2hCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsU0FBUyxFQUFFLFFBQVE7S0FDdEI7SUFDRCxRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkMsU0FBUyxFQUFFLFVBQVU7SUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0NBQy9DLENBQUM7QUFDRixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJTVBPUlRBTlQ6IFRISVMgRklMRSBJUyBBVVRPIEdFTkVSQVRFRCEgRE8gTk9UIE1BTlVBTExZIEVESVQgT1IgQ0hFQ0tJTiFcbi8qIHRzbGludDpkaXNhYmxlICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHtcbiAgICBcImRpcnR5XCI6IHRydWUsXG4gICAgXCJyYXdcIjogXCJ2MC4wLjE4LTE5MDYtZ2YwZjQwYjM5LWRpcnR5XCIsXG4gICAgXCJoYXNoXCI6IFwiZ2YwZjQwYjM5XCIsXG4gICAgXCJkaXN0YW5jZVwiOiAxOTA2LFxuICAgIFwidGFnXCI6IFwidjAuMC4xOFwiLFxuICAgIFwic2VtdmVyXCI6IHtcbiAgICAgICAgXCJvcHRpb25zXCI6IHtcbiAgICAgICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgICAgICBcImluY2x1ZGVQcmVyZWxlYXNlXCI6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgIFwicmF3XCI6IFwidjAuMC4xOFwiLFxuICAgICAgICBcIm1ham9yXCI6IDAsXG4gICAgICAgIFwibWlub3JcIjogMCxcbiAgICAgICAgXCJwYXRjaFwiOiAxOCxcbiAgICAgICAgXCJwcmVyZWxlYXNlXCI6IFtdLFxuICAgICAgICBcImJ1aWxkXCI6IFtdLFxuICAgICAgICBcInZlcnNpb25cIjogXCIwLjAuMThcIlxuICAgIH0sXG4gICAgXCJzdWZmaXhcIjogXCIxOTA2LWdmMGY0MGIzOS1kaXJ0eVwiLFxuICAgIFwic2VtdmVyU3RyaW5nXCI6IFwiMC4wLjE4KzE5MDYuZ2YwZjQwYjM5XCIsXG4gICAgXCJ2ZXJzaW9uXCI6IFwiMC4wLjE1OThcIixcbiAgICBcImJ1aWxkVGltZXN0YW1wXCI6IFwiMjAyMi0wOS0yOFQxNDoxNzoxMS43MDdaXCJcbn07XG4vKiB0c2xpbnQ6ZW5hYmxlICovXG4iXX0=
@@ -5187,6 +5187,9 @@ class PdfVisualizerComponent {
5187
5187
  var data = atob(this.base64);
5188
5188
  PDFJS$1.workerSrc = 'https://mozilla.github.io/pdf.js/build/pdf.worker.js';
5189
5189
  // create instance of PdfDocument with the id of canvas
5190
+ if (PDFJS$1.GlobalWorkerOptions)
5191
+ PDFJS$1.GlobalWorkerOptions.workerSrc =
5192
+ 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.worker.js';
5190
5193
  this.pdfDocument = new PdfDocument(this.id_canvas);
5191
5194
  // assign variables out of scope
5192
5195
  let pdfdocument = this.pdfDocument;
@@ -15179,8 +15182,8 @@ const VERSION = {
15179
15182
  },
15180
15183
  "suffix": "1906-gf0f40b39-dirty",
15181
15184
  "semverString": "0.0.18+1906.gf0f40b39",
15182
- "version": "0.0.1597",
15183
- "buildTimestamp": "2022-09-27T22:35:37.269Z"
15185
+ "version": "0.0.1598",
15186
+ "buildTimestamp": "2022-09-28T14:17:11.707Z"
15184
15187
  };
15185
15188
  /* tslint:enable */
15186
15189