@colijnit/transaction 12.1.226 → 254.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-transaction.umd.js +2708 -656
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +308 -295
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/colijnit-transaction.js +309 -296
- package/esm2015/lib/component/checkout/checkout.component.js +30 -1
- package/esm2015/lib/component/checkout-simple/checkout-simple-overview-delivery-edit/checkout-simple-overview-delivery-edit.component.js +213 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple-overview-payment/checkout-simple-overview-payment.component.js +105 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple-overview-relation-edit/checkout-simple-overview-relation-edit.component.js +256 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple.component.js +186 -0
- package/esm2015/lib/component/checkout-simple/checkout-simple.module.js +88 -0
- package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +11 -4
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-direct-sell.component.js +160 -9
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +12 -10
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.module.js +5 -3
- package/esm2015/lib/component/relation/relation-general/relation-general.component.js +28 -20
- package/esm2015/lib/component/service-wizard-qa/question-answer-item/question-answer-item.component.js +72 -0
- package/esm2015/lib/component/service-wizard-qa/question-answer-item/question-answer-item.module.js +23 -0
- package/esm2015/lib/component/service-wizard-qa/service-wizard-qa.component.js +38 -0
- package/esm2015/lib/component/service-wizard-qa/service-wizard-qa.module.js +25 -0
- package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.component.js +137 -0
- package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.module.js +38 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-create-service.component.js +134 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.js +18 -11
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-fields.component.js +41 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-wizard.component.js +40 -0
- package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.module.js +21 -5
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +16 -2
- package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.js +4 -2
- package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.js +1 -2
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons-popup.component.js +20 -9
- package/esm2015/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.js +10 -7
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +1 -1
- package/esm2015/lib/component/transaction-search/transaction-filter-content/cash-desk-filter-content/transaction-cash-desk-filter-content-article/transaction-cash-desk-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/cash-desk-filter-content/transaction-cash-desk-filter-content-logistics/transaction-cash-desk-filter-content-logistics.component.js +3 -3
- package/esm2015/lib/component/transaction-search/transaction-filter-content/cash-desk-filter-content/transaction-cash-desk-filter-content-order/transaction-cash-desk-filter-content-order.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-logistics/transaction-purchase-order-filter-content-logistics.component.js +3 -3
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +3 -3
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-article/transaction-sales-quotation-filter-content-article.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-logistics/transaction-sales-quotation-filter-content-logistics.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-order/transaction-sales-quotation-filter-content-order.component.js +2 -2
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +1 -1
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +32 -2
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.module.js +4 -3
- package/esm2015/lib/service/dialog.service.js +4 -3
- package/esm2015/lib/service/pending-reason.service.js +4 -4
- package/esm2015/lib/service/transaction-base.service.js +7 -3
- package/esm2015/lib/service/transaction-connector-adapter.service.js +165 -1
- package/esm2015/lib/service/transaction-connector.service.js +69 -1
- package/esm2015/lib/service/transaction-create.service.js +67 -0
- package/esm2015/lib/service/transaction-creation.service.js +3 -2
- package/esm2015/lib/service/transaction-event.service.js +3 -1
- package/esm2015/lib/service/transaction-relation-connector.service.js +22 -1
- package/esm2015/lib/service/transaction-relation.service.js +7 -1
- package/esm2015/lib/service/transaction.service.js +136 -11
- package/esm2015/lib/transaction-version.js +3 -3
- package/esm2015/public_api.js +3 -1
- package/fesm2015/colijnit-transaction.js +2409 -388
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/checkout/checkout.component.d.ts +9 -1
- package/lib/component/checkout-simple/checkout-simple-overview-delivery-edit/checkout-simple-overview-delivery-edit.component.d.ts +55 -0
- package/lib/component/checkout-simple/checkout-simple-overview-payment/checkout-simple-overview-payment.component.d.ts +22 -0
- package/lib/component/checkout-simple/checkout-simple-overview-relation-edit/checkout-simple-overview-relation-edit.component.d.ts +46 -0
- package/lib/component/checkout-simple/checkout-simple.component.d.ts +50 -0
- package/lib/component/checkout-simple/checkout-simple.module.d.ts +2 -0
- package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +1 -0
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-direct-sell.component.d.ts +26 -3
- package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +107 -1
- package/lib/component/relation/relation-general/relation-general.component.d.ts +3 -1
- package/lib/component/service-wizard-qa/question-answer-item/question-answer-item.component.d.ts +19 -0
- package/lib/component/service-wizard-qa/question-answer-item/question-answer-item.module.d.ts +2 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/_layout.scss +28 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/_material-definition.scss +24 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/_theme.scss +5 -0
- package/lib/component/service-wizard-qa/question-answer-item/style/material.scss +3 -0
- package/lib/component/service-wizard-qa/service-wizard-qa.component.d.ts +12 -0
- package/lib/component/service-wizard-qa/service-wizard-qa.module.d.ts +2 -0
- package/lib/component/transaction-create-wizard/transaction-create-wizard.component.d.ts +34 -0
- package/lib/component/transaction-create-wizard/transaction-create-wizard.module.d.ts +2 -0
- package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +32 -1
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-create-service.component.d.ts +30 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.d.ts +3 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-fields.component.d.ts +9 -0
- package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-service-wizard.component.d.ts +12 -0
- package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons-popup.component.d.ts +2 -0
- package/lib/component/transaction-line-action-buttons/transaction-line-action-buttons.component.d.ts +2 -2
- package/lib/component/transaction-service-overview/transaction-service-overview.component.d.ts +6 -0
- package/lib/service/dialog.service.d.ts +2 -1
- package/lib/service/transaction-base.service.d.ts +3 -1
- package/lib/service/transaction-connector-adapter.service.d.ts +22 -0
- package/lib/service/transaction-connector.service.d.ts +22 -0
- package/lib/service/transaction-create.service.d.ts +7 -0
- package/lib/service/transaction-event.service.d.ts +5 -0
- package/lib/service/transaction-relation-connector.service.d.ts +1 -0
- package/lib/service/transaction-relation.service.d.ts +1 -0
- package/lib/service/transaction.service.d.ts +25 -1
- package/package.json +13 -12
- package/public_api.d.ts +2 -0
|
@@ -109,7 +109,7 @@ export class TransactionInternalComponent {
|
|
|
109
109
|
}
|
|
110
110
|
}), this.transactionEventService.transactionLineDraggedOver.subscribe((lineNr) => {
|
|
111
111
|
this.lineDraggedOver = lineNr;
|
|
112
|
-
}), this._transactionEventService.openSidePanel.subscribe((line) => this.handleShowSidePanel(line)), this._transactionEventService.openArticleTextOverview.subscribe((line) => this.handleShowArticleTextOverview(line)), this._transactionEventService.addTransactionText.subscribe((line) => this.handleShowTransactionText(line)), this._transactionEventService.addArticleText.subscribe((line) => this.handleShowArticleText(line)), this._transactionEventService.editTransactionText.subscribe((line) => this.handleEditTransactionText(line)), this._transactionEventService.editArticleText.subscribe((line) => this.handleEditArticleText(line)), this._transactionEventService.historicReportLinesToShow
|
|
112
|
+
}), this._transactionEventService.openSidePanel.subscribe((line) => this.handleShowSidePanel(line)), this._transactionEventService.openArticleTextOverview.subscribe((line) => this.handleShowArticleTextOverview(line)), this._transactionEventService.addTransactionText.subscribe((line) => this.handleShowTransactionText(line)), this._transactionEventService.addArticleText.subscribe((line) => this.handleShowArticleText(line)), this._transactionEventService.editTransactionText.subscribe((line) => this.handleEditTransactionText(line)), this._transactionEventService.editArticleText.subscribe((line) => this.handleEditArticleText(line)), this._transactionEventService.createServiceButtonClicked.subscribe((lineNr) => this.handleCreateServiceRequest(lineNr)), this._transactionEventService.historicReportLinesToShow
|
|
113
113
|
.subscribe((lines) => this.historicTransactionLines = lines), this._transactionEventService.showError.subscribe((e) => this._dialogService.showError(e.message, e.localize, e.details)), this._transactionEventService.copyOrder.subscribe(() => this.showCopyOrderDialog = true));
|
|
114
114
|
this.screenWidth = window.innerWidth;
|
|
115
115
|
}
|
|
@@ -236,6 +236,20 @@ export class TransactionInternalComponent {
|
|
|
236
236
|
this._hideArticleTextOverviewDialog();
|
|
237
237
|
this.showArticleTextDialog();
|
|
238
238
|
}
|
|
239
|
+
handleCreateServiceRequest(lineNr) {
|
|
240
|
+
if (lineNr && this.transaction) { /*
|
|
241
|
+
let request:CreateServiceOrderWithSourceTransactionLineRequest = new CreateServiceOrderWithSourceTransactionLineRequest();
|
|
242
|
+
request.sourceLineNr = line.lineNr;
|
|
243
|
+
request.sourceTransId = this.transaction.transactionInfo.id;
|
|
244
|
+
request.customerRelationId = this.transaction.transactionInfo.relation.relationId;
|
|
245
|
+
request.branchNr = this.transaction.transactionInfo.branch.relationNr;*/
|
|
246
|
+
/*this._transactionConnectorService.createServiceOrderWithSourceTransactionLine(request).then((result: TransactionInfoResponse) => {
|
|
247
|
+
if(result) {*/
|
|
248
|
+
this._transactionEventService.requestCreateServiceOrderFromTransactionLine.next({ transaction: this.transaction, lineNr: lineNr });
|
|
249
|
+
/* }
|
|
250
|
+
});*/
|
|
251
|
+
}
|
|
252
|
+
}
|
|
239
253
|
closeArticleText() {
|
|
240
254
|
this._hideArticleTextDialog();
|
|
241
255
|
}
|
|
@@ -551,4 +565,4 @@ TransactionInternalComponent.propDecorators = {
|
|
|
551
565
|
showClass: [{ type: HostBinding, args: ['class.co-transaction-internal',] }],
|
|
552
566
|
onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
|
|
553
567
|
};
|
|
554
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taW50ZXJuYWwvdHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxlQUFlLEVBQUUsOENBQThDLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFFdkgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFJMUcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENB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Q3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7cUJBQzVEO2lCQUNBO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFyTU8sZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUVsQix1QkFBdUI7WUEzQjdCLGNBQWM7WUEwQlIsdUJBQXVCO1lBWXZCLDJCQUEyQjtZQVgzQix1QkFBdUI7WUFDdkIscUNBQXFDO1lBQ3JDLGFBQWE7WUFDYixvQkFBb0I7WUFTcEIsMkJBQTJCO1lBSzNCLHVCQUF1Qjs7O2tDQTRMNUIsWUFBWSxTQUFDLGlDQUFpQzt1QkFHOUMsS0FBSztxQ0FHTCxLQUFLOzJCQWNMLEtBQUs7MEJBR0wsS0FBSzt5QkFXTCxLQUFLO2tDQUdMLEtBQUs7NkJBR0wsTUFBTTs4QkFHTixXQUFXLFNBQUMseUJBQXlCLGNBQ3JDLEtBQUs7NEJBR0wsV0FBVyxTQUFDLHVCQUF1QixjQUNuQyxLQUFLO3dCQUdMLFdBQVcsU0FBQywrQkFBK0I7dUJBSzNDLFlBQVksU0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFwcGxpY2F0aW9uUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtDb250ZW50Vmlld01vZGUsIFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNmZ05hbWV9IGZyb20gJy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tY2ZnLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQ29tcG9uZW50fSBmcm9tICcuLi90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwvdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVsYXRpb25BbnlUeXBlfSBmcm9tICcuLi8uLi9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XHJcbmltcG9ydCB7Q3VzdG9tZXJGdWxsT2JqZWN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24taW5mby1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7U3RhdHVzQmFyQ2ZnTmFtZXN9IGZyb20gJy4uLy4uL2ludGVyZmFjZS9zdGF0dXMtYmFyLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEeW5hbWljQ29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xpbmVTZWxlY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2xpbmUtc2VsZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFyQnV0dG9ufSBmcm9tICcuLi8uLi9tb2RlbC90cmFuc2FjdGlvbi1iYXItYnV0dG9uJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWFkZC10ZXh0LWxpbmUtcmVxdWVzdC5ibyc7XHJcbmltcG9ydCB7T3JkZXJMaW5lU2V0RFRPfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZS1zZXQtZHRvJztcclxuaW1wb3J0IHtPcmRlckxpbmVTZXRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZS1zZXQtaW5mby5ibyc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25BZGRPcmRlckxpbmVTZXRUZXh0TGluZVJlcXVlc3RcclxufSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tYWRkLW9yZGVyLWxpbmUtc2V0LXRleHQtbGluZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge1B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wdXJjaGFzZS1jb25maXJtYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7aXNOaWxsfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9mdW5jdGlvbi9pcy1uaWxsLmZ1bmN0aW9uJztcclxuaW1wb3J0IHtQb3NPcmRlckRhdGF9IGZyb20gJy4uLy4uL21vZGVsL3Bvcy1vcmRlci1kYXRhJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25NYXJnaW5JbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbWFyZ2luLWluZm8uYm8nO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlfSBmcm9tICcuLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdNb2Rlc30gZnJvbSAnLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy1tb2Rlcy5lbnVtJztcclxuaW1wb3J0IHtQbGFuT3JkZXJ9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci5ib1wiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24taW50ZXJuYWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVkXCI+XHJcbiAgICAgIDxjby1jbGljay1ibG9jaz48L2NvLWNsaWNrLWJsb2NrPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyXHJcbiAgICAgICAgKm5nSWY9XCJzaG93SGVhZGVyXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgKHJlbGF0aW9uQ2hhbmdlKT1cImhhbmRsZVJlbGF0aW9uQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtaGVhZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzc1xyXG4gICAgICAgICAgKm5nSWY9XCJzaG93UXVpY2tBY2Nlc3NcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbVwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCJcclxuICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b24tYmFyXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dCdXR0b25CYXJcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbVwiXHJcbiAgICAgICAgICBbc2VsZWN0ZWRDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJoYW5kbGVCdXR0b25CYXJCdXR0b25DbGlja2VkKCRldmVudClcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWJ1dHRvbi1iYXI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbSByaWdodFwiPlxyXG4gICAgICAgICAgPGNvLWF2YXRhclxyXG4gICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLXNhbGVzLWF2YXRhclwiXHJcbiAgICAgICAgICAgIFtyZWxhdGlvbklkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oYW5kbGVkQnlcIlxyXG4gICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5IZWFkZXJIYW5kbGVkQnlcIlxyXG4gICAgICAgICAgICBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgPC9jby1hdmF0YXI+XHJcbiAgICAgICAgICA8Y28tYXZhdGFyXHJcbiAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tc2FsZXMtYXZhdGFyXCJcclxuICAgICAgICAgICAgW3JlbGF0aW9uSWRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmJyYW5jaD8ucmVsYXRpb25JZFwiXHJcbiAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlckJyYW5jaFwiXHJcbiAgICAgICAgICAgIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8L2NvLWF2YXRhcj5cclxuICAgICAgICAgIDxjby12aWV3LW1vZGUtYnV0dG9uc1xyXG4gICAgICAgICAgICAqbmdJZj1cIiFzaG91bGRTaG93VGlsZXMoKSAmJiBzaG93Vmlld01vZGVCdXR0b25zXCJcclxuICAgICAgICAgICAgW3Nob3dWaWV3TW9kZXNdPVwiW3ZpZXdNb2Rlcy5MaXN0LCB2aWV3TW9kZXMuVGlsZXNdXCJcclxuICAgICAgICAgICAgKHZpZXdNb2RlQ2hhbmdlKT1cImhhbmRsZVZpZXdNb2RlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgIDwvY28tdmlldy1tb2RlLWJ1dHRvbnM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDwhLS08Y28tdHJhbnNhY3Rpb24tZG9jdW1lbnQtYnV0dG9uLWJhciBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIj48L2NvLXRyYW5zYWN0aW9uLWRvY3VtZW50LWJ1dHRvbi1iYXI+LS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcnkuU2VydmljZU9yZGVyU2VydmljZVwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tc2VydmljZS1vdmVydmlldyBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIj48L2NvLXRyYW5zYWN0aW9uLXNlcnZpY2Utb3ZlcnZpZXc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi10aWxlcy13cmFwcGVyXCIgKm5nSWY9XCJhY3RpdmVWaWV3TW9kZSA9PT0gdmlld01vZGVzLlRpbGVzIHx8IHNob3VsZFNob3dUaWxlcygpXCI+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1jYXJkc1xyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImFjdGl2ZUNhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tY2FyZHM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy13cmFwcGVyXCJcclxuICAgICAgICAgICAgICAgKm5nSWY9XCIoYWN0aXZlVmlld01vZGUgPT09IHZpZXdNb2Rlcy5MaXN0ICYmICFzaG91bGRTaG93VGlsZXMoKSkgJiYgYWN0aXZlQ2F0ZWdvcnkgIT09IGNhdGVnb3J5LlNlcnZpY2VPcmRlclNlcnZpY2VcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmVzXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiYWN0aXZlQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgIChzYXZlVHJhbnNhY3Rpb25MaW5lKT1cInNhdmVUcmFuc2FjdGlvbkxpbmVUZXh0KCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1saW5lcz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1mb290ZXItbGVmdFwiPlxyXG4gICAgICAgICAgICAgIDxjby1hZGQtcHJvZHVjdFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5TYWxlc09yZGVyQ2FzaFJlZ2lzdGVyIHx8XHJcbiAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5TYWxlc09yZGVyT3ZlcnZpZXcgfHxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlB1cmNoYXNlT3JkZXJPdmVydmlldyB8fFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3JpZXMuU2FsZXNPcmRlclF1b3RhdGlvblwiPlxyXG4gICAgICAgICAgICAgIDwvY28tYWRkLXByb2R1Y3Q+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20td2lkdGggdGV4dC1ydWxlXCJcclxuICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVGV4dFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVHJhbnNhY3Rpb25UZXh0KClcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZm9vdGVyLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1tYXJnaW4gKm5nSWY9XCJhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5TYWxlc09yZGVyTWFyZ2luSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25NYXJnaW5JbmZvXT1cInRyYW5zYWN0aW9uTWFyZ2luSW5mb1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbWFyZ2luPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi10b3RhbHNcclxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ICE9PSBjYXRlZ29yeS5TZXJ2aWNlT3JkZXJTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVG90YWxdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25Ub3RhbFwiXHJcbiAgICAgICAgICAgICAgW3Nob3dEaXNjb3VudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tdG90YWxzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lcy1zaWRlLXBhbmVsXHJcbiAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgdHJhbnNhY3Rpb24gJiZcclxuICAgICAgICAgICgodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZCA9PT0gdHJhbnNhY3Rpb25LaW5kLkNhc2hEZXNrICYmICFmdWxseUludm9pY2VkKCkpIHx8XHJcbiAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc2FjdGlvbktpbmQuU2VydmljZU9yZGVyKVwiXHJcbiAgICAgICAgICBbY2xhc3MuaGlnaGVyLW1heC13aWR0aF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc2FjdGlvbktpbmQuU2VydmljZU9yZGVyXCJcclxuICAgICAgICAgIFtwb3NPcmRlckRhdGFdPVwicG9zT3JkZXJEYXRhXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tbGluZXMtc2lkZS1wYW5lbD5cclxuXHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbFxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93U2lkZVBhbmVsXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiYWN0aXZlQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgKGNhbmNlbENsaWNrKT1cInNob3dTaWRlUGFuZWwgPSBmYWxzZVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsPlxyXG5cclxuICAgICAgICA8IS0tUG9wdXAgdm9vciB3aWp6aWdlbiB2b2xnb3JkZSB2YW4gdGVrc3RyZWdlbHMtLT5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3XHJcbiAgICAgICAgICAqbmdJZj1cInNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3XCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQXJ0aWNsZVRleHRPdmVydmlldygpXCJcclxuICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjbG9zZUFydGljbGVUZXh0T3ZlcnZpZXcoKVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3PlxyXG5cclxuICAgICAgICA8IS0tUG9wdXAgdm9vciBhYW5tYWtlbiBlbiB1cGRhdGVuIHRyYW5zYWN0aWV0ZWtzdHJlZ2Vscy0tPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHRcclxuICAgICAgICAgICpuZ0lmPVwic2hvd1RyYW5zYWN0aW9uVGV4dFwiXHJcbiAgICAgICAgICBbaGVhZGVyXT1cIidPUkRFUl9URVhUX0xJTkUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICBbZWRpdFRleHRdPVwidGV4dFRvRWRpdFwiXHJcbiAgICAgICAgICBbb3JkZXJMaW5lU2V0RFRPXT1cInNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZVRyYW5zYWN0aW9uTGluZVRleHQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZVRyYW5zYWN0aW9uVGV4dCgpXCJcclxuICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjbG9zZVRyYW5zYWN0aW9uVGV4dCgpXCJcclxuICAgICAgICAgIChzYXZlT3JkZXJMaW5lU2V0Q2xpY2spPVwic2F2ZU9yZGVyTGluZVNldCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQ+XHJcblxyXG4gICAgICAgIDwhLS1Qb3B1cCB2b29yIGFhbm1ha2VuIGVuIHVwZGF0ZW4gYXJ0aWtlbHRla3N0cmVnZWxzLS0+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dFxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93QXJ0aWNsZVRleHRcIlxyXG4gICAgICAgICAgW2hlYWRlcl09XCInUFJPRFVDVF9ERVNDUklQVElPTl9BTkRfVEVYVFMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICBbc2hvd0FydGljbGVJbWFnZURlc2NyaXB0aW9uXT1cInRyYW5zYWN0aW9uTGluZS5hcnRpY2xlQm91bmRcIlxyXG4gICAgICAgICAgW3Nob3dJbWFnZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbYXJ0aWNsZUxpbmVOcl09XCJ0cmFuc2FjdGlvbkxpbmUubGluZU5yXCJcclxuICAgICAgICAgIFthcnRpY2xlUmVmXT1cInRyYW5zYWN0aW9uTGluZS5hcnRpY2xlTnVtYmVyXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIFtlZGl0VGV4dF09XCJ0ZXh0VG9FZGl0XCJcclxuICAgICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZUFydGljbGVMaW5lVGV4dCgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQXJ0aWNsZVRleHQoKVwiXHJcbiAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dCgpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQ+XHJcblxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1jb3B5LW9yZGVyXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dDb3B5T3JkZXJEaWFsb2dcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgIChjbG9zZURpYWxvZyk9XCJzaG93Q29weU9yZGVyRGlhbG9nID0gZmFsc2VcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWNvcHktb3JkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHJhbnNhY3Rpb25JbnRlcm5hbENvbXBvbmVudClcclxuICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkludGVybmFsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcmllczogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRlbGl2ZXJ5UGxhbm5pbmdNb2RlczogdHlwZW9mIERlbGl2ZXJ5UGxhbm5pbmdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdNb2RlcztcclxuICBwdWJsaWMgcmVhZG9ubHkgdmlld01vZGVzOiB0eXBlb2YgQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlO1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBjZmdOYW1lczogdHlwZW9mIFRyYW5zYWN0aW9uQ2ZnTmFtZSA9IFRyYW5zYWN0aW9uQ2ZnTmFtZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25LaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIHNjcmVlbldpZHRoOiBudW1iZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oVHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzaWRlUGFuZWxDb21wb25lbnRzOiBRdWVyeUxpc3Q8VHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQ29tcG9uZW50PjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNvbmZpcm1hdGlvbkFuYWx5c2lzSWQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fY29uZmlybWF0aW9uQW5hbHlzaXNJZCA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS5hY3RpdmVSdWJyaWMgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb247XHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb247XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybWF0aW9uQW5hbHlzaXNJZCA9IHRoaXMuX2NvbmZpcm1hdGlvbkFuYWx5c2lzSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNvbmZpcm1hdGlvbkFuYWx5c2lzSWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maXJtYXRpb25BbmFseXNpc0lkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcG9zT3JkZXJEYXRhOiBQb3NPcmRlckRhdGE7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0cmFuc2FjdGlvbih2YWx1ZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1ZpZXdNb2RlQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWxhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaG93LXF1aWNrLWFjY2VzcycpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1F1aWNrQWNjZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaG93LWJ1dHRvbi1iYXInKVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dCdXR0b25CYXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWludGVybmFsJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvblJlc2l6ZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNjcmVlbldpZHRoID0gZXZlbnQudGFyZ2V0LmlubmVyV2lkdGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWN0aXZlVmlld01vZGU6IENvbnRlbnRWaWV3TW9kZSA9IENvbnRlbnRWaWV3TW9kZS5MaXN0O1xyXG4gIHB1YmxpYyBhY3RpdmVDYXRlZ29yeTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIHNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbztcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG4gIHB1YmxpYyBzZWxlY3RlZE9yZGVyTGluZVNldERUTzogT3JkZXJMaW5lU2V0RFRPO1xyXG4gIHB1YmxpYyBzaG93U2lkZVBhbmVsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3VsZFNob3dTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0FydGljbGVUZXh0T3ZlcnZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1RyYW5zYWN0aW9uVGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0NvcHlPcmRlckRpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgdGV4dFRvRWRpdDogc3RyaW5nO1xyXG4gIHB1YmxpYyBoaXN0b3JpY1RyYW5zYWN0aW9uTGluZXM6IFRyYW5zYWN0aW9uTGluZUluZm9bXSB8IG51bGw7XHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTWFyZ2luSW5mbzogVHJhbnNhY3Rpb25NYXJnaW5JbmZvID0gbmV3IFRyYW5zYWN0aW9uTWFyZ2luSW5mbygpO1xyXG5cclxuICBwdWJsaWMgbGluZURyYWdnZWRPdmVyOiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBzdGF0dXNCYXJDb25maWdOYW1lczogU3RhdHVzQmFyQ2ZnTmFtZXMgPSB7XHJcbiAgICBzdGF0dXNCYXJCVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCVCxcclxuICAgIHN0YXR1c0JhclRHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclRHLFxyXG4gICAgc3RhdHVzQmFyUEE6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyUEEsXHJcbiAgICBzdGF0dXNCYXJQVjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQVixcclxuICAgIHN0YXR1c0JhclRQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclRQLFxyXG4gICAgc3RhdHVzQmFyR1Q6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR1QsXHJcbiAgICBzdGF0dXNCYXJHUDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHUCxcclxuICAgIHN0YXR1c0JhckdMOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdMLFxyXG4gICAgc3RhdHVzQmFyR0Y6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0YsXHJcbiAgICBzdGF0dXNCYXJJQjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJJQixcclxuICAgIHN0YXR1c0Jhck5UOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0Jhck5ULFxyXG4gICAgc3RhdHVzQmFyQk46IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyQk4sXHJcbiAgICBzdGF0dXNCYXJCRzogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCRyxcclxuICAgIHN0YXR1c0JhckZDOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckZDXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UgPSBuZXcgVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UoKTtcclxuICBwcml2YXRlIF9jb25maXJtYXRpb25BbmFseXNpc0lkOiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICBwcml2YXRlIF9keW5hbWljQ29tcG9uZW50U2VydmljZTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2U6IFRyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgX2xpbmVTZWxlY3Rpb25TZXJ2aWNlOiBMaW5lU2VsZWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZTogUHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnNlcnZpY2UudHJhbnNhY3Rpb25VcGRhdGVkLnN1YnNjcmliZSgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRyYW5zYWN0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZVRyYW5zYWN0aW9uTGluZSgpO1xyXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uPy50cmFuc2FjdGlvbkluZm8/LnV1aWQpIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRUcmFuc2FjdGlvbk1hcmdpbkluZm8odHJhbnNhY3Rpb24/LnRyYW5zYWN0aW9uSW5mbz8udXVpZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24/LnRyYW5zYWN0aW9uSW5mby5pZCAmJiB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSBUcmFuc2FjdGlvbktpbmQuU2FsZXNPcmRlcikge1xyXG4gICAgICAgICAgICB0aGlzLmdldFBsYW5PcmRlckZvclRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLnNlcnZpY2UucmVsYXRpb25VcGRhdGVkLnN1YnNjcmliZSgocmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSkgPT4ge1xyXG4gICAgICAgIGlmIChyZWxhdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5yZWxhdGlvbiA9IHJlbGF0aW9uO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2VydmljZS50cmFuc2FjdGlvbktpbmRTZXQuc3Vic2NyaWJlKChzZXQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoc2V0KSB7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5ID0gdGhpcy5jb25maXJtYXRpb25BbmFseXNpc0lkID8gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9uIDogdGhpcy5zZXJ2aWNlLmFjdGl2ZVJ1YnJpYztcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UuY29ubmVjdGlvbkluaXRpYWxpemVkLnN1YnNjcmliZSgoaW5pdGlhbGl6ZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAoaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLl9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybWF0aW9uTmVlZGVkLnN1YnNjcmliZSgobmVlZGVkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKG5lZWRlZCkge1xyXG4gICAgICAgICAgdGhpcy5zaG91bGRTaG93U2lkZVBhbmVsID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbCh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXNbMF0sIHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lRHJhZ2dlZE92ZXIuc3Vic2NyaWJlKChsaW5lTnIpID0+IHtcclxuICAgICAgICB0aGlzLmxpbmVEcmFnZ2VkT3ZlciA9IGxpbmVOcjtcclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5TaWRlUGFuZWwuc3Vic2NyaWJlKChsaW5lKSA9PiB0aGlzLmhhbmRsZVNob3dTaWRlUGFuZWwobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcGVuQXJ0aWNsZVRleHRPdmVydmlldy5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd0FydGljbGVUZXh0T3ZlcnZpZXcobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZGRUcmFuc2FjdGlvblRleHQuc3Vic2NyaWJlKChsaW5lKSA9PiB0aGlzLmhhbmRsZVNob3dUcmFuc2FjdGlvblRleHQobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZGRBcnRpY2xlVGV4dC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd0FydGljbGVUZXh0KGxpbmUpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuZWRpdFRyYW5zYWN0aW9uVGV4dC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlRWRpdFRyYW5zYWN0aW9uVGV4dChsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmVkaXRBcnRpY2xlVGV4dC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlRWRpdEFydGljbGVUZXh0KGxpbmUpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuaGlzdG9yaWNSZXBvcnRMaW5lc1RvU2hvd1xyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxpbmVzKSA9PiB0aGlzLmhpc3RvcmljVHJhbnNhY3Rpb25MaW5lcyA9IGxpbmVzKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2hvd0Vycm9yLnN1YnNjcmliZSgoZSkgPT5cclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihlLm1lc3NhZ2UsIGUubG9jYWxpemUsIGUuZGV0YWlscykpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jb3B5T3JkZXIuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvd0NvcHlPcmRlckRpYWxvZyA9IHRydWUpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSZWxhdGlvbkNoYW5nZShyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UucmVsYXRpb24gPSByZWxhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCdXR0b25CYXJCdXR0b25DbGlja2VkKGJ1dHRvbjogVHJhbnNhY3Rpb25CYXJCdXR0b24pOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBidXR0b24uY2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSB8fCBmb3JjZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25UZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZGRUcmFuc2FjdGlvblRleHQubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd0FydGljbGVUZXh0T3ZlcnZpZXcobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgaWYgKGxpbmUpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSBsaW5lO1xyXG4gICAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaG93VHJhbnNhY3Rpb25UZXh0KGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50ZXh0VG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9yZGVyTGluZVNldERUTyA9IG5ldyBPcmRlckxpbmVTZXREVE8oKTtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSkge1xyXG4gICAgICB0aGlzLnRleHRUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gbGluZTtcclxuICAgICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzYXZlVHJhbnNhY3Rpb25MaW5lVGV4dChkYXRhOiB7IHJlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LCBuZXc6IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFkYXRhLm5ldykgeyAvL3VwZGF0ZVxyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRleHQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmFkZFRleHRMaW5lKFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsXHJcbiAgICAgICAgZGF0YS5yZXF1ZXN0LnRleHQsXHJcbiAgICAgICAgMCxcclxuICAgICAgICBkYXRhLnJlcXVlc3QuYXJ0aWNsZUJvdW5kLFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgMCxcclxuICAgICAgICAwKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2F2ZU9yZGVyTGluZVNldChkYXRhOiB7IHJlcXVlc3Q6IE9yZGVyTGluZVNldERUTywgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZU9yZGVyTGluZVNldChkYXRhLnJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0ID0gbmV3IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0KCk7XHJcbiAgICAgIG5ld1JlcXVlc3Qub3JkZXJMaW5lU2V0VGV4dCA9IGRhdGEucmVxdWVzdC50ZXh0O1xyXG4gICAgICBuZXdSZXF1ZXN0LmFtb3VudCA9IGRhdGEucmVxdWVzdC5hbW91bnQ7XHJcbiAgICAgIG5ld1JlcXVlc3QuY2F0ZWdvcnlJZCA9IGRhdGEucmVxdWVzdC5jYXRlZ29yeUlkO1xyXG4gICAgICBuZXdSZXF1ZXN0LmNvbG9yID0gZGF0YS5yZXF1ZXN0LmNvbG9yO1xyXG4gICAgICBuZXdSZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCA9IGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQ7XHJcbiAgICAgIG5ld1JlcXVlc3Quc2hvd09uRG9jdW1lbnRzID0gZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cztcclxuICAgICAgbmV3UmVxdWVzdC50ZXh0ID0gZGF0YS5yZXF1ZXN0LnRpdGxlO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuYWRkT3JkZXJMaW5lU2V0KG5ld1JlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmVBcnRpY2xlTGluZVRleHQoZGF0YTogeyByZXF1ZXN0OiBUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdCwgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHsgLy91cGRhdGVcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZVRleHRMaW5lKGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQsIHRoaXMudHJhbnNhY3Rpb25MaW5lLnV1aWQsIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsIGRhdGEucmVxdWVzdC50ZXh0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRUZXh0TGluZShcclxuICAgICAgICBkYXRhLnJlcXVlc3Quc2hvd09uRG9jdW1lbnRzLFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC50ZXh0LFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICBkYXRhLnJlcXVlc3QucmVmQXJ0aWNsZUxpbmVOclxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRWRpdFRyYW5zYWN0aW9uVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPID0gdGhpcy5fZ2V0T3JkZXJMaW5lU2V0SWZFeGlzdHMobGluZSk7XHJcbiAgICBpZiAoaXNOaWxsKHRoaXMuc2VsZWN0ZWRPcmRlckxpbmVTZXREVE8pKSB7XHJcbiAgICAgIHRoaXMudGV4dFRvRWRpdCA9IGxpbmUudGV4dDtcclxuICAgIH1cclxuICAgIGlmIChsaW5lLmlzVGV4dCkge1xyXG4gICAgICB0aGlzLnNob3dUcmFuc2FjdGlvblRleHREaWFsb2coKTtcclxuICAgIH1cclxuICAgIC8vIGlmIChsaW5lLmFydGljbGVCb3VuZENvbmNhdGVuYXRlZFRleHQgJiYgbGluZS5hcnRpY2xlQm91bmRDb25jYXRlbmF0ZWRUZXh0Lmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgdGhpcy5zaG93QXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVkaXRBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHRUb0VkaXQgPSBsaW5lLnRleHQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLl9oaWRlQXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZUFydGljbGVUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VUcmFuc2FjdGlvblRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VHJhbnNhY3Rpb25UZXh0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG91bGRTaG93VGlsZXMoKTogYm9vbGVhbiB7XHJcbiAgICAvLyBBZGp1c3QgdGhlIHdpZHRoIGNvbmRpdGlvbiBhcyBuZWVkZWRcclxuICAgIHJldHVybiB0aGlzLnNjcmVlbldpZHRoIDwgMTI4MDsgLy8gU2hvdyB0aGUgZGl2IGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gMTI4MHB4XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZnVsbHlJbnZvaWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy50cmFuc2FjdGlvbiAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbyAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlJbnZvaWNlZCcpICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseUludm9pY2VkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9yZGVyTGluZVNldElmRXhpc3RzKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBPcmRlckxpbmVTZXREVE8ge1xyXG4gICAgaWYgKCFsaW5lLm9yZGVyTGluZVNldENvZGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBsaW5lU2V0OiBPcmRlckxpbmVTZXRJbmZvID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5maW5kKHNldCA9PiBzZXQub3JkZXJMaW5lU2V0Q29kZSA9PT0gbGluZS5vcmRlckxpbmVTZXRDb2RlKTtcclxuICAgICAgaWYgKCFsaW5lU2V0KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IERUTzogT3JkZXJMaW5lU2V0RFRPID0gbmV3IE9yZGVyTGluZVNldERUTygpO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRDb2RlID0gbGluZVNldC5vcmRlckxpbmVTZXRDb2RlO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRJZCA9IGxpbmVTZXQub3JkZXJMaW5lU2V0SWQ7XHJcbiAgICAgICAgRFRPLnRleHQgPSBsaW5lU2V0LnRleHQ7XHJcbiAgICAgICAgRFRPLmFtb3VudCA9IGxpbmVTZXQuYW1vdW50O1xyXG4gICAgICAgIERUTy50aXRsZSA9IGxpbmVTZXQudGl0bGU7XHJcbiAgICAgICAgRFRPLmNvbG9yID0gbGluZVNldC5jb2xvcjtcclxuICAgICAgICBEVE8uY2F0ZWdvcnlJZCA9IGxpbmVTZXQuY2F0ZWdvcnlJZDtcclxuICAgICAgICByZXR1cm4gRFRPO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRyYW5zYWN0aW9uTGluZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy5zaWRlUGFuZWxUcmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgJiYgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbCh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBfcHJlcGFyZUhlYWRlcigpOiB2b2lkIHtcclxuICAvLyAgICAgaWYgKHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvbkluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5PcmRlckluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5QYXltZW50SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSAmJlxyXG4gIC8vICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLkRlbGl2ZXJ5SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSkge1xyXG4gIC8vICAgICAgICAgLy8gbm90aGluZyB0byBzZWUgaGVyZVxyXG4gIC8vICAgICAgICAgdGhpcy5zaG93SGVhZGVyID0gZmFsc2U7XHJcbiAgLy8gICAgIH1cclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbk1hcmdpbkluZm8odHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0cmFuc2FjdGlvblVVSUQpIHtcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFRyYW5zYWN0aW9uTWFyZ2luSW5mbyh0cmFuc2FjdGlvblVVSUQpLnRoZW4oKHJlc3VsdDogVHJhbnNhY3Rpb25NYXJnaW5JbmZvKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbk1hcmdpbkluZm8gPSByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVZpZXdNb2RlQ2hhbmdlKG1vZGU6IENvbnRlbnRWaWV3TW9kZSkge1xyXG4gICAgdGhpcy5hY3RpdmVWaWV3TW9kZSA9IG1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGxhbk9yZGVyRm9yVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSB7XHJcbiAgICBpZiAoIXRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZz8ucGxhbm5pbmdJZCkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UuZ2V0UGxhbm5pbmdTb3VyY2VzKCkudGhlbigocmVzdWx0OiBQbGFubmluZ1tdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFBsYW5uaW5nID0gcmVzdWx0WzBdO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFBsYW5PcmRlcih0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQpLnRoZW4oIChwbGFuT3JkZXI6IFBsYW5PcmRlcikgPT4ge1xyXG4gICAgICBsZXQgcmVxdWVzdCA9IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLm1ha2VPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QocGxhbk9yZGVyKTtcclxuICAgICAgaWYocmVxdWVzdC5wbGFubmluZ0lkKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldE9yZGVyTGluZXNQbGFubmVkKHJlcXVlc3QpLnRoZW4oKG9yZGVyTGluZXNQbGFubmVkOiBQbGFuT3JkZXJMaW5lW10pID0+IHtcclxuICAgICAgICAgIGlmIChvcmRlckxpbmVzUGxhbm5lZCAmJiBvcmRlckxpbmVzUGxhbm5lZD8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBwbGFuT3JkZXIubGluZXMgPSBbXTtcclxuICAgICAgICAgICAgcGxhbk9yZGVyLmxpbmVzLnB1c2goLi4ub3JkZXJMaW5lc1BsYW5uZWQpO1xyXG4gICAgICAgICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlciA9IHBsYW5PcmRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
568
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taW50ZXJuYWwvdHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxlQUFlLEVBQUUsOENBQThDLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFFdkgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFJMUcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENB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U0FBUyxDQUFDO3FCQUMxRDtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE5bEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtLVDtnQkFDRCxTQUFTLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO3FCQUM1RDtpQkFDQTtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBeE1PLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFFbEIsdUJBQXVCO1lBM0I3QixjQUFjO1lBMEJSLHVCQUF1QjtZQVl2QiwyQkFBMkI7WUFYM0IsdUJBQXVCO1lBQ3ZCLHFDQUFxQztZQUNyQyxhQUFhO1lBQ2Isb0JBQW9CO1lBU3BCLDJCQUEyQjtZQUszQix1QkFBdUI7OztrQ0ErTDVCLFlBQVksU0FBQyxpQ0FBaUM7dUJBRzlDLEtBQUs7cUNBR0wsS0FBSzsyQkFjTCxLQUFLOzBCQUdMLEtBQUs7eUJBV0wsS0FBSztrQ0FHTCxLQUFLOzZCQUdMLE1BQU07OEJBR04sV0FBVyxTQUFDLHlCQUF5QixjQUNyQyxLQUFLOzRCQUdMLFdBQVcsU0FBQyx1QkFBdUIsY0FDbkMsS0FBSzt3QkFHTCxXQUFXLFNBQUMsK0JBQStCO3VCQUszQyxZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBcHBsaWNhdGlvblJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7Q29udGVudFZpZXdNb2RlLCBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DZmdOYW1lfSBmcm9tICcuLi8uLi9lbnVtL3RyYW5zYWN0aW9uLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVNpZGVQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsL3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSAnLi4vLi4vbW9kZWwvcmVsYXRpb24tYW55LXR5cGUnO1xyXG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7RHluYW1pY0NvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtMaW5lU2VsZWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9saW5lLXNlbGVjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhckJ1dHRvbn0gZnJvbSAnLi4vLi4vbW9kZWwvdHJhbnNhY3Rpb24tYmFyLWJ1dHRvbic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1hZGQtdGV4dC1saW5lLXJlcXVlc3QuYm8nO1xyXG5pbXBvcnQge09yZGVyTGluZVNldERUT30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWR0byc7XHJcbmltcG9ydCB7T3JkZXJMaW5lU2V0SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWluZm8uYm8nO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0XHJcbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWFkZC1vcmRlci1saW5lLXNldC10ZXh0LWxpbmUtcmVxdWVzdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHVyY2hhc2UtY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge2lzTmlsbH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvbic7XHJcbmltcG9ydCB7UG9zT3JkZXJEYXRhfSBmcm9tICcuLi8uLi9tb2RlbC9wb3Mtb3JkZXItZGF0YSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTWFyZ2luSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLW1hcmdpbi1pbmZvLmJvJztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSAnLi4vZGVsaXZlcnktcGxhbm5pbmcvc2VydmljZS9kZWxpdmVyeS1wbGFubmluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nTW9kZXN9IGZyb20gJy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctbW9kZXMuZW51bSc7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5pbXBvcnQge1BsYW5uaW5nfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLmJvXCI7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3RcclxufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zZXJ2aWNlLW9yZGVyLXdpdGgtc291cmNlLXRyYW5zYWN0aW9uLWxpbmUtcmVxdWVzdFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1pbnRlcm5hbCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZWRcIj5cclxuICAgICAgPGNvLWNsaWNrLWJsb2NrPjwvY28tY2xpY2stYmxvY2s+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXJcclxuICAgICAgICAqbmdJZj1cInNob3dIZWFkZXJcIlxyXG4gICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCJcclxuICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwiaGFuZGxlUmVsYXRpb25DaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlcj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dRdWlja0FjY2Vzc1wiXHJcbiAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWhlYWRlci1pdGVtXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImFjdGl2ZUNhdGVnb3J5XCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3M+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICpuZ0lmPVwic2hvd0J1dHRvbkJhclwiXHJcbiAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWhlYWRlci1pdGVtXCJcclxuICAgICAgICAgIFtzZWxlY3RlZENhdGVnb3J5XT1cImFjdGl2ZUNhdGVnb3J5XCJcclxuICAgICAgICAgIChidXR0b25DbGlja2VkKT1cImhhbmRsZUJ1dHRvbkJhckJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tYnV0dG9uLWJhcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWhlYWRlci1pdGVtIHJpZ2h0XCI+XHJcbiAgICAgICAgICA8Y28tYXZhdGFyXHJcbiAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tc2FsZXMtYXZhdGFyXCJcclxuICAgICAgICAgICAgW3JlbGF0aW9uSWRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhhbmRsZWRCeVwiXHJcbiAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlckhhbmRsZWRCeVwiXHJcbiAgICAgICAgICAgIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8L2NvLWF2YXRhcj5cclxuICAgICAgICAgIDxjby1hdmF0YXJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1zYWxlcy1hdmF0YXJcIlxyXG4gICAgICAgICAgICBbcmVsYXRpb25JZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uYnJhbmNoPy5yZWxhdGlvbklkXCJcclxuICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuSGVhZGVyQnJhbmNoXCJcclxuICAgICAgICAgICAgc2NyZWVuQ29uZmlnTmF0aXZlRWxlbWVudD5cclxuICAgICAgICAgIDwvY28tYXZhdGFyPlxyXG4gICAgICAgICAgPGNvLXZpZXctbW9kZS1idXR0b25zXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXNob3VsZFNob3dUaWxlcygpICYmIHNob3dWaWV3TW9kZUJ1dHRvbnNcIlxyXG4gICAgICAgICAgICBbc2hvd1ZpZXdNb2Rlc109XCJbdmlld01vZGVzLkxpc3QsIHZpZXdNb2Rlcy5UaWxlc11cIlxyXG4gICAgICAgICAgICAodmlld01vZGVDaGFuZ2UpPVwiaGFuZGxlVmlld01vZGVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9jby12aWV3LW1vZGUtYnV0dG9ucz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPCEtLTxjby10cmFuc2FjdGlvbi1kb2N1bWVudC1idXR0b24tYmFyIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiPjwvY28tdHJhbnNhY3Rpb24tZG9jdW1lbnQtYnV0dG9uLWJhcj4tLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtY29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yeS5TZXJ2aWNlT3JkZXJTZXJ2aWNlXCI+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1zZXJ2aWNlLW92ZXJ2aWV3IFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiPjwvY28tdHJhbnNhY3Rpb24tc2VydmljZS1vdmVydmlldz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXRpbGVzLXdyYXBwZXJcIiAqbmdJZj1cImFjdGl2ZVZpZXdNb2RlID09PSB2aWV3TW9kZXMuVGlsZXMgfHwgc2hvdWxkU2hvd1RpbGVzKClcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmRzXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiYWN0aXZlQ2F0ZWdvcnlcIj5cclxuICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1jYXJkcz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cIihhY3RpdmVWaWV3TW9kZSA9PT0gdmlld01vZGVzLkxpc3QgJiYgIXNob3VsZFNob3dUaWxlcygpKSAmJiBhY3RpdmVDYXRlZ29yeSAhPT0gY2F0ZWdvcnkuU2VydmljZU9yZGVyU2VydmljZVwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZXNcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAgKHNhdmVUcmFuc2FjdGlvbkxpbmUpPVwic2F2ZVRyYW5zYWN0aW9uTGluZVRleHQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWxpbmVzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZvb3Rlci1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgPGNvLWFkZC1wcm9kdWN0XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNhbGVzT3JkZXJDYXNoUmVnaXN0ZXIgfHxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNhbGVzT3JkZXJPdmVydmlldyB8fFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3JpZXMuUHVyY2hhc2VPcmRlck92ZXJ2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5TYWxlc09yZGVyUXVvdGF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgPC9jby1hZGQtcHJvZHVjdD5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1c3RvbS13aWR0aCB0ZXh0LXJ1bGVcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UZXh0U29saWQpXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVUcmFuc2FjdGlvblRleHQoKVwiPlxyXG4gICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1mb290ZXItY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLW1hcmdpbiAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNhbGVzT3JkZXJNYXJnaW5JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbk1hcmdpbkluZm9dPVwidHJhbnNhY3Rpb25NYXJnaW5JbmZvXCJcclxuICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1tYXJnaW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXRvdGFsc1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlQ2F0ZWdvcnkgIT09IGNhdGVnb3J5LlNlcnZpY2VPcmRlclNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25Ub3RhbF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsXCJcclxuICAgICAgICAgICAgICBbc2hvd0Rpc2NvdW50XT1cInRydWVcIj5cclxuICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi10b3RhbHM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmVzLXNpZGUtcGFuZWxcclxuICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICB0cmFuc2FjdGlvbiAmJlxyXG4gICAgICAgICAgKCh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc2FjdGlvbktpbmQuQ2FzaERlc2sgJiYgIWZ1bGx5SW52b2ljZWQoKSkgfHxcclxuICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgPT09IHRyYW5zYWN0aW9uS2luZC5TZXJ2aWNlT3JkZXIpXCJcclxuICAgICAgICAgIFtjbGFzcy5oaWdoZXItbWF4LXdpZHRoXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgPT09IHRyYW5zYWN0aW9uS2luZC5TZXJ2aWNlT3JkZXJcIlxyXG4gICAgICAgICAgW3Bvc09yZGVyRGF0YV09XCJwb3NPcmRlckRhdGFcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1saW5lcy1zaWRlLXBhbmVsPlxyXG5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dTaWRlUGFuZWxcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwic2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwic2hvd1NpZGVQYW5lbCA9IGZhbHNlXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWw+XHJcblxyXG4gICAgICAgIDwhLS1Qb3B1cCB2b29yIHdpanppZ2VuIHZvbGdvcmRlIHZhbiB0ZWtzdHJlZ2Vscy0tPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXdcclxuICAgICAgICAgICpuZ0lmPVwic2hvd0FydGljbGVUZXh0T3ZlcnZpZXdcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KClcIlxyXG4gICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNsb3NlQXJ0aWNsZVRleHRPdmVydmlldygpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXc+XHJcblxyXG4gICAgICAgIDwhLS1Qb3B1cCB2b29yIGFhbm1ha2VuIGVuIHVwZGF0ZW4gdHJhbnNhY3RpZXRla3N0cmVnZWxzLS0+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dFxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93VHJhbnNhY3Rpb25UZXh0XCJcclxuICAgICAgICAgIFtoZWFkZXJdPVwiJ09SREVSX1RFWFRfTElORScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgIFtlZGl0VGV4dF09XCJ0ZXh0VG9FZGl0XCJcclxuICAgICAgICAgIFtvcmRlckxpbmVTZXREVE9dPVwic2VsZWN0ZWRPcmRlckxpbmVTZXREVE9cIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgKHNhdmVDbGljayk9XCJzYXZlVHJhbnNhY3Rpb25MaW5lVGV4dCgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25UZXh0KClcIlxyXG4gICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25UZXh0KClcIlxyXG4gICAgICAgICAgKHNhdmVPcmRlckxpbmVTZXRDbGljayk9XCJzYXZlT3JkZXJMaW5lU2V0KCRldmVudClcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dD5cclxuXHJcbiAgICAgICAgPCEtLVBvcHVwIHZvb3IgYWFubWFrZW4gZW4gdXBkYXRlbiBhcnRpa2VsdGVrc3RyZWdlbHMtLT5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0XHJcbiAgICAgICAgICAqbmdJZj1cInNob3dBcnRpY2xlVGV4dFwiXHJcbiAgICAgICAgICBbaGVhZGVyXT1cIidQUk9EVUNUX0RFU0NSSVBUSU9OX0FORF9URVhUUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgIFtzaG93QXJ0aWNsZUltYWdlRGVzY3JpcHRpb25dPVwidHJhbnNhY3Rpb25MaW5lLmFydGljbGVCb3VuZFwiXHJcbiAgICAgICAgICBbc2hvd0ltYWdlXT1cImZhbHNlXCJcclxuICAgICAgICAgIFthcnRpY2xlTGluZU5yXT1cInRyYW5zYWN0aW9uTGluZS5saW5lTnJcIlxyXG4gICAgICAgICAgW2FydGljbGVSZWZdPVwidHJhbnNhY3Rpb25MaW5lLmFydGljbGVOdW1iZXJcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgW2VkaXRUZXh0XT1cInRleHRUb0VkaXRcIlxyXG4gICAgICAgICAgKHNhdmVDbGljayk9XCJzYXZlQXJ0aWNsZUxpbmVUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dCgpXCJcclxuICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjbG9zZUFydGljbGVUZXh0KClcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dD5cclxuXHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWNvcHktb3JkZXJcclxuICAgICAgICAgICpuZ0lmPVwic2hvd0NvcHlPcmRlckRpYWxvZ1wiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgKGNsb3NlRGlhbG9nKT1cInNob3dDb3B5T3JkZXJEaWFsb2cgPSBmYWxzZVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tY29weS1vcmRlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUcmFuc2FjdGlvbkludGVybmFsQ29tcG9uZW50KVxyXG4gIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uSW50ZXJuYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yaWVzOiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgcmVhZG9ubHkgZGVsaXZlcnlQbGFubmluZ01vZGVzOiB0eXBlb2YgRGVsaXZlcnlQbGFubmluZ01vZGVzID0gRGVsaXZlcnlQbGFubmluZ01vZGVzO1xyXG4gIHB1YmxpYyByZWFkb25seSB2aWV3TW9kZXM6IHR5cGVvZiBDb250ZW50Vmlld01vZGUgPSBDb250ZW50Vmlld01vZGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IGNmZ05hbWVzOiB0eXBlb2YgVHJhbnNhY3Rpb25DZmdOYW1lID0gVHJhbnNhY3Rpb25DZmdOYW1lO1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvbktpbmQ6IHR5cGVvZiBUcmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQ7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgc2NyZWVuV2lkdGg6IG51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxDb21wb25lbnQpXHJcbiAgcHVibGljIHNpZGVQYW5lbENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxDb21wb25lbnQ+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY29uZmlybWF0aW9uQW5hbHlzaXNJZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9jb25maXJtYXRpb25BbmFseXNpc0lkID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLmFjdGl2ZVJ1YnJpYyA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbjtcclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeSA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbjtcclxuICAgIH1cclxuICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5jb25maXJtYXRpb25BbmFseXNpc0lkID0gdGhpcy5fY29uZmlybWF0aW9uQW5hbHlzaXNJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY29uZmlybWF0aW9uQW5hbHlzaXNJZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpcm1hdGlvbkFuYWx5c2lzSWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwb3NPcmRlckRhdGE6IFBvc09yZGVyRGF0YTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uKHZhbHVlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlIHtcclxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Vmlld01vZGVCdXR0b25zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctcXVpY2stYWNjZXNzJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UXVpY2tBY2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctYnV0dG9uLWJhcicpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0J1dHRvbkJhcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24taW50ZXJuYWwnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY3RpdmVWaWV3TW9kZTogQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlLkxpc3Q7XHJcbiAgcHVibGljIGFjdGl2ZUNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm87XHJcbiAgcHVibGljIHNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPOiBPcmRlckxpbmVTZXREVE87XHJcbiAgcHVibGljIHNob3dTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvdWxkU2hvd1NpZGVQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHRPdmVydmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBcnRpY2xlVGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Q29weU9yZGVyRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyB0ZXh0VG9FZGl0OiBzdHJpbmc7XHJcbiAgcHVibGljIGhpc3RvcmljVHJhbnNhY3Rpb25MaW5lczogVHJhbnNhY3Rpb25MaW5lSW5mb1tdIHwgbnVsbDtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25NYXJnaW5JbmZvOiBUcmFuc2FjdGlvbk1hcmdpbkluZm8gPSBuZXcgVHJhbnNhY3Rpb25NYXJnaW5JbmZvKCk7XHJcblxyXG4gIHB1YmxpYyBsaW5lRHJhZ2dlZE92ZXI6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRixcclxuICAgIHN0YXR1c0JhcklCOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhcklCLFxyXG4gICAgc3RhdHVzQmFyTlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyTlQsXHJcbiAgICBzdGF0dXNCYXJCTjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCTixcclxuICAgIHN0YXR1c0JhckJHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJHLFxyXG4gICAgc3RhdHVzQmFyRkM6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyRkNcclxuICB9O1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG5ldyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSgpO1xyXG4gIHByaXZhdGUgX2NvbmZpcm1hdGlvbkFuYWx5c2lzSWQ6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbGluZVNlbGVjdGlvblNlcnZpY2U6IExpbmVTZWxlY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlOiBQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuc2VydmljZS50cmFuc2FjdGlvblVwZGF0ZWQuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAodHJhbnNhY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd1NpZGVQYW5lbCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcclxuICAgICAgICAgIHRoaXMudXBkYXRlVHJhbnNhY3Rpb25MaW5lKCk7XHJcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24/LnRyYW5zYWN0aW9uSW5mbz8udXVpZCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFRyYW5zYWN0aW9uTWFyZ2luSW5mbyh0cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvPy51dWlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvLmlkICYmIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgPT09IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0UGxhbk9yZGVyRm9yVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2VydmljZS5yZWxhdGlvblVwZGF0ZWQuc3Vic2NyaWJlKChyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlbGF0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbGF0aW9uID0gcmVsYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5zZXJ2aWNlLnRyYW5zYWN0aW9uS2luZFNldC5zdWJzY3JpYmUoKHNldDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChzZXQpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSB0aGlzLmNvbmZpcm1hdGlvbkFuYWx5c2lzSWQgPyBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb24gOiB0aGlzLnNlcnZpY2UuYWN0aXZlUnVicmljO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5jb25uZWN0aW9uSW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChpbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5jb25maXJtYXRpb25OZWVkZWQuc3Vic2NyaWJlKChuZWVkZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAobmVlZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTaG93U2lkZVBhbmVsKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1swXSwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3Zlci5zdWJzY3JpYmUoKGxpbmVOcikgPT4ge1xyXG4gICAgICAgIHRoaXMubGluZURyYWdnZWRPdmVyID0gbGluZU5yO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5BcnRpY2xlVGV4dE92ZXJ2aWV3LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHRPdmVydmlldyhsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZFRyYW5zYWN0aW9uVGV4dC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1RyYW5zYWN0aW9uVGV4dChsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5lZGl0VHJhbnNhY3Rpb25UZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0VHJhbnNhY3Rpb25UZXh0KGxpbmUpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuZWRpdEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jcmVhdGVTZXJ2aWNlQnV0dG9uQ2xpY2tlZC5zdWJzY3JpYmUoKGxpbmVOcikgPT4gdGhpcy5oYW5kbGVDcmVhdGVTZXJ2aWNlUmVxdWVzdChsaW5lTnIpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuaGlzdG9yaWNSZXBvcnRMaW5lc1RvU2hvd1xyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxpbmVzKSA9PiB0aGlzLmhpc3RvcmljVHJhbnNhY3Rpb25MaW5lcyA9IGxpbmVzKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2hvd0Vycm9yLnN1YnNjcmliZSgoZSkgPT5cclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihlLm1lc3NhZ2UsIGUubG9jYWxpemUsIGUuZGV0YWlscykpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jb3B5T3JkZXIuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvd0NvcHlPcmRlckRpYWxvZyA9IHRydWUpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSZWxhdGlvbkNoYW5nZShyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UucmVsYXRpb24gPSByZWxhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCdXR0b25CYXJCdXR0b25DbGlja2VkKGJ1dHRvbjogVHJhbnNhY3Rpb25CYXJCdXR0b24pOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBidXR0b24uY2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSB8fCBmb3JjZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25UZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZGRUcmFuc2FjdGlvblRleHQubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd0FydGljbGVUZXh0T3ZlcnZpZXcobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgaWYgKGxpbmUpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSBsaW5lO1xyXG4gICAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaG93VHJhbnNhY3Rpb25UZXh0KGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50ZXh0VG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9yZGVyTGluZVNldERUTyA9IG5ldyBPcmRlckxpbmVTZXREVE8oKTtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSkge1xyXG4gICAgICB0aGlzLnRleHRUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gbGluZTtcclxuICAgICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzYXZlVHJhbnNhY3Rpb25MaW5lVGV4dChkYXRhOiB7IHJlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LCBuZXc6IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFkYXRhLm5ldykgeyAvL3VwZGF0ZVxyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRleHQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmFkZFRleHRMaW5lKFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsXHJcbiAgICAgICAgZGF0YS5yZXF1ZXN0LnRleHQsXHJcbiAgICAgICAgMCxcclxuICAgICAgICBkYXRhLnJlcXVlc3QuYXJ0aWNsZUJvdW5kLFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgMCxcclxuICAgICAgICAwKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2F2ZU9yZGVyTGluZVNldChkYXRhOiB7IHJlcXVlc3Q6IE9yZGVyTGluZVNldERUTywgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZU9yZGVyTGluZVNldChkYXRhLnJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0ID0gbmV3IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0KCk7XHJcbiAgICAgIG5ld1JlcXVlc3Qub3JkZXJMaW5lU2V0VGV4dCA9IGRhdGEucmVxdWVzdC50ZXh0O1xyXG4gICAgICBuZXdSZXF1ZXN0LmFtb3VudCA9IGRhdGEucmVxdWVzdC5hbW91bnQ7XHJcbiAgICAgIG5ld1JlcXVlc3QuY2F0ZWdvcnlJZCA9IGRhdGEucmVxdWVzdC5jYXRlZ29yeUlkO1xyXG4gICAgICBuZXdSZXF1ZXN0LmNvbG9yID0gZGF0YS5yZXF1ZXN0LmNvbG9yO1xyXG4gICAgICBuZXdSZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCA9IGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQ7XHJcbiAgICAgIG5ld1JlcXVlc3Quc2hvd09uRG9jdW1lbnRzID0gZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cztcclxuICAgICAgbmV3UmVxdWVzdC50ZXh0ID0gZGF0YS5yZXF1ZXN0LnRpdGxlO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuYWRkT3JkZXJMaW5lU2V0KG5ld1JlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmVBcnRpY2xlTGluZVRleHQoZGF0YTogeyByZXF1ZXN0OiBUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdCwgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHsgLy91cGRhdGVcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZVRleHRMaW5lKGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQsIHRoaXMudHJhbnNhY3Rpb25MaW5lLnV1aWQsIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsIGRhdGEucmVxdWVzdC50ZXh0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRUZXh0TGluZShcclxuICAgICAgICBkYXRhLnJlcXVlc3Quc2hvd09uRG9jdW1lbnRzLFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC50ZXh0LFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICBkYXRhLnJlcXVlc3QucmVmQXJ0aWNsZUxpbmVOclxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRWRpdFRyYW5zYWN0aW9uVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPID0gdGhpcy5fZ2V0T3JkZXJMaW5lU2V0SWZFeGlzdHMobGluZSk7XHJcbiAgICBpZiAoaXNOaWxsKHRoaXMuc2VsZWN0ZWRPcmRlckxpbmVTZXREVE8pKSB7XHJcbiAgICAgIHRoaXMudGV4dFRvRWRpdCA9IGxpbmUudGV4dDtcclxuICAgIH1cclxuICAgIGlmIChsaW5lLmlzVGV4dCkge1xyXG4gICAgICB0aGlzLnNob3dUcmFuc2FjdGlvblRleHREaWFsb2coKTtcclxuICAgIH1cclxuICAgIC8vIGlmIChsaW5lLmFydGljbGVCb3VuZENvbmNhdGVuYXRlZFRleHQgJiYgbGluZS5hcnRpY2xlQm91bmRDb25jYXRlbmF0ZWRUZXh0Lmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgdGhpcy5zaG93QXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVkaXRBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHRUb0VkaXQgPSBsaW5lLnRleHQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLl9oaWRlQXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDcmVhdGVTZXJ2aWNlUmVxdWVzdChsaW5lTnI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGxpbmVOciAmJiB0aGlzLnRyYW5zYWN0aW9uKSB7LypcclxuICAgICAgbGV0IHJlcXVlc3Q6Q3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3QgPSBuZXcgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3QoKTtcclxuICAgICAgcmVxdWVzdC5zb3VyY2VMaW5lTnIgPSBsaW5lLmxpbmVOcjtcclxuICAgICAgcmVxdWVzdC5zb3VyY2VUcmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICAgIHJlcXVlc3QuY3VzdG9tZXJSZWxhdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucmVsYXRpb24ucmVsYXRpb25JZDtcclxuICAgICAgcmVxdWVzdC5icmFuY2hOciA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmJyYW5jaC5yZWxhdGlvbk5yOyovXHJcblxyXG4gICAgICAvKnRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlVHJhbnNhY3Rpb25MaW5lKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZihyZXN1bHQpIHsqL1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5yZXF1ZXN0Q3JlYXRlU2VydmljZU9yZGVyRnJvbVRyYW5zYWN0aW9uTGluZS5uZXh0KHt0cmFuc2FjdGlvbjogdGhpcy50cmFuc2FjdGlvbiwgbGluZU5yOiBsaW5lTnJ9KTtcclxuICAgICAvKiAgIH1cclxuICAgICAgfSk7Ki9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZUFydGljbGVUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VUcmFuc2FjdGlvblRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VHJhbnNhY3Rpb25UZXh0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG91bGRTaG93VGlsZXMoKTogYm9vbGVhbiB7XHJcbiAgICAvLyBBZGp1c3QgdGhlIHdpZHRoIGNvbmRpdGlvbiBhcyBuZWVkZWRcclxuICAgIHJldHVybiB0aGlzLnNjcmVlbldpZHRoIDwgMTI4MDsgLy8gU2hvdyB0aGUgZGl2IGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gMTI4MHB4XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZnVsbHlJbnZvaWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy50cmFuc2FjdGlvbiAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbyAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlJbnZvaWNlZCcpICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseUludm9pY2VkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9yZGVyTGluZVNldElmRXhpc3RzKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBPcmRlckxpbmVTZXREVE8ge1xyXG4gICAgaWYgKCFsaW5lLm9yZGVyTGluZVNldENvZGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBsaW5lU2V0OiBPcmRlckxpbmVTZXRJbmZvID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5maW5kKHNldCA9PiBzZXQub3JkZXJMaW5lU2V0Q29kZSA9PT0gbGluZS5vcmRlckxpbmVTZXRDb2RlKTtcclxuICAgICAgaWYgKCFsaW5lU2V0KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IERUTzogT3JkZXJMaW5lU2V0RFRPID0gbmV3IE9yZGVyTGluZVNldERUTygpO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRDb2RlID0gbGluZVNldC5vcmRlckxpbmVTZXRDb2RlO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRJZCA9IGxpbmVTZXQub3JkZXJMaW5lU2V0SWQ7XHJcbiAgICAgICAgRFRPLnRleHQgPSBsaW5lU2V0LnRleHQ7XHJcbiAgICAgICAgRFRPLmFtb3VudCA9IGxpbmVTZXQuYW1vdW50O1xyXG4gICAgICAgIERUTy50aXRsZSA9IGxpbmVTZXQudGl0bGU7XHJcbiAgICAgICAgRFRPLmNvbG9yID0gbGluZVNldC5jb2xvcjtcclxuICAgICAgICBEVE8uY2F0ZWdvcnlJZCA9IGxpbmVTZXQuY2F0ZWdvcnlJZDtcclxuICAgICAgICByZXR1cm4gRFRPO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRyYW5zYWN0aW9uTGluZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy5zaWRlUGFuZWxUcmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgJiYgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbCh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBfcHJlcGFyZUhlYWRlcigpOiB2b2lkIHtcclxuICAvLyAgICAgaWYgKHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvbkluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5PcmRlckluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5QYXltZW50SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSAmJlxyXG4gIC8vICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLkRlbGl2ZXJ5SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSkge1xyXG4gIC8vICAgICAgICAgLy8gbm90aGluZyB0byBzZWUgaGVyZVxyXG4gIC8vICAgICAgICAgdGhpcy5zaG93SGVhZGVyID0gZmFsc2U7XHJcbiAgLy8gICAgIH1cclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbk1hcmdpbkluZm8odHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0cmFuc2FjdGlvblVVSUQpIHtcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFRyYW5zYWN0aW9uTWFyZ2luSW5mbyh0cmFuc2FjdGlvblVVSUQpLnRoZW4oKHJlc3VsdDogVHJhbnNhY3Rpb25NYXJnaW5JbmZvKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbk1hcmdpbkluZm8gPSByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVZpZXdNb2RlQ2hhbmdlKG1vZGU6IENvbnRlbnRWaWV3TW9kZSkge1xyXG4gICAgdGhpcy5hY3RpdmVWaWV3TW9kZSA9IG1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGxhbk9yZGVyRm9yVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSB7XHJcbiAgICBpZiAoIXRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZz8ucGxhbm5pbmdJZCkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UuZ2V0UGxhbm5pbmdTb3VyY2VzKCkudGhlbigocmVzdWx0OiBQbGFubmluZ1tdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFBsYW5uaW5nID0gcmVzdWx0WzBdO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFBsYW5PcmRlcih0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQpLnRoZW4oIChwbGFuT3JkZXI6IFBsYW5PcmRlcikgPT4ge1xyXG4gICAgICBsZXQgcmVxdWVzdCA9IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLm1ha2VPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QocGxhbk9yZGVyKTtcclxuICAgICAgaWYocmVxdWVzdC5wbGFubmluZ0lkKSB7XHJcbiAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldE9yZGVyTGluZXNQbGFubmVkKHJlcXVlc3QpLnRoZW4oKG9yZGVyTGluZXNQbGFubmVkOiBQbGFuT3JkZXJMaW5lW10pID0+IHtcclxuICAgICAgICAgIGlmIChvcmRlckxpbmVzUGxhbm5lZCAmJiBvcmRlckxpbmVzUGxhbm5lZD8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBwbGFuT3JkZXIubGluZXMgPSBbXTtcclxuICAgICAgICAgICAgcGxhbk9yZGVyLmxpbmVzLnB1c2goLi4ub3JkZXJMaW5lc1BsYW5uZWQpO1xyXG4gICAgICAgICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlciA9IHBsYW5PcmRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -21,7 +21,6 @@ export class TransactionInvoiceLineBaseComponent extends TransactionBaseComponen
|
|
|
21
21
|
this.detectChanges();
|
|
22
22
|
}));
|
|
23
23
|
this._checkCheckbox();
|
|
24
|
-
this.transactionLine.amountSelected = this.transactionLine.articleLineStatus.quantityToInvoice;
|
|
25
24
|
}
|
|
26
25
|
ngOnDestroy() {
|
|
27
26
|
super.ngOnDestroy();
|
|
@@ -36,6 +35,9 @@ export class TransactionInvoiceLineBaseComponent extends TransactionBaseComponen
|
|
|
36
35
|
if (this.transactionLine.articleLineStatus) {
|
|
37
36
|
this.transactionLine.quantityToInvoice = this.lineQuantityToInvoice;
|
|
38
37
|
}
|
|
38
|
+
if (this.transactionLine.amountSelected === undefined) {
|
|
39
|
+
this.transactionLine.amountSelected = this.transactionLine.amount;
|
|
40
|
+
}
|
|
39
41
|
}
|
|
40
42
|
handleLineClicked(mouseClick) {
|
|
41
43
|
if (this.transactionLine && this.transactionLine.commissionCode !== "1") {
|
|
@@ -78,4 +80,4 @@ export class TransactionInvoiceLineBaseComponent extends TransactionBaseComponen
|
|
|
78
80
|
TransactionInvoiceLineBaseComponent.decorators = [
|
|
79
81
|
{ type: Directive }
|
|
80
82
|
];
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taW52b2ljZS1saW5lLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS90cmFuc2FjdGlvbi1pbnZvaWNlLWxpbmUvdHJhbnNhY3Rpb24taW52b2ljZS1saW5lLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUd0SSxNQUFNLE9BQWdCLG1DQUFvQyxTQUFRLHdCQUF3QjtJQUQxRjs7UUFFa0IsYUFBUSxHQUFtQyx1QkFBdUIsQ0FBQztRQUUzRSxtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFFckMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBd0UzQyxDQUFDO0lBdEVRLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtDQUFrQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xGLElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUMs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QUFJLENBQUMscUJBQXFCLElBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO2FBQzFJO1lBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs7O1lBOUVGLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q2hhbmdlTGluZVF1YW50aXR5U2VsZWN0ZWRMaW5lUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NoYW5nZS1saW5lLXF1YW50aXR5LXNlbGVjdGVkLWxpbmUtcmVxdWVzdCc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uSW52b2ljZUxpbmVCYXNlQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIHB1YmxpYyBzaG93Q2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY2hlY2tib3hSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdEFsbFNhbGVzT3JkZXJMaW5lc0Zvckludm9pY2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxpbmVRdWFudGl0eVRvSW52b2ljZSAhPT0gMCkge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB2YWx1ZTtcclxuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UubGluZVNlbGVjdGVkRm9ySW52b2ljZS5uZXh0KHtsaW5lVXVpZDogdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgc2VsZWN0ZWQ6IHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2NoZWNrQ2hlY2tib3goKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHZpc2liaWxpdHlTZXQodmlzaWJsZTogYm9vbGVhbikge1xyXG4gICAgc3VwZXIudmlzaWJpbGl0eVNldCh2aXNpYmxlKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnF1YW50aXR5VG9JbnZvaWNlID0gdGhpcy5saW5lUXVhbnRpdHlUb0ludm9pY2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMaW5lQ2xpY2tlZChtb3VzZUNsaWNrOiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZS5jb21taXNzaW9uQ29kZSAhPT0gXCIxXCIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFyZ2V0OiBIVE1MRWxlbWVudCA9IDxIVE1MRWxlbWVudD5tb3VzZUNsaWNrLnRhcmdldDtcclxuICAgIGlmICh0YXJnZXQgJiYgdGFyZ2V0LmRhdGFzZXQgJiYgdGFyZ2V0LmRhdGFzZXRbJ2FjdGlvbiddICYmIHRhcmdldC5kYXRhc2V0WydhY3Rpb24nXSA9PT0gJ29wZW5TaWRlUGFuZWwnKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5uZXh0KHRoaXMudHJhbnNhY3Rpb25MaW5lKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTZWxlY3RDaGVja2JveENsaWNrKGNoZWNrZWQ6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gY2hlY2tlZDtcclxuICAgIGF3YWl0IHRoaXMudXBkYXRlU2VsZWN0ZWRRdWFudGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZVNlbGVjdGVkUXVhbnRpdHkoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBDaGFuZ2VMaW5lUXVhbnRpdHlTZWxlY3RlZExpbmVSZXF1ZXN0ID0gbmV3IENoYW5nZUxpbmVRdWFudGl0eVNlbGVjdGVkTGluZVJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QubGluZVV1aWQgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS51dWlkO1xyXG4gICAgcmVxdWVzdC5uZXdRdWFudGl0eVNlbGVjdGVkID0gdGhpcy50cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPyB0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZCA6IDA7XHJcbiAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS51cGRhdGVRdWFudGl0eVNlbGVjdGVkVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQsIFtyZXF1ZXN0XSwgZmFsc2UsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrQ2hlY2tib3goKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkluZm8gJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUpIHtcclxuICAgICAgaWYgKHRoaXMudHJhbnNhY3Rpb25JbmZvLmFsbG93UGFydGlhbERlbGl2ZXJ5KSB7XHJcbiAgICAgICAgdGhpcy5zaG93Q2hlY2tib3ggPSB0aGlzLmxpbmVRdWFudGl0eVRvSW52b2ljZSAhPT0gMCAmJiAhdGhpcy5saW5lSXNJbnZvaWNlZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dDaGVja2JveCA9IHRoaXMuY2FuQWxsTGluZXNCZUludm9pY2VkICAmJiAhdGhpcy5saW5lSXNJbnZvaWNlZDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNoZWNrYm94UmVhZG9ubHkgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UubGluZVNlbGVjdGVkRm9ySW52b2ljZS5uZXh0KHtsaW5lVXVpZDogdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgc2VsZWN0ZWQ6IHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -19,7 +19,6 @@ export class TransactionOrderDeliveryLineBaseComponent extends TransactionBaseCo
|
|
|
19
19
|
this.detectChanges();
|
|
20
20
|
}));
|
|
21
21
|
this._checkCheckbox();
|
|
22
|
-
this.transactionLine.amountSelected = this.transactionLine.articleLineStatus.quantityToDeliver;
|
|
23
22
|
}
|
|
24
23
|
ngOnDestroy() {
|
|
25
24
|
super.ngOnDestroy();
|
|
@@ -75,4 +74,4 @@ export class TransactionOrderDeliveryLineBaseComponent extends TransactionBaseCo
|
|
|
75
74
|
TransactionOrderDeliveryLineBaseComponent.decorators = [
|
|
76
75
|
{ type: Directive }
|
|
77
76
|
];
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tb3JkZXItZGVsaXZlcnktbGluZS90cmFuc2FjdGlvbi1vcmRlci1kZWxpdmVyeS1saW5lLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVwRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUd0SSxNQUFNLE9BQWdCLHlDQUEwQyxTQUFRLHdCQUF3QjtJQURoRzs7UUFHVSxtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFFckMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBb0UzQyxDQUFDO0lBbEVRLFFBQVE7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG1DQUFtQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25GLElBQUksSUFBSSxDQUFDLHFCQUFxQixLQUFLLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJ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QUMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7YUFDM0k7WUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7WUF6RUYsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q2hhbmdlTGluZVF1YW50aXR5U2VsZWN0ZWRMaW5lUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NoYW5nZS1saW5lLXF1YW50aXR5LXNlbGVjdGVkLWxpbmUtcmVxdWVzdCc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uT3JkZXJEZWxpdmVyeUxpbmVCYXNlQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2hvd0NoZWNrYm94OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNoZWNrYm94UmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RBbGxTYWxlc09yZGVyTGluZXNGb3JEZWxpdmVyeS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMubGluZVF1YW50aXR5VG9EZWxpdmVyICE9PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5saW5lU2VsZWN0ZWRGb3JEZWxpdmVyeS5uZXh0KHtsaW5lVXVpZDogdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgc2VsZWN0ZWQ6IHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2NoZWNrQ2hlY2tib3goKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dOdW1iZXJQaWNrZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbkluZm8uYWxsb3dQYXJ0aWFsRGVsaXZlcnkgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5saW5lUXVhbnRpdHlUb0RlbGl2ZXIgIT09IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGluZUNsaWNrZWQobW91c2VDbGljazogUG9pbnRlckV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUuY29tbWlzc2lvbkNvZGUgIT09IFwiMVwiKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhcmdldDogSFRNTEVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+bW91c2VDbGljay50YXJnZXQ7XHJcbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5kYXRhc2V0ICYmIHRhcmdldC5kYXRhc2V0WydhY3Rpb24nXSAmJiB0YXJnZXQuZGF0YXNldFsnYWN0aW9uJ10gPT09ICdvcGVuU2lkZVBhbmVsJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5TaWRlUGFuZWwubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VsZWN0Q2hlY2tib3hDbGljayhjaGVja2VkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IGNoZWNrZWQ7XHJcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZVNlbGVjdGVkUXVhbnRpdHkoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVTZWxlY3RlZFF1YW50aXR5KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdDogQ2hhbmdlTGluZVF1YW50aXR5U2VsZWN0ZWRMaW5lUmVxdWVzdCA9IG5ldyBDaGFuZ2VMaW5lUXVhbnRpdHlTZWxlY3RlZExpbmVSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmxpbmVVdWlkID0gdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZDtcclxuICAgIHJlcXVlc3QubmV3UXVhbnRpdHlTZWxlY3RlZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID8gdGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50U2VsZWN0ZWQgOiAwO1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlUXVhbnRpdHlTZWxlY3RlZFRyYW5zYWN0aW9uTGluZSh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkLCBbcmVxdWVzdF0sIGZhbHNlLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCkge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25MaW5lU2V0KCk7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50U2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnRTZWxlY3RlZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrQ2hlY2tib3goKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkluZm8gJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUpIHtcclxuICAgICAgaWYgKHRoaXMudHJhbnNhY3Rpb25JbmZvLmFsbG93UGFydGlhbERlbGl2ZXJ5KSB7XHJcbiAgICAgICAgdGhpcy5zaG93Q2hlY2tib3ggPSB0aGlzLmxpbmVRdWFudGl0eVRvRGVsaXZlciAhPT0gMCAmJiAhdGhpcy5saW5lSXNEZWxpdmVyZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zaG93Q2hlY2tib3ggPSB0aGlzLmNhbkFsbExpbmVzQmVEZWxpdmVyZWQgJiYgIXRoaXMubGluZUlzRGVsaXZlcmVkO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY2hlY2tib3hSZWFkb25seSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5saW5lU2VsZWN0ZWRGb3JEZWxpdmVyeS5uZXh0KHtsaW5lVXVpZDogdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgc2VsZWN0ZWQ6IHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -11,6 +11,7 @@ export class TransactionLineActionButtonsPopupComponent {
|
|
|
11
11
|
this.addDocumentButtonClick = new EventEmitter();
|
|
12
12
|
this.articleTextButtonClick = new EventEmitter();
|
|
13
13
|
this.transactionTextButtonClick = new EventEmitter();
|
|
14
|
+
this.createServiceButtonClick = new EventEmitter();
|
|
14
15
|
this.sidePanelButtonClick = new EventEmitter();
|
|
15
16
|
this.showClass = true;
|
|
16
17
|
}
|
|
@@ -34,6 +35,11 @@ export class TransactionLineActionButtonsPopupComponent {
|
|
|
34
35
|
event.stopPropagation();
|
|
35
36
|
this.transactionTextButtonClick.emit();
|
|
36
37
|
}
|
|
38
|
+
handleCreateServiceButtonClick(event) {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
event.stopPropagation();
|
|
41
|
+
this.createServiceButtonClick.emit();
|
|
42
|
+
}
|
|
37
43
|
handleSidePanelButtonClick(event) {
|
|
38
44
|
event.preventDefault();
|
|
39
45
|
event.stopPropagation();
|
|
@@ -53,14 +59,18 @@ TransactionLineActionButtonsPopupComponent.decorators = [
|
|
|
53
59
|
<co-icon [iconData]="iconCacheService.getIcon(icons.Attachments)"></co-icon>
|
|
54
60
|
<div class="action-button-description" [textContent]="'ADD_DOCUMENT' | localize"></div>
|
|
55
61
|
</div>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
<div class="action-button-wrapper" (click)="handleArticleTextButtonClick($event)" [screenConfigurationObject]="configNames?.addProductTextBtn" screenConfigNativeElement>
|
|
63
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.TextSizeSolid)"></co-icon>
|
|
64
|
+
<div class="action-button-description" [textContent]="'PRODUCT_DESCRIPTION_AND_TEXTS' | localize"></div>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="action-button-wrapper" (click)="handleCreateServiceButtonClick($event)" [screenConfigurationObject]="configNames?.sidePanelBtn" screenConfigNativeElement>
|
|
67
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.DetailView)"></co-icon>
|
|
68
|
+
<div class="action-button-description" [textContent]="'SERVICEORDER' | localize"></div>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="action-button-wrapper" (click)="handleSidePanelButtonClick($event)" [screenConfigurationObject]="configNames?.sidePanelBtn" screenConfigNativeElement>
|
|
71
|
+
<co-icon [iconData]="iconCacheService.getIcon(icons.ObjectIntersectSolid)"></co-icon>
|
|
72
|
+
<div class="action-button-description" [textContent]="'SIDE_PANEL' | localize"></div>
|
|
73
|
+
</div>
|
|
64
74
|
</div>
|
|
65
75
|
`,
|
|
66
76
|
providers: [{
|
|
@@ -82,7 +92,8 @@ TransactionLineActionButtonsPopupComponent.propDecorators = {
|
|
|
82
92
|
addDocumentButtonClick: [{ type: Output }],
|
|
83
93
|
articleTextButtonClick: [{ type: Output }],
|
|
84
94
|
transactionTextButtonClick: [{ type: Output }],
|
|
95
|
+
createServiceButtonClick: [{ type: Output }],
|
|
85
96
|
sidePanelButtonClick: [{ type: Output }],
|
|
86
97
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-line-action-buttons-popup",] }]
|
|
87
98
|
};
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1hY3Rpb24tYnV0dG9ucy1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbEUsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFrQzVGLE1BQU0sT0FBTywwQ0FBMEM7SUFnQ25ELFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBL0JyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQVNuQywyQkFBc0IsR0FBVyxLQUFLLENBQUM7UUFHdkMsNkJBQXdCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHeEUsMkJBQXNCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdEUsMkJBQXNCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdEUsK0JBQTBCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUUsNkJBQXdCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHeEUseUJBQW9CLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHcEUsY0FBUyxHQUFZLElBQUksQ0FBQztJQUVqQyxDQUFDO0lBRU0sOEJBQThCLENBQUMsS0FBaUI7UUFDckQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLDRCQUE0QixDQUFDLEtBQWlCO1FBQ25ELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSw0QkFBNEIsQ0FBQyxLQUFpQjtRQUNqRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU0sZ0NBQWdDLENBQUMsS0FBaUI7UUFDckQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVNLDhCQUE4QixDQUFDLEtBQWlCO1FBQ3JELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxLQUFpQjtRQUMvQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzs7WUFyR0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwwQ0FBMEM7Z0JBQ3BELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qlg7Z0JBQ0MsU0FBUyxFQUFFLENBQUM7d0JBQ1IsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQztxQkFBQztpQkFDN0U7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQW5DTyxnQkFBZ0I7OzswQkF1Q25CLEtBQUs7K0JBR0wsS0FBSztxQ0FHTCxLQUFLO3VDQUdMLE1BQU07cUNBR04sTUFBTTtxQ0FHTixNQUFNO3lDQUdOLE1BQU07dUNBR04sTUFBTTttQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxnREFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7QWN0aW9uQnV0dG9uc0NmZ05hbWVzfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvYWN0aW9uLWJ1dHRvbnMtY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMtcG9wdXBcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zLXBvcHVwLXdyYXBwZXJcIiBbb3ZlcmxheV09XCJwYXJlbnRGb3JPdmVybGF5XCIgW3JpZ2h0QWxpZ25dPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9uLXdyYXBwZXJcIiAqbmdJZj1cImNhblJlb3BlbkV4dGVybmFsT3JkZXJcIiAoY2xpY2spPVwiSGFuZGxlUmVvcGVuRXh0ZXJuYWxPcmRlckNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRGV0YWlsVmlldylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbi1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInUkVPUEVOX0VYVEVSTkFMX09SREVSJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b24td3JhcHBlclwiIChjbGljayk9XCJoYW5kbGVBZGREb2N1bWVudEJ1dHRvbkNsaWNrKCRldmVudClcIiBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjb25maWdOYW1lcz8uYWRkRG9jdW1lbnRCdG5cIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BdHRhY2htZW50cylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbi1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInQUREX0RPQ1VNRU5UJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b24td3JhcHBlclwiIChjbGljayk9XCJoYW5kbGVBcnRpY2xlVGV4dEJ1dHRvbkNsaWNrKCRldmVudClcIiBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjb25maWdOYW1lcz8uYWRkUHJvZHVjdFRleHRCdG5cIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRleHRTaXplU29saWQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbi1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInUFJPRFVDVF9ERVNDUklQVElPTl9BTkRfVEVYVFMnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbi13cmFwcGVyXCIgKGNsaWNrKT1cImhhbmRsZUNyZWF0ZVNlcnZpY2VCdXR0b25DbGljaygkZXZlbnQpXCIgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY29uZmlnTmFtZXM/LnNpZGVQYW5lbEJ0blwiIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkRldGFpbFZpZXcpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b24tZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1NFUlZJQ0VPUkRFUicgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tYnV0dG9uLXdyYXBwZXJcIiAoY2xpY2spPVwiaGFuZGxlU2lkZVBhbmVsQnV0dG9uQ2xpY2soJGV2ZW50KVwiIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNvbmZpZ05hbWVzPy5zaWRlUGFuZWxCdG5cIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLk9iamVjdEludGVyc2VjdFNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1idXR0b24tZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1NJREVfUEFORUwnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgYCxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNQb3B1cENvbXBvbmVudCl9XHJcbiAgICBdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25MaW5lQWN0aW9uQnV0dG9uc1BvcHVwQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29uZmlnTmFtZXM6IEFjdGlvbkJ1dHRvbnNDZmdOYW1lcztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHBhcmVudEZvck92ZXJsYXk6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYW5SZW9wZW5FeHRlcm5hbE9yZGVyOmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZW9wZW5FeHRlcm5hbE9yZGVyQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBhZGREb2N1bWVudEJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYXJ0aWNsZVRleHRCdXR0b25DbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uVGV4dEJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgY3JlYXRlU2VydmljZUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgc2lkZVBhbmVsQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zLXBvcHVwXCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIEhhbmRsZVJlb3BlbkV4dGVybmFsT3JkZXJDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5yZW9wZW5FeHRlcm5hbE9yZGVyQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVBZGREb2N1bWVudEJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB0aGlzLmFkZERvY3VtZW50QnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVBcnRpY2xlVGV4dEJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLmFydGljbGVUZXh0QnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVUcmFuc2FjdGlvblRleHRCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvblRleHRCdXR0b25DbGljay5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNyZWF0ZVNlcnZpY2VCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5jcmVhdGVTZXJ2aWNlQnV0dG9uQ2xpY2suZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVTaWRlUGFuZWxCdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5zaWRlUGFuZWxCdXR0b25DbGljay5lbWl0KCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|