@seniorsistemas/yms-integration 1.38.0 → 1.39.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 +64 -10
- 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 +2 -2
- package/esm2015/src/wms/components/document-grid/insert-key/insert-key.component.js +33 -8
- package/esm2015/src/wms/components/document-grid/register-document/register-document.component.js +32 -3
- package/esm2015/src/wms/entities/document/document.service.js +4 -1
- package/esm5/src/wms/components/document-grid/document-grid.component.js +2 -2
- package/esm5/src/wms/components/document-grid/insert-key/insert-key.component.js +34 -8
- package/esm5/src/wms/components/document-grid/register-document/register-document.component.js +33 -3
- package/esm5/src/wms/entities/document/document.service.js +4 -1
- package/fesm2015/seniorsistemas-yms-integration.js +62 -10
- package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
- package/fesm5/seniorsistemas-yms-integration.js +64 -10
- 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/insert-key/insert-key.component.d.ts +6 -2
- package/src/wms/components/document-grid/register-document/register-document.component.d.ts +7 -1
- package/src/wms/entities/document/document.service.d.ts +1 -0
|
@@ -347,7 +347,7 @@ tslib_1.__decorate([
|
|
|
347
347
|
DocumentGridComponent = tslib_1.__decorate([
|
|
348
348
|
Component({
|
|
349
349
|
selector: 'document-grid',
|
|
350
|
-
template: "<div *ngIf=\"this.processType === 'RECEBIMENTO_WMS'; else processNotConfigured\">\n <p-panel>\n <p-header>\n <div class=\"buttons\">\n <div>\n <s-button\n label=\"{{'yms.int.wms_add_document' | translate}}\"\n priority=\"primary\"\n [model]=\"getActions()\"\n [auxiliary]=\"false\"\n [disabled]=\"!enableButtonIsClienteExterno\">\n </s-button>\n <s-button\n label=\"{{'yms.wms_view_button' | translate}}\"\n priority=\"secondary\"\n [auxiliary]=\"false\"\n [disabled]=\"!selection || selection.length !== 1\"\n (onClick)=\"view()\">\n </s-button>\n <s-button\n label=\"{{'yms.wms_delete_button' | translate}}\"\n priority=\"secondary\"\n [disabled]=\"!selection || !selection.length || !enableButtonIsClienteExterno\"\n (click)=\"onDelete()\">\n </s-button>\n </div>\n <s-button\n id=\"refresh-button\"\n priority=\"default\"\n iconClass=\"fa fa-refresh\"\n (onClick)=\"listDocuments(false)\"\n [disabled]=\"notSavedDocuments()\"\n >\n </s-button>\n </div>\n </p-header>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\" *ngIf=\"gridData && gridData.length; else emptyList\">\n <p-table #documentTable [value]=\"gridData\"\n [columns]=\"gridColumns\" dataKey=\"key\" [scrollable]=\"true\" [resizableColumns]=\"true\"\n [paginator]=\"true\" [totalRecords]=\"documentTotalRecords\" rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\" [(selection)]=\"selection\"\n [loading]=\"loading\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\"/>\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th id=\"checkbox\" class=\"table-checkbox\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th id=\"col\" *ngFor=\"let col of columns\" pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-expanded=\"expanded\">\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"table-checkbox\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"isWmsSeniorConnect()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"key\"]}}</span>\n </td>\n <td *ngIf=\"isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"invoiceKey\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"invoiceNumber\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"invoiceSerialNumber\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSeniorConnect() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"partnerName\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSeniorConnect() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"partnerDocument\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt() || isWmsSeniorConnect()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"logistcUnitName\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt() || isWmsSeniorConnect()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"logistcUnitDocument\"]}}</span>\n </td>\n <td *ngIf=\"isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"ownerName\"]}}</span>\n </td>\n <td *ngIf=\"isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"ownerDocument\"]}}</span>\n </td>\n <td *ngIf=\"!isClienteExterno && isWmsWIS()\" (click)=\"selection = [rowData]\">\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 (onChange)=\"disabled = false\">\n </p-dropdown>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [translate]=\"'yms.main.total_records'\" \n [translateParams]=\"{ value: documentTotalRecords }\">\n </span>\n </ng-template>\n </p-table> \n </div>\n </div>\n <register-document\n [wmsSystem]=\"wmsSystem\"\n [edit]=\"edit\"\n [viewDocument]=\"selection\"\n (document)=\"onChangeDocument($event)\"\n [(visible)]=\"visibleDocumentRegister\"\n [agenda]=\"agenda\"\n [isClienteExterno]=\"isClienteExterno\">\n </register-document> \n <insert-key\n [wmsSystem]=\"wmsSystem\" \n (document)=\"onChangeDocument($event)\"\n [(visible)]=\"visibleInvoiceKey\">\n </insert-key>\n </p-panel>\n</div>\n <div class=\"button-save\">\n <s-button \n priority=\"primary\" [label]=\"'save' | translate\"\n [disabled]=\"disabled || !this.gridData || !enableButtonIsClienteExterno\"\n (click)=\"save()\">\n </s-button>\n </div>\n\n<ng-template #emptyList>\n <div class=\"center\">\n <s-empty-state\n iconClass=\"fa fa-exclamation-triangle\" [title]=\"'detail_empty_state_title' | translate\"\n [description]=\"'detail_empty_state_description' | translate\">\n </s-empty-state>\n </div>\n</ng-template>\n\n<ng-template #processNotConfigured>\n <div class=\"center\">\n <s-empty-state\n iconClass=\"fa fa-exclamation-triangle\"\n [title]=\"'yms.int.wms_there_no_process_type_configured_for_this_type_scheduling' | translate\">\n </s-empty-state>\n </div>\n</ng-template>",
|
|
350
|
+
template: "<div *ngIf=\"this.processType === 'RECEBIMENTO_WMS'; else processNotConfigured\">\n <p-panel>\n <p-header>\n <div class=\"buttons\">\n <div>\n <s-button\n label=\"{{'yms.int.wms_add_document' | translate}}\"\n priority=\"primary\"\n [model]=\"getActions()\"\n [auxiliary]=\"false\"\n [disabled]=\"!enableButtonIsClienteExterno\">\n </s-button>\n <s-button\n label=\"{{'yms.wms_view_button' | translate}}\"\n priority=\"secondary\"\n [auxiliary]=\"false\"\n [disabled]=\"!selection || selection.length !== 1\"\n (onClick)=\"view()\">\n </s-button>\n <s-button\n label=\"{{'yms.wms_delete_button' | translate}}\"\n priority=\"secondary\"\n [disabled]=\"!selection || !selection.length || !enableButtonIsClienteExterno\"\n (click)=\"onDelete()\">\n </s-button>\n </div>\n <s-button\n id=\"refresh-button\"\n priority=\"default\"\n iconClass=\"fa fa-refresh\"\n (onClick)=\"listDocuments(false)\"\n [disabled]=\"notSavedDocuments()\"\n >\n </s-button>\n </div>\n </p-header>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\" *ngIf=\"gridData && gridData.length; else emptyList\">\n <p-table #documentTable [value]=\"gridData\"\n [columns]=\"gridColumns\" dataKey=\"key\" [scrollable]=\"true\" [resizableColumns]=\"true\"\n [paginator]=\"true\" [totalRecords]=\"documentTotalRecords\" rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\" [(selection)]=\"selection\"\n [loading]=\"loading\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\"/>\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th id=\"checkbox\" class=\"table-checkbox\">\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n </th>\n <th id=\"col\" *ngFor=\"let col of columns\" pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-expanded=\"expanded\">\n <tr [pSelectableRow]=\"rowData\">\n <td class=\"table-checkbox\">\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td *ngIf=\"isWmsSeniorConnect()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"key\"]}}</span>\n </td>\n <td *ngIf=\"isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"invoiceKey\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"invoiceNumber\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"invoiceSerialNumber\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSeniorConnect() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"partnerName\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSeniorConnect() || isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"partnerDocument\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt() || isWmsSeniorConnect()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"logistcUnitName\"]}}</span>\n </td>\n <td *ngIf=\"isWmsWIS() || isWmsSilt() || isWmsSeniorConnect()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"logistcUnitDocument\"]}}</span>\n </td>\n <td *ngIf=\"isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"ownerName\"]}}</span>\n </td>\n <td *ngIf=\"isWmsSilt()\" (click)=\"selection = [rowData]\">\n <span>{{rowData[\"ownerDocument\"]}}</span>\n </td>\n <td *ngIf=\"!isClienteExterno && isWmsWIS()\" (click)=\"selection = [rowData]\">\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 (onChange)=\"disabled = false\">\n </p-dropdown>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [translate]=\"'yms.main.total_records'\" \n [translateParams]=\"{ value: documentTotalRecords }\">\n </span>\n </ng-template>\n </p-table> \n </div>\n </div>\n <register-document\n [wmsSystem]=\"wmsSystem\"\n [edit]=\"edit\"\n [viewDocument]=\"selection\"\n (document)=\"onChangeDocument($event)\"\n [(visible)]=\"visibleDocumentRegister\"\n [agenda]=\"agenda\"\n [isClienteExterno]=\"isClienteExterno\">\n </register-document> \n <insert-key\n [wmsSystem]=\"wmsSystem\" \n (document)=\"onChangeDocument($event)\"\n [agenda]=\"agenda\"\n [(visible)]=\"visibleInvoiceKey\">\n </insert-key>\n </p-panel>\n</div>\n <div class=\"button-save\">\n <s-button \n priority=\"primary\" [label]=\"'save' | translate\"\n [disabled]=\"disabled || !this.gridData || !enableButtonIsClienteExterno\"\n (click)=\"save()\">\n </s-button>\n </div>\n\n<ng-template #emptyList>\n <div class=\"center\">\n <s-empty-state\n iconClass=\"fa fa-exclamation-triangle\" [title]=\"'detail_empty_state_title' | translate\"\n [description]=\"'detail_empty_state_description' | translate\">\n </s-empty-state>\n </div>\n</ng-template>\n\n<ng-template #processNotConfigured>\n <div class=\"center\">\n <s-empty-state\n iconClass=\"fa fa-exclamation-triangle\"\n [title]=\"'yms.int.wms_there_no_process_type_configured_for_this_type_scheduling' | translate\">\n </s-empty-state>\n </div>\n</ng-template>",
|
|
351
351
|
styles: [".buttons{display:flex;justify-content:space-between}.center{flex-direction:column;text-align:center}.ui-g{display:block}.button-save{margin:5px 0}#refresh-button{color:#fff}.table-checkbox{width:50px}.invoice-condition .p-dropdown{position:relative;z-index:1000}"]
|
|
352
352
|
}),
|
|
353
353
|
tslib_1.__metadata("design:paramtypes", [TranslateService,
|
|
@@ -358,4 +358,4 @@ DocumentGridComponent = tslib_1.__decorate([
|
|
|
358
358
|
UtilsMessageService])
|
|
359
359
|
], DocumentGridComponent);
|
|
360
360
|
export { DocumentGridComponent };
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQVksTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQW9DLGtCQUFrQixFQUFlLE1BQU0sa0RBQWtELENBQUM7QUFDckksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDcEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPbkUsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFtRDlCLFlBQ3FCLFNBQTJCLEVBQzNCLGVBQWdD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LG9CQUFvQixDQUFDO3NDQUNMLFdBQVc7aUVBQU07QUFHNUM7SUFEQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7c0NBQ0wsV0FBVzsrREFBTTtBQUcxQztJQURDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztzQ0FDTCxXQUFXOzZEQUFNO0FBekMvQixxQkFBcUI7SUFMakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGVBQWU7UUFDekIsK3pQQUE2Qzs7S0FFaEQsQ0FBQzs2Q0FxRGtDLGdCQUFnQjtRQUNWLGVBQWU7UUFDWCxtQkFBbUI7UUFDcEIsa0JBQWtCO1FBQ3ZCLGFBQWE7UUFDckIsbUJBQW1CO0dBekR0QyxxQkFBcUIsQ0E2V2pDO1NBN1dZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZW51SXRlbSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCwgZW1wdHksIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVdGlsc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3V0aWxzLW1lc3NhZ2VcIjtcbmltcG9ydCB7IEFnZW5kYVNlcnZpY2UsIElzQ2xpZW50ZUV4dGVybm8gfSBmcm9tICcuLi8uLi9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnRcIjtcbmltcG9ydCB7IERvY3VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtJztcbmltcG9ydCB7IEdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nT3V0cHV0LCBJbnRlZ3JhdGlvblNlcnZpY2UsIFByb2Nlc3NUeXBlIH0gZnJvbSAnLi8uLi8uLi9lbnRpdGllcy9pbnRlZ3JhdGlvbi9pbnRlZ3JhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEludm9pY2VDb25kaXRpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc3JjL3dtcy9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuaW1wb3J0IHsgZ2V0SW52b2ljZUNvbmRpdGlvbnMgfSBmcm9tIFwiLi4vdXRpbHMvaW52b2ljZS1jb25kaXRpb25zXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZG9jdW1lbnQtZ3JpZCcsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9kb2N1bWVudC1ncmlkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2RvY3VtZW50LWdyaWQuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGFnZW5kYTtcbiAgICBASW5wdXQoKSB3bXNTeXN0ZW06IFdtc1N5c3RlbTtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZUludm9pY2VLZXk6IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIHZpc2libGVEb2N1bWVudFJlZ2lzdGVyOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHZpZXdEb2N1bWVudDogRXZlbnRFbWl0dGVyPERvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBkb2N1bWVudFRvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIHB1YmxpYyBncmlkQ29sdW1uczogYW55O1xuICAgIHB1YmxpYyBncmlkRGF0YTogRG9jdW1lbnRbXSA9IFtdO1xuICAgIHB1YmxpYyBzZWxlY3Rpb246IERvY3VtZW50W107XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBkb2N1bWVudDogRG9jdW1lbnQ7XG4gICAgcHVibGljIGVkaXQ6IGJvb2xlYW47XG4gICAgcHVibGljIHByb2Nlc3NUeXBlOiBQcm9jZXNzVHlwZTtcbiAgICBwdWJsaWMgaXNDbGllbnRlRXh0ZXJubzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZW5hYmxlQnV0dG9uSXNDbGllbnRlRXh0ZXJubyA9IHRydWU7XG4gICAgcHVibGljIGludm9pY2VDb25kaXRpb25zID0gZ2V0SW52b2ljZUNvbmRpdGlvbnModGhpcy50cmFuc2xhdGUpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5ID0gXCJ5bXMuaW50Lndtc19zYXZlZF9kb2N1bWVudF9tZXNzYWdlX3RpdGxlXCI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBWaWV3Q2hpbGQoXCJkb2N1bWVudFRhYmxlXCIpXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZTtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21UZW1wbGF0ZVwiKVxuICAgIHB1YmxpYyBjdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21GaWx0ZXJGaWVsZHNcIilcbiAgICBwdWJsaWMgY3VzdG9tRmlsdGVyRmllbGRzOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUdyaWRDb2xncm91cFwiKVxuICAgIHB1YmxpYyBjdXN0b21HcmlkQ29sZ3JvdXA6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tR3JpZEhlYWRlclwiKVxuICAgIHB1YmxpYyBjdXN0b21HcmlkSGVhZGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUdyaWRCb2R5XCIpXG4gICAgcHVibGljIGN1c3RvbUdyaWRCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZ2V0RmlsdGVyZWRJbnZvaWNlQ29uZGl0aW9ucyhpbnZvaWNlQ29uZGl0aW9uczogYW55KTogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbiB8IG51bGwgfVtdIHtcbiAgICAgICAgaWYgKGludm9pY2VDb25kaXRpb25zID09PSBJbnZvaWNlQ29uZGl0aW9uLkFVVEhPUklaRUQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludm9pY2VDb25kaXRpb25zLmZpbHRlcihjb25kID0+IGNvbmQudmFsdWUgPT09IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQ29uZGl0aW9ucy5maWx0ZXIoY29uZCA9PiBjb25kLnZhbHVlICE9PSBJbnZvaWNlQ29uZGl0aW9uLkFVVEhPUklaRUQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25TZXJ2aWNlOiBJbnRlZ3JhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWdlbmRhU2VydmljZTogQWdlbmRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1dGlsczogVXRpbHNNZXNzYWdlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBbXTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52ZXJpZnlDbGllbnRlRXh0ZXJubygpO1xuICAgICAgICB0aGlzLmdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nKCk7XG4gICAgICAgIHRoaXMubGlzdERvY3VtZW50cyhmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJpZnlDbGllbnRlRXh0ZXJubygpIHtcbiAgICAgICAgdGhpcy5hZ2VuZGFTZXJ2aWNlLmlzQ2xpZW50ZUV4dGVybm8oKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElzQ2xpZW50ZUV4dGVybm8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNDbGllbnRlRXh0ZXJubyA9IHJlc3VsdC5pc0NsaWVudGVFeHRlcm5vO1xuICAgICAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuZ2V0R3JpZENvbHVtbnMoKTtcbiAgICAgICAgICAgIHRoaXMuY2FudEVkaXRTdGF0dXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZygpIHtcbiAgICAgICAgdGhpcy5pbnRlZ3JhdGlvblNlcnZpY2UuZ2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmcodGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvLmlkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBHZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZ091dHB1dCkgPT4gdGhpcy5wcm9jZXNzVHlwZSA9IHJlc3VsdC5wcm9jZXNzVHlwZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlRG9jdW1lbnQoZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5oYXNGaWxsZWRWYWx1ZXMoZG9jdW1lbnQpKXtcbiAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcImVycm9yXCIsXCJ5bXMuaW50Lndtc19zYXZlX2Vycm9yX3JlZ2lzdGVyX2RvY3VtZW50X21lc3NhZ2VfdGl0bGVcIixcInltcy5pbnQud21zX3NhdmVfZXJyb3JfcmVnaXN0ZXJfZG9jdW1lbnRfbWVzc2FnZV9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXNzaWduS2V5cyhkb2N1bWVudCk7XG4gICAgICAgIGNvbnN0IGR1cGxpY2F0ZURvY3VtZW50ID0gdGhpcy5ncmlkRGF0YS5maW5kKGdyaWREYXRhID0+IGdyaWREYXRhLmtleSA9PT0gZG9jdW1lbnQua2V5KTtcbiAgICAgICAgaWYgKGR1cGxpY2F0ZURvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJlcnJvclwiLFwieW1zLmludC53bXNfZXJyb3JfcmVnaXN0ZXJfZG9jdW1lbnRfbWVzc2FnZV90aXRsZVwiLFwieW1zLmludC53bXNfZXJyb3JfcmVnaXN0ZXJfZG9jdW1lbnRfbWVzc2FnZV9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ3JpZERhdGEucHVzaChkb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFwic3VjY2Vzc1wiLCB0aGlzLnN1bW1hcnksIFwieW1zLmludC53bXNfc3VjY2Vzc19tZXNzYWdlX2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICB0aGlzLnZpc2libGVEb2N1bWVudFJlZ2lzdGVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMudmlzaWJsZUludm9pY2VLZXkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2lnbktleXMoZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIGlmIChkb2N1bWVudC5pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hZ2VuZGEuaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LnNjaGVkdWxpbmdJZCA9IHRoaXMuYWdlbmRhLmlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRvY3VtZW50LmtleSA9PT0gdW5kZWZpbmVkIHx8IGRvY3VtZW50LmtleSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmtleSA9IGRvY3VtZW50Lmludm9pY2VLZXk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNXbXNXSVMoKSkge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5rZXkgPSBgJHtkb2N1bWVudC5pbnZvaWNlTnVtYmVyfToke2RvY3VtZW50Lmludm9pY2VTZXJpYWxOdW1iZXJ9OiR7ZG9jdW1lbnQucGFydG5lckRvY3VtZW50fWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNGaWxsZWRWYWx1ZXMoZG9jdW1lbnQ6IERvY3VtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBPYmplY3QudmFsdWVzKGRvY3VtZW50KTtcbiAgICAgICAgcmV0dXJuIGZvcm1WYWx1ZXMuc29tZSh2YWx1ZSA9PiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBjYW50RWRpdFN0YXR1cygpIHtcbiAgICAgICAgY29uc3QgY2FudEVkaXRTdGF0dXMgPSBbXG4gICAgICAgICAgICAnQ0FOQ0VMQURPJyxcbiAgICAgICAgICAgICdFTV9FWEVDVUNBTycsXG4gICAgICAgICAgICAnQ09OQ0xVSURPJyxcbiAgICAgICAgICAgICdBR1VBUkRBTkRPX1BPUl9WQUxJREFDQU8nXG4gICAgICAgIF0uaW5jbHVkZXModGhpcy5hZ2VuZGEuc3RhdHVzLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmKGNhbnRFZGl0U3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZUJ1dHRvbklzQ2xpZW50ZUV4dGVybm8gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zKCk6IE1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmNoZWNrV21zU3lzdGVtSW52YWxpZCgpLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfc2VhcmNoXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlSW52b2ljZUtleSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhIGZhLXNlYXJjaFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmNoZWNrV21zU3lzdGVtSW52YWxpZCgpLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfYWRkX2RvY3VtZW50X3JlZ2lzdGVyXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlRG9jdW1lbnRSZWdpc3RlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhcyBmYS1wZW4tc3F1YXJlXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tXbXNTeXN0ZW1JbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy53bXNTeXN0ZW0gJiYgdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5OT05FKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmlldygpIHtcbiAgICAgICAgdGhpcy52aWV3RG9jdW1lbnQuZW1pdCh0aGlzLnNlbGVjdGlvblswXSk7XG4gICAgICAgIHRoaXMudmlzaWJsZURvY3VtZW50UmVnaXN0ZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmVkaXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgaWYodGhpcy5ncmlkRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWREYXRhLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoIWRhdGEuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYoIWRhdGEuc2NoZWR1bGluZ0lkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnNjaGVkdWxpbmdJZCA9IHRoaXMuYWdlbmRhLmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEua2V5ID0gdGhpcy51cGRhdGVLZXlCeVdtcyhkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuaW5zZXJ0KGRhdGEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Vzc01lc3NhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UudXBkYXRlKGRhdGEuaWQsIGRhdGEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Vzc01lc3NhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5saXN0RG9jdW1lbnRzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlS2V5QnlXbXMoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhLmtleSkge1xuICAgICAgICAgICAgZGF0YS5rZXkgPSBkYXRhLmludm9pY2VLZXk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uV0lTKSB7XG4gICAgICAgICAgICBkYXRhLmtleSA9IGAke2RhdGEuaW52b2ljZU51bWJlcn06JHtkYXRhLmludm9pY2VTZXJpYWxOdW1iZXJ9OiR7ZGF0YS5wYXJ0bmVyRG9jdW1lbnR9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YS5rZXk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRGVsZXRlKCkge1xuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiZGVsZXRlX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCIpLFxuICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiZGVsZXRlX2NvbmZpcm1hdGlvbl90aXRsZVwiKSxcbiAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRG9jdW1lbnRJZklkVW5kZmluZWQoKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbi5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbih0aGlzLnNlbGVjdGlvbi5tYXAoZG9jdW1lbnQgPT4gdGhpcy5kb2N1bWVudFNlcnZpY2UuZGVsZXRlKGRvY3VtZW50LmlkKSkpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcInN1Y2Nlc3NcIiwgXCJkZWxldGVkX21lc3NhZ2VfdGl0bGVcIiwgXCJkZWxldGVkX21lc3NhZ2VfY29udGVudFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0RG9jdW1lbnRzKHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZURvY3VtZW50SWZJZFVuZGZpbmVkKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5mb3JFYWNoKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUuaWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleEdyaWREYXRhID0gdGhpcy5ncmlkRGF0YS5maW5kSW5kZXgoZG9jdW1lbnQgPT4gZG9jdW1lbnQua2V5ID09PSB2YWx1ZS5rZXkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YS5zcGxpY2UoaW5kZXhHcmlkRGF0YSwgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5vdFNhdmVkRG9jdW1lbnRzKCkgOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZERhdGEuc29tZShkb2N1bWVudCA9PiAhZG9jdW1lbnQuaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsaXN0RG9jdW1lbnRzKGlzRGVsZXRlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmxpc3Qoe1xuICAgICAgICAgICAgZmlsdGVyUXVlcnk6IGBzY2hlZHVsaW5nSWQgZXEgJyR7dGhpcy5hZ2VuZGEuaWR9J2AsXG4gICAgICAgICAgICBzaXplOiAxMDBcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGlzRGVsZXRlID8gdGhpcy5ncmlkRGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5pZCkgOiBbXTtcblxuICAgICAgICAgICAgaWYoY29udGVudHMudG90YWxFbGVtZW50cyA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhLnB1c2goLi4uY29udGVudHMuY29udGVudHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRUb3RhbFJlY29yZHMgPSBjb250ZW50cy50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50VG90YWxSZWNvcmRzID0gdGhpcy5ncmlkRGF0YS5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBoYXNFbGVtZW50V2l0aG91dElkID0gdGhpcy5ncmlkRGF0YS5zb21lKGl0ZW0gPT4gIWl0ZW0uaWQpO1xuXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gIWhhc0VsZW1lbnRXaXRob3V0SWQ7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0R3JpZENvbHVtbnMoKSB7XG4gICAgICAgIGxldCByZXN1bHQ7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLndtc1N5c3RlbSkge1xuICAgICAgICAgICAgY2FzZSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q6XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy53bXNTZW5pb3JDb25uZWN0SW50ZWdyYXRpb24oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgV21zU3lzdGVtLldJUzpcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLndtc1dpc0ludGVncmF0aW9uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFdtc1N5c3RlbS5TRU5JT1I6XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy53bXNTaWx0SW50ZWdyYXRpb24oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gW107XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgd21zU2VuaW9yQ29ubmVjdEludGVncmF0aW9uKCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJrZXlcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcHVyY2hhc2VPcmRlclwiKSB9LFxuICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5QYXJ0bmVyKCksXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbHVtbmxvZ2lzdGNVbml0KClcbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3bXNXaXNJbnRlZ3JhdGlvbigpIHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IFtcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uSW52b2ljZUFuZGxvZ2lzdGNVbml0KCksXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMuYWRkSW52b2ljZVNpdHVhdGlvbklmTm90Q2xpZW50ZUV4dGVybm8oY29sdW1ucyk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cblxuICAgIHByaXZhdGUgd21zU2lsdEludGVncmF0aW9uKCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJpbnZvaWNlS2V5XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2Vfa2V5XCIpIH0sXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbHVtbkludm9pY2VBbmRsb2dpc3RjVW5pdCgpLFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lck5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfb3duZXJfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lckRvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X293bmVyX2RvY3VtZW50XCIpIH0sXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMuYWRkSW52b2ljZVNpdHVhdGlvbklmTm90Q2xpZW50ZUV4dGVybm8oY29sdW1ucyk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29sdW1uaW52b2ljZUNvbmRpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHsgZmllbGQ6IFwiaW52b2ljZUNvbmRpdGlvblwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uXCIpIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5JbnZvaWNlQW5kbG9naXN0Y1VuaXQoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcImludm9pY2VOdW1iZXJcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiaW52b2ljZVNlcmlhbE51bWJlclwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3NlcmlhbF9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uUGFydG5lcigpLFxuICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5sb2dpc3RjVW5pdCgpXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5QYXJ0bmVyKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJwYXJ0bmVyTmFtZVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9wYXJ0bmVyX25hbWVcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwicGFydG5lckRvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X3BhcnRuZXJfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtbmxvZ2lzdGNVbml0KCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJsb2dpc3RjVW5pdE5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfbG9naXN0Y191bml0X25hbWVcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwibG9naXN0Y1VuaXREb2N1bWVudFwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9sb2dpc3RjX3VuaXRfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEludm9pY2VTaXR1YXRpb25JZk5vdENsaWVudGVFeHRlcm5vKGNvbHVtbnM6IGFueVtdKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0NsaWVudGVFeHRlcm5vKSB7XG4gICAgICAgICAgICBjb2x1bW5zLnB1c2godGhpcy5nZXRDb2x1bW5pbnZvaWNlQ29uZGl0aW9uKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yQ29ubmVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zV0lTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVM7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2lsdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3VjZXNzTWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXRpbHMubWVzc2FnZShcInN1Y2Nlc3NcIiwgdGhpcy5zdW1tYXJ5LCBcInNhdmVkX21lc3NhZ2VfY29udGVudFwiKTtcbiAgICB9XG59XG4iXX0=
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvZG9jdW1lbnQtZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQVksTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRSxPQUFPLEVBQW9DLGtCQUFrQixFQUFlLE1BQU0sa0RBQWtELENBQUM7QUFDckksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDcEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPbkUsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFtRDlCLFlBQ3FCLFNBQTJCLEVBQzNCLGVBQWdD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LG9CQUFvQixDQUFDO3NDQUNMLFdBQVc7aUVBQU07QUFHNUM7SUFEQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7c0NBQ0wsV0FBVzsrREFBTTtBQUcxQztJQURDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztzQ0FDTCxXQUFXOzZEQUFNO0FBekMvQixxQkFBcUI7SUFMakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGVBQWU7UUFDekIsZzJQQUE2Qzs7S0FFaEQsQ0FBQzs2Q0FxRGtDLGdCQUFnQjtRQUNWLGVBQWU7UUFDWCxtQkFBbUI7UUFDcEIsa0JBQWtCO1FBQ3ZCLGFBQWE7UUFDckIsbUJBQW1CO0dBekR0QyxxQkFBcUIsQ0E2V2pDO1NBN1dZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZW51SXRlbSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCwgZW1wdHksIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVdGlsc01lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3V0aWxzLW1lc3NhZ2VcIjtcbmltcG9ydCB7IEFnZW5kYVNlcnZpY2UsIElzQ2xpZW50ZUV4dGVybm8gfSBmcm9tICcuLi8uLi9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tIFwiLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnRcIjtcbmltcG9ydCB7IERvY3VtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtJztcbmltcG9ydCB7IEdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nT3V0cHV0LCBJbnRlZ3JhdGlvblNlcnZpY2UsIFByb2Nlc3NUeXBlIH0gZnJvbSAnLi8uLi8uLi9lbnRpdGllcy9pbnRlZ3JhdGlvbi9pbnRlZ3JhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEludm9pY2VDb25kaXRpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc3JjL3dtcy9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuaW1wb3J0IHsgZ2V0SW52b2ljZUNvbmRpdGlvbnMgfSBmcm9tIFwiLi4vdXRpbHMvaW52b2ljZS1jb25kaXRpb25zXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZG9jdW1lbnQtZ3JpZCcsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9kb2N1bWVudC1ncmlkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2RvY3VtZW50LWdyaWQuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGFnZW5kYTtcbiAgICBASW5wdXQoKSB3bXNTeXN0ZW06IFdtc1N5c3RlbTtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZUludm9pY2VLZXk6IGJvb2xlYW47XG4gICAgQE91dHB1dCgpIHZpc2libGVEb2N1bWVudFJlZ2lzdGVyOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHZpZXdEb2N1bWVudDogRXZlbnRFbWl0dGVyPERvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBkb2N1bWVudFRvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIHB1YmxpYyBncmlkQ29sdW1uczogYW55O1xuICAgIHB1YmxpYyBncmlkRGF0YTogRG9jdW1lbnRbXSA9IFtdO1xuICAgIHB1YmxpYyBzZWxlY3Rpb246IERvY3VtZW50W107XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xuICAgIHB1YmxpYyBkb2N1bWVudDogRG9jdW1lbnQ7XG4gICAgcHVibGljIGVkaXQ6IGJvb2xlYW47XG4gICAgcHVibGljIHByb2Nlc3NUeXBlOiBQcm9jZXNzVHlwZTtcbiAgICBwdWJsaWMgaXNDbGllbnRlRXh0ZXJubzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZW5hYmxlQnV0dG9uSXNDbGllbnRlRXh0ZXJubyA9IHRydWU7XG4gICAgcHVibGljIGludm9pY2VDb25kaXRpb25zID0gZ2V0SW52b2ljZUNvbmRpdGlvbnModGhpcy50cmFuc2xhdGUpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5ID0gXCJ5bXMuaW50Lndtc19zYXZlZF9kb2N1bWVudF9tZXNzYWdlX3RpdGxlXCI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBWaWV3Q2hpbGQoXCJkb2N1bWVudFRhYmxlXCIpXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZTtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21UZW1wbGF0ZVwiKVxuICAgIHB1YmxpYyBjdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoXCJjdXN0b21GaWx0ZXJGaWVsZHNcIilcbiAgICBwdWJsaWMgY3VzdG9tRmlsdGVyRmllbGRzOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUdyaWRDb2xncm91cFwiKVxuICAgIHB1YmxpYyBjdXN0b21HcmlkQ29sZ3JvdXA6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKFwiY3VzdG9tR3JpZEhlYWRlclwiKVxuICAgIHB1YmxpYyBjdXN0b21HcmlkSGVhZGVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChcImN1c3RvbUdyaWRCb2R5XCIpXG4gICAgcHVibGljIGN1c3RvbUdyaWRCb2R5OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZ2V0RmlsdGVyZWRJbnZvaWNlQ29uZGl0aW9ucyhpbnZvaWNlQ29uZGl0aW9uczogYW55KTogeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogSW52b2ljZUNvbmRpdGlvbiB8IG51bGwgfVtdIHtcbiAgICAgICAgaWYgKGludm9pY2VDb25kaXRpb25zID09PSBJbnZvaWNlQ29uZGl0aW9uLkFVVEhPUklaRUQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmludm9pY2VDb25kaXRpb25zLmZpbHRlcihjb25kID0+IGNvbmQudmFsdWUgPT09IEludm9pY2VDb25kaXRpb24uQVVUSE9SSVpFRCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnZvaWNlQ29uZGl0aW9ucy5maWx0ZXIoY29uZCA9PiBjb25kLnZhbHVlICE9PSBJbnZvaWNlQ29uZGl0aW9uLkFVVEhPUklaRUQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25TZXJ2aWNlOiBJbnRlZ3JhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWdlbmRhU2VydmljZTogQWdlbmRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1dGlsczogVXRpbHNNZXNzYWdlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBbXTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52ZXJpZnlDbGllbnRlRXh0ZXJubygpO1xuICAgICAgICB0aGlzLmdldFByb2Nlc3NUeXBlQnlTY2hlZHVsaW5nKCk7XG4gICAgICAgIHRoaXMubGlzdERvY3VtZW50cyhmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJpZnlDbGllbnRlRXh0ZXJubygpIHtcbiAgICAgICAgdGhpcy5hZ2VuZGFTZXJ2aWNlLmlzQ2xpZW50ZUV4dGVybm8oKVxuICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IElzQ2xpZW50ZUV4dGVybm8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNDbGllbnRlRXh0ZXJubyA9IHJlc3VsdC5pc0NsaWVudGVFeHRlcm5vO1xuICAgICAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuZ2V0R3JpZENvbHVtbnMoKTtcbiAgICAgICAgICAgIHRoaXMuY2FudEVkaXRTdGF0dXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZygpIHtcbiAgICAgICAgdGhpcy5pbnRlZ3JhdGlvblNlcnZpY2UuZ2V0UHJvY2Vzc1R5cGVCeVNjaGVkdWxpbmcodGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvLmlkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBHZXRQcm9jZXNzVHlwZUJ5U2NoZWR1bGluZ091dHB1dCkgPT4gdGhpcy5wcm9jZXNzVHlwZSA9IHJlc3VsdC5wcm9jZXNzVHlwZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlRG9jdW1lbnQoZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5oYXNGaWxsZWRWYWx1ZXMoZG9jdW1lbnQpKXtcbiAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcImVycm9yXCIsXCJ5bXMuaW50Lndtc19zYXZlX2Vycm9yX3JlZ2lzdGVyX2RvY3VtZW50X21lc3NhZ2VfdGl0bGVcIixcInltcy5pbnQud21zX3NhdmVfZXJyb3JfcmVnaXN0ZXJfZG9jdW1lbnRfbWVzc2FnZV9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYXNzaWduS2V5cyhkb2N1bWVudCk7XG4gICAgICAgIGNvbnN0IGR1cGxpY2F0ZURvY3VtZW50ID0gdGhpcy5ncmlkRGF0YS5maW5kKGdyaWREYXRhID0+IGdyaWREYXRhLmtleSA9PT0gZG9jdW1lbnQua2V5KTtcbiAgICAgICAgaWYgKGR1cGxpY2F0ZURvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJlcnJvclwiLFwieW1zLmludC53bXNfZXJyb3JfcmVnaXN0ZXJfZG9jdW1lbnRfbWVzc2FnZV90aXRsZVwiLFwieW1zLmludC53bXNfZXJyb3JfcmVnaXN0ZXJfZG9jdW1lbnRfbWVzc2FnZV9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ3JpZERhdGEucHVzaChkb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFwic3VjY2Vzc1wiLCB0aGlzLnN1bW1hcnksIFwieW1zLmludC53bXNfc3VjY2Vzc19tZXNzYWdlX2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICB0aGlzLnZpc2libGVEb2N1bWVudFJlZ2lzdGVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMudmlzaWJsZUludm9pY2VLZXkgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzc2lnbktleXMoZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIGlmIChkb2N1bWVudC5pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hZ2VuZGEuaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LnNjaGVkdWxpbmdJZCA9IHRoaXMuYWdlbmRhLmlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRvY3VtZW50LmtleSA9PT0gdW5kZWZpbmVkIHx8IGRvY3VtZW50LmtleSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmtleSA9IGRvY3VtZW50Lmludm9pY2VLZXk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNXbXNXSVMoKSkge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5rZXkgPSBgJHtkb2N1bWVudC5pbnZvaWNlTnVtYmVyfToke2RvY3VtZW50Lmludm9pY2VTZXJpYWxOdW1iZXJ9OiR7ZG9jdW1lbnQucGFydG5lckRvY3VtZW50fWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNGaWxsZWRWYWx1ZXMoZG9jdW1lbnQ6IERvY3VtZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBPYmplY3QudmFsdWVzKGRvY3VtZW50KTtcbiAgICAgICAgcmV0dXJuIGZvcm1WYWx1ZXMuc29tZSh2YWx1ZSA9PiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJycpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBjYW50RWRpdFN0YXR1cygpIHtcbiAgICAgICAgY29uc3QgY2FudEVkaXRTdGF0dXMgPSBbXG4gICAgICAgICAgICAnQ0FOQ0VMQURPJyxcbiAgICAgICAgICAgICdFTV9FWEVDVUNBTycsXG4gICAgICAgICAgICAnQ09OQ0xVSURPJyxcbiAgICAgICAgICAgICdBR1VBUkRBTkRPX1BPUl9WQUxJREFDQU8nXG4gICAgICAgIF0uaW5jbHVkZXModGhpcy5hZ2VuZGEuc3RhdHVzLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIGlmKGNhbnRFZGl0U3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZUJ1dHRvbklzQ2xpZW50ZUV4dGVybm8gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zKCk6IE1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmNoZWNrV21zU3lzdGVtSW52YWxpZCgpLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfc2VhcmNoXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlSW52b2ljZUtleSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhIGZhLXNlYXJjaFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmNoZWNrV21zU3lzdGVtSW52YWxpZCgpLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfYWRkX2RvY3VtZW50X3JlZ2lzdGVyXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlRG9jdW1lbnRSZWdpc3RlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpY29uOiBcImZhcyBmYS1wZW4tc3F1YXJlXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tXbXNTeXN0ZW1JbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy53bXNTeXN0ZW0gJiYgdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5OT05FKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmlldygpIHtcbiAgICAgICAgdGhpcy52aWV3RG9jdW1lbnQuZW1pdCh0aGlzLnNlbGVjdGlvblswXSk7XG4gICAgICAgIHRoaXMudmlzaWJsZURvY3VtZW50UmVnaXN0ZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmVkaXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgaWYodGhpcy5ncmlkRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWREYXRhLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoIWRhdGEuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYoIWRhdGEuc2NoZWR1bGluZ0lkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnNjaGVkdWxpbmdJZCA9IHRoaXMuYWdlbmRhLmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEua2V5ID0gdGhpcy51cGRhdGVLZXlCeVdtcyhkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuaW5zZXJ0KGRhdGEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Vzc01lc3NhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UudXBkYXRlKGRhdGEuaWQsIGRhdGEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Vzc01lc3NhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5saXN0RG9jdW1lbnRzKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlS2V5QnlXbXMoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhLmtleSkge1xuICAgICAgICAgICAgZGF0YS5rZXkgPSBkYXRhLmludm9pY2VLZXk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uV0lTKSB7XG4gICAgICAgICAgICBkYXRhLmtleSA9IGAke2RhdGEuaW52b2ljZU51bWJlcn06JHtkYXRhLmludm9pY2VTZXJpYWxOdW1iZXJ9OiR7ZGF0YS5wYXJ0bmVyRG9jdW1lbnR9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YS5rZXk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRGVsZXRlKCkge1xuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiZGVsZXRlX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCIpLFxuICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiZGVsZXRlX2NvbmZpcm1hdGlvbl90aXRsZVwiKSxcbiAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRG9jdW1lbnRJZklkVW5kZmluZWQoKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbi5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbih0aGlzLnNlbGVjdGlvbi5tYXAoZG9jdW1lbnQgPT4gdGhpcy5kb2N1bWVudFNlcnZpY2UuZGVsZXRlKGRvY3VtZW50LmlkKSkpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcInN1Y2Nlc3NcIiwgXCJkZWxldGVkX21lc3NhZ2VfdGl0bGVcIiwgXCJkZWxldGVkX21lc3NhZ2VfY29udGVudFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0RG9jdW1lbnRzKHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZURvY3VtZW50SWZJZFVuZGZpbmVkKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5mb3JFYWNoKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUuaWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleEdyaWREYXRhID0gdGhpcy5ncmlkRGF0YS5maW5kSW5kZXgoZG9jdW1lbnQgPT4gZG9jdW1lbnQua2V5ID09PSB2YWx1ZS5rZXkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YS5zcGxpY2UoaW5kZXhHcmlkRGF0YSwgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5vdFNhdmVkRG9jdW1lbnRzKCkgOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JpZERhdGEuc29tZShkb2N1bWVudCA9PiAhZG9jdW1lbnQuaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsaXN0RG9jdW1lbnRzKGlzRGVsZXRlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmxpc3Qoe1xuICAgICAgICAgICAgZmlsdGVyUXVlcnk6IGBzY2hlZHVsaW5nSWQgZXEgJyR7dGhpcy5hZ2VuZGEuaWR9J2AsXG4gICAgICAgICAgICBzaXplOiAxMDBcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGlzRGVsZXRlID8gdGhpcy5ncmlkRGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5pZCkgOiBbXTtcblxuICAgICAgICAgICAgaWYoY29udGVudHMudG90YWxFbGVtZW50cyA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhLnB1c2goLi4uY29udGVudHMuY29udGVudHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRUb3RhbFJlY29yZHMgPSBjb250ZW50cy50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50VG90YWxSZWNvcmRzID0gdGhpcy5ncmlkRGF0YS5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBoYXNFbGVtZW50V2l0aG91dElkID0gdGhpcy5ncmlkRGF0YS5zb21lKGl0ZW0gPT4gIWl0ZW0uaWQpO1xuXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gIWhhc0VsZW1lbnRXaXRob3V0SWQ7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uID0gW107XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0R3JpZENvbHVtbnMoKSB7XG4gICAgICAgIGxldCByZXN1bHQ7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLndtc1N5c3RlbSkge1xuICAgICAgICAgICAgY2FzZSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q6XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy53bXNTZW5pb3JDb25uZWN0SW50ZWdyYXRpb24oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgV21zU3lzdGVtLldJUzpcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLndtc1dpc0ludGVncmF0aW9uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFdtc1N5c3RlbS5TRU5JT1I6XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy53bXNTaWx0SW50ZWdyYXRpb24oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gW107XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgd21zU2VuaW9yQ29ubmVjdEludGVncmF0aW9uKCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJrZXlcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcHVyY2hhc2VPcmRlclwiKSB9LFxuICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5QYXJ0bmVyKCksXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbHVtbmxvZ2lzdGNVbml0KClcbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3bXNXaXNJbnRlZ3JhdGlvbigpIHtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IFtcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uSW52b2ljZUFuZGxvZ2lzdGNVbml0KCksXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMuYWRkSW52b2ljZVNpdHVhdGlvbklmTm90Q2xpZW50ZUV4dGVybm8oY29sdW1ucyk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cblxuICAgIHByaXZhdGUgd21zU2lsdEludGVncmF0aW9uKCkge1xuICAgICAgICBjb25zdCBjb2x1bW5zID0gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJpbnZvaWNlS2V5XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X2ludm9pY2Vfa2V5XCIpIH0sXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbHVtbkludm9pY2VBbmRsb2dpc3RjVW5pdCgpLFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lck5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfb3duZXJfbmFtZVwiKSB9LFxuICAgICAgICAgICAgeyBmaWVsZDogXCJvd25lckRvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X293bmVyX2RvY3VtZW50XCIpIH0sXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMuYWRkSW52b2ljZVNpdHVhdGlvbklmTm90Q2xpZW50ZUV4dGVybm8oY29sdW1ucyk7XG4gICAgICAgIHJldHVybiBjb2x1bW5zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29sdW1uaW52b2ljZUNvbmRpdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHsgZmllbGQ6IFwiaW52b2ljZUNvbmRpdGlvblwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19ncmlkX2RvY3VtZW50X2ludm9pY2VfY29uZGl0aW9uXCIpIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5JbnZvaWNlQW5kbG9naXN0Y1VuaXQoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGZpZWxkOiBcImludm9pY2VOdW1iZXJcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfaW52b2ljZV9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwiaW52b2ljZVNlcmlhbE51bWJlclwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9pbnZvaWNlX3NlcmlhbF9udW1iZXJcIikgfSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29sdW1uUGFydG5lcigpLFxuICAgICAgICAgICAgLi4udGhpcy5nZXRDb2x1bW5sb2dpc3RjVW5pdCgpXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb2x1bW5QYXJ0bmVyKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJwYXJ0bmVyTmFtZVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9wYXJ0bmVyX25hbWVcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwicGFydG5lckRvY3VtZW50XCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX3JlZ2lzdGVyX2RvY3VtZW50X3BhcnRuZXJfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbHVtbmxvZ2lzdGNVbml0KCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBmaWVsZDogXCJsb2dpc3RjVW5pdE5hbWVcIiwgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVnaXN0ZXJfZG9jdW1lbnRfbG9naXN0Y191bml0X25hbWVcIikgfSxcbiAgICAgICAgICAgIHsgZmllbGQ6IFwibG9naXN0Y1VuaXREb2N1bWVudFwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuaW50Lndtc19yZWdpc3Rlcl9kb2N1bWVudF9sb2dpc3RjX3VuaXRfZG9jdW1lbnRcIikgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEludm9pY2VTaXR1YXRpb25JZk5vdENsaWVudGVFeHRlcm5vKGNvbHVtbnM6IGFueVtdKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0NsaWVudGVFeHRlcm5vKSB7XG4gICAgICAgICAgICBjb2x1bW5zLnB1c2godGhpcy5nZXRDb2x1bW5pbnZvaWNlQ29uZGl0aW9uKCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yQ29ubmVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zV0lTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVM7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2lsdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3VjZXNzTWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXRpbHMubWVzc2FnZShcInN1Y2Nlc3NcIiwgdGhpcy5zdW1tYXJ5LCBcInNhdmVkX21lc3NhZ2VfY29udGVudFwiKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -10,6 +10,7 @@ import { ConfirmationService } from "primeng/api";
|
|
|
10
10
|
import { TranslateService } from "@ngx-translate/core";
|
|
11
11
|
import { ExternalTenantService } from "./../../../entities/external-tenant/external-tenant.service";
|
|
12
12
|
import { InvoiceCondition } from "./../../../entities/invoice-condition/invoice-condition";
|
|
13
|
+
import { Agenda } from '../../../../erp-senior/core/entities/agenda/agenda';
|
|
13
14
|
let InsertKeyComponent = class InsertKeyComponent {
|
|
14
15
|
constructor(formBuilder, documentService, utils, confirmationService, translate, externalTenantService) {
|
|
15
16
|
this.formBuilder = formBuilder;
|
|
@@ -18,14 +19,15 @@ let InsertKeyComponent = class InsertKeyComponent {
|
|
|
18
19
|
this.confirmationService = confirmationService;
|
|
19
20
|
this.translate = translate;
|
|
20
21
|
this.externalTenantService = externalTenantService;
|
|
21
|
-
this.document = new EventEmitter();
|
|
22
22
|
this.visible = new EventEmitter();
|
|
23
|
+
this.document = new EventEmitter();
|
|
23
24
|
this.visibleChange = new EventEmitter();
|
|
24
25
|
this.isLoading = false;
|
|
25
26
|
this.isPartnerloading = false;
|
|
26
27
|
this.ngUnsubscribe = new Subject();
|
|
27
28
|
}
|
|
28
29
|
ngOnInit() {
|
|
30
|
+
this.getYard();
|
|
29
31
|
this.formGroup = this.formBuilder.group({
|
|
30
32
|
key: [undefined],
|
|
31
33
|
purchaseOrder: [undefined],
|
|
@@ -37,6 +39,15 @@ let InsertKeyComponent = class InsertKeyComponent {
|
|
|
37
39
|
this.validateKeyDetails(nf);
|
|
38
40
|
});
|
|
39
41
|
}
|
|
42
|
+
getYard() {
|
|
43
|
+
this.documentService.getPlanta(this.agenda.planta.id)
|
|
44
|
+
.pipe(catchError(err => {
|
|
45
|
+
return throwError(err);
|
|
46
|
+
}))
|
|
47
|
+
.subscribe((content) => {
|
|
48
|
+
this.planta = content;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
40
51
|
isWmsWis() {
|
|
41
52
|
return this.wmsSystem === WmsSystem.WIS;
|
|
42
53
|
}
|
|
@@ -79,6 +90,16 @@ let InsertKeyComponent = class InsertKeyComponent {
|
|
|
79
90
|
return;
|
|
80
91
|
}
|
|
81
92
|
const document = content.contents[0];
|
|
93
|
+
if (this.isWmsSeniorConnect()) {
|
|
94
|
+
if (!this.planta.codigo) {
|
|
95
|
+
this.utils.message("warn", "yms.int.yard_code_not_found_warning_header", "yms.int.yard_code_not_found_warning_description");
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (document.logistcUnitDocument !== this.planta.codigo) {
|
|
99
|
+
this.utils.message("warn", "yms.int.document_yard_mismatch_agenda_warning_header", "yms.int.document_yard_mismatch_agenda_warning_description");
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
82
103
|
document.invoiceKey = this.formGroup.get('key').value;
|
|
83
104
|
document.invoiceCondition = InvoiceCondition.AUTHORIZED;
|
|
84
105
|
this.document.emit(document);
|
|
@@ -167,18 +188,22 @@ let InsertKeyComponent = class InsertKeyComponent {
|
|
|
167
188
|
this.formGroup.reset();
|
|
168
189
|
}
|
|
169
190
|
};
|
|
170
|
-
tslib_1.__decorate([
|
|
171
|
-
Output(),
|
|
172
|
-
tslib_1.__metadata("design:type", EventEmitter)
|
|
173
|
-
], InsertKeyComponent.prototype, "document", void 0);
|
|
174
191
|
tslib_1.__decorate([
|
|
175
192
|
Input(),
|
|
176
|
-
tslib_1.__metadata("design:type",
|
|
177
|
-
], InsertKeyComponent.prototype, "
|
|
193
|
+
tslib_1.__metadata("design:type", Agenda)
|
|
194
|
+
], InsertKeyComponent.prototype, "agenda", void 0);
|
|
178
195
|
tslib_1.__decorate([
|
|
179
196
|
Input(),
|
|
180
197
|
tslib_1.__metadata("design:type", String)
|
|
181
198
|
], InsertKeyComponent.prototype, "wmsSystem", void 0);
|
|
199
|
+
tslib_1.__decorate([
|
|
200
|
+
Input(),
|
|
201
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
202
|
+
], InsertKeyComponent.prototype, "visible", void 0);
|
|
203
|
+
tslib_1.__decorate([
|
|
204
|
+
Output(),
|
|
205
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
206
|
+
], InsertKeyComponent.prototype, "document", void 0);
|
|
182
207
|
tslib_1.__decorate([
|
|
183
208
|
Output(),
|
|
184
209
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -197,4 +222,4 @@ InsertKeyComponent = tslib_1.__decorate([
|
|
|
197
222
|
ExternalTenantService])
|
|
198
223
|
], InsertKeyComponent);
|
|
199
224
|
export { InsertKeyComponent };
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWtleS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvaW5zZXJ0LWtleS9pbnNlcnQta2V5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFPM0YsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBa0I7SUFnQjNCLFlBQ3FCLFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2hDLEtBQTBCLEVBQzFCLG1CQUF3QyxFQUN4QyxTQUEyQixFQUMzQixxQkFBNEM7UUFMNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FB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QUU7O3FEQUFzQjtBQUNwQjtJQUFULE1BQU0sRUFBRTs7eURBQW9DO0FBTHBDLGtCQUFrQjtJQUw5QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsWUFBWTtRQUN0Qixzb0ZBQTBDOztLQUU3QyxDQUFDOzZDQWtCb0MsV0FBVztRQUNQLGVBQWU7UUFDekIsbUJBQW1CO1FBQ0wsbUJBQW1CO1FBQzdCLGdCQUFnQjtRQUNKLHFCQUFxQjtHQXRCeEQsa0JBQWtCLENBb005QjtTQXBNWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFV0aWxzTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvdXRpbHMtbWVzc2FnZVwiO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtJztcbmltcG9ydCB7IERvY3VtZW50U2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGaW5kRG9jdW1lbnRzSW5wdXQgfSBmcm9tICcuLy4uLy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2ZpbmQtZG9jdW1lbnRzLWlucHV0JztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgRXh0ZXJuYWxUZW5hbnRTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vLi4vLi4vZW50aXRpZXMvZXh0ZXJuYWwtdGVuYW50L2V4dGVybmFsLXRlbmFudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gXCIuLy4uLy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50XCI7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4vLi4vLi4vLi4vZW50aXRpZXMvaW52b2ljZS1jb25kaXRpb24vaW52b2ljZS1jb25kaXRpb25cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiaW5zZXJ0LWtleVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vaW5zZXJ0LWtleS5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogWycuL2luc2VydC1rZXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbnNlcnRLZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBPdXRwdXQoKSBkb2N1bWVudDogRXZlbnRFbWl0dGVyPERvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBJbnB1dCgpIHZpc2libGU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSB3bXNTeXN0ZW06IFdtc1N5c3RlbTtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBrZXk6IHN0cmluZztcbiAgICBwdWJsaWMga2V5RXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpc1BhcnRuZXJsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHV0aWxzOiBVdGlsc01lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV4dGVybmFsVGVuYW50U2VydmljZTogRXh0ZXJuYWxUZW5hbnRTZXJ2aWNlLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAga2V5OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHB1cmNoYXNlT3JkZXI6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgaW52b2ljZU51bWJlcjogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlU2VyaWU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgcGFydG5lckRvY3VtZW50OiBbdW5kZWZpbmVkXVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2tleScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKG5mOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVLZXlEZXRhaWxzKG5mKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zV2lzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVM7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yQ29ubmVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZCgpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hLZXkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlYXJjaEtleSgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGtleTogRmluZERvY3VtZW50c0lucHV0ID0ge1xuICAgICAgICAgICAgcHVyY2hhc2VPcmRlcjogdGhpcy5mb3JtR3JvdXAuZ2V0KCdwdXJjaGFzZU9yZGVyJykudmFsdWUsXG4gICAgICAgICAgICBkb2N1bWVudEtleXM6IFt0aGlzLmZvcm1Hcm91cC5nZXQoJ2tleScpLnZhbHVlXSxcbiAgICAgICAgICAgIGludm9pY2VzOiBbe1xuICAgICAgICAgICAgICAgIG51bWJlcjogdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlTnVtYmVyJykudmFsdWUsXG4gICAgICAgICAgICAgICAgc2VyaWFsTnVtYmVyOiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VTZXJpZScpLnZhbHVlLFxuICAgICAgICAgICAgICAgIHBhcnRuZXJEb2N1bWVudDogdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyRG9jdW1lbnQnKS52YWx1ZVxuICAgICAgICAgICAgfV0sXG4gICAgICAgICAgICBsb2dpc3RjVW5pdE5hbWU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHNpemU6IDAsXG4gICAgICAgICAgICBvZmZzZXQ6IDBcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5maW5kRG9jdW1lbnRzKGtleSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVyci5lcnJvciAmJiBlcnIuZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJlcnJvclwiLCBcInltcy5pbnQud21zX2Vycm9yX3NlYXJjaF9kb2N1bWVudF9tZXNzYWdlX2hlYWRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ5bXMuaW50Lndtc19lcnJvcl9zZWFyY2hfZG9jdW1lbnRfbm90X2ZvdW5kX21lc3NhZ2VfY29udGVudFwiKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLnRyYW5zbGF0ZU1lc3NhZ2UoXCJlcnJvclwiLCBcInltcy5pbnQud21zX2Vycm9yX3NlYXJjaF9kb2N1bWVudF9tZXNzYWdlX2hlYWRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJ5bXMuaW50Lndtc19lcnJvcl91bmtub3duX3NlYXJjaF9kb2N1bWVudF9tZXNzYWdlX2NvbnRlbnQgXCIgKyBlcnIuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtSW52b2ljZURpYWxvZygpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjb250ZW50IHx8IGNvbnRlbnQudG90YWxFbGVtZW50cyA8IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJ3YXJuXCIsIFwieW1zLmludC53bXNfaW5zZXJ0X2tleV93YXJuaW5nX21lc3NhZ2VfaGVhZGVyXCIsIFwieW1zLmludC53bXNfaW5zZXJ0X2tleV93YXJuaW5nX21lc3NhZ2VfZGVzY3JpcHRpb25cIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBjb250ZW50LmNvbnRlbnRzWzBdO1xuICAgICAgICAgICAgZG9jdW1lbnQuaW52b2ljZUtleSA9IHRoaXMuZm9ybUdyb3VwLmdldCgna2V5JykudmFsdWU7XG4gICAgICAgICAgICBkb2N1bWVudC5pbnZvaWNlQ29uZGl0aW9uID0gSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEO1xuXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50LmVtaXQoZG9jdW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbmZpcm1JbnZvaWNlRGlhbG9nKCkge1xuICAgICAgICBpZiAodGhpcy5pc1dtc1dpcygpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX21lc3NhZ2VfY29uZmlybV9pbnZvaWNlX2RpYWxvZ1wiKSxcbiAgICAgICAgICAgICAgICBhY2NlcHRMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2FjY2VwdF9jb25maXJtX2ludm9pY2VfZGlhbG9nXCIpLFxuICAgICAgICAgICAgICAgIHJlamVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVqZWN0X2NvbmZpcm1faW52b2ljZV9kaWFsb2dcIiksXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfaGVhZGVyX2NvbnRlbnRfY29uZmlybV9pbnZvaWNlX2RpYWxvZ1wiKSxcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHRoaXMuYnVpbGRJbnZvaWNlKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZEludm9pY2UoKXtcbiAgICAgICAgdGhpcy5pc1BhcnRuZXJsb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBwYXJ0bmVyRG9jdW1lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ3BhcnRuZXJEb2N1bWVudCcpLnZhbHVlO1xuICAgICAgICB0aGlzLmV4dGVybmFsVGVuYW50U2VydmljZS5saXN0KHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5OiBgY25waiBlcSAnJHtwYXJ0bmVyRG9jdW1lbnR9J2BcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUGFydG5lcmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRJbnZvaWNlID0gdGhpcy5jcmVhdGVEb2N1bWVudEludm9pY2UoY29udGVudHMpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5lbWl0KGRvY3VtZW50SW52b2ljZSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZXNldCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZURvY3VtZW50SW52b2ljZShwYXJ0bmVyczogYW55KTogRG9jdW1lbnQge1xuICAgICAgICBjb25zdCBkb2N1bWVudEludm9pY2U6IERvY3VtZW50ID0ge1xuICAgICAgICAgICAgaW52b2ljZUtleTogdGhpcy5mb3JtR3JvdXAuZ2V0KCdrZXknKS52YWx1ZSxcbiAgICAgICAgICAgIGludm9pY2VOdW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZU51bWJlcicpLnZhbHVlLFxuICAgICAgICAgICAgaW52b2ljZVNlcmlhbE51bWJlcjogdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlU2VyaWUnKS52YWx1ZSxcbiAgICAgICAgICAgIHBhcnRuZXJEb2N1bWVudDogdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyRG9jdW1lbnQnKS52YWx1ZSxcbiAgICAgICAgICAgIHBhcnRuZXJOYW1lOiBudWxsLFxuICAgICAgICAgICAgdHlwZTogbnVsbCxcbiAgICAgICAgICAgIGtleTogbnVsbCxcbiAgICAgICAgICAgIHNjaGVkdWxpbmdJZDogbnVsbFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChwYXJ0bmVycy50b3RhbEVsZW1lbnRzID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcGFydG5lciA9IHBhcnRuZXJzLmNvbnRlbnRzWzBdO1xuICAgICAgICAgICAgZG9jdW1lbnRJbnZvaWNlLnBhcnRuZXJOYW1lID0gcGFydG5lci5kZXNjcmljYW87XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZG9jdW1lbnRJbnZvaWNlO1xuICAgIH1cbiAgICBwcml2YXRlIHZhbGlkYXRlS2V5RGV0YWlscyhuZjogc3RyaW5nKSB7XG4gICAgICAgIGlmICghbmYpIHtcbiAgICAgICAgICAgIHRoaXMua2V5RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzT2ZLZXkodW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZkxlbmd0aCA9IDQ0O1xuICAgICAgICBpZiAobmYubGVuZ3RoID09PSBuZkxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5rZXlFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5leHRyYWN0S2V5RGV0YWlscyhuZik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmtleUVycm9yTWVzc2FnZSA9IFwieW1zLmludC53bXNfZXJyb3Jfa2V5X21lc3NhZ2VcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXh0cmFjdEtleURldGFpbHMobmY6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzdGFydENucGogPSA2O1xuICAgICAgICBjb25zdCBlbmRDbnBqID0gMjA7XG4gICAgICAgIGNvbnN0IGNucGogPSBuZi5zdWJzdHJpbmcoc3RhcnRDbnBqLCBlbmRDbnBqKTtcblxuICAgICAgICBjb25zdCBzdGFydFNlcmllID0gMjI7XG4gICAgICAgIGNvbnN0IGVuZFNlcmllID0gMjU7XG4gICAgICAgIGNvbnN0IHNlcmllID0gbmYuc3Vic3RyaW5nKHN0YXJ0U2VyaWUsIGVuZFNlcmllKTtcblxuICAgICAgICBjb25zdCBzdGFydEludm9pY2UgPSAyNTtcbiAgICAgICAgY29uc3QgZW5kSW52b2ljZSA9IDM0O1xuICAgICAgICBjb25zdCBpbnZvaWNlID0gbmYuc3Vic3RyaW5nKHN0YXJ0SW52b2ljZSwgZW5kSW52b2ljZSk7XG5cbiAgICAgICAgdGhpcy5zZXRWYWx1ZXNPZktleShpbnZvaWNlLCBzZXJpZSwgY25waik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZXNPZktleShpbnZvaWNlTnVtYmVyOiBzdHJpbmcsIGludm9pY2VTZXJpZTogc3RyaW5nLCBwYXJ0bmVyRG9jdW1lbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VOdW1iZXInKS5zZXRWYWx1ZShpbnZvaWNlTnVtYmVyKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlU2VyaWUnKS5zZXRWYWx1ZShpbnZvaWNlU2VyaWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ3BhcnRuZXJEb2N1bWVudCcpLnNldFZhbHVlKHBhcnRuZXJEb2N1bWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cblxuICAgIG9uRGlhbG9nU2hvdygpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICB9XG59Il19
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWtleS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3dtcy9jb21wb25lbnRzL2RvY3VtZW50LWdyaWQvaW5zZXJ0LWtleS9pbnNlcnQta2V5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFcEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBUTVFLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBbUIzQixZQUNxQixXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxLQUEwQixFQUMxQixtQkFBd0MsRUFDeEMsU0FBMkIsRUFDM0IscUJBQTRD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N0IsZ0JBQWdCO1FBQ0oscUJBQXFCO0dBekJ4RCxrQkFBa0IsQ0FrTzlCO1NBbE9ZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXRpbHNNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy91dGlscy1tZXNzYWdlXCI7XG5pbXBvcnQgeyBXbXNTeXN0ZW0gfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy93bXMtc3lzdGVtL3dtcy1zeXN0ZW0nO1xuaW1wb3J0IHsgRG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbmREb2N1bWVudHNJbnB1dCB9IGZyb20gJy4vLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZmluZC1kb2N1bWVudHMtaW5wdXQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBFeHRlcm5hbFRlbmFudFNlcnZpY2UgfSBmcm9tIFwiLi8uLi8uLi8uLi9lbnRpdGllcy9leHRlcm5hbC10ZW5hbnQvZXh0ZXJuYWwtdGVuYW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSBcIi4vLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnRcIjtcbmltcG9ydCB7IEludm9pY2VDb25kaXRpb24gfSBmcm9tIFwiLi8uLi8uLi8uLi9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuaW1wb3J0IHsgQWdlbmRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJwLXNlbmlvci9jb3JlL2VudGl0aWVzL2FnZW5kYS9hZ2VuZGEnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcImluc2VydC1rZXlcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2luc2VydC1rZXkuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFsnLi9pbnNlcnQta2V5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5zZXJ0S2V5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBcbiAgICBASW5wdXQoKSBhZ2VuZGE6IEFnZW5kYTtcbiAgICBASW5wdXQoKSB3bXNTeXN0ZW06IFdtc1N5c3RlbTtcbiAgICBASW5wdXQoKSB2aXNpYmxlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGRvY3VtZW50OiBFdmVudEVtaXR0ZXI8RG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGtleTogc3RyaW5nO1xuICAgIHB1YmxpYyBrZXlFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgcHVibGljIGlzUGFydG5lcmxvYWRpbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIHBsYW50YTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHV0aWxzOiBVdGlsc01lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGV4dGVybmFsVGVuYW50U2VydmljZTogRXh0ZXJuYWxUZW5hbnRTZXJ2aWNlLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFlhcmQoKTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAga2V5OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHB1cmNoYXNlT3JkZXI6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgaW52b2ljZU51bWJlcjogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlU2VyaWU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgcGFydG5lckRvY3VtZW50OiBbdW5kZWZpbmVkXVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2tleScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKG5mOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVLZXlEZXRhaWxzKG5mKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRZYXJkKCl7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldFBsYW50YSh0aGlzLmFnZW5kYS5wbGFudGEuaWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wbGFudGEgPSBjb250ZW50O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNXaXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTZW5pb3JDb25uZWN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1JfQ09OTkVDVDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkKCkge1xuICAgICAgICB0aGlzLnNlYXJjaEtleSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VhcmNoS2V5KCkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgY29uc3Qga2V5OiBGaW5kRG9jdW1lbnRzSW5wdXQgPSB7XG4gICAgICAgICAgICBwdXJjaGFzZU9yZGVyOiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3B1cmNoYXNlT3JkZXInKS52YWx1ZSxcbiAgICAgICAgICAgIGRvY3VtZW50S2V5czogW3RoaXMuZm9ybUdyb3VwLmdldCgna2V5JykudmFsdWVdLFxuICAgICAgICAgICAgaW52b2ljZXM6IFt7XG4gICAgICAgICAgICAgICAgbnVtYmVyOiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VOdW1iZXInKS52YWx1ZSxcbiAgICAgICAgICAgICAgICBzZXJpYWxOdW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZVNlcmllJykudmFsdWUsXG4gICAgICAgICAgICAgICAgcGFydG5lckRvY3VtZW50OiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3BhcnRuZXJEb2N1bWVudCcpLnZhbHVlXG4gICAgICAgICAgICB9XSxcbiAgICAgICAgICAgIGxvZ2lzdGNVbml0TmFtZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc2l6ZTogMCxcbiAgICAgICAgICAgIG9mZnNldDogMFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmZpbmREb2N1bWVudHMoa2V5KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyLmVycm9yICYmIGVyci5lcnJvci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcImVycm9yXCIsIFwieW1zLmludC53bXNfZXJyb3Jfc2VhcmNoX2RvY3VtZW50X21lc3NhZ2VfaGVhZGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInltcy5pbnQud21zX2Vycm9yX3NlYXJjaF9kb2N1bWVudF9ub3RfZm91bmRfbWVzc2FnZV9jb250ZW50XCIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbHMudHJhbnNsYXRlTWVzc2FnZShcImVycm9yXCIsIFwieW1zLmludC53bXNfZXJyb3Jfc2VhcmNoX2RvY3VtZW50X21lc3NhZ2VfaGVhZGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInltcy5pbnQud21zX2Vycm9yX3Vua25vd25fc2VhcmNoX2RvY3VtZW50X21lc3NhZ2VfY29udGVudCBcIiArIGVyci5lcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1JbnZvaWNlRGlhbG9nKCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbnRlbnQgfHwgY29udGVudC50b3RhbEVsZW1lbnRzIDwgMSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcIndhcm5cIiwgXCJ5bXMuaW50Lndtc19pbnNlcnRfa2V5X3dhcm5pbmdfbWVzc2FnZV9oZWFkZXJcIiwgXCJ5bXMuaW50Lndtc19pbnNlcnRfa2V5X3dhcm5pbmdfbWVzc2FnZV9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IGNvbnRlbnQuY29udGVudHNbMF07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzV21zU2VuaW9yQ29ubmVjdCgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnBsYW50YS5jb2RpZ28pe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJ3YXJuXCIsIFwieW1zLmludC55YXJkX2NvZGVfbm90X2ZvdW5kX3dhcm5pbmdfaGVhZGVyXCIsIFwieW1zLmludC55YXJkX2NvZGVfbm90X2ZvdW5kX3dhcm5pbmdfZGVzY3JpcHRpb25cIik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5sb2dpc3RjVW5pdERvY3VtZW50ICE9PSB0aGlzLnBsYW50YS5jb2RpZ28pe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxzLm1lc3NhZ2UoXCJ3YXJuXCIsIFwieW1zLmludC5kb2N1bWVudF95YXJkX21pc21hdGNoX2FnZW5kYV93YXJuaW5nX2hlYWRlclwiLCBcInltcy5pbnQuZG9jdW1lbnRfeWFyZF9taXNtYXRjaF9hZ2VuZGFfd2FybmluZ19kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZG9jdW1lbnQuaW52b2ljZUtleSA9IHRoaXMuZm9ybUdyb3VwLmdldCgna2V5JykudmFsdWU7XG4gICAgICAgICAgICBkb2N1bWVudC5pbnZvaWNlQ29uZGl0aW9uID0gSW52b2ljZUNvbmRpdGlvbi5BVVRIT1JJWkVEO1xuXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50LmVtaXQoZG9jdW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbmZpcm1JbnZvaWNlRGlhbG9nKCkge1xuICAgICAgICBpZiAodGhpcy5pc1dtc1dpcygpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX21lc3NhZ2VfY29uZmlybV9pbnZvaWNlX2RpYWxvZ1wiKSxcbiAgICAgICAgICAgICAgICBhY2NlcHRMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5pbnQud21zX2FjY2VwdF9jb25maXJtX2ludm9pY2VfZGlhbG9nXCIpLFxuICAgICAgICAgICAgICAgIHJlamVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfcmVqZWN0X2NvbmZpcm1faW52b2ljZV9kaWFsb2dcIiksXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmludC53bXNfaGVhZGVyX2NvbnRlbnRfY29uZmlybV9pbnZvaWNlX2RpYWxvZ1wiKSxcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHRoaXMuYnVpbGRJbnZvaWNlKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZEludm9pY2UoKXtcbiAgICAgICAgdGhpcy5pc1BhcnRuZXJsb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBwYXJ0bmVyRG9jdW1lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ3BhcnRuZXJEb2N1bWVudCcpLnZhbHVlO1xuICAgICAgICB0aGlzLmV4dGVybmFsVGVuYW50U2VydmljZS5saXN0KHtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5OiBgY25waiBlcSAnJHtwYXJ0bmVyRG9jdW1lbnR9J2BcbiAgICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUGFydG5lcmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoY29udGVudHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG9jdW1lbnRJbnZvaWNlID0gdGhpcy5jcmVhdGVEb2N1bWVudEludm9pY2UoY29udGVudHMpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5lbWl0KGRvY3VtZW50SW52b2ljZSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZXNldCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZURvY3VtZW50SW52b2ljZShwYXJ0bmVyczogYW55KTogRG9jdW1lbnQge1xuICAgICAgICBjb25zdCBkb2N1bWVudEludm9pY2U6IERvY3VtZW50ID0ge1xuICAgICAgICAgICAgaW52b2ljZUtleTogdGhpcy5mb3JtR3JvdXAuZ2V0KCdrZXknKS52YWx1ZSxcbiAgICAgICAgICAgIGludm9pY2VOdW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZU51bWJlcicpLnZhbHVlLFxuICAgICAgICAgICAgaW52b2ljZVNlcmlhbE51bWJlcjogdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlU2VyaWUnKS52YWx1ZSxcbiAgICAgICAgICAgIHBhcnRuZXJEb2N1bWVudDogdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyRG9jdW1lbnQnKS52YWx1ZSxcbiAgICAgICAgICAgIHBhcnRuZXJOYW1lOiBudWxsLFxuICAgICAgICAgICAgdHlwZTogbnVsbCxcbiAgICAgICAgICAgIGtleTogbnVsbCxcbiAgICAgICAgICAgIHNjaGVkdWxpbmdJZDogbnVsbFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChwYXJ0bmVycy50b3RhbEVsZW1lbnRzID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcGFydG5lciA9IHBhcnRuZXJzLmNvbnRlbnRzWzBdO1xuICAgICAgICAgICAgZG9jdW1lbnRJbnZvaWNlLnBhcnRuZXJOYW1lID0gcGFydG5lci5kZXNjcmljYW87XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZG9jdW1lbnRJbnZvaWNlO1xuICAgIH1cbiAgICBwcml2YXRlIHZhbGlkYXRlS2V5RGV0YWlscyhuZjogc3RyaW5nKSB7XG4gICAgICAgIGlmICghbmYpIHtcbiAgICAgICAgICAgIHRoaXMua2V5RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzT2ZLZXkodW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZkxlbmd0aCA9IDQ0O1xuICAgICAgICBpZiAobmYubGVuZ3RoID09PSBuZkxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5rZXlFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5leHRyYWN0S2V5RGV0YWlscyhuZik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmtleUVycm9yTWVzc2FnZSA9IFwieW1zLmludC53bXNfZXJyb3Jfa2V5X21lc3NhZ2VcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXh0cmFjdEtleURldGFpbHMobmY6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzdGFydENucGogPSA2O1xuICAgICAgICBjb25zdCBlbmRDbnBqID0gMjA7XG4gICAgICAgIGNvbnN0IGNucGogPSBuZi5zdWJzdHJpbmcoc3RhcnRDbnBqLCBlbmRDbnBqKTtcblxuICAgICAgICBjb25zdCBzdGFydFNlcmllID0gMjI7XG4gICAgICAgIGNvbnN0IGVuZFNlcmllID0gMjU7XG4gICAgICAgIGNvbnN0IHNlcmllID0gbmYuc3Vic3RyaW5nKHN0YXJ0U2VyaWUsIGVuZFNlcmllKTtcblxuICAgICAgICBjb25zdCBzdGFydEludm9pY2UgPSAyNTtcbiAgICAgICAgY29uc3QgZW5kSW52b2ljZSA9IDM0O1xuICAgICAgICBjb25zdCBpbnZvaWNlID0gbmYuc3Vic3RyaW5nKHN0YXJ0SW52b2ljZSwgZW5kSW52b2ljZSk7XG5cbiAgICAgICAgdGhpcy5zZXRWYWx1ZXNPZktleShpbnZvaWNlLCBzZXJpZSwgY25waik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZXNPZktleShpbnZvaWNlTnVtYmVyOiBzdHJpbmcsIGludm9pY2VTZXJpZTogc3RyaW5nLCBwYXJ0bmVyRG9jdW1lbnQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VOdW1iZXInKS5zZXRWYWx1ZShpbnZvaWNlTnVtYmVyKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlU2VyaWUnKS5zZXRWYWx1ZShpbnZvaWNlU2VyaWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ3BhcnRuZXJEb2N1bWVudCcpLnNldFZhbHVlKHBhcnRuZXJEb2N1bWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cblxuICAgIG9uRGlhbG9nU2hvdygpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICB9XG59Il19
|
package/esm2015/src/wms/components/document-grid/register-document/register-document.component.js
CHANGED
|
@@ -6,10 +6,16 @@ import { Document } from '../../../entities/document/document';
|
|
|
6
6
|
import { WmsSystem } from "../../../entities/wms-system/wms-system";
|
|
7
7
|
import { TranslateService } from "@ngx-translate/core";
|
|
8
8
|
import { getInvoiceConditions } from "../../utils/invoice-conditions";
|
|
9
|
+
import { UtilsMessageService } from "../../../../utils/utils-message";
|
|
10
|
+
import { DocumentService } from './../../../entities/document/document.service';
|
|
11
|
+
import { throwError } from "rxjs";
|
|
12
|
+
import { catchError } from 'rxjs/operators';
|
|
9
13
|
let RegisterDocumentComponent = class RegisterDocumentComponent {
|
|
10
|
-
constructor(fb, translate) {
|
|
14
|
+
constructor(fb, translate, utils, documentService) {
|
|
11
15
|
this.fb = fb;
|
|
12
16
|
this.translate = translate;
|
|
17
|
+
this.utils = utils;
|
|
18
|
+
this.documentService = documentService;
|
|
13
19
|
this.document = new EventEmitter();
|
|
14
20
|
this.visible = new EventEmitter();
|
|
15
21
|
this.visibleChange = new EventEmitter();
|
|
@@ -17,12 +23,22 @@ let RegisterDocumentComponent = class RegisterDocumentComponent {
|
|
|
17
23
|
this.invoiceCondition = getInvoiceConditions(this.translate);
|
|
18
24
|
}
|
|
19
25
|
ngOnInit() {
|
|
26
|
+
this.getYard();
|
|
20
27
|
this.getFormGroup();
|
|
21
28
|
this.watchFormChanges();
|
|
22
29
|
}
|
|
23
30
|
ngOnChanges() {
|
|
24
31
|
this.visibilityConfig();
|
|
25
32
|
}
|
|
33
|
+
getYard() {
|
|
34
|
+
this.documentService.getPlanta(this.agenda.planta.id)
|
|
35
|
+
.pipe(catchError(err => {
|
|
36
|
+
return throwError(err);
|
|
37
|
+
}))
|
|
38
|
+
.subscribe((content) => {
|
|
39
|
+
this.planta = content;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
26
42
|
visibilityConfig() {
|
|
27
43
|
if (!this.edit && this.visible) {
|
|
28
44
|
this.formGroup.disable();
|
|
@@ -73,6 +89,17 @@ let RegisterDocumentComponent = class RegisterDocumentComponent {
|
|
|
73
89
|
});
|
|
74
90
|
}
|
|
75
91
|
save() {
|
|
92
|
+
if (this.isWmsSeniorConnect()) {
|
|
93
|
+
if (!this.planta.codigo) {
|
|
94
|
+
this.utils.message("warn", "yms.int.yard_code_not_found_warning_header", "yms.int.yard_code_not_found_warning_description");
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const logistcUnitDocument = this.formGroup.get("logistcUnitDocument").value;
|
|
98
|
+
if (logistcUnitDocument !== this.planta.codigo) {
|
|
99
|
+
this.utils.message("warn", "yms.int.document_yard_mismatch_agenda_warning_header", "yms.int.document_yard_mismatch_agenda_warning_description");
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
76
103
|
this.document.emit(Document.fromDto(this.formGroup.getRawValue()));
|
|
77
104
|
this.formGroup.reset();
|
|
78
105
|
}
|
|
@@ -130,7 +157,9 @@ RegisterDocumentComponent = tslib_1.__decorate([
|
|
|
130
157
|
template: "<s-sidebar\n [visible]=\"visible\"\n header=\"{{ 'yms.int.wms_register_document_add_document' | translate }} {{ wmsSystem }}\"\n (visibleChange)=\"close()\"\n (onclose)=\"close()\">\n <form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-6\" *ngIf=\"isWmsSeniorConnect()\">\n <label for=\"key\">{{'yms.int.wms_purchaseOrder' | translate}}</label>\n <input id=\"key\" pInputText type=\"text\" formControlName=\"key\">\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect() && !isWmsWis()\">\n <label for=\"invoiceKey\">{{'yms.int.wms_register_document_invoice_key' | translate}}</label>\n <input id=\"invoiceKey\" pInputText type=\"text\" formControlName=\"invoiceKey\">\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect()\">\n <label for=\"invoiceNumber\">{{'yms.int.wms_register_document_invoice_number' | translate}}</label>\n <input id=\"invoiceNumber\" pInputText type=\"text\" formControlName=\"invoiceNumber\">\n </div>\n <div class=\"ui-g-6\" *ngIf=\"!isWmsSeniorConnect()\">\n <label for=\"invoiceSerialNumber\">\n {{'yms.int.wms_register_document_invoice_serial_number' | translate}}\n </label>\n <input id=\"invoiceSerialNumber\" pInputText type=\"text\" formControlName=\"invoiceSerialNumber\">\n </div>\n <div class=\"ui-g-8\">\n <label for=\"logistcUnitName\">{{'yms.int.wms_register_document_logistc_unit_name' | translate}}</label>\n <input id=\"logistcUnitName\" pInputText type=\"text\" formControlName=\"logistcUnitName\">\n </div>\n <div class=\"ui-g-4\">\n <label for=\"logistcUnitDocument\">\n {{'yms.int.wms_register_document_logistc_unit_document' | translate}}\n </label>\n <input id=\"logistcUnitDocument\" pInputText type=\"text\" formControlName=\"logistcUnitDocument\">\n </div>\n <div class=\"ui-g-8\" *ngIf=\"!isWmsSeniorConnect() && !isWmsWis()\">\n <label for=\"documentOwnerName\">{{'yms.int.wms_register_document_owner_name' | translate}}</label>\n <input id=\"documentOwnerName\" pInputText type=\"text\" formControlName=\"ownerName\">\n </div>\n <div class=\"ui-g-4\" *ngIf=\"!isWmsSeniorConnect() && !isWmsWis()\">\n <label for=\"ownerDocument\">{{'yms.int.wms_register_document_owner_document' | translate}}</label>\n <input id=\"ownerDocument\" pInputText type=\"text\" formControlName=\"ownerDocument\">\n </div>\n <div class=\"ui-g-8\">\n <label for=\"partnerName\">{{'yms.int.wms_register_document_partner_name' | translate}}</label>\n <input id=\"partnerName\" pInputText type=\"text\" formControlName=\"partnerName\">\n </div>\n <div class=\"ui-g-4\">\n <label for=\"partnerDocument\">{{'yms.int.wms_register_document_partner_document' | translate}}</label>\n <input id=\"partnerDocument\" pInputText type=\"text\" formControlName=\"partnerDocument\">\n </div>\n <div class=\"ui-g-12\">\n <label for=\"notes\" id=\"notes\">{{'yms.int.wms_register_document_notes' | translate}}</label>\n <textarea id=\"notes\" rows=\"4\" pInputTextarea autoResize=\"autoResize\" formControlName=\"notes\"></textarea>\n </div>\n <div class=\"ui-g-4\" *ngIf=\"isWmsSenior() || isWmsWis()\">\n <label for=\"code\">\n {{'yms.int.wms_register_document_order_receiving_code' | translate}}\n </label>\n <input id=\"code\" pInputText type=\"text\" formControlName=\"code\">\n </div>\n <div class=\"ui-g-4\" *ngIf=\"!isClienteExterno && isWmsWis()\">\n <label for=\"invoiceCondition\" id=\"invoiceCondition\">\n {{'yms.int.wms_grid_document_invoice_condition' | translate}}\n </label>\n <p-dropdown\n inputId=\"invoiceCondition\"\n name=\"invoiceCondition\"\n [autoWidth]=\"false\"\n [options]=\"invoiceCondition\"\n formControlName=\"invoiceCondition\"\n ></p-dropdown>\n </div>\n </div>\n </form>\n <div class=\"space-between\">\n <button\n pButton label=\"{{'save' | translate}}\"\n (click)=\"save()\"\n [attr.data-hidden]=\"hideSaveButton\"\n [disabled]=\"!isSaveFormValid\">\n </button>\n <button\n type=\"button\" class=\"ui-button-link\" pButton label=\"{{'cancel' | translate}}\" (click)=\"close()\">\n </button>\n </div>\n</s-sidebar>"
|
|
131
158
|
}),
|
|
132
159
|
tslib_1.__metadata("design:paramtypes", [FormBuilder,
|
|
133
|
-
TranslateService
|
|
160
|
+
TranslateService,
|
|
161
|
+
UtilsMessageService,
|
|
162
|
+
DocumentService])
|
|
134
163
|
], RegisterDocumentComponent);
|
|
135
164
|
export { RegisterDocumentComponent };
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy93bXMvY29tcG9uZW50cy9kb2N1bWVudC1ncmlkL3JlZ2lzdGVyLWRvY3VtZW50L3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt0RSxJQUFhLHlCQUF5QixHQUF0QyxNQUFhLHlCQUF5QjtJQWdCbEMsWUFDcUIsRUFBZSxFQUNmLFNBQTJCO1FBRDNCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQVp0QyxhQUFRLEdBQTJCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkQsWUFBTyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUl0QyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixxQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFLNUQsQ0FBQztJQUVKLFFBQVE7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QUFjLENBQUM7SUFDdkQsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBO0FBekdZO0lBQVIsS0FBSyxFQUFFOzsrREFBMEI7QUFDekI7SUFBUixLQUFLLEVBQUU7O3VEQUFlO0FBQ2Q7SUFBUixLQUFLLEVBQUU7c0NBQVMsTUFBTTt5REFBQztBQUNmO0lBQVIsS0FBSyxFQUFFOzttRUFBMkI7QUFDekI7SUFBVCxNQUFNLEVBQUU7c0NBQVcsWUFBWTsyREFBZ0M7QUFDdkQ7SUFBUixLQUFLLEVBQUU7OzREQUFzQjtBQUNyQjtJQUFSLEtBQUssRUFBRTtzQ0FBVSxZQUFZOzBEQUErQjtBQUNuRDtJQUFULE1BQU0sRUFBRTs7Z0VBQW9DO0FBVHBDLHlCQUF5QjtJQUpyQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLDA4SkFBaUQ7S0FDcEQsQ0FBQzs2Q0FrQjJCLFdBQVc7UUFDSixnQkFBZ0I7R0FsQnZDLHlCQUF5QixDQTJHckM7U0EzR1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEFnZW5kYSB9IGZyb20gJy4uLy4uLy4uLy4uL2VycC1zZW5pb3IvY29yZS9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhJztcbmltcG9ydCB7IERvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvZG9jdW1lbnQvZG9jdW1lbnQnO1xuaW1wb3J0IHsgV21zU3lzdGVtIH0gZnJvbSBcIi4uLy4uLy4uL2VudGl0aWVzL3dtcy1zeXN0ZW0vd21zLXN5c3RlbVwiO1xuaW1wb3J0IHsgSW52b2ljZUNvbmRpdGlvbiB9IGZyb20gXCIuLi8uLi8uLi9lbnRpdGllcy9pbnZvaWNlLWNvbmRpdGlvbi9pbnZvaWNlLWNvbmRpdGlvblwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBnZXRJbnZvaWNlQ29uZGl0aW9ucyB9IGZyb20gXCIuLi8uLi91dGlscy9pbnZvaWNlLWNvbmRpdGlvbnNcIjtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInJlZ2lzdGVyLWRvY3VtZW50XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9yZWdpc3Rlci1kb2N1bWVudC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckRvY3VtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgdmlld0RvY3VtZW50OiBEb2N1bWVudFtdO1xuICAgIEBJbnB1dCgpIGVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWdlbmRhOiBBZ2VuZGE7XG4gICAgQElucHV0KCkgaXNDbGllbnRlRXh0ZXJubzogYm9vbGVhbjtcbiAgICBAT3V0cHV0KCkgZG9jdW1lbnQ6IEV2ZW50RW1pdHRlcjxEb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KCkgd21zU3lzdGVtOiBXbXNTeXN0ZW07XG4gICAgQElucHV0KCkgdmlzaWJsZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBoaWRlU2F2ZUJ1dHRvbjogYm9vbGVhbjtcbiAgICBwdWJsaWMgaXNTYXZlRm9ybVZhbGlkID0gZmFsc2U7XG4gICAgcHVibGljIGludm9pY2VDb25kaXRpb24gPSBnZXRJbnZvaWNlQ29uZGl0aW9ucyh0aGlzLnRyYW5zbGF0ZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0Rm9ybUdyb3VwKCk7XG4gICAgICAgIHRoaXMud2F0Y2hGb3JtQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpc2liaWxpdHlDb25maWcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmlzaWJpbGl0eUNvbmZpZygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXQgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlc0Zvcm1Hcm91cCh0aGlzLnZpZXdEb2N1bWVudFswXSk7XG4gICAgICAgICAgICB0aGlzLmhpZGVTYXZlQnV0dG9uID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXAgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZW5hYmxlKCk7XG4gICAgICAgICAgICB0aGlzLmhpZGVTYXZlQnV0dG9uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZhbHVlc0Zvcm1Hcm91cChkb2N1bWVudDogRG9jdW1lbnQpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdrZXknKS5zZXRWYWx1ZShkb2N1bWVudC5rZXkpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VLZXknKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlS2V5KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlTnVtYmVyJykuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZU51bWJlcik7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZVNlcmlhbE51bWJlcicpLnNldFZhbHVlKGRvY3VtZW50Lmludm9pY2VTZXJpYWxOdW1iZXIpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2xvZ2lzdGNVbml0RG9jdW1lbnQnKS5zZXRWYWx1ZShkb2N1bWVudC5sb2dpc3RjVW5pdERvY3VtZW50KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdsb2dpc3RjVW5pdE5hbWUnKS5zZXRWYWx1ZShkb2N1bWVudC5sb2dpc3RjVW5pdE5hbWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ25vdGVzJykuc2V0VmFsdWUoZG9jdW1lbnQubm90ZXMpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NvZGUnKS5zZXRWYWx1ZShkb2N1bWVudC5jb2RlKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyTmFtZScpLnNldFZhbHVlKGRvY3VtZW50LnBhcnRuZXJOYW1lKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXJ0bmVyRG9jdW1lbnQnKS5zZXRWYWx1ZShkb2N1bWVudC5wYXJ0bmVyRG9jdW1lbnQpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ293bmVyRG9jdW1lbnQnKS5zZXRWYWx1ZShkb2N1bWVudC5vd25lckRvY3VtZW50KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdvd25lck5hbWUnKS5zZXRWYWx1ZShkb2N1bWVudC5vd25lck5hbWUpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VDb25kaXRpb24nKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlQ29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1Hcm91cCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIGtleTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICAgICBpbnZvaWNlS2V5OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHNjaGVkdWxpbmdJZDogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlTnVtYmVyOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGludm9pY2VTZXJpYWxOdW1iZXI6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgbG9naXN0Y1VuaXROYW1lOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGxvZ2lzdGNVbml0RG9jdW1lbnQ6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgb3duZXJOYW1lOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIG93bmVyRG9jdW1lbnQ6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgcGFydG5lck5hbWU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgcGFydG5lckRvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIG5vdGVzOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGNvZGU6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgaW52b2ljZUNvbmRpdGlvbjogW3VuZGVmaW5lZF0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKCkge1xuICAgICAgICB0aGlzLmRvY3VtZW50LmVtaXQoRG9jdW1lbnQuZnJvbUR0byh0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpKSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zV2lzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5XSVM7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1I7XG4gICAgfVxuXG4gICAgcHVibGljIGlzV21zU2VuaW9yQ29ubmVjdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud21zU3lzdGVtID09PSBXbXNTeXN0ZW0uU0VOSU9SX0NPTk5FQ1Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YXRjaEZvcm1DaGFuZ2VzKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuaXNTYXZlRm9ybVZhbGlkID0gZm9ybVZhbHVlcy5zb21lKHZhbHVlID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZG9jdW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy93bXMvY29tcG9uZW50cy9kb2N1bWVudC1ncmlkL3JlZ2lzdGVyLWRvY3VtZW50L3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLNUMsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFrQmxDLFlBQ3FCLEVBQWUsRUFDZixTQUEyQixFQUMzQixLQUEwQixFQUMxQixlQUFnQztRQUhoQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsVUFBSyxHQUFMLEtB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TSxDQUFDO0lBQy9DLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxjQUFjLENBQUM7SUFDdkQsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSixDQUFBO0FBeElZO0lBQVIsS0FBSyxFQUFFOzsrREFBMEI7QUFDekI7SUFBUixLQUFLLEVBQUU7O3VEQUFlO0FBQ2Q7SUFBUixLQUFLLEVBQUU7c0NBQVMsTUFBTTt5REFBQztBQUNmO0lBQVIsS0FBSyxFQUFFOzttRUFBMkI7QUFDekI7SUFBVCxNQUFNLEVBQUU7c0NBQVcsWUFBWTsyREFBZ0M7QUFDdkQ7SUFBUixLQUFLLEVBQUU7OzREQUFzQjtBQUNyQjtJQUFSLEtBQUssRUFBRTtzQ0FBVSxZQUFZOzBEQUErQjtBQUNuRDtJQUFULE1BQU0sRUFBRTs7Z0VBQW9DO0FBVHBDLHlCQUF5QjtJQUpyQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLDA4SkFBaUQ7S0FDcEQsQ0FBQzs2Q0FvQjJCLFdBQVc7UUFDSixnQkFBZ0I7UUFDcEIsbUJBQW1CO1FBQ1QsZUFBZTtHQXRCNUMseUJBQXlCLENBMElyQztTQTFJWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQWdlbmRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJwLXNlbmlvci9jb3JlL2VudGl0aWVzL2FnZW5kYS9hZ2VuZGEnO1xuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9kb2N1bWVudC9kb2N1bWVudCc7XG5pbXBvcnQgeyBXbXNTeXN0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vZW50aXRpZXMvd21zLXN5c3RlbS93bXMtc3lzdGVtXCI7XG5pbXBvcnQgeyBJbnZvaWNlQ29uZGl0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2VudGl0aWVzL2ludm9pY2UtY29uZGl0aW9uL2ludm9pY2UtY29uZGl0aW9uXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IGdldEludm9pY2VDb25kaXRpb25zIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2ludm9pY2UtY29uZGl0aW9uc1wiO1xuaW1wb3J0IHsgVXRpbHNNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlscy91dGlscy1tZXNzYWdlXCI7XG5pbXBvcnQgeyBEb2N1bWVudFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicmVnaXN0ZXItZG9jdW1lbnRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3JlZ2lzdGVyLWRvY3VtZW50LmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyRG9jdW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSB2aWV3RG9jdW1lbnQ6IERvY3VtZW50W107XG4gICAgQElucHV0KCkgZWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhZ2VuZGE6IEFnZW5kYTtcbiAgICBASW5wdXQoKSBpc0NsaWVudGVFeHRlcm5vOiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSBkb2N1bWVudDogRXZlbnRFbWl0dGVyPERvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBASW5wdXQoKSB3bXNTeXN0ZW06IFdtc1N5c3RlbTtcbiAgICBASW5wdXQoKSB2aXNpYmxlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGhpZGVTYXZlQnV0dG9uOiBib29sZWFuO1xuICAgIHB1YmxpYyBpc1NhdmVGb3JtVmFsaWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaW52b2ljZUNvbmRpdGlvbiA9IGdldEludm9pY2VDb25kaXRpb25zKHRoaXMudHJhbnNsYXRlKTtcblxuICAgIHByaXZhdGUgcGxhbnRhOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHV0aWxzOiBVdGlsc01lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFlhcmQoKTtcbiAgICAgICAgdGhpcy5nZXRGb3JtR3JvdXAoKTtcbiAgICAgICAgdGhpcy53YXRjaEZvcm1DaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlzaWJpbGl0eUNvbmZpZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0WWFyZCgpe1xuICAgICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRQbGFudGEodGhpcy5hZ2VuZGEucGxhbnRhLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChjb250ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMucGxhbnRhID0gY29udGVudDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHZpc2liaWxpdHlDb25maWcoKSB7XG4gICAgICAgIGlmICghdGhpcy5lZGl0ICYmIHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZGlzYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JtR3JvdXAodGhpcy52aWV3RG9jdW1lbnRbMF0pO1xuICAgICAgICAgICAgdGhpcy5oaWRlU2F2ZUJ1dHRvbiA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmVuYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5oaWRlU2F2ZUJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZXNldCgpO1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZXNGb3JtR3JvdXAoZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgna2V5Jykuc2V0VmFsdWUoZG9jdW1lbnQua2V5KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlS2V5Jykuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZUtleSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnaW52b2ljZU51bWJlcicpLnNldFZhbHVlKGRvY3VtZW50Lmludm9pY2VOdW1iZXIpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2ludm9pY2VTZXJpYWxOdW1iZXInKS5zZXRWYWx1ZShkb2N1bWVudC5pbnZvaWNlU2VyaWFsTnVtYmVyKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdsb2dpc3RjVW5pdERvY3VtZW50Jykuc2V0VmFsdWUoZG9jdW1lbnQubG9naXN0Y1VuaXREb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnbG9naXN0Y1VuaXROYW1lJykuc2V0VmFsdWUoZG9jdW1lbnQubG9naXN0Y1VuaXROYW1lKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdub3RlcycpLnNldFZhbHVlKGRvY3VtZW50Lm5vdGVzKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjb2RlJykuc2V0VmFsdWUoZG9jdW1lbnQuY29kZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgncGFydG5lck5hbWUnKS5zZXRWYWx1ZShkb2N1bWVudC5wYXJ0bmVyTmFtZSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgncGFydG5lckRvY3VtZW50Jykuc2V0VmFsdWUoZG9jdW1lbnQucGFydG5lckRvY3VtZW50KTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdvd25lckRvY3VtZW50Jykuc2V0VmFsdWUoZG9jdW1lbnQub3duZXJEb2N1bWVudCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnb3duZXJOYW1lJykuc2V0VmFsdWUoZG9jdW1lbnQub3duZXJOYW1lKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnZvaWNlQ29uZGl0aW9uJykuc2V0VmFsdWUoZG9jdW1lbnQuaW52b2ljZUNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtR3JvdXAoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBrZXk6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgaW52b2ljZUtleTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBzY2hlZHVsaW5nSWQ6IFt1bmRlZmluZWRdLFxuICAgICAgICAgICAgaW52b2ljZU51bWJlcjogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBpbnZvaWNlU2VyaWFsTnVtYmVyOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGxvZ2lzdGNVbml0TmFtZTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBsb2dpc3RjVW5pdERvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIG93bmVyTmFtZTogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBvd25lckRvY3VtZW50OiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHBhcnRuZXJOYW1lOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIHBhcnRuZXJEb2N1bWVudDogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBub3RlczogW3VuZGVmaW5lZF0sXG4gICAgICAgICAgICBjb2RlOiBbdW5kZWZpbmVkXSxcbiAgICAgICAgICAgIGludm9pY2VDb25kaXRpb246IFt1bmRlZmluZWRdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLmlzV21zU2VuaW9yQ29ubmVjdCgpKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucGxhbnRhLmNvZGlnbyl7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlscy5tZXNzYWdlKFwid2FyblwiLCBcInltcy5pbnQueWFyZF9jb2RlX25vdF9mb3VuZF93YXJuaW5nX2hlYWRlclwiLCBcInltcy5pbnQueWFyZF9jb2RlX25vdF9mb3VuZF93YXJuaW5nX2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgY29uc3QgbG9naXN0Y1VuaXREb2N1bWVudD0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwibG9naXN0Y1VuaXREb2N1bWVudFwiKS52YWx1ZTtcbiAgICAgICAgICAgIGlmIChsb2dpc3RjVW5pdERvY3VtZW50ICE9PSB0aGlzLnBsYW50YS5jb2RpZ28pe1xuICAgICAgICAgICAgICAgIHRoaXMudXRpbHMubWVzc2FnZShcIndhcm5cIiwgXCJ5bXMuaW50LmRvY3VtZW50X3lhcmRfbWlzbWF0Y2hfYWdlbmRhX3dhcm5pbmdfaGVhZGVyXCIsIFwieW1zLmludC5kb2N1bWVudF95YXJkX21pc21hdGNoX2FnZW5kYV93YXJuaW5nX2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZW1pdChEb2N1bWVudC5mcm9tRHRvKHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNXaXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLldJUztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTZW5pb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLndtc1N5c3RlbSA9PT0gV21zU3lzdGVtLlNFTklPUjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNXbXNTZW5pb3JDb25uZWN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53bXNTeXN0ZW0gPT09IFdtc1N5c3RlbS5TRU5JT1JfQ09OTkVDVDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdhdGNoRm9ybUNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlcyA9IE9iamVjdC52YWx1ZXModGhpcy5mb3JtR3JvdXAudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5pc1NhdmVGb3JtVmFsaWQgPSBmb3JtVmFsdWVzLnNvbWUodmFsdWUgPT4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09ICcnKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -15,10 +15,13 @@ let DocumentService = class DocumentService extends EntityService {
|
|
|
15
15
|
getSystemIntegration() {
|
|
16
16
|
return this.http.get('yms_int/wms/queries/getSystemIntegration');
|
|
17
17
|
}
|
|
18
|
+
getPlanta(plantaId) {
|
|
19
|
+
return this.http.get('yms/patio/entities/planta/' + plantaId);
|
|
20
|
+
}
|
|
18
21
|
};
|
|
19
22
|
DocumentService = tslib_1.__decorate([
|
|
20
23
|
Injectable(),
|
|
21
24
|
tslib_1.__metadata("design:paramtypes", [HttpClient, MessageService])
|
|
22
25
|
], DocumentService);
|
|
23
26
|
export { DocumentService };
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvd21zL2VudGl0aWVzL2RvY3VtZW50L2RvY3VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTdDLElBQWEsZUFBZSxHQUE1QixNQUFhLGVBQWdCLFNBQVEsYUFBMEI7SUFDM0QsWUFBc0IsSUFBZ0IsRUFBWSxjQUE4QjtRQUM1RSxLQUFLLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSwrQkFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUQvQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVksbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBRWhGLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBeUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sb0JBQW9CO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sU0FBUyxDQUFDLFFBQWdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNKLENBQUE7QUFoQlksZUFBZTtJQUQzQixVQUFVLEVBQUU7NkNBRW1CLFVBQVUsRUFBNEIsY0FBYztHQUR2RSxlQUFlLENBZ0IzQjtTQWhCWSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vc2FtLXNlbmlvci9jb3JlL2VudGl0eS1zZXJ2aWNlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvY3VtZW50RHRvIH0gZnJvbSAnLi9kb2N1bWVudC1kdG8nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRmluZERvY3VtZW50c0lucHV0IH0gZnJvbSAnLi9maW5kLWRvY3VtZW50cy1pbnB1dCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFNlcnZpY2UgZXh0ZW5kcyBFbnRpdHlTZXJ2aWNlPERvY3VtZW50RHRvPiB7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsIHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoaHR0cCwgbWVzc2FnZVNlcnZpY2UsICd5bXNfaW50L3dtcy9lbnRpdGllcy9kb2N1bWVudCcsICcnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmluZERvY3VtZW50cyhpbnB1dDogRmluZERvY3VtZW50c0lucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCgneW1zX2ludC93bXMvcXVlcmllcy9maW5kRG9jdW1lbnRzJywgaW5wdXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTeXN0ZW1JbnRlZ3JhdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoJ3ltc19pbnQvd21zL3F1ZXJpZXMvZ2V0U3lzdGVtSW50ZWdyYXRpb24nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGxhbnRhKHBsYW50YUlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoJ3ltcy9wYXRpby9lbnRpdGllcy9wbGFudGEvJyArIHBsYW50YUlkKTtcbiAgICB9XG59XG4iXX0=
|