@annalib/anna-core 30.0.10 → 30.0.11

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.
@@ -18,7 +18,7 @@ export class AnnaCalendarFilterComponent {
18
18
  this.disabled = false;
19
19
  this.selectedDate = new EventEmitter();
20
20
  this.showFooterTemplate = false;
21
- this.placement = ["top-start", "bottom-start", "left", "auto"];
21
+ this.placement = ["top-start", "left", "bottom-start", "auto"];
22
22
  this.apply = new EventEmitter();
23
23
  this.cancel = new EventEmitter();
24
24
  this.disableApplyBtn = false;
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
157
157
  }], cancel: [{
158
158
  type: Output
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtY2FsZW5kYXItZmlsdGVyL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUEwQixrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQzs7OztBQVVqSCxNQUFNLE9BQU8sMkJBQTJCO0lBd0JwQyxZQUFvQixlQUEwQztRQUExQyxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUF0QnJELGNBQVMsR0FBbUMsU0FBUyxDQUFDO1FBR3RELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUNsQyxnQkFBVyxHQUFXLFlBQVksQ0FBQztRQUNuQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUluQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsY0FBUyxHQUFnQixDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXRDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHlCQUFvQixHQUFXLEVBQUUsQ0FBQztRQUc5QixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBbUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1Qix5Q0FBeUM7UUFDekMscUNBQXFDO1FBQ3JDLHVCQUF1QjtJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWE7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUU7WUFDbkcsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDckQ7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQ0FBa0MsQ0FBQyxJQUFhO1FBQzVDLElBQUksY0FBYyxHQUFHLEtBQUssQ0FDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDM0YsSUFBSSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUNsRixJQUFJLENBQUMsVUFBVSxDQUNsQixDQUFDO1FBRUYsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDekMsSUFDSSxJQUFJLENBQUMsZUFBZSxDQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDakcsRUFDSDtnQkFDRSxPQUFPLElBQUksQ0FBQzthQUNmO1lBQ0QsY0FBYyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFhO1FBQ25CLE9BQU8sQ0FDSCxJQUFJLENBQUMsUUFBUTtZQUNiLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDWixJQUFJLENBQUMsV0FBVztZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ2hDLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBYTtRQUNqQixPQUFPLENBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzFCLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUN2QixDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDOUIsTUFBTSxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzlCLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHNDQUFzQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsc0NBQXNDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztTQUMvTjthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QixtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1NBQ2hJO2FBQU07WUFDSCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLGdDQUFnQztRQUNoQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNMLENBQUM7K0dBaEpRLDJCQUEyQjttR0FBM0IsMkJBQTJCLHlpQkMzQnhDLDgzR0FtR0EsODZiRDFFYyxJQUFJLDRGQUFFLFdBQVcsd2RBQUUsa0JBQWtCLHllQUFFLE9BQU8sK0VBQUUsYUFBYTs7NEZBRTlELDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDSSwrQkFBK0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO2dIQUcvRCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIFRpdGxlQ2FzZVBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBOZ2JEYXRlLCBOZ2JEYXRlU3RydWN0LCBOZ2JJbnB1dERhdGVwaWNrZXIgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwL3V0aWwvcG9zaXRpb25pbmdcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5cclxuaW1wb3J0IHsgQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtY2FsZW5kYXItZmlsdGVyLWxpYlwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWYsIEZvcm1zTW9kdWxlLCBOZ2JJbnB1dERhdGVwaWNrZXIsIE5nQ2xhc3MsIFRpdGxlQ2FzZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNhbGVuZGFyRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgbWF4RGF0ZTogYW55O1xyXG4gICAgQElucHV0KCkgYXV0b0Nsb3NlOiBcImluc2lkZVwiIHwgXCJvdXRzaWRlXCIgfCBib29sZWFuID0gXCJvdXRzaWRlXCI7XHJcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbWluRGF0ZTogYW55O1xyXG4gICAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGRhdGVGb3JtYXQ6IHN0cmluZyA9IFwiTU0vREQvWVlZWVwiO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiTU0vREQvWVlZWVwiO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEZyb21EYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZFRvRGF0ZTogYW55O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZUZ1bmN0aW9uOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzaG93Rm9vdGVyVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogUGxhY2VtZW50W10gPSBbXCJ0b3Atc3RhcnRcIiwgXCJib3R0b20tc3RhcnRcIiwgXCJsZWZ0XCIsIFwiYXV0b1wiXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgYXBwbHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgZnJvbURhdGU6IGFueTtcclxuICAgIHRvRGF0ZTogYW55O1xyXG4gICAgaG92ZXJlZERhdGU6IGFueTtcclxuICAgIGRpc2FibGVBcHBseUJ0bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGF0ZVRvQmVTaG93bkluSW5wdXQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbm5hVGltZVNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVGdW5jdGlvbiA9IChkYXRlOiBOZ2JEYXRlU3RydWN0KSA9PiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGFydEFuZEVuZERhdGUoKTtcclxuICAgICAgICB0aGlzLnNldElucHV0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFN0YXJ0QW5kRW5kRGF0ZSgpIHtcclxuICAgICAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5zZWxlY3RlZEZyb21EYXRlO1xyXG4gICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5zZWxlY3RlZFRvRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVBcHBseUJ0biA9IHRydWU7XHJcbiAgICAgICAgLy8gdGhpcy5mcm9tRGF0ZSA9IHRoaXMuc2VsZWN0ZWRGcm9tRGF0ZTtcclxuICAgICAgICAvLyB0aGlzLnRvRGF0ZSA9IHRoaXMuc2VsZWN0ZWRUb0RhdGU7XHJcbiAgICAgICAgLy8gdGhpcy5zZXRJbnB1dFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRhdGVTZWxlY3Rpb24oZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5mcm9tRGF0ZSAmJiAhdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZyb21EYXRlICYmICF0aGlzLnRvRGF0ZSAmJiAoZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSB8fCBkYXRlLmVxdWFscyh0aGlzLmZyb21EYXRlKSkpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNEaXNhYmxlZERhdGVQcmVzZW50ID0gdGhpcy5jaGVja0lmRGlzYWJsZWREYXRlU2VsZWN0ZWRJblJhbmdlKGRhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IGlzRGlzYWJsZWREYXRlUHJlc2VudCA/IG51bGwgOiBkYXRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmVtaXQoeyBmcm9tRGF0ZTogdGhpcy5mcm9tRGF0ZSwgdG9EYXRlOiB0aGlzLnRvRGF0ZSB9KTtcclxuICAgICAgICB0aGlzLmRpc2FibGVDYWxlbmRhckFwcGx5QnRuKCk7XHJcbiAgICAgICAgdGhpcy5zZXRJbnB1dFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmRGlzYWJsZWREYXRlU2VsZWN0ZWRJblJhbmdlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICBsZXQgZGF5SnNTdGFydERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgdGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudEluU3BlY2lmaWNGb3JtYXQodGhpcy5mcm9tRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KSxcclxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgZGF5SnNFbmREYXRlID0gZGF5anMoXHJcbiAgICAgICAgICAgIHRoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnROZ2JEYXRlVG9Nb21lbnRJblNwZWNpZmljRm9ybWF0KGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCksXHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB3aGlsZSAoIWRheUpzU3RhcnREYXRlLmlzU2FtZShkYXlKc0VuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUZ1bmN0aW9uKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnRUb05nYkRhdGUoZGF5SnNTdGFydERhdGUuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCksIHRoaXMuZGF0ZUZvcm1hdCksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGF5SnNTdGFydERhdGUgPSBkYXlKc1N0YXJ0RGF0ZS5hZGQoMSwgXCJkYXlcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaXNIb3ZlcmVkKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICB0aGlzLmZyb21EYXRlICYmXHJcbiAgICAgICAgICAgICF0aGlzLnRvRGF0ZSAmJlxyXG4gICAgICAgICAgICB0aGlzLmhvdmVyZWREYXRlICYmXHJcbiAgICAgICAgICAgIGRhdGUuYWZ0ZXIodGhpcy5mcm9tRGF0ZSkgJiZcclxuICAgICAgICAgICAgZGF0ZS5iZWZvcmUodGhpcy5ob3ZlcmVkRGF0ZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW5zaWRlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJiBkYXRlLmJlZm9yZSh0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgZGF0ZS5lcXVhbHModGhpcy5mcm9tRGF0ZSkgfHxcclxuICAgICAgICAgICAgKHRoaXMudG9EYXRlICYmIGRhdGUuZXF1YWxzKHRoaXMudG9EYXRlKSkgfHxcclxuICAgICAgICAgICAgdGhpcy5pc0luc2lkZShkYXRlKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmlzSG92ZXJlZChkYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsU2VsZWN0aW9uKCkge1xyXG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNlbGVjdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlT2JqID0geyBmcm9tRGF0ZTogdGhpcy5mcm9tRGF0ZSwgdG9EYXRlOiB0aGlzLnRvRGF0ZSB9O1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5LmVtaXQoZGF0ZU9iaik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVDYWxlbmRhckFwcGx5QnRuKCkge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUFwcGx5QnRuID0gISh0aGlzLmZyb21EYXRlICYmIHRoaXMudG9EYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRJbnB1dFRleHQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZnJvbURhdGUgJiYgdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAgICAgICAgICAgdGhpcy5kYXRlVG9CZVNob3duSW5JbnB1dCA9IGAke3RoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnROZ2JEYXRlVG9Nb21lbnRJblNwZWNpZmljRm9ybWF0KHRoaXMuZnJvbURhdGUsIHRoaXMuZGF0ZUZvcm1hdCl9IC0gJHt0aGlzLmFubmFUaW1lU2VydmljZS5jb252ZXJ0TmdiRGF0ZVRvTW9tZW50SW5TcGVjaWZpY0Zvcm1hdCh0aGlzLnRvRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KX1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5mcm9tRGF0ZSkge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUb0JlU2hvd25JbklucHV0ID0gYCR7dGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudEluU3BlY2lmaWNGb3JtYXQodGhpcy5mcm9tRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KX1gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRvQmVTaG93bkluSW5wdXQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkYXRlcGlja2VyQ2xvc2VkKCkge1xyXG4gICAgICAgIC8vIFJlcXVpcmVkIGZvciBQZW5kaW5nIGVjIG9yZGVyXHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0Zvb3RlclRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGcm9tRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVG9EYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnNldElucHV0VGV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVBcHBseUJ0biA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gY29udGFpbmVyPVwiYm9keVwiXHJcbmRhdGVwaWNrZXJDbGFzcyA9IFwiY2FsZW5kYXItZmlsdGVyXCIgLS0+XHJcblxyXG48cFxyXG4gICAgY2xhc3M9XCJjYWxlbmRhci1sYWJlbFwiXHJcbiAgICAqbmdJZj1cInNob3dMYWJlbFwiXHJcbj5cclxuICAgIHt7IGxhYmVsIHwgdGl0bGVjYXNlIH19XHJcbjwvcD5cclxuPGZvcm0+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy1jbGFzc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcC1oaWRkZW4gcG9zaXRpb24tYWJzb2x1dGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgICAjZGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzcGxheU1vbnRoc109XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9DbG9zZV09XCJhdXRvQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdGFydERhdGVdPVwiZnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXJrRGlzYWJsZWRdPVwiZGlzYWJsZUZ1bmN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb249XCJzZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbG9zZWQpPVwiZGF0ZXBpY2tlckNsb3NlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2VtZW50XT1cInBsYWNlbWVudFwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgI3RcclxuICAgICAgICAgICAgICAgICAgICBsZXQtZGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIGxldC1mb2N1c2VkPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tZGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yYW5nZV09XCJpc1JhbmdlKGRhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZhZGVkXT1cImlzSG92ZXJlZChkYXRlKSB8fCBpc0luc2lkZShkYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyZWREYXRlID0gZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWREYXRlID0gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRlLmRheSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICNkcEZyb21EYXRlXHJcbiAgICAgICAgICAgICAgICBpZD1cImRhdGVwaWNrZXItaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZHBGcm9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGF0ZVRvQmVTaG93bkluSW5wdXRcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktY2FsZW5kYXItcmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRhdGVwaWNrZXIuaXNPcGVuKClcIlxyXG4gICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLWNoZWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGVwaWNrZXIuaXNPcGVuKClcIlxyXG4gICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCJcclxuICAgICAgICAqbmdJZj1cInNob3dGb290ZXJUZW1wbGF0ZVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxTZWxlY3Rpb24oKTsgZGF0ZXBpY2tlci5jbG9zZSgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIENhbmNlbFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlQXBwbHlCdG4gfVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQXBwbHlCdG5cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlTZWxlY3Rpb24oKTsgZGF0ZXBpY2tlci5jbG9zZSgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIEFwcGx5XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1jYWxlbmRhci1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1kcm9wZG93bi1saWIvY29tcG9uZW50cy9hbm5hLWNhbGVuZGFyLWZpbHRlci9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtY2FsZW5kYXItZmlsdGVyL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUEwQixrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQzs7OztBQVVqSCxNQUFNLE9BQU8sMkJBQTJCO0lBd0JwQyxZQUFvQixlQUEwQztRQUExQyxvQkFBZSxHQUFmLGVBQWUsQ0FBMkI7UUF0QnJELGNBQVMsR0FBbUMsU0FBUyxDQUFDO1FBR3RELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUNsQyxnQkFBVyxHQUFXLFlBQVksQ0FBQztRQUNuQyxhQUFRLEdBQVksS0FB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LEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNMLENBQUM7K0dBaEpRLDJCQUEyQjttR0FBM0IsMkJBQTJCLHlpQkMzQnhDLDgzR0FtR0EsODZiRDFFYyxJQUFJLDRGQUFFLFdBQVcsd2RBQUUsa0JBQWtCLHllQUFFLE9BQU8sK0VBQUUsYUFBYTs7NEZBRTlELDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDSSwrQkFBK0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDO2dIQUcvRCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIFRpdGxlQ2FzZVBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBOZ2JEYXRlLCBOZ2JEYXRlU3RydWN0LCBOZ2JJbnB1dERhdGVwaWNrZXIgfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwL3V0aWwvcG9zaXRpb25pbmdcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5cclxuaW1wb3J0IHsgQW5uYURhdGVUaW1lRm9ybWF0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWRhdGUtdGltZS1mb3JtYXQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtY2FsZW5kYXItZmlsdGVyLWxpYlwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbm5hLWNhbGVuZGFyLWZpbHRlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2FubmEtY2FsZW5kYXItZmlsdGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW05nSWYsIEZvcm1zTW9kdWxlLCBOZ2JJbnB1dERhdGVwaWNrZXIsIE5nQ2xhc3MsIFRpdGxlQ2FzZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNhbGVuZGFyRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgbWF4RGF0ZTogYW55O1xyXG4gICAgQElucHV0KCkgYXV0b0Nsb3NlOiBcImluc2lkZVwiIHwgXCJvdXRzaWRlXCIgfCBib29sZWFuID0gXCJvdXRzaWRlXCI7XHJcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbWluRGF0ZTogYW55O1xyXG4gICAgQElucHV0KCkgc2hvd0xhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGRhdGVGb3JtYXQ6IHN0cmluZyA9IFwiTU0vREQvWVlZWVwiO1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiTU0vREQvWVlZWVwiO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEZyb21EYXRlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZFRvRGF0ZTogYW55O1xyXG4gICAgQElucHV0KCkgZGlzYWJsZUZ1bmN0aW9uOiBhbnk7XHJcbiAgICBASW5wdXQoKSBzaG93Rm9vdGVyVGVtcGxhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogUGxhY2VtZW50W10gPSBbXCJ0b3Atc3RhcnRcIiwgXCJsZWZ0XCIsIFwiYm90dG9tLXN0YXJ0XCIsIFwiYXV0b1wiXTtcclxuXHJcbiAgICBAT3V0cHV0KCkgYXBwbHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgZnJvbURhdGU6IGFueTtcclxuICAgIHRvRGF0ZTogYW55O1xyXG4gICAgaG92ZXJlZERhdGU6IGFueTtcclxuICAgIGRpc2FibGVBcHBseUJ0bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgZGF0ZVRvQmVTaG93bkluSW5wdXQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbm5hVGltZVNlcnZpY2U6IEFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVGdW5jdGlvbiA9IChkYXRlOiBOZ2JEYXRlU3RydWN0KSA9PiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGFydEFuZEVuZERhdGUoKTtcclxuICAgICAgICB0aGlzLnNldElucHV0VGV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFN0YXJ0QW5kRW5kRGF0ZSgpIHtcclxuICAgICAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5zZWxlY3RlZEZyb21EYXRlO1xyXG4gICAgICAgIHRoaXMudG9EYXRlID0gdGhpcy5zZWxlY3RlZFRvRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVBcHBseUJ0biA9IHRydWU7XHJcbiAgICAgICAgLy8gdGhpcy5mcm9tRGF0ZSA9IHRoaXMuc2VsZWN0ZWRGcm9tRGF0ZTtcclxuICAgICAgICAvLyB0aGlzLnRvRGF0ZSA9IHRoaXMuc2VsZWN0ZWRUb0RhdGU7XHJcbiAgICAgICAgLy8gdGhpcy5zZXRJbnB1dFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRhdGVTZWxlY3Rpb24oZGF0ZTogTmdiRGF0ZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5mcm9tRGF0ZSAmJiAhdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZyb21EYXRlICYmICF0aGlzLnRvRGF0ZSAmJiAoZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSB8fCBkYXRlLmVxdWFscyh0aGlzLmZyb21EYXRlKSkpIHtcclxuICAgICAgICAgICAgY29uc3QgaXNEaXNhYmxlZERhdGVQcmVzZW50ID0gdGhpcy5jaGVja0lmRGlzYWJsZWREYXRlU2VsZWN0ZWRJblJhbmdlKGRhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLnRvRGF0ZSA9IGlzRGlzYWJsZWREYXRlUHJlc2VudCA/IG51bGwgOiBkYXRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9EYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5mcm9tRGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmVtaXQoeyBmcm9tRGF0ZTogdGhpcy5mcm9tRGF0ZSwgdG9EYXRlOiB0aGlzLnRvRGF0ZSB9KTtcclxuICAgICAgICB0aGlzLmRpc2FibGVDYWxlbmRhckFwcGx5QnRuKCk7XHJcbiAgICAgICAgdGhpcy5zZXRJbnB1dFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmRGlzYWJsZWREYXRlU2VsZWN0ZWRJblJhbmdlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICBsZXQgZGF5SnNTdGFydERhdGUgPSBkYXlqcyhcclxuICAgICAgICAgICAgdGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudEluU3BlY2lmaWNGb3JtYXQodGhpcy5mcm9tRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KSxcclxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgZGF5SnNFbmREYXRlID0gZGF5anMoXHJcbiAgICAgICAgICAgIHRoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnROZ2JEYXRlVG9Nb21lbnRJblNwZWNpZmljRm9ybWF0KGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCksXHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB3aGlsZSAoIWRheUpzU3RhcnREYXRlLmlzU2FtZShkYXlKc0VuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZUZ1bmN0aW9uKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnRUb05nYkRhdGUoZGF5SnNTdGFydERhdGUuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCksIHRoaXMuZGF0ZUZvcm1hdCksXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGF5SnNTdGFydERhdGUgPSBkYXlKc1N0YXJ0RGF0ZS5hZGQoMSwgXCJkYXlcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaXNIb3ZlcmVkKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICB0aGlzLmZyb21EYXRlICYmXHJcbiAgICAgICAgICAgICF0aGlzLnRvRGF0ZSAmJlxyXG4gICAgICAgICAgICB0aGlzLmhvdmVyZWREYXRlICYmXHJcbiAgICAgICAgICAgIGRhdGUuYWZ0ZXIodGhpcy5mcm9tRGF0ZSkgJiZcclxuICAgICAgICAgICAgZGF0ZS5iZWZvcmUodGhpcy5ob3ZlcmVkRGF0ZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlzSW5zaWRlKGRhdGU6IE5nYkRhdGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUgJiYgZGF0ZS5hZnRlcih0aGlzLmZyb21EYXRlKSAmJiBkYXRlLmJlZm9yZSh0aGlzLnRvRGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSYW5nZShkYXRlOiBOZ2JEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgZGF0ZS5lcXVhbHModGhpcy5mcm9tRGF0ZSkgfHxcclxuICAgICAgICAgICAgKHRoaXMudG9EYXRlICYmIGRhdGUuZXF1YWxzKHRoaXMudG9EYXRlKSkgfHxcclxuICAgICAgICAgICAgdGhpcy5pc0luc2lkZShkYXRlKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmlzSG92ZXJlZChkYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsU2VsZWN0aW9uKCkge1xyXG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseVNlbGVjdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5mcm9tRGF0ZSAmJiB0aGlzLnRvRGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlT2JqID0geyBmcm9tRGF0ZTogdGhpcy5mcm9tRGF0ZSwgdG9EYXRlOiB0aGlzLnRvRGF0ZSB9O1xyXG4gICAgICAgICAgICB0aGlzLmFwcGx5LmVtaXQoZGF0ZU9iaik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVDYWxlbmRhckFwcGx5QnRuKCkge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUFwcGx5QnRuID0gISh0aGlzLmZyb21EYXRlICYmIHRoaXMudG9EYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRJbnB1dFRleHQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZnJvbURhdGUgJiYgdGhpcy50b0RhdGUpIHtcclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cclxuICAgICAgICAgICAgdGhpcy5kYXRlVG9CZVNob3duSW5JbnB1dCA9IGAke3RoaXMuYW5uYVRpbWVTZXJ2aWNlLmNvbnZlcnROZ2JEYXRlVG9Nb21lbnRJblNwZWNpZmljRm9ybWF0KHRoaXMuZnJvbURhdGUsIHRoaXMuZGF0ZUZvcm1hdCl9IC0gJHt0aGlzLmFubmFUaW1lU2VydmljZS5jb252ZXJ0TmdiRGF0ZVRvTW9tZW50SW5TcGVjaWZpY0Zvcm1hdCh0aGlzLnRvRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KX1gO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5mcm9tRGF0ZSkge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUb0JlU2hvd25JbklucHV0ID0gYCR7dGhpcy5hbm5hVGltZVNlcnZpY2UuY29udmVydE5nYkRhdGVUb01vbWVudEluU3BlY2lmaWNGb3JtYXQodGhpcy5mcm9tRGF0ZSwgdGhpcy5kYXRlRm9ybWF0KX1gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRvQmVTaG93bkluSW5wdXQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkYXRlcGlja2VyQ2xvc2VkKCkge1xyXG4gICAgICAgIC8vIFJlcXVpcmVkIGZvciBQZW5kaW5nIGVjIG9yZGVyXHJcbiAgICAgICAgaWYgKHRoaXMuc2hvd0Zvb3RlclRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGcm9tRGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVG9EYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy50b0RhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnNldElucHV0VGV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVBcHBseUJ0biA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gY29udGFpbmVyPVwiYm9keVwiXHJcbmRhdGVwaWNrZXJDbGFzcyA9IFwiY2FsZW5kYXItZmlsdGVyXCIgLS0+XHJcblxyXG48cFxyXG4gICAgY2xhc3M9XCJjYWxlbmRhci1sYWJlbFwiXHJcbiAgICAqbmdJZj1cInNob3dMYWJlbFwiXHJcbj5cclxuICAgIHt7IGxhYmVsIHwgdGl0bGVjYXNlIH19XHJcbjwvcD5cclxuPGZvcm0+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy1jbGFzc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcC1oaWRkZW4gcG9zaXRpb24tYWJzb2x1dGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGF0ZXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5nYkRhdGVwaWNrZXJcclxuICAgICAgICAgICAgICAgICAgICAjZGF0ZXBpY2tlcj1cIm5nYkRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzcGxheU1vbnRoc109XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGF5VGVtcGxhdGVdPVwidFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9DbG9zZV09XCJhdXRvQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdGFydERhdGVdPVwiZnJvbURhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXJrRGlzYWJsZWRdPVwiZGlzYWJsZUZ1bmN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRpb249XCJzZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbG9zZWQpPVwiZGF0ZXBpY2tlckNsb3NlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2VtZW50XT1cInBsYWNlbWVudFwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgI3RcclxuICAgICAgICAgICAgICAgICAgICBsZXQtZGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIGxldC1mb2N1c2VkPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tZGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5yYW5nZV09XCJpc1JhbmdlKGRhdGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZhZGVkXT1cImlzSG92ZXJlZChkYXRlKSB8fCBpc0luc2lkZShkYXRlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyZWREYXRlID0gZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cImhvdmVyZWREYXRlID0gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRlLmRheSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICNkcEZyb21EYXRlXHJcbiAgICAgICAgICAgICAgICBpZD1cImRhdGVwaWNrZXItaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZHBGcm9tRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGF0ZVRvQmVTaG93bkluSW5wdXRcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlcGlja2VyLnRvZ2dsZSgpXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktY2FsZW5kYXItcmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRhdGVwaWNrZXIuaXNPcGVuKClcIlxyXG4gICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLWNoZWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGVwaWNrZXIuaXNPcGVuKClcIlxyXG4gICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPlxyXG5cclxuPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImJ1dHRvbnMtY29udGFpbmVyXCJcclxuICAgICAgICAqbmdJZj1cInNob3dGb290ZXJUZW1wbGF0ZVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxTZWxlY3Rpb24oKTsgZGF0ZXBpY2tlci5jbG9zZSgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIENhbmNlbFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlQXBwbHlCdG4gfVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQXBwbHlCdG5cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlTZWxlY3Rpb24oKTsgZGF0ZXBpY2tlci5jbG9zZSgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIEFwcGx5XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19