@seniorsistemas/yms-integration 1.35.0 → 1.36.0
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/bundles/seniorsistemas-yms-integration.umd.js +71 -21
- package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
- package/esm2015/src/wms/components/document-grid/document-grid.component.js +3 -9
- package/esm2015/src/wms/components/document-grid/register-document/register-document.component.js +3 -10
- package/esm2015/src/wms/components/document-list/document-list.component.js +56 -5
- package/esm2015/src/wms/components/document-list/document-list.module.js +8 -3
- package/esm2015/src/wms/components/utils/invoice-conditions.js +12 -0
- package/esm5/src/wms/components/document-grid/document-grid.component.js +3 -9
- package/esm5/src/wms/components/document-grid/register-document/register-document.component.js +3 -10
- package/esm5/src/wms/components/document-list/document-list.component.js +58 -5
- package/esm5/src/wms/components/document-list/document-list.module.js +8 -3
- package/esm5/src/wms/components/utils/invoice-conditions.js +12 -0
- package/fesm2015/seniorsistemas-yms-integration.js +69 -21
- package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
- package/fesm5/seniorsistemas-yms-integration.js +71 -21
- package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-yms-integration.metadata.json +1 -1
- package/src/wms/components/document-grid/document-grid.component.d.ts +4 -4
- package/src/wms/components/document-grid/register-document/register-document.component.d.ts +1 -1
- package/src/wms/components/document-list/document-list.component.d.ts +19 -1
- package/src/wms/components/utils/invoice-conditions.d.ts +6 -0
|
@@ -11,6 +11,7 @@ import { DocumentService } from '../../entities/document/document.service';
|
|
|
11
11
|
import { WmsSystem } from '../../entities/wms-system/wms-system';
|
|
12
12
|
import { IntegrationService } from './../../entities/integration/integration.service';
|
|
13
13
|
import { InvoiceCondition } from "../../../../src/wms/entities/invoice-condition/invoice-condition";
|
|
14
|
+
import { getInvoiceConditions } from "../utils/invoice-conditions";
|
|
14
15
|
var DocumentGridComponent = /** @class */ (function () {
|
|
15
16
|
function DocumentGridComponent(translate, documentService, confirmationService, integrationService, agendaService, utils) {
|
|
16
17
|
this.translate = translate;
|
|
@@ -22,16 +23,9 @@ var DocumentGridComponent = /** @class */ (function () {
|
|
|
22
23
|
this.viewDocument = new EventEmitter();
|
|
23
24
|
this.gridData = [];
|
|
24
25
|
this.enableButtonIsClienteExterno = true;
|
|
26
|
+
this.invoiceConditions = getInvoiceConditions(this.translate);
|
|
25
27
|
this.summary = "yms.int.wms_saved_document_message_title";
|
|
26
28
|
this.ngUnsubscribe = new Subject();
|
|
27
|
-
this.invoiceConditions = [
|
|
28
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_no_way"), value: null },
|
|
29
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_authorized"), value: InvoiceCondition.AUTHORIZED },
|
|
30
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_manual_authorized"), value: InvoiceCondition.MANUAL_AUTHORIZED },
|
|
31
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_partial_authorized"), value: InvoiceCondition.PARTIAL_AUTHORIZED },
|
|
32
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_devolution"), value: InvoiceCondition.DEVOLUTION },
|
|
33
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_rejected"), value: InvoiceCondition.REJECTED },
|
|
34
|
-
];
|
|
35
29
|
this.selection = [];
|
|
36
30
|
}
|
|
37
31
|
DocumentGridComponent.prototype.getFilteredInvoiceConditions = function (invoiceConditions) {
|
|
@@ -365,4 +359,4 @@ var DocumentGridComponent = /** @class */ (function () {
|
|
|
365
359
|
return DocumentGridComponent;
|
|
366
360
|
}());
|
|
367
361
|
export { DocumentGridComponent };
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQVksTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQW9DLGtCQUFrQixFQUFlLE1BQU0sa0RBQWtELENBQUM7QUFDckksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFPcEc7SUEyREksK0JBQ3FCLFNBQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDNUIsS0FBMEI7UUFMMUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQTFEckMsaUJBQVksR0FBMkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUk3RCxhQUFRLEdBQWUsRUFBRSxDQUFDO1FBUTFCLGlDQUE0QixHQUFHLElBQUksQ0FBQztRQUUxQixZQUFPLEdBQUcsMENBQTBDLENBQUM7UUFDckQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBb0J4QyxzQkFBaUIsR0FBaUQ7WUFDckUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQzFGLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHdEQUF3RCxDQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtZQUMvSCxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywrREFBK0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRTtZQUM3SSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnRUFBZ0UsQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRTtZQUMvSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3REFBd0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDL0gsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0RBQXNELENBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO1NBQzlILENBQUM7UUFrQkUsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQWpCRCw0REFBNEIsR0FBNUIsVUFBNkIsaUJBQXNCO1FBQy9DLElBQUksaUJBQWlCLEtBQUssZ0JBQWdCLENBQUMsVUFBVSxFQUFFO1lBQ25ELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsVUFBVSxFQUExQyxDQUEwQyxDQUFDLENBQUM7U0FDNUY7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsVUFBVSxFQUExQyxDQUEwQyxDQUFDLENBQUM7U0FDNUY7SUFDTCxDQUFDO0lBYUQsd0NBQVEsR0FBUjtRQUNJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLG9EQUFvQixHQUE1QjtRQUFBLGlCQU9DO1FBTkcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRTthQUNwQyxTQUFTLENBQUMsVUFBQyxNQUF3QjtZQUNoQyxLQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQ2hELEtBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLEtBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTywwREFBMEIsR0FBbEM7UUFBQSxpQkFHQztRQUZHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7YUFDN0UsU0FBUyxDQUFDLFVBQUMsTUFBd0MsSUFBSyxPQUFBLEtBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBckMsQ0FBcUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFTSxnREFBZ0IsR0FBdkIsVUFBd0IsUUFBa0I7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFDLHdEQUF3RCxFQUFDLDhEQUE4RCxDQUFDLENBQUM7WUFDcEosT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQixJQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQUEsUUFBUSxJQUFJLE9BQUEsUUFBUSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsR0FBRyxFQUE3QixDQUE2QixDQUFDLENBQUM7UUFDeEYsSUFBSSxpQkFBaUIsRUFBRTtZQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUMsbURBQW1ELEVBQUMseURBQXlELENBQUMsQ0FBQztZQUMxSSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRU8sMENBQVUsR0FBbEIsVUFBbUIsUUFBa0I7UUFDakMsSUFBSSxRQUFRLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUMzQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRTtnQkFDOUIsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzthQUMxQztZQUNELElBQUksUUFBUSxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQUksUUFBUSxDQUFDLEdBQUcsS0FBSyxJQUFJLEVBQUU7Z0JBQ3JELFFBQVEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ2pCLFFBQVEsQ0FBQyxHQUFHLEdBQU0sUUFBUSxDQUFDLGFBQWEsU0FBSSxRQUFRLENBQUMsbUJBQW1CLFNBQUksUUFBUSxDQUFDLGVBQWlCLENBQUM7aUJBQzFHO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFTywrQ0FBZSxHQUF2QixVQUF3QixRQUFrQjtRQUN0QyxJQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFHTyw4Q0FBYyxHQUF0QjtRQUNJLElBQU0sY0FBYyxHQUFHO1lBQ25CLFdBQVc7WUFDWCxhQUFhO1lBQ2IsV0FBVztZQUNYLDBCQUEwQjtTQUM3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTFDLElBQUcsY0FBYyxFQUFFO1lBQ2YsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFTSwwQ0FBVSxHQUFqQjtRQUFBLGlCQXNCQztRQXJCRyxPQUFPO1lBQ0g7Z0JBQ0ksUUFBUSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO2dCQUNuRCxPQUFPLEVBQUU7b0JBQ0wsS0FBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7b0JBQ3BCLEtBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsSUFBSSxFQUFFLGNBQWM7YUFDdkI7WUFDRDtnQkFDSSxRQUFRLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO2dCQUN0QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUM7Z0JBQ2xFLE9BQU8sRUFBRTtvQkFDTCxLQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztvQkFDcEIsS0FBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7b0JBQ2pCLEtBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7Z0JBQ3hDLENBQUM7Z0JBQ0QsSUFBSSxFQUFFLG1CQUFtQjthQUM1QjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRU0scURBQXFCLEdBQTVCO1FBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVNLHVDQUFPLEdBQWQsVUFBZSxHQUFRLEVBQUUsSUFBUztRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsTUFBVyxFQUFFLElBQVMsSUFBSyxPQUFBLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBaEQsQ0FBZ0QsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU0sb0NBQUksR0FBWDtRQUNJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxvQ0FBSSxHQUFYO1FBQUEsaUJBdUJDO1FBdEJHLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSTtnQkFDdEIsSUFBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7b0JBQ1QsSUFBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7d0JBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7cUJBQ3RDO29CQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDckMsS0FBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUN4QyxLQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxDQUFDO29CQUNILEtBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2lCQUV4QjtxQkFBTTtvQkFDSCxLQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDakQsS0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUNyQixLQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDekIsQ0FBQyxDQUFDLENBQUM7aUJBQ047WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRU8sOENBQWMsR0FBdEIsVUFBdUIsSUFBUztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQU0sSUFBSSxDQUFDLGFBQWEsU0FBSSxJQUFJLENBQUMsbUJBQW1CLFNBQUksSUFBSSxDQUFDLGVBQWlCLENBQUM7U0FDMUY7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVNLHdDQUFRLEdBQWY7UUFBQSxpQkFtQkM7UUFsQkcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztZQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUM7WUFDOUQsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDO1lBQzNELE1BQU0sRUFBRTtnQkFDSixLQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztnQkFFbEMsSUFBSSxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzNCLE9BQU8sS0FBSyxFQUFFLENBQUM7aUJBQ2xCO2dCQUVELE9BQU8sUUFBUSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQUEsUUFBUSxJQUFJLE9BQUEsS0FBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUF4QyxDQUF3QyxDQUFDLENBQUM7cUJBQ3hGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3FCQUNuQyxTQUFTLENBQUM7b0JBQ1AsS0FBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixDQUFDLENBQUM7b0JBQ2xGLEtBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTywwREFBMEIsR0FBbEM7UUFBQSxpQkFTQztRQVJHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSyxFQUFFLEtBQUs7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBTSxhQUFhLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBQSxRQUFRLElBQUksT0FBQSxRQUFRLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHLEVBQTFCLENBQTBCLENBQUMsQ0FBQztnQkFFdEYsS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2QyxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDbkM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxpREFBaUIsR0FBeEI7UUFDSSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQUEsUUFBUSxJQUFJLE9BQUEsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFaLENBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSw2Q0FBYSxHQUFwQixVQUFxQixRQUFpQjtRQUF0QyxpQkFvQkM7UUFuQkcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDdEIsV0FBVyxFQUFFLHNCQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBRztZQUNsRCxJQUFJLEVBQUUsR0FBRztTQUNaLENBQUM7YUFDRCxTQUFTLENBQUMsVUFBQyxRQUFhOztZQUNyQixLQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQVIsQ0FBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUV2RSxJQUFHLFFBQVEsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFO2dCQUMzQixDQUFBLEtBQUEsS0FBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLElBQUksNEJBQUksUUFBUSxDQUFDLFFBQVEsR0FBRTtnQkFDekMsS0FBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7YUFDdEQ7aUJBQU07Z0JBQ0gsS0FBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2FBQ3BEO1lBQ0QsSUFBTSxtQkFBbUIsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBUixDQUFRLENBQUMsQ0FBQztZQUVqRSxLQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsbUJBQW1CLENBQUM7WUFDckMsS0FBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsS0FBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sOENBQWMsR0FBdEI7UUFDSSxJQUFJLE1BQU0sQ0FBQztRQUVYLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNwQixLQUFLLFNBQVMsQ0FBQyxjQUFjO2dCQUN6QixNQUFNLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7Z0JBQzVDLE1BQU07WUFDVixLQUFLLFNBQVMsQ0FBQyxHQUFHO2dCQUNkLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDbEMsTUFBTTtZQUNWLEtBQUssU0FBUyxDQUFDLE1BQU07Z0JBQ2pCLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDbkMsTUFBTTtZQUNWO2dCQUNJLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDbkI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU8sMkRBQTJCLEdBQW5DO1FBQ0ksSUFBTSxPQUFPO1lBQ1QsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO1dBQzFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUM3QixDQUFDO1FBQ0YsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTyxpREFBaUIsR0FBekI7UUFDSSxJQUFNLE9BQU8sb0JBQ04sSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQzNDLENBQUM7UUFDRixJQUFJLENBQUMsc0NBQXNDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLGtEQUFrQixHQUExQjtRQUNJLElBQU0sT0FBTztZQUNULEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUMsRUFBRTtXQUNqRyxJQUFJLENBQUMsOEJBQThCLEVBQUU7WUFDeEMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsQ0FBQyxFQUFFO1lBQ2xHLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsOENBQThDLENBQUMsRUFBRTtVQUM3RyxDQUFDO1FBQ0YsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTyx5REFBeUIsR0FBakM7UUFDSSxPQUFPLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw2Q0FBNkMsQ0FBQyxFQUFFLENBQUM7SUFDeEgsQ0FBQztJQUVPLDhEQUE4QixHQUF0QztRQUNJO1lBQ0ksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsQ0FBQyxFQUFFO1lBQzFHLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxREFBcUQsQ0FBQyxFQUFFO1dBQ3BILElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsaURBQWlELENBQUMsRUFBRTtZQUMvRyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscURBQXFELENBQUMsRUFBRTtXQUN6SDtJQUNOLENBQUM7SUFFTyxnREFBZ0IsR0FBeEI7UUFDSSxPQUFPO1lBQ0gsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsQ0FBQyxFQUFFO1lBQ3RHLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnREFBZ0QsQ0FBQyxFQUFFO1NBQ2pILENBQUM7SUFDTixDQUFDO0lBRU8sc0VBQXNDLEdBQTlDLFVBQStDLE9BQWM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7U0FDbEQ7SUFDTCxDQUFDO0lBRU0sa0RBQWtCLEdBQXpCO1FBQ0ksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxjQUFjLENBQUM7SUFDdkQsQ0FBQztJQUVNLHdDQUFRLEdBQWY7UUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUM1QyxDQUFDO0lBRU0seUNBQVMsR0FBaEI7UUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRU8sNkNBQWEsR0FBckI7UUFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDaEYsQ0FBQztJQTVXUTtRQUFSLEtBQUssRUFBRTs7eURBQVE7SUFDUDtRQUFSLEtBQUssRUFBRTs7NERBQXNCO0lBQ3BCO1FBQVQsTUFBTSxFQUFFOztvRUFBNEI7SUFDM0I7UUFBVCxNQUFNLEVBQUU7OzBFQUFrQztJQUVqQztRQUFULE1BQU0sRUFBRTswQ0FBZSxZQUFZOytEQUFnQztJQWtCcEU7UUFEQyxTQUFTLENBQUMsZUFBZSxDQUFDOzBDQUNiLEtBQUs7d0RBQUM7SUFHcEI7UUFEQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7MENBQ0wsV0FBVztpRUFBTTtJQUd4QztRQURDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQzswQ0FDTCxXQUFXO3FFQUFNO0lBRzVDO1FBREMsU0FBUyxDQUFDLG9CQUFvQixDQUFDOzBDQUNMLFdBQVc7cUVBQU07SUFHNUM7UUFEQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7MENBQ0wsV0FBVzttRUFBTTtJQUcxQztRQURDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQzswQ0FDTCxXQUFXO2lFQUFNO0lBeEMvQixxQkFBcUI7UUFMakMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGVBQWU7WUFDekIsaXdQQUE2Qzs7U0FFaEQsQ0FBQztpREE2RGtDLGdCQUFnQjtZQUNWLGVBQWU7WUFDWCxtQkFBbUI7WUFDcEIsa0JBQWtCO1lBQ3ZCLGFBQWE7WUFDckIsbUJBQW1CO09BakV0QyxxQkFBcUIsQ0ErV2pDO0lBQUQsNEJBQUM7Q0FBQSxBQS9XRCxJQStXQztTQS9XWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVudUl0ZW0gfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7IFN1YmplY3QsIGVtcHR5LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXRpbHNNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi91dGlscy91dGlscy1tZXNzYWdlXCI7XG5pbXBvcnQgeyBBZ2VuZGFTZXJ2aWNlLCBJc0NsaWVudGVFeHRlcm5vIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvYWdlbmRhL2FnZW5kYS5zZXJ2aWNlJztcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50XCI7XG5pbXBvcnQgeyBEb2N1bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFdtc1N5c3RlbSB9IGZyb20gJy4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbSc7XG5pbXBvcnQgeyBHZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZ091dHB1dCwgSW50ZWdyYXRpb25TZXJ2aWNlLCBQcm9jZXNzVHlwZSB9IGZyb20gJy4vLi4vLi4vZW50aXRpZXMvaW50ZWdyYXRpb24vaW50ZWdyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NyYy93bXMvZW50aXRpZXMvaW52b2ljZS1jb25kaXRpb24vaW52b2ljZS1jb25kaXRpb25cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb2N1bWVudC1ncmlkJyxcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2RvY3VtZW50LWdyaWQuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudEdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgYWdlbmRhO1xuICAgIEBJbnB1dCgpIHdtc1N5c3RlbTogV21zU3lzdGVtO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlSW52b2ljZUtleTogYm9vbGVhbjtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZURvY3VtZW50UmVnaXN0ZXI6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgdmlld0RvY3VtZW50OiBFdmVudEVtaXR0ZXI8RG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGRvY3VtZW50VG90YWxSZWNvcmRzOiBudW1iZXI7XG4gICAgcHVibGljIGdyaWRDb2x1bW5zOiBhbnk7XG4gICAgcHVibGljIGdyaWREYXRhOiBEb2N1bWVudFtdID0gW107XG4gICAgcHVibGljIHNlbGVjdGlvbjogRG9jdW1lbnRbXTtcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgcHVibGljIGRvY3VtZW50OiBEb2N1bWVudDtcbiAgICBwdWJsaWMgZWRpdDogYm9vbGVhbjtcbiAgICBwdWJsaWMgcHJvY2Vzc1R5cGU6IFByb2Nlc3NUeXBlO1xuICAgIHB1YmxpYyBpc0NsaWVudGVFeHRlcm5vOiBib29sZWFuO1xuICAgIHB1YmxpYyBlbmFibGVCdXR0b25Jc0NsaWVudGVFeHRlcm5vID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeSA9IFwieW1zLmludC53bXNfc2F2ZWRfZG9jdW1lbnRfbWVzc2FnZV90aXRsZVwiO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBAVmlld0NoaWxkKFwiZG9jdW1lbnRUYWJsZVwiKVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tVGVtcGxhdGVcIilcbiAgICBwdWJsaWMgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tRmlsdGVyRmllbGRzXCIpXG4gICAgcHVibGljIGN1c3RvbUZpbHRlckZpZWxkczogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21HcmlkQ29sZ3JvdXBcIilcbiAgICBwdWJsaWMgY3VzdG9tR3JpZENvbGdyb3VwOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUdyaWRIZWFkZXJcIilcbiAgICBwdWJsaWMgY3VzdG9tR3JpZEhlYWRlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21HcmlkQm9keVwiKVxuICAgIHB1YmxpYyBjdXN0b21HcmlkQm9keTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHB1YmxpYyBpbnZvaWNlQ29uZGl0aW9uczogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbiB9W10gPSBbXG4gICAgICAgIHsgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2Vfbm9fd2F5XCIpLCB2YWx1ZTogbnVsbCB9LFxuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX2NvbmRpdGlvbl9hdXRob3JpemVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEIH0sXG4gICAgICAgIHsgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uX21hbnVhbF9hdXRob3JpemVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5NQU5VQUxfQVVUSE9SSVpFRCB9LFxuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX2NvbmRpdGlvbl9wYXJ0aWFsX2F1dGhvcml6ZWRcIiksIHZhbHVlOiBJbnZvaWNlQ29uZGl0aW9uLlBBUlRJQUxfQVVUSE9SSVpFRCB9LFxuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX2NvbmRpdGlvbl9kZXZvbHV0aW9uXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5ERVZPTFVUSU9OIH0sXG4gICAgICAgIHsgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uX3JlamVjdGVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5SRUpFQ1RFRCB9LFxuICAgIF07XG5cbiAgICBnZXRGaWx0ZXJlZEludm9pY2VDb25kaXRpb25zKGludm9pY2VDb25kaXRpb25zOiBhbnkpOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBJbnZvaWNlQ29uZGl0aW9uIHwgbnVsbCB9W10ge1xuICAgICAgICBpZiAoaW52b2ljZUNvbmRpdGlvbnMgPT09IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW52b2ljZUNvbmRpdGlvbnMuZmlsdGVyKGNvbmQgPT4gY29uZC52YWx1ZSA9PT0gSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludm9pY2VDb25kaXRpb25zLmZpbHRlcihjb25kID0+IGNvbmQudmFsdWUgIT09IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblNlcnZpY2U6IEludGVncmF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhZ2VuZGFTZXJ2aWNlOiBBZ2VuZGFTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHV0aWxzOiBVdGlsc01lc3NhZ2VTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZlcmlmeUNsaWVudGVFeHRlcm5vKCk7XG4gICAgICAgIHRoaXMuZ2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmcoKTtcbiAgICAgICAgdGhpcy5saXN0RG9jdW1lbnRzKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcmlmeUNsaWVudGVFeHRlcm5vKCkge1xuICAgICAgICB0aGlzLmFnZW5kYVNlcnZpY2UuaXNDbGllbnRlRXh0ZXJubygpXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogSXNDbGllbnRlRXh0ZXJubykgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0NsaWVudGVFeHRlcm5vID0gcmVzdWx0LmlzQ2xpZW50ZUV4dGVybm87XG4gICAgICAgICAgICB0aGlzLmdyaWRDb2x1bW5zID0gdGhpcy5nZXRHcmlkQ29sdW1ucygpO1xuICAgICAgICAgICAgdGhpcy5jYW50RWRpdFN0YXR1cygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nKCkge1xuICAgICAgICB0aGlzLmludGVncmF0aW9uU2VydmljZS5nZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZyh0aGlzLmFnZW5kYS50aXBvQWdlbmRhbWVudG8uaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IEdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nT3V0cHV0KSA9PiB0aGlzLnByb2Nlc3NUeXBlID0gcmVzdWx0LnByb2Nlc3NUeXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VEb2N1bWVudChkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0ZpbGxlZFZhbHVlcyhkb2N1bWVudCkpe1xuICAgICAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFwiZXJyb3JcIixcInltcy5pbnQud21zX3NhdmVfZXJyb3JfcmVnaXN0ZXJfZG9jdW1lbnRfbWVzc2FnZV90aXRsZVwiLFwieW1zLmludC53bXNfc2F2ZV9lcnJvcl9yZWdpc3Rlcl9kb2N1bWVudF9tZXNzYWdlX2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hc3NpZ25LZXlzKGRvY3VtZW50KTtcbiAgICAgICAgY29uc3QgZHVwbGljYXRlRG9jdW1lbnQgPSB0aGlzLmdyaWREYXRhLmZpbmQoZ3JpZERhdGEgPT4gZ3JpZERhdGEua2V5ID09PSBkb2N1bWVudC5rZXkpO1xuICAgICAgICBpZiAoZHVwbGljYXRlRG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcImVycm9yXCIsXCJ5bXMuaW50Lndtc19lcnJvcl9yZWdpc3Rlcl9kb2N1bWVudF9tZXNzYWdlX3RpdGxlXCIsXCJ5bXMuaW50Lndtc19lcnJvcl9yZWdpc3Rlcl9kb2N1bWVudF9tZXNzYWdlX2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ncmlkRGF0YS5wdXNoKGRvY3VtZW50KTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJzdWNjZXNzXCIsIHRoaXMuc3VtbWFyeSwgXCJ5bXMuaW50Lndtc19zdWNjZXNzX21lc3NhZ2VfZGVzY3JpcHRpb25cIik7XG4gICAgICAgIHRoaXMudmlzaWJsZURvY3VtZW50UmVnaXN0ZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52aXNpYmxlSW52b2ljZUtleSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXNzaWduS2V5cyhkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFnZW5kYS5pZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuc2NoZWR1bGluZ0lkID0gdGhpcy5hZ2VuZGEuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQua2V5ID09PSB1bmRlZmluZWQgfHwgZG9jdW1lbnQua2V5ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQua2V5ID0gZG9jdW1lbnQuaW52b2ljZUtleTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1dtc1dJUygpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmtleSA9IGAke2RvY3VtZW50Lmludm9pY2VOdW1iZXJ9OiR7ZG9jdW1lbnQuaW52b2ljZVNlcmlhbE51bWJlcn06JHtkb2N1bWVudC5wYXJ0bmVyRG9jdW1lbnR9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0ZpbGxlZFZhbHVlcyhkb2N1bWVudDogRG9jdW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybVZhbHVlcyA9IE9iamVjdC52YWx1ZXMoZG9jdW1lbnQpO1xuICAgICAgICByZXR1cm4gZm9ybVZhbHVlcy5zb21lKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJyk7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGNhbnRFZGl0U3RhdHVzKCkge1xuICAgICAgICBjb25zdCBjYW50RWRpdFN0YXR1cyA9IFtcbiAgICAgICAgICAgICdDQU5DRUxBRE8nLFxuICAgICAgICAgICAgJ0VNX0VYRUNVQ0FPJyxcbiAgICAgICAgICAgICdDT05DTFVJRE8nLFxuICAgICAgICAgICAgJ0FHVUFSREFORE9fUE9SX1ZBTElEQUNBTydcbiAgICAgICAgXS5pbmNsdWRlcyh0aGlzLmFnZW5kYS5zdGF0dXMudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgaWYoY2FudEVkaXRTdGF0dXMpIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlQnV0dG9uSXNDbGllbnRlRXh0ZXJubyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGlvbnMoKTogTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuY2hlY2tXbXNTeXN0ZW1JbnZhbGlkKCksXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19zZWFyY2hcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVJbnZvaWNlS2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGljb246IFwiZmEgZmEtc2VhcmNoXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuY2hlY2tXbXNTeXN0ZW1JbnZhbGlkKCksXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19hZGRfZG9jdW1lbnRfcmVnaXN0ZXJcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVEb2N1bWVudFJlZ2lzdGVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGljb246IFwiZmFzIGZhLXBlbi1zcXVhcmVcIlxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja1dtc1N5c3RlbUludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLndtc1N5c3RlbSAmJiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLk5PTkUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJvcChvYmo6IGFueSwgcGF0aDogYW55KSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IFwiXCIgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cblxuICAgIHB1YmxpYyB2aWV3KCkge1xuICAgICAgICB0aGlzLnZpZXdEb2N1bWVudC5lbWl0KHRoaXMuc2VsZWN0aW9uWzBdKTtcbiAgICAgICAgdGhpcy52aXNpYmxlRG9jdW1lbnRSZWdpc3RlciA9IHRydWU7XG4gICAgICAgIHRoaXMuZWRpdCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKCkge1xuICAgICAgICBpZih0aGlzLmdyaWREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICBpZighZGF0YS5pZCkge1xuICAgICAgICAgICAgICAgICAgICBpZighZGF0YS5zY2hlZHVsaW5nSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc2NoZWR1bGluZ0lkID0gdGhpcy5hZ2VuZGEuaWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YS5rZXkgPSB0aGlzLnVwZGF0ZUtleUJ5V21zKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5pbnNlcnQoZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjZXNzTWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS51cGRhdGUoZGF0YS5pZCwgZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjZXNzTWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmxpc3REb2N1bWVudHMoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVLZXlCeVdtcyhkYXRhOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGEua2V5KSB7XG4gICAgICAgICAgICBkYXRhLmtleSA9IGRhdGEuaW52b2ljZUtleTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVMpIHtcbiAgICAgICAgICAgIGRhdGEua2V5ID0gYCR7ZGF0YS5pbnZvaWNlTnVtYmVyfToke2RhdGEuaW52b2ljZVNlcmlhbE51bWJlcn06JHtkYXRhLnBhcnRuZXJEb2N1bWVudH1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhLmtleTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EZWxldGUoKSB7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJkZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIiksXG4gICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJkZWxldGVfY29uZmlybWF0aW9uX3RpdGxlXCIpLFxuICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVEb2N1bWVudElmSWRVbmRmaW5lZCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVtcHR5KCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKHRoaXMuc2VsZWN0aW9uLm1hcChkb2N1bWVudCA9PiB0aGlzLmRvY3VtZW50U2VydmljZS5kZWxldGUoZG9jdW1lbnQuaWQpKSlcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFwic3VjY2Vzc1wiLCBcImRlbGV0ZWRfbWVzc2FnZV90aXRsZVwiLCBcImRlbGV0ZWRfbWVzc2FnZV9jb250ZW50XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3REb2N1bWVudHModHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlRG9jdW1lbnRJZklkVW5kZmluZWQoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZS5pZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4R3JpZERhdGEgPSB0aGlzLmdyaWREYXRhLmZpbmRJbmRleChkb2N1bWVudCA9PiBkb2N1bWVudC5rZXkgPT09IHZhbHVlLmtleSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhLnNwbGljZShpbmRleEdyaWREYXRhLCAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90U2F2ZWREb2N1bWVudHMoKSA6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmlkRGF0YS5zb21lKGRvY3VtZW50ID0+ICFkb2N1bWVudC5pZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGxpc3REb2N1bWVudHMoaXNEZWxldGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UubGlzdCh7XG4gICAgICAgICAgICBmaWx0ZXJRdWVyeTogYHNjaGVkdWxpbmdJZCBlcSAnJHt0aGlzLmFnZW5kYS5pZH0nYCxcbiAgICAgICAgICAgIHNpemU6IDEwMFxuICAgICAgICB9KVxuICAgICAgICAuc3Vic2NyaWJlKChjb250ZW50czogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gaXNEZWxldGUgPyB0aGlzLmdyaWREYXRhLmZpbHRlcihpdGVtID0+ICFpdGVtLmlkKSA6IFtdO1xuXG4gICAgICAgICAgICBpZihjb250ZW50cy50b3RhbEVsZW1lbnRzID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEucHVzaCguLi5jb250ZW50cy5jb250ZW50cyk7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFRvdGFsUmVjb3JkcyA9IGNvbnRlbnRzLnRvdGFsRWxlbWVudHM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRUb3RhbFJlY29yZHMgPSB0aGlzLmdyaWREYXRhLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGhhc0VsZW1lbnRXaXRob3V0SWQgPSB0aGlzLmdyaWREYXRhLnNvbWUoaXRlbSA9PiAhaXRlbS5pZCk7XG5cbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSAhaGFzRWxlbWVudFdpdGhvdXRJZDtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBbXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHcmlkQ29sdW1ucygpIHtcbiAgICAgICAgbGV0IHJlc3VsdDtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMud21zU3lzdGVtKSB7XG4gICAgICAgICAgICBjYXNlIFdtc1N5c3RlbS5TRU5JT1JfQ09OTkVDVDpcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLndtc1NlbmlvckNvbm5lY3RJbnRlZ3JhdGlvbigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBXbXNTeXN0ZW0uV0lTOlxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMud21zV2lzSW50ZWdyYXRpb24oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgV21zU3lzdGVtLlNFTklPUjpcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLndtc1NpbHRJbnRlZ3JhdGlvbigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3bXNTZW5pb3JDb25uZWN0SW50ZWdyYXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcImtleVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19wdXJjaGFzZU9yZGVyXCIpIH0sXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbHVtblBhcnRuZXIoKSxcbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy5hZGRJbnZvaWNlU2l0dWF0aW9uSWZOb3RDbGllbnRlRXh0ZXJubyhjb2x1bW5zKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3bXNXaXNJbnRlZ3JhdGlvbigpIHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IFtcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uSW52b2ljZUFuZGxvZ2lzdGNVbml0KCksXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMuYWRkSW52b2ljZVNpdHVhdGlvbklmTm90Q2xpZW50ZUV4dGVybm8oY29sdW1ucyk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cblxuICAgIHByaXZhdGUgd21zU2lsdEludGVncmF0aW9uKCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJpbnZvaWNlS2V5XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2Vfa2V5XCIpIH0sXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbHVtbkludm9pY2VBbmRsb2dpc3RjVW5pdCgpLFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lck5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfb3duZXJfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lckRvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X293bmVyX2RvY3VtZW50XCIpIH0sXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMuYWRkSW52b2ljZVNpdHVhdGlvbklmTm90Q2xpZW50ZUV4dGVybm8oY29sdW1ucyk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29sdW1uaW52b2ljZUNvbmRpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHsgZmllbGQ6IFwiaW52b2ljZUNvbmRpdGlvblwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uXCIpIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5JbnZvaWNlQW5kbG9naXN0Y1VuaXQoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcImludm9pY2VOdW1iZXJcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiaW52b2ljZVNlcmlhbE51bWJlclwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3NlcmlhbF9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uUGFydG5lcigpLFxuICAgICAgICAgICAgeyBmaWVsZDogXCJsb2dpc3RjVW5pdE5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfbG9naXN0Y191bml0X25hbWVcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwibG9naXN0Y1VuaXREb2N1bWVudFwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9sb2dpc3RjX3VuaXRfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtblBhcnRuZXIoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcInBhcnRuZXJOYW1lXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X3BhcnRuZXJfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJwYXJ0bmVyRG9jdW1lbnRcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfcGFydG5lcl9kb2N1bWVudFwiKSB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkSW52b2ljZVNpdHVhdGlvbklmTm90Q2xpZW50ZUV4dGVybm8oY29sdW1uczogYW55W10pIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ2xpZW50ZUV4dGVybm8pIHtcbiAgICAgICAgICAgIGNvbHVtbnMucHVzaCh0aGlzLmdldENvbHVtbmludm9pY2VDb25kaXRpb24oKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTZW5pb3JDb25uZWN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1JfQ09OTkVDVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNXSVMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTaWx0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1I7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWNlc3NNZXNzYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51dGlscy5tZXNzYWdlKFwic3VjY2Vzc1wiLCB0aGlzLnN1bW1hcnksIFwic2F2ZWRfbWVzc2FnZV9jb250ZW50XCIpO1xuICAgIH1cbn1cbiJdfQ==
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQVksTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQW9DLGtCQUFrQixFQUFlLE1BQU0sa0RBQWtELENBQUM7QUFDckksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDcEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPbkU7SUFtREksK0JBQ3FCLFNBQTJCLEVBQzNCLGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFD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d0RBQUM7SUFHcEI7UUFEQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7MENBQ0wsV0FBVztpRUFBTTtJQUd4QztRQURDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQzswQ0FDTCxXQUFXO3FFQUFNO0lBRzVDO1FBREMsU0FBUyxDQUFDLG9CQUFvQixDQUFDOzBDQUNMLFdBQVc7cUVBQU07SUFHNUM7UUFEQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7MENBQ0wsV0FBVzttRUFBTTtJQUcxQztRQURDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQzswQ0FDTCxXQUFXO2lFQUFNO0lBekMvQixxQkFBcUI7UUFMakMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGVBQWU7WUFDekIsaXdQQUE2Qzs7U0FFaEQsQ0FBQztpREFxRGtDLGdCQUFnQjtZQUNWLGVBQWU7WUFDWCxtQkFBbUI7WUFDcEIsa0JBQWtCO1lBQ3ZCLGFBQWE7WUFDckIsbUJBQW1CO09BekR0QyxxQkFBcUIsQ0F1V2pDO0lBQUQsNEJBQUM7Q0FBQSxBQXZXRCxJQXVXQztTQXZXWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVudUl0ZW0gfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSBcInByaW1lbmcvdGFibGVcIjtcbmltcG9ydCB7IFN1YmplY3QsIGVtcHR5LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXRpbHNNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi91dGlscy91dGlscy1tZXNzYWdlXCI7XG5pbXBvcnQgeyBBZ2VuZGFTZXJ2aWNlLCBJc0NsaWVudGVFeHRlcm5vIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvYWdlbmRhL2FnZW5kYS5zZXJ2aWNlJztcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50XCI7XG5pbXBvcnQgeyBEb2N1bWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFdtc1N5c3RlbSB9IGZyb20gJy4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbSc7XG5pbXBvcnQgeyBHZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZ091dHB1dCwgSW50ZWdyYXRpb25TZXJ2aWNlLCBQcm9jZXNzVHlwZSB9IGZyb20gJy4vLi4vLi4vZW50aXRpZXMvaW50ZWdyYXRpb24vaW50ZWdyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NyYy93bXMvZW50aXRpZXMvaW52b2ljZS1jb25kaXRpb24vaW52b2ljZS1jb25kaXRpb25cIjtcbmltcG9ydCB7IGdldEludm9pY2VDb25kaXRpb25zIH0gZnJvbSBcIi4uL3V0aWxzL2ludm9pY2UtY29uZGl0aW9uc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RvY3VtZW50LWdyaWQnLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9kb2N1bWVudC1ncmlkLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50R3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBASW5wdXQoKSBhZ2VuZGE7XG4gICAgQElucHV0KCkgd21zU3lzdGVtOiBXbXNTeXN0ZW07XG4gICAgQE91dHB1dCgpIHZpc2libGVJbnZvaWNlS2V5OiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlRG9jdW1lbnRSZWdpc3RlcjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSB2aWV3RG9jdW1lbnQ6IEV2ZW50RW1pdHRlcjxEb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgZG9jdW1lbnRUb3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICBwdWJsaWMgZ3JpZENvbHVtbnM6IGFueTtcbiAgICBwdWJsaWMgZ3JpZERhdGE6IERvY3VtZW50W10gPSBbXTtcbiAgICBwdWJsaWMgc2VsZWN0aW9uOiBEb2N1bWVudFtdO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZG9jdW1lbnQ6IERvY3VtZW50O1xuICAgIHB1YmxpYyBlZGl0OiBib29sZWFuO1xuICAgIHB1YmxpYyBwcm9jZXNzVHlwZTogUHJvY2Vzc1R5cGU7XG4gICAgcHVibGljIGlzQ2xpZW50ZUV4dGVybm86IGJvb2xlYW47XG4gICAgcHVibGljIGVuYWJsZUJ1dHRvbklzQ2xpZW50ZUV4dGVybm8gPSB0cnVlO1xuICAgIHB1YmxpYyBpbnZvaWNlQ29uZGl0aW9ucyA9IGdldEludm9pY2VDb25kaXRpb25zKHRoaXMudHJhbnNsYXRlKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeSA9IFwieW1zLmludC53bXNfc2F2ZWRfZG9jdW1lbnRfbWVzc2FnZV90aXRsZVwiO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBAVmlld0NoaWxkKFwiZG9jdW1lbnRUYWJsZVwiKVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tVGVtcGxhdGVcIilcbiAgICBwdWJsaWMgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tRmlsdGVyRmllbGRzXCIpXG4gICAgcHVibGljIGN1c3RvbUZpbHRlckZpZWxkczogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21HcmlkQ29sZ3JvdXBcIilcbiAgICBwdWJsaWMgY3VzdG9tR3JpZENvbGdyb3VwOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUdyaWRIZWFkZXJcIilcbiAgICBwdWJsaWMgY3VzdG9tR3JpZEhlYWRlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21HcmlkQm9keVwiKVxuICAgIHB1YmxpYyBjdXN0b21HcmlkQm9keTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGdldEZpbHRlcmVkSW52b2ljZUNvbmRpdGlvbnMoaW52b2ljZUNvbmRpdGlvbnM6IGFueSk6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEludm9pY2VDb25kaXRpb24gfCBudWxsIH1bXSB7XG4gICAgICAgIGlmIChpbnZvaWNlQ29uZGl0aW9ucyA9PT0gSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQ29uZGl0aW9ucy5maWx0ZXIoY29uZCA9PiBjb25kLnZhbHVlID09PSBJbnZvaWNlQ29uZGl0aW9uLkFVVEhPUklaRUQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW52b2ljZUNvbmRpdGlvbnMuZmlsdGVyKGNvbmQgPT4gY29uZC52YWx1ZSAhPT0gSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGludGVncmF0aW9uU2VydmljZTogSW50ZWdyYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFnZW5kYVNlcnZpY2U6IEFnZW5kYVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXRpbHM6IFV0aWxzTWVzc2FnZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmVyaWZ5Q2xpZW50ZUV4dGVybm8oKTtcbiAgICAgICAgdGhpcy5nZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZygpO1xuICAgICAgICB0aGlzLmxpc3REb2N1bWVudHMoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyaWZ5Q2xpZW50ZUV4dGVybm8oKSB7XG4gICAgICAgIHRoaXMuYWdlbmRhU2VydmljZS5pc0NsaWVudGVFeHRlcm5vKClcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBJc0NsaWVudGVFeHRlcm5vKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzQ2xpZW50ZUV4dGVybm8gPSByZXN1bHQuaXNDbGllbnRlRXh0ZXJubztcbiAgICAgICAgICAgIHRoaXMuZ3JpZENvbHVtbnMgPSB0aGlzLmdldEdyaWRDb2x1bW5zKCk7XG4gICAgICAgICAgICB0aGlzLmNhbnRFZGl0U3RhdHVzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmcoKSB7XG4gICAgICAgIHRoaXMuaW50ZWdyYXRpb25TZXJ2aWNlLmdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nKHRoaXMuYWdlbmRhLnRpcG9BZ2VuZGFtZW50by5pZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogR2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmdPdXRwdXQpID0+IHRoaXMucHJvY2Vzc1R5cGUgPSByZXN1bHQucHJvY2Vzc1R5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZURvY3VtZW50KGRvY3VtZW50OiBEb2N1bWVudCkge1xuICAgICAgICBpZiAoIXRoaXMuaGFzRmlsbGVkVmFsdWVzKGRvY3VtZW50KSl7XG4gICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJlcnJvclwiLFwieW1zLmludC53bXNfc2F2ZV9lcnJvcl9yZWdpc3Rlcl9kb2N1bWVudF9tZXNzYWdlX3RpdGxlXCIsXCJ5bXMuaW50Lndtc19zYXZlX2Vycm9yX3JlZ2lzdGVyX2RvY3VtZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFzc2lnbktleXMoZG9jdW1lbnQpO1xuICAgICAgICBjb25zdCBkdXBsaWNhdGVEb2N1bWVudCA9IHRoaXMuZ3JpZERhdGEuZmluZChncmlkRGF0YSA9PiBncmlkRGF0YS5rZXkgPT09IGRvY3VtZW50LmtleSk7XG4gICAgICAgIGlmIChkdXBsaWNhdGVEb2N1bWVudCkge1xuICAgICAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFwiZXJyb3JcIixcInltcy5pbnQud21zX2Vycm9yX3JlZ2lzdGVyX2RvY3VtZW50X21lc3NhZ2VfdGl0bGVcIixcInltcy5pbnQud21zX2Vycm9yX3JlZ2lzdGVyX2RvY3VtZW50X21lc3NhZ2VfZGVzY3JpcHRpb25cIik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdyaWREYXRhLnB1c2goZG9jdW1lbnQpO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcInN1Y2Nlc3NcIiwgdGhpcy5zdW1tYXJ5LCBcInltcy5pbnQud21zX3N1Y2Nlc3NfbWVzc2FnZV9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgdGhpcy52aXNpYmxlRG9jdW1lbnRSZWdpc3RlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnZpc2libGVJbnZvaWNlS2V5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3NpZ25LZXlzKGRvY3VtZW50OiBEb2N1bWVudCkge1xuICAgICAgICBpZiAoZG9jdW1lbnQuaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWdlbmRhLmlkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5zY2hlZHVsaW5nSWQgPSB0aGlzLmFnZW5kYS5pZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkb2N1bWVudC5rZXkgPT09IHVuZGVmaW5lZCB8fCBkb2N1bWVudC5rZXkgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5rZXkgPSBkb2N1bWVudC5pbnZvaWNlS2V5O1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzV21zV0lTKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQua2V5ID0gYCR7ZG9jdW1lbnQuaW52b2ljZU51bWJlcn06JHtkb2N1bWVudC5pbnZvaWNlU2VyaWFsTnVtYmVyfToke2RvY3VtZW50LnBhcnRuZXJEb2N1bWVudH1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFzRmlsbGVkVmFsdWVzKGRvY3VtZW50OiBEb2N1bWVudCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtVmFsdWVzID0gT2JqZWN0LnZhbHVlcyhkb2N1bWVudCk7XG4gICAgICAgIHJldHVybiBmb3JtVmFsdWVzLnNvbWUodmFsdWUgPT4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09ICcnKTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgY2FudEVkaXRTdGF0dXMoKSB7XG4gICAgICAgIGNvbnN0IGNhbnRFZGl0U3RhdHVzID0gW1xuICAgICAgICAgICAgJ0NBTkNFTEFETycsXG4gICAgICAgICAgICAnRU1fRVhFQ1VDQU8nLFxuICAgICAgICAgICAgJ0NPTkNMVUlETycsXG4gICAgICAgICAgICAnQUdVQVJEQU5ET19QT1JfVkFMSURBQ0FPJ1xuICAgICAgICBdLmluY2x1ZGVzKHRoaXMuYWdlbmRhLnN0YXR1cy50b1N0cmluZygpKTtcblxuICAgICAgICBpZihjYW50RWRpdFN0YXR1cykge1xuICAgICAgICAgICAgdGhpcy5lbmFibGVCdXR0b25Jc0NsaWVudGVFeHRlcm5vID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucygpOiBNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5jaGVja1dtc1N5c3RlbUludmFsaWQoKSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3NlYXJjaFwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZUludm9pY2VLZXkgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaWNvbjogXCJmYSBmYS1zZWFyY2hcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5jaGVja1dtc1N5c3RlbUludmFsaWQoKSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2FkZF9kb2N1bWVudF9yZWdpc3RlclwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZURvY3VtZW50UmVnaXN0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaWNvbjogXCJmYXMgZmEtcGVuLXNxdWFyZVwiXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrV21zU3lzdGVtSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMud21zU3lzdGVtICYmIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uTk9ORSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQcm9wKG9iajogYW55LCBwYXRoOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHVibGljIHZpZXcoKSB7XG4gICAgICAgIHRoaXMudmlld0RvY3VtZW50LmVtaXQodGhpcy5zZWxlY3Rpb25bMF0pO1xuICAgICAgICB0aGlzLnZpc2libGVEb2N1bWVudFJlZ2lzdGVyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lZGl0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmUoKSB7XG4gICAgICAgIGlmKHRoaXMuZ3JpZERhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5ncmlkRGF0YS5mb3JFYWNoKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIGlmKCFkYXRhLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmKCFkYXRhLnNjaGVkdWxpbmdJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5zY2hlZHVsaW5nSWQgPSB0aGlzLmFnZW5kYS5pZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkYXRhLmtleSA9IHRoaXMudXBkYXRlS2V5QnlXbXMoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmluc2VydChkYXRhKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWNlc3NNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLnVwZGF0ZShkYXRhLmlkLCBkYXRhKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWNlc3NNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMubGlzdERvY3VtZW50cyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUtleUJ5V21zKGRhdGE6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0YS5rZXkpIHtcbiAgICAgICAgICAgIGRhdGEua2V5ID0gZGF0YS5pbnZvaWNlS2V5O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUykge1xuICAgICAgICAgICAgZGF0YS5rZXkgPSBgJHtkYXRhLmludm9pY2VOdW1iZXJ9OiR7ZGF0YS5pbnZvaWNlU2VyaWFsTnVtYmVyfToke2RhdGEucGFydG5lckRvY3VtZW50fWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGEua2V5O1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRlbGV0ZSgpIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImRlbGV0ZV9jb25maXJtYXRpb25fbWVzc2FnZVwiKSxcbiAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImRlbGV0ZV9jb25maXJtYXRpb25fdGl0bGVcIiksXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZURvY3VtZW50SWZJZFVuZGZpbmVkKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24ubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHkoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4odGhpcy5zZWxlY3Rpb24ubWFwKGRvY3VtZW50ID0+IHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmRlbGV0ZShkb2N1bWVudC5pZCkpKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJzdWNjZXNzXCIsIFwiZGVsZXRlZF9tZXNzYWdlX3RpdGxlXCIsIFwiZGVsZXRlZF9tZXNzYWdlX2NvbnRlbnRcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdERvY3VtZW50cyh0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVEb2N1bWVudElmSWRVbmRmaW5lZCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXZhbHVlLmlkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXhHcmlkRGF0YSA9IHRoaXMuZ3JpZERhdGEuZmluZEluZGV4KGRvY3VtZW50ID0+IGRvY3VtZW50LmtleSA9PT0gdmFsdWUua2V5KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEuc3BsaWNlKGluZGV4R3JpZERhdGEsIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RTYXZlZERvY3VtZW50cygpIDogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWREYXRhLnNvbWUoZG9jdW1lbnQgPT4gIWRvY3VtZW50LmlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGlzdERvY3VtZW50cyhpc0RlbGV0ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5saXN0KHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5OiBgc2NoZWR1bGluZ0lkIGVxICcke3RoaXMuYWdlbmRhLmlkfSdgLFxuICAgICAgICAgICAgc2l6ZTogMTAwXG4gICAgICAgIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSBpc0RlbGV0ZSA/IHRoaXMuZ3JpZERhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaWQpIDogW107XG5cbiAgICAgICAgICAgIGlmKGNvbnRlbnRzLnRvdGFsRWxlbWVudHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YS5wdXNoKC4uLmNvbnRlbnRzLmNvbnRlbnRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50VG90YWxSZWNvcmRzID0gY29udGVudHMudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFRvdGFsUmVjb3JkcyA9IHRoaXMuZ3JpZERhdGEubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaGFzRWxlbWVudFdpdGhvdXRJZCA9IHRoaXMuZ3JpZERhdGEuc29tZShpdGVtID0+ICFpdGVtLmlkKTtcblxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9ICFoYXNFbGVtZW50V2l0aG91dElkO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IFtdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEdyaWRDb2x1bW5zKCkge1xuICAgICAgICBsZXQgcmVzdWx0O1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy53bXNTeXN0ZW0pIHtcbiAgICAgICAgICAgIGNhc2UgV21zU3lzdGVtLlNFTklPUl9DT05ORUNUOlxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMud21zU2VuaW9yQ29ubmVjdEludGVncmF0aW9uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFdtc1N5c3RlbS5XSVM6XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy53bXNXaXNJbnRlZ3JhdGlvbigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBXbXNTeXN0ZW0uU0VOSU9SOlxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMud21zU2lsdEludGVncmF0aW9uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdtc1NlbmlvckNvbm5lY3RJbnRlZ3JhdGlvbigpIHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IFtcbiAgICAgICAgICAgIHsgZmllbGQ6IFwia2V5XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3B1cmNoYXNlT3JkZXJcIikgfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uUGFydG5lcigpLFxuICAgICAgICBdO1xuICAgICAgICB0aGlzLmFkZEludm9pY2VTaXR1YXRpb25JZk5vdENsaWVudGVFeHRlcm5vKGNvbHVtbnMpO1xuICAgICAgICByZXR1cm4gY29sdW1ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHdtc1dpc0ludGVncmF0aW9uKCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gW1xuICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5JbnZvaWNlQW5kbG9naXN0Y1VuaXQoKSxcbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy5hZGRJbnZvaWNlU2l0dWF0aW9uSWZOb3RDbGllbnRlRXh0ZXJubyhjb2x1bW5zKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3bXNTaWx0SW50ZWdyYXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcImludm9pY2VLZXlcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9rZXlcIikgfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uSW52b2ljZUFuZGxvZ2lzdGNVbml0KCksXG4gICAgICAgICAgICB7IGZpZWxkOiBcIm93bmVyTmFtZVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9vd25lcl9uYW1lXCIpIH0sXG4gICAgICAgICAgICB7IGZpZWxkOiBcIm93bmVyRG9jdW1lbnRcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfb3duZXJfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy5hZGRJbnZvaWNlU2l0dWF0aW9uSWZOb3RDbGllbnRlRXh0ZXJubyhjb2x1bW5zKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5pbnZvaWNlQ29uZGl0aW9uKCkge1xuICAgICAgICByZXR1cm4geyBmaWVsZDogXCJpbnZvaWNlQ29uZGl0aW9uXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25cIikgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtbkludm9pY2VBbmRsb2dpc3RjVW5pdCgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiaW52b2ljZU51bWJlclwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX251bWJlclwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJpbnZvaWNlU2VyaWFsTnVtYmVyXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2Vfc2VyaWFsX251bWJlclwiKSB9LFxuICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5QYXJ0bmVyKCksXG4gICAgICAgICAgICB7IGZpZWxkOiBcImxvZ2lzdGNVbml0TmFtZVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9sb2dpc3RjX3VuaXRfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJsb2dpc3RjVW5pdERvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2xvZ2lzdGNfdW5pdF9kb2N1bWVudFwiKSB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29sdW1uUGFydG5lcigpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgZmllbGQ6IFwicGFydG5lck5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfcGFydG5lcl9uYW1lXCIpIH0sXG4gICAgICAgICAgICB7IGZpZWxkOiBcInBhcnRuZXJEb2N1bWVudFwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9wYXJ0bmVyX2RvY3VtZW50XCIpIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRJbnZvaWNlU2l0dWF0aW9uSWZOb3RDbGllbnRlRXh0ZXJubyhjb2x1bW5zOiBhbnlbXSkge1xuICAgICAgICBpZiAoIXRoaXMuaXNDbGllbnRlRXh0ZXJubykge1xuICAgICAgICAgICAgY29sdW1ucy5wdXNoKHRoaXMuZ2V0Q29sdW1uaW52b2ljZUNvbmRpdGlvbigpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1NlbmlvckNvbm5lY3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlNFTklPUl9DT05ORUNUO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1dJUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uV0lTO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1dtc1NpbHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlNFTklPUjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1Y2Vzc01lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJzdWNjZXNzXCIsIHRoaXMuc3VtbWFyeSwgXCJzYXZlZF9tZXNzYWdlX2NvbnRlbnRcIik7XG4gICAgfVxufVxuIl19
|
package/esm5/src/wms/components/document-grid/register-document/register-document.component.js
CHANGED
|
@@ -4,8 +4,8 @@ import { FormBuilder, Validators } from "@angular/forms";
|
|
|
4
4
|
import { Agenda } from '../../../../erp-senior/core/entities/agenda/agenda';
|
|
5
5
|
import { Document } from '../../../entities/document/document';
|
|
6
6
|
import { WmsSystem } from "../../../entities/wms-system/wms-system";
|
|
7
|
-
import { InvoiceCondition } from "../../../entities/invoice-condition/invoice-condition";
|
|
8
7
|
import { TranslateService } from "@ngx-translate/core";
|
|
8
|
+
import { getInvoiceConditions } from "../../utils/invoice-conditions";
|
|
9
9
|
var RegisterDocumentComponent = /** @class */ (function () {
|
|
10
10
|
function RegisterDocumentComponent(fb, translate) {
|
|
11
11
|
this.fb = fb;
|
|
@@ -14,14 +14,7 @@ var RegisterDocumentComponent = /** @class */ (function () {
|
|
|
14
14
|
this.visible = new EventEmitter();
|
|
15
15
|
this.visibleChange = new EventEmitter();
|
|
16
16
|
this.isSaveFormValid = false;
|
|
17
|
-
this.invoiceCondition =
|
|
18
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_no_way"), value: null },
|
|
19
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_authorized"), value: InvoiceCondition.AUTHORIZED },
|
|
20
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_manual_authorized"), value: InvoiceCondition.MANUAL_AUTHORIZED },
|
|
21
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_partial_authorized"), value: InvoiceCondition.PARTIAL_AUTHORIZED },
|
|
22
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_devolution"), value: InvoiceCondition.DEVOLUTION },
|
|
23
|
-
{ label: this.translate.instant("yms.int.wms_grid_document_invoice_condition_rejected"), value: InvoiceCondition.REJECTED },
|
|
24
|
-
];
|
|
17
|
+
this.invoiceCondition = getInvoiceConditions(this.translate);
|
|
25
18
|
}
|
|
26
19
|
RegisterDocumentComponent.prototype.ngOnInit = function () {
|
|
27
20
|
this.getFormGroup();
|
|
@@ -138,4 +131,4 @@ var RegisterDocumentComponent = /** @class */ (function () {
|
|
|
138
131
|
return RegisterDocumentComponent;
|
|
139
132
|
}());
|
|
140
133
|
export { RegisterDocumentComponent };
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy93bXMvY29tcG9uZW50cy9kb2N1bWVudC1ncmlkL3JlZ2lzdGVyLWRvY3VtZW50L3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RDtJQWVJLG1DQUE2QixFQUFlLEVBQW1CLFNBQTJCO1FBQTdELE9BQUUsR0FBRixFQUFFLENBQWE7UUFBbUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFUaEYsYUFBUSxHQUEyQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELFlBQU8sR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJdEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFJeEIscUJBQWdCLEdBQWlEO1lBQ3BFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFB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ZTtJQUNkO1FBQVIsS0FBSyxFQUFFOzBDQUFTLE1BQU07NkRBQUM7SUFDZjtRQUFSLEtBQUssRUFBRTs7dUVBQTJCO0lBQ3pCO1FBQVQsTUFBTSxFQUFFOzBDQUFXLFlBQVk7K0RBQWdDO0lBQ3ZEO1FBQVIsS0FBSyxFQUFFOztnRUFBc0I7SUFDckI7UUFBUixLQUFLLEVBQUU7MENBQVUsWUFBWTs4REFBK0I7SUFDbkQ7UUFBVCxNQUFNLEVBQUU7O29FQUFvQztJQVRwQyx5QkFBeUI7UUFKckMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixzNUpBQWlEO1NBQ3BELENBQUM7aURBZ0JtQyxXQUFXLEVBQThCLGdCQUFnQjtPQWZqRix5QkFBeUIsQ0E0R3JDO0lBQUQsZ0NBQUM7Q0FBQSxBQTVHRCxJQTRHQztTQTVHWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQWdlbmRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJwLXNlbmlvci9jb3JlL2VudGl0aWVzL2FnZW5kYS9hZ2VuZGEnO1xuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudCc7XG5pbXBvcnQgeyBXbXNTeXN0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtXCI7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2VudGl0aWVzL2ludm9pY2UtY29uZGl0aW9uL2ludm9pY2UtY29uZGl0aW9uXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInJlZ2lzdGVyLWRvY3VtZW50XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9yZWdpc3Rlci1kb2N1bWVudC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckRvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgdmlld0RvY3VtZW50OiBEb2N1bWVudFtdO1xuICAgIEBJbnB1dCgpIGVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWdlbmRhOiBBZ2VuZGE7XG4gICAgQElucHV0KCkgaXNDbGllbnRlRXh0ZXJubzogYm9vbGVhbjtcbiAgICBAT3V0cHV0KCkgZG9jdW1lbnQ6IEV2ZW50RW1pdHRlcjxEb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KCkgd21zU3lzdGVtOiBXbXNTeXN0ZW07XG4gICAgQElucHV0KCkgdmlzaWJsZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBoaWRlU2F2ZUJ1dHRvbjogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXNTYXZlRm9ybVZhbGlkID0gZmFsc2U7XG4gICAgXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIGludm9pY2VDb25kaXRpb246IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEludm9pY2VDb25kaXRpb24gfVtdID0gW1xuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX25vX3dheVwiKSwgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fYXV0aG9yaXplZFwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRCB9LFxuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX2NvbmRpdGlvbl9tYW51YWxfYXV0aG9yaXplZFwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uTUFOVUFMX0FVVEhPUklaRUQgfSxcbiAgICAgICAgeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fcGFydGlhbF9hdXRob3JpemVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5QQVJUSUFMX0FVVEhPUklaRUQgfSxcbiAgICAgICAgeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fZGV2b2x1dGlvblwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uREVWT0xVVElPTiB9LFxuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX2NvbmRpdGlvbl9yZWplY3RlZFwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uUkVKRUNURUQgfSxcbiAgICBdO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0Rm9ybUdyb3VwKCk7XG4gICAgICAgIHRoaXMud2F0Y2hGb3JtQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpc2liaWxpdHlDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmlzaWJpbGl0eUNvbmZpZygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXQgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlc0Zvcm1Hcm91cCh0aGlzLnZpZXdEb2N1bWVudFswXSk7XG4gICAgICAgICAgICB0aGlzLmhpZGVTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZW5hYmxlKCk7XG4gICAgICAgICAgICB0aGlzLmhpZGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZhbHVlc0Zvcm1Hcm91cChkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdrZXknKS5zZXRWYWx1ZShkb2N1bWVudC5rZXkpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VLZXknKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlS2V5KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlTnVtYmVyJykuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZU51bWJlcik7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZVNlcmlhbE51bWJlcicpLnNldFZhbHVlKGRvY3VtZW50Lmludm9pY2VTZXJpYWxOdW1iZXIpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2xvZ2lzdGNVbml0RG9jdW1lbnQnKS5zZXRWYWx1ZShkb2N1bWVudC5sb2dpc3RjVW5pdERvY3VtZW50KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdsb2dpc3RjVW5pdE5hbWUnKS5zZXRWYWx1ZShkb2N1bWVudC5sb2dpc3RjVW5pdE5hbWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ25vdGVzJykuc2V0VmFsdWUoZG9jdW1lbnQubm90ZXMpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NvZGUnKS5zZXRWYWx1ZShkb2N1bWVudC5jb2RlKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyTmFtZScpLnNldFZhbHVlKGRvY3VtZW50LnBhcnRuZXJOYW1lKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyRG9jdW1lbnQnKS5zZXRWYWx1ZShkb2N1bWVudC5wYXJ0bmVyRG9jdW1lbnQpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ293bmVyRG9jdW1lbnQnKS5zZXRWYWx1ZShkb2N1bWVudC5vd25lckRvY3VtZW50KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdvd25lck5hbWUnKS5zZXRWYWx1ZShkb2N1bWVudC5vd25lck5hbWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VDb25kaXRpb24nKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlQ29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1Hcm91cCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIGtleTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICAgICBpbnZvaWNlS2V5OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHNjaGVkdWxpbmdJZDogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlTnVtYmVyOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGludm9pY2VTZXJpYWxOdW1iZXI6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgbG9naXN0Y1VuaXROYW1lOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGxvZ2lzdGNVbml0RG9jdW1lbnQ6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgb3duZXJOYW1lOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIG93bmVyRG9jdW1lbnQ6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgcGFydG5lck5hbWU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgcGFydG5lckRvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIG5vdGVzOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGNvZGU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgaW52b2ljZUNvbmRpdGlvbjogW3VuZGVmaW5lZF0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKCkge1xuICAgICAgICB0aGlzLmRvY3VtZW50LmVtaXQoRG9jdW1lbnQuZnJvbUR0byh0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpKSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zV2lzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVM7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yQ29ubmVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YXRjaEZvcm1DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuaXNTYXZlRm9ybVZhbGlkID0gZm9ybVZhbHVlcy5zb21lKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy93bXMvY29tcG9uZW50cy9kb2N1bWVudC1ncmlkL3JlZ2lzdGVyLWRvY3VtZW50L3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt0RTtJQWVJLG1DQUE2QixFQUFlLEVBQW1CLFNBQTJCO1FBQTdELE9BQUUsR0FBRixFQUFFLENBQWE7UUFBbUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFUaEYsYUFBUSxHQUEyQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELFlBQU8sR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJdEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIscUJBQWdCLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzhCLENBQUM7SUFFOUYsNENBQVEsR0FBUjtRQUNJLElBQUksQ0FBQyxZQUFZLEVB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S0M7UUFKRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFDbEMsSUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELEtBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQWhHUTtRQUFSLEtBQUssRUFBRTs7bUVBQTBCO0lBQ3pCO1FBQVIsS0FBSyxFQUFFOzsyREFBZTtJQUNkO1FBQVIsS0FBSyxFQUFFOzBDQUFTLE1BQU07NkRBQUM7SUFDZjtRQUFSLEtBQUssRUFBRTs7dUVBQTJCO0lBQ3pCO1FBQVQsTUFBTSxFQUFFOzBDQUFXLFlBQVk7K0RBQWdDO0lBQ3ZEO1FBQVIsS0FBSyxFQUFFOztnRUFBc0I7SUFDckI7UUFBUixLQUFLLEVBQUU7MENBQVUsWUFBWTs4REFBK0I7SUFDbkQ7UUFBVCxNQUFNLEVBQUU7O29FQUFvQztJQVRwQyx5QkFBeUI7UUFKckMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixzNUpBQWlEO1NBQ3BELENBQUM7aURBZ0JtQyxXQUFXLEVBQThCLGdCQUFnQjtPQWZqRix5QkFBeUIsQ0FtR3JDO0lBQUQsZ0NBQUM7Q0FBQSxBQW5HRCxJQW1HQztTQW5HWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQWdlbmRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJwLXNlbmlvci9jb3JlL2VudGl0aWVzL2FnZW5kYS9hZ2VuZGEnO1xuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudCc7XG5pbXBvcnQgeyBXbXNTeXN0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtXCI7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2VudGl0aWVzL2ludm9pY2UtY29uZGl0aW9uL2ludm9pY2UtY29uZGl0aW9uXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IGdldEludm9pY2VDb25kaXRpb25zIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2ludm9pY2UtY29uZGl0aW9uc1wiO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicmVnaXN0ZXItZG9jdW1lbnRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSB2aWV3RG9jdW1lbnQ6IERvY3VtZW50W107XG4gICAgQElucHV0KCkgZWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhZ2VuZGE6IEFnZW5kYTtcbiAgICBASW5wdXQoKSBpc0NsaWVudGVFeHRlcm5vOiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSBkb2N1bWVudDogRXZlbnRFbWl0dGVyPERvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSB3bXNTeXN0ZW06IFdtc1N5c3RlbTtcbiAgICBASW5wdXQoKSB2aXNpYmxlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGhpZGVTYXZlQnV0dG9uOiBib29sZWFuO1xuICAgIHB1YmxpYyBpc1NhdmVGb3JtVmFsaWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaW52b2ljZUNvbmRpdGlvbiA9IGdldEludm9pY2VDb25kaXRpb25zKHRoaXMudHJhbnNsYXRlKTtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRGb3JtR3JvdXAoKTtcbiAgICAgICAgdGhpcy53YXRjaEZvcm1DaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlzaWJpbGl0eUNvbmZpZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyB2aXNpYmlsaXR5Q29uZmlnKCkge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdCAmJiB0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmRpc2FibGUoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9ybUdyb3VwKHRoaXMudmlld0RvY3VtZW50WzBdKTtcbiAgICAgICAgICAgIHRoaXMuaGlkZVNhdmVCdXR0b24gPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgICAgICAgIHRoaXMuaGlkZVNhdmVCdXR0b24gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWVzRm9ybUdyb3VwKGRvY3VtZW50OiBEb2N1bWVudCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2tleScpLnNldFZhbHVlKGRvY3VtZW50LmtleSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZUtleScpLnNldFZhbHVlKGRvY3VtZW50Lmludm9pY2VLZXkpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VOdW1iZXInKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlTnVtYmVyKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlU2VyaWFsTnVtYmVyJykuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZVNlcmlhbE51bWJlcik7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnbG9naXN0Y1VuaXREb2N1bWVudCcpLnNldFZhbHVlKGRvY3VtZW50LmxvZ2lzdGNVbml0RG9jdW1lbnQpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2xvZ2lzdGNVbml0TmFtZScpLnNldFZhbHVlKGRvY3VtZW50LmxvZ2lzdGNVbml0TmFtZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnbm90ZXMnKS5zZXRWYWx1ZShkb2N1bWVudC5ub3Rlcyk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY29kZScpLnNldFZhbHVlKGRvY3VtZW50LmNvZGUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ3BhcnRuZXJOYW1lJykuc2V0VmFsdWUoZG9jdW1lbnQucGFydG5lck5hbWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ3BhcnRuZXJEb2N1bWVudCcpLnNldFZhbHVlKGRvY3VtZW50LnBhcnRuZXJEb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnb3duZXJEb2N1bWVudCcpLnNldFZhbHVlKGRvY3VtZW50Lm93bmVyRG9jdW1lbnQpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ293bmVyTmFtZScpLnNldFZhbHVlKGRvY3VtZW50Lm93bmVyTmFtZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZUNvbmRpdGlvbicpLnNldFZhbHVlKGRvY3VtZW50Lmludm9pY2VDb25kaXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rm9ybUdyb3VwKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAga2V5OiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgICAgIGludm9pY2VLZXk6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgc2NoZWR1bGluZ0lkOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGludm9pY2VOdW1iZXI6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgaW52b2ljZVNlcmlhbE51bWJlcjogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBsb2dpc3RjVW5pdE5hbWU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgbG9naXN0Y1VuaXREb2N1bWVudDogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBvd25lck5hbWU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgb3duZXJEb2N1bWVudDogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBwYXJ0bmVyTmFtZTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBwYXJ0bmVyRG9jdW1lbnQ6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgbm90ZXM6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgY29kZTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlQ29uZGl0aW9uOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmUoKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZW1pdChEb2N1bWVudC5mcm9tRHRvKHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNXaXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTZW5pb3JDb25uZWN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1JfQ09OTkVDVDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdhdGNoRm9ybUNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlcyA9IE9iamVjdC52YWx1ZXModGhpcy5mb3JtR3JvdXAudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5pc1NhdmVGb3JtVmFsaWQgPSBmb3JtVmFsdWVzLnNvbWUodmFsdWUgPT4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09ICcnKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -5,6 +5,9 @@ import { DocumentService } from "../../entities/document/document.service";
|
|
|
5
5
|
import { WmsSystem } from "../../entities/wms-system/wms-system";
|
|
6
6
|
import { finalize, takeUntil } from "rxjs/operators";
|
|
7
7
|
import { Subject } from "rxjs";
|
|
8
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
9
|
+
import { UtilsMessageService } from "../../../../src/utils/utils-message";
|
|
10
|
+
import { InvoiceCondition } from "../../../wms/entities/invoice-condition/invoice-condition";
|
|
8
11
|
var INFORMACAOES_ADICIONAIS_HEADER = "Informações adicionais";
|
|
9
12
|
var DocumentListDescritor = /** @class */ (function () {
|
|
10
13
|
function DocumentListDescritor() {
|
|
@@ -19,15 +22,27 @@ var DocumentListDescritor = /** @class */ (function () {
|
|
|
19
22
|
}());
|
|
20
23
|
var DocumentListComponent = /** @class */ (function (_super) {
|
|
21
24
|
tslib_1.__extends(DocumentListComponent, _super);
|
|
22
|
-
function DocumentListComponent(documentService) {
|
|
25
|
+
function DocumentListComponent(documentService, translate, utils) {
|
|
23
26
|
var _this = _super.call(this) || this;
|
|
24
27
|
_this.documentService = documentService;
|
|
28
|
+
_this.translate = translate;
|
|
29
|
+
_this.utils = utils;
|
|
25
30
|
_this.getColumns = [];
|
|
26
31
|
_this.documents = [];
|
|
32
|
+
_this.amendedDocuments = [];
|
|
27
33
|
_this.labels = [];
|
|
28
34
|
_this.selected = [];
|
|
29
35
|
_this.gridLoading = true;
|
|
30
36
|
_this.ngUnsubscribe = new Subject();
|
|
37
|
+
_this.invoiceConditions = [
|
|
38
|
+
{ label: _this.translate.instant("yms.int.wms_grid_document_invoice_no_way"), value: null },
|
|
39
|
+
{ label: _this.translate.instant("yms.int.wms_grid_document_invoice_condition_authorized"), value: InvoiceCondition.AUTHORIZED },
|
|
40
|
+
{ label: _this.translate.instant("yms.int.wms_grid_document_invoice_condition_manual_authorized"), value: InvoiceCondition.MANUAL_AUTHORIZED },
|
|
41
|
+
{ label: _this.translate.instant("yms.int.wms_grid_document_invoice_condition_partial_authorized"), value: InvoiceCondition.PARTIAL_AUTHORIZED },
|
|
42
|
+
{ label: _this.translate.instant("yms.int.wms_grid_document_invoice_condition_devolution"), value: InvoiceCondition.DEVOLUTION },
|
|
43
|
+
{ label: _this.translate.instant("yms.int.wms_grid_document_invoice_condition_rejected"), value: InvoiceCondition.REJECTED },
|
|
44
|
+
];
|
|
45
|
+
_this.isAuthorized = function (condition) { return (condition === InvoiceCondition.AUTHORIZED); };
|
|
31
46
|
return _this;
|
|
32
47
|
}
|
|
33
48
|
DocumentListComponent.prototype.getColumnLabels = function () {
|
|
@@ -74,6 +89,42 @@ var DocumentListComponent = /** @class */ (function (_super) {
|
|
|
74
89
|
_this.searchDocument(event);
|
|
75
90
|
});
|
|
76
91
|
};
|
|
92
|
+
DocumentListComponent.prototype.getFilteredInvoiceConditions = function (invoiceConditions) {
|
|
93
|
+
if (invoiceConditions === InvoiceCondition.AUTHORIZED) {
|
|
94
|
+
return this.invoiceConditions.filter(function (cond) { return cond.value === InvoiceCondition.AUTHORIZED; });
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return this.invoiceConditions.filter(function (cond) { return cond.value !== InvoiceCondition.AUTHORIZED; });
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
DocumentListComponent.prototype.onInvoiceConditionChange = function (event, document) {
|
|
101
|
+
var _this = this;
|
|
102
|
+
this.disabled = true;
|
|
103
|
+
document.invoiceCondition = event.value;
|
|
104
|
+
if (this.amendedDocuments.length > 0) {
|
|
105
|
+
this.amendedDocuments.forEach(function (doc) {
|
|
106
|
+
if (doc.id === document.id) {
|
|
107
|
+
doc.invoiceCondition = event.value;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
_this.amendedDocuments.push(document);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.amendedDocuments.push(document);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
DocumentListComponent.prototype.save = function () {
|
|
119
|
+
var _this = this;
|
|
120
|
+
this.amendedDocuments.forEach(function (document) {
|
|
121
|
+
_this.documentService.update(document.id, document).subscribe(function () {
|
|
122
|
+
_this.utils.message("success", "yms.int.wms_saved_document_message_title", "saved_message_content");
|
|
123
|
+
_this.disabled = false;
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
this.amendedDocuments = [];
|
|
127
|
+
};
|
|
77
128
|
DocumentListComponent.prototype.searchDocument = function (event) {
|
|
78
129
|
var _this = this;
|
|
79
130
|
var size = event.rows;
|
|
@@ -104,12 +155,14 @@ var DocumentListComponent = /** @class */ (function (_super) {
|
|
|
104
155
|
], DocumentListComponent.prototype, "wmsSystem", void 0);
|
|
105
156
|
DocumentListComponent = tslib_1.__decorate([
|
|
106
157
|
Component({
|
|
107
|
-
template: "<div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n selectionMode=\"single\"\n [(selection)]=\"selected\"\n [value]=\"documents\"\n [columns]=\"getColumns\"\n dataKey=\"id\"\n rows=\"10\"\n [paginator]=\"true\"\n [totalRecords]=\"gridTotalRecords\"\n [lazy]=\"true\"\n [resizableColumns]=\"true\"\n (onLazyLoad)=\"updateGridData($event)\"\n *sLoadingState=\"gridLoading\"\n sortMode=\"multiple\"\n styleClass=\"sds-table-scrollable\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100, 200]\"\n paginatorDropdownScrollHeight=\"250px\"\n [scrollable]=\"true\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" class=\"table-col-width\">\n </colgroup>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" pResizableColumn [pSortableColumn]=\"col.field\" scope=\"col\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label | translate }}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr *ngIf=\"isWmsWIS()\">\n <td>{{ rowData?.invoiceNumber || 'N/A' }}</td>\n <td>{{ rowData?.invoiceSerialNumber || 'N/A' }}</td>\n <td>{{ rowData?.invoiceKey || 'N/A' }}</td>\n <td>{{ rowData?.partnerName || 'N/A' }}</td>\n <td>{{ rowData?.partnerDocument || 'N/A' }}</td>\n <td>{{ rowData?.code || 'N/A' }}</td>\n <td>\n
|
|
108
|
-
styles: [".table-col-width{width:250px}"]
|
|
158
|
+
template: "<div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n selectionMode=\"single\"\n [(selection)]=\"selected\"\n [value]=\"documents\"\n [columns]=\"getColumns\"\n dataKey=\"id\"\n rows=\"10\"\n [paginator]=\"true\"\n [totalRecords]=\"gridTotalRecords\"\n [lazy]=\"true\"\n [resizableColumns]=\"true\"\n (onLazyLoad)=\"updateGridData($event)\"\n *sLoadingState=\"gridLoading\"\n sortMode=\"multiple\"\n styleClass=\"sds-table-scrollable\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100, 200]\"\n paginatorDropdownScrollHeight=\"250px\"\n [scrollable]=\"true\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" class=\"table-col-width\">\n </colgroup>\n </ng-template>\n\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" pResizableColumn [pSortableColumn]=\"col.field\" scope=\"col\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label | translate }}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\n <tr *ngIf=\"isWmsWIS()\">\n <td>{{ rowData?.invoiceNumber || 'N/A' }}</td>\n <td>{{ rowData?.invoiceSerialNumber || 'N/A' }}</td>\n <td>{{ rowData?.invoiceKey || 'N/A' }}</td>\n <td>{{ rowData?.partnerName || 'N/A' }}</td>\n <td>{{ rowData?.partnerDocument || 'N/A' }}</td>\n <td>{{ rowData?.code || 'N/A' }}</td>\n <td>\n <p-dropdown\n inputId=\"invoiceCondition\"\n name=\"invoiceCondition\"\n [autoWidth]=\"false\"\n [options]=\"getFilteredInvoiceConditions(rowData?.invoiceCondition)\"\n appendTo=\"body\"\n [(ngModel)]=\"rowData.invoiceCondition\"\n [disabled]=\"isAuthorized(rowData.invoiceCondition)\"\n (onChange)=\"onInvoiceConditionChange($event, rowData)\">\n </p-dropdown>\n </td>\n <td>{{ rowData?.notes || 'N/A' }}</td>\n </tr>\n <tr *ngIf=\"isWmsSeniorConnect()\">\n <td>{{rowData?.key}}</td>\n <td>{{rowData?.partnerName}}</td>\n <td>{{rowData?.partnerDocument}}</td>\n </tr>\n <tr *ngIf=\"!isWmsWIS() && !isWmsSeniorConnect()\">\n <td>{{rowData?.invoiceKey}}</td>\n <td>{{rowData?.invoiceNumber}}</td>\n <td>{{rowData?.invoiceSerialNumber}}</td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"paginatorright\">\n <span>\n {{ gridTotalRecords + \" \" + \n ('yms.int.wms_register_document_total_elements' | translate:{value: gridTotalRecords}) }}\n </span>\n </ng-template>\n </p-table>\n <div class=\"button-save\">\n <s-button priority=\"primary\" [label]=\"'save' | translate\"\n [disabled]=\"!disabled || !this.documents\"\n (click)=\"save()\">\n </s-button>\n </div>\n </div>\n</div>",
|
|
159
|
+
styles: [".table-col-width{width:250px}.button-save{margin:5px 0}"]
|
|
109
160
|
}),
|
|
110
|
-
tslib_1.__metadata("design:paramtypes", [DocumentService
|
|
161
|
+
tslib_1.__metadata("design:paramtypes", [DocumentService,
|
|
162
|
+
TranslateService,
|
|
163
|
+
UtilsMessageService])
|
|
111
164
|
], DocumentListComponent);
|
|
112
165
|
return DocumentListComponent;
|
|
113
166
|
}(DocumentListDescritor));
|
|
114
167
|
export { DocumentListComponent };
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWxpc3QvZG9jdW1lbnQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLElBQU0sOEJBQThCLEdBQUcsd0JBQXdCLENBQUM7QUFPaEU7SUFBQTtJQUE2QixDQUFDO0lBQXhCLHFCQUFxQjtRQUwxQixnQkFBZ0IsQ0FBQztZQUNkLE1BQU0sRUFBRSw4QkFBOEI7WUFDdEMsSUFBSSxFQUFFLG9CQUFvQjtTQUM3QixDQUFDO09BRUkscUJBQXFCLENBQUc7SUFBRCw0QkFBQztDQUFBLEFBQTlCLElBQThCO0FBTzlCO0lBQTJDLGlEQUFxQjtJQWU1RCwrQkFBNkIsZUFBZ0M7UUFBN0QsWUFDSSxpQkFBTyxTQUNWO1FBRjRCLHFCQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVZ0RCxnQkFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQixlQUFTLEdBQWUsRUFBRSxDQUFDO1FBQzNCLFlBQU0sR0FBYSxFQUFFLENBQUM7UUFFdEIsY0FBUSxHQUFVLEVBQUUsQ0FBQztRQUVyQixpQkFBVyxHQUFHLElBQUksQ0FBQztRQUVULG1CQUFhLEdBQUcs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Q0QsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDN0IsUUFBUSxDQUFDO1lBQ0wsS0FBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLENBQUMsVUFBQyxRQUFhO1lBQ3JCLElBQUksUUFBUSxDQUFDLGFBQWEsR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLEtBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDbkMsS0FBSSxDQUFDLFVBQVUsR0FBRyxLQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3pDLEtBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO2FBQ2xEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBL0ZRO1FBQVIsS0FBSyxFQUFFOzt5REFBbUI7SUFDbEI7UUFBUixLQUFLLEVBQUU7OzREQUFzQjtJQUhyQixxQkFBcUI7UUFMakMsU0FBUyxDQUFDO1lBQ1AsbW5HQUE2Qzs7U0FHaEQsQ0FBQztpREFnQmdELGVBQWU7T0FmcEQscUJBQXFCLENBa0dqQztJQUFELDRCQUFDO0NBQUEsQUFsR0QsQ0FBMkMscUJBQXFCLEdBa0cvRDtTQWxHWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xlQ2lyY3VpdG8gfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3ltcy1yb3V0aW5lc1wiO1xuaW1wb3J0IHsgRG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50XCI7XG5pbXBvcnQgeyBXbXNTeXN0ZW0gfSBmcm9tIFwiLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtXCI7XG5pbXBvcnQgeyBBZ2VuZGFEdG8gfSBmcm9tIFwiLi4vLi4vZW50aXRpZXMvYWdlbmRhL2FnZW5kYS1kdG9cIjtcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuXG5jb25zdCBJTkZPUk1BQ0FPRVNfQURJQ0lPTkFJU19IRUFERVIgPSBcIkluZm9ybWHDp8O1ZXMgYWRpY2lvbmFpc1wiO1xuXG5AQ29udHJvbGVDaXJjdWl0byh7XG4gICAgaGVhZGVyOiBJTkZPUk1BQ0FPRVNfQURJQ0lPTkFJU19IRUFERVIsXG4gICAgbmFtZTogJ3ltcy5pbnRlZ3JhY2FvLndtcydcbn0pXG5cbmNsYXNzIERvY3VtZW50TGlzdERlc2NyaXRvciB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2RvY3VtZW50LWxpc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vZG9jdW1lbnQtbGlzdC5jb21wb25lbnQuc2Nzc1wiXVxuXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50TGlzdENvbXBvbmVudCBleHRlbmRzIERvY3VtZW50TGlzdERlc2NyaXRvciB7XG5cbiAgICBASW5wdXQoKSBhZ2VuZGE6IEFnZW5kYUR0bztcbiAgICBASW5wdXQoKSB3bXNTeXN0ZW06IFdtc1N5c3RlbTtcblxuICAgIHB1YmxpYyBnZXRDb2x1bW5zOiBhbnkgPSBbXTtcbiAgICBwdWJsaWMgZG9jdW1lbnRzOiBEb2N1bWVudFtdID0gW107XG4gICAgcHVibGljIGxhYmVsczogc3RyaW5nW10gPSBbXTtcbiAgICBwdWJsaWMgZ3JpZFRvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIHB1YmxpYyBzZWxlY3RlZDogYW55W10gPSBbXTtcblxuICAgIHB1YmxpYyBncmlkTG9hZGluZyA9IHRydWU7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb2x1bW5MYWJlbHMoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzV21zV0lTKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRMYWJlbHNJbnZvaWNlKCksXG4gICAgICAgICAgICAgICAge2ZpZWxkOiBcImludm9pY2VLZXlcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX2ludm9pY2Vfa2V5J30sXG4gICAgICAgICAgICAgICAge2ZpZWxkOiBcInBhcnRuZXJOYW1lXCIsIGxhYmVsOiAneW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9wYXJ0bmVyX25hbWUnfSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwicGFydG5lckRvY3VtZW50XCIsIGxhYmVsOiAneW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9wYXJ0bmVyX2RvY3VtZW50J30sXG4gICAgICAgICAgICAgICAge2ZpZWxkOiBcImNvZGVcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX2NvZGUnfSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwiaW52b2ljZUNvbmRpdGlvblwiLCBsYWJlbDogJ3ltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uJ30sXG4gICAgICAgICAgICAgICAge2ZpZWxkOiBcIm5vdGVzXCIsIGxhYmVsOiAneW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9ub3Rlcyd9LFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzV21zU2VuaW9yQ29ubmVjdCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtmaWVsZDogXCJrZXlcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19wdXJjaGFzZU9yZGVyJ30sXG4gICAgICAgICAgICAgICAge2ZpZWxkOiBcInBhcnRuZXJOYW1lXCIsIGxhYmVsOiAneW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9wYXJ0bmVyX25hbWUnfSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwicGFydG5lckRvY3VtZW50XCIsIGxhYmVsOiAneW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9wYXJ0bmVyX2RvY3VtZW50J30sXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtmaWVsZDogXCJpbnZvaWNlS2V5XCIsIGxhYmVsOiAneW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9rZXknfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0TGFiZWxzSW52b2ljZSgpXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yQ29ubmVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zV0lTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYWJlbHNJbnZvaWNlKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge2ZpZWxkOiBcImludm9pY2VOdW1iZXJcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX251bWJlcid9LFxuICAgICAgICAgICAge2ZpZWxkOiBcImludm9pY2VTZXJpYWxOdW1iZXJcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3NlcmlhbF9udW1iZXInfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBnZXRJbnZvaWNlQ29uZGl0aW9uVHJhbnNsYXRpb24oaW52b2ljZUNvbmRpdGlvbjogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpbnZvaWNlQ29uZGl0aW9uID8gYHltcy5pbnQud21zX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uXyR7aW52b2ljZUNvbmRpdGlvbn1gIDogJ04vQSc7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUdyaWREYXRhKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldFN5c3RlbUludGVncmF0aW9uKCkuc3Vic2NyaWJlKChzeXN0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy53bXNTeXN0ZW0gPSBzeXN0ZW0uc3lzdGVtO1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hEb2N1bWVudChldmVudCk7XG4gICAgICAgIH0pO1xuXG5cbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaERvY3VtZW50KGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBldmVudC5yb3dzO1xuICAgICAgICBjb25zdCBwYWdlID0gZXZlbnQuZmlyc3QgLyBzaXplO1xuICAgICAgICBjb25zdCBzb3J0ID0gZXZlbnQubXVsdGlTb3J0TWV0YTtcblxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5saXN0KHtwYWdlLCBzaXplLCBzb3J0LFxuICAgICAgICAgICAgZmlsdGVyUXVlcnk6IGBzY2hlZHVsaW5nSWQgZXEgJyR7dGhpcy5hZ2VuZGEuaWR9J2BcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChjb250ZW50cy50b3RhbEVsZW1lbnRzID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRzID0gY29udGVudHMuY29udGVudHM7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5MYWJlbHMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRUb3RhbFJlY29yZHMgPSBjb250ZW50cy50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWxpc3QvZG9jdW1lbnQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTdGLElBQU0sOEJBQThCLEdBQUcsd0JBQXdCLENBQUM7QUFPaEU7SUFBQTtJQUE2QixDQUFDO0lBQXhCLHFCQUFxQjtRQUwxQixnQkFBZ0IsQ0FBQztZQUNkLE1BQU0sRUFBRSw4QkFBOEI7WUFDdEMsSUFBSSxFQUFFLG9CQUFvQjtTQUM3QixDQUFDO09BRUkscUJBQXFCLENBQUc7SUFBRCw0QkFBQztDQUFBLEFBQTlCLElBQThCO0FBTzlCO0lBQTJDLGlEQUFxQjtJQXlCNUQsK0JBQ3FCLGVBQWdDLEVBQ2hDLFNBQTJCLEVBQzNCLEtBQTBCO1FBSC9DLFlBSUksaUJBQU8sU0FDVjtRQUpvQixxQkFBZSxHQUFm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RCw0QkFBQztDQUFBLEFBbkpELENBQTJDLHFCQUFxQixHQW1KL0Q7U0FuSlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sZUNpcmN1aXRvIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy95bXMtcm91dGluZXNcIjtcbmltcG9ydCB7IERvY3VtZW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gXCIuLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudFwiO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbVwiO1xuaW1wb3J0IHsgQWdlbmRhRHRvIH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL2FnZW5kYS9hZ2VuZGEtZHRvXCI7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IExhenlMb2FkRXZlbnQgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgVXRpbHNNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMtbWVzc2FnZVwiO1xuaW1wb3J0IHsgSW52b2ljZUNvbmRpdGlvbiB9IGZyb20gXCIuLi8uLi8uLi93bXMvZW50aXRpZXMvaW52b2ljZS1jb25kaXRpb24vaW52b2ljZS1jb25kaXRpb25cIjtcblxuY29uc3QgSU5GT1JNQUNBT0VTX0FESUNJT05BSVNfSEVBREVSID0gXCJJbmZvcm1hw6fDtWVzIGFkaWNpb25haXNcIjtcblxuQENvbnRyb2xlQ2lyY3VpdG8oe1xuICAgIGhlYWRlcjogSU5GT1JNQUNBT0VTX0FESUNJT05BSVNfSEVBREVSLFxuICAgIG5hbWU6ICd5bXMuaW50ZWdyYWNhby53bXMnXG59KVxuXG5jbGFzcyBEb2N1bWVudExpc3REZXNjcml0b3Ige31cblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwiLi9kb2N1bWVudC1saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2RvY3VtZW50LWxpc3QuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5cbmV4cG9ydCBjbGFzcyBEb2N1bWVudExpc3RDb21wb25lbnQgZXh0ZW5kcyBEb2N1bWVudExpc3REZXNjcml0b3Ige1xuXG4gICAgQElucHV0KCkgYWdlbmRhOiBBZ2VuZGFEdG87XG4gICAgQElucHV0KCkgd21zU3lzdGVtOiBXbXNTeXN0ZW07XG5cbiAgICBwdWJsaWMgZ2V0Q29sdW1uczogYW55ID0gW107XG4gICAgcHVibGljIGRvY3VtZW50czogRG9jdW1lbnRbXSA9IFtdO1xuICAgIHB1YmxpYyBhbWVuZGVkRG9jdW1lbnRzOiBEb2N1bWVudFtdID0gW107XG4gICAgcHVibGljIGxhYmVsczogc3RyaW5nW10gPSBbXTtcbiAgICBwdWJsaWMgZ3JpZFRvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIHB1YmxpYyBzZWxlY3RlZDogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGdyaWRMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwdWJsaWMgaW52b2ljZUNvbmRpdGlvbnM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEludm9pY2VDb25kaXRpb24gfVtdID0gW1xuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX25vX3dheVwiKSwgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fYXV0aG9yaXplZFwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRCB9LFxuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX2NvbmRpdGlvbl9tYW51YWxfYXV0aG9yaXplZFwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uTUFOVUFMX0FVVEhPUklaRUQgfSxcbiAgICAgICAgeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fcGFydGlhbF9hdXRob3JpemVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5QQVJUSUFMX0FVVEhPUklaRUQgfSxcbiAgICAgICAgeyBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fZGV2b2x1dGlvblwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uREVWT0xVVElPTiB9LFxuICAgICAgICB7IGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX2NvbmRpdGlvbl9yZWplY3RlZFwiKSwgdmFsdWU6IEludm9pY2VDb25kaXRpb24uUkVKRUNURUQgfSxcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHV0aWxzOiBVdGlsc01lc3NhZ2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbHVtbkxhYmVscygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNXbXNXSVMoKSkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldExhYmVsc0ludm9pY2UoKSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwiaW52b2ljZUtleVwiLCBsYWJlbDogJ3ltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2VfaW52b2ljZV9rZXknfSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwicGFydG5lck5hbWVcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3BhcnRuZXJfbmFtZSd9LFxuICAgICAgICAgICAgICAgIHtmaWVsZDogXCJwYXJ0bmVyRG9jdW1lbnRcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3BhcnRuZXJfZG9jdW1lbnQnfSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwiY29kZVwiLCBsYWJlbDogJ3ltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2VfY29kZSd9LFxuICAgICAgICAgICAgICAgIHtmaWVsZDogXCJpbnZvaWNlQ29uZGl0aW9uXCIsIGxhYmVsOiAneW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb24nfSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwibm90ZXNcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX25vdGVzJ30sXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNXbXNTZW5pb3JDb25uZWN0KCkpIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAge2ZpZWxkOiBcImtleVwiLCBsYWJlbDogJ3ltcy5pbnQud21zX3B1cmNoYXNlT3JkZXInfSxcbiAgICAgICAgICAgICAgICB7ZmllbGQ6IFwicGFydG5lck5hbWVcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3BhcnRuZXJfbmFtZSd9LFxuICAgICAgICAgICAgICAgIHtmaWVsZDogXCJwYXJ0bmVyRG9jdW1lbnRcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3BhcnRuZXJfZG9jdW1lbnQnfSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge2ZpZWxkOiBcImludm9pY2VLZXlcIiwgbGFiZWw6ICd5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX2tleSd9LFxuICAgICAgICAgICAgLi4udGhpcy5nZXRMYWJlbHNJbnZvaWNlKClcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTZW5pb3JDb25uZWN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1JfQ09OTkVDVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNXSVMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhYmVsc0ludm9pY2UoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7ZmllbGQ6IFwiaW52b2ljZU51bWJlclwiLCBsYWJlbDogJ3ltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2VfbnVtYmVyJ30sXG4gICAgICAgICAgICB7ZmllbGQ6IFwiaW52b2ljZVNlcmlhbE51bWJlclwiLCBsYWJlbDogJ3ltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2Vfc2VyaWFsX251bWJlcid9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldEludm9pY2VDb25kaXRpb25UcmFuc2xhdGlvbihpbnZvaWNlQ29uZGl0aW9uOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGludm9pY2VDb25kaXRpb24gPyBgeW1zLmludC53bXNfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fJHtpbnZvaWNlQ29uZGl0aW9ufWAgOiAnTi9BJztcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlR3JpZERhdGEoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0U3lzdGVtSW50ZWdyYXRpb24oKS5zdWJzY3JpYmUoKHN5c3RlbTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLndtc1N5c3RlbSA9IHN5c3RlbS5zeXN0ZW07XG4gICAgICAgICAgICB0aGlzLnNlYXJjaERvY3VtZW50KGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbHRlcmVkSW52b2ljZUNvbmRpdGlvbnMoaW52b2ljZUNvbmRpdGlvbnM6IGFueSk6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEludm9pY2VDb25kaXRpb24gfCBudWxsIH1bXSB7XG4gICAgICAgIGlmIChpbnZvaWNlQ29uZGl0aW9ucyA9PT0gSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQ29uZGl0aW9ucy5maWx0ZXIoY29uZCA9PiBjb25kLnZhbHVlID09PSBJbnZvaWNlQ29uZGl0aW9uLkFVVEhPUklaRUQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW52b2ljZUNvbmRpdGlvbnMuZmlsdGVyKGNvbmQgPT4gY29uZC52YWx1ZSAhPT0gSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkludm9pY2VDb25kaXRpb25DaGFuZ2UoZXZlbnQ6IGFueSwgZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBkb2N1bWVudC5pbnZvaWNlQ29uZGl0aW9uID0gZXZlbnQudmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuYW1lbmRlZERvY3VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmFtZW5kZWREb2N1bWVudHMuZm9yRWFjaCgoZG9jOiBEb2N1bWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkb2MuaWQgPT09IGRvY3VtZW50LmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGRvYy5pbnZvaWNlQ29uZGl0aW9uID0gZXZlbnQudmFsdWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbWVuZGVkRG9jdW1lbnRzLnB1c2goZG9jdW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbWVuZGVkRG9jdW1lbnRzLnB1c2goZG9jdW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzQXV0aG9yaXplZCA9IChjb25kaXRpb246IEludm9pY2VDb25kaXRpb24pID0+IChjb25kaXRpb24gPT09IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRCk7XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgdGhpcy5hbWVuZGVkRG9jdW1lbnRzLmZvckVhY2goKGRvY3VtZW50OiBEb2N1bWVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UudXBkYXRlKGRvY3VtZW50LmlkLCBkb2N1bWVudCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJzdWNjZXNzXCIsIFwieW1zLmludC53bXNfc2F2ZWRfZG9jdW1lbnRfbWVzc2FnZV90aXRsZVwiLCBcInNhdmVkX21lc3NhZ2VfY29udGVudFwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hbWVuZGVkRG9jdW1lbnRzPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaERvY3VtZW50KGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBldmVudC5yb3dzO1xuICAgICAgICBjb25zdCBwYWdlID0gZXZlbnQuZmlyc3QgLyBzaXplO1xuICAgICAgICBjb25zdCBzb3J0ID0gZXZlbnQubXVsdGlTb3J0TWV0YTtcblxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5saXN0KHtwYWdlLCBzaXplLCBzb3J0LFxuICAgICAgICAgICAgZmlsdGVyUXVlcnk6IGBzY2hlZHVsaW5nSWQgZXEgJyR7dGhpcy5hZ2VuZGEuaWR9J2BcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChjb250ZW50cy50b3RhbEVsZW1lbnRzID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRzID0gY29udGVudHMuY29udGVudHM7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDb2x1bW5zID0gdGhpcy5nZXRDb2x1bW5MYWJlbHMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRUb3RhbFJlY29yZHMgPSBjb250ZW50cy50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import * as tslib_1 from "tslib";
|
|
2
2
|
import { NgModule } from "@angular/core";
|
|
3
3
|
import { CommonModule } from "@angular/common";
|
|
4
|
-
import { LoadingStateModule } from "@seniorsistemas/angular-components";
|
|
4
|
+
import { ButtonModule, LoadingStateModule } from "@seniorsistemas/angular-components";
|
|
5
5
|
import { IntegrationDispatcher } from "@seniorsistemas/yms-routines";
|
|
6
6
|
import { TranslateModule } from "@ngx-translate/core";
|
|
7
7
|
import { DocumentListComponent } from "./document-list.component";
|
|
8
8
|
import { TableModule } from "primeng/table";
|
|
9
9
|
import { DocumentService } from "../../entities/document/document.service";
|
|
10
|
+
import { DropdownModule } from "primeng/primeng";
|
|
11
|
+
import { FormsModule } from "@angular/forms";
|
|
10
12
|
var DocumentListModule = /** @class */ (function () {
|
|
11
13
|
function DocumentListModule(dispatcher) {
|
|
12
14
|
this.dispatcher = dispatcher;
|
|
@@ -18,7 +20,10 @@ var DocumentListModule = /** @class */ (function () {
|
|
|
18
20
|
CommonModule,
|
|
19
21
|
TranslateModule,
|
|
20
22
|
LoadingStateModule,
|
|
21
|
-
TableModule
|
|
23
|
+
TableModule,
|
|
24
|
+
DropdownModule,
|
|
25
|
+
ButtonModule,
|
|
26
|
+
FormsModule
|
|
22
27
|
],
|
|
23
28
|
declarations: [DocumentListComponent],
|
|
24
29
|
entryComponents: [DocumentListComponent],
|
|
@@ -30,4 +35,4 @@ var DocumentListModule = /** @class */ (function () {
|
|
|
30
35
|
return DocumentListModule;
|
|
31
36
|
}());
|
|
32
37
|
export { DocumentListModule };
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWxpc3QvZG9jdW1lbnQtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWlCN0M7SUFDSSw0QkFBNkIsVUFBaUM7UUFBakMsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBSFEsa0JBQWtCO1FBZjlCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLGVBQWU7Z0JBQ2Ysa0JBQWtCO2dCQUNsQixXQUFXO2dCQUNYLGNBQWM7Z0JBQ2QsWUFBWTtnQkFDWixXQUFXO2FBQ2Q7WUFDRCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNyQyxlQUFlLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUN4QyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNoQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7U0FDL0IsQ0FBQztpREFFMkMscUJBQXFCO09BRHJELGtCQUFrQixDQUk5QjtJQUFELHlCQUFDO0NBQUEsQUFKRCxJQUlDO1NBSlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlLCBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25EaXNwYXRjaGVyIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy95bXMtcm91dGluZXNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBEb2N1bWVudExpc3RDb21wb25lbnQgfSBmcm9tIFwiLi9kb2N1bWVudC1saXN0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgRG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSBcInByaW1lbmcvcHJpbWVuZ1wiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBMb2FkaW5nU3RhdGVNb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbRG9jdW1lbnRMaXN0Q29tcG9uZW50XSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtEb2N1bWVudExpc3RDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtEb2N1bWVudExpc3RDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW0RvY3VtZW50U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRMaXN0TW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpc3BhdGNoZXI6IEludGVncmF0aW9uRGlzcGF0Y2hlcikge1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuZGlzcGF0Y2goRG9jdW1lbnRMaXN0Q29tcG9uZW50KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { InvoiceCondition } from "../../../wms/entities/invoice-condition/invoice-condition";
|
|
2
|
+
export function getInvoiceConditions(translate) {
|
|
3
|
+
return [
|
|
4
|
+
{ label: translate.instant("yms.int.wms_grid_document_invoice_no_way"), value: null },
|
|
5
|
+
{ label: translate.instant("yms.int.wms_grid_document_invoice_condition_authorized"), value: InvoiceCondition.AUTHORIZED },
|
|
6
|
+
{ label: translate.instant("yms.int.wms_grid_document_invoice_condition_manual_authorized"), value: InvoiceCondition.MANUAL_AUTHORIZED },
|
|
7
|
+
{ label: translate.instant("yms.int.wms_grid_document_invoice_condition_partial_authorized"), value: InvoiceCondition.PARTIAL_AUTHORIZED },
|
|
8
|
+
{ label: translate.instant("yms.int.wms_grid_document_invoice_condition_devolution"), value: InvoiceCondition.DEVOLUTION },
|
|
9
|
+
{ label: translate.instant("yms.int.wms_grid_document_invoice_condition_rejected"), value: InvoiceCondition.REJECTED },
|
|
10
|
+
];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1jb25kaXRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy93bXMvY29tcG9uZW50cy91dGlscy9pbnZvaWNlLWNvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFN0YsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFNBQTJCO0lBQzVELE9BQU87UUFDSCxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtRQUNyRixFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLHdEQUF3RCxDQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtRQUMxSCxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLCtEQUErRCxDQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFO1FBQ3hJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0VBQWdFLENBQUMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUU7UUFDMUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyx3REFBd0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7UUFDMUgsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxzREFBc0QsQ0FBQyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7S0FDekgsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3dtcy9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW52b2ljZUNvbmRpdGlvbnModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbiB9W10ge1xuICAgIHJldHVybiBbXG4gICAgICAgIHsgbGFiZWw6IHRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfZ3JpZF9kb2N1bWVudF9pbnZvaWNlX25vX3dheVwiKSwgdmFsdWU6IG51bGwgfSxcbiAgICAgICAgeyBsYWJlbDogdHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uX2F1dGhvcml6ZWRcIiksIHZhbHVlOiBJbnZvaWNlQ29uZGl0aW9uLkFVVEhPUklaRUQgfSxcbiAgICAgICAgeyBsYWJlbDogdHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uX21hbnVhbF9hdXRob3JpemVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5NQU5VQUxfQVVUSE9SSVpFRCB9LFxuICAgICAgICB7IGxhYmVsOiB0cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2dyaWRfZG9jdW1lbnRfaW52b2ljZV9jb25kaXRpb25fcGFydGlhbF9hdXRob3JpemVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5QQVJUSUFMX0FVVEhPUklaRUQgfSxcbiAgICAgICAgeyBsYWJlbDogdHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uX2Rldm9sdXRpb25cIiksIHZhbHVlOiBJbnZvaWNlQ29uZGl0aW9uLkRFVk9MVVRJT04gfSxcbiAgICAgICAgeyBsYWJlbDogdHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uX3JlamVjdGVkXCIpLCB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbi5SRUpFQ1RFRCB9LFxuICAgIF07XG59XG4iXX0=
|