@hmcts/ccpay-web-component 4.0.0-beta45 → 4.0.0-beta451
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/hmcts-ccpay-web-component.umd.js +6566 -2356
- package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
- package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
- package/esm2015/hmcts-ccpay-web-component.js +33 -25
- package/esm2015/lib/components/add-remission/add-remission.component.js +757 -140
- package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +315 -312
- package/esm2015/lib/components/card-details/card-details.component.js +22 -57
- package/esm2015/lib/components/case-transactions/case-transactions.component.js +1069 -333
- package/esm2015/lib/components/error-banner/error-banner.component.js +5 -17
- package/esm2015/lib/components/fee-summary/fee-summary.component.js +245 -241
- package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +137 -158
- package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +184 -171
- package/esm2015/lib/components/page-not-found.component.js +3 -4
- package/esm2015/lib/components/payment-list/payment-list.component.js +22 -80
- package/esm2015/lib/components/payment-view/payment-view.component.js +269 -129
- package/esm2015/lib/components/pba-details/pba-details.component.js +5 -39
- package/esm2015/lib/components/process-refund/process-refund.component.js +314 -0
- package/esm2015/lib/components/processed-payments/processed-payments.component.js +72 -0
- package/esm2015/lib/components/refund-list/refund-list.component.js +140 -0
- package/esm2015/lib/components/refund-status/refund-status.component.js +487 -0
- package/esm2015/lib/components/refunds/refunds.component.js +23 -0
- package/esm2015/lib/components/reports/reports.component.js +117 -107
- package/esm2015/lib/components/status-history/status-history.component.js +28 -35
- package/esm2015/lib/components/table/table.component.js +158 -0
- package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +178 -89
- package/esm2015/lib/interfaces/AddRemissionRequest.js +6 -7
- package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +21 -0
- package/esm2015/lib/interfaces/AllocatePaymentRequest.js +11 -9
- package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
- package/esm2015/lib/interfaces/IBSPayments.js +38 -35
- package/esm2015/lib/interfaces/ICardDetails.js +14 -13
- package/esm2015/lib/interfaces/IFee.js +44 -29
- package/esm2015/lib/interfaces/IOrderReferenceFee.js +25 -0
- package/esm2015/lib/interfaces/IPatchRefundAction.js +15 -0
- package/esm2015/lib/interfaces/IPayment.js +56 -55
- package/esm2015/lib/interfaces/IPaymentGroup.js +12 -11
- package/esm2015/lib/interfaces/IPaymentStatus.js +2 -3
- package/esm2015/lib/interfaces/IPaymentView.js +17 -0
- package/esm2015/lib/interfaces/IPayments.js +6 -5
- package/esm2015/lib/interfaces/IRefundAction.js +15 -0
- package/esm2015/lib/interfaces/IRefundList.js +29 -0
- package/esm2015/lib/interfaces/IRefundReasons.js +17 -0
- package/esm2015/lib/interfaces/IRefundRejectReason.js +15 -0
- package/esm2015/lib/interfaces/IRefundStatus.js +23 -0
- package/esm2015/lib/interfaces/IRemission.js +18 -17
- package/esm2015/lib/interfaces/IResubmitRefundRequest.js +21 -0
- package/esm2015/lib/interfaces/IStatusHistories.js +12 -11
- package/esm2015/lib/interfaces/IStatusHistory.js +14 -13
- package/esm2015/lib/interfaces/IssueRefundRequest.js +25 -0
- package/esm2015/lib/interfaces/PayhubAntennaRequest.js +28 -0
- package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +7 -12
- package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +17 -0
- package/esm2015/lib/interfaces/PostRefundRetroRemission.js +21 -0
- package/esm2015/lib/interfaces/RefundsRequest.js +21 -0
- package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
- package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
- package/esm2015/lib/payment-lib.component.js +112 -18
- package/esm2015/lib/payment-lib.module.js +33 -6
- package/esm2015/lib/payment-lib.service.js +18 -4
- package/esm2015/lib/pipes/capitalize.pipe.js +24 -0
- package/esm2015/lib/pipes/ccd-hyphens.pipe.js +3 -4
- package/esm2015/lib/pipes/key-value.pipe.js +3 -4
- package/esm2015/lib/pipes/sanitize-html.pipe.js +7 -5
- package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +52 -14
- package/esm2015/lib/services/card-details/card-details.service.js +19 -8
- package/esm2015/lib/services/case-transactions/case-transactions.service.js +19 -8
- package/esm2015/lib/services/orderslist.service.js +211 -0
- package/esm2015/lib/services/payment-list/payment-list.service.js +19 -8
- package/esm2015/lib/services/payment-view/payment-view.service.js +107 -12
- package/esm2015/lib/services/refunds/refunds.service.js +196 -0
- package/esm2015/lib/services/shared/error-handler.service.js +6 -4
- package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +17 -8
- package/esm2015/lib/services/shared/logger/console-logger.service.js +7 -5
- package/esm2015/lib/services/shared/logger/logger.service.js +7 -5
- package/esm2015/lib/services/status-history/status-history.service.js +19 -8
- package/esm2015/lib/services/xl-file/xl-file.service.js +57 -50
- package/esm2015/public_api.js +1 -2
- package/esm5/hmcts-ccpay-web-component.js +33 -25
- package/esm5/lib/components/add-remission/add-remission.component.js +822 -47
- package/esm5/lib/components/allocate-payments/allocate-payments.component.js +328 -107
- package/esm5/lib/components/card-details/card-details.component.js +22 -9
- package/esm5/lib/components/case-transactions/case-transactions.component.js +1170 -85
- package/esm5/lib/components/error-banner/error-banner.component.js +3 -4
- package/esm5/lib/components/fee-summary/fee-summary.component.js +252 -57
- package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +136 -45
- package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +189 -60
- package/esm5/lib/components/page-not-found.component.js +3 -4
- package/esm5/lib/components/payment-list/payment-list.component.js +21 -8
- package/esm5/lib/components/payment-view/payment-view.component.js +318 -17
- package/esm5/lib/components/pba-details/pba-details.component.js +5 -6
- package/esm5/lib/components/process-refund/process-refund.component.js +336 -0
- package/esm5/lib/components/processed-payments/processed-payments.component.js +83 -0
- package/esm5/lib/components/refund-list/refund-list.component.js +143 -0
- package/esm5/lib/components/refund-status/refund-status.component.js +545 -0
- package/esm5/lib/components/refunds/refunds.component.js +29 -0
- package/esm5/lib/components/reports/reports.component.js +122 -25
- package/esm5/lib/components/status-history/status-history.component.js +27 -9
- package/esm5/lib/components/table/table.component.js +188 -0
- package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +188 -24
- package/esm5/lib/interfaces/AddRemissionRequest.js +5 -6
- package/esm5/lib/interfaces/AddRetroRemissionRequest.js +19 -0
- package/esm5/lib/interfaces/AllocatePaymentRequest.js +9 -8
- package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
- package/esm5/lib/interfaces/IBSPayments.js +38 -35
- package/esm5/lib/interfaces/ICardDetails.js +14 -13
- package/esm5/lib/interfaces/IFee.js +44 -29
- package/esm5/lib/interfaces/IOrderReferenceFee.js +25 -0
- package/esm5/lib/interfaces/IPatchRefundAction.js +15 -0
- package/esm5/lib/interfaces/IPayment.js +56 -55
- package/esm5/lib/interfaces/IPaymentGroup.js +12 -11
- package/esm5/lib/interfaces/IPaymentStatus.js +2 -3
- package/esm5/lib/interfaces/IPaymentView.js +17 -0
- package/esm5/lib/interfaces/IPayments.js +6 -5
- package/esm5/lib/interfaces/IRefundAction.js +15 -0
- package/esm5/lib/interfaces/IRefundList.js +29 -0
- package/esm5/lib/interfaces/IRefundReasons.js +17 -0
- package/esm5/lib/interfaces/IRefundRejectReason.js +15 -0
- package/esm5/lib/interfaces/IRefundStatus.js +23 -0
- package/esm5/lib/interfaces/IRemission.js +18 -17
- package/esm5/lib/interfaces/IResubmitRefundRequest.js +19 -0
- package/esm5/lib/interfaces/IStatusHistories.js +12 -11
- package/esm5/lib/interfaces/IStatusHistory.js +14 -13
- package/esm5/lib/interfaces/IssueRefundRequest.js +22 -0
- package/esm5/lib/interfaces/PayhubAntennaRequest.js +25 -0
- package/esm5/lib/interfaces/PaymentToPayhubRequest.js +6 -10
- package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +16 -0
- package/esm5/lib/interfaces/PostRefundRetroRemission.js +19 -0
- package/esm5/lib/interfaces/RefundsRequest.js +19 -0
- package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
- package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
- package/esm5/lib/payment-lib.component.js +84 -12
- package/esm5/lib/payment-lib.module.js +33 -6
- package/esm5/lib/payment-lib.service.js +25 -4
- package/esm5/lib/pipes/capitalize.pipe.js +32 -0
- package/esm5/lib/pipes/ccd-hyphens.pipe.js +3 -4
- package/esm5/lib/pipes/key-value.pipe.js +3 -4
- package/esm5/lib/pipes/sanitize-html.pipe.js +7 -5
- package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +61 -14
- package/esm5/lib/services/card-details/card-details.service.js +19 -8
- package/esm5/lib/services/case-transactions/case-transactions.service.js +19 -8
- package/esm5/lib/services/orderslist.service.js +276 -0
- package/esm5/lib/services/payment-list/payment-list.service.js +19 -8
- package/esm5/lib/services/payment-view/payment-view.service.js +150 -13
- package/esm5/lib/services/refunds/refunds.service.js +236 -0
- package/esm5/lib/services/shared/error-handler.service.js +6 -4
- package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +17 -8
- package/esm5/lib/services/shared/logger/console-logger.service.js +7 -5
- package/esm5/lib/services/shared/logger/logger.service.js +7 -5
- package/esm5/lib/services/status-history/status-history.service.js +19 -8
- package/esm5/lib/services/xl-file/xl-file.service.js +63 -50
- package/esm5/public_api.js +1 -2
- package/fesm2015/hmcts-ccpay-web-component.js +4486 -2023
- package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
- package/fesm5/hmcts-ccpay-web-component.js +6799 -2424
- package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
- package/hmcts-ccpay-web-component.d.ts +31 -22
- package/hmcts-ccpay-web-component.metadata.json +1 -1
- package/lib/components/add-remission/add-remission.component.d.ts +77 -3
- package/lib/components/allocate-payments/allocate-payments.component.d.ts +26 -9
- package/lib/components/case-transactions/case-transactions.component.d.ts +84 -4
- package/lib/components/fee-summary/fee-summary.component.d.ts +13 -1
- package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +2 -0
- package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +7 -0
- package/lib/components/payment-view/payment-view.component.d.ts +34 -1
- package/lib/components/process-refund/process-refund.component.d.ts +46 -0
- package/lib/components/processed-payments/processed-payments.component.d.ts +14 -0
- package/lib/components/refund-list/refund-list.component.d.ts +23 -0
- package/lib/components/refund-status/refund-status.component.d.ts +66 -0
- package/lib/components/refunds/refunds.component.d.ts +5 -0
- package/lib/components/reports/reports.component.d.ts +5 -1
- package/lib/components/status-history/status-history.component.d.ts +1 -0
- package/lib/components/table/table.component.d.ts +35 -0
- package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +25 -4
- package/lib/interfaces/AddRemissionRequest.d.ts +2 -2
- package/lib/interfaces/AddRetroRemissionRequest.d.ts +5 -0
- package/lib/interfaces/AllocatePaymentRequest.d.ts +16 -3
- package/lib/interfaces/IBSPayments.d.ts +1 -0
- package/lib/interfaces/IFee.d.ts +7 -0
- package/lib/interfaces/IOrderReferenceFee.d.ts +9 -0
- package/lib/interfaces/IPatchRefundAction.d.ts +4 -0
- package/lib/interfaces/IPaymentView.d.ts +5 -0
- package/lib/interfaces/IRefundAction.d.ts +4 -0
- package/lib/interfaces/IRefundList.d.ts +14 -0
- package/lib/interfaces/IRefundReasons.d.ts +5 -0
- package/lib/interfaces/IRefundRejectReason.d.ts +4 -0
- package/lib/interfaces/IRefundStatus.d.ts +8 -0
- package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -0
- package/lib/interfaces/IssueRefundRequest.d.ts +6 -0
- package/lib/interfaces/PayhubAntennaRequest.d.ts +7 -0
- package/lib/interfaces/PaymentToPayhubRequest.d.ts +2 -3
- package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +4 -0
- package/lib/interfaces/PostRefundRetroRemission.d.ts +5 -0
- package/lib/interfaces/RefundsRequest.d.ts +5 -0
- package/lib/payment-lib.component.d.ts +28 -3
- package/lib/payment-lib.service.d.ts +3 -0
- package/lib/pipes/capitalize.pipe.d.ts +5 -0
- package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +2 -0
- package/lib/services/orderslist.service.d.ts +40 -0
- package/lib/services/payment-view/payment-view.service.d.ts +17 -1
- package/lib/services/refunds/refunds.service.d.ts +30 -0
- package/lib/services/xl-file/xl-file.service.d.ts +6 -6
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
@@ -77,9 +77,13 @@ export class WebComponentHttpClient {
|
|
|
77
77
|
/** @type {?} */
|
|
78
78
|
const headers = {};
|
|
79
79
|
if (options.headers) {
|
|
80
|
-
options.headers.forEach(
|
|
80
|
+
options.headers.forEach((/**
|
|
81
|
+
* @param {?} element
|
|
82
|
+
* @return {?}
|
|
83
|
+
*/
|
|
84
|
+
element => {
|
|
81
85
|
headers[element] = options.headers.get(element);
|
|
82
|
-
});
|
|
86
|
+
}));
|
|
83
87
|
}
|
|
84
88
|
headers['X-Requested-With'] = 'XMLHttpRequest';
|
|
85
89
|
headers['CSRF-Token'] = csrfToken.content;
|
|
@@ -89,7 +93,7 @@ export class WebComponentHttpClient {
|
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
95
|
WebComponentHttpClient.decorators = [
|
|
92
|
-
{ type: Injectable }
|
|
96
|
+
{ type: Injectable }
|
|
93
97
|
];
|
|
94
98
|
/** @nocollapse */
|
|
95
99
|
WebComponentHttpClient.ctorParameters = () => [
|
|
@@ -97,10 +101,15 @@ WebComponentHttpClient.ctorParameters = () => [
|
|
|
97
101
|
{ type: Meta }
|
|
98
102
|
];
|
|
99
103
|
if (false) {
|
|
100
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* @type {?}
|
|
106
|
+
* @private
|
|
107
|
+
*/
|
|
101
108
|
WebComponentHttpClient.prototype.http;
|
|
102
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* @type {?}
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
103
113
|
WebComponentHttpClient.prototype.meta;
|
|
104
114
|
}
|
|
105
|
-
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY29tcG9uZW50Lmh0dHAuY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWpELE1BQU07Ozs7O0lBQ0osWUFDVSxNQUNBO1FBREEsU0FBSSxHQUFKLElBQUk7UUFDSixTQUFJLEdBQUosSUFBSTtLQUNUOzs7Ozs7O0lBRUwsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BQWE7O1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3hDOzs7Ozs7O0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BQWE7O1FBQzlDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3ZDOzs7Ozs7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQWE7O1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDakM7Ozs7OztJQUVELE1BQU0sQ0FBQyxHQUFXLEVBQUUsT0FBYTs7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNwQzs7Ozs7OztJQUVELEtBQUssQ0FBQyxHQUFXLEVBQUUsSUFBZ0IsRUFBRSxPQUFhOztRQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN6Qzs7Ozs7SUFFRCxVQUFVLENBQUMsT0FBWTs7UUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQzs7UUFDdEQsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNoQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDakQsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsa0JBQWtCLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUMxQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUM7S0FDaEI7OztZQTdDRixVQUFVOzs7O1lBSkYsVUFBVTtZQUNWLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFdlYkNvbXBvbmVudEh0dHBDbGllbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBtZXRhOiBNZXRhXG4gICkgeyB9XG5cbiAgcG9zdCh1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyhvcHRpb25zIHx8IHt9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBib2R5LCBvcHRzKTtcbiAgfVxuXG4gIHB1dCh1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyhvcHRpb25zIHx8IHt9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh1cmwsIGJvZHksIG9wdHMpO1xuICB9XG5cbiAgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBvcHRzID0gdGhpcy5hZGRIZWFkZXJzKG9wdGlvbnMgfHwge30pO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgb3B0cyk7XG4gIH1cblxuICBkZWxldGUodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG9wdHMgPSB0aGlzLmFkZEhlYWRlcnMob3B0aW9ucyB8fCB7fSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsLCBvcHRzKTtcbiAgfVxuICBcbiAgcGF0Y2godXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG9wdHMgPSB0aGlzLmFkZEhlYWRlcnMob3B0aW9ucyB8fCB7fSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaCh1cmwsIGJvZHksIG9wdHMpO1xuICB9XG5cbiAgYWRkSGVhZGVycyhvcHRpb25zOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IGNzcmZUb2tlbiA9IHRoaXMubWV0YS5nZXRUYWcoJ25hbWU9Y3NyZi10b2tlbicpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7fTtcbiAgICBpZiAob3B0aW9ucy5oZWFkZXJzKSB7XG4gICAgICBvcHRpb25zLmhlYWRlcnMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgaGVhZGVyc1tlbGVtZW50XSA9IG9wdGlvbnMuaGVhZGVycy5nZXQoZWxlbWVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaGVhZGVyc1snWC1SZXF1ZXN0ZWQtV2l0aCddID0gJ1hNTEh0dHBSZXF1ZXN0JztcbiAgICBoZWFkZXJzWydDU1JGLVRva2VuJ10gPSBjc3JmVG9rZW4uY29udGVudDtcbiAgICBvcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoaGVhZGVycyk7XG4gICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSAndGV4dCc7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY29tcG9uZW50Lmh0dHAuY2xpZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSWpELE1BQU0sT0FBTyxzQkFBc0I7Ozs7O0lBQ2pDLFlBQ1UsSUFBZ0IsRUFDaEIsSUFBVTtRQURWLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBTTtJQUNoQixDQUFDOzs7Ozs7O0lBRUwsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BQWE7O2NBQ3pDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7Ozs7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLElBQWdCLEVBQUUsT0FBYTs7Y0FDeEMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Ozs7O0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxPQUFhOztjQUN0QixJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7OztJQUVELE1BQU0sQ0FBQyxHQUFXLEVBQUUsT0FBYTs7Y0FDekIsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7Ozs7O0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxJQUFnQixFQUFFLE9BQWE7O2NBQzFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLE9BQVk7O2NBQ2YsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDOztjQUMvQyxPQUFPLEdBQUcsRUFBRTtRQUNsQixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7O1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2hDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRCxDQUFDLEVBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsZ0JBQWdCLENBQUM7UUFDL0MsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDMUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUM5QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzs7WUE3Q0YsVUFBVTs7OztZQUpGLFVBQVU7WUFDVixJQUFJOzs7Ozs7O0lBTVQsc0NBQXdCOzs7OztJQUN4QixzQ0FBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFdlYkNvbXBvbmVudEh0dHBDbGllbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBtZXRhOiBNZXRhXG4gICkgeyB9XG5cbiAgcG9zdCh1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyhvcHRpb25zIHx8IHt9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBib2R5LCBvcHRzKTtcbiAgfVxuXG4gIHB1dCh1cmw6IHN0cmluZywgYm9keTogYW55IHwgbnVsbCwgb3B0aW9ucz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMuYWRkSGVhZGVycyhvcHRpb25zIHx8IHt9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh1cmwsIGJvZHksIG9wdHMpO1xuICB9XG5cbiAgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBvcHRzID0gdGhpcy5hZGRIZWFkZXJzKG9wdGlvbnMgfHwge30pO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgb3B0cyk7XG4gIH1cblxuICBkZWxldGUodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG9wdHMgPSB0aGlzLmFkZEhlYWRlcnMob3B0aW9ucyB8fCB7fSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsLCBvcHRzKTtcbiAgfVxuICBcbiAgcGF0Y2godXJsOiBzdHJpbmcsIGJvZHk6IGFueSB8IG51bGwsIG9wdGlvbnM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IG9wdHMgPSB0aGlzLmFkZEhlYWRlcnMob3B0aW9ucyB8fCB7fSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaCh1cmwsIGJvZHksIG9wdHMpO1xuICB9XG5cbiAgYWRkSGVhZGVycyhvcHRpb25zOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IGNzcmZUb2tlbiA9IHRoaXMubWV0YS5nZXRUYWcoJ25hbWU9Y3NyZi10b2tlbicpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7fTtcbiAgICBpZiAob3B0aW9ucy5oZWFkZXJzKSB7XG4gICAgICBvcHRpb25zLmhlYWRlcnMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgaGVhZGVyc1tlbGVtZW50XSA9IG9wdGlvbnMuaGVhZGVycy5nZXQoZWxlbWVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaGVhZGVyc1snWC1SZXF1ZXN0ZWQtV2l0aCddID0gJ1hNTEh0dHBSZXF1ZXN0JztcbiAgICBoZWFkZXJzWydDU1JGLVRva2VuJ10gPSBjc3JmVG9rZW4uY29udGVudDtcbiAgICBvcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoaGVhZGVycyk7XG4gICAgb3B0aW9ucy5yZXNwb25zZVR5cGUgPSAndGV4dCc7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/** @type {?} */
|
|
8
8
|
export let isDebugMode = false;
|
|
9
9
|
/** @type {?} */
|
|
10
|
-
const noop = (
|
|
10
|
+
const noop = (/**
|
|
11
|
+
* @return {?}
|
|
12
|
+
*/
|
|
13
|
+
() => undefined);
|
|
11
14
|
const ɵ0 = noop;
|
|
12
15
|
export class ConsoleLoggerService {
|
|
13
16
|
/**
|
|
@@ -57,9 +60,8 @@ export class ConsoleLoggerService {
|
|
|
57
60
|
ConsoleLoggerService.decorators = [
|
|
58
61
|
{ type: Injectable, args: [{
|
|
59
62
|
providedIn: 'root'
|
|
60
|
-
},] }
|
|
63
|
+
},] }
|
|
61
64
|
];
|
|
62
65
|
/** @nocollapse */ ConsoleLoggerService.ngInjectableDef = i0.defineInjectable({ factory: function ConsoleLoggerService_Factory() { return new ConsoleLoggerService(); }, token: ConsoleLoggerService, providedIn: "root" });
|
|
63
66
|
export { ɵ0 };
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3NoYXJlZC9sb2dnZXIvY29uc29sZS1sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNDLFdBQVcsV0FBVyxHQUFHLEtBQUssQ0FBQzs7QUFFL0IsTUFBTSxJQUFJLEdBQUcsR0FBUSxFQUFFLENBQUMsU0FBUyxDQUFDOztBQUtsQyxNQUFNOzs7O0lBRUosSUFBSSxJQUFJO1FBQ04sRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDYjtLQUNGOzs7O0lBRUQsSUFBSSxJQUFJO1FBQ04sRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDYjtLQUNGOzs7O0lBRUQsSUFBSSxLQUFLO1FBQ1AsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDYjtLQUNGOzs7Ozs7SUFFRCxtQkFBbUIsQ0FBQyxJQUFZLEVBQUUsSUFBVTs7UUFDMUMsTUFBTSxLQUFLLEdBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQztRQUMvRCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDOUI7OztZQWhDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcblxuZXhwb3J0IGxldCBpc0RlYnVnTW9kZSA9IGZhbHNlO1xuXG5jb25zdCBub29wID0gKCk6IGFueSA9PiB1bmRlZmluZWQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbnNvbGVMb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgTG9nZ2VyIHtcblxuICBnZXQgaW5mbygpIHtcbiAgICBpZiAoaXNEZWJ1Z01vZGUpIHtcbiAgICAgIHJldHVybiBjb25zb2xlLmluZm8uYmluZChjb25zb2xlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5vb3A7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHdhcm4oKSB7XG4gICAgaWYgKGlzRGVidWdNb2RlKSB7XG4gICAgICByZXR1cm4gY29uc29sZS53YXJuLmJpbmQoY29uc29sZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBub29wO1xuICAgIH1cbiAgfVxuXG4gIGdldCBlcnJvcigpIHtcbiAgICBpZiAoaXNEZWJ1Z01vZGUpIHtcbiAgICAgIHJldHVybiBjb25zb2xlLmVycm9yLmJpbmQoY29uc29sZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBub29wO1xuICAgIH1cbiAgfVxuXG4gIGludm9rZUNvbnNvbGVNZXRob2QodHlwZTogc3RyaW5nLCBhcmdzPzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgbG9nRm46IEZ1bmN0aW9uID0gKGNvbnNvbGUpW3R5cGVdIHx8IGNvbnNvbGUubG9nIHx8IG5vb3A7XG4gICAgbG9nRm4uYXBwbHkoY29uc29sZSwgW2FyZ3NdKTtcbiAgfVxufVxuIl19
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS1sb2dnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3NoYXJlZC9sb2dnZXIvY29uc29sZS1sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRzNDLE1BQU0sS0FBSyxXQUFXLEdBQUcsS0FBSzs7TUFFeEIsSUFBSTs7O0FBQUcsR0FBUSxFQUFFLENBQUMsU0FBUyxDQUFBOztBQUtqQyxNQUFNLE9BQU8sb0JBQW9COzs7O0lBRS9CLElBQUksSUFBSTtRQUNOLElBQUksV0FBVyxFQUFFO1lBQ2YsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7Ozs7SUFFRCxJQUFJLElBQUk7UUFDTixJQUFJLFdBQVcsRUFBRTtZQUNmLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7O0lBRUQsSUFBSSxLQUFLO1FBQ1AsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7Ozs7O0lBRUQsbUJBQW1CLENBQUMsSUFBWSxFQUFFLElBQVU7O2NBQ3BDLEtBQUssR0FBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBSTtRQUM5RCxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7O1lBaENGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgbGV0IGlzRGVidWdNb2RlID0gZmFsc2U7XG5cbmNvbnN0IG5vb3AgPSAoKTogYW55ID0+IHVuZGVmaW5lZDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29uc29sZUxvZ2dlclNlcnZpY2UgaW1wbGVtZW50cyBMb2dnZXIge1xuXG4gIGdldCBpbmZvKCkge1xuICAgIGlmIChpc0RlYnVnTW9kZSkge1xuICAgICAgcmV0dXJuIGNvbnNvbGUuaW5mby5iaW5kKGNvbnNvbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbm9vcDtcbiAgICB9XG4gIH1cblxuICBnZXQgd2FybigpIHtcbiAgICBpZiAoaXNEZWJ1Z01vZGUpIHtcbiAgICAgIHJldHVybiBjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5vb3A7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGVycm9yKCkge1xuICAgIGlmIChpc0RlYnVnTW9kZSkge1xuICAgICAgcmV0dXJuIGNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5vb3A7XG4gICAgfVxuICB9XG5cbiAgaW52b2tlQ29uc29sZU1ldGhvZCh0eXBlOiBzdHJpbmcsIGFyZ3M/OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBsb2dGbjogRnVuY3Rpb24gPSAoY29uc29sZSlbdHlwZV0gfHwgY29uc29sZS5sb2cgfHwgbm9vcDtcbiAgICBsb2dGbi5hcHBseShjb25zb2xlLCBbYXJnc10pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/** @type {?} */
|
|
8
|
-
const noop = (
|
|
8
|
+
const noop = (/**
|
|
9
|
+
* @return {?}
|
|
10
|
+
*/
|
|
11
|
+
() => undefined);
|
|
9
12
|
const ɵ0 = noop;
|
|
10
13
|
/**
|
|
11
14
|
* @abstract
|
|
@@ -31,7 +34,7 @@ export class LoggerService {
|
|
|
31
34
|
LoggerService.decorators = [
|
|
32
35
|
{ type: Injectable, args: [{
|
|
33
36
|
providedIn: 'root'
|
|
34
|
-
},] }
|
|
37
|
+
},] }
|
|
35
38
|
];
|
|
36
39
|
/** @nocollapse */ LoggerService.ngInjectableDef = i0.defineInjectable({ factory: function LoggerService_Factory() { return new LoggerService(); }, token: LoggerService, providedIn: "root" });
|
|
37
40
|
if (false) {
|
|
@@ -43,5 +46,4 @@ if (false) {
|
|
|
43
46
|
LoggerService.prototype.error;
|
|
44
47
|
}
|
|
45
48
|
export { ɵ0 };
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFM0MsTUFBTSxJQUFJLEdBQUcsR0FBUSxFQUFFLENBQUMsU0FBUyxDQUFDOzs7OztBQUVsQyxNQUFNO0NBS0w7Ozs7Ozs7OztBQUtELE1BQU07Ozs7OztJQU1KLG1CQUFtQixDQUFDLElBQVksRUFBRSxJQUFVLEtBQVU7OztZQVR2RCxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IG5vb3AgPSAoKTogYW55ID0+IHVuZGVmaW5lZDtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ2dlciB7XG5cbiAgaW5mbzogYW55O1xuICB3YXJuOiBhbnk7XG4gIGVycm9yOiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2dlclNlcnZpY2UgaW1wbGVtZW50cyBMb2dnZXIge1xuXG4gIGluZm86IGFueTtcbiAgd2FybjogYW55O1xuICBlcnJvcjogYW55O1xuXG4gIGludm9rZUNvbnNvbGVNZXRob2QodHlwZTogc3RyaW5nLCBhcmdzPzogYW55KTogdm9pZCB7fVxufVxuIl19
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7TUFFckMsSUFBSTs7O0FBQUcsR0FBUSxFQUFFLENBQUMsU0FBUyxDQUFBOzs7OztBQUVqQyxNQUFNLE9BQWdCLE1BQU07Q0FLM0I7OztJQUhDLHNCQUFVOztJQUNWLHNCQUFVOztJQUNWLHVCQUFXOztBQU1iLE1BQU0sT0FBTyxhQUFhOzs7Ozs7SUFNeEIsbUJBQW1CLENBQUMsSUFBWSxFQUFFLElBQVUsSUFBUyxDQUFDOzs7WUFUdkQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7OztJQUdDLDZCQUFVOztJQUNWLDZCQUFVOztJQUNWLDhCQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBub29wID0gKCk6IGFueSA9PiB1bmRlZmluZWQ7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMb2dnZXIge1xuXG4gIGluZm86IGFueTtcbiAgd2FybjogYW55O1xuICBlcnJvcjogYW55O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgTG9nZ2VyIHtcblxuICBpbmZvOiBhbnk7XG4gIHdhcm46IGFueTtcbiAgZXJyb3I6IGFueTtcblxuICBpbnZva2VDb25zb2xlTWV0aG9kKHR5cGU6IHN0cmluZywgYXJncz86IGFueSk6IHZvaWQge31cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import { PaymentLibService } from '../../payment-lib.service';
|
|
@@ -44,7 +44,7 @@ export class StatusHistoryService {
|
|
|
44
44
|
StatusHistoryService.decorators = [
|
|
45
45
|
{ type: Injectable, args: [{
|
|
46
46
|
providedIn: 'root'
|
|
47
|
-
},] }
|
|
47
|
+
},] }
|
|
48
48
|
];
|
|
49
49
|
/** @nocollapse */
|
|
50
50
|
StatusHistoryService.ctorParameters = () => [
|
|
@@ -55,14 +55,25 @@ StatusHistoryService.ctorParameters = () => [
|
|
|
55
55
|
];
|
|
56
56
|
/** @nocollapse */ StatusHistoryService.ngInjectableDef = i0.defineInjectable({ factory: function StatusHistoryService_Factory() { return new StatusHistoryService(i0.inject(i1.HttpClient), i0.inject(i2.LoggerService), i0.inject(i3.ErrorHandlerService), i0.inject(i4.PaymentLibService)); }, token: StatusHistoryService, providedIn: "root" });
|
|
57
57
|
if (false) {
|
|
58
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* @type {?}
|
|
60
|
+
* @private
|
|
61
|
+
*/
|
|
59
62
|
StatusHistoryService.prototype.http;
|
|
60
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* @type {?}
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
61
67
|
StatusHistoryService.prototype.logger;
|
|
62
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* @type {?}
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
63
72
|
StatusHistoryService.prototype.errorHandlerService;
|
|
64
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* @type {?}
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
65
77
|
StatusHistoryService.prototype.paymentLibService;
|
|
66
78
|
}
|
|
67
|
-
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhpc3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3N0YXR1cy1oaXN0b3J5L3N0YXR1cy1oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQU1oRSxNQUFNOzs7Ozs7O0lBRUosWUFBb0IsSUFBZ0IsRUFDaEIsUUFDQSxxQkFDQTtRQUhBLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU07UUFDTix3QkFBbUIsR0FBbkIsbUJBQW1CO1FBQ25CLHNCQUFpQixHQUFqQixpQkFBaUI7S0FBd0I7Ozs7OztJQUU3RCw2QkFBNkIsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQjtRQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0REFBNEQsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWpHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUIsYUFBYSxLQUFLLE1BQU0sSUFBSSxhQUFhLEtBQUssTUFBTSxJQUFJLGFBQWEsS0FBSyxRQUFRLElBQUksYUFBYSxLQUFLLGNBQWMsQ0FBQyxDQUFDO1lBQ3pKLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsa0JBQWtCLGdCQUFnQixXQUFXLENBQUMsQ0FBQztZQUNqRixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLDRCQUE0QixnQkFBZ0IsV0FBVyxFQUFFO1lBQzdGLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUM7YUFDRCxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztLQUNMOzs7WUFyQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBVlEsVUFBVTtZQUtWLGFBQWE7WUFGYixtQkFBbUI7WUFKbkIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGF5bWVudExpYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJU3RhdHVzSGlzdG9yaWVzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU3RhdHVzSGlzdG9yaWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNIaXN0b3J5U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlcnJvckhhbmRsZXJTZXJ2aWNlOiBFcnJvckhhbmRsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJTZXJ2aWNlOiBQYXltZW50TGliU2VydmljZSkgeyB9XG5cbiAgZ2V0UGF5bWVudFN0YXR1c2VzQnlSZWZlcmVuY2UocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nLCBwYXltZW50TWV0aG9kOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElTdGF0dXNIaXN0b3JpZXM+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGF0dXMtaGlzdG9yeS1zZXJ2aWNlIGdldFBheW1lbnRTdGF0dXNlc0J5UmVmZXJlbmNlIGZvcjogJywgcGF5bWVudFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU3RhdHVzSGlzdG9yaWVzPihwYXltZW50TWV0aG9kID09PSAnY2FyZCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2Nhc2gnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjaGVxdWUnIHx8IHBheW1lbnRNZXRob2QgPT09ICdwb3N0YWwgb3JkZXInID9cbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jYXJkLXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX0vc3RhdHVzZXNgIDpcbiAgICAgICAgICBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9jcmVkaXQtYWNjb3VudC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9L3N0YXR1c2VzYCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgICApO1xuICB9XG59XG4iXX0=
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhpc3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3N0YXR1cy1oaXN0b3J5L3N0YXR1cy1oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQU1oRSxNQUFNLE9BQU8sb0JBQW9COzs7Ozs7O0lBRS9CLFlBQW9CLElBQWdCLEVBQ2hCLE1BQXFCLEVBQ3JCLG1CQUF3QyxFQUN4QyxpQkFBb0M7UUFIcEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7Ozs7OztJQUU3RCw2QkFBNkIsQ0FBQyxnQkFBd0IsRUFBRSxhQUFxQjtRQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0REFBNEQsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWpHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLGFBQWEsS0FBSyxNQUFNLElBQUksYUFBYSxLQUFLLE1BQU0sSUFBSSxhQUFhLEtBQUssUUFBUSxJQUFJLGFBQWEsS0FBSyxjQUFjLENBQUMsQ0FBQztZQUN6SixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLGtCQUFrQixnQkFBZ0IsV0FBVyxDQUFDLENBQUM7WUFDakYsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSw0QkFBNEIsZ0JBQWdCLFdBQVcsRUFBRTtZQUM3RixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO2FBQ0QsSUFBSSxDQUNILFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDTixDQUFDOzs7WUFyQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBVlEsVUFBVTtZQUtWLGFBQWE7WUFGYixtQkFBbUI7WUFKbkIsaUJBQWlCOzs7Ozs7OztJQWNaLG9DQUF3Qjs7Ozs7SUFDeEIsc0NBQTZCOzs7OztJQUM3QixtREFBZ0Q7Ozs7O0lBQ2hELGlEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBheW1lbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSVN0YXR1c0hpc3RvcmllcyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVN0YXR1c0hpc3Rvcmllcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzSGlzdG9yeVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyU2VydmljZTogRXJyb3JIYW5kbGVyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwYXltZW50TGliU2VydmljZTogUGF5bWVudExpYlNlcnZpY2UpIHsgfVxuXG4gIGdldFBheW1lbnRTdGF0dXNlc0J5UmVmZXJlbmNlKHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJU3RhdHVzSGlzdG9yaWVzPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnU3RhdHVzLWhpc3Rvcnktc2VydmljZSBnZXRQYXltZW50U3RhdHVzZXNCeVJlZmVyZW5jZSBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVN0YXR1c0hpc3Rvcmllcz4ocGF5bWVudE1ldGhvZCA9PT0gJ2NhcmQnIHx8IHBheW1lbnRNZXRob2QgPT09ICdjYXNoJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2hlcXVlJyB8fCBwYXltZW50TWV0aG9kID09PSAncG9zdGFsIG9yZGVyJyA/XG4gICAgICAgICAgYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FyZC1wYXltZW50cy8ke3BheW1lbnRSZWZlcmVuY2V9L3N0YXR1c2VzYCA6XG4gICAgICAgICAgYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY3JlZGl0LWFjY291bnQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfS9zdGF0dXNlc2AsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import * as FileSaver from 'file-saver';
|
|
@@ -32,7 +32,7 @@ export class XlFileService {
|
|
|
32
32
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
33
33
|
}
|
|
34
34
|
else if (excelFileName.match('Processed_Unallocated') !== null) {
|
|
35
|
-
worksheet = XLSX.utils.json_to_sheet(json, { header: ['resp_service_id', 'resp_service_name', 'allocation_status', 'receiving_office', 'allocation_reason', 'ccd_exception_reference', 'ccd_case_reference', 'payment_asset_dcn', 'date_banked', 'bgc_batch', 'payment_method', 'amount'] });
|
|
35
|
+
worksheet = XLSX.utils.json_to_sheet(json, { header: ['resp_service_id', 'resp_service_name', 'allocation_status', 'receiving_office', 'allocation_reason', 'ccd_exception_reference', 'ccd_case_reference', 'payment_asset_dcn', 'env_ref', 'env_item', 'date_banked', 'bgc_batch', 'payment_method', 'amount'] });
|
|
36
36
|
worksheet = this.setProcessedUnallocatedReportHeaders(worksheet);
|
|
37
37
|
worksheet = this.autoFitColumns(worksheet, json);
|
|
38
38
|
}
|
|
@@ -47,6 +47,7 @@ export class XlFileService {
|
|
|
47
47
|
this.saveAsExcelFile(excelBuffer, excelFileName);
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
+
* @private
|
|
50
51
|
* @param {?} worksheet
|
|
51
52
|
* @param {?} json
|
|
52
53
|
* @return {?}
|
|
@@ -57,7 +58,7 @@ export class XlFileService {
|
|
|
57
58
|
/** @type {?} */
|
|
58
59
|
let ColWidth = [];
|
|
59
60
|
/** @type {?} */
|
|
60
|
-
let obj = /** @type {?} */ (Object);
|
|
61
|
+
let obj = (/** @type {?} */ (Object));
|
|
61
62
|
for (let i = 0; i < json.length; i++) {
|
|
62
63
|
/** @type {?} */
|
|
63
64
|
let value = obj.values(json[i]);
|
|
@@ -81,78 +82,85 @@ export class XlFileService {
|
|
|
81
82
|
return worksheet;
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
85
|
+
* @private
|
|
84
86
|
* @param {?} worksheet
|
|
85
87
|
* @return {?}
|
|
86
88
|
*/
|
|
87
89
|
setDataLossReportHeaders(worksheet) {
|
|
88
|
-
worksheet
|
|
89
|
-
worksheet
|
|
90
|
-
worksheet
|
|
91
|
-
worksheet
|
|
92
|
-
worksheet
|
|
93
|
-
worksheet
|
|
94
|
-
worksheet
|
|
95
|
-
worksheet
|
|
96
|
-
worksheet
|
|
97
|
-
worksheet
|
|
90
|
+
worksheet.A1.v = "Loss_Resp";
|
|
91
|
+
worksheet.B1.v = "Payment_Asset_DCN";
|
|
92
|
+
worksheet.C1.v = "Envelope_Ref";
|
|
93
|
+
worksheet.D1.v = "Envelope_Item";
|
|
94
|
+
worksheet.E1.v = "Resp_Service ID";
|
|
95
|
+
worksheet.F1.v = "Resp_Service Name";
|
|
96
|
+
worksheet.G1.v = "Date_Banked";
|
|
97
|
+
worksheet.H1.v = "BGC_Batch";
|
|
98
|
+
worksheet.I1.v = "Payment_Method";
|
|
99
|
+
worksheet.J1.v = "Amount";
|
|
98
100
|
return worksheet;
|
|
99
101
|
}
|
|
100
102
|
/**
|
|
103
|
+
* @private
|
|
101
104
|
* @param {?} worksheet
|
|
102
105
|
* @return {?}
|
|
103
106
|
*/
|
|
104
107
|
setUnprocessedReportHeaders(worksheet) {
|
|
105
|
-
worksheet
|
|
106
|
-
worksheet
|
|
107
|
-
worksheet
|
|
108
|
-
worksheet
|
|
109
|
-
worksheet
|
|
110
|
-
worksheet
|
|
111
|
-
worksheet
|
|
112
|
-
worksheet
|
|
113
|
-
worksheet
|
|
114
|
-
worksheet
|
|
115
|
-
worksheet
|
|
108
|
+
worksheet.A1.v = "Resp_Service ID";
|
|
109
|
+
worksheet.B1.v = "Resp_Service Name";
|
|
110
|
+
worksheet.C1.v = "Exception_Ref";
|
|
111
|
+
worksheet.D1.v = "CCD_Ref";
|
|
112
|
+
worksheet.E1.v = "Date_Banked";
|
|
113
|
+
worksheet.F1.v = "BGC_Batch";
|
|
114
|
+
worksheet.G1.v = "Payment_Asset_DCN";
|
|
115
|
+
worksheet.H1.v = "Envelope_Ref";
|
|
116
|
+
worksheet.I1.v = "Envelope_Item";
|
|
117
|
+
worksheet.J1.v = "Payment_Method";
|
|
118
|
+
worksheet.K1.v = "Amount";
|
|
116
119
|
return worksheet;
|
|
117
120
|
}
|
|
118
121
|
/**
|
|
122
|
+
* @private
|
|
119
123
|
* @param {?} worksheet
|
|
120
124
|
* @return {?}
|
|
121
125
|
*/
|
|
122
126
|
setProcessedUnallocatedReportHeaders(worksheet) {
|
|
123
|
-
worksheet
|
|
124
|
-
worksheet
|
|
125
|
-
worksheet
|
|
126
|
-
worksheet
|
|
127
|
-
worksheet
|
|
128
|
-
worksheet
|
|
129
|
-
worksheet
|
|
130
|
-
worksheet
|
|
131
|
-
worksheet
|
|
132
|
-
worksheet
|
|
133
|
-
worksheet
|
|
134
|
-
worksheet
|
|
127
|
+
worksheet.A1.v = "Resp_Service ID";
|
|
128
|
+
worksheet.B1.v = "Resp_Service Name";
|
|
129
|
+
worksheet.C1.v = "Allocation_Status";
|
|
130
|
+
worksheet.D1.v = "Receiving_Office";
|
|
131
|
+
worksheet.E1.v = "Allocation_Reason";
|
|
132
|
+
worksheet.F1.v = "CCD_Exception_Ref";
|
|
133
|
+
worksheet.G1.v = "CCD_Case_Ref";
|
|
134
|
+
worksheet.H1.v = "Payment_Asset_DCN";
|
|
135
|
+
worksheet.I1.v = "Envelope_Ref";
|
|
136
|
+
worksheet.J1.v = "Envelope_Item";
|
|
137
|
+
worksheet.K1.v = "Date_Banked";
|
|
138
|
+
worksheet.L1.v = "BGC_Batch";
|
|
139
|
+
worksheet.M1.v = "Payment_Method";
|
|
140
|
+
worksheet.N1.v = "Amount";
|
|
135
141
|
return worksheet;
|
|
136
142
|
}
|
|
137
143
|
/**
|
|
144
|
+
* @private
|
|
138
145
|
* @param {?} worksheet
|
|
139
146
|
* @return {?}
|
|
140
147
|
*/
|
|
141
148
|
setShortFallReportHeaders(worksheet) {
|
|
142
|
-
worksheet
|
|
143
|
-
worksheet
|
|
144
|
-
worksheet
|
|
145
|
-
worksheet
|
|
146
|
-
worksheet
|
|
147
|
-
worksheet
|
|
148
|
-
worksheet
|
|
149
|
-
worksheet
|
|
150
|
-
worksheet
|
|
151
|
-
worksheet
|
|
152
|
-
worksheet
|
|
149
|
+
worksheet.A1.v = "Resp_Service ID";
|
|
150
|
+
worksheet.B1.v = "Resp_Service Name";
|
|
151
|
+
worksheet.C1.v = "Surplus_Shortfall";
|
|
152
|
+
worksheet.D1.v = "Balance";
|
|
153
|
+
worksheet.E1.v = "Payment_Amount";
|
|
154
|
+
worksheet.F1.v = "CCD_Case_Ref";
|
|
155
|
+
worksheet.G1.v = "Exception_Ref";
|
|
156
|
+
worksheet.H1.v = "Processed_Date";
|
|
157
|
+
worksheet.I1.v = "Reason";
|
|
158
|
+
worksheet.J1.v = "Explanation";
|
|
159
|
+
worksheet.K1.v = "Updated Name";
|
|
153
160
|
return worksheet;
|
|
154
161
|
}
|
|
155
162
|
/**
|
|
163
|
+
* @private
|
|
156
164
|
* @param {?} buffer
|
|
157
165
|
* @param {?} fileName
|
|
158
166
|
* @return {?}
|
|
@@ -166,9 +174,8 @@ export class XlFileService {
|
|
|
166
174
|
}
|
|
167
175
|
}
|
|
168
176
|
XlFileService.decorators = [
|
|
169
|
-
{ type: Injectable }
|
|
177
|
+
{ type: Injectable }
|
|
170
178
|
];
|
|
171
179
|
/** @nocollapse */
|
|
172
180
|
XlFileService.ctorParameters = () => [];
|
|
173
|
-
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMveGwtZmlsZS94bC1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7O0FBSTdCLE1BQU0sVUFBVSxHQUFHLGlGQUFpRixDQUFDOztBQUNyRyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7QUFHaEMsTUFBTTtJQUVKLGlCQUFpQjs7Ozs7O0lBRVYsaUJBQWlCLENBQUMsSUFBVyxFQUFFLGFBQXFCOztRQUN6RCxJQUFJLFNBQVMsQ0FBaUI7O1FBQzlCLElBQUksUUFBUSxDQUFnQjtRQUU1QixFQUFFLENBQUEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFJLElBQUksQ0FBQyxDQUFBLENBQUM7WUFDNUMsU0FBUyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBQyxFQUFDLE1BQU0sRUFBQyxDQUFDLFdBQVcsRUFBQyxtQkFBbUIsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLGlCQUFpQixFQUFDLG1CQUFtQixFQUFDLGFBQWEsRUFBQyxXQUFXLEVBQUMsZ0JBQWdCLEVBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQ3RNLFNBQVMsR0FBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9DO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMs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QztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQzs7OztZQTFIdEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XG5pbXBvcnQgKiBhcyBYTFNYU3R5bGUgZnJvbSAneGxzeC1zdHlsZSc7XG5cblxuY29uc3QgRVhDRUxfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JztcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBYbEZpbGVTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBleHBvcnRBc0V4Y2VsRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQ7IFxuICAgIGxldCB3b3JrYm9vazogWExTWC5Xb3JrQm9vazsgXG5cbiAgICBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdEYXRhX0xvc3MnKSE9PSBudWxsKXtcbiAgICAgd29ya3NoZWV0ID0gIFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uLHtoZWFkZXI6Wydsb3NzX3Jlc3AnLCdwYXltZW50X2Fzc2V0X2RjbicsJ2Vudl9yZWYnLCdlbnZfaXRlbScsJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnZGF0ZV9iYW5rZWQnLCdiZ2NfYmF0Y2gnLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddfSk7XG4gICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldERhdGFMb3NzUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICAgfSBlbHNlIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ1VucHJvY2Vzc2VkJykhPT0gbnVsbCl7XG4gICAgIHdvcmtzaGVldCA9ICBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbix7aGVhZGVyOlsncmVzcF9zZXJ2aWNlX2lkJywncmVzcF9zZXJ2aWNlX25hbWUnLCdleGNlcHRpb25fcmVmJywnY2NkX3JlZicsJ2RhdGVfYmFua2VkJywnYmdjX2JhdGNoJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddfSk7XG4gICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFVucHJvY2Vzc2VkUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnUHJvY2Vzc2VkX1VuYWxsb2NhdGVkJykhPT0gbnVsbCl7XG4gICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnYWxsb2NhdGlvbl9zdGF0dXMnLCdyZWNlaXZpbmdfb2ZmaWNlJywnYWxsb2NhdGlvbl9yZWFzb24nLCdjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZScsJ2NjZF9jYXNlX3JlZmVyZW5jZScsJ3BheW1lbnRfYXNzZXRfZGNuJywnZGF0ZV9iYW5rZWQnLCdiZ2NfYmF0Y2gnLCdwYXltZW50X21ldGhvZCcsJ2Ftb3VudCddfSk7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXRQcm9jZXNzZWRVbmFsbG9jYXRlZFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ3Jlc3Bfc2VydmljZV9pZCcsJ3Jlc3Bfc2VydmljZV9uYW1lJywnc3VycGx1c19zaG9ydGZhbGwnLCdiYWxhbmNlJywncGF5bWVudF9hbW91bnQnLCdjY2RfY2FzZV9yZWZlcmVuY2UnLCAnY2NkX2V4Y2VwdGlvbl9yZWZlcmVuY2UnLCAncHJvY2Vzc2VkX2RhdGUnLCAncmVhc29uJywgJ2V4cGxhbmF0aW9uJywgJ3VzZXJfbmFtZSddfSk7XG4gICAgICB3b3Jrc2hlZXQgPSAgdGhpcy5zZXRTaG9ydEZhbGxSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgICB3b3Jrc2hlZXQgPSB0aGlzLmF1dG9GaXRDb2x1bW5zKHdvcmtzaGVldCxqc29uKTtcbiAgICB9XG4gICAgd29ya2Jvb2sgPSB7IFNoZWV0czogeyAnZGF0YSc6IHdvcmtzaGVldCB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xuICAgIGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSBYTFNYLndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsIGV4Y2VsRmlsZU5hbWUpO1xuICB9XG5cblxucHJpdmF0ZSBhdXRvRml0Q29sdW1ucyAod29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCxqc29uOmFueSkgOiBYTFNYLldvcmtTaGVldCB7XG4gIGxldCBvYmplY3RNYXhMZW5ndGggPSBbXTsgXG4gIGxldCBDb2xXaWR0aCA9IFtdO1xuICBsZXQgb2JqID0gPGFueT5PYmplY3Q7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBqc29uLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgdmFsdWUgPSBvYmoudmFsdWVzKGpzb25baV0pO1xuICAgICAgbGV0IGtleSA9IG9iai5rZXlzKGpzb25baV0pO1xuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB2YWx1ZS5sZW5ndGg7IGorKykge1xuICAgICAgICBpZih2YWx1ZVtqXSA9PT0gbnVsbCl7XG4gICAgICAgICAgdmFsdWVbal0gPSAnJztcbiAgICAgICAgfVxuICAgICAgICBvYmplY3RNYXhMZW5ndGhbal0gPVxuICAgICAgICAgIGtleVtqXS5sZW5ndGggPj0gdmFsdWVbal0ubGVuZ3RoXG4gICAgICAgICAgICA/IGtleVtqXS5sZW5ndGgrMlxuICAgICAgICAgICAgOiB2YWx1ZVtqXS5sZW5ndGgrMTtcbiAgICAgICAgICAgIGlmKCB2YWx1ZVtqXS5sZW5ndGggPT09IHVuZGVmaW5lZCl7XG4gICAgICAgICAgICAgIG9iamVjdE1heExlbmd0aFtqXSA9ICBrZXlbal0ubGVuZ3RoKzI7XG4gICAgICAgICAgICB9XG4gICAgICBDb2xXaWR0aC5wdXNoKHsnd2lkdGgnOiArb2JqZWN0TWF4TGVuZ3RoW2pdfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHdvcmtzaGVldFsnIWNvbHMnXSA9IENvbFdpZHRoO1xuICAgIHJldHVybiB3b3Jrc2hlZXQ7XG59XG5cblxucHJpdmF0ZSBzZXREYXRhTG9zc1JlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJMb3NzX1Jlc3BcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gIHdvcmtzaGVldC5DMS52ID0gXCJFbnZlbG9wZV9SZWZcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICB3b3Jrc2hlZXQuRjEudiA9IFwiUmVzcF9TZXJ2aWNlIE5hbWVcIjtcbiAgd29ya3NoZWV0LkcxLnYgPSBcIkRhdGVfQmFua2VkXCI7XG4gIHdvcmtzaGVldC5IMS52ID0gXCJCR0NfQmF0Y2hcIjtcbiAgd29ya3NoZWV0LkkxLnYgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gIHdvcmtzaGVldC5KMS52ID0gXCJBbW91bnRcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzZXRVbnByb2Nlc3NlZFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJSZXNwX1NlcnZpY2UgSURcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gIHdvcmtzaGVldC5DMS52ID0gXCJFeGNlcHRpb25fUmVmXCI7XG4gIHdvcmtzaGVldC5EMS52ID0gXCJDQ0RfUmVmXCI7XG4gIHdvcmtzaGVldC5FMS52ID0gXCJEYXRlX0JhbmtlZFwiO1xuICB3b3Jrc2hlZXQuRjEudiA9IFwiQkdDX0JhdGNoXCI7XG4gIHdvcmtzaGVldC5HMS52ID0gXCJQYXltZW50X0Fzc2V0X0RDTlwiO1xuICB3b3Jrc2hlZXQuSDEudiA9IFwiRW52ZWxvcGVfUmVmXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJFbnZlbG9wZV9JdGVtXCI7XG4gIHdvcmtzaGVldC5KMS52ID0gXCJQYXltZW50X01ldGhvZFwiO1xuICB3b3Jrc2hlZXQuSzEudiA9IFwiQW1vdW50XCI7XG4gIHJldHVybiB3b3Jrc2hlZXQ7XG59XG5cbnByaXZhdGUgc2V0UHJvY2Vzc2VkVW5hbGxvY2F0ZWRSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0KTogWExTWC5Xb3JrU2hlZXQge1xuICB3b3Jrc2hlZXQuQTEudiA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gIHdvcmtzaGVldC5CMS52ID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICB3b3Jrc2hlZXQuQzEudiA9IFwiQWxsb2NhdGlvbl9TdGF0dXNcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIlJlY2VpdmluZ19PZmZpY2VcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIkFsbG9jYXRpb25fUmVhc29uXCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJDQ0RfRXhjZXB0aW9uX1JlZlwiO1xuICB3b3Jrc2hlZXQuRzEudiA9IFwiQ0NEX0Nhc2VfUmVmXCI7XG4gIHdvcmtzaGVldC5IMS52ID0gXCJQYXltZW50X0Fzc2V0X0RDTlwiO1xuICB3b3Jrc2hlZXQuSTEudiA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkJHQ19CYXRjaFwiO1xuICB3b3Jrc2hlZXQuSzEudiA9IFwiUGF5bWVudF9NZXRob2RcIjtcbiAgd29ya3NoZWV0LkwxLnYgPSBcIkFtb3VudFwiO1xuICByZXR1cm4gd29ya3NoZWV0O1xufVxuXG5wcml2YXRlIHNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJSZXNwX1NlcnZpY2UgSURcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gIHdvcmtzaGVldC5DMS52ID0gXCJTdXJwbHVzX1Nob3J0ZmFsbFwiO1xuICB3b3Jrc2hlZXQuRDEudiA9IFwiQmFsYW5jZVwiO1xuICB3b3Jrc2hlZXQuRTEudiA9IFwiUGF5bWVudF9BbW91bnRcIjtcbiAgd29ya3NoZWV0LkYxLnYgPSBcIkNDRF9DYXNlX1JlZlwiO1xuICB3b3Jrc2hlZXQuRzEudiA9IFwiRXhjZXB0aW9uX1JlZlwiO1xuICB3b3Jrc2hlZXQuSDEudiA9IFwiUHJvY2Vzc2VkX0RhdGVcIjtcbiAgd29ya3NoZWV0LkkxLnYgPSBcIlJlYXNvblwiO1xuICB3b3Jrc2hlZXQuSjEudiA9IFwiRXhwbGFuYXRpb25cIjtcbiAgd29ya3NoZWV0LksxLnYgPSBcIlVwZGF0ZWQgTmFtZVwiO1xuICByZXR1cm4gd29ya3NoZWV0O1xufVxuXG5wcml2YXRlIHNhdmVBc0V4Y2VsRmlsZShidWZmZXI6IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xuICAgICAgdHlwZTogRVhDRUxfVFlQRVxuICAgIH0pO1xuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyBFWENFTF9FWFRFTlNJT04pO1xuICB9XG59XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGwtZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMveGwtZmlsZS94bC1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7O01BSXZCLFVBQVUsR0FBRyxpRkFBaUY7O01BQzlGLGVBQWUsR0FBRyxPQUFPO0FBRy9CLE1BQU0sT0FBTyxhQUFhO0lBRXhCLGdCQUFnQixDQUFDOzs7Ozs7SUFFVixpQkFBaUIsQ0FBQyxJQUFXLEVBQUUsYUFBcUI7O1lBQ3JELFNBQXlCOztZQUN6QixRQUF1QjtRQUUzQixJQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUksSUFBSSxFQUFDO1lBQzNDLFNBQVMsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxXQUFXLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFVBQVUsRUFBQyxpQkFBaUIsRUFBQyxtQkFBbUIsRUFBQyxhQUFhLEVBQUMsV0FBVyxFQUFDLGdCQUFnQixFQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsQ0FBQztZQUN0TSxTQUFTLEdBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RELFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztTQUMvQzthQUFNLElBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSSxJQUFJLEVBQUM7WUFDckQsU0FBUyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFB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ZSxDQUFDO1FBQ2pDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUMxQixTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUM7UUFDL0IsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Ozs7Ozs7SUFFTyxlQUFlLENBQUMsTUFBVyxFQUFFLFFBQWdCOztjQUMzQyxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNwQyxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDO1FBQ0YsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxHQUFHLGVBQWUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OztZQTdIRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcbmltcG9ydCAqIGFzIFhMU1hTdHlsZSBmcm9tICd4bHN4LXN0eWxlJztcblxuXG5jb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xuY29uc3QgRVhDRUxfRVhURU5TSU9OID0gJy54bHN4JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFhsRmlsZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgd29ya3NoZWV0OiBYTFNYLldvcmtTaGVldDsgXG4gICAgbGV0IHdvcmtib29rOiBYTFNYLldvcmtCb29rOyBcblxuICAgIGlmKGV4Y2VsRmlsZU5hbWUubWF0Y2goJ0RhdGFfTG9zcycpIT09IG51bGwpe1xuICAgICB3b3Jrc2hlZXQgPSAgWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24se2hlYWRlcjpbJ2xvc3NfcmVzcCcsJ3BheW1lbnRfYXNzZXRfZGNuJywnZW52X3JlZicsJ2Vudl9pdGVtJywncmVzcF9zZXJ2aWNlX2lkJywncmVzcF9zZXJ2aWNlX25hbWUnLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfbWV0aG9kJywnYW1vdW50J119KTtcbiAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0RGF0YUxvc3NSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgICB9IGVsc2UgaWYoZXhjZWxGaWxlTmFtZS5tYXRjaCgnVW5wcm9jZXNzZWQnKSE9PSBudWxsKXtcbiAgICAgd29ya3NoZWV0ID0gIFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uLHtoZWFkZXI6WydyZXNwX3NlcnZpY2VfaWQnLCdyZXNwX3NlcnZpY2VfbmFtZScsJ2V4Y2VwdGlvbl9yZWYnLCdjY2RfcmVmJywnZGF0ZV9iYW5rZWQnLCdiZ2NfYmF0Y2gnLCdwYXltZW50X2Fzc2V0X2RjbicsJ2Vudl9yZWYnLCdlbnZfaXRlbScsJ3BheW1lbnRfbWV0aG9kJywnYW1vdW50J119KTtcbiAgICAgd29ya3NoZWV0ID0gIHRoaXMuc2V0VW5wcm9jZXNzZWRSZXBvcnRIZWFkZXJzKHdvcmtzaGVldCk7XG4gICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgIH0gZWxzZSBpZihleGNlbEZpbGVOYW1lLm1hdGNoKCdQcm9jZXNzZWRfVW5hbGxvY2F0ZWQnKSE9PSBudWxsKXtcbiAgICAgIHdvcmtzaGVldCA9ICBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbix7aGVhZGVyOlsncmVzcF9zZXJ2aWNlX2lkJywncmVzcF9zZXJ2aWNlX25hbWUnLCdhbGxvY2F0aW9uX3N0YXR1cycsJ3JlY2VpdmluZ19vZmZpY2UnLCdhbGxvY2F0aW9uX3JlYXNvbicsJ2NjZF9leGNlcHRpb25fcmVmZXJlbmNlJywnY2NkX2Nhc2VfcmVmZXJlbmNlJywncGF5bWVudF9hc3NldF9kY24nLCdlbnZfcmVmJywnZW52X2l0ZW0nLCdkYXRlX2JhbmtlZCcsJ2JnY19iYXRjaCcsJ3BheW1lbnRfbWV0aG9kJywnYW1vdW50J119KTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFByb2Nlc3NlZFVuYWxsb2NhdGVkUmVwb3J0SGVhZGVycyh3b3Jrc2hlZXQpO1xuICAgICAgd29ya3NoZWV0ID0gdGhpcy5hdXRvRml0Q29sdW1ucyh3b3Jrc2hlZXQsanNvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdvcmtzaGVldCA9ICBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoanNvbix7aGVhZGVyOlsncmVzcF9zZXJ2aWNlX2lkJywncmVzcF9zZXJ2aWNlX25hbWUnLCdzdXJwbHVzX3Nob3J0ZmFsbCcsJ2JhbGFuY2UnLCdwYXltZW50X2Ftb3VudCcsJ2NjZF9jYXNlX3JlZmVyZW5jZScsICdjY2RfZXhjZXB0aW9uX3JlZmVyZW5jZScsICdwcm9jZXNzZWRfZGF0ZScsICdyZWFzb24nLCAnZXhwbGFuYXRpb24nLCAndXNlcl9uYW1lJ119KTtcbiAgICAgIHdvcmtzaGVldCA9ICB0aGlzLnNldFNob3J0RmFsbFJlcG9ydEhlYWRlcnMod29ya3NoZWV0KTtcbiAgICAgIHdvcmtzaGVldCA9IHRoaXMuYXV0b0ZpdENvbHVtbnMod29ya3NoZWV0LGpzb24pO1xuICAgIH1cbiAgICB3b3JrYm9vayA9IHsgU2hlZXRzOiB7ICdkYXRhJzogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XG4gICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcbiAgICB0aGlzLnNhdmVBc0V4Y2VsRmlsZShleGNlbEJ1ZmZlciwgZXhjZWxGaWxlTmFtZSk7XG4gIH1cblxuXG5wcml2YXRlIGF1dG9GaXRDb2x1bW5zICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0LGpzb246YW55KSA6IFhMU1guV29ya1NoZWV0IHtcbiAgbGV0IG9iamVjdE1heExlbmd0aCA9IFtdOyBcbiAgbGV0IENvbFdpZHRoID0gW107XG4gIGxldCBvYmogPSA8YW55Pk9iamVjdDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGpzb24ubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCB2YWx1ZSA9IG9iai52YWx1ZXMoanNvbltpXSk7XG4gICAgICBsZXQga2V5ID0gb2JqLmtleXMoanNvbltpXSk7XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHZhbHVlLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmKHZhbHVlW2pdID09PSBudWxsKXtcbiAgICAgICAgICB2YWx1ZVtqXSA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdE1heExlbmd0aFtqXSA9XG4gICAgICAgICAga2V5W2pdLmxlbmd0aCA+PSB2YWx1ZVtqXS5sZW5ndGhcbiAgICAgICAgICAgID8ga2V5W2pdLmxlbmd0aCsyXG4gICAgICAgICAgICA6IHZhbHVlW2pdLmxlbmd0aCsxO1xuICAgICAgICAgICAgaWYoIHZhbHVlW2pdLmxlbmd0aCA9PT0gdW5kZWZpbmVkKXtcbiAgICAgICAgICAgICAgb2JqZWN0TWF4TGVuZ3RoW2pdID0gIGtleVtqXS5sZW5ndGgrMjtcbiAgICAgICAgICAgIH1cbiAgICAgIENvbFdpZHRoLnB1c2goeyd3aWR0aCc6ICtvYmplY3RNYXhMZW5ndGhbal19KTtcbiAgICAgIH1cbiAgICB9XG4gICAgd29ya3NoZWV0WychY29scyddID0gQ29sV2lkdGg7XG4gICAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxuXG5wcml2YXRlIHNldERhdGFMb3NzUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCk6IFhMU1guV29ya1NoZWV0IHtcbiAgd29ya3NoZWV0LkExLnYgPSBcIkxvc3NfUmVzcFwiO1xuICB3b3Jrc2hlZXQuQjEudiA9IFwiUGF5bWVudF9Bc3NldF9EQ05cIjtcbiAgd29ya3NoZWV0LkMxLnYgPSBcIkVudmVsb3BlX1JlZlwiO1xuICB3b3Jrc2hlZXQuRDEudiA9IFwiRW52ZWxvcGVfSXRlbVwiO1xuICB3b3Jrc2hlZXQuRTEudiA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICB3b3Jrc2hlZXQuRzEudiA9IFwiRGF0ZV9CYW5rZWRcIjtcbiAgd29ya3NoZWV0LkgxLnYgPSBcIkJHQ19CYXRjaFwiO1xuICB3b3Jrc2hlZXQuSTEudiA9IFwiUGF5bWVudF9NZXRob2RcIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkFtb3VudFwiO1xuICByZXR1cm4gd29ya3NoZWV0O1xufVxuXG5wcml2YXRlIHNldFVucHJvY2Vzc2VkUmVwb3J0SGVhZGVycyAod29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCk6IFhMU1guV29ya1NoZWV0IHtcbiAgd29ya3NoZWV0LkExLnYgPSBcIlJlc3BfU2VydmljZSBJRFwiO1xuICB3b3Jrc2hlZXQuQjEudiA9IFwiUmVzcF9TZXJ2aWNlIE5hbWVcIjtcbiAgd29ya3NoZWV0LkMxLnYgPSBcIkV4Y2VwdGlvbl9SZWZcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIkNDRF9SZWZcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIkRhdGVfQmFua2VkXCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJCR0NfQmF0Y2hcIjtcbiAgd29ya3NoZWV0LkcxLnYgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gIHdvcmtzaGVldC5IMS52ID0gXCJFbnZlbG9wZV9SZWZcIjtcbiAgd29ya3NoZWV0LkkxLnYgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gIHdvcmtzaGVldC5LMS52ID0gXCJBbW91bnRcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzZXRQcm9jZXNzZWRVbmFsbG9jYXRlZFJlcG9ydEhlYWRlcnMgKHdvcmtzaGVldDogWExTWC5Xb3JrU2hlZXQpOiBYTFNYLldvcmtTaGVldCB7XG4gIHdvcmtzaGVldC5BMS52ID0gXCJSZXNwX1NlcnZpY2UgSURcIjtcbiAgd29ya3NoZWV0LkIxLnYgPSBcIlJlc3BfU2VydmljZSBOYW1lXCI7XG4gIHdvcmtzaGVldC5DMS52ID0gXCJBbGxvY2F0aW9uX1N0YXR1c1wiO1xuICB3b3Jrc2hlZXQuRDEudiA9IFwiUmVjZWl2aW5nX09mZmljZVwiO1xuICB3b3Jrc2hlZXQuRTEudiA9IFwiQWxsb2NhdGlvbl9SZWFzb25cIjtcbiAgd29ya3NoZWV0LkYxLnYgPSBcIkNDRF9FeGNlcHRpb25fUmVmXCI7XG4gIHdvcmtzaGVldC5HMS52ID0gXCJDQ0RfQ2FzZV9SZWZcIjtcbiAgd29ya3NoZWV0LkgxLnYgPSBcIlBheW1lbnRfQXNzZXRfRENOXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJFbnZlbG9wZV9SZWZcIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkVudmVsb3BlX0l0ZW1cIjtcbiAgd29ya3NoZWV0LksxLnYgPSBcIkRhdGVfQmFua2VkXCI7XG4gIHdvcmtzaGVldC5MMS52ID0gXCJCR0NfQmF0Y2hcIjtcbiAgd29ya3NoZWV0Lk0xLnYgPSBcIlBheW1lbnRfTWV0aG9kXCI7XG4gIHdvcmtzaGVldC5OMS52ID0gXCJBbW91bnRcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzZXRTaG9ydEZhbGxSZXBvcnRIZWFkZXJzICh3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0KTogWExTWC5Xb3JrU2hlZXQge1xuICB3b3Jrc2hlZXQuQTEudiA9IFwiUmVzcF9TZXJ2aWNlIElEXCI7XG4gIHdvcmtzaGVldC5CMS52ID0gXCJSZXNwX1NlcnZpY2UgTmFtZVwiO1xuICB3b3Jrc2hlZXQuQzEudiA9IFwiU3VycGx1c19TaG9ydGZhbGxcIjtcbiAgd29ya3NoZWV0LkQxLnYgPSBcIkJhbGFuY2VcIjtcbiAgd29ya3NoZWV0LkUxLnYgPSBcIlBheW1lbnRfQW1vdW50XCI7XG4gIHdvcmtzaGVldC5GMS52ID0gXCJDQ0RfQ2FzZV9SZWZcIjtcbiAgd29ya3NoZWV0LkcxLnYgPSBcIkV4Y2VwdGlvbl9SZWZcIjtcbiAgd29ya3NoZWV0LkgxLnYgPSBcIlByb2Nlc3NlZF9EYXRlXCI7XG4gIHdvcmtzaGVldC5JMS52ID0gXCJSZWFzb25cIjtcbiAgd29ya3NoZWV0LkoxLnYgPSBcIkV4cGxhbmF0aW9uXCI7XG4gIHdvcmtzaGVldC5LMS52ID0gXCJVcGRhdGVkIE5hbWVcIjtcbiAgcmV0dXJuIHdvcmtzaGVldDtcbn1cblxucHJpdmF0ZSBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcbiAgICB9KTtcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgRVhDRUxfRVhURU5TSU9OKTtcbiAgfVxufVxuIl19
|
package/esm2015/public_api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/*
|
|
6
6
|
* Public API Surface of payment-lib
|
|
@@ -8,5 +8,4 @@
|
|
|
8
8
|
export { PaymentLibService } from './lib/payment-lib.service';
|
|
9
9
|
export { PaymentLibComponent } from './lib/payment-lib.component';
|
|
10
10
|
export { PaymentLibModule } from './lib/payment-lib.module';
|
|
11
|
-
|
|
12
11
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0NBQWMsMkJBQTJCLENBQUM7QUFDMUMsb0NBQWMsNkJBQTZCLENBQUM7QUFDNUMsaUNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHBheW1lbnQtbGliXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGF5bWVudC1saWIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGF5bWVudC1saWIubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,39 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* Generated bundle index. Do not edit.
|
|
7
7
|
*/
|
|
8
8
|
export { PaymentLibService, PaymentLibComponent, PaymentLibModule } from './public_api';
|
|
9
|
-
export { AddRemissionComponent as
|
|
10
|
-
export { AllocatePaymentsComponent as
|
|
11
|
-
export { CardDetailsComponent as
|
|
12
|
-
export { CaseTransactionsComponent as
|
|
13
|
-
export { ErrorBannerComponent as
|
|
14
|
-
export { FeeSummaryComponent as
|
|
15
|
-
export { MarkUnidentifiedPaymentComponent as
|
|
16
|
-
export { MarkUnsolicitedPaymentComponent as
|
|
17
|
-
export { PageNotFoundComponent as
|
|
9
|
+
export { AddRemissionComponent as ɵba } from './lib/components/add-remission/add-remission.component';
|
|
10
|
+
export { AllocatePaymentsComponent as ɵv } from './lib/components/allocate-payments/allocate-payments.component';
|
|
11
|
+
export { CardDetailsComponent as ɵl } from './lib/components/card-details/card-details.component';
|
|
12
|
+
export { CaseTransactionsComponent as ɵy } from './lib/components/case-transactions/case-transactions.component';
|
|
13
|
+
export { ErrorBannerComponent as ɵbh } from './lib/components/error-banner/error-banner.component';
|
|
14
|
+
export { FeeSummaryComponent as ɵz } from './lib/components/fee-summary/fee-summary.component';
|
|
15
|
+
export { MarkUnidentifiedPaymentComponent as ɵq } from './lib/components/mark-unidentified-payment/mark-unidentified-payment.component';
|
|
16
|
+
export { MarkUnsolicitedPaymentComponent as ɵs } from './lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component';
|
|
17
|
+
export { PageNotFoundComponent as ɵn } from './lib/components/page-not-found.component';
|
|
18
18
|
export { PaymentListComponent as ɵa } from './lib/components/payment-list/payment-list.component';
|
|
19
19
|
export { PaymentViewComponent as ɵe } from './lib/components/payment-view/payment-view.component';
|
|
20
|
-
export { PbaDetailsComponent as
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
29
|
-
export {
|
|
20
|
+
export { PbaDetailsComponent as ɵx } from './lib/components/pba-details/pba-details.component';
|
|
21
|
+
export { ProcessRefundComponent as ɵi } from './lib/components/process-refund/process-refund.component';
|
|
22
|
+
export { ProcessedPaymentsComponent as ɵu } from './lib/components/processed-payments/processed-payments.component';
|
|
23
|
+
export { RefundListComponent as ɵk } from './lib/components/refund-list/refund-list.component';
|
|
24
|
+
export { RefundStatusComponent as ɵbk } from './lib/components/refund-status/refund-status.component';
|
|
25
|
+
export { RefundsComponent as ɵbi } from './lib/components/refunds/refunds.component';
|
|
26
|
+
export { ReportsComponent as ɵbf } from './lib/components/reports/reports.component';
|
|
27
|
+
export { StatusHistoryComponent as ɵo } from './lib/components/status-history/status-history.component';
|
|
28
|
+
export { TableComponent as ɵbj } from './lib/components/table/table.component';
|
|
29
|
+
export { UnprocessedPaymentsComponent as ɵt } from './lib/components/unprocessed-payments/unprocessed-payments.component';
|
|
30
|
+
export { CapitalizePipe as ɵbc } from './lib/pipes/capitalize.pipe';
|
|
31
|
+
export { CcdHyphensPipe as ɵbb } from './lib/pipes/ccd-hyphens.pipe';
|
|
32
|
+
export { keyValuePipe as ɵbd } from './lib/pipes/key-value.pipe';
|
|
33
|
+
export { SanitizeHtmlPipe as ɵbe } from './lib/pipes/sanitize-html.pipe';
|
|
34
|
+
export { BulkScaningPaymentService as ɵr } from './lib/services/bulk-scaning-payment/bulk-scaning-payment.service';
|
|
35
|
+
export { CardDetailsService as ɵm } from './lib/services/card-details/card-details.service';
|
|
36
|
+
export { CaseTransactionsService as ɵw } from './lib/services/case-transactions/case-transactions.service';
|
|
37
|
+
export { OrderslistService as ɵh } from './lib/services/orderslist.service';
|
|
30
38
|
export { PaymentListService as ɵb } from './lib/services/payment-list/payment-list.service';
|
|
31
39
|
export { PaymentViewService as ɵf } from './lib/services/payment-view/payment-view.service';
|
|
40
|
+
export { RefundsService as ɵj } from './lib/services/refunds/refunds.service';
|
|
32
41
|
export { ErrorHandlerService as ɵd } from './lib/services/shared/error-handler.service';
|
|
33
42
|
export { WebComponentHttpClient as ɵg } from './lib/services/shared/httpclient/webcomponent.http.client';
|
|
34
|
-
export { ConsoleLoggerService as
|
|
43
|
+
export { ConsoleLoggerService as ɵbl } from './lib/services/shared/logger/console-logger.service';
|
|
35
44
|
export { LoggerService as ɵc } from './lib/services/shared/logger/logger.service';
|
|
36
|
-
export { StatusHistoryService as
|
|
37
|
-
export { XlFileService as
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtY2NwYXktd2ViLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsiaG1jdHMtY2NwYXktd2ViLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseUVBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNuRyxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDbkksT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDdEcsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEVBQUUsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEdBQUcsRUFBQyxNQUFNLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0FkZFJlbWlzc2lvbkNvbXBvbmVudCBhcyDJtXZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWRkLXJlbWlzc2lvbi9hZGQtcmVtaXNzaW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0FsbG9jYXRlUGF5bWVudHNDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FsbG9jYXRlLXBheW1lbnRzL2FsbG9jYXRlLXBheW1lbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmREZXRhaWxzQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jYXJkLWRldGFpbHMvY2FyZC1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQge0Nhc2VUcmFuc2FjdGlvbnNDb21wb25lbnQgYXMgybV0fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Nhc2UtdHJhbnNhY3Rpb25zL2Nhc2UtdHJhbnNhY3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQge0Vycm9yQmFubmVyQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXJyb3ItYmFubmVyL2Vycm9yLWJhbm5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtGZWVTdW1tYXJ5Q29tcG9uZW50IGFzIMm1dX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mZWUtc3VtbWFyeS9mZWUtc3VtbWFyeS5jb21wb25lbnQnO1xuZXhwb3J0IHtNYXJrVW5pZGVudGlmaWVkUGF5bWVudENvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWFyay11bmlkZW50aWZpZWQtcGF5bWVudC9tYXJrLXVuaWRlbnRpZmllZC1wYXltZW50LmNvbXBvbmVudCc7XG5leHBvcnQge01hcmtVbnNvbGljaXRlZFBheW1lbnRDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21hcmstdW5zb2xpY2l0ZWQtcGF5bWVudC9tYXJrLXVuc29saWNpdGVkLXBheW1lbnQuY29tcG9uZW50JztcbmV4cG9ydCB7UGFnZU5vdEZvdW5kQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQnO1xuZXhwb3J0IHtQYXltZW50TGlzdENvbXBvbmVudCBhcyDJtWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGF5bWVudC1saXN0L3BheW1lbnQtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtQYXltZW50Vmlld0NvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtQYmFEZXRhaWxzQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYmEtZGV0YWlscy9wYmEtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0IHtSZXBvcnRzQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZXBvcnRzL3JlcG9ydHMuY29tcG9uZW50JztcbmV4cG9ydCB7U3RhdHVzSGlzdG9yeUNvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RhdHVzLWhpc3Rvcnkvc3RhdHVzLWhpc3RvcnkuY29tcG9uZW50JztcbmV4cG9ydCB7VW5wcm9jZXNzZWRQYXltZW50c0NvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdW5wcm9jZXNzZWQtcGF5bWVudHMvdW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50JztcbmV4cG9ydCB7Q2NkSHlwaGVuc1BpcGUgYXMgybV3fSBmcm9tICcuL2xpYi9waXBlcy9jY2QtaHlwaGVucy5waXBlJztcbmV4cG9ydCB7a2V5VmFsdWVQaXBlIGFzIMm1eH0gZnJvbSAnLi9saWIvcGlwZXMva2V5LXZhbHVlLnBpcGUnO1xuZXhwb3J0IHtTYW5pdGl6ZUh0bWxQaXBlIGFzIMm1eX0gZnJvbSAnLi9saWIvcGlwZXMvc2FuaXRpemUtaHRtbC5waXBlJztcbmV4cG9ydCB7QnVsa1NjYW5pbmdQYXltZW50U2VydmljZSBhcyDJtW59IGZyb20gJy4vbGliL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuZXhwb3J0IHtDYXJkRGV0YWlsc1NlcnZpY2UgYXMgybVpfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jYXJkLWRldGFpbHMvY2FyZC1kZXRhaWxzLnNlcnZpY2UnO1xuZXhwb3J0IHtDYXNlVHJhbnNhY3Rpb25zU2VydmljZSBhcyDJtXJ9IGZyb20gJy4vbGliL3NlcnZpY2VzL2Nhc2UtdHJhbnNhY3Rpb25zL2Nhc2UtdHJhbnNhY3Rpb25zLnNlcnZpY2UnO1xuZXhwb3J0IHtQYXltZW50TGlzdFNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wYXltZW50LWxpc3QvcGF5bWVudC1saXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtQYXltZW50Vmlld1NlcnZpY2UgYXMgybVmfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuZXhwb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvc2VydmljZXMvc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5leHBvcnQge1dlYkNvbXBvbmVudEh0dHBDbGllbnQgYXMgybVnfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zaGFyZWQvaHR0cGNsaWVudC93ZWJjb21wb25lbnQuaHR0cC5jbGllbnQnO1xuZXhwb3J0IHtDb25zb2xlTG9nZ2VyU2VydmljZSBhcyDJtWJjfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zaGFyZWQvbG9nZ2VyL2NvbnNvbGUtbG9nZ2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtMb2dnZXJTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvc2VydmljZXMvc2hhcmVkL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5leHBvcnQge1N0YXR1c0hpc3RvcnlTZXJ2aWNlIGFzIMm1bH0gZnJvbSAnLi9saWIvc2VydmljZXMvc3RhdHVzLWhpc3Rvcnkvc3RhdHVzLWhpc3Rvcnkuc2VydmljZSc7XG5leHBvcnQge1hsRmlsZVNlcnZpY2UgYXMgybViYX0gZnJvbSAnLi9saWIvc2VydmljZXMveGwtZmlsZS94bC1maWxlLnNlcnZpY2UnOyJdfQ==
|
|
45
|
+
export { StatusHistoryService as ɵp } from './lib/services/status-history/status-history.service';
|
|
46
|
+
export { XlFileService as ɵbg } from './lib/services/xl-file/xl-file.service';
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtY2NwYXktd2ViLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsiaG1jdHMtY2NwYXktd2ViLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEseUVBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDakcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDbkksT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsMEJBQTBCLElBQUksRUFBRSxFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEdBQUcsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUN4SCxPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLElBQUksR0FBRyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksSUFBSSxHQUFHLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDMUYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEdBQUcsRUFBQyxNQUFNLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0FkZFJlbWlzc2lvbkNvbXBvbmVudCBhcyDJtWJhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FkZC1yZW1pc3Npb24vYWRkLXJlbWlzc2lvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtBbGxvY2F0ZVBheW1lbnRzQ29tcG9uZW50IGFzIMm1dn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hbGxvY2F0ZS1wYXltZW50cy9hbGxvY2F0ZS1wYXltZW50cy5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkRGV0YWlsc0NvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2FyZC1kZXRhaWxzL2NhcmQtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXNlVHJhbnNhY3Rpb25zQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jYXNlLXRyYW5zYWN0aW9ucy9jYXNlLXRyYW5zYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0IHtFcnJvckJhbm5lckNvbXBvbmVudCBhcyDJtWJofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Vycm9yLWJhbm5lci9lcnJvci1iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RmVlU3VtbWFyeUNvbXBvbmVudCBhcyDJtXp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmVlLXN1bW1hcnkvZmVlLXN1bW1hcnkuY29tcG9uZW50JztcbmV4cG9ydCB7TWFya1VuaWRlbnRpZmllZFBheW1lbnRDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21hcmstdW5pZGVudGlmaWVkLXBheW1lbnQvbWFyay11bmlkZW50aWZpZWQtcGF5bWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtNYXJrVW5zb2xpY2l0ZWRQYXltZW50Q29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tYXJrLXVuc29saWNpdGVkLXBheW1lbnQvbWFyay11bnNvbGljaXRlZC1wYXltZW50LmNvbXBvbmVudCc7XG5leHBvcnQge1BhZ2VOb3RGb3VuZENvbXBvbmVudCBhcyDJtW59IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFnZS1ub3QtZm91bmQuY29tcG9uZW50JztcbmV4cG9ydCB7UGF5bWVudExpc3RDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BheW1lbnQtbGlzdC9wYXltZW50LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7UGF5bWVudFZpZXdDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7UGJhRGV0YWlsc0NvbXBvbmVudCBhcyDJtXh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGJhLWRldGFpbHMvcGJhLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvY2Vzc1JlZnVuZENvbXBvbmVudCBhcyDJtWl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcHJvY2Vzcy1yZWZ1bmQvcHJvY2Vzcy1yZWZ1bmQuY29tcG9uZW50JztcbmV4cG9ydCB7UHJvY2Vzc2VkUGF5bWVudHNDb21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Byb2Nlc3NlZC1wYXltZW50cy9wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50JztcbmV4cG9ydCB7UmVmdW5kTGlzdENvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVmdW5kLWxpc3QvcmVmdW5kLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7UmVmdW5kU3RhdHVzQ29tcG9uZW50IGFzIMm1Ymt9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVmdW5kLXN0YXR1cy9yZWZ1bmQtc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQge1JlZnVuZHNDb21wb25lbnQgYXMgybViaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWZ1bmRzL3JlZnVuZHMuY29tcG9uZW50JztcbmV4cG9ydCB7UmVwb3J0c0NvbXBvbmVudCBhcyDJtWJmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvcmVwb3J0cy5jb21wb25lbnQnO1xuZXhwb3J0IHtTdGF0dXNIaXN0b3J5Q29tcG9uZW50IGFzIMm1b30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdGF0dXMtaGlzdG9yeS9zdGF0dXMtaGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtUYWJsZUNvbXBvbmVudCBhcyDJtWJqfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQge1VucHJvY2Vzc2VkUGF5bWVudHNDb21wb25lbnQgYXMgybV0fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcGl0YWxpemVQaXBlIGFzIMm1YmN9IGZyb20gJy4vbGliL3BpcGVzL2NhcGl0YWxpemUucGlwZSc7XG5leHBvcnQge0NjZEh5cGhlbnNQaXBlIGFzIMm1YmJ9IGZyb20gJy4vbGliL3BpcGVzL2NjZC1oeXBoZW5zLnBpcGUnO1xuZXhwb3J0IHtrZXlWYWx1ZVBpcGUgYXMgybViZH0gZnJvbSAnLi9saWIvcGlwZXMva2V5LXZhbHVlLnBpcGUnO1xuZXhwb3J0IHtTYW5pdGl6ZUh0bWxQaXBlIGFzIMm1YmV9IGZyb20gJy4vbGliL3BpcGVzL3Nhbml0aXplLWh0bWwucGlwZSc7XG5leHBvcnQge0J1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UgYXMgybVyfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9idWxrLXNjYW5pbmctcGF5bWVudC9idWxrLXNjYW5pbmctcGF5bWVudC5zZXJ2aWNlJztcbmV4cG9ydCB7Q2FyZERldGFpbHNTZXJ2aWNlIGFzIMm1bX0gZnJvbSAnLi9saWIvc2VydmljZXMvY2FyZC1kZXRhaWxzL2NhcmQtZGV0YWlscy5zZXJ2aWNlJztcbmV4cG9ydCB7Q2FzZVRyYW5zYWN0aW9uc1NlcnZpY2UgYXMgybV3fSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jYXNlLXRyYW5zYWN0aW9ucy9jYXNlLXRyYW5zYWN0aW9ucy5zZXJ2aWNlJztcbmV4cG9ydCB7T3JkZXJzbGlzdFNlcnZpY2UgYXMgybVofSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtQYXltZW50TGlzdFNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wYXltZW50LWxpc3QvcGF5bWVudC1saXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtQYXltZW50Vmlld1NlcnZpY2UgYXMgybVmfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UnO1xuZXhwb3J0IHtSZWZ1bmRzU2VydmljZSBhcyDJtWp9IGZyb20gJy4vbGliL3NlcnZpY2VzL3JlZnVuZHMvcmVmdW5kcy5zZXJ2aWNlJztcbmV4cG9ydCB7RXJyb3JIYW5kbGVyU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2VzL3NoYXJlZC9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtXZWJDb21wb25lbnRIdHRwQ2xpZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvc2VydmljZXMvc2hhcmVkL2h0dHBjbGllbnQvd2ViY29tcG9uZW50Lmh0dHAuY2xpZW50JztcbmV4cG9ydCB7Q29uc29sZUxvZ2dlclNlcnZpY2UgYXMgybVibH0gZnJvbSAnLi9saWIvc2VydmljZXMvc2hhcmVkL2xvZ2dlci9jb25zb2xlLWxvZ2dlci5zZXJ2aWNlJztcbmV4cG9ydCB7TG9nZ2VyU2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL3NlcnZpY2VzL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuZXhwb3J0IHtTdGF0dXNIaXN0b3J5U2VydmljZSBhcyDJtXB9IGZyb20gJy4vbGliL3NlcnZpY2VzL3N0YXR1cy1oaXN0b3J5L3N0YXR1cy1oaXN0b3J5LnNlcnZpY2UnO1xuZXhwb3J0IHtYbEZpbGVTZXJ2aWNlIGFzIMm1Ymd9IGZyb20gJy4vbGliL3NlcnZpY2VzL3hsLWZpbGUveGwtZmlsZS5zZXJ2aWNlJzsiXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
6
6
|
import { FormBuilder, Validators, FormControl } from '@angular/forms';
|
|
@@ -8,25 +8,56 @@ import { Router } from '@angular/router';
|
|
|
8
8
|
import { AddRemissionRequest } from '../../interfaces/AddRemissionRequest';
|
|
9
9
|
import { PaymentViewService } from '../../services/payment-view/payment-view.service';
|
|
10
10
|
import { PaymentLibComponent } from '../../payment-lib.component';
|
|
11
|
+
import { RefundsService } from '../../services/refunds/refunds.service';
|
|
12
|
+
import { AddRetroRemissionRequest } from '../../interfaces/AddRetroRemissionRequest';
|
|
13
|
+
import { PostRefundRetroRemission } from '../../interfaces/PostRefundRetroRemission';
|
|
14
|
+
import { PostIssueRefundRetroRemission } from '../../interfaces/PostIssueRefundRetroRemission';
|
|
15
|
+
import { ChangeDetectorRef } from '@angular/core';
|
|
16
|
+
import { OrderslistService } from '../../services/orderslist.service';
|
|
11
17
|
/** @type {?} */
|
|
12
18
|
var BS_ENABLE_FLAG = 'bulk-scan-enabling-fe';
|
|
13
19
|
var AddRemissionComponent = /** @class */ (function () {
|
|
14
|
-
|
|
20
|
+
// refundReasons:IRefundReasons[];
|
|
21
|
+
function AddRemissionComponent(formBuilder, router, paymentViewService, paymentLibComponent, refundService, cd, OrderslistService) {
|
|
15
22
|
this.formBuilder = formBuilder;
|
|
16
23
|
this.router = router;
|
|
17
24
|
this.paymentViewService = paymentViewService;
|
|
18
25
|
this.paymentLibComponent = paymentLibComponent;
|
|
26
|
+
this.refundService = refundService;
|
|
27
|
+
this.cd = cd;
|
|
28
|
+
this.OrderslistService = OrderslistService;
|
|
19
29
|
this.cancelRemission = new EventEmitter();
|
|
30
|
+
//@Output() refundListReason: EventEmitter<any> = new EventEmitter({reason:string, code:string});
|
|
31
|
+
this.refundListReason = new EventEmitter();
|
|
32
|
+
this.refundListAmount = new EventEmitter();
|
|
33
|
+
this.refund = {
|
|
34
|
+
reason: {
|
|
35
|
+
duplicate: 'Duplicate payment',
|
|
36
|
+
humanerror: 'Human error',
|
|
37
|
+
caseWithdrawn: 'Case withdrawn',
|
|
38
|
+
other: 'Other'
|
|
39
|
+
}
|
|
40
|
+
};
|
|
20
41
|
this.hasErrors = false;
|
|
21
42
|
this.viewStatus = 'main';
|
|
22
43
|
this.errorMessage = null;
|
|
23
44
|
this.option = null;
|
|
24
45
|
this.isConfirmationBtnDisabled = false;
|
|
46
|
+
this.selectedValue = 'yes';
|
|
47
|
+
this.retroRemission = false;
|
|
48
|
+
this.remissionReference = '';
|
|
49
|
+
this.paymentExplanationHasError = false;
|
|
25
50
|
this.isRemissionCodeEmpty = false;
|
|
26
51
|
this.remissionCodeHasError = false;
|
|
27
52
|
this.isAmountEmpty = false;
|
|
53
|
+
this.isReasonEmpty = false;
|
|
28
54
|
this.amountHasError = false;
|
|
29
55
|
this.isRemissionLessThanFeeError = false;
|
|
56
|
+
this.refundHasError = false;
|
|
57
|
+
this.isPaymentSuccess = false;
|
|
58
|
+
this.isRemissionApplied = false;
|
|
59
|
+
this.refundReasons = [];
|
|
60
|
+
this.commonRefundReasons = [];
|
|
30
61
|
}
|
|
31
62
|
/**
|
|
32
63
|
* @return {?}
|
|
@@ -35,7 +66,22 @@ var AddRemissionComponent = /** @class */ (function () {
|
|
|
35
66
|
* @return {?}
|
|
36
67
|
*/
|
|
37
68
|
function () {
|
|
69
|
+
var _this = this;
|
|
70
|
+
this.default = 'Select a different reason';
|
|
71
|
+
if (this.remission) {
|
|
72
|
+
this.cd.detectChanges();
|
|
73
|
+
}
|
|
74
|
+
if (this.fee) {
|
|
75
|
+
this.amount = (this.fee.volume * this.fee.calculated_amount);
|
|
76
|
+
}
|
|
77
|
+
if (this.payment) {
|
|
78
|
+
this.remessionPayment = this.payment;
|
|
79
|
+
if (this.payment.status === 'Success') {
|
|
80
|
+
this.isPaymentSuccess = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
38
83
|
this.option = this.paymentLibComponent.SELECTED_OPTION;
|
|
84
|
+
this.bsPaymentDcnNumber = this.paymentLibComponent.bspaymentdcn;
|
|
39
85
|
this.remissionForm = this.formBuilder.group({
|
|
40
86
|
remissionCode: new FormControl('', Validators.compose([
|
|
41
87
|
Validators.required,
|
|
@@ -44,9 +90,46 @@ var AddRemissionComponent = /** @class */ (function () {
|
|
|
44
90
|
amount: new FormControl('', Validators.compose([
|
|
45
91
|
Validators.required,
|
|
46
92
|
Validators.pattern('^[0-9]+(\\.[0-9]{2})?$')
|
|
47
|
-
]))
|
|
93
|
+
])),
|
|
94
|
+
refundReason: new FormControl('', Validators.compose([Validators.required])),
|
|
95
|
+
refundDDReason: new FormControl('', Validators.compose([Validators.required])),
|
|
96
|
+
reason: new FormControl()
|
|
48
97
|
});
|
|
49
|
-
|
|
98
|
+
/** @type {?} */
|
|
99
|
+
var remissionctrls = this.remissionForm.controls;
|
|
100
|
+
remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
|
|
101
|
+
if (this.viewCompStatus === '') {
|
|
102
|
+
this.viewStatus = 'main';
|
|
103
|
+
}
|
|
104
|
+
if (this.viewCompStatus === 'issuerefund') {
|
|
105
|
+
this.refundService.getRefundReasons().subscribe((/**
|
|
106
|
+
* @param {?} refundReasons
|
|
107
|
+
* @return {?}
|
|
108
|
+
*/
|
|
109
|
+
function (refundReasons) {
|
|
110
|
+
_this.refundReasons = refundReasons['data'].filter((/**
|
|
111
|
+
* @param {?} data
|
|
112
|
+
* @return {?}
|
|
113
|
+
*/
|
|
114
|
+
function (data) { return data.recently_used === false; }));
|
|
115
|
+
_this.cd.detectChanges();
|
|
116
|
+
_this.commonRefundReasons = refundReasons['data'].filter((/**
|
|
117
|
+
* @param {?} data
|
|
118
|
+
* @return {?}
|
|
119
|
+
*/
|
|
120
|
+
function (data) { return data.recently_used === true; }));
|
|
121
|
+
_this.cd.detectChanges();
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
if (this.viewCompStatus === 'processretroremissonpage' && this.isFromRefundListPage) {
|
|
125
|
+
this.viewStatus = 'processretroremissonpage';
|
|
126
|
+
}
|
|
127
|
+
// this.refundService.getUserDetails().subscribe(
|
|
128
|
+
// userdetail => {
|
|
129
|
+
// console.log(userdetail);
|
|
130
|
+
// console.log(userdetail['data']);
|
|
131
|
+
// } );
|
|
132
|
+
this.paymentLibComponent.CCD_CASE_NUMBER;
|
|
50
133
|
};
|
|
51
134
|
/**
|
|
52
135
|
* @return {?}
|
|
@@ -55,32 +138,82 @@ var AddRemissionComponent = /** @class */ (function () {
|
|
|
55
138
|
* @return {?}
|
|
56
139
|
*/
|
|
57
140
|
function () {
|
|
58
|
-
this.resetRemissionForm([false, false, false, false, false], 'All');
|
|
141
|
+
this.resetRemissionForm([false, false, false, false, false, false], 'All');
|
|
59
142
|
/** @type {?} */
|
|
60
143
|
var remissionctrls = this.remissionForm.controls;
|
|
61
144
|
/** @type {?} */
|
|
62
|
-
var isRemissionLessThanFee = this.fee.calculated_amount > remissionctrls
|
|
145
|
+
var isRemissionLessThanFee = this.fee.calculated_amount > remissionctrls.amount.value;
|
|
146
|
+
this.remissionForm.controls['refundReason'].setErrors(null);
|
|
147
|
+
this.remissionForm.controls['refundDDReason'].setErrors(null);
|
|
148
|
+
this.remissionForm.controls['amount'].setErrors(null);
|
|
63
149
|
if (this.remissionForm.dirty && this.remissionForm.valid && isRemissionLessThanFee) {
|
|
64
150
|
this.viewStatus = 'confirmation';
|
|
65
151
|
}
|
|
66
152
|
else {
|
|
67
153
|
if (remissionctrls['remissionCode'].value == '') {
|
|
68
|
-
this.resetRemissionForm([true, false, false, false, false], 'remissionCode');
|
|
154
|
+
this.resetRemissionForm([true, false, false, false, false, false], 'remissionCode');
|
|
69
155
|
}
|
|
70
156
|
if (remissionctrls['remissionCode'].value != '' && remissionctrls['remissionCode'].invalid) {
|
|
71
|
-
this.resetRemissionForm([false, true, false, false, false], 'remissionCode');
|
|
157
|
+
this.resetRemissionForm([false, true, false, false, false, false], 'remissionCode');
|
|
72
158
|
}
|
|
73
159
|
if (remissionctrls['amount'].value == '') {
|
|
74
|
-
this.resetRemissionForm([false, false, true, false, false], 'amount');
|
|
160
|
+
this.resetRemissionForm([false, false, true, false, false, false], 'amount');
|
|
75
161
|
}
|
|
76
162
|
if (remissionctrls['amount'].value != '' && remissionctrls['amount'].invalid) {
|
|
77
|
-
this.resetRemissionForm([false, true, false, true, false], 'amount');
|
|
163
|
+
this.resetRemissionForm([false, true, false, true, false, false], 'amount');
|
|
78
164
|
}
|
|
79
|
-
if (remissionctrls
|
|
80
|
-
this.resetRemissionForm([false, false, false, false, true], 'amount');
|
|
165
|
+
if (remissionctrls.amount.valid && !isRemissionLessThanFee) {
|
|
166
|
+
this.resetRemissionForm([false, false, false, false, true, false], 'amount');
|
|
81
167
|
}
|
|
82
168
|
}
|
|
83
169
|
};
|
|
170
|
+
/**
|
|
171
|
+
* @return {?}
|
|
172
|
+
*/
|
|
173
|
+
AddRemissionComponent.prototype.confirmRemission = /**
|
|
174
|
+
* @return {?}
|
|
175
|
+
*/
|
|
176
|
+
function () {
|
|
177
|
+
var _this = this;
|
|
178
|
+
this.isConfirmationBtnDisabled = true;
|
|
179
|
+
/** @type {?} */
|
|
180
|
+
var newNetAmount = this.remissionForm.controls.amount.value;
|
|
181
|
+
/** @type {?} */
|
|
182
|
+
var remissionAmount = this.fee.net_amount - newNetAmount;
|
|
183
|
+
/** @type {?} */
|
|
184
|
+
var requestBody = new AddRemissionRequest(this.ccdCaseNumber, this.fee, remissionAmount, this.remissionForm.controls.remissionCode.value, this.caseType);
|
|
185
|
+
this.paymentViewService.postPaymentGroupWithRemissions(decodeURIComponent(this.paymentGroupRef).trim(), this.fee.id, requestBody).subscribe((/**
|
|
186
|
+
* @param {?} response
|
|
187
|
+
* @return {?}
|
|
188
|
+
*/
|
|
189
|
+
function (response) {
|
|
190
|
+
if (JSON.parse(response).success) {
|
|
191
|
+
/** @type {?} */
|
|
192
|
+
var LDUrl = _this.isTurnOff ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
|
|
193
|
+
LDUrl += "&caseType=" + _this.caseType;
|
|
194
|
+
LDUrl += _this.isNewPcipalOff ? '&isNewPcipalOff=Enable' : '&isNewPcipalOff=Disable';
|
|
195
|
+
LDUrl += _this.isOldPcipalOff ? '&isOldPcipalOff=Enable' : '&isOldPcipalOff=Disable';
|
|
196
|
+
if (_this.paymentLibComponent.bspaymentdcn) {
|
|
197
|
+
_this.router.routeReuseStrategy.shouldReuseRoute = (/**
|
|
198
|
+
* @return {?}
|
|
199
|
+
*/
|
|
200
|
+
function () { return false; });
|
|
201
|
+
_this.router.onSameUrlNavigation = 'reload';
|
|
202
|
+
_this.router.navigateByUrl("/payment-history/" + _this.ccdCaseNumber + "?view=fee-summary&selectedOption=" + _this.option + "&paymentGroupRef=" + _this.paymentGroupRef + "&dcn=" + _this.paymentLibComponent.bspaymentdcn + LDUrl);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
_this.gotoCasetransationPage();
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}), (/**
|
|
209
|
+
* @param {?} error
|
|
210
|
+
* @return {?}
|
|
211
|
+
*/
|
|
212
|
+
function (error) {
|
|
213
|
+
_this.errorMessage = error;
|
|
214
|
+
_this.isConfirmationBtnDisabled = false;
|
|
215
|
+
}));
|
|
216
|
+
};
|
|
84
217
|
/**
|
|
85
218
|
* @param {?} val
|
|
86
219
|
* @param {?} field
|
|
@@ -92,7 +225,15 @@ var AddRemissionComponent = /** @class */ (function () {
|
|
|
92
225
|
* @return {?}
|
|
93
226
|
*/
|
|
94
227
|
function (val, field) {
|
|
95
|
-
if (field === '
|
|
228
|
+
if (field === 'All') {
|
|
229
|
+
this.isRemissionCodeEmpty = val[0];
|
|
230
|
+
this.remissionCodeHasError = val[1];
|
|
231
|
+
this.isAmountEmpty = val[2];
|
|
232
|
+
this.amountHasError = val[3];
|
|
233
|
+
this.isRemissionLessThanFeeError = val[4];
|
|
234
|
+
this.isReasonEmpty = val[5];
|
|
235
|
+
}
|
|
236
|
+
else if (field === 'remissionCode' || field === 'All') {
|
|
96
237
|
this.isRemissionCodeEmpty = val[0];
|
|
97
238
|
this.remissionCodeHasError = val[1];
|
|
98
239
|
}
|
|
@@ -101,37 +242,463 @@ var AddRemissionComponent = /** @class */ (function () {
|
|
|
101
242
|
this.amountHasError = val[3];
|
|
102
243
|
this.isRemissionLessThanFeeError = val[4];
|
|
103
244
|
}
|
|
245
|
+
else if (field === 'reason' || field === 'All') {
|
|
246
|
+
this.isReasonEmpty = val[5];
|
|
247
|
+
}
|
|
104
248
|
};
|
|
249
|
+
// Add retro remission changes
|
|
250
|
+
// Add retro remission changes
|
|
105
251
|
/**
|
|
106
252
|
* @return {?}
|
|
107
253
|
*/
|
|
108
|
-
AddRemissionComponent.prototype.
|
|
254
|
+
AddRemissionComponent.prototype.addRemissionCode =
|
|
255
|
+
// Add retro remission changes
|
|
256
|
+
/**
|
|
257
|
+
* @return {?}
|
|
258
|
+
*/
|
|
259
|
+
function () {
|
|
260
|
+
this.isRefundRemission = false;
|
|
261
|
+
this.resetRemissionForm([false, false, false, false, false, false], 'All');
|
|
262
|
+
/** @type {?} */
|
|
263
|
+
var remissionctrls = this.remissionForm.controls;
|
|
264
|
+
/** @type {?} */
|
|
265
|
+
var isRemissionLessThanFee = this.fee.calculated_amount >= remissionctrls.amount.value;
|
|
266
|
+
this.remissionForm.controls['refundReason'].setErrors(null);
|
|
267
|
+
this.remissionForm.controls['refundDDReason'].setErrors(null);
|
|
268
|
+
this.remissionForm.controls['amount'].setErrors(null);
|
|
269
|
+
if (this.remissionForm.dirty && this.remissionForm.valid && isRemissionLessThanFee) {
|
|
270
|
+
this.viewCompStatus = '';
|
|
271
|
+
this.viewStatus = "processretroremissonpage";
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
if (remissionctrls['remissionCode'].value == '') {
|
|
275
|
+
this.resetRemissionForm([true, false, false, false, false], 'remissionCode');
|
|
276
|
+
}
|
|
277
|
+
if (remissionctrls['remissionCode'].value != '' && remissionctrls['remissionCode'].invalid) {
|
|
278
|
+
this.resetRemissionForm([false, true, false, false, false], 'remissionCode');
|
|
279
|
+
}
|
|
280
|
+
if (remissionctrls['amount'].value == '') {
|
|
281
|
+
this.resetRemissionForm([false, false, true, false, false], 'amount');
|
|
282
|
+
}
|
|
283
|
+
if (remissionctrls['amount'].value != '' && remissionctrls['amount'].invalid) {
|
|
284
|
+
this.resetRemissionForm([false, true, false, true, false], 'amount');
|
|
285
|
+
}
|
|
286
|
+
if (remissionctrls['reason'].value == '') {
|
|
287
|
+
this.resetRemissionForm([false, false, false, true, false, true], 'reason');
|
|
288
|
+
}
|
|
289
|
+
if (remissionctrls.amount.valid && !isRemissionLessThanFee) {
|
|
290
|
+
this.resetRemissionForm([false, false, false, false, true], 'amount');
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
/**
|
|
295
|
+
* @return {?}
|
|
296
|
+
*/
|
|
297
|
+
AddRemissionComponent.prototype.gotoAddRetroRemissionCodePage = /**
|
|
298
|
+
* @return {?}
|
|
299
|
+
*/
|
|
300
|
+
function () {
|
|
301
|
+
if (this.isRefundRemission) {
|
|
302
|
+
this.paymentLibComponent.iscancelClicked = true;
|
|
303
|
+
this.refundListAmount.emit();
|
|
304
|
+
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
if (this.isFromRefundListPage) {
|
|
308
|
+
this.paymentLibComponent.iscancelClicked = true;
|
|
309
|
+
this.refundListReason.emit({ reason: this.selectedRefundReason, code: this.refundReason });
|
|
310
|
+
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
this.viewStatus = '';
|
|
314
|
+
this.selectedValue = 'yes';
|
|
315
|
+
this.viewCompStatus = "addremission";
|
|
316
|
+
this.isRefundRemission = true;
|
|
317
|
+
this.errorMessage = '';
|
|
318
|
+
if (this.isFromPaymentDetailPage) {
|
|
319
|
+
// this.paymentLibComponent.paymentMethod = this.payment.method;
|
|
320
|
+
// this.paymentLibComponent.paymentGroupReference = this.paymentGroupRef;
|
|
321
|
+
// this.paymentLibComponent.paymentReference = this.payment.payment_group_reference;
|
|
322
|
+
this.paymentLibComponent.viewName = 'payment-view';
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
/**
|
|
326
|
+
* @param {?} payment
|
|
327
|
+
* @return {?}
|
|
328
|
+
*/
|
|
329
|
+
AddRemissionComponent.prototype.gotoCheckRetroRemissionPage = /**
|
|
330
|
+
* @param {?} payment
|
|
331
|
+
* @return {?}
|
|
332
|
+
*/
|
|
333
|
+
function (payment) {
|
|
334
|
+
this.paymentLibComponent.iscancelClicked = false;
|
|
335
|
+
this.errorMessage = '';
|
|
336
|
+
this.resetRemissionForm([false, false, false, false, false], 'All');
|
|
337
|
+
if (!this.isRefundRemission) {
|
|
338
|
+
/** @type {?} */
|
|
339
|
+
var remissionctrls = this.remissionForm.controls;
|
|
340
|
+
/** @type {?} */
|
|
341
|
+
var isRemissionLessThanFee = this.fee.calculated_amount >= remissionctrls.amount.value;
|
|
342
|
+
if (this.remissionForm.dirty) {
|
|
343
|
+
if (remissionctrls['amount'].value == '') {
|
|
344
|
+
this.resetRemissionForm([false, false, true, false, false], 'amount');
|
|
345
|
+
}
|
|
346
|
+
else if (remissionctrls['amount'].value != '' && remissionctrls['amount'].invalid) {
|
|
347
|
+
this.resetRemissionForm([false, false, false, true, false], 'amount');
|
|
348
|
+
}
|
|
349
|
+
else if (remissionctrls.amount.valid && !isRemissionLessThanFee) {
|
|
350
|
+
this.resetRemissionForm([false, false, false, false, true], 'amount');
|
|
351
|
+
}
|
|
352
|
+
else {
|
|
353
|
+
this.viewCompStatus = '';
|
|
354
|
+
this.viewStatus = "checkretroremissionpage";
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
/** @type {?} */
|
|
360
|
+
var remissionctrls = this.remissionForm.controls;
|
|
361
|
+
//if (this.remissionForm.dirty ) {
|
|
362
|
+
if (remissionctrls['amount'].value == '') {
|
|
363
|
+
this.resetRemissionForm([false, false, true, false, false], 'amount');
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
this.viewCompStatus = '';
|
|
367
|
+
this.viewStatus = "checkretroremissionpage";
|
|
368
|
+
this.refundListAmount.emit(remissionctrls['amount'].value);
|
|
369
|
+
}
|
|
370
|
+
//}
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* @return {?}
|
|
375
|
+
*/
|
|
376
|
+
AddRemissionComponent.prototype.gotoProcessRetroRemissionPage = /**
|
|
377
|
+
* @return {?}
|
|
378
|
+
*/
|
|
379
|
+
function () {
|
|
380
|
+
this.viewStatus = '';
|
|
381
|
+
this.viewCompStatus = 'addremission';
|
|
382
|
+
this.isRefundRemission = true;
|
|
383
|
+
this.errorMessage = '';
|
|
384
|
+
};
|
|
385
|
+
/**
|
|
386
|
+
* @return {?}
|
|
387
|
+
*/
|
|
388
|
+
AddRemissionComponent.prototype.confirmRetroRemission = /**
|
|
109
389
|
* @return {?}
|
|
110
390
|
*/
|
|
111
391
|
function () {
|
|
112
392
|
var _this = this;
|
|
113
393
|
this.isConfirmationBtnDisabled = true;
|
|
394
|
+
this.retroRemission = true;
|
|
395
|
+
this.remissionamt = this.remissionForm.controls.amount.value;
|
|
396
|
+
// if(this.remessionPayment.status === 'Success') {
|
|
397
|
+
// if(this.fee.calculated_amount.toString() === this.remissionForm.controls.amount.value) {
|
|
398
|
+
// this.remissionamt =this.remissionForm.controls.amount.value
|
|
399
|
+
// }
|
|
400
|
+
// else
|
|
401
|
+
// {
|
|
402
|
+
// this.remissionamt = this.fee.calculated_amount - this.remissionForm.controls.amount.value;
|
|
403
|
+
// }
|
|
404
|
+
// } else {
|
|
405
|
+
// this.remissionamt = this.remissionForm.controls.amount.value;
|
|
406
|
+
// }
|
|
114
407
|
/** @type {?} */
|
|
115
|
-
var
|
|
408
|
+
var requestBody = new AddRetroRemissionRequest(this.remissionamt, this.remissionForm.controls.remissionCode.value);
|
|
409
|
+
this.paymentViewService.postPaymentGroupWithRetroRemissions(decodeURIComponent(this.paymentGroupRef).trim(), this.fee.id, requestBody).subscribe((/**
|
|
410
|
+
* @param {?} response
|
|
411
|
+
* @return {?}
|
|
412
|
+
*/
|
|
413
|
+
function (response) {
|
|
414
|
+
if (JSON.parse(response)) {
|
|
415
|
+
_this.isRemissionApplied = true;
|
|
416
|
+
_this.viewCompStatus = '';
|
|
417
|
+
_this.viewStatus = 'retroremissionconfirmationpage';
|
|
418
|
+
_this.remissionReference = JSON.parse(response).remission_reference;
|
|
419
|
+
//if (this.retroRemission) {
|
|
420
|
+
// } else {
|
|
421
|
+
// let LDUrl = this.isTurnOff ? '&isTurnOff=Enable' : '&isTurnOff=Disable'
|
|
422
|
+
// LDUrl += `&caseType=${this.caseType}`
|
|
423
|
+
// LDUrl += this.isNewPcipalOff ? '&isNewPcipalOff=Enable' : '&isNewPcipalOff=Disable'
|
|
424
|
+
// LDUrl += this.isOldPcipalOff ? '&isOldPcipalOff=Enable' : '&isOldPcipalOff=Disable'
|
|
425
|
+
// if (this.paymentLibComponent.bspaymentdcn) {
|
|
426
|
+
// this.router.routeReuseStrategy.shouldReuseRoute = () => false;
|
|
427
|
+
// this.router.onSameUrlNavigation = 'reload';
|
|
428
|
+
// this.router.navigateByUrl(`/payment-history/${this.ccdCaseNumber}?view=fee-summary&selectedOption=${this.option}&paymentGroupRef=${this.paymentGroupRef}&dcn=${this.paymentLibComponent.bspaymentdcn}${LDUrl}`);
|
|
429
|
+
// }else {
|
|
430
|
+
// this.gotoCasetransationPage();
|
|
431
|
+
// }
|
|
432
|
+
// }
|
|
433
|
+
}
|
|
434
|
+
}), (/**
|
|
435
|
+
* @param {?} error
|
|
436
|
+
* @return {?}
|
|
437
|
+
*/
|
|
438
|
+
function (error) {
|
|
439
|
+
_this.errorMessage = error;
|
|
440
|
+
_this.isConfirmationBtnDisabled = false;
|
|
441
|
+
_this.cd.detectChanges();
|
|
442
|
+
}));
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* @return {?}
|
|
446
|
+
*/
|
|
447
|
+
AddRemissionComponent.prototype.processRefund = /**
|
|
448
|
+
* @return {?}
|
|
449
|
+
*/
|
|
450
|
+
function () {
|
|
451
|
+
var _this = this;
|
|
452
|
+
this.errorMessage = '';
|
|
453
|
+
this.isConfirmationBtnDisabled = true;
|
|
454
|
+
if (this.isRefundRemission) {
|
|
455
|
+
this.retroRemission = true;
|
|
456
|
+
}
|
|
457
|
+
if (this.remissionReference === undefined || this.remissionReference === '') {
|
|
458
|
+
this.remissionReference = this.remission.remission_reference;
|
|
459
|
+
}
|
|
116
460
|
/** @type {?} */
|
|
117
|
-
var
|
|
461
|
+
var requestBody = new PostIssueRefundRetroRemission(this.remissionReference);
|
|
462
|
+
this.paymentViewService.postRefundRetroRemission(requestBody).subscribe((/**
|
|
463
|
+
* @param {?} response
|
|
464
|
+
* @return {?}
|
|
465
|
+
*/
|
|
466
|
+
function (response) {
|
|
467
|
+
if (JSON.parse(response)) {
|
|
468
|
+
_this.viewCompStatus = '';
|
|
469
|
+
_this.viewStatus = 'refundconfirmationpage';
|
|
470
|
+
_this.refundReference = JSON.parse(response).refund_reference;
|
|
471
|
+
_this.refundAmount = JSON.parse(response).refund_amount;
|
|
472
|
+
}
|
|
473
|
+
}), (/**
|
|
474
|
+
* @param {?} error
|
|
475
|
+
* @return {?}
|
|
476
|
+
*/
|
|
477
|
+
function (error) {
|
|
478
|
+
_this.errorMessage = error;
|
|
479
|
+
_this.isConfirmationBtnDisabled = false;
|
|
480
|
+
}));
|
|
481
|
+
};
|
|
482
|
+
// Issue Refund changes
|
|
483
|
+
// Issue Refund changes
|
|
484
|
+
/**
|
|
485
|
+
* @param {?} payment
|
|
486
|
+
* @return {?}
|
|
487
|
+
*/
|
|
488
|
+
AddRemissionComponent.prototype.gotoIssueRefundConfirmation =
|
|
489
|
+
// Issue Refund changes
|
|
490
|
+
/**
|
|
491
|
+
* @param {?} payment
|
|
492
|
+
* @return {?}
|
|
493
|
+
*/
|
|
494
|
+
function (payment) {
|
|
495
|
+
this.paymentLibComponent.iscancelClicked = false;
|
|
496
|
+
this.errorMessage = '';
|
|
497
|
+
this.refundReason = this.remissionForm.controls['refundReason'].value === null ? this.remissionForm.controls['refundDDReason'].value : this.remissionForm.controls['refundReason'].value;
|
|
498
|
+
if (!this.refundReason) {
|
|
499
|
+
this.refundHasError = true;
|
|
500
|
+
}
|
|
501
|
+
else if (this.selectedRefundReason.includes('Other') && (this.remissionForm.controls['reason'].value == '' || this.remissionForm.controls['reason'].value == null)) {
|
|
502
|
+
this.resetRemissionForm([false, false, false, true, false, true], 'reason');
|
|
503
|
+
}
|
|
504
|
+
else if (this.selectedRefundReason.includes('Other') && this.remissionForm.controls['reason'].value !== '') {
|
|
505
|
+
this.refundHasError = false;
|
|
506
|
+
this.refundReason += '-' + this.remissionForm.controls['reason'].value;
|
|
507
|
+
this.selectedRefundReason = this.remissionForm.controls['reason'].value;
|
|
508
|
+
if (this.isFromRefundListPage) {
|
|
509
|
+
this.refundListReason.emit({ reason: this.selectedRefundReason, code: this.refundReason });
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
this.viewCompStatus = '';
|
|
513
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
if (this.isFromRefundListPage) {
|
|
518
|
+
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
519
|
+
this.refundListReason.emit({ reason: this.selectedRefundReason, code: this.refundReason });
|
|
520
|
+
}
|
|
521
|
+
else {
|
|
522
|
+
this.viewCompStatus = '';
|
|
523
|
+
this.viewStatus = 'checkissuerefundpage';
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
};
|
|
527
|
+
/**
|
|
528
|
+
* @return {?}
|
|
529
|
+
*/
|
|
530
|
+
AddRemissionComponent.prototype.gotoIssueRefundPage = /**
|
|
531
|
+
* @return {?}
|
|
532
|
+
*/
|
|
533
|
+
function () {
|
|
534
|
+
this.errorMessage = '';
|
|
535
|
+
this.viewCompStatus = 'issuerefund';
|
|
536
|
+
this.viewStatus = '';
|
|
537
|
+
this.isRefundRemission = true;
|
|
538
|
+
this.errorMessage = false;
|
|
539
|
+
this.refundHasError = false;
|
|
540
|
+
this.isReasonEmpty = false;
|
|
541
|
+
};
|
|
542
|
+
/**
|
|
543
|
+
* @return {?}
|
|
544
|
+
*/
|
|
545
|
+
AddRemissionComponent.prototype.changeIssueRefundReason = /**
|
|
546
|
+
* @return {?}
|
|
547
|
+
*/
|
|
548
|
+
function () {
|
|
549
|
+
// this.remissionForm.controls['refundReason'].setValue('Duplicate payment');
|
|
550
|
+
this.errorMessage = '';
|
|
551
|
+
this.refundHasError = false;
|
|
552
|
+
this.isReasonEmpty = false;
|
|
553
|
+
this.viewCompStatus = 'issuerefund';
|
|
554
|
+
this.viewStatus = '';
|
|
555
|
+
this.isRefundRemission = true;
|
|
556
|
+
};
|
|
557
|
+
/**
|
|
558
|
+
* @return {?}
|
|
559
|
+
*/
|
|
560
|
+
AddRemissionComponent.prototype.confirmIssueRefund = /**
|
|
561
|
+
* @return {?}
|
|
562
|
+
*/
|
|
563
|
+
function () {
|
|
564
|
+
var _this = this;
|
|
565
|
+
this.isConfirmationBtnDisabled = true;
|
|
566
|
+
this.errorMessage = '';
|
|
567
|
+
if (this.isRefundRemission) {
|
|
568
|
+
this.retroRemission = true;
|
|
569
|
+
}
|
|
118
570
|
/** @type {?} */
|
|
119
|
-
var requestBody = new
|
|
120
|
-
this.paymentViewService.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
571
|
+
var requestBody = new PostRefundRetroRemission(this.payment.reference, this.refundReason);
|
|
572
|
+
this.paymentViewService.postRefundsReason(requestBody).subscribe((/**
|
|
573
|
+
* @param {?} response
|
|
574
|
+
* @return {?}
|
|
575
|
+
*/
|
|
576
|
+
function (response) {
|
|
577
|
+
if (JSON.parse(response)) {
|
|
578
|
+
_this.viewCompStatus = '';
|
|
579
|
+
_this.viewStatus = 'refundconfirmationpage';
|
|
580
|
+
_this.refundReference = JSON.parse(response).refund_reference;
|
|
581
|
+
if (JSON.parse(response).refund_amount) {
|
|
582
|
+
_this.refundAmount = JSON.parse(response).refund_amount;
|
|
126
583
|
}
|
|
127
|
-
|
|
128
|
-
|
|
584
|
+
}
|
|
585
|
+
}), (/**
|
|
586
|
+
* @param {?} error
|
|
587
|
+
* @return {?}
|
|
588
|
+
*/
|
|
589
|
+
function (error) {
|
|
590
|
+
_this.errorMessage = error;
|
|
591
|
+
_this.isConfirmationBtnDisabled = false;
|
|
592
|
+
_this.cd.detectChanges();
|
|
593
|
+
}));
|
|
594
|
+
};
|
|
595
|
+
// Retro Refund
|
|
596
|
+
// Retro Refund
|
|
597
|
+
/**
|
|
598
|
+
* @return {?}
|
|
599
|
+
*/
|
|
600
|
+
AddRemissionComponent.prototype.confirmRetroRefund =
|
|
601
|
+
// Retro Refund
|
|
602
|
+
/**
|
|
603
|
+
* @return {?}
|
|
604
|
+
*/
|
|
605
|
+
function () {
|
|
606
|
+
var _this = this;
|
|
607
|
+
this.isConfirmationBtnDisabled = true;
|
|
608
|
+
this.errorMessage = '';
|
|
609
|
+
if (this.isRefundRemission) {
|
|
610
|
+
this.retroRemission = true;
|
|
611
|
+
}
|
|
612
|
+
/** @type {?} */
|
|
613
|
+
var requestBody = new PostRefundRetroRemission(this.payment.reference, 'RR004-Retrospective remission');
|
|
614
|
+
// const requestBody = new IssueRefundRequest(this.payment.reference,'RR004-Retro remission',this.payment.amount);
|
|
615
|
+
this.paymentViewService.postRefundsReason(requestBody).subscribe((/**
|
|
616
|
+
* @param {?} response
|
|
617
|
+
* @return {?}
|
|
618
|
+
*/
|
|
619
|
+
function (response) {
|
|
620
|
+
if (JSON.parse(response)) {
|
|
621
|
+
_this.viewCompStatus = '';
|
|
622
|
+
_this.viewStatus = 'retrorefundconfirmationpage';
|
|
623
|
+
_this.refundReference = JSON.parse(response).refund_reference;
|
|
624
|
+
if (JSON.parse(response).refund_amount) {
|
|
625
|
+
_this.refundAmount = JSON.parse(response).refund_amount;
|
|
129
626
|
}
|
|
130
627
|
}
|
|
131
|
-
},
|
|
628
|
+
}), (/**
|
|
629
|
+
* @param {?} error
|
|
630
|
+
* @return {?}
|
|
631
|
+
*/
|
|
632
|
+
function (error) {
|
|
132
633
|
_this.errorMessage = error;
|
|
133
634
|
_this.isConfirmationBtnDisabled = false;
|
|
134
|
-
});
|
|
635
|
+
}));
|
|
636
|
+
};
|
|
637
|
+
/**
|
|
638
|
+
* @param {?} key
|
|
639
|
+
* @param {?} value
|
|
640
|
+
* @return {?}
|
|
641
|
+
*/
|
|
642
|
+
AddRemissionComponent.prototype.selectRadioButton = /**
|
|
643
|
+
* @param {?} key
|
|
644
|
+
* @param {?} value
|
|
645
|
+
* @return {?}
|
|
646
|
+
*/
|
|
647
|
+
function (key, value) {
|
|
648
|
+
localStorage.setItem("myradio", key);
|
|
649
|
+
/** @type {?} */
|
|
650
|
+
var remissionctrls = this.remissionForm.controls;
|
|
651
|
+
remissionctrls['refundDDReason'].setValue('Select a different reason', { onlySelf: true });
|
|
652
|
+
// remissionctrls['refundDDReason'].reset();
|
|
653
|
+
remissionctrls['reason'].reset();
|
|
654
|
+
this.isRefundReasonsSelected = true;
|
|
655
|
+
this.errorMessage = false;
|
|
656
|
+
this.isReasonEmpty = false;
|
|
657
|
+
this.showReasonText = false;
|
|
658
|
+
this.refundHasError = false;
|
|
659
|
+
this.selectedRefundReason = key;
|
|
660
|
+
if (this.selectedRefundReason.includes('Other')) {
|
|
661
|
+
this.showReasonText = true;
|
|
662
|
+
this.refundHasError = false;
|
|
663
|
+
this.refundReason = key;
|
|
664
|
+
}
|
|
665
|
+
};
|
|
666
|
+
/**
|
|
667
|
+
* @param {?} args
|
|
668
|
+
* @return {?}
|
|
669
|
+
*/
|
|
670
|
+
AddRemissionComponent.prototype.selectchange = /**
|
|
671
|
+
* @param {?} args
|
|
672
|
+
* @return {?}
|
|
673
|
+
*/
|
|
674
|
+
function (args) {
|
|
675
|
+
/** @type {?} */
|
|
676
|
+
var remissionctrls = this.remissionForm.controls;
|
|
677
|
+
remissionctrls['refundReason'].reset();
|
|
678
|
+
remissionctrls['reason'].reset();
|
|
679
|
+
this.isRefundReasonsSelected = false;
|
|
680
|
+
this.showReasonText = false;
|
|
681
|
+
this.refundHasError = false;
|
|
682
|
+
this.selectedRefundReason = args.target.options[args.target.options.selectedIndex].id;
|
|
683
|
+
this.reasonLength = (29 - this.selectedRefundReason.split('- ')[1].length);
|
|
684
|
+
if (this.selectedRefundReason.includes('Other')) {
|
|
685
|
+
this.showReasonText = true;
|
|
686
|
+
this.refundHasError = false;
|
|
687
|
+
this.refundReason = args.target.options[args.target.options.selectedIndex].id;
|
|
688
|
+
}
|
|
689
|
+
};
|
|
690
|
+
/**
|
|
691
|
+
* @return {?}
|
|
692
|
+
*/
|
|
693
|
+
AddRemissionComponent.prototype.gotoServiceRequestPage = /**
|
|
694
|
+
* @return {?}
|
|
695
|
+
*/
|
|
696
|
+
function () {
|
|
697
|
+
event.preventDefault();
|
|
698
|
+
this.viewStatus = 'main';
|
|
699
|
+
this.paymentLibComponent.viewName = 'case-transactions';
|
|
700
|
+
this.OrderslistService.setisFromServiceRequestPage(true);
|
|
701
|
+
this.OrderslistService.setnavigationPage('servicerequestpage');
|
|
135
702
|
};
|
|
136
703
|
/**
|
|
137
704
|
* @return {?}
|
|
@@ -141,36 +708,138 @@ var AddRemissionComponent = /** @class */ (function () {
|
|
|
141
708
|
*/
|
|
142
709
|
function () {
|
|
143
710
|
var _this = this;
|
|
144
|
-
this.
|
|
145
|
-
|
|
146
|
-
|
|
711
|
+
if (this.isFromServiceRequestPage) {
|
|
712
|
+
this.paymentLibComponent.isFromRefundStatusPage = false;
|
|
713
|
+
this.gotoServiceRequestPage();
|
|
714
|
+
}
|
|
715
|
+
if (this.isFromRefundListPage) {
|
|
716
|
+
this.paymentLibComponent.iscancelClicked = true;
|
|
717
|
+
this.refundListReason.emit({ reason: this.selectedRefundReason, code: this.refundReason });
|
|
718
|
+
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
719
|
+
}
|
|
720
|
+
if (!this.paymentLibComponent.isFromRefundStatusPage) {
|
|
721
|
+
if (this.payment) {
|
|
722
|
+
this.OrderslistService.setpaymentPageView({ method: this.payment.method, payment_group_reference: this.paymentGroupRef, reference: this.payment.reference });
|
|
723
|
+
}
|
|
724
|
+
if (this.isFromServiceRequestPage) {
|
|
725
|
+
this.OrderslistService.setnavigationPage('servicerequestpage');
|
|
726
|
+
}
|
|
727
|
+
else {
|
|
728
|
+
this.OrderslistService.setnavigationPage('paymentdetailspage');
|
|
729
|
+
}
|
|
730
|
+
this.errorMessage = '';
|
|
731
|
+
this.paymentLibComponent.viewName = 'case-transactions';
|
|
732
|
+
this.paymentLibComponent.TAKEPAYMENT = true;
|
|
733
|
+
this.paymentLibComponent.ISTURNOFF = this.isTurnOff;
|
|
734
|
+
this.paymentLibComponent.ISNEWPCIPALOFF = this.isNewPcipalOff;
|
|
735
|
+
this.paymentLibComponent.ISOLDPCIPALOFF = this.isOldPcipalOff;
|
|
736
|
+
this.paymentLibComponent.isFromServiceRequestPage = true;
|
|
737
|
+
this.paymentViewService.getBSfeature().subscribe((/**
|
|
738
|
+
* @param {?} features
|
|
739
|
+
* @return {?}
|
|
740
|
+
*/
|
|
741
|
+
function (features) {
|
|
742
|
+
/** @type {?} */
|
|
743
|
+
var result = JSON.parse(features).filter((/**
|
|
744
|
+
* @param {?} feature
|
|
745
|
+
* @return {?}
|
|
746
|
+
*/
|
|
747
|
+
function (feature) { return feature.uid === BS_ENABLE_FLAG; }));
|
|
748
|
+
_this.paymentLibComponent.ISBSENABLE = result[0] ? result[0].enable : false;
|
|
749
|
+
}), (/**
|
|
750
|
+
* @param {?} err
|
|
751
|
+
* @return {?}
|
|
752
|
+
*/
|
|
753
|
+
function (err) {
|
|
754
|
+
_this.paymentLibComponent.ISBSENABLE = false;
|
|
755
|
+
}));
|
|
147
756
|
/** @type {?} */
|
|
148
|
-
var
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
757
|
+
var partUrl = this.bsPaymentDcnNumber ? "&dcn=" + this.bsPaymentDcnNumber : '';
|
|
758
|
+
partUrl += this.paymentLibComponent.ISBSENABLE ? '&isBulkScanning=Enable' : '&isBulkScanning=Disable';
|
|
759
|
+
partUrl += this.paymentLibComponent.ISTURNOFF ? '&isTurnOff=Enable' : '&isTurnOff=Disable';
|
|
760
|
+
partUrl += this.isStrategicFixEnable ? '&isStFixEnable=Enable' : '&isStFixEnable=Disable';
|
|
761
|
+
partUrl += "&caseType=" + this.caseType;
|
|
762
|
+
partUrl += this.paymentLibComponent.ISNEWPCIPALOFF ? '&isNewPcipalOff=Enable' : '&isNewPcipalOff=Disable';
|
|
763
|
+
partUrl += this.paymentLibComponent.ISOLDPCIPALOFF ? '&isOldPcipalOff=Enable' : '&isOldPcipalOff=Disable';
|
|
764
|
+
if (this.isFromPaymentDetailPage) {
|
|
765
|
+
partUrl += this.paymentLibComponent.isFromPaymentDetailPage;
|
|
766
|
+
}
|
|
767
|
+
/** @type {?} */
|
|
768
|
+
var url = "/payment-history/" + this.ccdCaseNumber + "?view=case-transactions&takePayment=true&selectedOption=" + this.option + partUrl;
|
|
769
|
+
this.router.routeReuseStrategy.shouldReuseRoute = (/**
|
|
770
|
+
* @return {?}
|
|
771
|
+
*/
|
|
772
|
+
function () { return false; });
|
|
773
|
+
this.router.onSameUrlNavigation = 'reload';
|
|
774
|
+
this.router.navigateByUrl(url);
|
|
775
|
+
}
|
|
776
|
+
else {
|
|
777
|
+
this.paymentLibComponent.viewName === 'refundstatuslist';
|
|
778
|
+
this.paymentLibComponent.isFromRefundStatusPage = true;
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
/**
|
|
782
|
+
* @return {?}
|
|
783
|
+
*/
|
|
784
|
+
AddRemissionComponent.prototype.goToServiceRequestPage = /**
|
|
785
|
+
* @return {?}
|
|
786
|
+
*/
|
|
787
|
+
function () {
|
|
788
|
+
this.paymentLibComponent.viewName;
|
|
789
|
+
};
|
|
790
|
+
/**
|
|
791
|
+
* @param {?} currency
|
|
792
|
+
* @return {?}
|
|
793
|
+
*/
|
|
794
|
+
AddRemissionComponent.prototype.getFormattedCurrency = /**
|
|
795
|
+
* @param {?} currency
|
|
796
|
+
* @return {?}
|
|
797
|
+
*/
|
|
798
|
+
function (currency) {
|
|
799
|
+
if (currency.toString().includes(".")) {
|
|
800
|
+
return currency;
|
|
801
|
+
}
|
|
802
|
+
return currency.toString().concat(".00");
|
|
153
803
|
};
|
|
154
804
|
AddRemissionComponent.decorators = [
|
|
155
805
|
{ type: Component, args: [{
|
|
156
806
|
selector: 'ccpay-add-remission',
|
|
157
|
-
template: "<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"viewStatus === 'main'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREMISSION'>\n <h1 class=\"heading-large\">Add remission</h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n Add remission to {{ fee.code }}:{{ fee.description }}\n <span class=\"form-hint\">Enter remission for reference. For example: HWF-A1B-23C</span>\n </label>\n <input [ngClass]=\"{'inline-error-class': isRemissionCodeEmpty || remissionCodeHasError}\" class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" aria-label=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n <p class=\"inline-error-message\" *ngIf=\"isRemissionCodeEmpty || remissionCodeHasError\">\n <span *ngIf=\"isRemissionCodeEmpty\">Enter a remission code</span>\n <span *ngIf=\"remissionCodeHasError\">Enter a vaild remission code</span>\n </p>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"amount\">\n How much does the applicant need to pay?\n </label>\n\n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <div class=\"hmcts-currency-input\">\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isAmountEmpty || amountHasError || isRemissionLessThanFeeError}\" id=\"amount\" aria-label=\"amount\" name=\"amount\" type=\"text\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n <p class=\"inline-error-message\" *ngIf=\"isAmountEmpty || amountHasError || isRemissionLessThanFeeError\">\n <span *ngIf=\"isAmountEmpty\">Enter a amount</span>\n <span *ngIf=\"amountHasError\">Enter a vaild amount</span>\n <span *ngIf=\"isRemissionLessThanFeeError\">The remission amount must be less than the total fee</span>\n </p>\n </div>\n </div>\n </form>\n <button class=\"button\" type=\"submit\" (click)=\"addRemission()\">\n Submit\n </button>\n </div>\n </form>\n </ng-container>\n <ng-container *ngIf=\"viewStatus === 'confirmation'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREMISSIONCONFIRMATION'>\n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission code:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code:</td>\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee description:</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Amount the applicant must pay:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission.emit()\">\n Cancel\n </button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"confirmRemission()\">\n Confirm\n </button>\n\n </ng-container>\n\n</div>\n\n",
|
|
158
|
-
styles: [".add-remission .button{margin:20px 2px}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c;margin-right:.5em}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px}.add-remission .inline-error-class{outline:#a71414 solid 3px;outline-offset:0}.add-remission .inline-error-message{color:#a71414;font-weight:700;margin-top:10px}"]
|
|
159
|
-
}
|
|
807
|
+
template: "<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <ng-container *ngIf=\"viewStatus === 'main' && !isRefundRemission \">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREMISSION'>\n <h1 class=\"heading-large\">Add remission </h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n Add remission to {{ fee.code }}: {{ fee.description }}\n <span class=\"form-hint\">Enter remission for reference. For example: HWF-A1B-23C</span>\n </label>\n <input [ngClass]=\"{'inline-error-class': isRemissionCodeEmpty || remissionCodeHasError}\" class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" aria-label=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n <p class=\"inline-error-message\" *ngIf=\"isRemissionCodeEmpty || remissionCodeHasError\">\n <span *ngIf=\"isRemissionCodeEmpty\">Enter a remission code</span>\n <span *ngIf=\"remissionCodeHasError\">Enter a vaild remission code</span>\n </p>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"amount\">\n How much does the applicant need to pay?\n </label>\n\n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <div class=\"hmcts-currency-input\">\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isAmountEmpty || amountHasError || isRemissionLessThanFeeError}\" id=\"amount\" aria-label=\"amount\" name=\"amount\" type=\"text\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n <p class=\"inline-error-message\" *ngIf=\"isAmountEmpty || amountHasError || isRemissionLessThanFeeError\">\n <span *ngIf=\"isAmountEmpty\">Enter a amount</span>\n <span *ngIf=\"amountHasError\">Enter a vaild amount</span>\n <span *ngIf=\"isRemissionLessThanFeeError\">The remission amount must be less than the total fee</span>\n </p>\n </div>\n </div>\n </form>\n <button class=\"button\" type=\"submit\" (click)=\"addRemission()\">\n Submit\n </button>\n </div>\n </form>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'confirmation'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREMISSIONCONFIRMATION'> \n <div class=\"govuk-warning-text\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">Warning</span>\n Are you sure you want to add remission to this fee?\n </strong>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission code:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.remissionCode.value }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code:</td>\n <td class=\"govuk-table__cell\">{{ fee.code }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee description:</td>\n <td class=\"govuk-table__cell\">{{ fee.description }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Amount the applicant must pay:</td>\n <td class=\"govuk-table__cell\">{{ remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"cancelRemission.emit()\">\n Cancel\n </button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"confirmRemission()\">\n Confirm\n </button>\n\n </ng-container>\n\n <!-- Add retro remission changes-->\n\n <ng-container *ngIf=\"viewCompStatus === 'addremission' && isRefundRemission\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='PROCESSADDRETROREMISSIONPAGE'> \n <h1 class=\"heading-large\">Process remission</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens }}</h1>\n <h1 class=\"heading-large\">Enter help with fees or remission reference</h1>\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-label--s\" for=\"remission-code\">\n <span class=\"form-hint\">For example: HWF-A1B-23C</span>\n </label>\n <input [ngClass]=\"{'inline-error-class': isRemissionCodeEmpty || remissionCodeHasError}\" class=\"govuk-input govuk-input--width-20 govuk-!-margin-right-1\" id=\"remissionCode\" aria-label=\"remissionCode\" name=\"remissionCode\" type=\"text\" formControlName=\"remissionCode\">\n <p class=\"inline-error-message\" *ngIf=\"isRemissionCodeEmpty || remissionCodeHasError\">\n <span *ngIf=\"isRemissionCodeEmpty\">Enter a remission code</span>\n <span *ngIf=\"remissionCodeHasError\">Enter a vaild remission code</span>\n </p>\n </div>\n \n </form>\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoCasetransationPage()\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"addRemissionCode()\" class=\"govuk-button\"> Continue</button>\n <p><a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\" data-module=\"govuk-button\">Cancel</a></p>\n </div>\n </div>\n </form>\n\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'processretroremissonpage'\" >\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='PROCESSRETROREMISSIONPAGE'> \n <h1 class=\"heading-large\">Process remission</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens }}</h1>\n <div class=\"govuk-form-group\">\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\"> \n <h1 *ngIf=\"remessionPayment?.status === 'Success'\" class=\"heading-medium\">\n Enter the amount to be refunded\n </h1> \n <h1 *ngIf=\"remessionPayment?.status !== 'Success'\" class=\"heading-medium\">\n Enter the remission amount\n </h1> \n <h1 *ngIf=\"remessionPayment?.status === 'undefined'\" class=\"heading-medium\">\n Enter the amount\n </h1> \n </legend>\n <div id=\"amount-currency\" class=\"govuk-visually-hidden\">in pounds</div>\n <div class=\"hmcts-currency-input\">\n <div class=\"hmcts-currency-input__symbol\" aria-hidden=\"true\">\u00A3</div>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isAmountEmpty || amountHasError || isRemissionLessThanFeeError}\" id=\"amount\" aria-label=\"amount\" name=\"amount\" type=\"number\" aria-describedby=\"amount-currency\" formControlName=\"amount\">\n <p class=\"inline-error-message\" *ngIf=\"isAmountEmpty || amountHasError || isRemissionLessThanFeeError\">\n <span *ngIf=\"isAmountEmpty\">Enter a amount</span>\n <span *ngIf=\"amountHasError\">Enter a vaild amount</span>\n <span *ngIf=\"isRemissionLessThanFeeError\">You cannot add a remission that's more than the fee amount.</span>\n </p>\n </div>\n </fieldset>\n </form>\n \n <div class=\"govuk-button-group\">\n <button (click)=\"gotoAddRetroRemissionCodePage()\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"gotoCheckRetroRemissionPage(payment)\" class=\"govuk-button\"> Continue</button>\n <p>\n <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\" data-module=\"govuk-button\">Cancel</a>\n </p>\n </div>\n </div>\n \n </form>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'checkretroremissionpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='CHECKRETROREMISSIONCONFIRMATION'> \n <div class=\"govuk-warning-text\">\n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.reference: ' '}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">\u00A3{{ remessionPayment ? getFormattedCurrency(remessionPayment.amount): ' ' | currency :'GBP':'symbol':'1.2-2'}} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment status</td>\n <td class=\"govuk-table__cell\">{{remessionPayment ? remessionPayment.status: ''}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee</td>\n <td class=\"govuk-table__cell\">{{ fee.code }} - {{ fee.description }} </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Help with fees or remission reference</td>\n <td class=\"govuk-table__cell\"> {{ remissionForm.controls.remissionCode.value }}\n <a (click)=\"gotoProcessRetroRemissionPage()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td *ngIf=\"remessionPayment.status === 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td *ngIf=\"remessionPayment.status !== 'Success'\" class=\"govuk-table__cell govuk-!-font-weight-bold\">Remission amount</td>\n <td class=\"govuk-table__cell\">{{remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}\n <a (click)=\"addRemissionCode()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoProcessRetroRemissionPage()\">Previous</button>\n <button type=\"submit\" [disabled]=\"isConfirmationBtnDisabled\" [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"confirmRetroRemission()\"> Add remission </button>\n <p> <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\" data-module=\"govuk-button\"> Cancel</a> </p>\n\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'retroremissionconfirmationpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='RETROREMISSIONCONFIRMATIONPAGE'> \n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Remission added\n </h1>\n <div *ngIf=\"remessionPayment.status === 'Success'\" class=\"govuk-panel__body\">\n <p class=\"govuk-body\" style=\"color: white\"><strong>The amount to be refunded should be {{remissionForm.controls.amount.value | currency:'GBP':'symbol-narrow':'1.2-2' }}</strong></p>\n \n </div>\n </div>\n <div *ngIf=\"remessionPayment.status === 'Success'\" >\n <button type=\"submit\" [disabled]=\"!isRemissionApplied\" [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"processRefund()\">Submit refund </button>\n </div>\n <p class=\"govuk-body\">\n <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\">Return to case</a>\n </p>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'refundconfirmationpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='RETROREMISSIONREFUNDCONFIRMATIONPAGE'> \n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n \n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body\" style=\"color: white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n \n </div>\n <div *ngIf=\"isPaymentSuccess\">\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{refundAmount | currency:'GBP':'symbol-narrow':'1.2-2' }} has been created and will be passed to a team leader to approve.\n </p>\n </div>\n <p class=\"govuk-body\">\n <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\">Return to case</a>\n </p>\n </div>\n </div>\n \n </ng-container>\n\n <!-- Issue Refund Section -->\n\n <ng-container *ngIf=\"viewCompStatus === 'issuerefund' && isRefundRemission\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ISSUEREFUNDPAGE'> \n <h1 class=\"heading-large\">Process refund</h1>\n <h1 class=\"heading-medium\">#{{ccdCaseNumber | ccdHyphens }}</h1>\n <h1 class=\"heading-large\">Why are you making this refund?\n </h1>\n \n\n <div class=\"govuk-form-group\">\n <form novalidate>\n <div class=\"govuk-form-group\">\n <form [formGroup]=\"remissionForm\" novalidate>\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"how-contacted-conditional-hint\">\n \n <div\n [ngClass]=\"refundHasError ? 'govuk-radios govuk-radios--conditional form-group-error' : 'govuk-radios govuk-radios--conditional'\"\n data-module=\"govuk-radios\" >\n <p class=\"inline-error-message\" *ngIf=\"refundHasError\">\n <span *ngIf=\"refundHasError\">Select a reason why you\u2019re making this refund</span>\n </p>\n\n \n\n <div class = \"container-fluid\">\n <div class=\"row\">\n <div class=\"govuk-radios__item col-md-4\" *ngFor=\"let refund of commonRefundReasons; let i = index;\">\n <input class=\"govuk-radios__input\" id=\"{{refund.name}}\" name=\"refundReason\" type=\"radio\"\n formControlName=\"refundReason\" value={{refund.code}}\n (change)=\"selectRadioButton(refund.name, refund.name)\">\n <label class=\"govuk-label--s govuk-radios__label govuk-font__custom\" for=\"how-contacted-conditional\">\n {{refund.name}}\n </label>\n\n <div class=\"govuk-radios__conditional\" *ngIf=\"isRefundReasonsSelected && showReasonText && selectedRefundReason === refund.name \" >\n <label class=\"govuk-label govuk-label--m\" for=\"{{refund.name}}\">\n Enter reason\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason why you\u2019re making this refund</span>\n </p>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isReasonEmpty}\" id=\"reason\" aria-label=\"reason\" name=\"reason\" type=\"text\" aria-describedby=\"reason\" maxlength=\"30\" formControlName=\"reason\">\n \n </div>\n </div>\n </div>\n </div>\n <br/>\n <div>\n <select formControlName=\"refundDDReason\" class=\"govuk-select\" id=\"sort\" (change)=\"selectchange($event)\">\n <option selected='selected' [defaultSelected]=true [value]=\"default\" >{{default}}</option> \n <!-- <option value=\"\" selected='selected'>Select a different reason</option> -->\n <option *ngFor=\"let refund of refundReasons;\" id=\"{{refund.name}}\" value=\"{{refund.code}}\">{{refund.name}}</option>\n </select>\n \n </div>\n <br/>\n <div class=\"govuk-radios__conditional\" *ngIf=\"showReasonText && !isRefundReasonsSelected\" >\n <label class=\"govuk-label govuk-label--m\" for=\"amount\">\n Enter reason\n </label>\n <p class=\"inline-error-message\" *ngIf=\"isReasonEmpty\">\n <span *ngIf=\"isReasonEmpty\">Enter a reason why you\u2019re making this refund</span>\n </p>\n <input class=\"govuk-input govuk-input--width-10\" [ngClass]=\"{'inline-error-class': isReasonEmpty}\" id=\"reason\" aria-label=\"reason\" name=\"reason\" type=\"text\" aria-describedby=\"reason\" maxlength=\"{{reasonLength}}\" formControlName=\"reason\">\n \n </div>\n\n \n </div>\n </fieldset>\n </form>\n </div>\n </form>\n </div>\n <div class=\"govuk-button-group\">\n <button (click)=\"gotoCasetransationPage()\" class=\"govuk-button govuk-button--secondary\"> Previous</button>\n <button (click)=\"gotoIssueRefundConfirmation(payment)\" class=\"govuk-button\"> Continue</button>\n <p>\n <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n </div>\n \n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'checkissuerefundpage'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='CHECKISSUEREFUNDPAGE'> \n <div class=\"govuk-warning-text\">\n \n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\"> {{ selectedRefundReason }}\n <a (click)=\"changeIssueRefundReason()\" class=\"govuk-link right\" >Change</a>\n </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{this.payment.reference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment amount</td>\n <td class=\"govuk-table__cell\">{{this.payment.amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoIssueRefundPage()\"> Previous </button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"confirmIssueRefund()\">\n Submit refund\n </button>\n <p>\n <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n </ng-container>\n\n <!--Retro Refund-->\n <ng-container *ngIf=\"viewCompStatus === 'addrefundforremission'\">\n <input #myInput type='hidden' id='iFrameDrivenImageValue' value='ADDREFUNDFORREMISSION'> \n <div class=\"govuk-warning-text\">\n \n <h1 class=\"heading-large\"> Check your answers</h1>\n </div>\n <table class=\"govuk-table\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Reason for refund</td>\n <td class=\"govuk-table__cell\"> Retrospective remission </td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Payment reference</td>\n <td class=\"govuk-table__cell\">{{this.payment.reference}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Refund amount</td>\n <td class=\"govuk-table__cell\">{{this.remission.hwf_amount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee code</td>\n <td class=\"govuk-table__cell\">{{this.remission.fee_code}}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell govuk-!-font-weight-bold\">Fee amount</td>\n <td class=\"govuk-table__cell\">{{feeamount | currency:'GBP':'symbol-narrow':'1.2-2'}}</td>\n </tr>\n </table>\n\n <button type=\"submit\" class=\"button govuk-button--secondary\" (click)=\"gotoCasetransationPage()\">Previous</button>\n <button type=\"submit\"\n [disabled]=\"isConfirmationBtnDisabled\"\n [ngClass]='isConfirmationBtnDisabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"'\n (click)=\"processRefund()\">\n Submit refund\n </button>\n <p>\n <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\" data-module=\"govuk-button\">\n Cancel\n </a>\n </p>\n\n </ng-container>\n\n <ng-container *ngIf=\"viewStatus === 'retrorefundconfirmationpage'\">\n <div class=\"govuk-grid-row\">\n <div >\n <div class=\"govuk-panel govuk-panel--confirmation\">\n <h1 class=\"govuk-panel__title\">\n Refund submitted\n </h1>\n \n <div class=\"govuk-panel__body\">\n <p class=\"govuk-body\" style=\"color: white\"><strong>Refund reference: {{refundReference}}</strong></p>\n </div>\n \n </div>\n <div *ngIf=\"isPaymentSuccess\">\n <h2 class=\"govuk-heading-l\">What happens next</h2>\n <p class=\"govuk-body\">\n A refund request for {{ refundAmount| currency:'GBP':'symbol-narrow':'1.2-2'}} has been passed to a team leader to approve.\n </p>\n </div>\n <p class=\"govuk-body\">\n <a (click)=\"gotoCasetransationPage()\" class=\"govuk-link\">Return to case</a>\n </p>\n </div>\n </div>\n </ng-container>\n\n</div>\n\n\n\n",
|
|
808
|
+
styles: [".add-remission .button{margin:20px 2px}.add-remission td.govuk-table__cell{width:50%}.add-remission .govuk-button--secondary{background-color:#dee0e2;box-shadow:0 2px 0 #858688;color:#0b0c0c;margin-right:.5em}.add-remission .govuk-label--s,.add-remission .govuk-warning-text__text,.add-remission .hmcts-currency-input__symbol{font-size:19px;font-weight:400}.add-remission .inline-error-class{outline:#a71414 solid 3px;outline-offset:0}.add-remission .inline-error-message{color:#a71414;font-weight:700;margin-top:10px;font-size:20px}.add-remission .govuk-button,.add-remission .govuk-link{margin-right:1em;font-size:19px;font-weight:200}.add-remission .govuk-button-group{padding-top:2em}.add-remission .heading-medium{margin-top:.875em}.add-remission .heading-large{margin-top:.25em}.add-remission .govuk-panel--confirmation{color:#fff;background:#00703c}.add-remission .govuk-panel__title{font-size:5rem}.add-remission .govuk-body,.add-remission .govuk-body-m{font-size:2.1875rem}.add-remission .govuk-radios__item{clear:initial!important;display:inline-block;width:45%!important}.add-remission .govuk-radios__conditional{padding-top:12px!important}.add-remission .radio,.add-remission .right{float:right}.govuk-input{font-size:19px}.govuk-select{font-size:19px;font-weight:400}.govuk-input--width-10{max-width:36ex}"]
|
|
809
|
+
}] }
|
|
160
810
|
];
|
|
161
811
|
/** @nocollapse */
|
|
162
812
|
AddRemissionComponent.ctorParameters = function () { return [
|
|
163
813
|
{ type: FormBuilder },
|
|
164
814
|
{ type: Router },
|
|
165
815
|
{ type: PaymentViewService },
|
|
166
|
-
{ type: PaymentLibComponent }
|
|
816
|
+
{ type: PaymentLibComponent },
|
|
817
|
+
{ type: RefundsService },
|
|
818
|
+
{ type: ChangeDetectorRef },
|
|
819
|
+
{ type: OrderslistService }
|
|
167
820
|
]; };
|
|
168
821
|
AddRemissionComponent.propDecorators = {
|
|
169
822
|
fee: [{ type: Input }],
|
|
823
|
+
payment: [{ type: Input }],
|
|
824
|
+
remission: [{ type: Input }],
|
|
170
825
|
ccdCaseNumber: [{ type: Input }],
|
|
171
|
-
|
|
826
|
+
caseType: [{ type: Input }],
|
|
827
|
+
viewCompStatus: [{ type: Input }],
|
|
172
828
|
paymentGroupRef: [{ type: Input }],
|
|
173
|
-
|
|
829
|
+
isTurnOff: [{ type: Input }],
|
|
830
|
+
isRefundRemission: [{ type: Input }],
|
|
831
|
+
isOldPcipalOff: [{ type: Input }],
|
|
832
|
+
isNewPcipalOff: [{ type: Input }],
|
|
833
|
+
isStrategicFixEnable: [{ type: Input }],
|
|
834
|
+
orderStatus: [{ type: Input }],
|
|
835
|
+
paidAmount: [{ type: Input }],
|
|
836
|
+
isFromRefundListPage: [{ type: Input }],
|
|
837
|
+
isFromPaymentDetailPage: [{ type: Input }],
|
|
838
|
+
isFromServiceRequestPage: [{ type: Input }],
|
|
839
|
+
feeamount: [{ type: Input }],
|
|
840
|
+
cancelRemission: [{ type: Output }],
|
|
841
|
+
refundListReason: [{ type: Output }],
|
|
842
|
+
refundListAmount: [{ type: Output }]
|
|
174
843
|
};
|
|
175
844
|
return AddRemissionComponent;
|
|
176
845
|
}());
|
|
@@ -179,14 +848,48 @@ if (false) {
|
|
|
179
848
|
/** @type {?} */
|
|
180
849
|
AddRemissionComponent.prototype.fee;
|
|
181
850
|
/** @type {?} */
|
|
851
|
+
AddRemissionComponent.prototype.payment;
|
|
852
|
+
/** @type {?} */
|
|
853
|
+
AddRemissionComponent.prototype.remission;
|
|
854
|
+
/** @type {?} */
|
|
182
855
|
AddRemissionComponent.prototype.ccdCaseNumber;
|
|
183
856
|
/** @type {?} */
|
|
184
|
-
AddRemissionComponent.prototype.
|
|
857
|
+
AddRemissionComponent.prototype.caseType;
|
|
858
|
+
/** @type {?} */
|
|
859
|
+
AddRemissionComponent.prototype.viewCompStatus;
|
|
185
860
|
/** @type {?} */
|
|
186
861
|
AddRemissionComponent.prototype.paymentGroupRef;
|
|
187
862
|
/** @type {?} */
|
|
863
|
+
AddRemissionComponent.prototype.isTurnOff;
|
|
864
|
+
/** @type {?} */
|
|
865
|
+
AddRemissionComponent.prototype.isRefundRemission;
|
|
866
|
+
/** @type {?} */
|
|
867
|
+
AddRemissionComponent.prototype.isOldPcipalOff;
|
|
868
|
+
/** @type {?} */
|
|
869
|
+
AddRemissionComponent.prototype.isNewPcipalOff;
|
|
870
|
+
/** @type {?} */
|
|
871
|
+
AddRemissionComponent.prototype.isStrategicFixEnable;
|
|
872
|
+
/** @type {?} */
|
|
873
|
+
AddRemissionComponent.prototype.orderStatus;
|
|
874
|
+
/** @type {?} */
|
|
875
|
+
AddRemissionComponent.prototype.paidAmount;
|
|
876
|
+
/** @type {?} */
|
|
877
|
+
AddRemissionComponent.prototype.isFromRefundListPage;
|
|
878
|
+
/** @type {?} */
|
|
879
|
+
AddRemissionComponent.prototype.isFromPaymentDetailPage;
|
|
880
|
+
/** @type {?} */
|
|
881
|
+
AddRemissionComponent.prototype.isFromServiceRequestPage;
|
|
882
|
+
/** @type {?} */
|
|
883
|
+
AddRemissionComponent.prototype.feeamount;
|
|
884
|
+
/** @type {?} */
|
|
188
885
|
AddRemissionComponent.prototype.cancelRemission;
|
|
189
886
|
/** @type {?} */
|
|
887
|
+
AddRemissionComponent.prototype.refundListReason;
|
|
888
|
+
/** @type {?} */
|
|
889
|
+
AddRemissionComponent.prototype.refundListAmount;
|
|
890
|
+
/** @type {?} */
|
|
891
|
+
AddRemissionComponent.prototype.refund;
|
|
892
|
+
/** @type {?} */
|
|
190
893
|
AddRemissionComponent.prototype.remissionForm;
|
|
191
894
|
/** @type {?} */
|
|
192
895
|
AddRemissionComponent.prototype.hasErrors;
|
|
@@ -199,23 +902,95 @@ if (false) {
|
|
|
199
902
|
/** @type {?} */
|
|
200
903
|
AddRemissionComponent.prototype.isConfirmationBtnDisabled;
|
|
201
904
|
/** @type {?} */
|
|
905
|
+
AddRemissionComponent.prototype.bsPaymentDcnNumber;
|
|
906
|
+
/** @type {?} */
|
|
907
|
+
AddRemissionComponent.prototype.selectedValue;
|
|
908
|
+
/** @type {?} */
|
|
909
|
+
AddRemissionComponent.prototype.amount;
|
|
910
|
+
/** @type {?} */
|
|
911
|
+
AddRemissionComponent.prototype.retroRemission;
|
|
912
|
+
/** @type {?} */
|
|
913
|
+
AddRemissionComponent.prototype.remissionReference;
|
|
914
|
+
/** @type {?} */
|
|
915
|
+
AddRemissionComponent.prototype.refundReference;
|
|
916
|
+
/** @type {?} */
|
|
917
|
+
AddRemissionComponent.prototype.refundAmount;
|
|
918
|
+
/** @type {?} */
|
|
919
|
+
AddRemissionComponent.prototype.paymentExplanationHasError;
|
|
920
|
+
/** @type {?} */
|
|
921
|
+
AddRemissionComponent.prototype.refundReason;
|
|
922
|
+
/** @type {?} */
|
|
923
|
+
AddRemissionComponent.prototype.selectedRefundReason;
|
|
924
|
+
/** @type {?} */
|
|
925
|
+
AddRemissionComponent.prototype.refundCode;
|
|
926
|
+
/** @type {?} */
|
|
927
|
+
AddRemissionComponent.prototype.remessionPayment;
|
|
928
|
+
/** @type {?} */
|
|
202
929
|
AddRemissionComponent.prototype.isRemissionCodeEmpty;
|
|
203
930
|
/** @type {?} */
|
|
204
931
|
AddRemissionComponent.prototype.remissionCodeHasError;
|
|
205
932
|
/** @type {?} */
|
|
206
933
|
AddRemissionComponent.prototype.isAmountEmpty;
|
|
207
934
|
/** @type {?} */
|
|
935
|
+
AddRemissionComponent.prototype.isReasonEmpty;
|
|
936
|
+
/** @type {?} */
|
|
208
937
|
AddRemissionComponent.prototype.amountHasError;
|
|
209
938
|
/** @type {?} */
|
|
210
939
|
AddRemissionComponent.prototype.isRemissionLessThanFeeError;
|
|
211
940
|
/** @type {?} */
|
|
212
|
-
AddRemissionComponent.prototype.
|
|
941
|
+
AddRemissionComponent.prototype.refundHasError;
|
|
213
942
|
/** @type {?} */
|
|
214
|
-
AddRemissionComponent.prototype.
|
|
943
|
+
AddRemissionComponent.prototype.isPaymentSuccess;
|
|
215
944
|
/** @type {?} */
|
|
216
|
-
AddRemissionComponent.prototype.
|
|
945
|
+
AddRemissionComponent.prototype.isRemissionApplied;
|
|
946
|
+
/** @type {?} */
|
|
947
|
+
AddRemissionComponent.prototype.remissionamt;
|
|
948
|
+
/** @type {?} */
|
|
949
|
+
AddRemissionComponent.prototype.refundReasons;
|
|
950
|
+
/** @type {?} */
|
|
951
|
+
AddRemissionComponent.prototype.commonRefundReasons;
|
|
952
|
+
/** @type {?} */
|
|
953
|
+
AddRemissionComponent.prototype.showReasonText;
|
|
217
954
|
/** @type {?} */
|
|
955
|
+
AddRemissionComponent.prototype.isRefundReasonsSelected;
|
|
956
|
+
/** @type {?} */
|
|
957
|
+
AddRemissionComponent.prototype.default;
|
|
958
|
+
/** @type {?} */
|
|
959
|
+
AddRemissionComponent.prototype.reasonLength;
|
|
960
|
+
/**
|
|
961
|
+
* @type {?}
|
|
962
|
+
* @private
|
|
963
|
+
*/
|
|
964
|
+
AddRemissionComponent.prototype.formBuilder;
|
|
965
|
+
/**
|
|
966
|
+
* @type {?}
|
|
967
|
+
* @private
|
|
968
|
+
*/
|
|
969
|
+
AddRemissionComponent.prototype.router;
|
|
970
|
+
/**
|
|
971
|
+
* @type {?}
|
|
972
|
+
* @private
|
|
973
|
+
*/
|
|
974
|
+
AddRemissionComponent.prototype.paymentViewService;
|
|
975
|
+
/**
|
|
976
|
+
* @type {?}
|
|
977
|
+
* @private
|
|
978
|
+
*/
|
|
218
979
|
AddRemissionComponent.prototype.paymentLibComponent;
|
|
980
|
+
/**
|
|
981
|
+
* @type {?}
|
|
982
|
+
* @private
|
|
983
|
+
*/
|
|
984
|
+
AddRemissionComponent.prototype.refundService;
|
|
985
|
+
/**
|
|
986
|
+
* @type {?}
|
|
987
|
+
* @private
|
|
988
|
+
*/
|
|
989
|
+
AddRemissionComponent.prototype.cd;
|
|
990
|
+
/**
|
|
991
|
+
* @type {?}
|
|
992
|
+
* @private
|
|
993
|
+
*/
|
|
994
|
+
AddRemissionComponent.prototype.OrderslistService;
|
|
219
995
|
}
|
|
220
|
-
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlbWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1yZW1pc3Npb24vYWRkLXJlbWlzc2lvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUVsRSxJQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQzs7SUF3SDdDLCtCQUFvQixXQUF3QixFQUNsQyxRQUNBLG9CQUNBO1FBSFUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDbEMsV0FBTSxHQUFOLE1BQU07UUFDTix1QkFBa0IsR0FBbEIsa0JBQWtCO1FBQ2xCLHdCQUFtQixHQUFuQixtQkFBbUI7K0JBbEJtQixJQUFJLFlBQVksRUFBRTt5QkFHdEQsS0FBSzswQkFDSixNQUFNOzRCQUNKLElBQUk7c0JBQ0YsSUFBSTt5Q0FDZ0IsS0FBSztvQ0FFVixLQUFLO3FDQUNKLEtBQUs7NkJBQ2IsS0FBSzs4QkFDSixLQUFLOzJDQUNRLEtBQUs7S0FLVzs7OztJQUV2RCx3Q0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUM7UUFDdkQs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Q0FBQyxNQUFNLENBQUMsVUFBQSxPQUFPLElBQUksT0FBQSxPQUFPLENBQUMsR0FBRyxLQUFLLGNBQWMsRUFBOUIsQ0FBOEIsQ0FBQyxDQUFDO1lBQ3BGLEtBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDNUUsRUFDRCxVQUFBLEdBQUc7WUFDRCxLQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUM3QyxDQUNGLENBQUM7S0FDSDs7Z0JBcE5GLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsNi9KQTZGWDtvQkFDQyxNQUFNLEVBQUUsQ0FBQyx3ZkFBd2YsQ0FBQztpQkFDbmdCOzs7O2dCQTFHUSxXQUFXO2dCQUVaLE1BQU07Z0JBRUwsa0JBQWtCO2dCQUNsQixtQkFBbUI7OztzQkF1R3pCLEtBQUs7Z0NBQ0wsS0FBSzswQkFDTCxLQUFLO2tDQUNMLEtBQUs7a0NBQ0wsTUFBTTs7Z0NBakhUOztTQTRHYSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElGZWUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lGZWUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBZGRSZW1pc3Npb25SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9BZGRSZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBheW1lbnRWaWV3U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnQtdmlldy9wYXltZW50LXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcblxuY29uc3QgQlNfRU5BQkxFX0ZMQUcgPSAnYnVsay1zY2FuLWVuYWJsaW5nLWZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktYWRkLXJlbWlzc2lvbicsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImFkZC1yZW1pc3Npb25cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3Itc3VtbWFyeVwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWxsZWRieT1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCI+XG4gICAgICAgICAgRXJyb3IgaW4gcHJvY2Vzc2luZyB0aGUgcmVxdWVzdFxuICAgICAgICA8L2gyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidmlld1N0YXR1cyA9PT0gJ21haW4nXCI+XG4gICAgICA8aW5wdXQgI215SW5wdXQgdHlwZT0naGlkZGVuJyBpZD0naUZyYW1lRHJpdmVuSW1hZ2VWYWx1ZScgdmFsdWU9J0FERFJFTUlTU0lPTic+XG4gICAgICA8aDEgY2xhc3M9XCJoZWFkaW5nLWxhcmdlXCI+QWRkIHJlbWlzc2lvbjwvaDE+XG4gICAgICA8Zm9ybSBub3ZhbGlkYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwicmVtaXNzaW9uRm9ybVwiIG5vdmFsaWRhdGU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tc1wiIGZvcj1cInJlbWlzc2lvbi1jb2RlXCI+XG4gICAgICAgICAgICAgICAgICBBZGQgcmVtaXNzaW9uIHRvIHt7IGZlZS5jb2RlIH19Ont7IGZlZS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCI+RW50ZXIgcmVtaXNzaW9uIGZvciByZWZlcmVuY2UuIEZvciBleGFtcGxlOiBIV0YtQTFCLTIzQzwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInsnaW5saW5lLWVycm9yLWNsYXNzJzogaXNSZW1pc3Npb25Db2RlRW1wdHkgfHwgcmVtaXNzaW9uQ29kZUhhc0Vycm9yfVwiIGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstaW5wdXQtLXdpZHRoLTIwIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiBpZD1cInJlbWlzc2lvbkNvZGVcIiBhcmlhLWxhYmVsPVwicmVtaXNzaW9uQ29kZVwiICBuYW1lPVwicmVtaXNzaW9uQ29kZVwiIHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwicmVtaXNzaW9uQ29kZVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1JlbWlzc2lvbkNvZGVFbXB0eSB8fCByZW1pc3Npb25Db2RlSGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzUmVtaXNzaW9uQ29kZUVtcHR5XCI+RW50ZXIgYSByZW1pc3Npb24gY29kZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInJlbWlzc2lvbkNvZGVIYXNFcnJvclwiPkVudGVyIGEgdmFpbGQgcmVtaXNzaW9uIGNvZGU8L3NwYW4+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLXNcIiBmb3I9XCJhbW91bnRcIj5cbiAgICAgICAgICAgICAgICBIb3cgbXVjaCBkb2VzIHRoZSBhcHBsaWNhbnQgbmVlZCB0byBwYXk/XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgPGRpdiBpZD1cImFtb3VudC1jdXJyZW5jeVwiIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+aW4gcG91bmRzPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhtY3RzLWN1cnJlbmN5LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhtY3RzLWN1cnJlbmN5LWlucHV0X19zeW1ib2xcIiBhcmlhLWhpZGRlbj1cInRydWVcIj7CozwvZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0xMFwiIFtuZ0NsYXNzXT1cInsnaW5saW5lLWVycm9yLWNsYXNzJzogaXNBbW91bnRFbXB0eSB8fCBhbW91bnRIYXNFcnJvciB8fCBpc1JlbWlzc2lvbkxlc3NUaGFuRmVlRXJyb3J9XCIgaWQ9XCJhbW91bnRcIiBhcmlhLWxhYmVsPVwiYW1vdW50XCIgIG5hbWU9XCJhbW91bnRcIiB0eXBlPVwidGV4dFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJhbW91bnQtY3VycmVuY3lcIiBmb3JtQ29udHJvbE5hbWU9XCJhbW91bnRcIj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc0Ftb3VudEVtcHR5IHx8IGFtb3VudEhhc0Vycm9yIHx8IGlzUmVtaXNzaW9uTGVzc1RoYW5GZWVFcnJvclwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0Ftb3VudEVtcHR5XCI+RW50ZXIgYSBhbW91bnQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFtb3VudEhhc0Vycm9yXCI+RW50ZXIgYSB2YWlsZCBhbW91bnQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzUmVtaXNzaW9uTGVzc1RoYW5GZWVFcnJvclwiPlRoZSByZW1pc3Npb24gYW1vdW50IG11c3QgYmUgbGVzcyB0aGFuIHRoZSB0b3RhbCBmZWU8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJhZGRSZW1pc3Npb24oKVwiPlxuICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3U3RhdHVzID09PSAnY29uZmlybWF0aW9uJ1wiPlxuICAgICAgPGlucHV0ICNteUlucHV0IHR5cGU9J2hpZGRlbicgaWQ9J2lGcmFtZURyaXZlbkltYWdlVmFsdWUnIHZhbHVlPSdBRERSRU1JU1NJT05DT05GSVJNQVRJT04nPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fYXNzaXN0aXZlXCI+V2FybmluZzwvc3Bhbj5cbiAgICAgICAgICBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gYWRkIHJlbWlzc2lvbiB0byB0aGlzIGZlZT9cbiAgICAgICAgPC9zdHJvbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPlJlbWlzc2lvbiBjb2RlOjwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHJlbWlzc2lvbkZvcm0uY29udHJvbHMucmVtaXNzaW9uQ29kZS52YWx1ZSB9fTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPkZlZSBjb2RlOjwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGZlZS5jb2RlIH19PC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+RmVlIGRlc2NyaXB0aW9uOjwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGZlZS5kZXNjcmlwdGlvbiB9fTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPkFtb3VudCB0aGUgYXBwbGljYW50IG11c3QgcGF5OjwvdGQ+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7ICByZW1pc3Npb25Gb3JtLmNvbnRyb2xzLmFtb3VudC52YWx1ZSAgfCBjdXJyZW5jeTonR0JQJzonc3ltYm9sLW5hcnJvdyc6JzEuMi0yJyB9fTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RhYmxlPlxuXG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWxSZW1pc3Npb24uZW1pdCgpXCI+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2Rpc2FibGVkXT1cImlzQ29uZmlybWF0aW9uQnRuRGlzYWJsZWRcIlxuICAgICAgW25nQ2xhc3NdPSdpc0NvbmZpcm1hdGlvbkJ0bkRpc2FibGVkID8gXCJidXR0b24gYnV0dG9uLS1kaXNhYmxlZCBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCIgOiBcImJ1dHRvbiBnb3Z1ay0hLW1hcmdpbi1yaWdodC0xXCInXG4gICAgICAoY2xpY2spPVwiY29uZmlybVJlbWlzc2lvbigpXCI+XG4gICAgICAgIENvbmZpcm1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgPC9uZy1jb250YWluZXI+XG5cbjwvZGl2PlxuXG5gLFxuICBzdHlsZXM6IFtgLmFkZC1yZW1pc3Npb24gLmJ1dHRvbnttYXJnaW46MjBweCAycHh9LmFkZC1yZW1pc3Npb24gdGQuZ292dWstdGFibGVfX2NlbGx7d2lkdGg6NTAlfS5hZGQtcmVtaXNzaW9uIC5nb3Z1ay1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNkZWUwZTI7Ym94LXNoYWRvdzowIDJweCAwICM4NTg2ODg7Y29sb3I6IzBiMGMwYzttYXJnaW4tcmlnaHQ6LjVlbX0uYWRkLXJlbWlzc2lvbiAuZ292dWstbGFiZWwtLXMsLmFkZC1yZW1pc3Npb24gLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCwuYWRkLXJlbWlzc2lvbiAuaG1jdHMtY3VycmVuY3ktaW5wdXRfX3N5bWJvbHtmb250LXNpemU6MTlweH0uYWRkLXJlbWlzc2lvbiAuaW5saW5lLWVycm9yLWNsYXNze291dGxpbmU6I2E3MTQxNCBzb2xpZCAzcHg7b3V0bGluZS1vZmZzZXQ6MH0uYWRkLXJlbWlzc2lvbiAuaW5saW5lLWVycm9yLW1lc3NhZ2V7Y29sb3I6I2E3MTQxNDtmb250LXdlaWdodDo3MDA7bWFyZ2luLXRvcDoxMHB4fWBdXG59KVxuZXhwb3J0IGNsYXNzIEFkZFJlbWlzc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZlZTogSUZlZTtcbiAgQElucHV0KCkgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBASW5wdXQoKSBzZXJ2aWNlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBheW1lbnRHcm91cFJlZjogc3RyaW5nO1xuICBAT3V0cHV0KCkgY2FuY2VsUmVtaXNzaW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcmVtaXNzaW9uRm9ybTogRm9ybUdyb3VwO1xuICBoYXNFcnJvcnMgPSBmYWxzZTtcbiAgdmlld1N0YXR1cyA9ICdtYWluJztcbiAgZXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgb3B0aW9uOiBzdHJpbmcgPSBudWxsO1xuICBpc0NvbmZpcm1hdGlvbkJ0bkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNSZW1pc3Npb25Db2RlRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVtaXNzaW9uQ29kZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQW1vdW50RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYW1vdW50SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZW1pc3Npb25MZXNzVGhhbkZlZUVycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb24gPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VMRUNURURfT1BUSU9OO1xuICAgIHRoaXMucmVtaXNzaW9uRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgcmVtaXNzaW9uQ29kZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW2EtekEtWjAtOV17M30pLShbYS16QS1aMC05XXszfSktKFthLXpBLVowLTldezN9KSQnKVxuICAgICAgXSkpLFxuICAgICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlswLTldKyhcXFxcLlswLTldezJ9KT8kJylcbiAgICAgIF0pKVxuICAgIH0pO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcbiAgfVxuXG4gIGFkZFJlbWlzc2lvbigpIHtcbiAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ0FsbCcpO1xuICAgIGNvbnN0IHJlbWlzc2lvbmN0cmxzPXRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9scyxcbiAgICAgIGlzUmVtaXNzaW9uTGVzc1RoYW5GZWUgPSB0aGlzLmZlZS5jYWxjdWxhdGVkX2Ftb3VudCA+IHJlbWlzc2lvbmN0cmxzLmFtb3VudC52YWx1ZTsgXG4gICAgaWYgKHRoaXMucmVtaXNzaW9uRm9ybS5kaXJ0eSAmJiB0aGlzLnJlbWlzc2lvbkZvcm0udmFsaWQgJiYgaXNSZW1pc3Npb25MZXNzVGhhbkZlZSkge1xuICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ2NvbmZpcm1hdGlvbic7XG4gICAgfWVsc2Uge1xuXG4gICAgICBpZihyZW1pc3Npb25jdHJsc1sncmVtaXNzaW9uQ29kZSddLnZhbHVlID09ICcnICkge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncmVtaXNzaW9uQ29kZScpO1xuICAgICAgfVxuICAgICAgaWYocmVtaXNzaW9uY3RybHNbJ3JlbWlzc2lvbkNvZGUnXS52YWx1ZSAhPSAnJyAmJiByZW1pc3Npb25jdHJsc1sncmVtaXNzaW9uQ29kZSddLmludmFsaWQgKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdyZW1pc3Npb25Db2RlJyk7XG4gICAgICB9XG4gICAgICBpZihyZW1pc3Npb25jdHJsc1snYW1vdW50J10udmFsdWUgPT0gJycgKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0sICdhbW91bnQnKTtcbiAgICAgIH1cbiAgICAgIGlmKHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS52YWx1ZSAhPSAnJyAmJiByZW1pc3Npb25jdHJsc1snYW1vdW50J10uaW52YWxpZCApIHtcbiAgICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW2ZhbHNlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdLCAnYW1vdW50Jyk7XG4gICAgICB9XG4gICAgICBpZihyZW1pc3Npb25jdHJscy5hbW91bnQudmFsaWQgJiYgIWlzUmVtaXNzaW9uTGVzc1RoYW5GZWUpe1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWVdLCAnYW1vdW50Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVzZXRSZW1pc3Npb25Gb3JtKHZhbCwgZmllbGQpe1xuICAgIGlmKGZpZWxkPT09J3JlbWlzc2lvbkNvZGUnIHx8IGZpZWxkPT09J0FsbCcpIHtcbiAgICAgIHRoaXMuaXNSZW1pc3Npb25Db2RlRW1wdHkgPSB2YWxbMF07XG4gICAgICB0aGlzLnJlbWlzc2lvbkNvZGVIYXNFcnJvciA9IHZhbFsxXTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkPT09J2Ftb3VudCcgfHwgZmllbGQ9PT0nQWxsJyl7XG4gICAgICB0aGlzLmlzQW1vdW50RW1wdHkgPSB2YWxbMl07XG4gICAgICB0aGlzLmFtb3VudEhhc0Vycm9yID0gdmFsWzNdO1xuICAgICAgdGhpcy5pc1JlbWlzc2lvbkxlc3NUaGFuRmVlRXJyb3IgPSB2YWxbNF07XG4gICAgfVxuICB9XG5cbiAgY29uZmlybVJlbWlzc2lvbigpIHtcbiAgICB0aGlzLmlzQ29uZmlybWF0aW9uQnRuRGlzYWJsZWQgPSB0cnVlO1xuICAgIGNvbnN0IG5ld05ldEFtb3VudCA9IHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9scy5hbW91bnQudmFsdWUsXG4gICAgIHJlbWlzc2lvbkFtb3VudCA9IHRoaXMuZmVlLm5ldF9hbW91bnQgLSBuZXdOZXRBbW91bnQsXG4gICAgIHJlcXVlc3RCb2R5ID0gbmV3IEFkZFJlbWlzc2lvblJlcXVlc3RcbiAgICAodGhpcy5jY2RDYXNlTnVtYmVyLCB0aGlzLmZlZSwgcmVtaXNzaW9uQW1vdW50LCB0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHMucmVtaXNzaW9uQ29kZS52YWx1ZSwgdGhpcy5zZXJ2aWNlKTtcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5wb3N0UGF5bWVudEdyb3VwV2l0aFJlbWlzc2lvbnModGhpcy5wYXltZW50R3JvdXBSZWYsIHRoaXMuZmVlLmlkLCByZXF1ZXN0Qm9keSkuc3Vic2NyaWJlKFxuICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAoSlNPTi5wYXJzZShyZXNwb25zZSkuc3VjY2Vzcykge1xuICAgICAgICAgIGlmICh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3kuc2hvdWxkUmV1c2VSb3V0ZSA9ICgpID0+IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIub25TYW1lVXJsTmF2aWdhdGlvbiA9ICdyZWxvYWQnO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL3BheW1lbnQtaGlzdG9yeS8ke3RoaXMuY2NkQ2FzZU51bWJlcn0/dmlldz1mZWUtc3VtbWFyeSZzZWxlY3RlZE9wdGlvbj0ke3RoaXMub3B0aW9ufSZwYXltZW50R3JvdXBSZWY9JHt0aGlzLnBheW1lbnRHcm91cFJlZn0mZGNuPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbn1gKTtcbiAgICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdvdG9DYXNldHJhbnNhdGlvblBhZ2UoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgIHRoaXMuaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICk7XG4gIH1cbiAgZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UuZ2V0QlNmZWF0dXJlKCkuc3Vic2NyaWJlKFxuICAgICAgZmVhdHVyZXMgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gSlNPTi5wYXJzZShmZWF0dXJlcykuZmlsdGVyKGZlYXR1cmUgPT4gZmVhdHVyZS51aWQgPT09IEJTX0VOQUJMRV9GTEFHKTtcbiAgICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSByZXN1bHRbMF0gPyByZXN1bHRbMF0uZW5hYmxlIDogZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTQlNFTkFCTEUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
|
|
996
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlbWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FkZC1yZW1pc3Npb24vYWRkLXJlbWlzc2lvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsV0FBVyxFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBRXBHLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0YsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztJQUVoRSxjQUFjLEdBQUcsdUJBQXVCO0FBRTlDO0lBd0VFLGtDQUFrQztJQUVsQywrQkFBb0IsV0FBd0IsRUFDbEMsTUFBYyxFQUNkLGtCQUFzQyxFQUN0QyxtQkFBd0MsRUFDeEMsYUFBNkIsRUFDN0IsRUFBcUIsRUFDckIs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LGdEQUF3Qjs7SUFDeEIsNkNBQXFCOztJQUNyQiwyREFBNEM7O0lBQzVDLDZDQUFvQjs7SUFDcEIscURBQTZCOztJQUM3QiwyQ0FBa0I7O0lBQ2xCLGlEQUEwQjs7SUFDMUIscURBQXNDOztJQUN0QyxzREFBdUM7O0lBQ3ZDLDhDQUErQjs7SUFDL0IsOENBQStCOztJQUMvQiwrQ0FBZ0M7O0lBQ2hDLDREQUE2Qzs7SUFDN0MsK0NBQStCOztJQUMvQixpREFBa0M7O0lBQ2xDLG1EQUFvQzs7SUFDcEMsNkNBQW9COztJQUNwQiw4Q0FBMEI7O0lBQzFCLG9EQUFnQzs7SUFDaEMsK0NBQXdCOztJQUN4Qix3REFBaUM7O0lBQ2pDLHdDQUFnQjs7SUFDaEIsNkNBQXFCOzs7OztJQUdULDRDQUFnQzs7Ozs7SUFDMUMsdUNBQXNCOzs7OztJQUN0QixtREFBOEM7Ozs7O0lBQzlDLG9EQUFnRDs7Ozs7SUFDaEQsOENBQXFDOzs7OztJQUNyQyxtQ0FBNkI7Ozs7O0lBQzdCLGtEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wsIFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUZlZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUZlZSc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFkZFJlbWlzc2lvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FkZFJlbWlzc2lvblJlcXVlc3QnO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRMaWJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXltZW50LWxpYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVBheW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7IFJlZnVuZHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmdW5kcy9yZWZ1bmRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVJlZnVuZFJlYXNvbnMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZWZ1bmRSZWFzb25zJztcbmltcG9ydCB7IFJlZnVuZHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9SZWZ1bmRzUmVxdWVzdCc7XG5pbXBvcnQgeyBBZGRSZXRyb1JlbWlzc2lvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0FkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBJc3N1ZVJlZnVuZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lzc3VlUmVmdW5kUmVxdWVzdCc7XG5pbXBvcnQgeyBQb3N0UmVmdW5kUmV0cm9SZW1pc3Npb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1Bvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBQb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdElzc3VlUmVmdW5kUmV0cm9SZW1pc3Npb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVtaXNzaW9uJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcblxuY29uc3QgQlNfRU5BQkxFX0ZMQUcgPSAnYnVsay1zY2FuLWVuYWJsaW5nLWZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktYWRkLXJlbWlzc2lvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtcmVtaXNzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLXJlbWlzc2lvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFkZFJlbWlzc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZlZTogSUZlZTtcbiAgQElucHV0KCkgcGF5bWVudDogSVBheW1lbnQ7XG4gIEBJbnB1dCgpIHJlbWlzc2lvbjogSVJlbWlzc2lvbjtcbiAgQElucHV0KCkgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICBASW5wdXQoKSBjYXNlVHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSB2aWV3Q29tcFN0YXR1czogc3RyaW5nO1xuICBASW5wdXQoKSBwYXltZW50R3JvdXBSZWY6IHN0cmluZztcbiAgQElucHV0KCkgaXNUdXJuT2ZmOiBib29sZWFuO1xuICBASW5wdXQoKSBpc1JlZnVuZFJlbWlzc2lvbjogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNPbGRQY2lwYWxPZmY6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzTmV3UGNpcGFsT2ZmOiBib29sZWFuO1xuICBASW5wdXQoKSBpc1N0cmF0ZWdpY0ZpeEVuYWJsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgb3JkZXJTdGF0dXM6IHN0cmluZztcbiAgQElucHV0KCkgcGFpZEFtb3VudDogYW55O1xuICBASW5wdXQoKSBpc0Zyb21SZWZ1bmRMaXN0UGFnZTogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNGcm9tUGF5bWVudERldGFpbFBhZ2U6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZmVlYW1vdW50OiBudW1iZXI7XG4gIEBPdXRwdXQoKSBjYW5jZWxSZW1pc3Npb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy9AT3V0cHV0KCkgcmVmdW5kTGlzdFJlYXNvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKHtyZWFzb246c3RyaW5nLCBjb2RlOnN0cmluZ30pO1xuICBAT3V0cHV0KCkgcmVmdW5kTGlzdFJlYXNvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e3JlYXNvbjogc3RyaW5nLCBjb2RlOiBzdHJpbmd9PigpO1xuICBAT3V0cHV0KCkgcmVmdW5kTGlzdEFtb3VudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcmVmdW5kID0ge1xuICAgIHJlYXNvbjoge1xuICAgICAgZHVwbGljYXRlOiAnRHVwbGljYXRlIHBheW1lbnQnLFxuICAgICAgaHVtYW5lcnJvcjogJ0h1bWFuIGVycm9yJyxcbiAgICAgIGNhc2VXaXRoZHJhd246ICdDYXNlIHdpdGhkcmF3bicsXG4gICAgICBvdGhlcjogJ090aGVyJ1xuICAgIH1cbiAgfVxuXG4gIHJlbWlzc2lvbkZvcm06IEZvcm1Hcm91cDtcbiAgaGFzRXJyb3JzID0gZmFsc2U7XG4gIHZpZXdTdGF0dXMgPSAnbWFpbic7XG4gIGVycm9yTWVzc2FnZSA9IG51bGw7XG4gIG9wdGlvbjogc3RyaW5nID0gbnVsbDtcbiAgaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBic1BheW1lbnREY25OdW1iZXI6IHN0cmluZztcbiAgc2VsZWN0ZWRWYWx1ZSA9ICd5ZXMnO1xuICBhbW91bnQ6IGFueTtcbiAgcmV0cm9SZW1pc3Npb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVtaXNzaW9uUmVmZXJlbmNlOiBzdHJpbmcgPSAnJztcbiAgcmVmdW5kUmVmZXJlbmNlOiBzdHJpbmc7XG4gIHJlZnVuZEFtb3VudDogc3RyaW5nO1xuICBwYXltZW50RXhwbGFuYXRpb25IYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICByZWZ1bmRSZWFzb246c3RyaW5nO1xuICBzZWxlY3RlZFJlZnVuZFJlYXNvbjogc3RyaW5nO1xuICByZWZ1bmRDb2RlOnN0cmluZztcbiAgcmVtZXNzaW9uUGF5bWVudDpJUGF5bWVudDtcbiAgaXNSZW1pc3Npb25Db2RlRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVtaXNzaW9uQ29kZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQW1vdW50RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNSZWFzb25FbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBhbW91bnRIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1JlbWlzc2lvbkxlc3NUaGFuRmVlRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVmdW5kSGFzRXJyb3I6Ym9vbGVhbiA9IGZhbHNlO1xuICBpc1BheW1lbnRTdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUmVtaXNzaW9uQXBwbGllZDogYm9vbGVhbiA9IGZhbHNlO1xuICByZW1pc3Npb25hbXQ6bnVtYmVyO1xuICByZWZ1bmRSZWFzb25zOiBhbnlbXSA9IFtdO1xuICBjb21tb25SZWZ1bmRSZWFzb25zOiBhbnlbXSA9IFtdO1xuICBzaG93UmVhc29uVGV4dDogYm9vbGVhbjtcbiAgaXNSZWZ1bmRSZWFzb25zU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHN0cmluZztcbiAgcmVhc29uTGVuZ3RoOiBudW1iZXI7XG4gIC8vIHJlZnVuZFJlYXNvbnM6SVJlZnVuZFJlYXNvbnNbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcGF5bWVudFZpZXdTZXJ2aWNlOiBQYXltZW50Vmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQ29tcG9uZW50LFxuICAgIHByaXZhdGUgcmVmdW5kU2VydmljZTogUmVmdW5kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGVmYXVsdCA9ICdTZWxlY3QgYSBkaWZmZXJlbnQgcmVhc29uJztcbiAgICBpZih0aGlzLnJlbWlzc2lvbikge1xuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIGlmKHRoaXMuZmVlKSB7XG4gICAgdGhpcy5hbW91bnQgPSAodGhpcy5mZWUudm9sdW1lICogdGhpcy5mZWUuY2FsY3VsYXRlZF9hbW91bnQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wYXltZW50KXtcbiAgICAgIHRoaXMucmVtZXNzaW9uUGF5bWVudCA9IHRoaXMucGF5bWVudDtcbiAgICAgIGlmKHRoaXMucGF5bWVudC5zdGF0dXMgPT09ICdTdWNjZXNzJykge1xuICAgICAgICB0aGlzLmlzUGF5bWVudFN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9wdGlvbiA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5TRUxFQ1RFRF9PUFRJT047XG4gICAgdGhpcy5ic1BheW1lbnREY25OdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuO1xuICAgIHRoaXMucmVtaXNzaW9uRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgcmVtaXNzaW9uQ29kZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ14oW2EtekEtWjAtOV17M30pLShbYS16QS1aMC05XXszfSktKFthLXpBLVowLTldezN9KSQnKVxuICAgICAgXSkpLFxuICAgICAgYW1vdW50OiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXlswLTldKyhcXFxcLlswLTldezJ9KT8kJylcbiAgICAgIF0pKSxcbiAgICAgIHJlZnVuZFJlYXNvbjogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSksXG4gICAgICByZWZ1bmRERFJlYXNvbjogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSksXG4gICAgICByZWFzb246IG5ldyBGb3JtQ29udHJvbCgpXG4gICAgfSk7XG4gICAgY29uc3QgcmVtaXNzaW9uY3RybHM9dGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzO1xuICAgIHJlbWlzc2lvbmN0cmxzWydyZWZ1bmRERFJlYXNvbiddLnNldFZhbHVlKCdTZWxlY3QgYSBkaWZmZXJlbnQgcmVhc29uJywge29ubHlTZWxmOiB0cnVlfSk7XG4gICAgaWYodGhpcy52aWV3Q29tcFN0YXR1cyA9PT0gJycpe1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJztcbiAgICB9XG4gXG4gICAgaWYodGhpcy52aWV3Q29tcFN0YXR1cyA9PT0gJ2lzc3VlcmVmdW5kJyl7XG4gICAgICB0aGlzLnJlZnVuZFNlcnZpY2UuZ2V0UmVmdW5kUmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgICAgcmVmdW5kUmVhc29ucyA9PiB7IFxuICAgICAgICAgIHRoaXMucmVmdW5kUmVhc29ucyA9IHJlZnVuZFJlYXNvbnNbJ2RhdGEnXS5maWx0ZXIoKGRhdGEpID0+IGRhdGEucmVjZW50bHlfdXNlZCA9PT0gZmFsc2UpO1xuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIHRoaXMuY29tbW9uUmVmdW5kUmVhc29ucyA9IHJlZnVuZFJlYXNvbnNbJ2RhdGEnXS5maWx0ZXIoKGRhdGEpID0+IGRhdGEucmVjZW50bHlfdXNlZCA9PT0gdHJ1ZSk7XG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0gKTtcbiAgICAgIH1cbiAgICBcbiAgICAgIGlmKHRoaXMudmlld0NvbXBTdGF0dXMgPT09ICdwcm9jZXNzcmV0cm9yZW1pc3NvbnBhZ2UnICYmIHRoaXMuaXNGcm9tUmVmdW5kTGlzdFBhZ2Upe1xuICAgICAgICB0aGlzLnZpZXdTdGF0dXMgPSAncHJvY2Vzc3JldHJvcmVtaXNzb25wYWdlJztcbiAgICAgICAgfVxuXG4gICAgICAvLyB0aGlzLnJlZnVuZFNlcnZpY2UuZ2V0VXNlckRldGFpbHMoKS5zdWJzY3JpYmUoXG4gICAgICAvLyAgIHVzZXJkZXRhaWwgPT4geyBcbiAgICAgIC8vICAgICBjb25zb2xlLmxvZyh1c2VyZGV0YWlsKTtcbiAgICAgIC8vICAgICBjb25zb2xlLmxvZyh1c2VyZGV0YWlsWydkYXRhJ10pO1xuICAgICAgLy8gICB9ICk7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNDRF9DQVNFX05VTUJFUlxuICB9XG5cbiAgYWRkUmVtaXNzaW9uKCkge1xuICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ0FsbCcpO1xuICAgIGNvbnN0IHJlbWlzc2lvbmN0cmxzPXRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9scyxcbiAgICAgIGlzUmVtaXNzaW9uTGVzc1RoYW5GZWUgPSB0aGlzLmZlZS5jYWxjdWxhdGVkX2Ftb3VudCA+IHJlbWlzc2lvbmN0cmxzLmFtb3VudC52YWx1ZTsgXG4gICAgICB0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHNbJ3JlZnVuZFJlYXNvbiddLnNldEVycm9ycyhudWxsKTtcbiAgICAgIHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9sc1sncmVmdW5kRERSZWFzb24nXS5zZXRFcnJvcnMobnVsbCk7XG4gICAgICB0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHNbJ2Ftb3VudCddLnNldEVycm9ycyhudWxsKTtcbiAgICBpZiAodGhpcy5yZW1pc3Npb25Gb3JtLmRpcnR5ICYmIHRoaXMucmVtaXNzaW9uRm9ybS52YWxpZCAmJiBpc1JlbWlzc2lvbkxlc3NUaGFuRmVlKSB7XG4gICAgICB0aGlzLnZpZXdTdGF0dXMgPSAnY29uZmlybWF0aW9uJztcbiAgICB9ZWxzZSB7XG5cbiAgICAgIGlmKHJlbWlzc2lvbmN0cmxzWydyZW1pc3Npb25Db2RlJ10udmFsdWUgPT0gJycgKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFt0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncmVtaXNzaW9uQ29kZScpO1xuICAgICAgfVxuICAgICAgaWYocmVtaXNzaW9uY3RybHNbJ3JlbWlzc2lvbkNvZGUnXS52YWx1ZSAhPSAnJyAmJiByZW1pc3Npb25jdHJsc1sncmVtaXNzaW9uQ29kZSddLmludmFsaWQgKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncmVtaXNzaW9uQ29kZScpO1xuICAgICAgfVxuICAgICAgaWYocmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLnZhbHVlID09ICcnICkge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2Ftb3VudCcpO1xuICAgICAgfVxuICAgICAgaWYocmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLnZhbHVlICE9ICcnICYmIHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS5pbnZhbGlkICkge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdLCAnYW1vdW50Jyk7XG4gICAgICB9XG4gICAgICBpZihyZW1pc3Npb25jdHJscy5hbW91bnQudmFsaWQgJiYgIWlzUmVtaXNzaW9uTGVzc1RoYW5GZWUpe1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlXSwgJ2Ftb3VudCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1SZW1pc3Npb24oKSB7XG4gICAgdGhpcy5pc0NvbmZpcm1hdGlvbkJ0bkRpc2FibGVkID0gdHJ1ZTtcbiAgICBjb25zdCBuZXdOZXRBbW91bnQgPSB0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHMuYW1vdW50LnZhbHVlLFxuICAgICByZW1pc3Npb25BbW91bnQgPSB0aGlzLmZlZS5uZXRfYW1vdW50IC0gbmV3TmV0QW1vdW50LFxuICAgICByZXF1ZXN0Qm9keSA9IG5ldyBBZGRSZW1pc3Npb25SZXF1ZXN0XG4gICAgKHRoaXMuY2NkQ2FzZU51bWJlciwgdGhpcy5mZWUsIHJlbWlzc2lvbkFtb3VudCwgdGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzLnJlbWlzc2lvbkNvZGUudmFsdWUsIHRoaXMuY2FzZVR5cGUpO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RQYXltZW50R3JvdXBXaXRoUmVtaXNzaW9ucyhkZWNvZGVVUklDb21wb25lbnQodGhpcy5wYXltZW50R3JvdXBSZWYpLnRyaW0oKSwgdGhpcy5mZWUuaWQsIHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgIGlmIChKU09OLnBhcnNlKHJlc3BvbnNlKS5zdWNjZXNzKSB7XG4gICAgICAgICAgbGV0IExEVXJsID0gdGhpcy5pc1R1cm5PZmYgPyAnJmlzVHVybk9mZj1FbmFibGUnIDogJyZpc1R1cm5PZmY9RGlzYWJsZSdcbiAgICAgICAgICAgIExEVXJsICs9IGAmY2FzZVR5cGU9JHt0aGlzLmNhc2VUeXBlfWBcbiAgICAgICAgICAgIExEVXJsICs9IHRoaXMuaXNOZXdQY2lwYWxPZmYgPyAnJmlzTmV3UGNpcGFsT2ZmPUVuYWJsZScgOiAnJmlzTmV3UGNpcGFsT2ZmPURpc2FibGUnXG4gICAgICAgICAgICBMRFVybCArPSB0aGlzLmlzT2xkUGNpcGFsT2ZmID8gJyZpc09sZFBjaXBhbE9mZj1FbmFibGUnIDogJyZpc09sZFBjaXBhbE9mZj1EaXNhYmxlJ1xuICAgICAgICAgIGlmICh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3kuc2hvdWxkUmV1c2VSb3V0ZSA9ICgpID0+IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIub25TYW1lVXJsTmF2aWdhdGlvbiA9ICdyZWxvYWQnO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL3BheW1lbnQtaGlzdG9yeS8ke3RoaXMuY2NkQ2FzZU51bWJlcn0/dmlldz1mZWUtc3VtbWFyeSZzZWxlY3RlZE9wdGlvbj0ke3RoaXMub3B0aW9ufSZwYXltZW50R3JvdXBSZWY9JHt0aGlzLnBheW1lbnRHcm91cFJlZn0mZGNuPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbn0ke0xEVXJsfWApO1xuICAgICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvcjtcbiAgICAgICAgdGhpcy5pc0NvbmZpcm1hdGlvbkJ0bkRpc2FibGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHJlc2V0UmVtaXNzaW9uRm9ybSh2YWwsIGZpZWxkKXtcbiAgICBpZiAoZmllbGQ9PT0nQWxsJyl7XG4gICAgICB0aGlzLmlzUmVtaXNzaW9uQ29kZUVtcHR5ID0gdmFsWzBdO1xuICAgICAgdGhpcy5yZW1pc3Npb25Db2RlSGFzRXJyb3IgPSB2YWxbMV07XG4gICAgICB0aGlzLmlzQW1vdW50RW1wdHkgPSB2YWxbMl07XG4gICAgICB0aGlzLmFtb3VudEhhc0Vycm9yID0gdmFsWzNdO1xuICAgICAgdGhpcy5pc1JlbWlzc2lvbkxlc3NUaGFuRmVlRXJyb3IgPSB2YWxbNF07XG4gICAgICB0aGlzLmlzUmVhc29uRW1wdHkgPSB2YWxbNV07XG4gICAgfSBlbHNlIGlmKGZpZWxkPT09J3JlbWlzc2lvbkNvZGUnIHx8IGZpZWxkPT09J0FsbCcpIHtcbiAgICAgIHRoaXMuaXNSZW1pc3Npb25Db2RlRW1wdHkgPSB2YWxbMF07XG4gICAgICB0aGlzLnJlbWlzc2lvbkNvZGVIYXNFcnJvciA9IHZhbFsxXTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkPT09J2Ftb3VudCcgfHwgZmllbGQ9PT0nQWxsJyl7XG4gICAgICB0aGlzLmlzQW1vdW50RW1wdHkgPSB2YWxbMl07XG4gICAgICB0aGlzLmFtb3VudEhhc0Vycm9yID0gdmFsWzNdO1xuICAgICAgdGhpcy5pc1JlbWlzc2lvbkxlc3NUaGFuRmVlRXJyb3IgPSB2YWxbNF07XG4gICAgfSBlbHNlIGlmIChmaWVsZD09PSdyZWFzb24nIHx8IGZpZWxkPT09J0FsbCcpe1xuICAgICAgdGhpcy5pc1JlYXNvbkVtcHR5ID0gdmFsWzVdO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCByZXRybyByZW1pc3Npb24gY2hhbmdlc1xuICBhZGRSZW1pc3Npb25Db2RlKCkge1xuICAgIHRoaXMuaXNSZWZ1bmRSZW1pc3Npb24gPSBmYWxzZTtcbiAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdBbGwnKTtcbiAgICBjb25zdCByZW1pc3Npb25jdHJscz10aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHMsXG4gICAgICBpc1JlbWlzc2lvbkxlc3NUaGFuRmVlID0gdGhpcy5mZWUuY2FsY3VsYXRlZF9hbW91bnQgPj0gcmVtaXNzaW9uY3RybHMuYW1vdW50LnZhbHVlOyBcbiAgICAgIHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9sc1sncmVmdW5kUmVhc29uJ10uc2V0RXJyb3JzKG51bGwpO1xuICAgICAgdGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzWydyZWZ1bmRERFJlYXNvbiddLnNldEVycm9ycyhudWxsKTtcbiAgICAgIHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9sc1snYW1vdW50J10uc2V0RXJyb3JzKG51bGwpO1xuICAgIGlmICh0aGlzLnJlbWlzc2lvbkZvcm0uZGlydHkgJiYgdGhpcy5yZW1pc3Npb25Gb3JtLnZhbGlkICYmIGlzUmVtaXNzaW9uTGVzc1RoYW5GZWUpIHtcbiAgICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSAnJztcbiAgICAgIHRoaXMudmlld1N0YXR1cyA9IFwicHJvY2Vzc3JldHJvcmVtaXNzb25wYWdlXCI7XG4gICAgfWVsc2Uge1xuXG4gICAgICBpZihyZW1pc3Npb25jdHJsc1sncmVtaXNzaW9uQ29kZSddLnZhbHVlID09ICcnICkge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncmVtaXNzaW9uQ29kZScpO1xuICAgICAgfVxuICAgICAgaWYocmVtaXNzaW9uY3RybHNbJ3JlbWlzc2lvbkNvZGUnXS52YWx1ZSAhPSAnJyAmJiByZW1pc3Npb25jdHJsc1sncmVtaXNzaW9uQ29kZSddLmludmFsaWQgKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdyZW1pc3Npb25Db2RlJyk7XG4gICAgICB9XG4gICAgICBpZihyZW1pc3Npb25jdHJsc1snYW1vdW50J10udmFsdWUgPT0gJycgKSB7XG4gICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0sICdhbW91bnQnKTtcbiAgICAgIH1cbiAgICAgIGlmKHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS52YWx1ZSAhPSAnJyAmJiByZW1pc3Npb25jdHJsc1snYW1vdW50J10uaW52YWxpZCApIHtcbiAgICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW2ZhbHNlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdLCAnYW1vdW50Jyk7XG4gICAgICB9XG4gICAgICBpZihyZW1pc3Npb25jdHJsc1sncmVhc29uJ10udmFsdWUgPT0gJycpIHtcbiAgICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCB0cnVlXSwgJ3JlYXNvbicpO1xuICAgICAgfVxuICAgICAgaWYocmVtaXNzaW9uY3RybHMuYW1vdW50LnZhbGlkICYmICFpc1JlbWlzc2lvbkxlc3NUaGFuRmVlKXtcbiAgICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlXSwgJ2Ftb3VudCcpO1xuICAgICAgfVxuICAgIFxuICAgIH1cbiAgfVxuXG5cbiAgZ290b0FkZFJldHJvUmVtaXNzaW9uQ29kZVBhZ2UoKSB7XG5cbiAgICBpZih0aGlzLmlzUmVmdW5kUmVtaXNzaW9uKSB7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNjYW5jZWxDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVmdW5kTGlzdEFtb3VudC5lbWl0KCk7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tUmVmdW5kU3RhdHVzUGFnZSA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICggdGhpcy5pc0Zyb21SZWZ1bmRMaXN0UGFnZSApIHtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc2NhbmNlbENsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5yZWZ1bmRMaXN0UmVhc29uLmVtaXQoe3JlYXNvbjogdGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbiwgY29kZTogdGhpcy5yZWZ1bmRSZWFzb259KTtcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21SZWZ1bmRTdGF0dXNQYWdlID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9IFxuICAgIHRoaXMudmlld1N0YXR1cyA9ICcnO1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICd5ZXMnO1xuICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSBcImFkZHJlbWlzc2lvblwiO1xuICAgIHRoaXMuaXNSZWZ1bmRSZW1pc3Npb24gPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgaWYodGhpcy5pc0Zyb21QYXltZW50RGV0YWlsUGFnZSkge1xuICAgICAgLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRNZXRob2QgPSB0aGlzLnBheW1lbnQubWV0aG9kO1xuICAgICAgLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IHRoaXMucGF5bWVudEdyb3VwUmVmO1xuICAgICAgLy8gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRSZWZlcmVuY2UgPSB0aGlzLnBheW1lbnQucGF5bWVudF9ncm91cF9yZWZlcmVuY2U7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncGF5bWVudC12aWV3JztcbiAgICB9XG4gIH1cblxuICBnb3RvQ2hlY2tSZXRyb1JlbWlzc2lvblBhZ2UocGF5bWVudDogSVBheW1lbnQpIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNjYW5jZWxDbGlja2VkID0gZmFsc2U7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ0FsbCcpO1xuICAgIGlmKCAhdGhpcy5pc1JlZnVuZFJlbWlzc2lvbikge1xuICAgIHZhciByZW1pc3Npb25jdHJscz10aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHMsXG4gICAgICBpc1JlbWlzc2lvbkxlc3NUaGFuRmVlID0gdGhpcy5mZWUuY2FsY3VsYXRlZF9hbW91bnQgPj0gcmVtaXNzaW9uY3RybHMuYW1vdW50LnZhbHVlOyBcbiAgICBpZiAodGhpcy5yZW1pc3Npb25Gb3JtLmRpcnR5ICkge1xuICAgICAgaWYocmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLnZhbHVlID09ICcnICkge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdLCAnYW1vdW50Jyk7XG4gICAgICB9IGVsc2UgaWYocmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLnZhbHVlICE9ICcnICYmIHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS5pbnZhbGlkICkge1xuICAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2VdLCAnYW1vdW50Jyk7XG4gICAgICB9IGVsc2UgaWYocmVtaXNzaW9uY3RybHMuYW1vdW50LnZhbGlkICYmICFpc1JlbWlzc2lvbkxlc3NUaGFuRmVlKXtcbiAgICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlXSwgJ2Ftb3VudCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpZXdDb21wU3RhdHVzID0gJyc7XG4gICAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gXCJjaGVja3JldHJvcmVtaXNzaW9ucGFnZVwiO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgcmVtaXNzaW9uY3RybHM9dGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzO1xuICAgIC8vaWYgKHRoaXMucmVtaXNzaW9uRm9ybS5kaXJ0eSApIHtcbiAgICAgIGlmKHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW2ZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlXSwgJ2Ftb3VudCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpZXdDb21wU3RhdHVzID0gJyc7XG4gICAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gXCJjaGVja3JldHJvcmVtaXNzaW9ucGFnZVwiO1xuICAgICAgICAgIHRoaXMucmVmdW5kTGlzdEFtb3VudC5lbWl0KHJlbWlzc2lvbmN0cmxzWydhbW91bnQnXS52YWx1ZSk7XG4gICAgICB9XG4gICAgLy99XG4gICBcbiAgfVxuICB9XG5cbiAgZ290b1Byb2Nlc3NSZXRyb1JlbWlzc2lvblBhZ2UoKSB7XG4gICAgdGhpcy52aWV3U3RhdHVzID0gJyc7XG4gICAgdGhpcy52aWV3Q29tcFN0YXR1cyA9ICdhZGRyZW1pc3Npb24nO1xuICAgIHRoaXMuaXNSZWZ1bmRSZW1pc3Npb24gPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gIH1cblxuICBjb25maXJtUmV0cm9SZW1pc3Npb24oKSB7XG4gICAgdGhpcy5pc0NvbmZpcm1hdGlvbkJ0bkRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLnJldHJvUmVtaXNzaW9uID0gdHJ1ZTtcbiAgICB0aGlzLnJlbWlzc2lvbmFtdCA9IHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9scy5hbW91bnQudmFsdWU7XG5cbiAgICAvLyBpZih0aGlzLnJlbWVzc2lvblBheW1lbnQuc3RhdHVzID09PSAnU3VjY2VzcycpIHtcbiAgICAvLyAgIGlmKHRoaXMuZmVlLmNhbGN1bGF0ZWRfYW1vdW50LnRvU3RyaW5nKCkgPT09IHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9scy5hbW91bnQudmFsdWUpIHtcbiAgICAvLyAgICAgdGhpcy5yZW1pc3Npb25hbXQgPXRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9scy5hbW91bnQudmFsdWVcbiAgICAvLyAgIH1cbiAgICAvLyAgIGVsc2UgXG4gICAgLy8gICB7XG4gICAgLy8gICAgIHRoaXMucmVtaXNzaW9uYW10ID0gdGhpcy5mZWUuY2FsY3VsYXRlZF9hbW91bnQgLSB0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHMuYW1vdW50LnZhbHVlO1xuICAgIC8vICAgfVxuXG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIHRoaXMucmVtaXNzaW9uYW10ID0gdGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzLmFtb3VudC52YWx1ZTtcbiAgICAvLyB9XG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0KHRoaXMucmVtaXNzaW9uYW10LHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9scy5yZW1pc3Npb25Db2RlLnZhbHVlIClcbiAgICB0aGlzLnBheW1lbnRWaWV3U2VydmljZS5wb3N0UGF5bWVudEdyb3VwV2l0aFJldHJvUmVtaXNzaW9ucyhkZWNvZGVVUklDb21wb25lbnQodGhpcy5wYXltZW50R3JvdXBSZWYpLnRyaW0oKSwgdGhpcy5mZWUuaWQsIHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgIGlmIChKU09OLnBhcnNlKHJlc3BvbnNlKSkge1xuICAgICAgICAgIHRoaXMuaXNSZW1pc3Npb25BcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnZpZXdDb21wU3RhdHVzICA9ICcnO1xuICAgICAgICAgIHRoaXMudmlld1N0YXR1cyA9ICdyZXRyb3JlbWlzc2lvbmNvbmZpcm1hdGlvbnBhZ2UnO1xuICAgICAgICAgIHRoaXMucmVtaXNzaW9uUmVmZXJlbmNlID1KU09OLnBhcnNlKHJlc3BvbnNlKS5yZW1pc3Npb25fcmVmZXJlbmNlO1xuICAgICAgICAgIC8vaWYgKHRoaXMucmV0cm9SZW1pc3Npb24pIHtcbiAgICAgICAgICAvLyAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gICBsZXQgTERVcmwgPSB0aGlzLmlzVHVybk9mZiA/ICcmaXNUdXJuT2ZmPUVuYWJsZScgOiAnJmlzVHVybk9mZj1EaXNhYmxlJ1xuICAgICAgICAgIC8vICAgICBMRFVybCArPSBgJmNhc2VUeXBlPSR7dGhpcy5jYXNlVHlwZX1gXG4gICAgICAgICAgLy8gICAgIExEVXJsICs9IHRoaXMuaXNOZXdQY2lwYWxPZmYgPyAnJmlzTmV3UGNpcGFsT2ZmPUVuYWJsZScgOiAnJmlzTmV3UGNpcGFsT2ZmPURpc2FibGUnXG4gICAgICAgICAgLy8gICAgIExEVXJsICs9IHRoaXMuaXNPbGRQY2lwYWxPZmYgPyAnJmlzT2xkUGNpcGFsT2ZmPUVuYWJsZScgOiAnJmlzT2xkUGNpcGFsT2ZmPURpc2FibGUnXG4gICAgICAgICAgLy8gICAgIGlmICh0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuYnNwYXltZW50ZGNuKSB7XG4gICAgICAgICAgLy8gICAgICAgdGhpcy5yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSAoKSA9PiBmYWxzZTtcbiAgICAgICAgICAvLyAgICAgICB0aGlzLnJvdXRlci5vblNhbWVVcmxOYXZpZ2F0aW9uID0gJ3JlbG9hZCc7XG4gICAgICAgICAgLy8gICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChgL3BheW1lbnQtaGlzdG9yeS8ke3RoaXMuY2NkQ2FzZU51bWJlcn0/dmlldz1mZWUtc3VtbWFyeSZzZWxlY3RlZE9wdGlvbj0ke3RoaXMub3B0aW9ufSZwYXltZW50R3JvdXBSZWY9JHt0aGlzLnBheW1lbnRHcm91cFJlZn0mZGNuPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbn0ke0xEVXJsfWApO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAvLyAgICAgfWVsc2Uge1xuICAgICAgICAgIC8vICAgICAgIHRoaXMuZ290b0Nhc2V0cmFuc2F0aW9uUGFnZSgpO1xuICAgICAgICAgIC8vICAgICB9XG4gICAgICAgICAgLy8gfVxuXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yO1xuICAgICAgICB0aGlzLmlzQ29uZmlybWF0aW9uQnRuRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByb2Nlc3NSZWZ1bmQoKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmlzQ29uZmlybWF0aW9uQnRuRGlzYWJsZWQgPSB0cnVlO1xuICAgIGlmKCB0aGlzLmlzUmVmdW5kUmVtaXNzaW9uKSB7XG4gICAgICB0aGlzLnJldHJvUmVtaXNzaW9uID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVtaXNzaW9uUmVmZXJlbmNlID09PSB1bmRlZmluZWQgfHwgdGhpcy5yZW1pc3Npb25SZWZlcmVuY2UgPT09ICcnKSB7XG4gICAgICB0aGlzLnJlbWlzc2lvblJlZmVyZW5jZSA9IHRoaXMucmVtaXNzaW9uLnJlbWlzc2lvbl9yZWZlcmVuY2U7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RCb2R5ID0gbmV3IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uKHRoaXMucmVtaXNzaW9uUmVmZXJlbmNlKTtcbiAgXG4gICAgdGhpcy5wYXltZW50Vmlld1NlcnZpY2UucG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgIGlmIChKU09OLnBhcnNlKHJlc3BvbnNlKSkge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29tcFN0YXR1cyAgPSAnJztcbiAgICAgICAgICAgIHRoaXMudmlld1N0YXR1cyA9ICdyZWZ1bmRjb25maXJtYXRpb25wYWdlJztcbiAgICAgICAgICAgIHRoaXMucmVmdW5kUmVmZXJlbmNlID0gSlNPTi5wYXJzZShyZXNwb25zZSkucmVmdW5kX3JlZmVyZW5jZTtcbiAgICAgICAgICAgIHRoaXMucmVmdW5kQW1vdW50ID0gSlNPTi5wYXJzZShyZXNwb25zZSkucmVmdW5kX2Ftb3VudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgIHRoaXMuaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfSlcbiAgfVxuXG4gIC8vIElzc3VlIFJlZnVuZCBjaGFuZ2VzXG5cbiAgZ290b0lzc3VlUmVmdW5kQ29uZmlybWF0aW9uKHBheW1lbnQ6IElQYXltZW50KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzY2FuY2VsQ2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgdGhpcy5yZWZ1bmRSZWFzb24gPSB0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHNbJ3JlZnVuZFJlYXNvbiddLnZhbHVlID09PSBudWxsID8gdGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzWydyZWZ1bmRERFJlYXNvbiddLnZhbHVlIDogdGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzWydyZWZ1bmRSZWFzb24nXS52YWx1ZTtcbiAgICBpZighdGhpcy5yZWZ1bmRSZWFzb24pIHtcbiAgICAgIHRoaXMucmVmdW5kSGFzRXJyb3IgPSB0cnVlO1xuICAgIH0gZWxzZSBpZih0aGlzLnNlbGVjdGVkUmVmdW5kUmVhc29uLmluY2x1ZGVzKCdPdGhlcicpICYmICh0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHNbJ3JlYXNvbiddLnZhbHVlID09ICcnIHx8IHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9sc1sncmVhc29uJ10udmFsdWUgPT0gbnVsbCkpIHtcbiAgICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCB0cnVlXSwgJ3JlYXNvbicpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbi5pbmNsdWRlcygnT3RoZXInKSAmJiB0aGlzLnJlbWlzc2lvbkZvcm0uY29udHJvbHNbJ3JlYXNvbiddLnZhbHVlICE9PSAnJykge1xuICAgICAgdGhpcy5yZWZ1bmRIYXNFcnJvciA9IGZhbHNlO1xuICAgICAgdGhpcy5yZWZ1bmRSZWFzb24gKz0gICctJyArIHRoaXMucmVtaXNzaW9uRm9ybS5jb250cm9sc1sncmVhc29uJ10udmFsdWU7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVmdW5kUmVhc29uID0gdGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzWydyZWFzb24nXS52YWx1ZTtcbiAgICAgIGlmICggdGhpcy5pc0Zyb21SZWZ1bmRMaXN0UGFnZSApIHtcbiAgICAgICAgdGhpcy5yZWZ1bmRMaXN0UmVhc29uLmVtaXQoe3JlYXNvbjogdGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbiwgY29kZTogdGhpcy5yZWZ1bmRSZWFzb259KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSAnJztcbiAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ2NoZWNraXNzdWVyZWZ1bmRwYWdlJztcbiAgICAgIH1cbiAgICAgIFxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIHRoaXMuaXNGcm9tUmVmdW5kTGlzdFBhZ2UgKSB7XG4gICAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21SZWZ1bmRTdGF0dXNQYWdlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZWZ1bmRMaXN0UmVhc29uLmVtaXQoe3JlYXNvbjogdGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbiwgY29kZTogdGhpcy5yZWZ1bmRSZWFzb259KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSAnJztcbiAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ2NoZWNraXNzdWVyZWZ1bmRwYWdlJztcbiAgICAgIH1cbiAgIFxuICAgIH1cbiAgfVxuXG4gIGdvdG9Jc3N1ZVJlZnVuZFBhZ2UoKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLnZpZXdDb21wU3RhdHVzID0gJ2lzc3VlcmVmdW5kJztcbiAgICB0aGlzLnZpZXdTdGF0dXMgPSAnJztcbiAgICB0aGlzLmlzUmVmdW5kUmVtaXNzaW9uID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGZhbHNlO1xuICAgIHRoaXMucmVmdW5kSGFzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLmlzUmVhc29uRW1wdHkgPSBmYWxzZTtcbiAgfVxuXG4gIGNoYW5nZUlzc3VlUmVmdW5kUmVhc29uKCkge1xuICAgLy8gdGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzWydyZWZ1bmRSZWFzb24nXS5zZXRWYWx1ZSgnRHVwbGljYXRlIHBheW1lbnQnKTtcbiAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgdGhpcy5yZWZ1bmRIYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuaXNSZWFzb25FbXB0eSA9IGZhbHNlO1xuICAgIHRoaXMudmlld0NvbXBTdGF0dXMgPSAnaXNzdWVyZWZ1bmQnO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICcnO1xuICAgIHRoaXMuaXNSZWZ1bmRSZW1pc3Npb24gPSB0cnVlO1xuICB9XG5cbiAgY29uZmlybUlzc3VlUmVmdW5kKCkge1xuICAgIHRoaXMuaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICBpZiggdGhpcy5pc1JlZnVuZFJlbWlzc2lvbikge1xuICAgICAgdGhpcy5yZXRyb1JlbWlzc2lvbiA9IHRydWU7XG4gICAgfVxuICAgXG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKHRoaXMucGF5bWVudC5yZWZlcmVuY2UsdGhpcy5yZWZ1bmRSZWFzb24pO1xuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RSZWZ1bmRzUmVhc29uKHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgaWYgKEpTT04ucGFyc2UocmVzcG9uc2UpKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb21wU3RhdHVzICA9ICcnO1xuICAgICAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ3JlZnVuZGNvbmZpcm1hdGlvbnBhZ2UnO1xuICAgICAgICAgICAgdGhpcy5yZWZ1bmRSZWZlcmVuY2UgPUpTT04ucGFyc2UocmVzcG9uc2UpLnJlZnVuZF9yZWZlcmVuY2U7XG4gICAgICAgICAgICBpZihKU09OLnBhcnNlKHJlc3BvbnNlKS5yZWZ1bmRfYW1vdW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlZnVuZEFtb3VudCA9IEpTT04ucGFyc2UocmVzcG9uc2UpLnJlZnVuZF9hbW91bnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgIHRoaXMuaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gIH1cblxuLy8gUmV0cm8gUmVmdW5kXG5cbiAgY29uZmlybVJldHJvUmVmdW5kKCkge1xuICAgIHRoaXMuaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZCA9IHRydWU7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICBpZiggdGhpcy5pc1JlZnVuZFJlbWlzc2lvbikge1xuICAgICAgdGhpcy5yZXRyb1JlbWlzc2lvbiA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uKHRoaXMucGF5bWVudC5yZWZlcmVuY2UsJ1JSMDA0LVJldHJvc3BlY3RpdmUgcmVtaXNzaW9uJyk7XG4gICAgLy8gY29uc3QgcmVxdWVzdEJvZHkgPSBuZXcgSXNzdWVSZWZ1bmRSZXF1ZXN0KHRoaXMucGF5bWVudC5yZWZlcmVuY2UsJ1JSMDA0LVJldHJvIHJlbWlzc2lvbicsdGhpcy5wYXltZW50LmFtb3VudCk7XG4gIFxuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLnBvc3RSZWZ1bmRzUmVhc29uKHJlcXVlc3RCb2R5KS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgaWYgKEpTT04ucGFyc2UocmVzcG9uc2UpKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb21wU3RhdHVzICA9ICcnO1xuICAgICAgICAgICAgdGhpcy52aWV3U3RhdHVzID0gJ3JldHJvcmVmdW5kY29uZmlybWF0aW9ucGFnZSc7XG4gICAgICAgICAgICB0aGlzLnJlZnVuZFJlZmVyZW5jZSA9SlNPTi5wYXJzZShyZXNwb25zZSkucmVmdW5kX3JlZmVyZW5jZTtcbiAgICAgICAgICAgIGlmKEpTT04ucGFyc2UocmVzcG9uc2UpLnJlZnVuZF9hbW91bnQpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZWZ1bmRBbW91bnQgPSBKU09OLnBhcnNlKHJlc3BvbnNlKS5yZWZ1bmRfYW1vdW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgIHRoaXMuaXNDb25maXJtYXRpb25CdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBzZWxlY3RSYWRpb0J1dHRvbihrZXksIHZhbHVlKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJteXJhZGlvXCIsIGtleSk7XG4gICAgY29uc3QgcmVtaXNzaW9uY3RybHM9dGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzO1xuICAgIHJlbWlzc2lvbmN0cmxzWydyZWZ1bmRERFJlYXNvbiddLnNldFZhbHVlKCdTZWxlY3QgYSBkaWZmZXJlbnQgcmVhc29uJywge29ubHlTZWxmOiB0cnVlfSk7XG4gICAgLy8gcmVtaXNzaW9uY3RybHNbJ3JlZnVuZEREUmVhc29uJ10ucmVzZXQoKTtcbiAgICByZW1pc3Npb25jdHJsc1sncmVhc29uJ10ucmVzZXQoKTtcbiAgICB0aGlzLmlzUmVmdW5kUmVhc29uc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGZhbHNlO1xuICAgIHRoaXMuaXNSZWFzb25FbXB0eSA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd1JlYXNvblRleHQgPSBmYWxzZTtcbiAgICB0aGlzLnJlZnVuZEhhc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbiA9IGtleTtcbiAgICBpZih0aGlzLnNlbGVjdGVkUmVmdW5kUmVhc29uLmluY2x1ZGVzKCdPdGhlcicpKSB7XG4gICAgICB0aGlzLnNob3dSZWFzb25UZXh0ID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVmdW5kSGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgIHRoaXMucmVmdW5kUmVhc29uID0ga2V5O1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdGNoYW5nZShhcmdzKSB7XG4gICAgY29uc3QgcmVtaXNzaW9uY3RybHM9dGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzO1xuICAgIHJlbWlzc2lvbmN0cmxzWydyZWZ1bmRSZWFzb24nXS5yZXNldCgpO1xuICAgIHJlbWlzc2lvbmN0cmxzWydyZWFzb24nXS5yZXNldCgpO1xuICAgIHRoaXMuaXNSZWZ1bmRSZWFzb25zU2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dSZWFzb25UZXh0ID0gZmFsc2U7XG4gICAgdGhpcy5yZWZ1bmRIYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRSZWZ1bmRSZWFzb24gPSBhcmdzLnRhcmdldC5vcHRpb25zW2FyZ3MudGFyZ2V0Lm9wdGlvbnMuc2VsZWN0ZWRJbmRleF0uaWQ7XG4gICAgdGhpcy5yZWFzb25MZW5ndGggPSAoMjktdGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbi5zcGxpdCgnLSAnKVsxXS5sZW5ndGgpO1xuXG4gICAgaWYodGhpcy5zZWxlY3RlZFJlZnVuZFJlYXNvbi5pbmNsdWRlcygnT3RoZXInKSkge1xuICAgICAgdGhpcy5zaG93UmVhc29uVGV4dCA9IHRydWU7XG4gICAgICB0aGlzLnJlZnVuZEhhc0Vycm9yID0gZmFsc2U7XG4gICAgICB0aGlzLnJlZnVuZFJlYXNvbiA9IGFyZ3MudGFyZ2V0Lm9wdGlvbnNbYXJncy50YXJnZXQub3B0aW9ucy5zZWxlY3RlZEluZGV4XS5pZDtcbiAgICB9XG5cblxuICB9XG5cbiAgZ290b1NlcnZpY2VSZXF1ZXN0UGFnZSgpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMudmlld1N0YXR1cyA9ICdtYWluJ1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdjYXNlLXRyYW5zYWN0aW9ucyc7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRpc0Zyb21TZXJ2aWNlUmVxdWVzdFBhZ2UodHJ1ZSk7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnc2VydmljZXJlcXVlc3RwYWdlJyk7XG4gIH1cblxuICBnb3RvQ2FzZXRyYW5zYXRpb25QYWdlKCkge1xuICAgIGlmICh0aGlzLmlzRnJvbVNlcnZpY2VSZXF1ZXN0UGFnZSkge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UgPSBmYWxzZTtcbiAgICAgIHRoaXMuIGdvdG9TZXJ2aWNlUmVxdWVzdFBhZ2UoKTtcbiAgICB9XG4gICAgaWYgKCB0aGlzLmlzRnJvbVJlZnVuZExpc3RQYWdlICkge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzY2FuY2VsQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLnJlZnVuZExpc3RSZWFzb24uZW1pdCh7cmVhc29uOiB0aGlzLnNlbGVjdGVkUmVmdW5kUmVhc29uLCBjb2RlOiB0aGlzLnJlZnVuZFJlYXNvbn0pO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzRnJvbVJlZnVuZFN0YXR1c1BhZ2UgPSB0cnVlO1xuICAgIH0gXG4gICAgaWYoIXRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21SZWZ1bmRTdGF0dXNQYWdlKSAge1xuICAgICAgaWYodGhpcy5wYXltZW50KSB7XG4gICAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0cGF5bWVudFBhZ2VWaWV3KHttZXRob2Q6IHRoaXMucGF5bWVudC5tZXRob2QscGF5bWVudF9ncm91cF9yZWZlcmVuY2U6IHRoaXMucGF5bWVudEdyb3VwUmVmLCByZWZlcmVuY2U6dGhpcy5wYXltZW50LnJlZmVyZW5jZX0pO1xuICAgXG4gICAgICB9XG4gICAgaWYgKHRoaXMuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlKSB7IFxuICAgICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5zZXRuYXZpZ2F0aW9uUGFnZSgnc2VydmljZXJlcXVlc3RwYWdlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0bmF2aWdhdGlvblBhZ2UoJ3BheW1lbnRkZXRhaWxzcGFnZScpO1xuICAgIH1cblxuICAgXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnY2FzZS10cmFuc2FjdGlvbnMnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5UQUtFUEFZTUVOVCA9IHRydWU7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTVFVSTk9GRiA9IHRoaXMuaXNUdXJuT2ZmO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU05FV1BDSVBBTE9GRiA9IHRoaXMuaXNOZXdQY2lwYWxPZmY7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTT0xEUENJUEFMT0ZGID0gdGhpcy5pc09sZFBjaXBhbE9mZjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNGcm9tU2VydmljZVJlcXVlc3RQYWdlID0gdHJ1ZTsgIFxuICAgIHRoaXMucGF5bWVudFZpZXdTZXJ2aWNlLmdldEJTZmVhdHVyZSgpLnN1YnNjcmliZShcbiAgICAgIGZlYXR1cmVzID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IEpTT04ucGFyc2UoZmVhdHVyZXMpLmZpbHRlcihmZWF0dXJlID0+IGZlYXR1cmUudWlkID09PSBCU19FTkFCTEVfRkxBRyk7XG4gICAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gcmVzdWx0WzBdID8gcmVzdWx0WzBdLmVuYWJsZSA6IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU0JTRU5BQkxFID0gZmFsc2U7XG4gICAgICB9XG4gICAgKTtcblxuICAgIGxldCBwYXJ0VXJsID0gdGhpcy5ic1BheW1lbnREY25OdW1iZXIgPyBgJmRjbj0ke3RoaXMuYnNQYXltZW50RGNuTnVtYmVyfWAgOiAnJztcbiAgICAgcGFydFVybCArPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRSA/ICcmaXNCdWxrU2Nhbm5pbmc9RW5hYmxlJyA6ICcmaXNCdWxrU2Nhbm5pbmc9RGlzYWJsZSc7XG4gICAgIHBhcnRVcmwgKz0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTVFVSTk9GRiA/ICcmaXNUdXJuT2ZmPUVuYWJsZScgOiAnJmlzVHVybk9mZj1EaXNhYmxlJztcbiAgICAgcGFydFVybCArPSB0aGlzLmlzU3RyYXRlZ2ljRml4RW5hYmxlID8gJyZpc1N0Rml4RW5hYmxlPUVuYWJsZScgOiAnJmlzU3RGaXhFbmFibGU9RGlzYWJsZSc7XG4gICAgIHBhcnRVcmwgKz0gYCZjYXNlVHlwZT0ke3RoaXMuY2FzZVR5cGV9YDtcbiAgICAgcGFydFVybCArPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNORVdQQ0lQQUxPRkYgPyAnJmlzTmV3UGNpcGFsT2ZmPUVuYWJsZScgOiAnJmlzTmV3UGNpcGFsT2ZmPURpc2FibGUnO1xuICAgICBwYXJ0VXJsICs9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU09MRFBDSVBBTE9GRiA/ICcmaXNPbGRQY2lwYWxPZmY9RW5hYmxlJyA6ICcmaXNPbGRQY2lwYWxPZmY9RGlzYWJsZSc7XG4gICAgIGlmKHRoaXMuaXNGcm9tUGF5bWVudERldGFpbFBhZ2UpIHtcbiAgICAgICBwYXJ0VXJsICs9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21QYXltZW50RGV0YWlsUGFnZVxuICAgICB9XG5cbiAgICBjb25zdCB1cmwgPSBgL3BheW1lbnQtaGlzdG9yeS8ke3RoaXMuY2NkQ2FzZU51bWJlcn0/dmlldz1jYXNlLXRyYW5zYWN0aW9ucyZ0YWtlUGF5bWVudD10cnVlJnNlbGVjdGVkT3B0aW9uPSR7dGhpcy5vcHRpb259JHtwYXJ0VXJsfWA7XG4gICAgdGhpcy5yb3V0ZXIucm91dGVSZXVzZVN0cmF0ZWd5LnNob3VsZFJldXNlUm91dGUgPSAoKSA9PiBmYWxzZTtcbiAgICB0aGlzLnJvdXRlci5vblNhbWVVcmxOYXZpZ2F0aW9uID0gJ3JlbG9hZCc7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPT09ICdyZWZ1bmRzdGF0dXNsaXN0JztcbiAgICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5pc0Zyb21SZWZ1bmRTdGF0dXNQYWdlID0gdHJ1ZTtcbiAgICB9XG5cbiAgfVxuXG4gIGdvVG9TZXJ2aWNlUmVxdWVzdFBhZ2UoKSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lXG4gIH1cbiAgZ2V0Rm9ybWF0dGVkQ3VycmVuY3koY3VycmVuY3k6bnVtYmVyKXtcbiAgICBpZihjdXJyZW5jeS50b1N0cmluZygpLmluY2x1ZGVzKFwiLlwiKSl7XG4gICAgICByZXR1cm4gY3VycmVuY3lcbiAgICB9XG4gICAgIHJldHVybiBjdXJyZW5jeS50b1N0cmluZygpLmNvbmNhdChcIi4wMFwiKTtcbiAgfVxuICAvLyBjb250aW51ZVJlbWlzc2lvbigpe1xuICAvLyAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnQWxsJyk7XG4gIC8vICAgY29uc3QgcmVtaXNzaW9uY3RybHM9dGhpcy5yZW1pc3Npb25Gb3JtLmNvbnRyb2xzLFxuICAvLyAgICAgaXNSZW1pc3Npb25MZXNzVGhhbkZlZSA9IHRoaXMuZmVlLmNhbGN1bGF0ZWRfYW1vdW50ID4gcmVtaXNzaW9uY3RybHMuYW1vdW50LnZhbHVlOyBcbiAgLy8gICBpZiAodGhpcy5yZW1pc3Npb25Gb3JtLmRpcnR5ICYmIHRoaXMucmVtaXNzaW9uRm9ybS52YWxpZCAmJiBpc1JlbWlzc2lvbkxlc3NUaGFuRmVlKSB7XG4gIC8vICAgICB0aGlzLnZpZXdDb21wU3RhdHVzID0gJyc7XG4gIC8vICAgICB0aGlzLnZpZXdTdGF0dXMgPSBcInByb2Nlc3NyZXRyb3JlbWlzc29ucGFnZVwiO1xuICAvLyAgIH1lbHNlIHtcblxuICAvLyAgICAgaWYocmVtaXNzaW9uY3RybHNbJ3JlbWlzc2lvbkNvZGUnXS52YWx1ZSA9PSAnJyApIHtcbiAgLy8gICAgICAgdGhpcy5yZXNldFJlbWlzc2lvbkZvcm0oW3RydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ3JlbWlzc2lvbkNvZGUnKTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGlmKHJlbWlzc2lvbmN0cmxzWydyZW1pc3Npb25Db2RlJ10udmFsdWUgIT0gJycgJiYgcmVtaXNzaW9uY3RybHNbJ3JlbWlzc2lvbkNvZGUnXS5pbnZhbGlkICkge1xuICAvLyAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncmVtaXNzaW9uQ29kZScpO1xuICAvLyAgICAgfVxuICAvLyAgICAgaWYocmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLnZhbHVlID09ICcnICkge1xuICAvLyAgICAgICB0aGlzLnJlc2V0UmVtaXNzaW9uRm9ybShbZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2VdLCAnYW1vdW50Jyk7XG4gIC8vICAgICB9XG4gIC8vICAgICBpZihyZW1pc3Npb25jdHJsc1snYW1vdW50J10udmFsdWUgIT0gJycgJiYgcmVtaXNzaW9uY3RybHNbJ2Ftb3VudCddLmludmFsaWQgKSB7XG4gIC8vICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgdHJ1ZSwgZmFsc2UsIHRydWUsIGZhbHNlXSwgJ2Ftb3VudCcpO1xuICAvLyAgICAgfVxuICAvLyAgICAgaWYocmVtaXNzaW9uY3RybHNbJ3JlYXNvbiddLnZhbHVlID09ICcnKSB7XG4gIC8vICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgdHJ1ZV0sICdyZWFzb24nKTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGlmKHJlbWlzc2lvbmN0cmxzLmFtb3VudC52YWxpZCAmJiAhaXNSZW1pc3Npb25MZXNzVGhhbkZlZSl7XG4gIC8vICAgICAgIHRoaXMucmVzZXRSZW1pc3Npb25Gb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZV0sICdhbW91bnQnKTtcbiAgLy8gICAgIH1cbiAgICBcbiAgLy8gICB9XG4gXG4gIC8vIH1cblxufVxuIl19
|