@hitsoft/kadooglu.kalite 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/config/providers/route.provider.mjs +10 -10
- package/esm2020/lib/components/intake-form.component.mjs +2 -2
- package/esm2020/lib/components/intake-list.component.mjs +2 -2
- package/esm2020/lib/components/process-analysis.component.mjs +3 -3
- package/esm2020/lib/components/quality-definitions.component.mjs +3 -3
- package/esm2020/lib/components/quality-parameters.component.mjs +4 -4
- package/esm2020/lib/components/quality-reports.component.mjs +2 -2
- package/fesm2015/hitsoft-kadooglu.kalite-config.mjs +9 -9
- package/fesm2015/hitsoft-kadooglu.kalite-config.mjs.map +1 -1
- package/fesm2015/hitsoft-kadooglu.kalite.mjs +10 -10
- package/fesm2015/hitsoft-kadooglu.kalite.mjs.map +1 -1
- package/fesm2020/hitsoft-kadooglu.kalite-config.mjs +9 -9
- package/fesm2020/hitsoft-kadooglu.kalite-config.mjs.map +1 -1
- package/fesm2020/hitsoft-kadooglu.kalite.mjs +10 -10
- package/fesm2020/hitsoft-kadooglu.kalite.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -29,8 +29,8 @@ export class QualityDefinitionsComponent {
|
|
|
29
29
|
this.laborantsError = '';
|
|
30
30
|
this.profiles = [{ code: '', name: 'Soruları kendim tanımlayacağım' }, { code: 'RAW', name: 'Ham Ayçiçek Yağı' }, { code: 'REFINED', name: 'Rafine Yağ' }, { code: 'PALM', name: 'Palm Oil / Palm Olein' }, { code: 'COAL', name: 'Kömür' }, { code: 'NAOH', name: 'Kostik (NaOH)' }, { code: 'PHOSPHORIC', name: 'Fosforik Asit' }, { code: 'SULFURIC', name: 'Sülfürik Asit' }, { code: 'PERLITE', name: 'Perlit' }, { code: 'EARTH', name: 'Ağartma Toprağı' }];
|
|
31
31
|
}
|
|
32
|
-
get canEdit() { return this.permissions.getGrantedPolicy('Kalite.Definitions.Edit'); }
|
|
33
|
-
get canDelete() { return this.permissions.getGrantedPolicy('Kalite.Definitions.Delete'); }
|
|
32
|
+
get canEdit() { return this.permissions.getGrantedPolicy('Hitsoft.Kadooglu.Kalite.Definitions.Edit'); }
|
|
33
|
+
get canDelete() { return this.permissions.getGrantedPolicy('Hitsoft.Kadooglu.Kalite.Definitions.Delete'); }
|
|
34
34
|
ngOnInit() { this.load(); }
|
|
35
35
|
load() {
|
|
36
36
|
this.busy = true;
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
94
94
|
type: Component,
|
|
95
95
|
args: [{ selector: 'lib-quality-definitions', template: "<div class=\"container-fluid\"><h3>Kalite Tan\u0131mlar\u0131</h3><div class=\"card\"><div class=\"card-body\">\n <div class=\"d-flex justify-content-between mb-3\"><div class=\"btn-group\">\n <button class=\"btn\" [class.btn-primary]=\"tab === 'details'\" [class.btn-outline-secondary]=\"tab !== 'details'\" (click)=\"selectTab('details')\">Ara\u00E7 Hareket T\u00FCrleri Detay</button>\n <button class=\"btn\" [class.btn-primary]=\"tab === 'tanks'\" [class.btn-outline-secondary]=\"tab !== 'tanks'\" (click)=\"selectTab('tanks')\">Tanklar</button>\n <button class=\"btn\" [class.btn-primary]=\"tab === 'shifts'\" [class.btn-outline-secondary]=\"tab !== 'shifts'\" (click)=\"selectTab('shifts')\">Vardiyalar</button>\n </div><button class=\"btn btn-primary\" *ngIf=\"canEdit\" [disabled]=\"busy\" (click)=\"tab === 'details' ? openDetail() : tab === 'tanks' ? openTank() : openShift()\">+ Yeni Kay\u0131t</button></div>\n <div *ngIf=\"error\" class=\"alert alert-danger\">{{ error }}</div><div *ngIf=\"success\" class=\"alert alert-success\">{{ success }}</div><div *ngIf=\"busy\" class=\"quality-loading\" role=\"status\">Tan\u0131mlar y\u00FCkleniyor\u2026</div>\n <div class=\"table-responsive\" [hidden]=\"busy\">\n <table *ngIf=\"tab === 'details'\" class=\"table table-striped table-bordered\"><thead><tr><th>\u0130\u015Flemler</th><th>Ara\u00E7 Hareket T\u00FCr\u00FC</th><th>Detay Kodu</th><th>Detay Ad\u0131</th><th>Aktif</th></tr></thead><tbody><tr *ngFor=\"let d of details\"><td><button *ngIf=\"canEdit\" class=\"btn btn-sm btn-outline-primary\" (click)=\"openDetail(d)\">D\u00FCzenle</button><a class=\"quality-questions-link\" [routerLink]=\"['/kalite/parameters']\" [queryParams]=\"{type: 'Input', detail: d.code}\">Kalite Sorular\u0131</a></td><td>{{ name(d.movementTypeCode) }}</td><td>{{ d.detailCode || '\u2014' }}</td><td>{{ d.name || '\u2014' }}</td><td>{{ d.active ? 'Evet' : 'Hay\u0131r' }}</td></tr></tbody></table>\n <table *ngIf=\"tab === 'tanks'\" class=\"table table-striped table-bordered\"><thead><tr><th>\u0130\u015Flemler</th><th>Kod</th><th>Ad</th><th>Tip</th><th>Kapasite</th><th>Aktif</th></tr></thead><tbody><tr *ngFor=\"let t of tanks\"><td><button *ngIf=\"canEdit\" class=\"btn btn-sm btn-outline-primary\" (click)=\"openTank(t)\">D\u00FCzenle</button></td><td>{{ t.code }}</td><td>{{ t.name }}</td><td>{{ t.type === 'Raw' ? 'Ham Ya\u011F' : t.type === 'Refined' ? 'Rafine' : t.type === 'Product' ? '\u00DCr\u00FCn' : 'Ara' }}</td><td>{{ t.capacity }}</td><td>{{ t.active ? 'Evet' : 'Hay\u0131r' }}</td></tr></tbody></table>\n <table *ngIf=\"tab === 'shifts'\" class=\"table table-striped table-bordered\"><thead><tr><th>\u0130\u015Flemler</th><th>Kod</th><th>Ad</th><th>Ba\u015Flang\u0131\u00E7</th><th>Biti\u015F</th><th>Laborant</th><th>Aktif</th></tr></thead><tbody><tr *ngFor=\"let s of shifts\"><td><button *ngIf=\"canEdit\" class=\"btn btn-sm btn-outline-primary\" (click)=\"openShift(s)\">D\u00FCzenle</button></td><td>{{ s.code }}</td><td>{{ s.name }}</td><td>{{ s.startHour | number:'2.0-0' }}:00</td><td>{{ s.endHour | number:'2.0-0' }}:00</td><td>{{ s.analyst }}</td><td>{{ s.active ? 'Evet' : 'Hay\u0131r' }}</td></tr></tbody></table>\n </div><p *ngIf=\"tab === 'details'\" class=\"text-muted\">Etkin tan\u0131mlarda bulunan ara\u00E7 hareket t\u00FCrleri kalite kontrole tabidir. Detay kodu ve ad\u0131 bo\u015F b\u0131rak\u0131larak yaln\u0131z hareket t\u00FCr\u00FC ba\u015Fl\u0131\u011F\u0131 tan\u0131mlanabilir.</p>\n</div></div></div>\n<abp-modal [visible]=\"!!(detail || tank || shift)\" (visibleChange)=\"!$event && close()\" [busy]=\"busy\" [options]=\"{size: 'lg'}\">\n <ng-template #abpHeader><h5>{{ isNew ? 'Yeni Tan\u0131m' : 'Tan\u0131m\u0131 D\u00FCzenle' }}</h5></ng-template>\n <ng-template #abpBody><div *ngIf=\"modalError\" class=\"alert alert-danger\">{{ modalError }}</div>\n <div *ngIf=\"detail as d\" class=\"row\">\n <div class=\"col-md-4\"><label>Kay\u0131t Kodu *</label><input class=\"form-control\" [(ngModel)]=\"d.code\" [disabled]=\"!isNew\" maxlength=\"24\" /></div><div class=\"col-md-8\"><label>Ara\u00E7 Hareket T\u00FCr\u00FC *</label><select class=\"form-control\" [(ngModel)]=\"d.movementTypeCode\" [disabled]=\"!isNew\"><option value=\"\">Se\u00E7in</option><option *ngFor=\"let type of types\" [value]=\"type.code\">{{ type.name }}</option></select></div>\n <div class=\"col-md-4 mt-3\"><label>Detay Kodu</label><input class=\"form-control\" [(ngModel)]=\"d.detailCode\" /></div><div class=\"col-md-8 mt-3\"><label>Detay Ad\u0131</label><input class=\"form-control\" [(ngModel)]=\"d.name\" /></div>\n <div class=\"col-md-12 mt-3\"><label>Ba\u015Flang\u0131\u00E7 Sorular\u0131</label><select class=\"form-control\" [(ngModel)]=\"d.profile\" [disabled]=\"!isNew\"><option *ngFor=\"let p of profiles\" [value]=\"p.code\">{{ p.name }}</option></select><small class=\"text-muted\">Se\u00E7ilen \u015Fablonun sorular\u0131 ve limitleri Kalite Parametreleri ekran\u0131ndan d\u00FCzenlenebilir.</small></div><div class=\"col-md-12 mt-3\"><label><input type=\"checkbox\" [(ngModel)]=\"d.active\" /> Aktif</label></div>\n </div>\n <div *ngIf=\"tank as t\" class=\"row\"><div class=\"col-md-4\"><label>Kod *</label><input class=\"form-control\" [(ngModel)]=\"t.code\" [disabled]=\"!isNew\" /></div><div class=\"col-md-8\"><label>Ad *</label><input class=\"form-control\" [(ngModel)]=\"t.name\" /></div><div class=\"col-md-6 mt-3\"><label>Tip</label><select class=\"form-control\" [(ngModel)]=\"t.type\"><option value=\"Raw\">Ham Ya\u011F</option><option value=\"Refined\">Rafine</option><option value=\"Intermediate\">Ara</option><option value=\"Product\">\u00DCr\u00FCn</option></select></div><div class=\"col-md-6 mt-3\"><label>Kapasite</label><input type=\"number\" min=\"0\" class=\"form-control\" [(ngModel)]=\"t.capacity\" /></div><div class=\"col-md-12 mt-3\"><label><input type=\"checkbox\" [(ngModel)]=\"t.active\" /> Aktif</label></div></div>\n <div *ngIf=\"shift as s\" class=\"row\">\n <div class=\"col-md-3\"><label>Kod *</label><input class=\"form-control\" [(ngModel)]=\"s.code\" [disabled]=\"!isNew\" /></div>\n <div class=\"col-md-9\"><label>Ad *</label><input class=\"form-control\" [(ngModel)]=\"s.name\" /></div>\n <div class=\"col-md-4 mt-3\"><label>Ba\u015Flang\u0131\u00E7 Saati</label><input type=\"number\" min=\"0\" max=\"23\" class=\"form-control\" [(ngModel)]=\"s.startHour\" /></div>\n <div class=\"col-md-4 mt-3\"><label>Biti\u015F Saati</label><input type=\"number\" min=\"0\" max=\"23\" class=\"form-control\" [(ngModel)]=\"s.endHour\" /></div>\n <div class=\"col-md-4 mt-3\"><label>Laborant</label>\n <select class=\"form-control\" [(ngModel)]=\"s.analystUserId\" (change)=\"laborantChanged()\" [disabled]=\"busy || laborantsBusy\">\n <option [ngValue]=\"null\">{{ !s.analystUserId && s.analyst ? 'Mevcut: ' + s.analyst + ' (eski kay\u0131t)' : 'Se\u00E7in' }}</option>\n <option *ngIf=\"selectedLaborantMissing\" [ngValue]=\"s.analystUserId\" disabled>{{ s.analyst }} (se\u00E7ilebilir de\u011Fil)</option>\n <option *ngFor=\"let user of laborants\" [ngValue]=\"user.id\">{{ user.userName }}</option>\n </select>\n <small *ngIf=\"laborantsBusy\" class=\"text-muted\">Kullan\u0131c\u0131lar y\u00FCkleniyor\u2026</small>\n <small *ngIf=\"!laborantsBusy && !laborantsError && !laborants.length\" class=\"text-muted\">Bu firmada aktif ve proses veri giri\u015Fi yetkisi olan kullan\u0131c\u0131 bulunamad\u0131.</small>\n <div *ngIf=\"laborantsError\" class=\"text-danger\" role=\"alert\">{{ laborantsError }}</div>\n </div>\n <div class=\"col-md-12 mt-3\"><label><input type=\"checkbox\" [(ngModel)]=\"s.active\" /> Aktif</label></div>\n </div>\n </ng-template><ng-template #abpFooter><button class=\"btn btn-danger mr-auto\" *ngIf=\"canDelete && !isNew\" [disabled]=\"busy\" (click)=\"delete()\">Sil</button><button class=\"btn btn-secondary\" [disabled]=\"busy\" (click)=\"close()\">Vazge\u00E7</button><button class=\"btn btn-primary\" [disabled]=\"busy\" (click)=\"save()\">Kaydet</button></ng-template>\n</abp-modal>\n", styles: [".quality-loading{padding:1.5rem;text-align:center;color:#5b526c}.print-only{display:none}.quality-status{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .85rem;border:1px solid transparent;border-radius:.4rem;font-size:.9375rem;font-weight:600;line-height:1.4}.quality-status-accepted{color:#166534;background:#dcfce7;border-color:#86efac}.quality-status-rejected{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.quality-status-draft{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.quality-status-waiting{color:#854d0e;background:#fef3c7;border-color:#fcd34d}.vehicle-table{min-width:1950px;white-space:nowrap}.actions{min-width:130px}.quality-questions-link{display:inline-flex;align-items:center;min-height:calc(1.5em + .5rem + 2px);margin-left:.4rem;padding:.25rem .5rem;color:#9a5a00;background:#fff3d6;border:1px solid #edb85b;border-radius:.2rem;font-size:.875rem;line-height:1.5;text-decoration:none}.quality-questions-link:hover,.quality-questions-link:focus{color:#fff;background:#b86b00;border-color:#b86b00;text-decoration:none}.intake-actions-cell{display:flex;align-items:center}:host ::ng-deep .intake-grid .dx-data-row>td{vertical-align:middle}.intake-actions-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .65rem;font-family:inherit;font-size:.8125rem;line-height:1.3}.intake-action-menu{min-width:210px;margin-top:.35rem;padding:.3rem;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;box-shadow:0 .25rem .75rem #0000001a}.intake-action-menu .dropdown-item{display:block;text-align:left;border:0;border-radius:.25rem;background:none;color:#343a40;padding:.5rem .65rem;font-family:inherit;font-size:.8125rem;font-weight:400;line-height:1.4;text-decoration:none;white-space:nowrap;cursor:pointer}.intake-action-menu .dropdown-item:hover,.intake-action-menu .dropdown-item:focus-visible{background:#eef2ff;color:#2446b5}.page-size{width:85px}.vehicle-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.vehicle-info label{font-size:.8rem;color:#6c757d;margin-bottom:.2rem}.vehicle-info p{background:#f5f3f8;padding:.55rem;min-height:2.5rem;overflow-wrap:anywhere}.measurement-table{min-width:700px}.measurement-table th{background:#f2edf7}.measurement-table td{vertical-align:middle}.out-of-limit,.rejected-row{background:#ffe6e9!important}.out-of-limit input,.out-of-limit select{border-color:#dc3545}@media (max-width: 900px){.vehicle-info{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 550px){.vehicle-info{grid-template-columns:1fr}}\n"] }]
|
|
96
96
|
}], ctorParameters: function () { return [{ type: i1.QualityApiService }, { type: i2.PermissionService }]; } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGl0eS1kZWZpbml0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWxpdGUvc3JjL2xpYi9jb21wb25lbnRzL3F1YWxpdHktZGVmaW5pdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2FsaXRlL3NyYy9saWIvY29tcG9uZW50cy9xdWFsaXR5LWRlZmluaXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQUdoRSxNQUFNLE9BQU8sMkJBQTJCO0lBS3RDLFlBQW9CLEdBQXNCLEVBQVUsV0FBOEI7UUFBOUQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFKbEYsUUFBRyxHQUFtQyxTQUFTLENBQUM7UUFBQyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUFDLFlBQU8sR0FBcUIsRUFBRSxDQUFDO1FBQUMsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFBQyxXQUFNLEdBQW1CLEVBQUUsQ0FBQztRQUNwSyxXQUFNLEdBQTBCLElBQUksQ0FBQztRQUFDLFNBQUksR0FBdUIsSUFBSSxDQUFDO1FBQUMsVUFBSyxHQUF3QixJQUFJLENBQUM7UUFBQyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQUMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUFDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFBQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQUMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNoTCxjQUFTLEdBQXNCLEVBQUUsQ0FBQztRQUFDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQUMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDOUUsYUFBUSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnQ0FBZ0MsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDelcsQ0FBQztJQUN0RixJQUFJLE9BQU8sS0FBYyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0YsSUFBSSxTQUFTLEtBQWMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLFFBQVEsS0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pLO2FBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE9BQU87WUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7O1lBQ2hMLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3SixDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQW1DLElBQVUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25HLElBQUksQ0FBQyxJQUFZLElBQVksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUYsVUFBVSxDQUFDLEtBQXNCLElBQVUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdE8sUUFBUSxDQUFDLEtBQW1CLElBQVUsSUFBSSxDQUFDLEtBQUss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Q0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDL0csTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBTSxDQUFDLENBQUM7UUFDcEssT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9LLENBQUM7SUFDRCxNQUFNO1FBQ0osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDNUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLFVBQVUsSUFBSSxnREFBZ0QsQ0FBQztZQUFFLE9BQU87UUFDbEcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pKLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1SyxDQUFDOzt3SEFoRFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsK0RDUHhDLGtnUUF5Q0E7MkZEbENhLDJCQUEyQjtrQkFEdkMsU0FBUzsrQkFBYSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgTW92ZW1lbnREZXRhaWwsIE1vdmVtZW50VHlwZSwgUXVhbGl0eVNoaWZ0LCBRdWFsaXR5VGFuaywgUXVhbGl0eUxhYm9yYW50IH0gZnJvbSAnLi4vbW9kZWxzL2ludGFrZS5tb2RlbHMnO1xuaW1wb3J0IHsgUXVhbGl0eUFwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWFsaXR5LWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJy4uL3NlcnZpY2VzL3F1YWxpdHktbWVhc3VyZW1lbnRzJztcblxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiAnbGliLXF1YWxpdHktZGVmaW5pdGlvbnMnLCB0ZW1wbGF0ZVVybDogJy4vcXVhbGl0eS1kZWZpbml0aW9ucy5jb21wb25lbnQuaHRtbCcsIHN0eWxlVXJsczogWycuL2ludGFrZS5jb21wb25lbnQuc2NzcyddIH0pXG5leHBvcnQgY2xhc3MgUXVhbGl0eURlZmluaXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGFiOiAnZGV0YWlscycgfCAndGFua3MnIHwgJ3NoaWZ0cycgPSAnZGV0YWlscyc7IHR5cGVzOiBNb3ZlbWVudFR5cGVbXSA9IFtdOyBkZXRhaWxzOiBNb3ZlbWVudERldGFpbFtdID0gW107IHRhbmtzOiBRdWFsaXR5VGFua1tdID0gW107IHNoaWZ0czogUXVhbGl0eVNoaWZ0W10gPSBbXTtcbiAgZGV0YWlsOiBNb3ZlbWVudERldGFpbCB8IG51bGwgPSBudWxsOyB0YW5rOiBRdWFsaXR5VGFuayB8IG51bGwgPSBudWxsOyBzaGlmdDogUXVhbGl0eVNoaWZ0IHwgbnVsbCA9IG51bGw7IGlzTmV3ID0gdHJ1ZTsgYnVzeSA9IGZhbHNlOyBlcnJvciA9ICcnOyBtb2RhbEVycm9yID0gJyc7IHN1Y2Nlc3MgPSAnJztcbiAgbGFib3JhbnRzOiBRdWFsaXR5TGFib3JhbnRbXSA9IFtdOyBsYWJvcmFudHNCdXN5ID0gZmFsc2U7IGxhYm9yYW50c0Vycm9yID0gJyc7XG4gIHByb2ZpbGVzID0gW3sgY29kZTogJycsIG5hbWU6ICdTb3J1bGFyxLEga2VuZGltIHRhbsSxbWxheWFjYcSfxLFtJyB9LCB7IGNvZGU6ICdSQVcnLCBuYW1lOiAnSGFtIEF5w6dpw6dlayBZYcSfxLEnIH0sIHsgY29kZTogJ1JFRklORUQnLCBuYW1lOiAnUmFmaW5lIFlhxJ8nIH0sIHsgY29kZTogJ1BBTE0nLCBuYW1lOiAnUGFsbSBPaWwgLyBQYWxtIE9sZWluJyB9LCB7IGNvZGU6ICdDT0FMJywgbmFtZTogJ0vDtm3DvHInIH0sIHsgY29kZTogJ05BT0gnLCBuYW1lOiAnS29zdGlrIChOYU9IKScgfSwgeyBjb2RlOiAnUEhPU1BIT1JJQycsIG5hbWU6ICdGb3Nmb3JpayBBc2l0JyB9LCB7IGNvZGU6ICdTVUxGVVJJQycsIG5hbWU6ICdTw7xsZsO8cmlrIEFzaXQnIH0sIHsgY29kZTogJ1BFUkxJVEUnLCBuYW1lOiAnUGVybGl0JyB9LCB7IGNvZGU6ICdFQVJUSCcsIG5hbWU6ICdBxJ9hcnRtYSBUb3ByYcSfxLEnIH1dO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaTogUXVhbGl0eUFwaVNlcnZpY2UsIHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25TZXJ2aWNlKSB7fVxuICBnZXQgY2FuRWRpdCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMuZ2V0R3JhbnRlZFBvbGljeSgnS2FsaXRlLkRlZmluaXRpb25zLkVkaXQnKTsgfVxuICBnZXQgY2FuRGVsZXRlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucy5nZXRHcmFudGVkUG9saWN5KCdLYWxpdGUuRGVmaW5pdGlvbnMuRGVsZXRlJyk7IH1cbiAgbmdPbkluaXQoKTogdm9pZCB7IHRoaXMubG9hZCgpOyB9XG4gIGxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5idXN5ID0gdHJ1ZTsgdGhpcy5lcnJvciA9ICcnO1xuICAgIGlmICh0aGlzLnRhYiA9PT0gJ2RldGFpbHMnKSB7XG4gICAgICB0aGlzLmFwaS5tb3ZlbWVudFR5cGVzKCkuc3Vic2NyaWJlKHsgbmV4dDogeCA9PiB0aGlzLnR5cGVzID0geCwgZXJyb3I6IGUgPT4gdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKSB9KTtcbiAgICAgIHRoaXMuYXBpLm1vdmVtZW50RGV0YWlscygpLnN1YnNjcmliZSh7IG5leHQ6IHggPT4geyB0aGlzLmRldGFpbHMgPSB4OyB0aGlzLmJ1c3kgPSBmYWxzZTsgfSwgZXJyb3I6IGUgPT4geyB0aGlzLmVycm9yID0gZXJyb3JNZXNzYWdlKGUpOyB0aGlzLmJ1c3kgPSBmYWxzZTsgfSB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFiID09PSAndGFua3MnKSB0aGlzLmFwaS50YW5rcygpLnN1YnNjcmliZSh7IG5leHQ6IHggPT4geyB0aGlzLnRhbmtzID0geDsgdGhpcy5idXN5ID0gZmFsc2U7IH0sIGVycm9yOiBlID0+IHsgdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKTsgdGhpcy5idXN5ID0gZmFsc2U7IH0gfSk7XG4gICAgZWxzZSB0aGlzLmFwaS5zaGlmdHMoKS5zdWJzY3JpYmUoeyBuZXh0OiB4ID0+IHsgdGhpcy5zaGlmdHMgPSB4OyB0aGlzLmJ1c3kgPSBmYWxzZTsgfSwgZXJyb3I6IGUgPT4geyB0aGlzLmVycm9yID0gZXJyb3JNZXNzYWdlKGUpOyB0aGlzLmJ1c3kgPSBmYWxzZTsgfSB9KTtcbiAgfVxuICBzZWxlY3RUYWIodGFiOiAnZGV0YWlscycgfCAndGFua3MnIHwgJ3NoaWZ0cycpOiB2b2lkIHsgdGhpcy50YWIgPSB0YWI7IHRoaXMuY2xvc2UoKTsgdGhpcy5sb2FkKCk7IH1cbiAgbmFtZShjb2RlOiBzdHJpbmcpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy50eXBlcy5maW5kKHggPT4geC5jb2RlID09PSBjb2RlKT8ubmFtZSB8fCBjb2RlOyB9XG4gIG9wZW5EZXRhaWwodmFsdWU/OiBNb3ZlbWVudERldGFpbCk6IHZvaWQgeyB0aGlzLmVycm9yID0gJyc7IHRoaXMubW9kYWxFcnJvciA9ICcnOyB0aGlzLmlzTmV3ID0gIXZhbHVlOyB0aGlzLmRldGFpbCA9IHZhbHVlID8geyAuLi52YWx1ZSB9IDogeyBjb2RlOiAnJywgbW92ZW1lbnRUeXBlQ29kZTogJycsIGRldGFpbENvZGU6ICcnLCBuYW1lOiAnJywgcHJvZmlsZTogJycsIGFjdGl2ZTogdHJ1ZSB9OyB9XG4gIG9wZW5UYW5rKHZhbHVlPzogUXVhbGl0eVRhbmspOiB2b2lkIHsgdGhpcy5lcnJvciA9ICcnOyB0aGlzLm1vZGFsRXJyb3IgPSAnJzsgdGhpcy5pc05ldyA9ICF2YWx1ZTsgdGhpcy50YW5rID0gdmFsdWUgPyB7IC4uLnZhbHVlIH0gOiB7IGNvZGU6ICcnLCBuYW1lOiAnJywgdHlwZTogJ1JhdycsIGNhcGFjaXR5OiBudWxsLCBhY3RpdmU6IHRydWUgfTsgfVxuICBvcGVuU2hpZnQodmFsdWU/OiBRdWFsaXR5U2hpZnQpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yID0gJyc7IHRoaXMubW9kYWxFcnJvciA9ICcnO1xuICAgIHRoaXMuaXNOZXcgPSAhdmFsdWU7XG4gICAgdGhpcy5zaGlmdCA9IHZhbHVlID8geyAuLi52YWx1ZSwgYW5hbHlzdFVzZXJJZDogdmFsdWUuYW5hbHlzdFVzZXJJZCB8fCBudWxsIH0gOiB7IGNvZGU6ICcnLCBuYW1lOiAnJywgc3RhcnRIb3VyOiA3LCBlbmRIb3VyOiAxNSwgYW5hbHlzdDogJycsIGFuYWx5c3RVc2VySWQ6IG51bGwsIGFjdGl2ZTogdHJ1ZSB9O1xuICAgIHRoaXMubGFib3JhbnRzID0gW107IHRoaXMubGFib3JhbnRzQnVzeSA9IHRydWU7IHRoaXMubGFib3JhbnRzRXJyb3IgPSAnJztcbiAgICB0aGlzLmFwaS5sYWJvcmFudHMoKS5zdWJzY3JpYmUoeyBuZXh0OiB4ID0+IHsgdGhpcy5sYWJvcmFudHMgPSB4OyB0aGlzLmxhYm9yYW50c0J1c3kgPSBmYWxzZTsgfSxcbiAgICAgIGVycm9yOiBlID0+IHsgdGhpcy5sYWJvcmFudHNFcnJvciA9IGVycm9yTWVzc2FnZShlKTsgdGhpcy5sYWJvcmFudHNCdXN5ID0gZmFsc2U7IH0gfSk7XG4gIH1cbiAgbGFib3JhbnRDaGFuZ2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNoaWZ0KSB0aGlzLnNoaWZ0LmFuYWx5c3QgPSB0aGlzLmxhYm9yYW50cy5maW5kKHggPT4geC5pZCA9PT0gdGhpcy5zaGlmdCEuYW5hbHlzdFVzZXJJZCk/LnVzZXJOYW1lIHx8ICcnO1xuICB9XG4gIGdldCBzZWxlY3RlZExhYm9yYW50TWlzc2luZygpOiBib29sZWFuIHsgcmV0dXJuICEhdGhpcy5zaGlmdD8uYW5hbHlzdFVzZXJJZCAmJiAhdGhpcy5sYWJvcmFudHMuc29tZSh4ID0+IHguaWQgPT09IHRoaXMuc2hpZnQhLmFuYWx5c3RVc2VySWQpOyB9XG4gIGNsb3NlKCk6IHZvaWQgeyB0aGlzLmRldGFpbCA9IG51bGw7IHRoaXMudGFuayA9IG51bGw7IHRoaXMuc2hpZnQgPSBudWxsOyB0aGlzLm1vZGFsRXJyb3IgPSAnJzsgfVxuICBzYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kZXRhaWwgfHwgdGhpcy50YW5rIHx8IHRoaXMuc2hpZnQ7IGlmICghdmFsdWUpIHJldHVybjtcbiAgICB2YWx1ZS5jb2RlID0gdGhpcy5pc05ldyA/IHZhbHVlLmNvZGUudHJpbSgpLnRvVXBwZXJDYXNlKCkgOiB2YWx1ZS5jb2RlOyB0aGlzLmJ1c3kgPSB0cnVlOyB0aGlzLm1vZGFsRXJyb3IgPSAnJztcbiAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5kZXRhaWwgPyB0aGlzLmFwaS5zYXZlRGV0YWlsKHRoaXMuZGV0YWlsLCB0aGlzLmlzTmV3KSA6IHRoaXMudGFuayA/IHRoaXMuYXBpLnNhdmVUYW5rKHRoaXMudGFuaywgdGhpcy5pc05ldykgOiB0aGlzLmFwaS5zYXZlU2hpZnQodGhpcy5zaGlmdCEpO1xuICAgIHJlcXVlc3Quc3Vic2NyaWJlKHsgbmV4dDogKCkgPT4geyB0aGlzLmNsb3NlKCk7IHRoaXMuc3VjY2VzcyA9ICdUYW7EsW0ga2F5ZGVkaWxkaS4nOyB0aGlzLmxvYWQoKTsgfSwgZXJyb3I6IGUgPT4geyB0aGlzLm1vZGFsRXJyb3IgPSBlcnJvck1lc3NhZ2UoZSk7IHRoaXMuYnVzeSA9IGZhbHNlOyB9IH0pO1xuICB9XG4gIGRlbGV0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGV0YWlsIHx8IHRoaXMudGFuayB8fCB0aGlzLnNoaWZ0O1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5pc05ldyB8fCB0aGlzLmJ1c3kpIHJldHVybjtcbiAgICBjb25zdCB0eXBlID0gdGhpcy5kZXRhaWwgPyAnYXJhw6cgaGFyZWtldCB0w7xyw7wgZGV0YXnEsW7EsScgOiB0aGlzLnRhbmsgPyAndGFua8SxJyA6ICd2YXJkaXlhecSxJztcbiAgICBpZiAoIWNvbmZpcm0oYCR7dmFsdWUuY29kZX0ga29kbHUgJHt0eXBlfSB2ZSBiYcSfbMSxIHRhbsSxbWxhcsSxIGthbMSxY8SxIG9sYXJhayBzaWxpbnNpbiBtaT9gKSkgcmV0dXJuO1xuICAgIHRoaXMuYnVzeSA9IHRydWU7IHRoaXMubW9kYWxFcnJvciA9ICcnO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLmRldGFpbCA/IHRoaXMuYXBpLmRlbGV0ZURldGFpbCh2YWx1ZS5jb2RlKSA6IHRoaXMudGFuayA/IHRoaXMuYXBpLmRlbGV0ZVRhbmsodmFsdWUuY29kZSkgOiB0aGlzLmFwaS5kZWxldGVTaGlmdCh2YWx1ZS5jb2RlKTtcbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7IG5leHQ6ICgpID0+IHsgdGhpcy5jbG9zZSgpOyB0aGlzLnN1Y2Nlc3MgPSAnVGFuxLFtIHNpbGluZGkuJzsgdGhpcy5sb2FkKCk7IH0sIGVycm9yOiBlID0+IHsgdGhpcy5tb2RhbEVycm9yID0gZXJyb3JNZXNzYWdlKGUpOyB0aGlzLmJ1c3kgPSBmYWxzZTsgfSB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPjxoMz5LYWxpdGUgVGFuxLFtbGFyxLE8L2gzPjxkaXYgY2xhc3M9XCJjYXJkXCI+PGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTNcIj48ZGl2IGNsYXNzPVwiYnRuLWdyb3VwXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIFtjbGFzcy5idG4tcHJpbWFyeV09XCJ0YWIgPT09ICdkZXRhaWxzJ1wiIFtjbGFzcy5idG4tb3V0bGluZS1zZWNvbmRhcnldPVwidGFiICE9PSAnZGV0YWlscydcIiAoY2xpY2spPVwic2VsZWN0VGFiKCdkZXRhaWxzJylcIj5BcmHDpyBIYXJla2V0IFTDvHJsZXJpIERldGF5PC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIFtjbGFzcy5idG4tcHJpbWFyeV09XCJ0YWIgPT09ICd0YW5rcydcIiBbY2xhc3MuYnRuLW91dGxpbmUtc2Vjb25kYXJ5XT1cInRhYiAhPT0gJ3RhbmtzJ1wiIChjbGljayk9XCJzZWxlY3RUYWIoJ3RhbmtzJylcIj5UYW5rbGFyPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0blwiIFtjbGFzcy5idG4tcHJpbWFyeV09XCJ0YWIgPT09ICdzaGlmdHMnXCIgW2NsYXNzLmJ0bi1vdXRsaW5lLXNlY29uZGFyeV09XCJ0YWIgIT09ICdzaGlmdHMnXCIgKGNsaWNrKT1cInNlbGVjdFRhYignc2hpZnRzJylcIj5WYXJkaXlhbGFyPC9idXR0b24+XG4gIDwvZGl2PjxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAqbmdJZj1cImNhbkVkaXRcIiBbZGlzYWJsZWRdPVwiYnVzeVwiIChjbGljayk9XCJ0YWIgPT09ICdkZXRhaWxzJyA/IG9wZW5EZXRhaWwoKSA6IHRhYiA9PT0gJ3RhbmtzJyA/IG9wZW5UYW5rKCkgOiBvcGVuU2hpZnQoKVwiPisgWWVuaSBLYXnEsXQ8L2J1dHRvbj48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj57eyBlcnJvciB9fTwvZGl2PjxkaXYgKm5nSWY9XCJzdWNjZXNzXCIgY2xhc3M9XCJhbGVydCBhbGVydC1zdWNjZXNzXCI+e3sgc3VjY2VzcyB9fTwvZGl2PjxkaXYgKm5nSWY9XCJidXN5XCIgY2xhc3M9XCJxdWFsaXR5LWxvYWRpbmdcIiByb2xlPVwic3RhdHVzXCI+VGFuxLFtbGFyIHnDvGtsZW5peW9y4oCmPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCIgW2hpZGRlbl09XCJidXN5XCI+XG4gICAgPHRhYmxlICpuZ0lmPVwidGFiID09PSAnZGV0YWlscydcIiBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWRcIj48dGhlYWQ+PHRyPjx0aD7EsMWfbGVtbGVyPC90aD48dGg+QXJhw6cgSGFyZWtldCBUw7xyw7w8L3RoPjx0aD5EZXRheSBLb2R1PC90aD48dGg+RGV0YXkgQWTEsTwvdGg+PHRoPkFrdGlmPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0ciAqbmdGb3I9XCJsZXQgZCBvZiBkZXRhaWxzXCI+PHRkPjxidXR0b24gKm5nSWY9XCJjYW5FZGl0XCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiAoY2xpY2spPVwib3BlbkRldGFpbChkKVwiPkTDvHplbmxlPC9idXR0b24+PGEgY2xhc3M9XCJxdWFsaXR5LXF1ZXN0aW9ucy1saW5rXCIgW3JvdXRlckxpbmtdPVwiWycva2FsaXRlL3BhcmFtZXRlcnMnXVwiIFtxdWVyeVBhcmFtc109XCJ7dHlwZTogJ0lucHV0JywgZGV0YWlsOiBkLmNvZGV9XCI+S2FsaXRlIFNvcnVsYXLEsTwvYT48L3RkPjx0ZD57eyBuYW1lKGQubW92ZW1lbnRUeXBlQ29kZSkgfX08L3RkPjx0ZD57eyBkLmRldGFpbENvZGUgfHwgJ+KAlCcgfX08L3RkPjx0ZD57eyBkLm5hbWUgfHwgJ+KAlCcgfX08L3RkPjx0ZD57eyBkLmFjdGl2ZSA/ICdFdmV0JyA6ICdIYXnEsXInIH19PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT5cbiAgICA8dGFibGUgKm5nSWY9XCJ0YWIgPT09ICd0YW5rcydcIiBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWRcIj48dGhlYWQ+PHRyPjx0aD7EsMWfbGVtbGVyPC90aD48dGg+S29kPC90aD48dGg+QWQ8L3RoPjx0aD5UaXA8L3RoPjx0aD5LYXBhc2l0ZTwvdGg+PHRoPkFrdGlmPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0ciAqbmdGb3I9XCJsZXQgdCBvZiB0YW5rc1wiPjx0ZD48YnV0dG9uICpuZ0lmPVwiY2FuRWRpdFwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5UYW5rKHQpXCI+RMO8emVubGU8L2J1dHRvbj48L3RkPjx0ZD57eyB0LmNvZGUgfX08L3RkPjx0ZD57eyB0Lm5hbWUgfX08L3RkPjx0ZD57eyB0LnR5cGUgPT09ICdSYXcnID8gJ0hhbSBZYcSfJyA6IHQudHlwZSA9PT0gJ1JlZmluZWQnID8gJ1JhZmluZScgOiB0LnR5cGUgPT09ICdQcm9kdWN0JyA/ICfDnHLDvG4nIDogJ0FyYScgfX08L3RkPjx0ZD57eyB0LmNhcGFjaXR5IH19PC90ZD48dGQ+e3sgdC5hY3RpdmUgPyAnRXZldCcgOiAnSGF5xLFyJyB9fTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+XG4gICAgPHRhYmxlICpuZ0lmPVwidGFiID09PSAnc2hpZnRzJ1wiIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ib3JkZXJlZFwiPjx0aGVhZD48dHI+PHRoPsSwxZ9sZW1sZXI8L3RoPjx0aD5Lb2Q8L3RoPjx0aD5BZDwvdGg+PHRoPkJhxZ9sYW5nxLHDpzwvdGg+PHRoPkJpdGnFnzwvdGg+PHRoPkxhYm9yYW50PC90aD48dGg+QWt0aWY8L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+PHRyICpuZ0Zvcj1cImxldCBzIG9mIHNoaWZ0c1wiPjx0ZD48YnV0dG9uICpuZ0lmPVwiY2FuRWRpdFwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5TaGlmdChzKVwiPkTDvHplbmxlPC9idXR0b24+PC90ZD48dGQ+e3sgcy5jb2RlIH19PC90ZD48dGQ+e3sgcy5uYW1lIH19PC90ZD48dGQ+e3sgcy5zdGFydEhvdXIgfCBudW1iZXI6JzIuMC0wJyB9fTowMDwvdGQ+PHRkPnt7IHMuZW5kSG91ciB8IG51bWJlcjonMi4wLTAnIH19OjAwPC90ZD48dGQ+e3sgcy5hbmFseXN0IH19PC90ZD48dGQ+e3sgcy5hY3RpdmUgPyAnRXZldCcgOiAnSGF5xLFyJyB9fTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+XG4gIDwvZGl2PjxwICpuZ0lmPVwidGFiID09PSAnZGV0YWlscydcIiBjbGFzcz1cInRleHQtbXV0ZWRcIj5FdGtpbiB0YW7EsW1sYXJkYSBidWx1bmFuIGFyYcOnIGhhcmVrZXQgdMO8cmxlcmkga2FsaXRlIGtvbnRyb2xlIHRhYmlkaXIuIERldGF5IGtvZHUgdmUgYWTEsSBib8WfIGLEsXJha8SxbGFyYWsgeWFsbsSxeiBoYXJla2V0IHTDvHLDvCBiYcWfbMSxxJ/EsSB0YW7EsW1sYW5hYmlsaXIuPC9wPlxuPC9kaXY+PC9kaXY+PC9kaXY+XG48YWJwLW1vZGFsIFt2aXNpYmxlXT1cIiEhKGRldGFpbCB8fCB0YW5rIHx8IHNoaWZ0KVwiICh2aXNpYmxlQ2hhbmdlKT1cIiEkZXZlbnQgJiYgY2xvc2UoKVwiIFtidXN5XT1cImJ1c3lcIiBbb3B0aW9uc109XCJ7c2l6ZTogJ2xnJ31cIj5cbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+PGg1Pnt7IGlzTmV3ID8gJ1llbmkgVGFuxLFtJyA6ICdUYW7EsW3EsSBEw7x6ZW5sZScgfX08L2g1PjwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT48ZGl2ICpuZ0lmPVwibW9kYWxFcnJvclwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCI+e3sgbW9kYWxFcnJvciB9fTwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJkZXRhaWwgYXMgZFwiIGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+S2F5xLF0IEtvZHUgKjwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJkLmNvZGVcIiBbZGlzYWJsZWRdPVwiIWlzTmV3XCIgbWF4bGVuZ3RoPVwiMjRcIiAvPjwvZGl2PjxkaXYgY2xhc3M9XCJjb2wtbWQtOFwiPjxsYWJlbD5BcmHDpyBIYXJla2V0IFTDvHLDvCAqPC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJkLm1vdmVtZW50VHlwZUNvZGVcIiBbZGlzYWJsZWRdPVwiIWlzTmV3XCI+PG9wdGlvbiB2YWx1ZT1cIlwiPlNlw6dpbjwvb3B0aW9uPjxvcHRpb24gKm5nRm9yPVwibGV0IHR5cGUgb2YgdHlwZXNcIiBbdmFsdWVdPVwidHlwZS5jb2RlXCI+e3sgdHlwZS5uYW1lIH19PC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPjxsYWJlbD5EZXRheSBLb2R1PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImQuZGV0YWlsQ29kZVwiIC8+PC9kaXY+PGRpdiBjbGFzcz1cImNvbC1tZC04IG10LTNcIj48bGFiZWw+RGV0YXkgQWTEsTwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJkLm5hbWVcIiAvPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC0zXCI+PGxhYmVsPkJhxZ9sYW5nxLHDpyBTb3J1bGFyxLE8L2xhYmVsPjxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImQucHJvZmlsZVwiIFtkaXNhYmxlZF09XCIhaXNOZXdcIj48b3B0aW9uICpuZ0Zvcj1cImxldCBwIG9mIHByb2ZpbGVzXCIgW3ZhbHVlXT1cInAuY29kZVwiPnt7IHAubmFtZSB9fTwvb3B0aW9uPjwvc2VsZWN0PjxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWRcIj5TZcOnaWxlbiDFn2FibG9udW4gc29ydWxhcsSxIHZlIGxpbWl0bGVyaSBLYWxpdGUgUGFyYW1ldHJlbGVyaSBla3JhbsSxbmRhbiBkw7x6ZW5sZW5lYmlsaXIuPC9zbWFsbD48L2Rpdj48ZGl2IGNsYXNzPVwiY29sLW1kLTEyIG10LTNcIj48bGFiZWw+PGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFsobmdNb2RlbCldPVwiZC5hY3RpdmVcIiAvPiBBa3RpZjwvbGFiZWw+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInRhbmsgYXMgdFwiIGNsYXNzPVwicm93XCI+PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPktvZCAqPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInQuY29kZVwiIFtkaXNhYmxlZF09XCIhaXNOZXdcIiAvPjwvZGl2PjxkaXYgY2xhc3M9XCJjb2wtbWQtOFwiPjxsYWJlbD5BZCAqPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInQubmFtZVwiIC8+PC9kaXY+PGRpdiBjbGFzcz1cImNvbC1tZC02IG10LTNcIj48bGFiZWw+VGlwPC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0LnR5cGVcIj48b3B0aW9uIHZhbHVlPVwiUmF3XCI+SGFtIFlhxJ88L29wdGlvbj48b3B0aW9uIHZhbHVlPVwiUmVmaW5lZFwiPlJhZmluZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJJbnRlcm1lZGlhdGVcIj5BcmE8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwiUHJvZHVjdFwiPsOccsO8bjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zXCI+PGxhYmVsPkthcGFzaXRlPC9sYWJlbD48aW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidC5jYXBhY2l0eVwiIC8+PC9kaXY+PGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC0zXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInQuYWN0aXZlXCIgLz4gQWt0aWY8L2xhYmVsPjwvZGl2PjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzaGlmdCBhcyBzXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPjxsYWJlbD5Lb2QgKjwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzLmNvZGVcIiBbZGlzYWJsZWRdPVwiIWlzTmV3XCIgLz48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPjxsYWJlbD5BZCAqPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInMubmFtZVwiIC8+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPjxsYWJlbD5CYcWfbGFuZ8Sxw6cgU2FhdGk8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIG1heD1cIjIzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInMuc3RhcnRIb3VyXCIgLz48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+PGxhYmVsPkJpdGnFnyBTYWF0aTwvbGFiZWw+PGlucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgbWF4PVwiMjNcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicy5lbmRIb3VyXCIgLz48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+PGxhYmVsPkxhYm9yYW50PC9sYWJlbD5cbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicy5hbmFseXN0VXNlcklkXCIgKGNoYW5nZSk9XCJsYWJvcmFudENoYW5nZWQoKVwiIFtkaXNhYmxlZF09XCJidXN5IHx8IGxhYm9yYW50c0J1c3lcIj5cbiAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIj57eyAhcy5hbmFseXN0VXNlcklkICYmIHMuYW5hbHlzdCA/ICdNZXZjdXQ6ICcgKyBzLmFuYWx5c3QgKyAnIChlc2tpIGthecSxdCknIDogJ1Nlw6dpbicgfX08L29wdGlvbj5cbiAgICAgICAgICA8b3B0aW9uICpuZ0lmPVwic2VsZWN0ZWRMYWJvcmFudE1pc3NpbmdcIiBbbmdWYWx1ZV09XCJzLmFuYWx5c3RVc2VySWRcIiBkaXNhYmxlZD57eyBzLmFuYWx5c3QgfX0gKHNlw6dpbGViaWxpciBkZcSfaWwpPC9vcHRpb24+XG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgdXNlciBvZiBsYWJvcmFudHNcIiBbbmdWYWx1ZV09XCJ1c2VyLmlkXCI+e3sgdXNlci51c2VyTmFtZSB9fTwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgPHNtYWxsICpuZ0lmPVwibGFib3JhbnRzQnVzeVwiIGNsYXNzPVwidGV4dC1tdXRlZFwiPkt1bGxhbsSxY8SxbGFyIHnDvGtsZW5peW9y4oCmPC9zbWFsbD5cbiAgICAgICAgPHNtYWxsICpuZ0lmPVwiIWxhYm9yYW50c0J1c3kgJiYgIWxhYm9yYW50c0Vycm9yICYmICFsYWJvcmFudHMubGVuZ3RoXCIgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+QnUgZmlybWFkYSBha3RpZiB2ZSBwcm9zZXMgdmVyaSBnaXJpxZ9pIHlldGtpc2kgb2xhbiBrdWxsYW7EsWPEsSBidWx1bmFtYWTEsS48L3NtYWxsPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibGFib3JhbnRzRXJyb3JcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCIgcm9sZT1cImFsZXJ0XCI+e3sgbGFib3JhbnRzRXJyb3IgfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC0zXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInMuYWN0aXZlXCIgLz4gQWt0aWY8L2xhYmVsPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPjxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPjxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRhbmdlciBtci1hdXRvXCIgKm5nSWY9XCJjYW5EZWxldGUgJiYgIWlzTmV3XCIgW2Rpc2FibGVkXT1cImJ1c3lcIiAoY2xpY2spPVwiZGVsZXRlKClcIj5TaWw8L2J1dHRvbj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBbZGlzYWJsZWRdPVwiYnVzeVwiIChjbGljayk9XCJjbG9zZSgpXCI+VmF6Z2XDpzwvYnV0dG9uPjxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbZGlzYWJsZWRdPVwiYnVzeVwiIChjbGljayk9XCJzYXZlKClcIj5LYXlkZXQ8L2J1dHRvbj48L25nLXRlbXBsYXRlPlxuPC9hYnAtbW9kYWw+XG4iXX0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGl0eS1kZWZpbml0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWxpdGUvc3JjL2xpYi9jb21wb25lbnRzL3F1YWxpdHktZGVmaW5pdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2FsaXRlL3NyYy9saWIvY29tcG9uZW50cy9xdWFsaXR5LWRlZmluaXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQUdoRSxNQUFNLE9BQU8sMkJBQTJCO0lBS3RDLFlBQW9CLEdBQXNCLEVBQVUsV0FBOEI7UUFBOUQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFKbEYsUUFBRyxHQUFtQyxTQUFTLENBQUM7UUFBQyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUFDLFlBQU8sR0FBcUIsRUFBRSxDQUFDO1FBQUMsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFBQyxXQUFNLEdBQW1CLEVBQUUsQ0FBQztRQUNwSyxXQUFNLEdBQTBCLElBQUksQ0FBQztRQUFDLFNBQUksR0FBdUIsSUFBSSxDQUFDO1FBQUMsVUFBSyxHQUF3QixJQUFJLENBQUM7UUFBQyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQUMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUFDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFBQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQUMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNoTCxjQUFTLEdBQXNCLEVBQUUsQ0FBQztRQUFDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQUMsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDOUUsYUFBUSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxnQ0FBZ0MsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDelcsQ0FBQztJQUN0RixJQUFJLE9BQU8sS0FBYyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsMENBQTBDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsSUFBSSxTQUFTLEtBQWMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLDRDQUE0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BILFFBQVEsS0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pLO2FBQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE9BQU87WUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7O1lBQ2hMLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3SixDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQW1DLElBQVUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25HLElBQUksQ0FBQyxJQUFZLElBQVksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUYsVUFBVSxDQUFDLEtBQXNCLElBQVUsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdE8sUUFBUSxDQUFDLEtBQW1CLElBQVUsSUFBSSxDQUFDLEtBQUss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Q0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDL0csTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBTSxDQUFDLENBQUM7UUFDcEssT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9LLENBQUM7SUFDRCxNQUFNO1FBQ0osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDNUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLFVBQVUsSUFBSSxnREFBZ0QsQ0FBQztZQUFFLE9BQU87UUFDbEcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFBQyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pKLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1SyxDQUFDOzt3SEFoRFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsK0RDUHhDLGtnUUF5Q0E7MkZEbENhLDJCQUEyQjtrQkFEdkMsU0FBUzsrQkFBYSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgTW92ZW1lbnREZXRhaWwsIE1vdmVtZW50VHlwZSwgUXVhbGl0eVNoaWZ0LCBRdWFsaXR5VGFuaywgUXVhbGl0eUxhYm9yYW50IH0gZnJvbSAnLi4vbW9kZWxzL2ludGFrZS5tb2RlbHMnO1xuaW1wb3J0IHsgUXVhbGl0eUFwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWFsaXR5LWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IGVycm9yTWVzc2FnZSB9IGZyb20gJy4uL3NlcnZpY2VzL3F1YWxpdHktbWVhc3VyZW1lbnRzJztcblxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiAnbGliLXF1YWxpdHktZGVmaW5pdGlvbnMnLCB0ZW1wbGF0ZVVybDogJy4vcXVhbGl0eS1kZWZpbml0aW9ucy5jb21wb25lbnQuaHRtbCcsIHN0eWxlVXJsczogWycuL2ludGFrZS5jb21wb25lbnQuc2NzcyddIH0pXG5leHBvcnQgY2xhc3MgUXVhbGl0eURlZmluaXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGFiOiAnZGV0YWlscycgfCAndGFua3MnIHwgJ3NoaWZ0cycgPSAnZGV0YWlscyc7IHR5cGVzOiBNb3ZlbWVudFR5cGVbXSA9IFtdOyBkZXRhaWxzOiBNb3ZlbWVudERldGFpbFtdID0gW107IHRhbmtzOiBRdWFsaXR5VGFua1tdID0gW107IHNoaWZ0czogUXVhbGl0eVNoaWZ0W10gPSBbXTtcbiAgZGV0YWlsOiBNb3ZlbWVudERldGFpbCB8IG51bGwgPSBudWxsOyB0YW5rOiBRdWFsaXR5VGFuayB8IG51bGwgPSBudWxsOyBzaGlmdDogUXVhbGl0eVNoaWZ0IHwgbnVsbCA9IG51bGw7IGlzTmV3ID0gdHJ1ZTsgYnVzeSA9IGZhbHNlOyBlcnJvciA9ICcnOyBtb2RhbEVycm9yID0gJyc7IHN1Y2Nlc3MgPSAnJztcbiAgbGFib3JhbnRzOiBRdWFsaXR5TGFib3JhbnRbXSA9IFtdOyBsYWJvcmFudHNCdXN5ID0gZmFsc2U7IGxhYm9yYW50c0Vycm9yID0gJyc7XG4gIHByb2ZpbGVzID0gW3sgY29kZTogJycsIG5hbWU6ICdTb3J1bGFyxLEga2VuZGltIHRhbsSxbWxheWFjYcSfxLFtJyB9LCB7IGNvZGU6ICdSQVcnLCBuYW1lOiAnSGFtIEF5w6dpw6dlayBZYcSfxLEnIH0sIHsgY29kZTogJ1JFRklORUQnLCBuYW1lOiAnUmFmaW5lIFlhxJ8nIH0sIHsgY29kZTogJ1BBTE0nLCBuYW1lOiAnUGFsbSBPaWwgLyBQYWxtIE9sZWluJyB9LCB7IGNvZGU6ICdDT0FMJywgbmFtZTogJ0vDtm3DvHInIH0sIHsgY29kZTogJ05BT0gnLCBuYW1lOiAnS29zdGlrIChOYU9IKScgfSwgeyBjb2RlOiAnUEhPU1BIT1JJQycsIG5hbWU6ICdGb3Nmb3JpayBBc2l0JyB9LCB7IGNvZGU6ICdTVUxGVVJJQycsIG5hbWU6ICdTw7xsZsO8cmlrIEFzaXQnIH0sIHsgY29kZTogJ1BFUkxJVEUnLCBuYW1lOiAnUGVybGl0JyB9LCB7IGNvZGU6ICdFQVJUSCcsIG5hbWU6ICdBxJ9hcnRtYSBUb3ByYcSfxLEnIH1dO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaTogUXVhbGl0eUFwaVNlcnZpY2UsIHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25TZXJ2aWNlKSB7fVxuICBnZXQgY2FuRWRpdCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMuZ2V0R3JhbnRlZFBvbGljeSgnSGl0c29mdC5LYWRvb2dsdS5LYWxpdGUuRGVmaW5pdGlvbnMuRWRpdCcpOyB9XG4gIGdldCBjYW5EZWxldGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnBlcm1pc3Npb25zLmdldEdyYW50ZWRQb2xpY3koJ0hpdHNvZnQuS2Fkb29nbHUuS2FsaXRlLkRlZmluaXRpb25zLkRlbGV0ZScpOyB9XG4gIG5nT25Jbml0KCk6IHZvaWQgeyB0aGlzLmxvYWQoKTsgfVxuICBsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuYnVzeSA9IHRydWU7IHRoaXMuZXJyb3IgPSAnJztcbiAgICBpZiAodGhpcy50YWIgPT09ICdkZXRhaWxzJykge1xuICAgICAgdGhpcy5hcGkubW92ZW1lbnRUeXBlcygpLnN1YnNjcmliZSh7IG5leHQ6IHggPT4gdGhpcy50eXBlcyA9IHgsIGVycm9yOiBlID0+IHRoaXMuZXJyb3IgPSBlcnJvck1lc3NhZ2UoZSkgfSk7XG4gICAgICB0aGlzLmFwaS5tb3ZlbWVudERldGFpbHMoKS5zdWJzY3JpYmUoeyBuZXh0OiB4ID0+IHsgdGhpcy5kZXRhaWxzID0geDsgdGhpcy5idXN5ID0gZmFsc2U7IH0sIGVycm9yOiBlID0+IHsgdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKTsgdGhpcy5idXN5ID0gZmFsc2U7IH0gfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRhYiA9PT0gJ3RhbmtzJykgdGhpcy5hcGkudGFua3MoKS5zdWJzY3JpYmUoeyBuZXh0OiB4ID0+IHsgdGhpcy50YW5rcyA9IHg7IHRoaXMuYnVzeSA9IGZhbHNlOyB9LCBlcnJvcjogZSA9PiB7IHRoaXMuZXJyb3IgPSBlcnJvck1lc3NhZ2UoZSk7IHRoaXMuYnVzeSA9IGZhbHNlOyB9IH0pO1xuICAgIGVsc2UgdGhpcy5hcGkuc2hpZnRzKCkuc3Vic2NyaWJlKHsgbmV4dDogeCA9PiB7IHRoaXMuc2hpZnRzID0geDsgdGhpcy5idXN5ID0gZmFsc2U7IH0sIGVycm9yOiBlID0+IHsgdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKTsgdGhpcy5idXN5ID0gZmFsc2U7IH0gfSk7XG4gIH1cbiAgc2VsZWN0VGFiKHRhYjogJ2RldGFpbHMnIHwgJ3RhbmtzJyB8ICdzaGlmdHMnKTogdm9pZCB7IHRoaXMudGFiID0gdGFiOyB0aGlzLmNsb3NlKCk7IHRoaXMubG9hZCgpOyB9XG4gIG5hbWUoY29kZTogc3RyaW5nKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMudHlwZXMuZmluZCh4ID0+IHguY29kZSA9PT0gY29kZSk/Lm5hbWUgfHwgY29kZTsgfVxuICBvcGVuRGV0YWlsKHZhbHVlPzogTW92ZW1lbnREZXRhaWwpOiB2b2lkIHsgdGhpcy5lcnJvciA9ICcnOyB0aGlzLm1vZGFsRXJyb3IgPSAnJzsgdGhpcy5pc05ldyA9ICF2YWx1ZTsgdGhpcy5kZXRhaWwgPSB2YWx1ZSA/IHsgLi4udmFsdWUgfSA6IHsgY29kZTogJycsIG1vdmVtZW50VHlwZUNvZGU6ICcnLCBkZXRhaWxDb2RlOiAnJywgbmFtZTogJycsIHByb2ZpbGU6ICcnLCBhY3RpdmU6IHRydWUgfTsgfVxuICBvcGVuVGFuayh2YWx1ZT86IFF1YWxpdHlUYW5rKTogdm9pZCB7IHRoaXMuZXJyb3IgPSAnJzsgdGhpcy5tb2RhbEVycm9yID0gJyc7IHRoaXMuaXNOZXcgPSAhdmFsdWU7IHRoaXMudGFuayA9IHZhbHVlID8geyAuLi52YWx1ZSB9IDogeyBjb2RlOiAnJywgbmFtZTogJycsIHR5cGU6ICdSYXcnLCBjYXBhY2l0eTogbnVsbCwgYWN0aXZlOiB0cnVlIH07IH1cbiAgb3BlblNoaWZ0KHZhbHVlPzogUXVhbGl0eVNoaWZ0KTogdm9pZCB7XG4gICAgdGhpcy5lcnJvciA9ICcnOyB0aGlzLm1vZGFsRXJyb3IgPSAnJztcbiAgICB0aGlzLmlzTmV3ID0gIXZhbHVlO1xuICAgIHRoaXMuc2hpZnQgPSB2YWx1ZSA/IHsgLi4udmFsdWUsIGFuYWx5c3RVc2VySWQ6IHZhbHVlLmFuYWx5c3RVc2VySWQgfHwgbnVsbCB9IDogeyBjb2RlOiAnJywgbmFtZTogJycsIHN0YXJ0SG91cjogNywgZW5kSG91cjogMTUsIGFuYWx5c3Q6ICcnLCBhbmFseXN0VXNlcklkOiBudWxsLCBhY3RpdmU6IHRydWUgfTtcbiAgICB0aGlzLmxhYm9yYW50cyA9IFtdOyB0aGlzLmxhYm9yYW50c0J1c3kgPSB0cnVlOyB0aGlzLmxhYm9yYW50c0Vycm9yID0gJyc7XG4gICAgdGhpcy5hcGkubGFib3JhbnRzKCkuc3Vic2NyaWJlKHsgbmV4dDogeCA9PiB7IHRoaXMubGFib3JhbnRzID0geDsgdGhpcy5sYWJvcmFudHNCdXN5ID0gZmFsc2U7IH0sXG4gICAgICBlcnJvcjogZSA9PiB7IHRoaXMubGFib3JhbnRzRXJyb3IgPSBlcnJvck1lc3NhZ2UoZSk7IHRoaXMubGFib3JhbnRzQnVzeSA9IGZhbHNlOyB9IH0pO1xuICB9XG4gIGxhYm9yYW50Q2hhbmdlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaGlmdCkgdGhpcy5zaGlmdC5hbmFseXN0ID0gdGhpcy5sYWJvcmFudHMuZmluZCh4ID0+IHguaWQgPT09IHRoaXMuc2hpZnQhLmFuYWx5c3RVc2VySWQpPy51c2VyTmFtZSB8fCAnJztcbiAgfVxuICBnZXQgc2VsZWN0ZWRMYWJvcmFudE1pc3NpbmcoKTogYm9vbGVhbiB7IHJldHVybiAhIXRoaXMuc2hpZnQ/LmFuYWx5c3RVc2VySWQgJiYgIXRoaXMubGFib3JhbnRzLnNvbWUoeCA9PiB4LmlkID09PSB0aGlzLnNoaWZ0IS5hbmFseXN0VXNlcklkKTsgfVxuICBjbG9zZSgpOiB2b2lkIHsgdGhpcy5kZXRhaWwgPSBudWxsOyB0aGlzLnRhbmsgPSBudWxsOyB0aGlzLnNoaWZ0ID0gbnVsbDsgdGhpcy5tb2RhbEVycm9yID0gJyc7IH1cbiAgc2F2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGV0YWlsIHx8IHRoaXMudGFuayB8fCB0aGlzLnNoaWZ0OyBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgdmFsdWUuY29kZSA9IHRoaXMuaXNOZXcgPyB2YWx1ZS5jb2RlLnRyaW0oKS50b1VwcGVyQ2FzZSgpIDogdmFsdWUuY29kZTsgdGhpcy5idXN5ID0gdHJ1ZTsgdGhpcy5tb2RhbEVycm9yID0gJyc7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuZGV0YWlsID8gdGhpcy5hcGkuc2F2ZURldGFpbCh0aGlzLmRldGFpbCwgdGhpcy5pc05ldykgOiB0aGlzLnRhbmsgPyB0aGlzLmFwaS5zYXZlVGFuayh0aGlzLnRhbmssIHRoaXMuaXNOZXcpIDogdGhpcy5hcGkuc2F2ZVNoaWZ0KHRoaXMuc2hpZnQhKTtcbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7IG5leHQ6ICgpID0+IHsgdGhpcy5jbG9zZSgpOyB0aGlzLnN1Y2Nlc3MgPSAnVGFuxLFtIGtheWRlZGlsZGkuJzsgdGhpcy5sb2FkKCk7IH0sIGVycm9yOiBlID0+IHsgdGhpcy5tb2RhbEVycm9yID0gZXJyb3JNZXNzYWdlKGUpOyB0aGlzLmJ1c3kgPSBmYWxzZTsgfSB9KTtcbiAgfVxuICBkZWxldGUoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmRldGFpbCB8fCB0aGlzLnRhbmsgfHwgdGhpcy5zaGlmdDtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuaXNOZXcgfHwgdGhpcy5idXN5KSByZXR1cm47XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZGV0YWlsID8gJ2FyYcOnIGhhcmVrZXQgdMO8csO8IGRldGF5xLFuxLEnIDogdGhpcy50YW5rID8gJ3RhbmvEsScgOiAndmFyZGl5YXnEsSc7XG4gICAgaWYgKCFjb25maXJtKGAke3ZhbHVlLmNvZGV9IGtvZGx1ICR7dHlwZX0gdmUgYmHEn2zEsSB0YW7EsW1sYXLEsSBrYWzEsWPEsSBvbGFyYWsgc2lsaW5zaW4gbWk/YCkpIHJldHVybjtcbiAgICB0aGlzLmJ1c3kgPSB0cnVlOyB0aGlzLm1vZGFsRXJyb3IgPSAnJztcbiAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5kZXRhaWwgPyB0aGlzLmFwaS5kZWxldGVEZXRhaWwodmFsdWUuY29kZSkgOiB0aGlzLnRhbmsgPyB0aGlzLmFwaS5kZWxldGVUYW5rKHZhbHVlLmNvZGUpIDogdGhpcy5hcGkuZGVsZXRlU2hpZnQodmFsdWUuY29kZSk7XG4gICAgcmVxdWVzdC5zdWJzY3JpYmUoeyBuZXh0OiAoKSA9PiB7IHRoaXMuY2xvc2UoKTsgdGhpcy5zdWNjZXNzID0gJ1RhbsSxbSBzaWxpbmRpLic7IHRoaXMubG9hZCgpOyB9LCBlcnJvcjogZSA9PiB7IHRoaXMubW9kYWxFcnJvciA9IGVycm9yTWVzc2FnZShlKTsgdGhpcy5idXN5ID0gZmFsc2U7IH0gfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj48aDM+S2FsaXRlIFRhbsSxbWxhcsSxPC9oMz48ZGl2IGNsYXNzPVwiY2FyZFwiPjxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtYi0zXCI+PGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiBbY2xhc3MuYnRuLXByaW1hcnldPVwidGFiID09PSAnZGV0YWlscydcIiBbY2xhc3MuYnRuLW91dGxpbmUtc2Vjb25kYXJ5XT1cInRhYiAhPT0gJ2RldGFpbHMnXCIgKGNsaWNrKT1cInNlbGVjdFRhYignZGV0YWlscycpXCI+QXJhw6cgSGFyZWtldCBUw7xybGVyaSBEZXRheTwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiBbY2xhc3MuYnRuLXByaW1hcnldPVwidGFiID09PSAndGFua3MnXCIgW2NsYXNzLmJ0bi1vdXRsaW5lLXNlY29uZGFyeV09XCJ0YWIgIT09ICd0YW5rcydcIiAoY2xpY2spPVwic2VsZWN0VGFiKCd0YW5rcycpXCI+VGFua2xhcjwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiBbY2xhc3MuYnRuLXByaW1hcnldPVwidGFiID09PSAnc2hpZnRzJ1wiIFtjbGFzcy5idG4tb3V0bGluZS1zZWNvbmRhcnldPVwidGFiICE9PSAnc2hpZnRzJ1wiIChjbGljayk9XCJzZWxlY3RUYWIoJ3NoaWZ0cycpXCI+VmFyZGl5YWxhcjwvYnV0dG9uPlxuICA8L2Rpdj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKm5nSWY9XCJjYW5FZGl0XCIgW2Rpc2FibGVkXT1cImJ1c3lcIiAoY2xpY2spPVwidGFiID09PSAnZGV0YWlscycgPyBvcGVuRGV0YWlsKCkgOiB0YWIgPT09ICd0YW5rcycgPyBvcGVuVGFuaygpIDogb3BlblNoaWZ0KClcIj4rIFllbmkgS2F5xLF0PC9idXR0b24+PC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCI+e3sgZXJyb3IgfX08L2Rpdj48ZGl2ICpuZ0lmPVwic3VjY2Vzc1wiIGNsYXNzPVwiYWxlcnQgYWxlcnQtc3VjY2Vzc1wiPnt7IHN1Y2Nlc3MgfX08L2Rpdj48ZGl2ICpuZ0lmPVwiYnVzeVwiIGNsYXNzPVwicXVhbGl0eS1sb2FkaW5nXCIgcm9sZT1cInN0YXR1c1wiPlRhbsSxbWxhciB5w7xrbGVuaXlvcuKApjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiIFtoaWRkZW5dPVwiYnVzeVwiPlxuICAgIDx0YWJsZSAqbmdJZj1cInRhYiA9PT0gJ2RldGFpbHMnXCIgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWJvcmRlcmVkXCI+PHRoZWFkPjx0cj48dGg+xLDFn2xlbWxlcjwvdGg+PHRoPkFyYcOnIEhhcmVrZXQgVMO8csO8PC90aD48dGg+RGV0YXkgS29kdTwvdGg+PHRoPkRldGF5IEFkxLE8L3RoPjx0aD5Ba3RpZjwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHIgKm5nRm9yPVwibGV0IGQgb2YgZGV0YWlsc1wiPjx0ZD48YnV0dG9uICpuZ0lmPVwiY2FuRWRpdFwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5EZXRhaWwoZClcIj5Ew7x6ZW5sZTwvYnV0dG9uPjxhIGNsYXNzPVwicXVhbGl0eS1xdWVzdGlvbnMtbGlua1wiIFtyb3V0ZXJMaW5rXT1cIlsnL2thbGl0ZS9wYXJhbWV0ZXJzJ11cIiBbcXVlcnlQYXJhbXNdPVwie3R5cGU6ICdJbnB1dCcsIGRldGFpbDogZC5jb2RlfVwiPkthbGl0ZSBTb3J1bGFyxLE8L2E+PC90ZD48dGQ+e3sgbmFtZShkLm1vdmVtZW50VHlwZUNvZGUpIH19PC90ZD48dGQ+e3sgZC5kZXRhaWxDb2RlIHx8ICfigJQnIH19PC90ZD48dGQ+e3sgZC5uYW1lIHx8ICfigJQnIH19PC90ZD48dGQ+e3sgZC5hY3RpdmUgPyAnRXZldCcgOiAnSGF5xLFyJyB9fTwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+XG4gICAgPHRhYmxlICpuZ0lmPVwidGFiID09PSAndGFua3MnXCIgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zdHJpcGVkIHRhYmxlLWJvcmRlcmVkXCI+PHRoZWFkPjx0cj48dGg+xLDFn2xlbWxlcjwvdGg+PHRoPktvZDwvdGg+PHRoPkFkPC90aD48dGg+VGlwPC90aD48dGg+S2FwYXNpdGU8L3RoPjx0aD5Ba3RpZjwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHIgKm5nRm9yPVwibGV0IHQgb2YgdGFua3NcIj48dGQ+PGJ1dHRvbiAqbmdJZj1cImNhbkVkaXRcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeVwiIChjbGljayk9XCJvcGVuVGFuayh0KVwiPkTDvHplbmxlPC9idXR0b24+PC90ZD48dGQ+e3sgdC5jb2RlIH19PC90ZD48dGQ+e3sgdC5uYW1lIH19PC90ZD48dGQ+e3sgdC50eXBlID09PSAnUmF3JyA/ICdIYW0gWWHEnycgOiB0LnR5cGUgPT09ICdSZWZpbmVkJyA/ICdSYWZpbmUnIDogdC50eXBlID09PSAnUHJvZHVjdCcgPyAnw5xyw7xuJyA6ICdBcmEnIH19PC90ZD48dGQ+e3sgdC5jYXBhY2l0eSB9fTwvdGQ+PHRkPnt7IHQuYWN0aXZlID8gJ0V2ZXQnIDogJ0hhecSxcicgfX08L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPlxuICAgIDx0YWJsZSAqbmdJZj1cInRhYiA9PT0gJ3NoaWZ0cydcIiBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWRcIj48dGhlYWQ+PHRyPjx0aD7EsMWfbGVtbGVyPC90aD48dGg+S29kPC90aD48dGg+QWQ8L3RoPjx0aD5CYcWfbGFuZ8Sxw6c8L3RoPjx0aD5CaXRpxZ88L3RoPjx0aD5MYWJvcmFudDwvdGg+PHRoPkFrdGlmPC90aD48L3RyPjwvdGhlYWQ+PHRib2R5Pjx0ciAqbmdGb3I9XCJsZXQgcyBvZiBzaGlmdHNcIj48dGQ+PGJ1dHRvbiAqbmdJZj1cImNhbkVkaXRcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeVwiIChjbGljayk9XCJvcGVuU2hpZnQocylcIj5Ew7x6ZW5sZTwvYnV0dG9uPjwvdGQ+PHRkPnt7IHMuY29kZSB9fTwvdGQ+PHRkPnt7IHMubmFtZSB9fTwvdGQ+PHRkPnt7IHMuc3RhcnRIb3VyIHwgbnVtYmVyOicyLjAtMCcgfX06MDA8L3RkPjx0ZD57eyBzLmVuZEhvdXIgfCBudW1iZXI6JzIuMC0wJyB9fTowMDwvdGQ+PHRkPnt7IHMuYW5hbHlzdCB9fTwvdGQ+PHRkPnt7IHMuYWN0aXZlID8gJ0V2ZXQnIDogJ0hhecSxcicgfX08L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPlxuICA8L2Rpdj48cCAqbmdJZj1cInRhYiA9PT0gJ2RldGFpbHMnXCIgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+RXRraW4gdGFuxLFtbGFyZGEgYnVsdW5hbiBhcmHDpyBoYXJla2V0IHTDvHJsZXJpIGthbGl0ZSBrb250cm9sZSB0YWJpZGlyLiBEZXRheSBrb2R1IHZlIGFkxLEgYm/FnyBixLFyYWvEsWxhcmFrIHlhbG7EsXogaGFyZWtldCB0w7xyw7wgYmHFn2zEscSfxLEgdGFuxLFtbGFuYWJpbGlyLjwvcD5cbjwvZGl2PjwvZGl2PjwvZGl2PlxuPGFicC1tb2RhbCBbdmlzaWJsZV09XCIhIShkZXRhaWwgfHwgdGFuayB8fCBzaGlmdClcIiAodmlzaWJsZUNoYW5nZSk9XCIhJGV2ZW50ICYmIGNsb3NlKClcIiBbYnVzeV09XCJidXN5XCIgW29wdGlvbnNdPVwie3NpemU6ICdsZyd9XCI+XG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPjxoNT57eyBpc05ldyA/ICdZZW5pIFRhbsSxbScgOiAnVGFuxLFtxLEgRMO8emVubGUnIH19PC9oNT48L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+PGRpdiAqbmdJZj1cIm1vZGFsRXJyb3JcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiPnt7IG1vZGFsRXJyb3IgfX08L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiZGV0YWlsIGFzIGRcIiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPkthecSxdCBLb2R1ICo8L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZC5jb2RlXCIgW2Rpc2FibGVkXT1cIiFpc05ld1wiIG1heGxlbmd0aD1cIjI0XCIgLz48L2Rpdj48ZGl2IGNsYXNzPVwiY29sLW1kLThcIj48bGFiZWw+QXJhw6cgSGFyZWtldCBUw7xyw7wgKjwvbGFiZWw+PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZC5tb3ZlbWVudFR5cGVDb2RlXCIgW2Rpc2FibGVkXT1cIiFpc05ld1wiPjxvcHRpb24gdmFsdWU9XCJcIj5TZcOnaW48L29wdGlvbj48b3B0aW9uICpuZ0Zvcj1cImxldCB0eXBlIG9mIHR5cGVzXCIgW3ZhbHVlXT1cInR5cGUuY29kZVwiPnt7IHR5cGUubmFtZSB9fTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTNcIj48bGFiZWw+RGV0YXkgS29kdTwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJkLmRldGFpbENvZGVcIiAvPjwvZGl2PjxkaXYgY2xhc3M9XCJjb2wtbWQtOCBtdC0zXCI+PGxhYmVsPkRldGF5IEFkxLE8L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZC5uYW1lXCIgLz48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXQtM1wiPjxsYWJlbD5CYcWfbGFuZ8Sxw6cgU29ydWxhcsSxPC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJkLnByb2ZpbGVcIiBbZGlzYWJsZWRdPVwiIWlzTmV3XCI+PG9wdGlvbiAqbmdGb3I9XCJsZXQgcCBvZiBwcm9maWxlc1wiIFt2YWx1ZV09XCJwLmNvZGVcIj57eyBwLm5hbWUgfX08L29wdGlvbj48L3NlbGVjdD48c21hbGwgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+U2XDp2lsZW4gxZ9hYmxvbnVuIHNvcnVsYXLEsSB2ZSBsaW1pdGxlcmkgS2FsaXRlIFBhcmFtZXRyZWxlcmkgZWtyYW7EsW5kYW4gZMO8emVubGVuZWJpbGlyLjwvc21hbGw+PC9kaXY+PGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC0zXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImQuYWN0aXZlXCIgLz4gQWt0aWY8L2xhYmVsPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ0YW5rIGFzIHRcIiBjbGFzcz1cInJvd1wiPjxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5Lb2QgKjwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0LmNvZGVcIiBbZGlzYWJsZWRdPVwiIWlzTmV3XCIgLz48L2Rpdj48ZGl2IGNsYXNzPVwiY29sLW1kLThcIj48bGFiZWw+QWQgKjwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0Lm5hbWVcIiAvPjwvZGl2PjxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtdC0zXCI+PGxhYmVsPlRpcDwvbGFiZWw+PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidC50eXBlXCI+PG9wdGlvbiB2YWx1ZT1cIlJhd1wiPkhhbSBZYcSfPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIlJlZmluZWRcIj5SYWZpbmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwiSW50ZXJtZWRpYXRlXCI+QXJhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIlByb2R1Y3RcIj7DnHLDvG48L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPVwiY29sLW1kLTYgbXQtM1wiPjxsYWJlbD5LYXBhc2l0ZTwvbGFiZWw+PGlucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInQuY2FwYWNpdHlcIiAvPjwvZGl2PjxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXQtM1wiPjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJ0LmFjdGl2ZVwiIC8+IEFrdGlmPC9sYWJlbD48L2Rpdj48L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hpZnQgYXMgc1wiIGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj48bGFiZWw+S29kICo8L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicy5jb2RlXCIgW2Rpc2FibGVkXT1cIiFpc05ld1wiIC8+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTlcIj48bGFiZWw+QWQgKjwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzLm5hbWVcIiAvPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTNcIj48bGFiZWw+QmHFn2xhbmfEscOnIFNhYXRpPC9sYWJlbD48aW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBtYXg9XCIyM1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzLnN0YXJ0SG91clwiIC8+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPjxsYWJlbD5CaXRpxZ8gU2FhdGk8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIG1heD1cIjIzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInMuZW5kSG91clwiIC8+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPjxsYWJlbD5MYWJvcmFudDwvbGFiZWw+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInMuYW5hbHlzdFVzZXJJZFwiIChjaGFuZ2UpPVwibGFib3JhbnRDaGFuZ2VkKClcIiBbZGlzYWJsZWRdPVwiYnVzeSB8fCBsYWJvcmFudHNCdXN5XCI+XG4gICAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCI+e3sgIXMuYW5hbHlzdFVzZXJJZCAmJiBzLmFuYWx5c3QgPyAnTWV2Y3V0OiAnICsgcy5hbmFseXN0ICsgJyAoZXNraSBrYXnEsXQpJyA6ICdTZcOnaW4nIH19PC9vcHRpb24+XG4gICAgICAgICAgPG9wdGlvbiAqbmdJZj1cInNlbGVjdGVkTGFib3JhbnRNaXNzaW5nXCIgW25nVmFsdWVdPVwicy5hbmFseXN0VXNlcklkXCIgZGlzYWJsZWQ+e3sgcy5hbmFseXN0IH19IChzZcOnaWxlYmlsaXIgZGXEn2lsKTwvb3B0aW9uPlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHVzZXIgb2YgbGFib3JhbnRzXCIgW25nVmFsdWVdPVwidXNlci5pZFwiPnt7IHVzZXIudXNlck5hbWUgfX08L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDxzbWFsbCAqbmdJZj1cImxhYm9yYW50c0J1c3lcIiBjbGFzcz1cInRleHQtbXV0ZWRcIj5LdWxsYW7EsWPEsWxhciB5w7xrbGVuaXlvcuKApjwvc21hbGw+XG4gICAgICAgIDxzbWFsbCAqbmdJZj1cIiFsYWJvcmFudHNCdXN5ICYmICFsYWJvcmFudHNFcnJvciAmJiAhbGFib3JhbnRzLmxlbmd0aFwiIGNsYXNzPVwidGV4dC1tdXRlZFwiPkJ1IGZpcm1hZGEgYWt0aWYgdmUgcHJvc2VzIHZlcmkgZ2lyacWfaSB5ZXRraXNpIG9sYW4ga3VsbGFuxLFjxLEgYnVsdW5hbWFkxLEuPC9zbWFsbD5cbiAgICAgICAgPGRpdiAqbmdJZj1cImxhYm9yYW50c0Vycm9yXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPnt7IGxhYm9yYW50c0Vycm9yIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXQtM1wiPjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJzLmFjdGl2ZVwiIC8+IEFrdGlmPC9sYWJlbD48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT48bmctdGVtcGxhdGUgI2FicEZvb3Rlcj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgbXItYXV0b1wiICpuZ0lmPVwiY2FuRGVsZXRlICYmICFpc05ld1wiIFtkaXNhYmxlZF09XCJidXN5XCIgKGNsaWNrKT1cImRlbGV0ZSgpXCI+U2lsPC9idXR0b24+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgW2Rpc2FibGVkXT1cImJ1c3lcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlZhemdlw6c8L2J1dHRvbj48YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgW2Rpc2FibGVkXT1cImJ1c3lcIiAoY2xpY2spPVwic2F2ZSgpXCI+S2F5ZGV0PC9idXR0b24+PC9uZy10ZW1wbGF0ZT5cbjwvYWJwLW1vZGFsPlxuIl19
|
|
@@ -65,9 +65,9 @@ export class QualityParametersComponent {
|
|
|
65
65
|
error: () => this.error = 'Form listesi yüklenemedi.',
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
get canEdit() { return this.permissions.getGrantedPolicy('Kalite.Parameters.Edit'); }
|
|
69
|
-
get canCreate() { return this.permissions.getGrantedPolicy('Kalite.Parameters.Create'); }
|
|
70
|
-
get canDelete() { return this.permissions.getGrantedPolicy('Kalite.Parameters.Delete'); }
|
|
68
|
+
get canEdit() { return this.permissions.getGrantedPolicy('Hitsoft.Kadooglu.Kalite.Parameters.Edit'); }
|
|
69
|
+
get canCreate() { return this.permissions.getGrantedPolicy('Hitsoft.Kadooglu.Kalite.Parameters.Create'); }
|
|
70
|
+
get canDelete() { return this.permissions.getGrantedPolicy('Hitsoft.Kadooglu.Kalite.Parameters.Delete'); }
|
|
71
71
|
get visibleForms() { return this.forms.filter(f => (f.controlType || 'Process') === this.controlType); }
|
|
72
72
|
get visibleDetails() { return this.movementDetails.filter(d => !this.movementTypeCode || d.movementTypeCode === this.movementTypeCode); }
|
|
73
73
|
switchType(type) {
|
|
@@ -329,4 +329,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
329
329
|
type: ViewChild,
|
|
330
330
|
args: ['stepEditor']
|
|
331
331
|
}] } });
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGl0eS1wYXJhbWV0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thbGl0ZS9zcmMvbGliL2NvbXBvbmVudHMvcXVhbGl0eS1wYXJhbWV0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thbGl0ZS9zcmMvbGliL2NvbXBvbmVudHMvcXVhbGl0eS1wYXJhbWV0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFzQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFjLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFPM0UsTUFBTSxPQUFPLDBCQUEwQjtJQWlDckMsWUFDVSxHQUFzQixFQUN0QixXQUE4QixFQUM5QixjQUFpQyxFQUNqQyxLQUFxQjtRQUhyQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEMvQixnQkFBVyxHQUF3QixTQUFTLENBQUM7UUFDN0Msa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUN2QyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBQzFCLGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBQ25DLGlCQUFZLEdBQUcsRUFB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RUQsV0FBVyxDQUFDLEtBQW1CO1FBQzdCLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxvQ0FBb0MsQ0FBQztZQUFFLE9BQU87UUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEYsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNULElBQUksSUFBSSxDQUFDLGlCQUFpQjtvQkFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzs7b0JBQ3pELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzt1SEF0U1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsd0tDZnZDLDhoZ0JBZ0xBOzJGRGpLYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCO3FNQVdELFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGRlZmVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFF1YWxpdHlGYWNpbGl0eSwgUXVhbGl0eUZvcm0sIFF1YWxpdHlMaW1pdCwgUXVhbGl0eVBhcmFtZXRlciwgUXVhbGl0eVN0ZXAsIFF1YWxpdHlUZW1wbGF0ZSB9IGZyb20gJy4uL21vZGVscy9xdWFsaXR5Lm1vZGVscyc7XHJcbmltcG9ydCB7IFF1YWxpdHlBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcXVhbGl0eS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTW92ZW1lbnREZXRhaWwsIE1vdmVtZW50VHlwZSB9IGZyb20gJy4uL21vZGVscy9pbnRha2UubW9kZWxzJztcclxuaW1wb3J0IHsgZXJyb3JNZXNzYWdlLCBsb2NhbERhdGUgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWFsaXR5LW1lYXN1cmVtZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWFsaXR5LXBhcmFtZXRlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWFsaXR5LXBhcmFtZXRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1YWxpdHktcGFyYW1ldGVycy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVhbGl0eVBhcmFtZXRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnRyb2xUeXBlOiAnSW5wdXQnIHwgJ1Byb2Nlc3MnID0gJ1Byb2Nlc3MnO1xyXG4gIG1vdmVtZW50VHlwZXM6IE1vdmVtZW50VHlwZVtdID0gW107XHJcbiAgbW92ZW1lbnREZXRhaWxzOiBNb3ZlbWVudERldGFpbFtdID0gW107XHJcbiAgbW92ZW1lbnRUeXBlQ29kZSA9ICcnO1xyXG4gIG1vdmVtZW50RGV0YWlsQ29kZSA9ICcnO1xyXG4gIG5ld0lucHV0Rm9ybSA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ3N0ZXBFZGl0b3InKSBwcml2YXRlIHN0ZXBFZGl0b3I/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgZm9ybXM6IFF1YWxpdHlGb3JtW10gPSBbXTtcclxuICBmYWNpbGl0aWVzOiBRdWFsaXR5RmFjaWxpdHlbXSA9IFtdO1xyXG4gIGZhY2lsaXR5Q29kZSA9ICcnO1xyXG4gIGZhY2lsaXR5U3RlcHM6IFF1YWxpdHlTdGVwW10gPSBbXTtcclxuICBlZGl0aW5nU3RlcDogUXVhbGl0eVN0ZXAgfCBudWxsID0gbnVsbDtcclxuICBuZXdTdGVwID0gZmFsc2U7XHJcbiAgZm9ybUNvZGUgPSAnJztcclxuICB0ZW1wbGF0ZTogUXVhbGl0eVRlbXBsYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgZWRpdGluZ1BhcmFtZXRlcjogUXVhbGl0eVBhcmFtZXRlciB8IG51bGwgPSBudWxsO1xyXG4gIGVkaXRpbmdMaW1pdDogUXVhbGl0eUxpbWl0IHwgbnVsbCA9IG51bGw7XHJcbiAgbmV3UGFyYW1ldGVyID0gZmFsc2U7XHJcbiAgbmV3TGltaXQgPSBmYWxzZTtcclxuICBwYXJhbWV0ZXJNb2RhbFZpc2libGUgPSBmYWxzZTtcclxuICBsaW1pdE1vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gIG1vZGFsRXJyb3IgPSAnJztcclxuICByZWFkb25seSBlZGl0b3JNb2RhbE9wdGlvbnMgPSB7IHNpemU6ICd4bCcgYXMgY29uc3QsIGNlbnRlcmVkOiB0cnVlIH07XHJcbiAgb3B0aW9uc1RleHQgPSAnJztcclxuICBwcml2YXRlIHBlbmRpbmdSZXF1ZXN0cyA9IDA7XHJcbiAgYnVzeVRleHQgPSAnS2FsaXRlIHRhbsSxbWxhcsSxIHnDvGtsZW5peW9y4oCmJztcclxuXHJcbiAgZ2V0IGJ1c3koKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnBlbmRpbmdSZXF1ZXN0cyA+IDA7IH1cclxuICBlcnJvciA9ICcnO1xyXG4gIHN1Y2Nlc3MgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFwaTogUXVhbGl0eUFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eXBlJykgPT09ICdJbnB1dCcpIHRoaXMuY29udHJvbFR5cGUgPSAnSW5wdXQnO1xyXG4gICAgdGhpcy5tb3ZlbWVudERldGFpbENvZGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkZXRhaWwnKSB8fCAnJztcclxuICAgIHRoaXMuYXBpLnF1YWxpdHlNb3ZlbWVudFR5cGVzKCkuc3Vic2NyaWJlKHsgbmV4dDogeCA9PiB0aGlzLm1vdmVtZW50VHlwZXMgPSB4LCBlcnJvcjogZSA9PiB0aGlzLmVycm9yID0gZXJyb3JNZXNzYWdlKGUpIH0pO1xyXG4gICAgdGhpcy5hcGkubW92ZW1lbnREZXRhaWxzKCkuc3Vic2NyaWJlKHsgbmV4dDogeCA9PiB7XHJcbiAgICAgIHRoaXMubW92ZW1lbnREZXRhaWxzID0geC5maWx0ZXIoZCA9PiBkLmFjdGl2ZSk7XHJcbiAgICAgIHRoaXMubW92ZW1lbnRUeXBlQ29kZSA9IHguZmluZChkID0+IGQuY29kZSA9PT0gdGhpcy5tb3ZlbWVudERldGFpbENvZGUpPy5tb3ZlbWVudFR5cGVDb2RlIHx8ICcnO1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sVHlwZSA9PT0gJ0lucHV0JykgdGhpcy5zZWxlY3RJbnB1dCgpO1xyXG4gICAgfSwgZXJyb3I6IGUgPT4gdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKSB9KTtcclxuICAgIHRoaXMudHJhY2sodGhpcy5hcGkucGFyYW1ldGVyRmFjaWxpdGllcygpLCAnS2FsaXRlIHRhbsSxbWxhcsSxIHnDvGtsZW5peW9y4oCmJykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogZmFjaWxpdGllcyA9PiB7IHRoaXMuZmFjaWxpdGllcyA9IGZhY2lsaXRpZXM7IHRoaXMuc2VsZWN0RmFjaWxpdHkoKTsgaWYgKHRoaXMuZmFjaWxpdHlDb2RlKSB0aGlzLmxvYWRTdGVwcygpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5lcnJvciA9ICdUZXNpcyBsaXN0ZXNpIHnDvGtsZW5lbWVkaS4nLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRyYWNrKHRoaXMuYXBpLmZvcm1zKCksICdLYWxpdGUgdGFuxLFtbGFyxLEgecO8a2xlbml5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiBmb3JtcyA9PiB7IHRoaXMuZm9ybXMgPSBmb3JtczsgdGhpcy5zd2l0Y2hUeXBlKHRoaXMuY29udHJvbFR5cGUpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5lcnJvciA9ICdGb3JtIGxpc3Rlc2kgecO8a2xlbmVtZWRpLicsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCBjYW5FZGl0KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucy5nZXRHcmFudGVkUG9saWN5KCdLYWxpdGUuUGFyYW1ldGVycy5FZGl0Jyk7IH1cclxuICBnZXQgY2FuQ3JlYXRlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucy5nZXRHcmFudGVkUG9saWN5KCdLYWxpdGUuUGFyYW1ldGVycy5DcmVhdGUnKTsgfVxyXG4gIGdldCBjYW5EZWxldGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnBlcm1pc3Npb25zLmdldEdyYW50ZWRQb2xpY3koJ0thbGl0ZS5QYXJhbWV0ZXJzLkRlbGV0ZScpOyB9XHJcblxyXG4gIGdldCB2aXNpYmxlRm9ybXMoKTogUXVhbGl0eUZvcm1bXSB7IHJldHVybiB0aGlzLmZvcm1zLmZpbHRlcihmID0+IChmLmNvbnRyb2xUeXBlIHx8ICdQcm9jZXNzJykgPT09IHRoaXMuY29udHJvbFR5cGUpOyB9XHJcbiAgZ2V0IHZpc2libGVEZXRhaWxzKCk6IE1vdmVtZW50RGV0YWlsW10geyByZXR1cm4gdGhpcy5tb3ZlbWVudERldGFpbHMuZmlsdGVyKGQgPT4gIXRoaXMubW92ZW1lbnRUeXBlQ29kZSB8fCBkLm1vdmVtZW50VHlwZUNvZGUgPT09IHRoaXMubW92ZW1lbnRUeXBlQ29kZSk7IH1cclxuICBzd2l0Y2hUeXBlKHR5cGU6ICdJbnB1dCcgfCAnUHJvY2VzcycpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbFR5cGUgPSB0eXBlOyB0aGlzLmVkaXRpbmdTdGVwID0gbnVsbDsgdGhpcy5mYWNpbGl0eVN0ZXBzID0gW107IHRoaXMudGVtcGxhdGUgPSBudWxsO1xyXG4gICAgaWYgKHR5cGUgPT09ICdJbnB1dCcpIHRoaXMuc2VsZWN0SW5wdXQoKTtcclxuICAgIGVsc2UgeyB0aGlzLmZvcm1Db2RlID0gdGhpcy52aXNpYmxlRm9ybXNbMF0/LmNvZGUgfHwgJyc7IHRoaXMubmV3SW5wdXRGb3JtID0gZmFsc2U7IHRoaXMubG9hZCgpOyB9XHJcbiAgfVxyXG4gIHNlbGVjdElucHV0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnZpc2libGVEZXRhaWxzLnNvbWUoZCA9PiBkLmNvZGUgPT09IHRoaXMubW92ZW1lbnREZXRhaWxDb2RlKSkgdGhpcy5tb3ZlbWVudERldGFpbENvZGUgPSB0aGlzLnZpc2libGVEZXRhaWxzWzBdPy5jb2RlIHx8ICcnO1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMudmlzaWJsZUZvcm1zLmZpbmQoZiA9PiBmLm1vdmVtZW50RGV0YWlsQ29kZSA9PT0gdGhpcy5tb3ZlbWVudERldGFpbENvZGUpO1xyXG4gICAgaWYgKGZvcm0pIHsgdGhpcy5mb3JtQ29kZSA9IGZvcm0uY29kZTsgdGhpcy5uZXdJbnB1dEZvcm0gPSBmYWxzZTsgdGhpcy5sb2FkKCk7IHJldHVybjsgfVxyXG4gICAgY29uc3QgZGV0YWlsID0gdGhpcy5tb3ZlbWVudERldGFpbHMuZmluZChkID0+IGQuY29kZSA9PT0gdGhpcy5tb3ZlbWVudERldGFpbENvZGUpO1xyXG4gICAgdGhpcy5uZXdJbnB1dEZvcm0gPSAhIWRldGFpbDsgdGhpcy5mb3JtQ29kZSA9IGRldGFpbCA/ICdJTl8nICsgZGV0YWlsLmNvZGUgOiAnJztcclxuICAgIHRoaXMudGVtcGxhdGUgPSBkZXRhaWwgPyB7IGZvcm06IHsgY29kZTogdGhpcy5mb3JtQ29kZSwgY29udHJvbFR5cGU6ICdJbnB1dCcsIG1vdmVtZW50RGV0YWlsQ29kZTogZGV0YWlsLmNvZGUsXHJcbiAgICAgIGF2ZXJhZ2VNb2RlOiAnQXJpdGhtZXRpYycsIG5hbWU6IGRldGFpbC5uYW1lIHx8IHRoaXMubW92ZW1lbnRUeXBlcy5maW5kKHQgPT4gdC5jb2RlID09PSBkZXRhaWwubW92ZW1lbnRUeXBlQ29kZSk/Lm5hbWUgfHwgJycsXHJcbiAgICAgIGRvY3VtZW50Q29kZTogJycsIHB1YmxpY2F0aW9uRGF0ZTogbG9jYWxEYXRlKCksIHJldmlzaW9uRGF0ZTogbG9jYWxEYXRlKCksIHJldmlzaW9uTnVtYmVyOiAnMScsIGFjdGl2ZTogdHJ1ZSB9LFxyXG4gICAgICBwYXJhbWV0ZXJzOiBbXSwgbGltaXRzOiBbXSwgc3RlcHM6IFtdIH0gOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbG9hZCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb3JtQ29kZSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJykgeyB0aGlzLnNlbGVjdEZhY2lsaXR5KCk7IGlmICh0aGlzLmZhY2lsaXR5Q29kZSkgdGhpcy5sb2FkU3RlcHMoKTsgfVxyXG4gICAgdGhpcy5lcnJvciA9ICcnO1xyXG4gICAgdGhpcy50cmFjayh0aGlzLmFwaS50ZW1wbGF0ZSh0aGlzLmZvcm1Db2RlKSwgJ0thbGl0ZSB0YW7EsW1sYXLEsSB5w7xrbGVuaXlvcuKApicpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHRlbXBsYXRlID0+IHtcclxuICAgICAgICB0ZW1wbGF0ZS5mb3JtLnB1YmxpY2F0aW9uRGF0ZSA9IHRlbXBsYXRlLmZvcm0ucHVibGljYXRpb25EYXRlPy5zbGljZSgwLCAxMCk7XHJcbiAgICAgICAgdGVtcGxhdGUuZm9ybS5yZXZpc2lvbkRhdGUgPSB0ZW1wbGF0ZS5mb3JtLnJldmlzaW9uRGF0ZT8uc2xpY2UoMCwgMTApO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgICAgICB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZWRpdGluZ0xpbWl0ID0gbnVsbDtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHsgdGhpcy5lcnJvciA9ICdGb3JtIHRhbsSxbcSxIHnDvGtsZW5lbWVkaS4nOyB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJldmVhbFN0ZXBFZGl0b3IoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc3RlcEVkaXRvcj8ubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7XHJcbiAgICB0aGlzLnN0ZXBFZGl0b3I/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcGFyYW1ldGVyTW9kYWxDaGFuZ2VkKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1ldGVyTW9kYWxWaXNpYmxlID0gdmlzaWJsZTtcclxuICAgIGlmICghdmlzaWJsZSkgeyB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSBudWxsOyB0aGlzLm1vZGFsRXJyb3IgPSAnJzsgfVxyXG4gIH1cclxuXHJcbiAgbGltaXRNb2RhbENoYW5nZWQodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5saW1pdE1vZGFsVmlzaWJsZSA9IHZpc2libGU7XHJcbiAgICBpZiAoIXZpc2libGUpIHsgdGhpcy5lZGl0aW5nTGltaXQgPSBudWxsOyB0aGlzLm1vZGFsRXJyb3IgPSAnJzsgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VQYXJhbWV0ZXJNb2RhbCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5idXN5KSB0aGlzLnBhcmFtZXRlck1vZGFsQ2hhbmdlZChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUxpbWl0TW9kYWwoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYnVzeSkgdGhpcy5saW1pdE1vZGFsQ2hhbmdlZChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYWNrPFQ+KHJlcXVlc3Q6IE9ic2VydmFibGU8VD4sIG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcclxuICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMrKztcclxuICAgICAgdGhpcy5idXN5VGV4dCA9IG1lc3NhZ2U7XHJcbiAgICAgIHJldHVybiByZXF1ZXN0LnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5wZW5kaW5nUmVxdWVzdHMtLSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzTmFtZShjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGU/LnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLnByb2Nlc3NDb2RlID09PSBjb2RlKT8ubmFtZSB8fCBjb2RlO1xyXG4gIH1cclxuXHJcbiAgc3RlcHMoKTogUXVhbGl0eVN0ZXBbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5mYWNpbGl0eVN0ZXBzLmZpbHRlcih4ID0+IHguYWN0aXZlKTtcclxuICB9XHJcblxyXG4gIG1hdGNoaW5nRmFjaWxpdGllcygpOiBRdWFsaXR5RmFjaWxpdHlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5mYWNpbGl0aWVzLmZpbHRlcih4ID0+IHguZm9ybUNvZGUgPT09IHRoaXMuZm9ybUNvZGUpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RmFjaWxpdHkoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubWF0Y2hpbmdGYWNpbGl0aWVzKCkuc29tZSh4ID0+IHguY29kZSA9PT0gdGhpcy5mYWNpbGl0eUNvZGUpKVxyXG4gICAgICB0aGlzLmZhY2lsaXR5Q29kZSA9IHRoaXMubWF0Y2hpbmdGYWNpbGl0aWVzKClbMF0/LmNvZGUgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBsb2FkU3RlcHMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZmFjaWxpdHlDb2RlKSByZXR1cm47XHJcbiAgICB0aGlzLnRyYWNrKHRoaXMuYXBpLnN0ZXBzKHRoaXMuZmFjaWxpdHlDb2RlKSwgJ0thbGl0ZSB0YW7EsW1sYXLEsSB5w7xrbGVuaXlvcuKApicpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHN0ZXBzID0+IHRoaXMuZmFjaWxpdHlTdGVwcyA9IHN0ZXBzLFxyXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5lcnJvciA9ICdQcm9zZXMgYWTEsW1sYXLEsSB5w7xrbGVuZW1lZGkuJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkU3RlcCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmV3U3RlcCA9IHRydWU7XHJcbiAgICB0aGlzLmVkaXRpbmdTdGVwID0geyBjb2RlOiAnJywgZmFjaWxpdHlDb2RlOiB0aGlzLmZhY2lsaXR5Q29kZSwgcHJvY2Vzc0NvZGU6ICcnLFxyXG4gICAgICBuYW1lOiAnJywgb3JkZXI6IHRoaXMuZmFjaWxpdHlTdGVwcy5sZW5ndGggKyAxLCBhY3RpdmU6IHRydWUgfTtcclxuICAgIHRoaXMucmV2ZWFsU3RlcEVkaXRvcigpO1xyXG4gIH1cclxuXHJcbiAgZWRpdFN0ZXAoc3RlcDogUXVhbGl0eVN0ZXApOiB2b2lkIHtcclxuICAgIHRoaXMubmV3U3RlcCA9IGZhbHNlO1xyXG4gICAgdGhpcy5lZGl0aW5nU3RlcCA9IHsgLi4uc3RlcCB9O1xyXG4gICAgdGhpcy5yZXZlYWxTdGVwRWRpdG9yKCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU3RlcCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5lZGl0aW5nU3RlcCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc3RlcCA9IHsgLi4udGhpcy5lZGl0aW5nU3RlcCxcclxuICAgICAgY29kZTogdGhpcy5lZGl0aW5nU3RlcC5jb2RlLnRyaW0oKS50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICBwcm9jZXNzQ29kZTogdGhpcy5lZGl0aW5nU3RlcC5wcm9jZXNzQ29kZS50cmltKCkudG9VcHBlckNhc2UoKSxcclxuICAgICAgbmFtZTogdGhpcy5lZGl0aW5nU3RlcC5uYW1lLnRyaW0oKSB9O1xyXG4gICAgdGhpcy50cmFjayh0aGlzLmFwaS5zYXZlU3RlcChzdGVwKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMuZWRpdGluZ1N0ZXAgPSBudWxsOyB0aGlzLnN1Y2Nlc3MgPSAnUHJvc2VzIGFkxLFtxLEga2F5ZGVkaWxkaS4nOyB0aGlzLmxvYWRTdGVwcygpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4geyB0aGlzLmVycm9yID0gJ1Byb3NlcyBhZMSxbcSxIGtheWRlZGlsZW1lZGkuJzsgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3JkZXJlZFBhcmFtZXRlcnMoKTogUXVhbGl0eVBhcmFtZXRlcltdIHtcclxuICAgIGNvbnN0IG9yZGVyID0gdGhpcy5zdGVwcygpLm1hcChzdGVwID0+IHN0ZXAucHJvY2Vzc0NvZGUpO1xyXG4gICAgcmV0dXJuIFsuLi4odGhpcy50ZW1wbGF0ZT8ucGFyYW1ldGVycyB8fCBbXSldLnNvcnQoKGEsIGIpID0+XHJcbiAgICAgIG9yZGVyLmluZGV4T2YoYS5zdGVwQ29kZSkgLSBvcmRlci5pbmRleE9mKGIuc3RlcENvZGUpIHx8IGEub3JkZXIgLSBiLm9yZGVyKTtcclxuICB9XHJcblxyXG4gIGxpbWl0c0Zvcihjb2RlOiBzdHJpbmcpOiBRdWFsaXR5TGltaXRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZT8ubGltaXRzLmZpbHRlcihsaW1pdCA9PiBsaW1pdC5wYXJhbWV0ZXJDb2RlID09PSBjb2RlKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGVkaXRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRlbXBsYXRlIHx8ICF0aGlzLmNhbkVkaXQpIHJldHVybjtcclxuICAgIHRoaXMudHJhY2sodGhpcy5hcGkuc2F2ZUZvcm0odGhpcy50ZW1wbGF0ZS5mb3JtKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMuc3VjY2VzcyA9ICdGb3JtIGJhxZ9sxLHEn8SxIGtheWRlZGlsZGkuJzsgdGhpcy5uZXdJbnB1dEZvcm0gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmFwaS5mb3JtcygpLnN1YnNjcmliZSh7IG5leHQ6IGZvcm1zID0+IHsgdGhpcy5mb3JtcyA9IGZvcm1zOyB0aGlzLmxvYWQoKTsgfSB9KTsgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHsgdGhpcy5lcnJvciA9ICdGb3JtIGJhxZ9sxLHEn8SxIGtheWRlZGlsZW1lZGkuJzsgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkUGFyYW1ldGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRlbXBsYXRlIHx8IHRoaXMubmV3SW5wdXRGb3JtKSByZXR1cm47XHJcbiAgICB0aGlzLm5ld1BhcmFtZXRlciA9IHRydWU7XHJcbiAgICB0aGlzLm9wdGlvbnNUZXh0ID0gJyc7XHJcbiAgICB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSB7XHJcbiAgICAgIGNvZGU6ICcnLCBmb3JtQ29kZTogdGhpcy5mb3JtQ29kZSwgc3RlcENvZGU6IHRoaXMudGVtcGxhdGUuc3RlcHNbMF0/LnByb2Nlc3NDb2RlIHx8ICcnLFxyXG4gICAgICBvcmRlcjogdGhpcy50ZW1wbGF0ZS5wYXJhbWV0ZXJzLmxlbmd0aCArIDEsIG5hbWU6ICcnLCB1bml0OiAnJywgdmFsdWVUeXBlOiAnTnVtYmVyJyxcclxuICAgICAgZGVjaW1hbFBsYWNlczogMiwgcmVxdWlyZWQ6IGZhbHNlLCBjYWxjdWxhdGVkOiBmYWxzZSwgZm9ybXVsYTogJycsIG9wdGlvbnM6IFtdLCBhY3RpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5lZGl0aW5nTGltaXQgPSBudWxsO1xyXG4gICAgdGhpcy5tb2RhbEVycm9yID0gJyc7XHJcbiAgICB0aGlzLnBhcmFtZXRlck1vZGFsVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBlZGl0UGFyYW1ldGVyKHBhcmFtZXRlcjogUXVhbGl0eVBhcmFtZXRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5uZXdQYXJhbWV0ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdGluZ1BhcmFtZXRlciA9IHsgLi4ucGFyYW1ldGVyLCBvcHRpb25zOiBbLi4uKHBhcmFtZXRlci5vcHRpb25zIHx8IFtdKV0gfTtcclxuICAgIHRoaXMub3B0aW9uc1RleHQgPSB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIub3B0aW9ucy5qb2luKCcsICcpO1xyXG4gICAgdGhpcy5lZGl0aW5nTGltaXQgPSBudWxsO1xyXG4gICAgdGhpcy5tb2RhbEVycm9yID0gJyc7XHJcbiAgICB0aGlzLnBhcmFtZXRlck1vZGFsVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzYXZlUGFyYW1ldGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgfHwgdGhpcy5idXN5KSByZXR1cm47XHJcbiAgICBjb25zdCBwYXJhbWV0ZXIgPSB7IC4uLnRoaXMuZWRpdGluZ1BhcmFtZXRlcixcclxuICAgICAgY29kZTogdGhpcy5lZGl0aW5nUGFyYW1ldGVyLmNvZGUudHJpbSgpLnRvVXBwZXJDYXNlKCksXHJcbiAgICAgIG5hbWU6IHRoaXMuZWRpdGluZ1BhcmFtZXRlci5uYW1lLnRyaW0oKSxcclxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zVGV4dC5zcGxpdCgnLCcpLm1hcCh4ID0+IHgudHJpbSgpKS5maWx0ZXIoQm9vbGVhbiksXHJcbiAgICB9O1xyXG4gICAgaWYgKCFwYXJhbWV0ZXIuY29kZSB8fCAhcGFyYW1ldGVyLm5hbWUgfHwgKHRoaXMuY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJyAmJiAhcGFyYW1ldGVyLnN0ZXBDb2RlKSkge1xyXG4gICAgICB0aGlzLm1vZGFsRXJyb3IgPSAnUGFyYW1ldHJlIGtvZHUsIGFkxLEgdmUgcHJvc2VzIGtvbnRyb2zDvG5kZSBwcm9zZXMgYWTEsW3EsSB6b3J1bmx1ZHVyLic7IHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubW9kYWxFcnJvciA9ICcnO1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMubmV3UGFyYW1ldGVyID8gdGhpcy5hcGkuY3JlYXRlUGFyYW1ldGVyKHBhcmFtZXRlcikgOiB0aGlzLmFwaS51cGRhdGVQYXJhbWV0ZXIocGFyYW1ldGVyKTtcclxuICAgIHRoaXMudHJhY2socmVxdWVzdCwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMucGFyYW1ldGVyTW9kYWxDaGFuZ2VkKGZhbHNlKTsgdGhpcy5zdWNjZXNzID0gJ1BhcmFtZXRyZSBrYXlkZWRpbGRpLic7IHRoaXMubG9hZCgpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4geyB0aGlzLm1vZGFsRXJyb3IgPSAnUGFyYW1ldHJlIGtheWRlZGlsZW1lZGkuJzsgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUGFyYW1ldGVyKHBhcmFtZXRlcjogUXVhbGl0eVBhcmFtZXRlcik6IHZvaWQge1xyXG4gICAgaWYgKCFjb25maXJtKGAke3BhcmFtZXRlci5uYW1lfSBwYXJhbWV0cmVzaSB2ZSBiYcSfbMSxIGxpbWl0bGVyaSBrYWzEsWPEsSBvbGFyYWsgc2lsaW5zaW4gbWk/YCkpIHJldHVybjtcclxuICAgIHRoaXMudHJhY2sodGhpcy5hcGkuZGVsZXRlUGFyYW1ldGVyKHBhcmFtZXRlci5jb2RlKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB0aGlzLmxvYWQoKSwgZXJyb3I6IGUgPT4gdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkTGltaXQocGFyYW1ldGVyOiBRdWFsaXR5UGFyYW1ldGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLm5ld0xpbWl0ID0gdHJ1ZTtcclxuICAgIHRoaXMuZWRpdGluZ1BhcmFtZXRlciA9IG51bGw7XHJcbiAgICB0aGlzLmVkaXRpbmdMaW1pdCA9IHtcclxuICAgICAgY29kZTogJycsIHBhcmFtZXRlckNvZGU6IHBhcmFtZXRlci5jb2RlLCBvaWxUeXBlOiAnJywgb3JpZ2luOiAnJywgbWluaW11bTogbnVsbCwgbWF4aW11bTogbnVsbCxcclxuICAgICAgbm9taW5hbDogbnVsbCwgZXhwZWN0ZWRUZXh0OiAnJywgdmFsaWRGcm9tOiBudWxsLCB2YWxpZFVudGlsOiBudWxsLCBhY3RpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tb2RhbEVycm9yID0gJyc7XHJcbiAgICB0aGlzLmxpbWl0TW9kYWxWaXNpYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGVkaXRMaW1pdChsaW1pdDogUXVhbGl0eUxpbWl0KTogdm9pZCB7XHJcbiAgICB0aGlzLm5ld0xpbWl0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSBudWxsO1xyXG4gICAgdGhpcy5lZGl0aW5nTGltaXQgPSB7IC4uLmxpbWl0LFxyXG4gICAgICB2YWxpZEZyb206IGxpbWl0LnZhbGlkRnJvbT8uc2xpY2UoMCwgMTApIHx8IG51bGwsXHJcbiAgICAgIHZhbGlkVW50aWw6IGxpbWl0LnZhbGlkVW50aWw/LnNsaWNlKDAsIDEwKSB8fCBudWxsLFxyXG4gICAgfTtcclxuICAgIHRoaXMubW9kYWxFcnJvciA9ICcnO1xyXG4gICAgdGhpcy5saW1pdE1vZGFsVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzYXZlTGltaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZWRpdGluZ0xpbWl0IHx8IHRoaXMuYnVzeSkgcmV0dXJuO1xyXG4gICAgY29uc3QgbGltaXQgPSB7IC4uLnRoaXMuZWRpdGluZ0xpbWl0LFxyXG4gICAgICBjb2RlOiB0aGlzLm5ld0xpbWl0ID8gdGhpcy5lZGl0aW5nTGltaXQuY29kZS50cmltKCkudG9VcHBlckNhc2UoKSA6IHRoaXMuZWRpdGluZ0xpbWl0LmNvZGUsXHJcbiAgICAgIG9pbFR5cGU6IHRoaXMuZWRpdGluZ0xpbWl0Lm9pbFR5cGU/LnRyaW0oKSB8fCAnJyxcclxuICAgIH07XHJcbiAgICBpZiAoIWxpbWl0LmNvZGUpIHsgdGhpcy5tb2RhbEVycm9yID0gJ0xpbWl0IGtvZHUgem9ydW5sdWR1ci4nOyByZXR1cm47IH1cclxuICAgIHRoaXMubW9kYWxFcnJvciA9ICcnO1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMubmV3TGltaXQgPyB0aGlzLmFwaS5jcmVhdGVMaW1pdChsaW1pdCkgOiB0aGlzLmFwaS51cGRhdGVMaW1pdChsaW1pdCk7XHJcbiAgICB0aGlzLnRyYWNrKHJlcXVlc3QsICdEZcSfacWfaWtsaWtsZXIga2F5ZGVkaWxpeW9y4oCmJykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4geyB0aGlzLmxpbWl0TW9kYWxDaGFuZ2VkKGZhbHNlKTsgdGhpcy5zdWNjZXNzID0gJ0xpbWl0IGtheWRlZGlsZGkuJzsgdGhpcy5sb2FkKCk7IH0sXHJcbiAgICAgIGVycm9yOiBlID0+IHsgdGhpcy5tb2RhbEVycm9yID0gZXJyb3JNZXNzYWdlKGUpOyB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVMaW1pdChsaW1pdDogUXVhbGl0eUxpbWl0KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5idXN5KSByZXR1cm47XHJcbiAgICBpZiAoIWNvbmZpcm0oYCR7bGltaXQuY29kZX0gbGltaXRpIGthbMSxY8SxIG9sYXJhayBzaWxpbnNpbiBtaT9gKSkgcmV0dXJuO1xyXG4gICAgdGhpcy50cmFjayh0aGlzLmFwaS5kZWxldGVMaW1pdChsaW1pdC5jb2RlKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMubGltaXRNb2RhbENoYW5nZWQoZmFsc2UpOyB0aGlzLmxvYWQoKTsgfSxcclxuICAgICAgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbWl0TW9kYWxWaXNpYmxlKSB0aGlzLm1vZGFsRXJyb3IgPSBlcnJvck1lc3NhZ2UoZSk7XHJcbiAgICAgICAgZWxzZSB0aGlzLmVycm9yID0gZXJyb3JNZXNzYWdlKGUpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwibWItMlwiPlxyXG4gICAgPGgzIGNsYXNzPVwicGFnZS10aXRsZVwiPkthbGl0ZSBQYXJhbWV0cmVsZXJpIChLYWxpdGUgU29ydWxhcsSxKTwvaDM+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIG10LTJcIj48ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1iLTNcIiByb2xlPVwidGFibGlzdFwiPjxidXR0b24gY2xhc3M9XCJidG5cIiBbY2xhc3MuYnRuLXByaW1hcnldPVwiY29udHJvbFR5cGUgPT09ICdJbnB1dCdcIiBbY2xhc3MuYnRuLW91dGxpbmUtc2Vjb25kYXJ5XT1cImNvbnRyb2xUeXBlICE9PSAnSW5wdXQnXCIgKGNsaWNrKT1cInN3aXRjaFR5cGUoJ0lucHV0JylcIj5HaXJkaSBLb250cm9sPC9idXR0b24+PGJ1dHRvbiBjbGFzcz1cImJ0blwiIFtjbGFzcy5idG4tcHJpbWFyeV09XCJjb250cm9sVHlwZSA9PT0gJ1Byb2Nlc3MnXCIgW2NsYXNzLmJ0bi1vdXRsaW5lLXNlY29uZGFyeV09XCJjb250cm9sVHlwZSAhPT0gJ1Byb2Nlc3MnXCIgKGNsaWNrKT1cInN3aXRjaFR5cGUoJ1Byb2Nlc3MnKVwiPlByb3NlcyBLb250cm9sPC9idXR0b24+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnSW5wdXQnXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPjxsYWJlbD5BcmHDpyBIYXJla2V0IFTDvHLDvDwvbGFiZWw+PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibW92ZW1lbnRUeXBlQ29kZVwiIChjaGFuZ2UpPVwic2VsZWN0SW5wdXQoKVwiPjxvcHRpb24gdmFsdWU9XCJcIj5Uw7xtw7w8L29wdGlvbj48b3B0aW9uICpuZ0Zvcj1cImxldCB0eXBlIG9mIG1vdmVtZW50VHlwZXNcIiBbdmFsdWVdPVwidHlwZS5jb2RlXCI+e3sgdHlwZS5uYW1lIH19PC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPjxsYWJlbD5BcmHDpyBIYXJla2V0IFTDvHLDvCAvIERldGF5PC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJtb3ZlbWVudERldGFpbENvZGVcIiAoY2hhbmdlKT1cInNlbGVjdElucHV0KClcIj48b3B0aW9uIHZhbHVlPVwiXCI+U2XDp2luPC9vcHRpb24+PG9wdGlvbiAqbmdGb3I9XCJsZXQgZCBvZiB2aXNpYmxlRGV0YWlsc1wiIFt2YWx1ZV09XCJkLmNvZGVcIj57eyBkLm5hbWUgfHwgZC5tb3ZlbWVudFR5cGVDb2RlIH19e3sgZC5kZXRhaWxDb2RlID8gJyAvICcgKyBkLmRldGFpbENvZGUgOiAnIChkZXRheXPEsXopJyB9fTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICA8cCBjbGFzcz1cImNvbC1tZC0xMiBtdC0yIHRleHQtbXV0ZWRcIiAqbmdJZj1cIiF2aXNpYmxlRGV0YWlscy5sZW5ndGhcIj7Dlm5jZSBLYWxpdGUgVGFuxLFtbGFyxLEgZWtyYW7EsW5kYSBrYWxpdGUga29udHJvbGUgdGFiaSBoYXJla2V0IHTDvHLDvG7DvCB0YW7EsW1sYXnEsW4uPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWVuZCBtYi0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJmb3JtU2VsZWN0XCI+Rm9ybTwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBpZD1cImZvcm1TZWxlY3RcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtkaXNhYmxlZF09XCJidXN5XCIgWyhuZ01vZGVsKV09XCJmb3JtQ29kZVwiIChjaGFuZ2UpPVwibG9hZCgpXCI+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBmb3JtIG9mIHZpc2libGVGb3Jtc1wiIFt2YWx1ZV09XCJmb3JtLmNvZGVcIj57eyBmb3JtLmRvY3VtZW50Q29kZSB9fSDigJMge3sgZm9ybS5uYW1lIH19PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTggdGV4dC1tZC1yaWdodCBtdC0yIG10LW1kLTBcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKm5nSWY9XCJjYW5DcmVhdGVcIiAoY2xpY2spPVwiYWRkUGFyYW1ldGVyKClcIiBbZGlzYWJsZWRdPVwiYnVzeSB8fCAhdGVtcGxhdGUgfHwgbmV3SW5wdXRGb3JtXCI+KyBZZW5pIFBhcmFtZXRyZTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj57eyBlcnJvciB9fTwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN1Y2Nlc3NcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXN1Y2Nlc3NcIiAoY2xpY2spPVwic3VjY2VzcyA9ICcnXCI+e3sgc3VjY2VzcyB9fTwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInF1YWxpdHktZ3JpZC1sb2FkaW5nXCIgKm5nSWY9XCJidXN5XCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIGFyaWEtYnVzeT1cInRydWVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzcGlubmVyLWJvcmRlciB0ZXh0LXByaW1hcnlcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7IGJ1c3lUZXh0IH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgW2hpZGRlbl09XCJidXN5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtZW5kIG1iLTNcIiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnUHJvY2VzcydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWwgZm9yPVwiZmFjaWxpdHlTZWxlY3RcIj5Qcm9zZXMgc8SxcmFzxLEgacOnaW4gdGVzaXM8L2xhYmVsPlxyXG4gICAgICAgICAgPHNlbGVjdCBpZD1cImZhY2lsaXR5U2VsZWN0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImZhY2lsaXR5Q29kZVwiIChjaGFuZ2UpPVwibG9hZFN0ZXBzKClcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZmFjaWxpdHkgb2YgbWF0Y2hpbmdGYWNpbGl0aWVzKClcIiBbdmFsdWVdPVwiZmFjaWxpdHkuY29kZVwiPnt7IGZhY2lsaXR5Lm5hbWUgfX08L29wdGlvbj5cclxuICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCB0ZXh0LW1kLXJpZ2h0XCI+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgKm5nSWY9XCJjYW5FZGl0XCIgKGNsaWNrKT1cImFkZFN0ZXAoKVwiPisgUHJvc2VzIEFkxLFtxLE8L2J1dHRvbj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgKm5nSWY9XCJjb250cm9sVHlwZSA9PT0gJ1Byb2Nlc3MnXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwLXBpbGxcIiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBmYWNpbGl0eVN0ZXBzXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc21cIiBbY2xhc3MuYnRuLW91dGxpbmUtcHJpbWFyeV09XCJzdGVwLmFjdGl2ZVwiIFtjbGFzcy5idG4tb3V0bGluZS1zZWNvbmRhcnldPVwiIXN0ZXAuYWN0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRTdGVwKHN0ZXApXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCI+e3sgc3RlcC5vcmRlciB9fS4ge3sgc3RlcC5uYW1lIH19PHNwYW4gKm5nSWY9XCIhc3RlcC5hY3RpdmVcIj4gKHBhc2lmKTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICNzdGVwRWRpdG9yIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImNhcmQgbXQtMyBtYi0zIGVkaXRvci1jYXJkXCIgKm5nSWY9XCJlZGl0aW5nU3RlcCBhcyBzdGVwXCI+PGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxoNT57eyBuZXdTdGVwID8gJ1llbmkgUHJvc2VzIEFkxLFtxLEnIDogJ1Byb3NlcyBBZMSxbcSxbsSxIETDvHplbmxlJyB9fTwvaDU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PGxhYmVsPktvZDwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzdGVwLmNvZGVcIiBbZGlzYWJsZWRdPVwiIW5ld1N0ZXBcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PGxhYmVsPlByb3NlcyBLb2R1PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInN0ZXAucHJvY2Vzc0NvZGVcIiBbZGlzYWJsZWRdPVwiIW5ld1N0ZXBcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPkFkPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInN0ZXAubmFtZVwiIC8+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIj48bGFiZWw+U8SxcmE8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzdGVwLm9yZGVyXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXggYWxpZ24taXRlbXMtZW5kXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInN0ZXAuYWN0aXZlXCIgLz4gQWt0aWY8L2xhYmVsPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXQtMyBtci0yXCIgKGNsaWNrKT1cInNhdmVTdGVwKClcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPktheWRldDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBtdC0zXCIgKGNsaWNrKT1cImVkaXRpbmdTdGVwID0gbnVsbFwiPsSwcHRhbDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyIHJvdW5kZWQgcC0zIG1iLTNcIj5cclxuICAgICAgICA8cCAqbmdJZj1cIm5ld0lucHV0Rm9ybVwiIGNsYXNzPVwidGV4dC1tdXRlZFwiPsOWbmNlIGZvcm0gYmHFn2zEscSfxLFuxLEga2F5ZGVkaW4sIGFyZMSxbmRhbiBrYWxpdGUgc29ydWxhcsSxbsSxIGVrbGV5aW4uPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5Gb3JtIEFkxLE8L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidGVtcGxhdGUuZm9ybS5uYW1lXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjxsYWJlbD5Eb2vDvG1hbiBLb2R1PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0uZG9jdW1lbnRDb2RlXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjxsYWJlbD5ZYXnEsW4gVGFyaWhpPC9sYWJlbD48aW5wdXQgdHlwZT1cImRhdGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidGVtcGxhdGUuZm9ybS5wdWJsaWNhdGlvbkRhdGVcIiBbZGlzYWJsZWRdPVwiIWNhbkVkaXRcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PGxhYmVsPlJldml6eW9uIFRhcmloaTwvbGFiZWw+PGlucHV0IHR5cGU9XCJkYXRlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0ucmV2aXNpb25EYXRlXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjxsYWJlbD5SZXZpenlvbiBObzwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0ZW1wbGF0ZS5mb3JtLnJldmlzaW9uTnVtYmVyXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTJcIiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnSW5wdXQnXCI+PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk9ydGFsYW1hIFRpcGk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0uYXZlcmFnZU1vZGVcIiBbZGlzYWJsZWRdPVwiIWNhbkVkaXRcIj48b3B0aW9uIHZhbHVlPVwiQXJpdGhtZXRpY1wiPkFyaXRtZXRpazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJXZWlnaHRlZFwiPk1pa3RhciBhxJ/EsXJsxLFrbMSxPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk1pa3RhciBCaXJpbWk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0ucXVhbnRpdHlVbml0XCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCI+PG9wdGlvbiB2YWx1ZT1cImtnXCI+S2lsb2dyYW08L29wdGlvbj48b3B0aW9uIHZhbHVlPVwidFwiPlRvbjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBtdC0zXCIgKm5nSWY9XCJjYW5FZGl0XCIgKGNsaWNrKT1cImVkaXRGb3JtKClcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPkJhxZ9sxLHEn8SxIEtheWRldDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWQgdGFibGUtc3RyaXBlZCB0YWJsZS1zbSBwYXJhbWV0ZXItdGFibGVcIj5cclxuICAgICAgICAgIDx0aGVhZD48dHI+PHRoPsSwxZ9sZW1sZXI8L3RoPjx0aCAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnUHJvY2VzcydcIj5Qcm9zZXMgQWTEsW3EsTwvdGg+PHRoPlPEsXJhPC90aD48dGg+S29kPC90aD48dGg+UGFyYW1ldHJlIC8gU29ydTwvdGg+PHRoPkJpcmltPC90aD48dGg+VmVyaSBUaXBpPC90aD48dGg+TGltaXQgLyBOb21pbmFsPC90aD48dGg+RHVydW08L3RoPjwvdHI+PC90aGVhZD5cclxuICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBwYXJhbWV0ZXIgb2Ygb3JkZXJlZFBhcmFtZXRlcnMoKVwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgbXItMVwiICpuZ0lmPVwiY2FuRWRpdFwiIChjbGljayk9XCJlZGl0UGFyYW1ldGVyKHBhcmFtZXRlcilcIj5Ew7x6ZW5sZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IG1yLTFcIiAqbmdJZj1cImNhbkNyZWF0ZVwiIChjbGljayk9XCJhZGRMaW1pdChwYXJhbWV0ZXIpXCI+KyBMaW1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtZGFuZ2VyXCIgKm5nSWY9XCJjYW5EZWxldGUgJiYgcGFyYW1ldGVyLmFjdGl2ZVwiIChjbGljayk9XCJkZWxldGVQYXJhbWV0ZXIocGFyYW1ldGVyKVwiPlNpbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJ1wiPnt7IHByb2Nlc3NOYW1lKHBhcmFtZXRlci5zdGVwQ29kZSkgfX08L3RkPjx0ZD57eyBwYXJhbWV0ZXIub3JkZXIgfX08L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD48Y29kZT57eyBwYXJhbWV0ZXIuY29kZSB9fTwvY29kZT48L3RkPjx0ZD57eyBwYXJhbWV0ZXIubmFtZSB9fTwvdGQ+PHRkPnt7IHBhcmFtZXRlci51bml0IHx8ICfigJQnIH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3sgcGFyYW1ldGVyLnZhbHVlVHlwZSB9fTxzcGFuICpuZ0lmPVwicGFyYW1ldGVyLmNhbGN1bGF0ZWRcIj4gLyBIZXNhcGxhbmFuPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGltaXQgb2YgbGltaXRzRm9yKHBhcmFtZXRlci5jb2RlKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGluayBidG4tc20gcC0wIGxpbWl0LWxpbmtcIiAoY2xpY2spPVwiZWRpdExpbWl0KGxpbWl0KVwiPnt7IGxpbWl0LmNvZGUgfX08L2J1dHRvbj46XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGltaXQub2lsVHlwZVwiPnt7IGxpbWl0Lm9pbFR5cGUgfX0gwrcgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbWl0Lm9yaWdpblwiPnt7IGxpbWl0Lm9yaWdpbiA9PT0gJ0ltcG9ydGVkJyA/ICfEsHRoYWwnIDogJ8Sww6cgUGl5YXNhJyB9fSDCtyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGltaXQubWluaW11bSAhPSBudWxsXCI+TWluIHt7IGxpbWl0Lm1pbmltdW0gfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbWl0Lm1heGltdW0gIT0gbnVsbFwiPk1heCB7eyBsaW1pdC5tYXhpbXVtIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW1pdC5ub21pbmFsICE9IG51bGxcIj5Ob21pbmFsIHt7IGxpbWl0Lm5vbWluYWwgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbWl0LmV4cGVjdGVkVGV4dFwiPnt7IGxpbWl0LmV4cGVjdGVkVGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGltaXQuYWN0aXZlXCIgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+KHBhc2lmKTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7IHBhcmFtZXRlci5hY3RpdmUgPyAnQWt0aWYnIDogJ1Bhc2lmJyB9fTwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48YWJwLW1vZGFsIFt2aXNpYmxlXT1cInBhcmFtZXRlck1vZGFsVmlzaWJsZVwiICh2aXNpYmxlQ2hhbmdlKT1cInBhcmFtZXRlck1vZGFsQ2hhbmdlZCgkZXZlbnQpXCJcclxuICBbYnVzeV09XCJidXN5XCIgW29wdGlvbnNdPVwiZWRpdG9yTW9kYWxPcHRpb25zXCIgW3N1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nXT1cInRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgbmV3UGFyYW1ldGVyID8gJ1llbmkgUGFyYW1ldHJlJyA6ICdQYXJhbWV0cmV5aSBEw7x6ZW5sZScgfX08L2g1PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGRpdiAqbmdJZj1cIm1vZGFsRXJyb3JcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPnt7IG1vZGFsRXJyb3IgfX08L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJidXN5XCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTNcIiByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc20gdGV4dC1wcmltYXJ5IG1yLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7IGJ1c3lUZXh0IH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZmllbGRzZXQgKm5nSWY9XCJlZGl0aW5nUGFyYW1ldGVyIGFzIHBhcmFtZXRlclwiIFtkaXNhYmxlZF09XCJidXN5XCIgY2xhc3M9XCJib3JkZXItMCBwLTAgbS0wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPktvZDwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuY29kZVwiIFtkaXNhYmxlZF09XCIhbmV3UGFyYW1ldGVyXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5BZCAvIFNvcnU8L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVyLm5hbWVcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCIgKm5nSWY9XCJjb250cm9sVHlwZSA9PT0gJ1Byb2Nlc3MnXCI+PGxhYmVsPlByb3NlcyBBZMSxbcSxPC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuc3RlcENvZGVcIj48b3B0aW9uICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzKClcIiBbdmFsdWVdPVwic3RlcC5wcm9jZXNzQ29kZVwiPnt7IHN0ZXAubmFtZSB9fTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPlPEsXJhPC9sYWJlbD48aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIub3JkZXJcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPkJpcmltPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci51bml0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5WZXJpIFRpcGk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci52YWx1ZVR5cGVcIj48b3B0aW9uIHZhbHVlPVwiTnVtYmVyXCI+U2F5xLFzYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwiVGV4dFwiPk1ldGluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIkNob2ljZVwiPlNlw6dpbTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk9uZGFsxLFrIEJhc2FtYWs8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIG1heD1cIjhcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVyLmRlY2ltYWxQbGFjZXNcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPlNlw6dlbmVrbGVyICh2aXJnw7xsbGUgYXlyxLFsbcSxxZ8pPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cIm9wdGlvbnNUZXh0XCIgW2Rpc2FibGVkXT1cInBhcmFtZXRlci52YWx1ZVR5cGUgIT09ICdDaG9pY2UnXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5IZXNhcGxhbWEgRm9ybcO8bMO8PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci5mb3JtdWxhXCIgW2Rpc2FibGVkXT1cIiFwYXJhbWV0ZXIuY2FsY3VsYXRlZFwiIHBsYWNlaG9sZGVyPVwiUEFSQU1fS09EVSAqIDJcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci5yZXF1aXJlZFwiIC8+IFpvcnVubHU8L2xhYmVsPjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuY2FsY3VsYXRlZFwiIC8+IEhlc2FwbGFuYW48L2xhYmVsPjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuYWN0aXZlXCIgLz4gQWt0aWY8L2xhYmVsPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9maWVsZHNldD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZVBhcmFtZXRlck1vZGFsKClcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPsSwcHRhbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZVBhcmFtZXRlcigpXCIgW2Rpc2FibGVkXT1cImJ1c3lcIj5LYXlkZXQ8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuXHJcbjxhYnAtbW9kYWwgW3Zpc2libGVdPVwibGltaXRNb2RhbFZpc2libGVcIiAodmlzaWJsZUNoYW5nZSk9XCJsaW1pdE1vZGFsQ2hhbmdlZCgkZXZlbnQpXCJcclxuICBbYnVzeV09XCJidXN5XCIgW29wdGlvbnNdPVwiZWRpdG9yTW9kYWxPcHRpb25zXCIgW3N1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nXT1cInRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgbmV3TGltaXQgPyAnWWVuaSBMaW1pdCcgOiAnTGltaXRpIETDvHplbmxlJyB9fSDigJMge3sgZWRpdGluZ0xpbWl0Py5wYXJhbWV0ZXJDb2RlIH19PC9oNT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxkaXYgKm5nSWY9XCJtb2RhbEVycm9yXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIiByb2xlPVwiYWxlcnRcIj57eyBtb2RhbEVycm9yIH19PC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiYnVzeVwiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0zXCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtIHRleHQtcHJpbWFyeSBtci0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gICAgICA8c3Bhbj57eyBidXN5VGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGZpZWxkc2V0ICpuZ0lmPVwiZWRpdGluZ0xpbWl0IGFzIGxpbWl0XCIgW2Rpc2FibGVkXT1cImJ1c3lcIiBjbGFzcz1cImJvcmRlci0wIHAtMCBtLTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+S29kPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0LmNvZGVcIiBbZGlzYWJsZWRdPVwiIW5ld0xpbWl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5ZYcSfIENpbnNpIC8gS2/Fn3VsPC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJsaW1pdC5vaWxUeXBlXCI+PG9wdGlvbiB2YWx1ZT1cIlwiPlTDvG3DvDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJQYWxtIE9pbFwiPlBhbG0gT2lsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIlBhbG0gT2xlaW5cIj5QYWxtIE9sZWluPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+TWVuxZ9laTwvbGFiZWw+PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibGltaXQub3JpZ2luXCI+PG9wdGlvbiB2YWx1ZT1cIlwiPlTDvG3DvDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJEb21lc3RpY1wiPsSww6cgUGl5YXNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIkltcG9ydGVkXCI+xLB0aGFsPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+TWluPC9sYWJlbD48aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJsaW1pdC5taW5pbXVtXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5NYXg8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0Lm1heGltdW1cIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk5vbWluYWw8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0Lm5vbWluYWxcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPkJla2xlbmVuIE1ldGluPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0LmV4cGVjdGVkVGV4dFwiIC8+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+QmHFn2xhbmfEscOnPC9sYWJlbD48aW5wdXQgdHlwZT1cImRhdGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibGltaXQudmFsaWRGcm9tXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5CaXRpxZ88L2xhYmVsPjxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJsaW1pdC52YWxpZFVudGlsXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBkLWZsZXggYWxpZ24taXRlbXMtZW5kXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImxpbWl0LmFjdGl2ZVwiIC8+IEFrdGlmPC9sYWJlbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZmllbGRzZXQ+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGFuZ2VyXCIgKm5nSWY9XCIhbmV3TGltaXQgJiYgY2FuRGVsZXRlXCJcclxuICAgICAgICAoY2xpY2spPVwiZGVsZXRlTGltaXQoZWRpdGluZ0xpbWl0ISlcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPlNpbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZUxpbWl0TW9kYWwoKVwiIFtkaXNhYmxlZF09XCJidXN5XCI+xLBwdGFsPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJzYXZlTGltaXQoKVwiIFtkaXNhYmxlZF09XCJidXN5XCI+S2F5ZGV0PC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGl0eS1wYXJhbWV0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thbGl0ZS9zcmMvbGliL2NvbXBvbmVudHMvcXVhbGl0eS1wYXJhbWV0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thbGl0ZS9zcmMvbGliL2NvbXBvbmVudHMvcXVhbGl0eS1wYXJhbWV0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFzQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFjLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFPM0UsTUFBTSxPQUFPLDBCQUEwQjtJQWlDckMsWUFDVSxHQUFzQixFQUN0QixXQUE4QixFQUM5QixjQUFpQyxFQUNqQyxLQUFxQjtRQUhyQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEMvQixnQkFBVyxHQUF3QixTQUFTLENBQUM7UUFDN0Msa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUN2QyxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBQzFCLGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBQ25DLGlCQUFZLEdBQUcsRUFB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RUQsV0FBVyxDQUFDLEtBQW1CO1FBQzdCLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxvQ0FBb0MsQ0FBQztZQUFFLE9BQU87UUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsNkJBQTZCLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDcEYsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNULElBQUksSUFBSSxDQUFDLGlCQUFpQjtvQkFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzs7b0JBQ3pELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzt1SEF0U1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsd0tDZnZDLDhoZ0JBZ0xBOzJGRGpLYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0Usd0JBQXdCO3FNQVdELFVBQVU7c0JBQTFDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGRlZmVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFF1YWxpdHlGYWNpbGl0eSwgUXVhbGl0eUZvcm0sIFF1YWxpdHlMaW1pdCwgUXVhbGl0eVBhcmFtZXRlciwgUXVhbGl0eVN0ZXAsIFF1YWxpdHlUZW1wbGF0ZSB9IGZyb20gJy4uL21vZGVscy9xdWFsaXR5Lm1vZGVscyc7XHJcbmltcG9ydCB7IFF1YWxpdHlBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcXVhbGl0eS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTW92ZW1lbnREZXRhaWwsIE1vdmVtZW50VHlwZSB9IGZyb20gJy4uL21vZGVscy9pbnRha2UubW9kZWxzJztcclxuaW1wb3J0IHsgZXJyb3JNZXNzYWdlLCBsb2NhbERhdGUgfSBmcm9tICcuLi9zZXJ2aWNlcy9xdWFsaXR5LW1lYXN1cmVtZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1xdWFsaXR5LXBhcmFtZXRlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWFsaXR5LXBhcmFtZXRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1YWxpdHktcGFyYW1ldGVycy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVhbGl0eVBhcmFtZXRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnRyb2xUeXBlOiAnSW5wdXQnIHwgJ1Byb2Nlc3MnID0gJ1Byb2Nlc3MnO1xyXG4gIG1vdmVtZW50VHlwZXM6IE1vdmVtZW50VHlwZVtdID0gW107XHJcbiAgbW92ZW1lbnREZXRhaWxzOiBNb3ZlbWVudERldGFpbFtdID0gW107XHJcbiAgbW92ZW1lbnRUeXBlQ29kZSA9ICcnO1xyXG4gIG1vdmVtZW50RGV0YWlsQ29kZSA9ICcnO1xyXG4gIG5ld0lucHV0Rm9ybSA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ3N0ZXBFZGl0b3InKSBwcml2YXRlIHN0ZXBFZGl0b3I/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgZm9ybXM6IFF1YWxpdHlGb3JtW10gPSBbXTtcclxuICBmYWNpbGl0aWVzOiBRdWFsaXR5RmFjaWxpdHlbXSA9IFtdO1xyXG4gIGZhY2lsaXR5Q29kZSA9ICcnO1xyXG4gIGZhY2lsaXR5U3RlcHM6IFF1YWxpdHlTdGVwW10gPSBbXTtcclxuICBlZGl0aW5nU3RlcDogUXVhbGl0eVN0ZXAgfCBudWxsID0gbnVsbDtcclxuICBuZXdTdGVwID0gZmFsc2U7XHJcbiAgZm9ybUNvZGUgPSAnJztcclxuICB0ZW1wbGF0ZTogUXVhbGl0eVRlbXBsYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgZWRpdGluZ1BhcmFtZXRlcjogUXVhbGl0eVBhcmFtZXRlciB8IG51bGwgPSBudWxsO1xyXG4gIGVkaXRpbmdMaW1pdDogUXVhbGl0eUxpbWl0IHwgbnVsbCA9IG51bGw7XHJcbiAgbmV3UGFyYW1ldGVyID0gZmFsc2U7XHJcbiAgbmV3TGltaXQgPSBmYWxzZTtcclxuICBwYXJhbWV0ZXJNb2RhbFZpc2libGUgPSBmYWxzZTtcclxuICBsaW1pdE1vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gIG1vZGFsRXJyb3IgPSAnJztcclxuICByZWFkb25seSBlZGl0b3JNb2RhbE9wdGlvbnMgPSB7IHNpemU6ICd4bCcgYXMgY29uc3QsIGNlbnRlcmVkOiB0cnVlIH07XHJcbiAgb3B0aW9uc1RleHQgPSAnJztcclxuICBwcml2YXRlIHBlbmRpbmdSZXF1ZXN0cyA9IDA7XHJcbiAgYnVzeVRleHQgPSAnS2FsaXRlIHRhbsSxbWxhcsSxIHnDvGtsZW5peW9y4oCmJztcclxuXHJcbiAgZ2V0IGJ1c3koKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnBlbmRpbmdSZXF1ZXN0cyA+IDA7IH1cclxuICBlcnJvciA9ICcnO1xyXG4gIHN1Y2Nlc3MgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFwaTogUXVhbGl0eUFwaVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd0eXBlJykgPT09ICdJbnB1dCcpIHRoaXMuY29udHJvbFR5cGUgPSAnSW5wdXQnO1xyXG4gICAgdGhpcy5tb3ZlbWVudERldGFpbENvZGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkZXRhaWwnKSB8fCAnJztcclxuICAgIHRoaXMuYXBpLnF1YWxpdHlNb3ZlbWVudFR5cGVzKCkuc3Vic2NyaWJlKHsgbmV4dDogeCA9PiB0aGlzLm1vdmVtZW50VHlwZXMgPSB4LCBlcnJvcjogZSA9PiB0aGlzLmVycm9yID0gZXJyb3JNZXNzYWdlKGUpIH0pO1xyXG4gICAgdGhpcy5hcGkubW92ZW1lbnREZXRhaWxzKCkuc3Vic2NyaWJlKHsgbmV4dDogeCA9PiB7XHJcbiAgICAgIHRoaXMubW92ZW1lbnREZXRhaWxzID0geC5maWx0ZXIoZCA9PiBkLmFjdGl2ZSk7XHJcbiAgICAgIHRoaXMubW92ZW1lbnRUeXBlQ29kZSA9IHguZmluZChkID0+IGQuY29kZSA9PT0gdGhpcy5tb3ZlbWVudERldGFpbENvZGUpPy5tb3ZlbWVudFR5cGVDb2RlIHx8ICcnO1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sVHlwZSA9PT0gJ0lucHV0JykgdGhpcy5zZWxlY3RJbnB1dCgpO1xyXG4gICAgfSwgZXJyb3I6IGUgPT4gdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKSB9KTtcclxuICAgIHRoaXMudHJhY2sodGhpcy5hcGkucGFyYW1ldGVyRmFjaWxpdGllcygpLCAnS2FsaXRlIHRhbsSxbWxhcsSxIHnDvGtsZW5peW9y4oCmJykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogZmFjaWxpdGllcyA9PiB7IHRoaXMuZmFjaWxpdGllcyA9IGZhY2lsaXRpZXM7IHRoaXMuc2VsZWN0RmFjaWxpdHkoKTsgaWYgKHRoaXMuZmFjaWxpdHlDb2RlKSB0aGlzLmxvYWRTdGVwcygpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5lcnJvciA9ICdUZXNpcyBsaXN0ZXNpIHnDvGtsZW5lbWVkaS4nLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRyYWNrKHRoaXMuYXBpLmZvcm1zKCksICdLYWxpdGUgdGFuxLFtbGFyxLEgecO8a2xlbml5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiBmb3JtcyA9PiB7IHRoaXMuZm9ybXMgPSBmb3JtczsgdGhpcy5zd2l0Y2hUeXBlKHRoaXMuY29udHJvbFR5cGUpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5lcnJvciA9ICdGb3JtIGxpc3Rlc2kgecO8a2xlbmVtZWRpLicsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCBjYW5FZGl0KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucy5nZXRHcmFudGVkUG9saWN5KCdIaXRzb2Z0LkthZG9vZ2x1LkthbGl0ZS5QYXJhbWV0ZXJzLkVkaXQnKTsgfVxyXG4gIGdldCBjYW5DcmVhdGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnBlcm1pc3Npb25zLmdldEdyYW50ZWRQb2xpY3koJ0hpdHNvZnQuS2Fkb29nbHUuS2FsaXRlLlBhcmFtZXRlcnMuQ3JlYXRlJyk7IH1cclxuICBnZXQgY2FuRGVsZXRlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wZXJtaXNzaW9ucy5nZXRHcmFudGVkUG9saWN5KCdIaXRzb2Z0LkthZG9vZ2x1LkthbGl0ZS5QYXJhbWV0ZXJzLkRlbGV0ZScpOyB9XHJcblxyXG4gIGdldCB2aXNpYmxlRm9ybXMoKTogUXVhbGl0eUZvcm1bXSB7IHJldHVybiB0aGlzLmZvcm1zLmZpbHRlcihmID0+IChmLmNvbnRyb2xUeXBlIHx8ICdQcm9jZXNzJykgPT09IHRoaXMuY29udHJvbFR5cGUpOyB9XHJcbiAgZ2V0IHZpc2libGVEZXRhaWxzKCk6IE1vdmVtZW50RGV0YWlsW10geyByZXR1cm4gdGhpcy5tb3ZlbWVudERldGFpbHMuZmlsdGVyKGQgPT4gIXRoaXMubW92ZW1lbnRUeXBlQ29kZSB8fCBkLm1vdmVtZW50VHlwZUNvZGUgPT09IHRoaXMubW92ZW1lbnRUeXBlQ29kZSk7IH1cclxuICBzd2l0Y2hUeXBlKHR5cGU6ICdJbnB1dCcgfCAnUHJvY2VzcycpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbFR5cGUgPSB0eXBlOyB0aGlzLmVkaXRpbmdTdGVwID0gbnVsbDsgdGhpcy5mYWNpbGl0eVN0ZXBzID0gW107IHRoaXMudGVtcGxhdGUgPSBudWxsO1xyXG4gICAgaWYgKHR5cGUgPT09ICdJbnB1dCcpIHRoaXMuc2VsZWN0SW5wdXQoKTtcclxuICAgIGVsc2UgeyB0aGlzLmZvcm1Db2RlID0gdGhpcy52aXNpYmxlRm9ybXNbMF0/LmNvZGUgfHwgJyc7IHRoaXMubmV3SW5wdXRGb3JtID0gZmFsc2U7IHRoaXMubG9hZCgpOyB9XHJcbiAgfVxyXG4gIHNlbGVjdElucHV0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnZpc2libGVEZXRhaWxzLnNvbWUoZCA9PiBkLmNvZGUgPT09IHRoaXMubW92ZW1lbnREZXRhaWxDb2RlKSkgdGhpcy5tb3ZlbWVudERldGFpbENvZGUgPSB0aGlzLnZpc2libGVEZXRhaWxzWzBdPy5jb2RlIHx8ICcnO1xyXG4gICAgY29uc3QgZm9ybSA9IHRoaXMudmlzaWJsZUZvcm1zLmZpbmQoZiA9PiBmLm1vdmVtZW50RGV0YWlsQ29kZSA9PT0gdGhpcy5tb3ZlbWVudERldGFpbENvZGUpO1xyXG4gICAgaWYgKGZvcm0pIHsgdGhpcy5mb3JtQ29kZSA9IGZvcm0uY29kZTsgdGhpcy5uZXdJbnB1dEZvcm0gPSBmYWxzZTsgdGhpcy5sb2FkKCk7IHJldHVybjsgfVxyXG4gICAgY29uc3QgZGV0YWlsID0gdGhpcy5tb3ZlbWVudERldGFpbHMuZmluZChkID0+IGQuY29kZSA9PT0gdGhpcy5tb3ZlbWVudERldGFpbENvZGUpO1xyXG4gICAgdGhpcy5uZXdJbnB1dEZvcm0gPSAhIWRldGFpbDsgdGhpcy5mb3JtQ29kZSA9IGRldGFpbCA/ICdJTl8nICsgZGV0YWlsLmNvZGUgOiAnJztcclxuICAgIHRoaXMudGVtcGxhdGUgPSBkZXRhaWwgPyB7IGZvcm06IHsgY29kZTogdGhpcy5mb3JtQ29kZSwgY29udHJvbFR5cGU6ICdJbnB1dCcsIG1vdmVtZW50RGV0YWlsQ29kZTogZGV0YWlsLmNvZGUsXHJcbiAgICAgIGF2ZXJhZ2VNb2RlOiAnQXJpdGhtZXRpYycsIG5hbWU6IGRldGFpbC5uYW1lIHx8IHRoaXMubW92ZW1lbnRUeXBlcy5maW5kKHQgPT4gdC5jb2RlID09PSBkZXRhaWwubW92ZW1lbnRUeXBlQ29kZSk/Lm5hbWUgfHwgJycsXHJcbiAgICAgIGRvY3VtZW50Q29kZTogJycsIHB1YmxpY2F0aW9uRGF0ZTogbG9jYWxEYXRlKCksIHJldmlzaW9uRGF0ZTogbG9jYWxEYXRlKCksIHJldmlzaW9uTnVtYmVyOiAnMScsIGFjdGl2ZTogdHJ1ZSB9LFxyXG4gICAgICBwYXJhbWV0ZXJzOiBbXSwgbGltaXRzOiBbXSwgc3RlcHM6IFtdIH0gOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbG9hZCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb3JtQ29kZSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJykgeyB0aGlzLnNlbGVjdEZhY2lsaXR5KCk7IGlmICh0aGlzLmZhY2lsaXR5Q29kZSkgdGhpcy5sb2FkU3RlcHMoKTsgfVxyXG4gICAgdGhpcy5lcnJvciA9ICcnO1xyXG4gICAgdGhpcy50cmFjayh0aGlzLmFwaS50ZW1wbGF0ZSh0aGlzLmZvcm1Db2RlKSwgJ0thbGl0ZSB0YW7EsW1sYXLEsSB5w7xrbGVuaXlvcuKApicpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHRlbXBsYXRlID0+IHtcclxuICAgICAgICB0ZW1wbGF0ZS5mb3JtLnB1YmxpY2F0aW9uRGF0ZSA9IHRlbXBsYXRlLmZvcm0ucHVibGljYXRpb25EYXRlPy5zbGljZSgwLCAxMCk7XHJcbiAgICAgICAgdGVtcGxhdGUuZm9ybS5yZXZpc2lvbkRhdGUgPSB0ZW1wbGF0ZS5mb3JtLnJldmlzaW9uRGF0ZT8uc2xpY2UoMCwgMTApO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgICAgICB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZWRpdGluZ0xpbWl0ID0gbnVsbDtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHsgdGhpcy5lcnJvciA9ICdGb3JtIHRhbsSxbcSxIHnDvGtsZW5lbWVkaS4nOyB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJldmVhbFN0ZXBFZGl0b3IoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuc3RlcEVkaXRvcj8ubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7XHJcbiAgICB0aGlzLnN0ZXBFZGl0b3I/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcGFyYW1ldGVyTW9kYWxDaGFuZ2VkKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1ldGVyTW9kYWxWaXNpYmxlID0gdmlzaWJsZTtcclxuICAgIGlmICghdmlzaWJsZSkgeyB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSBudWxsOyB0aGlzLm1vZGFsRXJyb3IgPSAnJzsgfVxyXG4gIH1cclxuXHJcbiAgbGltaXRNb2RhbENoYW5nZWQodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5saW1pdE1vZGFsVmlzaWJsZSA9IHZpc2libGU7XHJcbiAgICBpZiAoIXZpc2libGUpIHsgdGhpcy5lZGl0aW5nTGltaXQgPSBudWxsOyB0aGlzLm1vZGFsRXJyb3IgPSAnJzsgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VQYXJhbWV0ZXJNb2RhbCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5idXN5KSB0aGlzLnBhcmFtZXRlck1vZGFsQ2hhbmdlZChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUxpbWl0TW9kYWwoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYnVzeSkgdGhpcy5saW1pdE1vZGFsQ2hhbmdlZChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYWNrPFQ+KHJlcXVlc3Q6IE9ic2VydmFibGU8VD4sIG1lc3NhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcclxuICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMrKztcclxuICAgICAgdGhpcy5idXN5VGV4dCA9IG1lc3NhZ2U7XHJcbiAgICAgIHJldHVybiByZXF1ZXN0LnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5wZW5kaW5nUmVxdWVzdHMtLSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm9jZXNzTmFtZShjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGU/LnN0ZXBzLmZpbmQoc3RlcCA9PiBzdGVwLnByb2Nlc3NDb2RlID09PSBjb2RlKT8ubmFtZSB8fCBjb2RlO1xyXG4gIH1cclxuXHJcbiAgc3RlcHMoKTogUXVhbGl0eVN0ZXBbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5mYWNpbGl0eVN0ZXBzLmZpbHRlcih4ID0+IHguYWN0aXZlKTtcclxuICB9XHJcblxyXG4gIG1hdGNoaW5nRmFjaWxpdGllcygpOiBRdWFsaXR5RmFjaWxpdHlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5mYWNpbGl0aWVzLmZpbHRlcih4ID0+IHguZm9ybUNvZGUgPT09IHRoaXMuZm9ybUNvZGUpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RmFjaWxpdHkoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubWF0Y2hpbmdGYWNpbGl0aWVzKCkuc29tZSh4ID0+IHguY29kZSA9PT0gdGhpcy5mYWNpbGl0eUNvZGUpKVxyXG4gICAgICB0aGlzLmZhY2lsaXR5Q29kZSA9IHRoaXMubWF0Y2hpbmdGYWNpbGl0aWVzKClbMF0/LmNvZGUgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBsb2FkU3RlcHMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZmFjaWxpdHlDb2RlKSByZXR1cm47XHJcbiAgICB0aGlzLnRyYWNrKHRoaXMuYXBpLnN0ZXBzKHRoaXMuZmFjaWxpdHlDb2RlKSwgJ0thbGl0ZSB0YW7EsW1sYXLEsSB5w7xrbGVuaXlvcuKApicpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHN0ZXBzID0+IHRoaXMuZmFjaWxpdHlTdGVwcyA9IHN0ZXBzLFxyXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5lcnJvciA9ICdQcm9zZXMgYWTEsW1sYXLEsSB5w7xrbGVuZW1lZGkuJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkU3RlcCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmV3U3RlcCA9IHRydWU7XHJcbiAgICB0aGlzLmVkaXRpbmdTdGVwID0geyBjb2RlOiAnJywgZmFjaWxpdHlDb2RlOiB0aGlzLmZhY2lsaXR5Q29kZSwgcHJvY2Vzc0NvZGU6ICcnLFxyXG4gICAgICBuYW1lOiAnJywgb3JkZXI6IHRoaXMuZmFjaWxpdHlTdGVwcy5sZW5ndGggKyAxLCBhY3RpdmU6IHRydWUgfTtcclxuICAgIHRoaXMucmV2ZWFsU3RlcEVkaXRvcigpO1xyXG4gIH1cclxuXHJcbiAgZWRpdFN0ZXAoc3RlcDogUXVhbGl0eVN0ZXApOiB2b2lkIHtcclxuICAgIHRoaXMubmV3U3RlcCA9IGZhbHNlO1xyXG4gICAgdGhpcy5lZGl0aW5nU3RlcCA9IHsgLi4uc3RlcCB9O1xyXG4gICAgdGhpcy5yZXZlYWxTdGVwRWRpdG9yKCk7XHJcbiAgfVxyXG5cclxuICBzYXZlU3RlcCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5lZGl0aW5nU3RlcCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc3RlcCA9IHsgLi4udGhpcy5lZGl0aW5nU3RlcCxcclxuICAgICAgY29kZTogdGhpcy5lZGl0aW5nU3RlcC5jb2RlLnRyaW0oKS50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICBwcm9jZXNzQ29kZTogdGhpcy5lZGl0aW5nU3RlcC5wcm9jZXNzQ29kZS50cmltKCkudG9VcHBlckNhc2UoKSxcclxuICAgICAgbmFtZTogdGhpcy5lZGl0aW5nU3RlcC5uYW1lLnRyaW0oKSB9O1xyXG4gICAgdGhpcy50cmFjayh0aGlzLmFwaS5zYXZlU3RlcChzdGVwKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMuZWRpdGluZ1N0ZXAgPSBudWxsOyB0aGlzLnN1Y2Nlc3MgPSAnUHJvc2VzIGFkxLFtxLEga2F5ZGVkaWxkaS4nOyB0aGlzLmxvYWRTdGVwcygpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4geyB0aGlzLmVycm9yID0gJ1Byb3NlcyBhZMSxbcSxIGtheWRlZGlsZW1lZGkuJzsgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3JkZXJlZFBhcmFtZXRlcnMoKTogUXVhbGl0eVBhcmFtZXRlcltdIHtcclxuICAgIGNvbnN0IG9yZGVyID0gdGhpcy5zdGVwcygpLm1hcChzdGVwID0+IHN0ZXAucHJvY2Vzc0NvZGUpO1xyXG4gICAgcmV0dXJuIFsuLi4odGhpcy50ZW1wbGF0ZT8ucGFyYW1ldGVycyB8fCBbXSldLnNvcnQoKGEsIGIpID0+XHJcbiAgICAgIG9yZGVyLmluZGV4T2YoYS5zdGVwQ29kZSkgLSBvcmRlci5pbmRleE9mKGIuc3RlcENvZGUpIHx8IGEub3JkZXIgLSBiLm9yZGVyKTtcclxuICB9XHJcblxyXG4gIGxpbWl0c0Zvcihjb2RlOiBzdHJpbmcpOiBRdWFsaXR5TGltaXRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZT8ubGltaXRzLmZpbHRlcihsaW1pdCA9PiBsaW1pdC5wYXJhbWV0ZXJDb2RlID09PSBjb2RlKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGVkaXRGb3JtKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRlbXBsYXRlIHx8ICF0aGlzLmNhbkVkaXQpIHJldHVybjtcclxuICAgIHRoaXMudHJhY2sodGhpcy5hcGkuc2F2ZUZvcm0odGhpcy50ZW1wbGF0ZS5mb3JtKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMuc3VjY2VzcyA9ICdGb3JtIGJhxZ9sxLHEn8SxIGtheWRlZGlsZGkuJzsgdGhpcy5uZXdJbnB1dEZvcm0gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmFwaS5mb3JtcygpLnN1YnNjcmliZSh7IG5leHQ6IGZvcm1zID0+IHsgdGhpcy5mb3JtcyA9IGZvcm1zOyB0aGlzLmxvYWQoKTsgfSB9KTsgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHsgdGhpcy5lcnJvciA9ICdGb3JtIGJhxZ9sxLHEn8SxIGtheWRlZGlsZW1lZGkuJzsgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkUGFyYW1ldGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRlbXBsYXRlIHx8IHRoaXMubmV3SW5wdXRGb3JtKSByZXR1cm47XHJcbiAgICB0aGlzLm5ld1BhcmFtZXRlciA9IHRydWU7XHJcbiAgICB0aGlzLm9wdGlvbnNUZXh0ID0gJyc7XHJcbiAgICB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSB7XHJcbiAgICAgIGNvZGU6ICcnLCBmb3JtQ29kZTogdGhpcy5mb3JtQ29kZSwgc3RlcENvZGU6IHRoaXMudGVtcGxhdGUuc3RlcHNbMF0/LnByb2Nlc3NDb2RlIHx8ICcnLFxyXG4gICAgICBvcmRlcjogdGhpcy50ZW1wbGF0ZS5wYXJhbWV0ZXJzLmxlbmd0aCArIDEsIG5hbWU6ICcnLCB1bml0OiAnJywgdmFsdWVUeXBlOiAnTnVtYmVyJyxcclxuICAgICAgZGVjaW1hbFBsYWNlczogMiwgcmVxdWlyZWQ6IGZhbHNlLCBjYWxjdWxhdGVkOiBmYWxzZSwgZm9ybXVsYTogJycsIG9wdGlvbnM6IFtdLCBhY3RpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5lZGl0aW5nTGltaXQgPSBudWxsO1xyXG4gICAgdGhpcy5tb2RhbEVycm9yID0gJyc7XHJcbiAgICB0aGlzLnBhcmFtZXRlck1vZGFsVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBlZGl0UGFyYW1ldGVyKHBhcmFtZXRlcjogUXVhbGl0eVBhcmFtZXRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5uZXdQYXJhbWV0ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdGluZ1BhcmFtZXRlciA9IHsgLi4ucGFyYW1ldGVyLCBvcHRpb25zOiBbLi4uKHBhcmFtZXRlci5vcHRpb25zIHx8IFtdKV0gfTtcclxuICAgIHRoaXMub3B0aW9uc1RleHQgPSB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIub3B0aW9ucy5qb2luKCcsICcpO1xyXG4gICAgdGhpcy5lZGl0aW5nTGltaXQgPSBudWxsO1xyXG4gICAgdGhpcy5tb2RhbEVycm9yID0gJyc7XHJcbiAgICB0aGlzLnBhcmFtZXRlck1vZGFsVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzYXZlUGFyYW1ldGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgfHwgdGhpcy5idXN5KSByZXR1cm47XHJcbiAgICBjb25zdCBwYXJhbWV0ZXIgPSB7IC4uLnRoaXMuZWRpdGluZ1BhcmFtZXRlcixcclxuICAgICAgY29kZTogdGhpcy5lZGl0aW5nUGFyYW1ldGVyLmNvZGUudHJpbSgpLnRvVXBwZXJDYXNlKCksXHJcbiAgICAgIG5hbWU6IHRoaXMuZWRpdGluZ1BhcmFtZXRlci5uYW1lLnRyaW0oKSxcclxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zVGV4dC5zcGxpdCgnLCcpLm1hcCh4ID0+IHgudHJpbSgpKS5maWx0ZXIoQm9vbGVhbiksXHJcbiAgICB9O1xyXG4gICAgaWYgKCFwYXJhbWV0ZXIuY29kZSB8fCAhcGFyYW1ldGVyLm5hbWUgfHwgKHRoaXMuY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJyAmJiAhcGFyYW1ldGVyLnN0ZXBDb2RlKSkge1xyXG4gICAgICB0aGlzLm1vZGFsRXJyb3IgPSAnUGFyYW1ldHJlIGtvZHUsIGFkxLEgdmUgcHJvc2VzIGtvbnRyb2zDvG5kZSBwcm9zZXMgYWTEsW3EsSB6b3J1bmx1ZHVyLic7IHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubW9kYWxFcnJvciA9ICcnO1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMubmV3UGFyYW1ldGVyID8gdGhpcy5hcGkuY3JlYXRlUGFyYW1ldGVyKHBhcmFtZXRlcikgOiB0aGlzLmFwaS51cGRhdGVQYXJhbWV0ZXIocGFyYW1ldGVyKTtcclxuICAgIHRoaXMudHJhY2socmVxdWVzdCwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMucGFyYW1ldGVyTW9kYWxDaGFuZ2VkKGZhbHNlKTsgdGhpcy5zdWNjZXNzID0gJ1BhcmFtZXRyZSBrYXlkZWRpbGRpLic7IHRoaXMubG9hZCgpOyB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4geyB0aGlzLm1vZGFsRXJyb3IgPSAnUGFyYW1ldHJlIGtheWRlZGlsZW1lZGkuJzsgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUGFyYW1ldGVyKHBhcmFtZXRlcjogUXVhbGl0eVBhcmFtZXRlcik6IHZvaWQge1xyXG4gICAgaWYgKCFjb25maXJtKGAke3BhcmFtZXRlci5uYW1lfSBwYXJhbWV0cmVzaSB2ZSBiYcSfbMSxIGxpbWl0bGVyaSBrYWzEsWPEsSBvbGFyYWsgc2lsaW5zaW4gbWk/YCkpIHJldHVybjtcclxuICAgIHRoaXMudHJhY2sodGhpcy5hcGkuZGVsZXRlUGFyYW1ldGVyKHBhcmFtZXRlci5jb2RlKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB0aGlzLmxvYWQoKSwgZXJyb3I6IGUgPT4gdGhpcy5lcnJvciA9IGVycm9yTWVzc2FnZShlKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkTGltaXQocGFyYW1ldGVyOiBRdWFsaXR5UGFyYW1ldGVyKTogdm9pZCB7XHJcbiAgICB0aGlzLm5ld0xpbWl0ID0gdHJ1ZTtcclxuICAgIHRoaXMuZWRpdGluZ1BhcmFtZXRlciA9IG51bGw7XHJcbiAgICB0aGlzLmVkaXRpbmdMaW1pdCA9IHtcclxuICAgICAgY29kZTogJycsIHBhcmFtZXRlckNvZGU6IHBhcmFtZXRlci5jb2RlLCBvaWxUeXBlOiAnJywgb3JpZ2luOiAnJywgbWluaW11bTogbnVsbCwgbWF4aW11bTogbnVsbCxcclxuICAgICAgbm9taW5hbDogbnVsbCwgZXhwZWN0ZWRUZXh0OiAnJywgdmFsaWRGcm9tOiBudWxsLCB2YWxpZFVudGlsOiBudWxsLCBhY3RpdmU6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tb2RhbEVycm9yID0gJyc7XHJcbiAgICB0aGlzLmxpbWl0TW9kYWxWaXNpYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGVkaXRMaW1pdChsaW1pdDogUXVhbGl0eUxpbWl0KTogdm9pZCB7XHJcbiAgICB0aGlzLm5ld0xpbWl0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmVkaXRpbmdQYXJhbWV0ZXIgPSBudWxsO1xyXG4gICAgdGhpcy5lZGl0aW5nTGltaXQgPSB7IC4uLmxpbWl0LFxyXG4gICAgICB2YWxpZEZyb206IGxpbWl0LnZhbGlkRnJvbT8uc2xpY2UoMCwgMTApIHx8IG51bGwsXHJcbiAgICAgIHZhbGlkVW50aWw6IGxpbWl0LnZhbGlkVW50aWw/LnNsaWNlKDAsIDEwKSB8fCBudWxsLFxyXG4gICAgfTtcclxuICAgIHRoaXMubW9kYWxFcnJvciA9ICcnO1xyXG4gICAgdGhpcy5saW1pdE1vZGFsVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzYXZlTGltaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZWRpdGluZ0xpbWl0IHx8IHRoaXMuYnVzeSkgcmV0dXJuO1xyXG4gICAgY29uc3QgbGltaXQgPSB7IC4uLnRoaXMuZWRpdGluZ0xpbWl0LFxyXG4gICAgICBjb2RlOiB0aGlzLm5ld0xpbWl0ID8gdGhpcy5lZGl0aW5nTGltaXQuY29kZS50cmltKCkudG9VcHBlckNhc2UoKSA6IHRoaXMuZWRpdGluZ0xpbWl0LmNvZGUsXHJcbiAgICAgIG9pbFR5cGU6IHRoaXMuZWRpdGluZ0xpbWl0Lm9pbFR5cGU/LnRyaW0oKSB8fCAnJyxcclxuICAgIH07XHJcbiAgICBpZiAoIWxpbWl0LmNvZGUpIHsgdGhpcy5tb2RhbEVycm9yID0gJ0xpbWl0IGtvZHUgem9ydW5sdWR1ci4nOyByZXR1cm47IH1cclxuICAgIHRoaXMubW9kYWxFcnJvciA9ICcnO1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMubmV3TGltaXQgPyB0aGlzLmFwaS5jcmVhdGVMaW1pdChsaW1pdCkgOiB0aGlzLmFwaS51cGRhdGVMaW1pdChsaW1pdCk7XHJcbiAgICB0aGlzLnRyYWNrKHJlcXVlc3QsICdEZcSfacWfaWtsaWtsZXIga2F5ZGVkaWxpeW9y4oCmJykuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4geyB0aGlzLmxpbWl0TW9kYWxDaGFuZ2VkKGZhbHNlKTsgdGhpcy5zdWNjZXNzID0gJ0xpbWl0IGtheWRlZGlsZGkuJzsgdGhpcy5sb2FkKCk7IH0sXHJcbiAgICAgIGVycm9yOiBlID0+IHsgdGhpcy5tb2RhbEVycm9yID0gZXJyb3JNZXNzYWdlKGUpOyB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVMaW1pdChsaW1pdDogUXVhbGl0eUxpbWl0KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5idXN5KSByZXR1cm47XHJcbiAgICBpZiAoIWNvbmZpcm0oYCR7bGltaXQuY29kZX0gbGltaXRpIGthbMSxY8SxIG9sYXJhayBzaWxpbnNpbiBtaT9gKSkgcmV0dXJuO1xyXG4gICAgdGhpcy50cmFjayh0aGlzLmFwaS5kZWxldGVMaW1pdChsaW1pdC5jb2RlKSwgJ0RlxJ9pxZ9pa2xpa2xlciBrYXlkZWRpbGl5b3LigKYnKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7IHRoaXMubGltaXRNb2RhbENoYW5nZWQoZmFsc2UpOyB0aGlzLmxvYWQoKTsgfSxcclxuICAgICAgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbWl0TW9kYWxWaXNpYmxlKSB0aGlzLm1vZGFsRXJyb3IgPSBlcnJvck1lc3NhZ2UoZSk7XHJcbiAgICAgICAgZWxzZSB0aGlzLmVycm9yID0gZXJyb3JNZXNzYWdlKGUpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwibWItMlwiPlxyXG4gICAgPGgzIGNsYXNzPVwicGFnZS10aXRsZVwiPkthbGl0ZSBQYXJhbWV0cmVsZXJpIChLYWxpdGUgU29ydWxhcsSxKTwvaDM+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkIG10LTJcIj48ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1iLTNcIiByb2xlPVwidGFibGlzdFwiPjxidXR0b24gY2xhc3M9XCJidG5cIiBbY2xhc3MuYnRuLXByaW1hcnldPVwiY29udHJvbFR5cGUgPT09ICdJbnB1dCdcIiBbY2xhc3MuYnRuLW91dGxpbmUtc2Vjb25kYXJ5XT1cImNvbnRyb2xUeXBlICE9PSAnSW5wdXQnXCIgKGNsaWNrKT1cInN3aXRjaFR5cGUoJ0lucHV0JylcIj5HaXJkaSBLb250cm9sPC9idXR0b24+PGJ1dHRvbiBjbGFzcz1cImJ0blwiIFtjbGFzcy5idG4tcHJpbWFyeV09XCJjb250cm9sVHlwZSA9PT0gJ1Byb2Nlc3MnXCIgW2NsYXNzLmJ0bi1vdXRsaW5lLXNlY29uZGFyeV09XCJjb250cm9sVHlwZSAhPT0gJ1Byb2Nlc3MnXCIgKGNsaWNrKT1cInN3aXRjaFR5cGUoJ1Byb2Nlc3MnKVwiPlByb3NlcyBLb250cm9sPC9idXR0b24+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IG1iLTNcIiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnSW5wdXQnXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPjxsYWJlbD5BcmHDpyBIYXJla2V0IFTDvHLDvDwvbGFiZWw+PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibW92ZW1lbnRUeXBlQ29kZVwiIChjaGFuZ2UpPVwic2VsZWN0SW5wdXQoKVwiPjxvcHRpb24gdmFsdWU9XCJcIj5Uw7xtw7w8L29wdGlvbj48b3B0aW9uICpuZ0Zvcj1cImxldCB0eXBlIG9mIG1vdmVtZW50VHlwZXNcIiBbdmFsdWVdPVwidHlwZS5jb2RlXCI+e3sgdHlwZS5uYW1lIH19PC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPjxsYWJlbD5BcmHDpyBIYXJla2V0IFTDvHLDvCAvIERldGF5PC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJtb3ZlbWVudERldGFpbENvZGVcIiAoY2hhbmdlKT1cInNlbGVjdElucHV0KClcIj48b3B0aW9uIHZhbHVlPVwiXCI+U2XDp2luPC9vcHRpb24+PG9wdGlvbiAqbmdGb3I9XCJsZXQgZCBvZiB2aXNpYmxlRGV0YWlsc1wiIFt2YWx1ZV09XCJkLmNvZGVcIj57eyBkLm5hbWUgfHwgZC5tb3ZlbWVudFR5cGVDb2RlIH19e3sgZC5kZXRhaWxDb2RlID8gJyAvICcgKyBkLmRldGFpbENvZGUgOiAnIChkZXRheXPEsXopJyB9fTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICA8cCBjbGFzcz1cImNvbC1tZC0xMiBtdC0yIHRleHQtbXV0ZWRcIiAqbmdJZj1cIiF2aXNpYmxlRGV0YWlscy5sZW5ndGhcIj7Dlm5jZSBLYWxpdGUgVGFuxLFtbGFyxLEgZWtyYW7EsW5kYSBrYWxpdGUga29udHJvbGUgdGFiaSBoYXJla2V0IHTDvHLDvG7DvCB0YW7EsW1sYXnEsW4uPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWVuZCBtYi0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJmb3JtU2VsZWN0XCI+Rm9ybTwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBpZD1cImZvcm1TZWxlY3RcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtkaXNhYmxlZF09XCJidXN5XCIgWyhuZ01vZGVsKV09XCJmb3JtQ29kZVwiIChjaGFuZ2UpPVwibG9hZCgpXCI+XHJcbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBmb3JtIG9mIHZpc2libGVGb3Jtc1wiIFt2YWx1ZV09XCJmb3JtLmNvZGVcIj57eyBmb3JtLmRvY3VtZW50Q29kZSB9fSDigJMge3sgZm9ybS5uYW1lIH19PC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTggdGV4dC1tZC1yaWdodCBtdC0yIG10LW1kLTBcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKm5nSWY9XCJjYW5DcmVhdGVcIiAoY2xpY2spPVwiYWRkUGFyYW1ldGVyKClcIiBbZGlzYWJsZWRdPVwiYnVzeSB8fCAhdGVtcGxhdGUgfHwgbmV3SW5wdXRGb3JtXCI+KyBZZW5pIFBhcmFtZXRyZTwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj57eyBlcnJvciB9fTwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInN1Y2Nlc3NcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXN1Y2Nlc3NcIiAoY2xpY2spPVwic3VjY2VzcyA9ICcnXCI+e3sgc3VjY2VzcyB9fTwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInF1YWxpdHktZ3JpZC1sb2FkaW5nXCIgKm5nSWY9XCJidXN5XCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIGFyaWEtYnVzeT1cInRydWVcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzcGlubmVyLWJvcmRlciB0ZXh0LXByaW1hcnlcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7IGJ1c3lUZXh0IH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgW2hpZGRlbl09XCJidXN5XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtZW5kIG1iLTNcIiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnUHJvY2VzcydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWwgZm9yPVwiZmFjaWxpdHlTZWxlY3RcIj5Qcm9zZXMgc8SxcmFzxLEgacOnaW4gdGVzaXM8L2xhYmVsPlxyXG4gICAgICAgICAgPHNlbGVjdCBpZD1cImZhY2lsaXR5U2VsZWN0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImZhY2lsaXR5Q29kZVwiIChjaGFuZ2UpPVwibG9hZFN0ZXBzKClcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZmFjaWxpdHkgb2YgbWF0Y2hpbmdGYWNpbGl0aWVzKClcIiBbdmFsdWVdPVwiZmFjaWxpdHkuY29kZVwiPnt7IGZhY2lsaXR5Lm5hbWUgfX08L29wdGlvbj5cclxuICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOCB0ZXh0LW1kLXJpZ2h0XCI+PGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1wcmltYXJ5XCIgKm5nSWY9XCJjYW5FZGl0XCIgKGNsaWNrKT1cImFkZFN0ZXAoKVwiPisgUHJvc2VzIEFkxLFtxLE8L2J1dHRvbj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgKm5nSWY9XCJjb250cm9sVHlwZSA9PT0gJ1Byb2Nlc3MnXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwLXBpbGxcIiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBmYWNpbGl0eVN0ZXBzXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc21cIiBbY2xhc3MuYnRuLW91dGxpbmUtcHJpbWFyeV09XCJzdGVwLmFjdGl2ZVwiIFtjbGFzcy5idG4tb3V0bGluZS1zZWNvbmRhcnldPVwiIXN0ZXAuYWN0aXZlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImVkaXRTdGVwKHN0ZXApXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCI+e3sgc3RlcC5vcmRlciB9fS4ge3sgc3RlcC5uYW1lIH19PHNwYW4gKm5nSWY9XCIhc3RlcC5hY3RpdmVcIj4gKHBhc2lmKTwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICNzdGVwRWRpdG9yIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImNhcmQgbXQtMyBtYi0zIGVkaXRvci1jYXJkXCIgKm5nSWY9XCJlZGl0aW5nU3RlcCBhcyBzdGVwXCI+PGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxoNT57eyBuZXdTdGVwID8gJ1llbmkgUHJvc2VzIEFkxLFtxLEnIDogJ1Byb3NlcyBBZMSxbcSxbsSxIETDvHplbmxlJyB9fTwvaDU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PGxhYmVsPktvZDwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzdGVwLmNvZGVcIiBbZGlzYWJsZWRdPVwiIW5ld1N0ZXBcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PGxhYmVsPlByb3NlcyBLb2R1PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInN0ZXAucHJvY2Vzc0NvZGVcIiBbZGlzYWJsZWRdPVwiIW5ld1N0ZXBcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPkFkPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInN0ZXAubmFtZVwiIC8+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIj48bGFiZWw+U8SxcmE8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJzdGVwLm9yZGVyXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXggYWxpZ24taXRlbXMtZW5kXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInN0ZXAuYWN0aXZlXCIgLz4gQWt0aWY8L2xhYmVsPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbXQtMyBtci0yXCIgKGNsaWNrKT1cInNhdmVTdGVwKClcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPktheWRldDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBtdC0zXCIgKGNsaWNrKT1cImVkaXRpbmdTdGVwID0gbnVsbFwiPsSwcHRhbDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyIHJvdW5kZWQgcC0zIG1iLTNcIj5cclxuICAgICAgICA8cCAqbmdJZj1cIm5ld0lucHV0Rm9ybVwiIGNsYXNzPVwidGV4dC1tdXRlZFwiPsOWbmNlIGZvcm0gYmHFn2zEscSfxLFuxLEga2F5ZGVkaW4sIGFyZMSxbmRhbiBrYWxpdGUgc29ydWxhcsSxbsSxIGVrbGV5aW4uPC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5Gb3JtIEFkxLE8L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidGVtcGxhdGUuZm9ybS5uYW1lXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjxsYWJlbD5Eb2vDvG1hbiBLb2R1PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0uZG9jdW1lbnRDb2RlXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjxsYWJlbD5ZYXnEsW4gVGFyaWhpPC9sYWJlbD48aW5wdXQgdHlwZT1cImRhdGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidGVtcGxhdGUuZm9ybS5wdWJsaWNhdGlvbkRhdGVcIiBbZGlzYWJsZWRdPVwiIWNhbkVkaXRcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+PGxhYmVsPlJldml6eW9uIFRhcmloaTwvbGFiZWw+PGlucHV0IHR5cGU9XCJkYXRlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0ucmV2aXNpb25EYXRlXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPjxsYWJlbD5SZXZpenlvbiBObzwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0ZW1wbGF0ZS5mb3JtLnJldmlzaW9uTnVtYmVyXCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCIgLz48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTJcIiAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnSW5wdXQnXCI+PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk9ydGFsYW1hIFRpcGk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0uYXZlcmFnZU1vZGVcIiBbZGlzYWJsZWRdPVwiIWNhbkVkaXRcIj48b3B0aW9uIHZhbHVlPVwiQXJpdGhtZXRpY1wiPkFyaXRtZXRpazwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJXZWlnaHRlZFwiPk1pa3RhciBhxJ/EsXJsxLFrbMSxPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk1pa3RhciBCaXJpbWk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBsYXRlLmZvcm0ucXVhbnRpdHlVbml0XCIgW2Rpc2FibGVkXT1cIiFjYW5FZGl0XCI+PG9wdGlvbiB2YWx1ZT1cImtnXCI+S2lsb2dyYW08L29wdGlvbj48b3B0aW9uIHZhbHVlPVwidFwiPlRvbjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBtdC0zXCIgKm5nSWY9XCJjYW5FZGl0XCIgKGNsaWNrKT1cImVkaXRGb3JtKClcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPkJhxZ9sxLHEn8SxIEtheWRldDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtYm9yZGVyZWQgdGFibGUtc3RyaXBlZCB0YWJsZS1zbSBwYXJhbWV0ZXItdGFibGVcIj5cclxuICAgICAgICAgIDx0aGVhZD48dHI+PHRoPsSwxZ9sZW1sZXI8L3RoPjx0aCAqbmdJZj1cImNvbnRyb2xUeXBlID09PSAnUHJvY2VzcydcIj5Qcm9zZXMgQWTEsW3EsTwvdGg+PHRoPlPEsXJhPC90aD48dGg+S29kPC90aD48dGg+UGFyYW1ldHJlIC8gU29ydTwvdGg+PHRoPkJpcmltPC90aD48dGg+VmVyaSBUaXBpPC90aD48dGg+TGltaXQgLyBOb21pbmFsPC90aD48dGg+RHVydW08L3RoPjwvdHI+PC90aGVhZD5cclxuICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBwYXJhbWV0ZXIgb2Ygb3JkZXJlZFBhcmFtZXRlcnMoKVwiPlxyXG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgbXItMVwiICpuZ0lmPVwiY2FuRWRpdFwiIChjbGljayk9XCJlZGl0UGFyYW1ldGVyKHBhcmFtZXRlcilcIj5Ew7x6ZW5sZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IG1yLTFcIiAqbmdJZj1cImNhbkNyZWF0ZVwiIChjbGljayk9XCJhZGRMaW1pdChwYXJhbWV0ZXIpXCI+KyBMaW1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtZGFuZ2VyXCIgKm5nSWY9XCJjYW5EZWxldGUgJiYgcGFyYW1ldGVyLmFjdGl2ZVwiIChjbGljayk9XCJkZWxldGVQYXJhbWV0ZXIocGFyYW1ldGVyKVwiPlNpbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiY29udHJvbFR5cGUgPT09ICdQcm9jZXNzJ1wiPnt7IHByb2Nlc3NOYW1lKHBhcmFtZXRlci5zdGVwQ29kZSkgfX08L3RkPjx0ZD57eyBwYXJhbWV0ZXIub3JkZXIgfX08L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZD48Y29kZT57eyBwYXJhbWV0ZXIuY29kZSB9fTwvY29kZT48L3RkPjx0ZD57eyBwYXJhbWV0ZXIubmFtZSB9fTwvdGQ+PHRkPnt7IHBhcmFtZXRlci51bml0IHx8ICfigJQnIH19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3sgcGFyYW1ldGVyLnZhbHVlVHlwZSB9fTxzcGFuICpuZ0lmPVwicGFyYW1ldGVyLmNhbGN1bGF0ZWRcIj4gLyBIZXNhcGxhbmFuPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGltaXQgb2YgbGltaXRzRm9yKHBhcmFtZXRlci5jb2RlKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGluayBidG4tc20gcC0wIGxpbWl0LWxpbmtcIiAoY2xpY2spPVwiZWRpdExpbWl0KGxpbWl0KVwiPnt7IGxpbWl0LmNvZGUgfX08L2J1dHRvbj46XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGltaXQub2lsVHlwZVwiPnt7IGxpbWl0Lm9pbFR5cGUgfX0gwrcgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbWl0Lm9yaWdpblwiPnt7IGxpbWl0Lm9yaWdpbiA9PT0gJ0ltcG9ydGVkJyA/ICfEsHRoYWwnIDogJ8Sww6cgUGl5YXNhJyB9fSDCtyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGltaXQubWluaW11bSAhPSBudWxsXCI+TWluIHt7IGxpbWl0Lm1pbmltdW0gfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbWl0Lm1heGltdW0gIT0gbnVsbFwiPk1heCB7eyBsaW1pdC5tYXhpbXVtIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW1pdC5ub21pbmFsICE9IG51bGxcIj5Ob21pbmFsIHt7IGxpbWl0Lm5vbWluYWwgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbWl0LmV4cGVjdGVkVGV4dFwiPnt7IGxpbWl0LmV4cGVjdGVkVGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGltaXQuYWN0aXZlXCIgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+KHBhc2lmKTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkPnt7IHBhcmFtZXRlci5hY3RpdmUgPyAnQWt0aWYnIDogJ1Bhc2lmJyB9fTwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgIDwvdGFibGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48YWJwLW1vZGFsIFt2aXNpYmxlXT1cInBhcmFtZXRlck1vZGFsVmlzaWJsZVwiICh2aXNpYmxlQ2hhbmdlKT1cInBhcmFtZXRlck1vZGFsQ2hhbmdlZCgkZXZlbnQpXCJcclxuICBbYnVzeV09XCJidXN5XCIgW29wdGlvbnNdPVwiZWRpdG9yTW9kYWxPcHRpb25zXCIgW3N1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nXT1cInRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgbmV3UGFyYW1ldGVyID8gJ1llbmkgUGFyYW1ldHJlJyA6ICdQYXJhbWV0cmV5aSBEw7x6ZW5sZScgfX08L2g1PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGRpdiAqbmdJZj1cIm1vZGFsRXJyb3JcIiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiPnt7IG1vZGFsRXJyb3IgfX08L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJidXN5XCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTNcIiByb2xlPVwic3RhdHVzXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc20gdGV4dC1wcmltYXJ5IG1yLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7IGJ1c3lUZXh0IH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZmllbGRzZXQgKm5nSWY9XCJlZGl0aW5nUGFyYW1ldGVyIGFzIHBhcmFtZXRlclwiIFtkaXNhYmxlZF09XCJidXN5XCIgY2xhc3M9XCJib3JkZXItMCBwLTAgbS0wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPktvZDwvbGFiZWw+PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuY29kZVwiIFtkaXNhYmxlZF09XCIhbmV3UGFyYW1ldGVyXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5BZCAvIFNvcnU8L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVyLm5hbWVcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCIgKm5nSWY9XCJjb250cm9sVHlwZSA9PT0gJ1Byb2Nlc3MnXCI+PGxhYmVsPlByb3NlcyBBZMSxbcSxPC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuc3RlcENvZGVcIj48b3B0aW9uICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzKClcIiBbdmFsdWVdPVwic3RlcC5wcm9jZXNzQ29kZVwiPnt7IHN0ZXAubmFtZSB9fTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPlPEsXJhPC9sYWJlbD48aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIub3JkZXJcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPkJpcmltPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci51bml0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5WZXJpIFRpcGk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci52YWx1ZVR5cGVcIj48b3B0aW9uIHZhbHVlPVwiTnVtYmVyXCI+U2F5xLFzYWw8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwiVGV4dFwiPk1ldGluPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIkNob2ljZVwiPlNlw6dpbTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk9uZGFsxLFrIEJhc2FtYWs8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIG1heD1cIjhcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwicGFyYW1ldGVyLmRlY2ltYWxQbGFjZXNcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPlNlw6dlbmVrbGVyICh2aXJnw7xsbGUgYXlyxLFsbcSxxZ8pPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cIm9wdGlvbnNUZXh0XCIgW2Rpc2FibGVkXT1cInBhcmFtZXRlci52YWx1ZVR5cGUgIT09ICdDaG9pY2UnXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5IZXNhcGxhbWEgRm9ybcO8bMO8PC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci5mb3JtdWxhXCIgW2Rpc2FibGVkXT1cIiFwYXJhbWV0ZXIuY2FsY3VsYXRlZFwiIHBsYWNlaG9sZGVyPVwiUEFSQU1fS09EVSAqIDJcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInBhcmFtZXRlci5yZXF1aXJlZFwiIC8+IFpvcnVubHU8L2xhYmVsPjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuY2FsY3VsYXRlZFwiIC8+IEhlc2FwbGFuYW48L2xhYmVsPjxsYWJlbD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJwYXJhbWV0ZXIuYWN0aXZlXCIgLz4gQWt0aWY8L2xhYmVsPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9maWVsZHNldD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZVBhcmFtZXRlck1vZGFsKClcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPsSwcHRhbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZVBhcmFtZXRlcigpXCIgW2Rpc2FibGVkXT1cImJ1c3lcIj5LYXlkZXQ8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuXHJcbjxhYnAtbW9kYWwgW3Zpc2libGVdPVwibGltaXRNb2RhbFZpc2libGVcIiAodmlzaWJsZUNoYW5nZSk9XCJsaW1pdE1vZGFsQ2hhbmdlZCgkZXZlbnQpXCJcclxuICBbYnVzeV09XCJidXN5XCIgW29wdGlvbnNdPVwiZWRpdG9yTW9kYWxPcHRpb25zXCIgW3N1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nXT1cInRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+e3sgbmV3TGltaXQgPyAnWWVuaSBMaW1pdCcgOiAnTGltaXRpIETDvHplbmxlJyB9fSDigJMge3sgZWRpdGluZ0xpbWl0Py5wYXJhbWV0ZXJDb2RlIH19PC9oNT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxkaXYgKm5nSWY9XCJtb2RhbEVycm9yXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIiByb2xlPVwiYWxlcnRcIj57eyBtb2RhbEVycm9yIH19PC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiYnVzeVwiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0zXCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtIHRleHQtcHJpbWFyeSBtci0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxyXG4gICAgICA8c3Bhbj57eyBidXN5VGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGZpZWxkc2V0ICpuZ0lmPVwiZWRpdGluZ0xpbWl0IGFzIGxpbWl0XCIgW2Rpc2FibGVkXT1cImJ1c3lcIiBjbGFzcz1cImJvcmRlci0wIHAtMCBtLTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+S29kPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0LmNvZGVcIiBbZGlzYWJsZWRdPVwiIW5ld0xpbWl0XCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5ZYcSfIENpbnNpIC8gS2/Fn3VsPC9sYWJlbD48c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJsaW1pdC5vaWxUeXBlXCI+PG9wdGlvbiB2YWx1ZT1cIlwiPlTDvG3DvDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJQYWxtIE9pbFwiPlBhbG0gT2lsPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIlBhbG0gT2xlaW5cIj5QYWxtIE9sZWluPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+TWVuxZ9laTwvbGFiZWw+PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibGltaXQub3JpZ2luXCI+PG9wdGlvbiB2YWx1ZT1cIlwiPlTDvG3DvDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9XCJEb21lc3RpY1wiPsSww6cgUGl5YXNhPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT1cIkltcG9ydGVkXCI+xLB0aGFsPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+TWluPC9sYWJlbD48aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJsaW1pdC5taW5pbXVtXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5NYXg8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0Lm1heGltdW1cIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPk5vbWluYWw8L2xhYmVsPjxpbnB1dCB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0Lm5vbWluYWxcIiAvPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00XCI+PGxhYmVsPkJla2xlbmVuIE1ldGluPC9sYWJlbD48aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImxpbWl0LmV4cGVjdGVkVGV4dFwiIC8+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj48bGFiZWw+QmHFn2xhbmfEscOnPC9sYWJlbD48aW5wdXQgdHlwZT1cImRhdGVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibGltaXQudmFsaWRGcm9tXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPjxsYWJlbD5CaXRpxZ88L2xhYmVsPjxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJsaW1pdC52YWxpZFVudGlsXCIgLz48L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBkLWZsZXggYWxpZ24taXRlbXMtZW5kXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImxpbWl0LmFjdGl2ZVwiIC8+IEFrdGlmPC9sYWJlbD48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZmllbGRzZXQ+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGFuZ2VyXCIgKm5nSWY9XCIhbmV3TGltaXQgJiYgY2FuRGVsZXRlXCJcclxuICAgICAgICAoY2xpY2spPVwiZGVsZXRlTGltaXQoZWRpdGluZ0xpbWl0ISlcIiBbZGlzYWJsZWRdPVwiYnVzeVwiPlNpbDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZUxpbWl0TW9kYWwoKVwiIFtkaXNhYmxlZF09XCJidXN5XCI+xLBwdGFsPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJzYXZlTGltaXQoKVwiIFtkaXNhYmxlZF09XCJidXN5XCI+S2F5ZGV0PC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|