@hmcts/ccpay-web-component 5.0.8-beta05 → 5.0.8-beta10

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.
Files changed (171) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +1690 -7568
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +2 -2
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-ccpay-web-component.js +2 -7
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +166 -446
  7. package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +61 -360
  8. package/esm2015/lib/components/card-details/card-details.component.js +15 -55
  9. package/esm2015/lib/components/case-transactions/case-transactions.component.js +127 -698
  10. package/esm2015/lib/components/error-banner/error-banner.component.js +16 -26
  11. package/esm2015/lib/components/fee-summary/fee-summary.component.js +59 -268
  12. package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +40 -192
  13. package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +44 -236
  14. package/esm2015/lib/components/page-not-found.component.js +10 -13
  15. package/esm2015/lib/components/payment-list/payment-list.component.js +15 -56
  16. package/esm2015/lib/components/payment-view/payment-view.component.js +115 -361
  17. package/esm2015/lib/components/pba-details/pba-details.component.js +16 -26
  18. package/esm2015/lib/components/pba-payment/pba-payment.component.js +27 -130
  19. package/esm2015/lib/components/process-refund/process-refund.component.js +39 -190
  20. package/esm2015/lib/components/processed-payments/processed-payments.component.js +22 -53
  21. package/esm2015/lib/components/refund-list/refund-list.component.js +32 -91
  22. package/esm2015/lib/components/refund-status/refund-status.component.js +58 -270
  23. package/esm2015/lib/components/reports/reports.component.js +39 -223
  24. package/esm2015/lib/components/service-request/service-request.component.js +108 -394
  25. package/esm2015/lib/components/status-history/status-history.component.js +19 -55
  26. package/esm2015/lib/components/table/table.component.js +39 -120
  27. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +65 -203
  28. package/esm2015/lib/interfaces/AddRemissionRequest.js +1 -29
  29. package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +1 -16
  30. package/esm2015/lib/interfaces/AllocatePaymentRequest.js +1 -43
  31. package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +1 -27
  32. package/esm2015/lib/interfaces/IBSPayments.js +1 -46
  33. package/esm2015/lib/interfaces/ICardDetails.js +1 -22
  34. package/esm2015/lib/interfaces/IFee.js +1 -54
  35. package/esm2015/lib/interfaces/IOrderReferenceFee.js +1 -26
  36. package/esm2015/lib/interfaces/IPatchRefundAction.js +1 -16
  37. package/esm2015/lib/interfaces/IPayment.js +1 -66
  38. package/esm2015/lib/interfaces/IPaymentFailure.js +1 -34
  39. package/esm2015/lib/interfaces/IPaymentGroup.js +1 -20
  40. package/esm2015/lib/interfaces/IPaymentStatus.js +1 -26
  41. package/esm2015/lib/interfaces/IPaymentView.js +1 -18
  42. package/esm2015/lib/interfaces/IPayments.js +1 -14
  43. package/esm2015/lib/interfaces/IRefundAction.js +1 -16
  44. package/esm2015/lib/interfaces/IRefundList.js +1 -30
  45. package/esm2015/lib/interfaces/IRefundReasons.js +1 -20
  46. package/esm2015/lib/interfaces/IRefundRejectReason.js +1 -16
  47. package/esm2015/lib/interfaces/IRefundStatus.js +1 -24
  48. package/esm2015/lib/interfaces/IRefundStatusHistory.js +1 -16
  49. package/esm2015/lib/interfaces/IRemission.js +1 -26
  50. package/esm2015/lib/interfaces/IResubmitRefundRequest.js +1 -16
  51. package/esm2015/lib/interfaces/IStatusHistories.js +1 -20
  52. package/esm2015/lib/interfaces/IStatusHistory.js +1 -22
  53. package/esm2015/lib/interfaces/IserviceRequestCardPayment.js +1 -17
  54. package/esm2015/lib/interfaces/IserviceRequestPbaPayment.js +1 -24
  55. package/esm2015/lib/interfaces/IssueRefundRequest.js +1 -19
  56. package/esm2015/lib/interfaces/PayhubAntennaRequest.js +2 -22
  57. package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +2 -28
  58. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +1 -13
  59. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +1 -16
  60. package/esm2015/lib/interfaces/RefundsRequest.js +1 -16
  61. package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +1 -21
  62. package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +1 -30
  63. package/esm2015/lib/payment-lib.component.js +120 -188
  64. package/esm2015/lib/payment-lib.module.js +55 -58
  65. package/esm2015/lib/payment-lib.service.js +12 -54
  66. package/esm2015/lib/pipes/capitalize.pipe.js +11 -20
  67. package/esm2015/lib/pipes/ccd-hyphens.pipe.js +11 -21
  68. package/esm2015/lib/pipes/key-value.pipe.js +11 -20
  69. package/esm2015/lib/pipes/sanitize-html.pipe.js +10 -27
  70. package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +22 -110
  71. package/esm2015/lib/services/card-details/card-details.service.js +15 -47
  72. package/esm2015/lib/services/case-transactions/case-transactions.service.js +15 -47
  73. package/esm2015/lib/services/orderslist.service.js +12 -260
  74. package/esm2015/lib/services/payment-list/payment-list.service.js +15 -50
  75. package/esm2015/lib/services/payment-view/payment-view.service.js +18 -177
  76. package/esm2015/lib/services/refunds/refunds.service.js +21 -117
  77. package/esm2015/lib/services/shared/error-handler.service.js +12 -28
  78. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +15 -88
  79. package/esm2015/lib/services/shared/logger/console-logger.service.js +12 -35
  80. package/esm2015/lib/services/shared/logger/logger.service.js +12 -43
  81. package/esm2015/lib/services/status-history/status-history.service.js +15 -48
  82. package/esm2015/lib/services/xl-file/xl-file.service.js +10 -67
  83. package/esm2015/public_api.js +4 -9
  84. package/esm5/hmcts-ccpay-web-component.js +2 -7
  85. package/esm5/lib/components/add-remission/add-remission.component.js +185 -542
  86. package/esm5/lib/components/allocate-payments/allocate-payments.component.js +75 -420
  87. package/esm5/lib/components/card-details/card-details.component.js +14 -54
  88. package/esm5/lib/components/case-transactions/case-transactions.component.js +160 -851
  89. package/esm5/lib/components/error-banner/error-banner.component.js +15 -29
  90. package/esm5/lib/components/fee-summary/fee-summary.component.js +70 -321
  91. package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +46 -224
  92. package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +52 -278
  93. package/esm5/lib/components/page-not-found.component.js +7 -11
  94. package/esm5/lib/components/payment-list/payment-list.component.js +14 -61
  95. package/esm5/lib/components/payment-view/payment-view.component.js +134 -440
  96. package/esm5/lib/components/pba-details/pba-details.component.js +15 -29
  97. package/esm5/lib/components/pba-payment/pba-payment.component.js +30 -150
  98. package/esm5/lib/components/process-refund/process-refund.component.js +45 -272
  99. package/esm5/lib/components/processed-payments/processed-payments.component.js +22 -63
  100. package/esm5/lib/components/refund-list/refund-list.component.js +30 -90
  101. package/esm5/lib/components/refund-status/refund-status.component.js +71 -335
  102. package/esm5/lib/components/reports/reports.component.js +49 -276
  103. package/esm5/lib/components/service-request/service-request.component.js +122 -462
  104. package/esm5/lib/components/status-history/status-history.component.js +17 -53
  105. package/esm5/lib/components/table/table.component.js +44 -154
  106. package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +75 -259
  107. package/esm5/lib/interfaces/AddRemissionRequest.js +1 -22
  108. package/esm5/lib/interfaces/AddRetroRemissionRequest.js +1 -12
  109. package/esm5/lib/interfaces/AllocatePaymentRequest.js +1 -36
  110. package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +1 -20
  111. package/esm5/lib/interfaces/IBSPayments.js +1 -46
  112. package/esm5/lib/interfaces/ICardDetails.js +1 -22
  113. package/esm5/lib/interfaces/IFee.js +1 -54
  114. package/esm5/lib/interfaces/IOrderReferenceFee.js +1 -26
  115. package/esm5/lib/interfaces/IPatchRefundAction.js +1 -16
  116. package/esm5/lib/interfaces/IPayment.js +1 -66
  117. package/esm5/lib/interfaces/IPaymentFailure.js +1 -34
  118. package/esm5/lib/interfaces/IPaymentGroup.js +1 -20
  119. package/esm5/lib/interfaces/IPaymentStatus.js +1 -26
  120. package/esm5/lib/interfaces/IPaymentView.js +1 -18
  121. package/esm5/lib/interfaces/IPayments.js +1 -14
  122. package/esm5/lib/interfaces/IRefundAction.js +1 -16
  123. package/esm5/lib/interfaces/IRefundList.js +1 -30
  124. package/esm5/lib/interfaces/IRefundReasons.js +1 -20
  125. package/esm5/lib/interfaces/IRefundRejectReason.js +1 -16
  126. package/esm5/lib/interfaces/IRefundStatus.js +1 -24
  127. package/esm5/lib/interfaces/IRefundStatusHistory.js +1 -16
  128. package/esm5/lib/interfaces/IRemission.js +1 -26
  129. package/esm5/lib/interfaces/IResubmitRefundRequest.js +1 -12
  130. package/esm5/lib/interfaces/IStatusHistories.js +1 -20
  131. package/esm5/lib/interfaces/IStatusHistory.js +1 -22
  132. package/esm5/lib/interfaces/IserviceRequestCardPayment.js +1 -14
  133. package/esm5/lib/interfaces/IserviceRequestPbaPayment.js +1 -18
  134. package/esm5/lib/interfaces/IssueRefundRequest.js +1 -14
  135. package/esm5/lib/interfaces/PayhubAntennaRequest.js +2 -17
  136. package/esm5/lib/interfaces/PaymentToPayhubRequest.js +2 -23
  137. package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +1 -10
  138. package/esm5/lib/interfaces/PostRefundRetroRemission.js +1 -12
  139. package/esm5/lib/interfaces/RefundsRequest.js +1 -12
  140. package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +1 -16
  141. package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +1 -22
  142. package/esm5/lib/payment-lib.component.js +114 -184
  143. package/esm5/lib/payment-lib.module.js +52 -56
  144. package/esm5/lib/payment-lib.service.js +17 -88
  145. package/esm5/lib/pipes/capitalize.pipe.js +9 -24
  146. package/esm5/lib/pipes/ccd-hyphens.pipe.js +9 -25
  147. package/esm5/lib/pipes/key-value.pipe.js +9 -23
  148. package/esm5/lib/pipes/sanitize-html.pipe.js +8 -27
  149. package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +28 -153
  150. package/esm5/lib/services/card-details/card-details.service.js +13 -44
  151. package/esm5/lib/services/case-transactions/case-transactions.service.js +13 -44
  152. package/esm5/lib/services/orderslist.service.js +45 -420
  153. package/esm5/lib/services/payment-list/payment-list.service.js +13 -48
  154. package/esm5/lib/services/payment-view/payment-view.service.js +40 -307
  155. package/esm5/lib/services/refunds/refunds.service.js +29 -164
  156. package/esm5/lib/services/shared/error-handler.service.js +11 -38
  157. package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +18 -120
  158. package/esm5/lib/services/shared/logger/console-logger.service.js +13 -42
  159. package/esm5/lib/services/shared/logger/logger.service.js +11 -54
  160. package/esm5/lib/services/status-history/status-history.service.js +13 -46
  161. package/esm5/lib/services/xl-file/xl-file.service.js +15 -115
  162. package/esm5/public_api.js +4 -9
  163. package/fesm2015/hmcts-ccpay-web-component.js +1435 -6224
  164. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  165. package/fesm5/hmcts-ccpay-web-component.js +1694 -7576
  166. package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
  167. package/hmcts-ccpay-web-component.metadata.json +1 -1
  168. package/lib/components/card-details/card-details.component.d.ts +1 -1
  169. package/lib/components/payment-view/payment-view.component.d.ts +2 -2
  170. package/lib/services/shared/logger/console-logger.service.d.ts +3 -3
  171. package/package.json +2 -2
@@ -1,8 +1,4 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/payment-list/payment-list.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
1
+ import { __decorate, __metadata } from "tslib";
6
2
  import { Injectable } from '@angular/core';
7
3
  import { HttpClient } from '@angular/common/http';
8
4
  import { PaymentLibService } from '../../payment-lib.service';
@@ -21,61 +17,30 @@ var PaymentListService = /** @class */ (function () {
21
17
  this.errorHandlerService = errorHandlerService;
22
18
  this.paymentLibService = paymentLibService;
23
19
  }
24
- /**
25
- * @param {?} ccdCaseNumber
26
- * @param {?} paymentMethod
27
- * @return {?}
28
- */
29
- PaymentListService.prototype.getPaymentByCcdCaseNumber = /**
30
- * @param {?} ccdCaseNumber
31
- * @param {?} paymentMethod
32
- * @return {?}
33
- */
34
- function (ccdCaseNumber, paymentMethod) {
20
+ PaymentListService.prototype.getPaymentByCcdCaseNumber = function (ccdCaseNumber, paymentMethod) {
35
21
  this.logger.info('Payment-list-service getPaymentByCcdCaseNumber for: ', ccdCaseNumber);
36
22
  return this.http.get(this.paymentLibService.API_ROOT + "/cases/" + ccdCaseNumber + "/payments", {
37
23
  withCredentials: true
38
24
  })
39
25
  .pipe(catchError(this.errorHandlerService.handleError));
40
26
  };
41
- PaymentListService.decorators = [
42
- { type: Injectable, args: [{
43
- providedIn: 'root'
44
- },] }
45
- ];
46
- /** @nocollapse */
47
27
  PaymentListService.ctorParameters = function () { return [
48
28
  { type: HttpClient },
49
29
  { type: LoggerService },
50
30
  { type: ErrorHandlerService },
51
31
  { type: PaymentLibService }
52
32
  ]; };
53
- /** @nocollapse */ PaymentListService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PaymentListService_Factory() { return new PaymentListService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.LoggerService), i0.ɵɵinject(i3.ErrorHandlerService), i0.ɵɵinject(i4.PaymentLibService)); }, token: PaymentListService, providedIn: "root" });
33
+ PaymentListService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PaymentListService_Factory() { return new PaymentListService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.LoggerService), i0.ɵɵinject(i3.ErrorHandlerService), i0.ɵɵinject(i4.PaymentLibService)); }, token: PaymentListService, providedIn: "root" });
34
+ PaymentListService = __decorate([
35
+ Injectable({
36
+ providedIn: 'root'
37
+ }),
38
+ __metadata("design:paramtypes", [HttpClient,
39
+ LoggerService,
40
+ ErrorHandlerService,
41
+ PaymentLibService])
42
+ ], PaymentListService);
54
43
  return PaymentListService;
55
44
  }());
56
45
  export { PaymentListService };
57
- if (false) {
58
- /** @type {?} */
59
- PaymentListService.prototype.payments;
60
- /**
61
- * @type {?}
62
- * @private
63
- */
64
- PaymentListService.prototype.http;
65
- /**
66
- * @type {?}
67
- * @private
68
- */
69
- PaymentListService.prototype.logger;
70
- /**
71
- * @type {?}
72
- * @private
73
- */
74
- PaymentListService.prototype.errorHandlerService;
75
- /**
76
- * @type {?}
77
- * @private
78
- */
79
- PaymentListService.prototype.paymentLibService;
80
- }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LWxpc3QvcGF5bWVudC1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFFaEU7SUFNRSw0QkFBb0IsSUFBZ0IsRUFDaEIsTUFBcUIsRUFDckIsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUhwQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQzs7Ozs7O0lBRzdELHNEQUF5Qjs7Ozs7SUFBekIsVUFBMEIsYUFBcUIsRUFBRSxhQUFxQjtRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzREFBc0QsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUV4RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLGVBQVUsYUFBYSxjQUFXLEVBQUU7WUFDbEcsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FDSCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQzs7Z0JBckJGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBWFEsVUFBVTtnQkFPVixhQUFhO2dCQURiLG1CQUFtQjtnQkFIcEIsaUJBQWlCOzs7NkJBSnpCO0NBZ0NDLEFBdEJELElBc0JDO1NBbkJZLGtCQUFrQjs7O0lBQzdCLHNDQUFvQjs7Ozs7SUFFUixrQ0FBd0I7Ozs7O0lBQ3hCLG9DQUE2Qjs7Ozs7SUFDN0IsaURBQWdEOzs7OztJQUNoRCwrQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBheW1lbnRzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudExpc3RTZXJ2aWNlIHtcbiAgcGF5bWVudHM6IElQYXltZW50cztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuXG4gIGdldFBheW1lbnRCeUNjZENhc2VOdW1iZXIoY2NkQ2FzZU51bWJlcjogc3RyaW5nLCBwYXltZW50TWV0aG9kOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50cz4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtbGlzdC1zZXJ2aWNlIGdldFBheW1lbnRCeUNjZENhc2VOdW1iZXIgZm9yOiAnLCBjY2RDYXNlTnVtYmVyKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50cz4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZXMvJHtjY2RDYXNlTnVtYmVyfS9wYXltZW50c2AsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LWxpc3QvcGF5bWVudC1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQUtoRTtJQUdFLDRCQUFvQixJQUFnQixFQUNoQixNQUFxQixFQUNyQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBSHBDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRzdELHNEQUF5QixHQUF6QixVQUEwQixhQUFxQixFQUFFLGFBQXFCO1FBQ3BFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRXhGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsZUFBVSxhQUFhLGNBQVcsRUFBRTtZQUNsRyxlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO2FBQ0QsSUFBSSxDQUNILFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDTixDQUFDOztnQkFmeUIsVUFBVTtnQkFDUixhQUFhO2dCQUNBLG1CQUFtQjtnQkFDckIsaUJBQWlCOzs7SUFON0Msa0JBQWtCO1FBSDlCLFVBQVUsQ0FBQztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7eUNBSTBCLFVBQVU7WUFDUixhQUFhO1lBQ0EsbUJBQW1CO1lBQ3JCLGlCQUFpQjtPQU43QyxrQkFBa0IsQ0FtQjlCOzZCQWhDRDtDQWdDQyxBQW5CRCxJQW1CQztTQW5CWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBheW1lbnRzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUGF5bWVudHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudExpc3RTZXJ2aWNlIHtcbiAgcGF5bWVudHM6IElQYXltZW50cztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuXG4gIGdldFBheW1lbnRCeUNjZENhc2VOdW1iZXIoY2NkQ2FzZU51bWJlcjogc3RyaW5nLCBwYXltZW50TWV0aG9kOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElQYXltZW50cz4ge1xuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1BheW1lbnQtbGlzdC1zZXJ2aWNlIGdldFBheW1lbnRCeUNjZENhc2VOdW1iZXIgZm9yOiAnLCBjY2RDYXNlTnVtYmVyKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElQYXltZW50cz4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZXMvJHtjY2RDYXNlTnVtYmVyfS9wYXltZW50c2AsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -1,10 +1,6 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/payment-view/payment-view.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
1
+ import { __decorate, __metadata } from "tslib";
6
2
  import { Injectable } from '@angular/core';
7
- import { HttpClient } from '@angular/common/http';
3
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
8
4
  import { PaymentLibService } from '../../payment-lib.service';
9
5
  import { WebComponentHttpClient } from '../shared/httpclient/webcomponent.http.client';
10
6
  import { ErrorHandlerService } from '../shared/error-handler.service';
@@ -24,19 +20,9 @@ var PaymentViewService = /** @class */ (function () {
24
20
  this.logger = logger;
25
21
  this.errorHandlerService = errorHandlerService;
26
22
  this.paymentLibService = paymentLibService;
27
- this.ordersList = (/** @type {?} */ (new BehaviorSubject([])));
23
+ this.ordersList = new BehaviorSubject([]);
28
24
  }
29
- /**
30
- * @param {?} paymentReference
31
- * @param {?} paymentMethod
32
- * @return {?}
33
- */
34
- PaymentViewService.prototype.getPaymentDetails = /**
35
- * @param {?} paymentReference
36
- * @param {?} paymentMethod
37
- * @return {?}
38
- */
39
- function (paymentReference, paymentMethod) {
25
+ PaymentViewService.prototype.getPaymentDetails = function (paymentReference, paymentMethod) {
40
26
  this.logger.info('Payment-view-service getPaymentDetails for: ', paymentReference);
41
27
  return this.http.get(paymentMethod === 'card' || paymentMethod === 'cash' || paymentMethod === 'cheque' || paymentMethod === 'postal order' ?
42
28
  this.paymentLibService.API_ROOT + "/card-payments/" + paymentReference :
@@ -45,327 +31,101 @@ var PaymentViewService = /** @class */ (function () {
45
31
  })
46
32
  .pipe(catchError(this.errorHandlerService.handleError));
47
33
  };
48
- /**
49
- * @param {?} paymentGroupReference
50
- * @return {?}
51
- */
52
- PaymentViewService.prototype.getPaymentGroupDetails = /**
53
- * @param {?} paymentGroupReference
54
- * @return {?}
55
- */
56
- function (paymentGroupReference) {
34
+ PaymentViewService.prototype.getPaymentGroupDetails = function (paymentGroupReference) {
57
35
  this.logger.info('Payment-view-service getPaymentGroupDetails for: ', paymentGroupReference);
58
36
  return this.http.get(this.paymentLibService.API_ROOT + "/payment-groups/" + paymentGroupReference, {
59
37
  withCredentials: true
60
38
  })
61
39
  .pipe(catchError(this.errorHandlerService.handleError));
62
40
  };
63
- /**
64
- * @param {?} paymentReference
65
- * @return {?}
66
- */
67
- PaymentViewService.prototype.getApportionPaymentDetails = /**
68
- * @param {?} paymentReference
69
- * @return {?}
70
- */
71
- function (paymentReference) {
41
+ PaymentViewService.prototype.getApportionPaymentDetails = function (paymentReference) {
72
42
  this.logger.info('Payment-view-service getPaymentGroupDetails for: ', paymentReference);
73
43
  return this.http.get(this.paymentLibService.API_ROOT + "/payment-groups/fee-pay-apportion/" + paymentReference, {
74
44
  withCredentials: true
75
45
  })
76
46
  .pipe(catchError(this.errorHandlerService.handleError));
77
47
  };
78
- /**
79
- * @return {?}
80
- */
81
- PaymentViewService.prototype.getPBAaccountDetails = /**
82
- * @return {?}
83
- */
84
- function () {
85
- /** @type {?} */
48
+ PaymentViewService.prototype.getPBAaccountDetails = function () {
86
49
  var url = this.paymentLibService.API_ROOT + "/pba-accounts";
87
50
  return this.http.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
88
51
  };
89
- /**
90
- * @param {?} serviceRef
91
- * @param {?} body
92
- * @return {?}
93
- */
94
- PaymentViewService.prototype.postWays2PayCardPayment = /**
95
- * @param {?} serviceRef
96
- * @param {?} body
97
- * @return {?}
98
- */
99
- function (serviceRef, body) {
100
- /** @type {?} */
52
+ PaymentViewService.prototype.postWays2PayCardPayment = function (serviceRef, body) {
101
53
  var url = this.paymentLibService.API_ROOT + "/service-request/" + serviceRef + "/card-payments";
102
- /** @type {?} */
103
54
  var rurl = this.paymentLibService.CARDPAYMENTRETURNURL.replace('.prod', '');
104
55
  body['return-url'] = rurl + "/payment";
105
56
  return this.https.post(url, body).pipe(catchError(this.errorHandlerService.handleError));
106
57
  };
107
- /**
108
- * @param {?} serviceRef
109
- * @param {?} body
110
- * @return {?}
111
- */
112
- PaymentViewService.prototype.postPBAaccountPayment = /**
113
- * @param {?} serviceRef
114
- * @param {?} body
115
- * @return {?}
116
- */
117
- function (serviceRef, body) {
118
- /** @type {?} */
58
+ PaymentViewService.prototype.postPBAaccountPayment = function (serviceRef, body) {
119
59
  var randomKey = 'idam-key-' + Math.random().toString().split('.').join('-');
120
60
  body['idempotency_key'] = randomKey;
121
- /** @type {?} */
122
61
  var url = this.paymentLibService.API_ROOT + "/service-request/" + serviceRef + "/pba-payments";
123
62
  return this.https.post(url, body);
124
63
  };
125
- /**
126
- * @param {?} body
127
- * @return {?}
128
- */
129
- PaymentViewService.prototype.postBSPayments = /**
130
- * @param {?} body
131
- * @return {?}
132
- */
133
- function (body) {
64
+ PaymentViewService.prototype.postBSPayments = function (body) {
134
65
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-groups/bulk-scan-payments", body).pipe(catchError(this.errorHandlerService.handleError));
135
66
  };
136
- /**
137
- * @param {?} body
138
- * @return {?}
139
- */
140
- PaymentViewService.prototype.postBSUnidentifiedPayments = /**
141
- * @param {?} body
142
- * @return {?}
143
- */
144
- function (body) {
67
+ PaymentViewService.prototype.postBSUnidentifiedPayments = function (body) {
145
68
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-allocations", body).pipe(catchError(this.errorHandlerService.handleError));
146
69
  };
147
- /**
148
- * @param {?} body
149
- * @return {?}
150
- */
151
- PaymentViewService.prototype.postBSUnsolicitedPayments = /**
152
- * @param {?} body
153
- * @return {?}
154
- */
155
- function (body) {
70
+ PaymentViewService.prototype.postBSUnsolicitedPayments = function (body) {
156
71
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-allocations", body).pipe(catchError(this.errorHandlerService.handleError));
157
72
  };
158
- /**
159
- * @param {?} body
160
- * @return {?}
161
- */
162
- PaymentViewService.prototype.postBSAllocationPayments = /**
163
- * @param {?} body
164
- * @return {?}
165
- */
166
- function (body) {
73
+ PaymentViewService.prototype.postBSAllocationPayments = function (body) {
167
74
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-allocations", body).pipe(catchError(this.errorHandlerService.handleError));
168
75
  };
169
- /**
170
- * @param {?} paymentGroupReference
171
- * @param {?} feeId
172
- * @param {?} body
173
- * @return {?}
174
- */
175
- PaymentViewService.prototype.postPaymentGroupWithRemissions = /**
176
- * @param {?} paymentGroupReference
177
- * @param {?} feeId
178
- * @param {?} body
179
- * @return {?}
180
- */
181
- function (paymentGroupReference, feeId, body) {
76
+ PaymentViewService.prototype.postPaymentGroupWithRemissions = function (paymentGroupReference, feeId, body) {
182
77
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-groups/" + paymentGroupReference + "/fees/" + feeId + "/remissions", body).pipe(catchError(this.errorHandlerService.handleError));
183
78
  };
184
- /**
185
- * @param {?} feeId
186
- * @return {?}
187
- */
188
- PaymentViewService.prototype.deleteFeeFromPaymentGroup = /**
189
- * @param {?} feeId
190
- * @return {?}
191
- */
192
- function (feeId) {
79
+ PaymentViewService.prototype.deleteFeeFromPaymentGroup = function (feeId) {
193
80
  this.logger.info('Payment-view-service deleteFeeFromPaymentGroup for: ', feeId);
194
81
  return this.https.delete(this.paymentLibService.API_ROOT + "/fees/" + feeId).pipe(catchError(this.errorHandlerService.handleError));
195
82
  };
196
- /**
197
- * @param {?} body
198
- * @param {?} paymentGroupRef
199
- * @return {?}
200
- */
201
- PaymentViewService.prototype.postPaymentToPayHub = /**
202
- * @param {?} body
203
- * @param {?} paymentGroupRef
204
- * @return {?}
205
- */
206
- function (body, paymentGroupRef) {
83
+ PaymentViewService.prototype.postPaymentToPayHub = function (body, paymentGroupRef) {
207
84
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-groups/" + paymentGroupRef + "/card-payments", body).pipe(catchError(this.errorHandlerService.handleError));
208
85
  };
209
- /**
210
- * @param {?} body
211
- * @param {?} paymentGroupRef
212
- * @return {?}
213
- */
214
- PaymentViewService.prototype.postPaymentAntennaToPayHub = /**
215
- * @param {?} body
216
- * @param {?} paymentGroupRef
217
- * @return {?}
218
- */
219
- function (body, paymentGroupRef) {
86
+ PaymentViewService.prototype.postPaymentAntennaToPayHub = function (body, paymentGroupRef) {
220
87
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-groups/" + paymentGroupRef + "/telephony-card-payments", body).pipe(catchError(this.errorHandlerService.handleError));
221
88
  };
222
- /**
223
- * @param {?} reportName
224
- * @param {?} startDate
225
- * @param {?} endDate
226
- * @return {?}
227
- */
228
- PaymentViewService.prototype.downloadSelectedReport = /**
229
- * @param {?} reportName
230
- * @param {?} startDate
231
- * @param {?} endDate
232
- * @return {?}
233
- */
234
- function (reportName, startDate, endDate) {
235
- /** @type {?} */
89
+ PaymentViewService.prototype.downloadSelectedReport = function (reportName, startDate, endDate) {
236
90
  var url = this.paymentLibService.API_ROOT + "/report/data?date_from=" + startDate + "&date_to=" + endDate + "&report_type=" + reportName;
237
91
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
238
92
  };
239
- /**
240
- * @param {?} startDate
241
- * @param {?} endDate
242
- * @return {?}
243
- */
244
- PaymentViewService.prototype.downloadFailureReport = /**
245
- * @param {?} startDate
246
- * @param {?} endDate
247
- * @return {?}
248
- */
249
- function (startDate, endDate) {
250
- /** @type {?} */
93
+ PaymentViewService.prototype.downloadFailureReport = function (startDate, endDate) {
251
94
  var url = this.paymentLibService.API_ROOT + "/payment-failures/failure-report?date_from=" + startDate + "&date_to=" + endDate;
252
95
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
253
96
  };
254
- /**
255
- * @return {?}
256
- */
257
- PaymentViewService.prototype.getBSfeature = /**
258
- * @return {?}
259
- */
260
- function () {
97
+ PaymentViewService.prototype.getBSfeature = function () {
261
98
  return this.https.get('api/payment-history/bulk-scan-feature', { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
262
99
  };
263
- /**
264
- * @return {?}
265
- */
266
- PaymentViewService.prototype.getSiteID = /**
267
- * @return {?}
268
- */
269
- function () {
100
+ PaymentViewService.prototype.getSiteID = function () {
270
101
  return this.https.get('api/payment-history/refdata/legacy-sites', { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
271
102
  };
272
- /**
273
- * @param {?} caseNumber
274
- * @return {?}
275
- */
276
- PaymentViewService.prototype.getPartyDetails = /**
277
- * @param {?} caseNumber
278
- * @return {?}
279
- */
280
- function (caseNumber) {
281
- /** @type {?} */
103
+ PaymentViewService.prototype.getPartyDetails = function (caseNumber) {
282
104
  var url = this.paymentLibService.API_ROOT + "/case-payment-orders?case_ids=" + caseNumber;
283
105
  return this.https.get(url, { withCredentials: true }).pipe(catchError(this.errorHandlerService.handleError));
284
106
  };
285
- /**
286
- * @param {?} orderLevelFees
287
- * @return {?}
288
- */
289
- PaymentViewService.prototype.setOrdersList = /**
290
- * @param {?} orderLevelFees
291
- * @return {?}
292
- */
293
- function (orderLevelFees) {
107
+ PaymentViewService.prototype.setOrdersList = function (orderLevelFees) {
294
108
  this.ordersList.next(Object.assign([], orderLevelFees));
295
109
  };
296
- /**
297
- * @return {?}
298
- */
299
- PaymentViewService.prototype.getOrdersList = /**
300
- * @return {?}
301
- */
302
- function () {
110
+ PaymentViewService.prototype.getOrdersList = function () {
303
111
  return this.ordersList;
304
112
  };
305
113
  //issue refund
306
- //issue refund
307
- /**
308
- * @param {?} body
309
- * @return {?}
310
- */
311
- PaymentViewService.prototype.postRefundsReason =
312
- //issue refund
313
- /**
314
- * @param {?} body
315
- * @return {?}
316
- */
317
- function (body) {
114
+ PaymentViewService.prototype.postRefundsReason = function (body) {
318
115
  return this.https.post(this.paymentLibService.API_ROOT + "/refund-for-payment", body).pipe(catchError(this.errorHandlerService.handleError));
319
116
  };
320
117
  // retro remissions
321
- // retro remissions
322
- /**
323
- * @param {?} paymentGroupReference
324
- * @param {?} feeId
325
- * @param {?} body
326
- * @return {?}
327
- */
328
- PaymentViewService.prototype.postPaymentGroupWithRetroRemissions =
329
- // retro remissions
330
- /**
331
- * @param {?} paymentGroupReference
332
- * @param {?} feeId
333
- * @param {?} body
334
- * @return {?}
335
- */
336
- function (paymentGroupReference, feeId, body) {
118
+ PaymentViewService.prototype.postPaymentGroupWithRetroRemissions = function (paymentGroupReference, feeId, body) {
337
119
  return this.https.post(this.paymentLibService.API_ROOT + "/payment-groups/" + paymentGroupReference + "/fees/" + feeId + "/retro-remission", body).pipe(catchError(this.errorHandlerService.handleError));
338
120
  };
339
- /**
340
- * @param {?} body
341
- * @return {?}
342
- */
343
- PaymentViewService.prototype.postRefundRetroRemission = /**
344
- * @param {?} body
345
- * @return {?}
346
- */
347
- function (body) {
121
+ PaymentViewService.prototype.postRefundRetroRemission = function (body) {
348
122
  return this.https.post(this.paymentLibService.API_ROOT + "/refund-retro-remission", body).pipe(catchError(this.errorHandlerService.handleError));
349
123
  };
350
- /**
351
- * @param {?} paymentReference
352
- * @return {?}
353
- */
354
- PaymentViewService.prototype.getPaymentFailure = /**
355
- * @param {?} paymentReference
356
- * @return {?}
357
- */
358
- function (paymentReference) {
124
+ PaymentViewService.prototype.getPaymentFailure = function (paymentReference) {
359
125
  return this.https.get(this.paymentLibService.API_ROOT + "/payment-failures/" + paymentReference, {
360
126
  withCredentials: true
361
127
  }).pipe(catchError(this.errorHandlerService.handleError));
362
128
  };
363
- PaymentViewService.decorators = [
364
- { type: Injectable, args: [{
365
- providedIn: 'root'
366
- },] }
367
- ];
368
- /** @nocollapse */
369
129
  PaymentViewService.ctorParameters = function () { return [
370
130
  { type: HttpClient },
371
131
  { type: WebComponentHttpClient },
@@ -373,45 +133,18 @@ var PaymentViewService = /** @class */ (function () {
373
133
  { type: ErrorHandlerService },
374
134
  { type: PaymentLibService }
375
135
  ]; };
376
- /** @nocollapse */ PaymentViewService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function PaymentViewService_Factory() { return new PaymentViewService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.WebComponentHttpClient), i0.ɵɵinject(i3.LoggerService), i0.ɵɵinject(i4.ErrorHandlerService), i0.ɵɵinject(i5.PaymentLibService)); }, token: PaymentViewService, providedIn: "root" });
136
+ PaymentViewService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PaymentViewService_Factory() { return new PaymentViewService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.WebComponentHttpClient), i0.ɵɵinject(i3.LoggerService), i0.ɵɵinject(i4.ErrorHandlerService), i0.ɵɵinject(i5.PaymentLibService)); }, token: PaymentViewService, providedIn: "root" });
137
+ PaymentViewService = __decorate([
138
+ Injectable({
139
+ providedIn: 'root'
140
+ }),
141
+ __metadata("design:paramtypes", [HttpClient,
142
+ WebComponentHttpClient,
143
+ LoggerService,
144
+ ErrorHandlerService,
145
+ PaymentLibService])
146
+ ], PaymentViewService);
377
147
  return PaymentViewService;
378
148
  }());
379
149
  export { PaymentViewService };
380
- if (false) {
381
- /**
382
- * @type {?}
383
- * @private
384
- */
385
- PaymentViewService.prototype.ordersList;
386
- /**
387
- * @type {?}
388
- * @private
389
- */
390
- PaymentViewService.prototype.meta;
391
- /**
392
- * @type {?}
393
- * @private
394
- */
395
- PaymentViewService.prototype.http;
396
- /**
397
- * @type {?}
398
- * @private
399
- */
400
- PaymentViewService.prototype.https;
401
- /**
402
- * @type {?}
403
- * @private
404
- */
405
- PaymentViewService.prototype.logger;
406
- /**
407
- * @type {?}
408
- * @private
409
- */
410
- PaymentViewService.prototype.errorHandlerService;
411
- /**
412
- * @type {?}
413
- * @private
414
- */
415
- PaymentViewService.prototype.paymentLibService;
416
- }
417
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUkvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBV2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFTdkM7SUFRRSw0QkFBb0IsSUFBZ0IsRUFDaEIsS0FBNkIsRUFDN0IsTUFBcUIsRUFDckIsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUpwQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUmhELGVBQVUsR0FBSSxtQkFBdUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUEsQ0FBQztJQVF6QixDQUFDOzs7Ozs7SUFFN0QsOENBQWlCOzs7OztJQUFqQixVQUFrQixnQkFBd0IsRUFBRSxhQUFxQjtRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFD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aURBQWdEOzs7OztJQUNoRCwrQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQge0lQYXltZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQ29tcG9uZW50SHR0cENsaWVudCB9IGZyb20gJy4uL3NoYXJlZC9odHRwY2xpZW50L3dlYmNvbXBvbmVudC5odHRwLmNsaWVudCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQWRkUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFBheWh1YkFudGVubmFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXlodWJBbnRlbm5hUmVxdWVzdCc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHtJT3JkZXJSZWZlcmVuY2VGZWV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSU9yZGVyUmVmZXJlbmNlRmVlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQnO1xuaW1wb3J0IHsgUmVmdW5kc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlZnVuZHNSZXF1ZXN0JztcbmltcG9ydCB7IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBlcnJvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy91dGlsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0ICA9IDxCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+Pm5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gIHByaXZhdGUgbWV0YTogTWV0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cHM6IFdlYkNvbXBvbmVudEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuICBnZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRNZXRob2Q6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnQ+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50RGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KHBheW1lbnRNZXRob2QgPT09ICdjYXJkJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2FzaCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2NoZXF1ZScgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ3Bvc3RhbCBvcmRlcicgP1xuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NhcmQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAgOlxuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NyZWRpdC1hY2NvdW50LXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBnZXRQYXltZW50R3JvdXBEZXRhaWxzKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRHcm91cFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbiAgZ2V0QXBwb3J0aW9uUGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2ZlZS1wYXktYXBwb3J0aW9uLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuICBnZXRQQkFhY2NvdW50RGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BiYS1hY2NvdW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0V2F5czJQYXlDYXJkUGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9jYXJkLXBheW1lbnRzYDtcbiAgICBjb25zdCBydXJsID0gdGhpcy5wYXltZW50TGliU2VydmljZS5DQVJEUEFZTUVOVFJFVFVSTlVSTC5yZXBsYWNlKCcucHJvZCcsICcnKTtcbiAgICBib2R5WydyZXR1cm4tdXJsJ10gPSBgJHtydXJsfS9wYXltZW50YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCByYW5kb21LZXkgPSAnaWRhbS1rZXktJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zcGxpdCgnLicpLmpvaW4oJy0nKTtcbiAgICBib2R5WydpZGVtcG90ZW5jeV9rZXknXSA9IHJhbmRvbUtleTsgXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vc2VydmljZS1yZXF1ZXN0LyR7c2VydmljZVJlZn0vcGJhLXBheW1lbnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSk7XG4gIH1cblxuICBwb3N0QlNQYXltZW50cyhib2R5OiBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2J1bGstc2Nhbi1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1VuaWRlbnRpZmllZFBheW1lbnRzKGJvZHk6IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5zb2xpY2l0ZWRQYXltZW50cyhib2R5OiBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTQWxsb2NhdGlvblBheW1lbnRzKGJvZHk6IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50R3JvdXBXaXRoUmVtaXNzaW9ucyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZywgZmVlSWQ6IG51bWJlciwgYm9keTogQWRkUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZW1pc3Npb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwKGZlZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwIGZvcjogJywgZmVlSWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmRlbGV0ZShgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9mZWVzLyR7ZmVlSWR9YCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdFBheW1lbnRUb1BheUh1Yihib2R5OiBQYXltZW50VG9QYXlodWJSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRBbnRlbm5hVG9QYXlIdWIoYm9keTogUGF5aHViQW50ZW5uYVJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS90ZWxlcGhvbnktY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIGRvd25sb2FkU2VsZWN0ZWRSZXBvcnQocmVwb3J0TmFtZTogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlcG9ydC9kYXRhP2RhdGVfZnJvbT0ke3N0YXJ0RGF0ZX0mZGF0ZV90bz0ke2VuZERhdGV9JnJlcG9ydF90eXBlPSR7cmVwb3J0TmFtZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZG93bmxvYWRGYWlsdXJlUmVwb3J0KHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1mYWlsdXJlcy9mYWlsdXJlLXJlcG9ydD9kYXRlX2Zyb209JHtzdGFydERhdGV9JmRhdGVfdG89JHtlbmREYXRlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRCU2ZlYXR1cmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvYnVsay1zY2FuLWZlYXR1cmUnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFNpdGVJRCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9yZWZkYXRhL2xlZ2FjeS1zaXRlcycsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0UGFydHlEZXRhaWxzKGNhc2VOdW1iZXI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZS1wYXltZW50LW9yZGVycz9jYXNlX2lkcz0ke2Nhc2VOdW1iZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIFxuICBzZXRPcmRlcnNMaXN0KG9yZGVyTGV2ZWxGZWVzOiBJT3JkZXJSZWZlcmVuY2VGZWVbXSk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJzTGlzdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIG9yZGVyTGV2ZWxGZWVzKSk7XG59XG4gIGdldE9yZGVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJzTGlzdDtcbiAgfVxuXG4gIC8vaXNzdWUgcmVmdW5kXG4gIHBvc3RSZWZ1bmRzUmVhc29uKGJvZHk6IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtZm9yLXBheW1lbnRgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIC8vIHJldHJvIHJlbWlzc2lvbnNcbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZXRyb1JlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbihib2R5OlBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiBnZXRQYXltZW50RmFpbHVyZShwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWZhaWx1cmVzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxufVxuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvY2NwYXktd2ViLWNvbXBvbmVudC8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9wYXltZW50LXZpZXcvcGF5bWVudC12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUkvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBV2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFZdkM7SUFLRSw0QkFBb0IsSUFBZ0IsRUFDaEIsS0FBNkIsRUFDN0IsTUFBcUIsRUFDckIsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUpwQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUmhELGVBQVUsR0FBMkMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFRekIsQ0FBQztJQUU3RCw4Q0FBaUIsR0FBakIsVUFBa0IsZ0JBQXdCLEVBQUUsYUFBcUI7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOENBQThDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUVuRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFXLGFBQWEsS0FBSyxNQUFNLElBQUksYUFBYSxLQUFLLE1BQU0sSUFBSSxhQUFhLEtBQUssUUFBUSxJQUFJLGFBQWEsS0FBSyxjQUFjLENBQUMsQ0FBQztZQUM5SSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSx1QkFBa0IsZ0JBQWtCLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxpQ0FBNEIsZ0JBQWtCLEVBQUU7WUFDcEYsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FDSCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVELG1EQUFzQixHQUF0QixVQUF1QixxQkFBNkI7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbURBQW1ELEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUU3RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHdCQUFtQixxQkFBdUIsRUFBRTtZQUMzRyxlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO2FBQ0MsSUFBSSxDQUNILFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDTixDQUFDO0lBQ0QsdURBQTBCLEdBQTFCLFVBQTJCLGdCQUF3QjtRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtREFBbUQsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsMENBQXFDLGdCQUFrQixFQUFFO1lBQ3hILGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUM7YUFDQyxJQUFJLENBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNOLENBQUM7SUFDRCxpREFBb0IsR0FBcEI7UUFDRSxJQUFNLEdBQUcsR0FBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxrQkFBZSxDQUFDO1FBQzlELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNyRCxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVELG9EQUF1QixHQUF2QixVQUF3QixVQUFrQixFQUFFLElBQWdDO1FBQzFFLElBQU0sR0FBRyxHQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHlCQUFvQixVQUFVLG1CQUFnQixDQUFDO1FBQzdGLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBTSxJQUFJLGFBQVUsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3BDLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsa0RBQXFCLEdBQXJCLFVBQXNCLFVBQWtCLEVBQUUsSUFBK0I7UUFDdkUsSUFBSSxTQUFTLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxJQUFNLEdBQUcsR0FBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSx5QkFBb0IsVUFBVSxrQkFBZSxDQUFDO1FBQzVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCwyQ0FBYyxHQUFkLFVBQWUsSUFBNEI7UUFDekMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSx1Q0FBb0MsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3ZHLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBQ0QsdURBQTBCLEdBQTFCLFVBQTJCLElBQWlDO1FBQzFELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEseUJBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN6RixVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUNELHNEQUF5QixHQUF6QixVQUEwQixJQUFnQztRQUN4RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHlCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDekYsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFDRCxxREFBd0IsR0FBeEIsVUFBeUIsSUFBZ0M7UUFDdkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSx5QkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3pGLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsMkRBQThCLEdBQTlCLFVBQStCLHFCQUE2QixFQUFFLEtBQWEsRUFBRSxJQUF5QjtRQUNwRyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLHdCQUFtQixxQkFBcUIsY0FBUyxLQUFLLGdCQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN0SSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELHNEQUF5QixHQUF6QixVQUEwQixLQUFhO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNEQUFzRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsY0FBUyxLQUFPLENBQUMsQ0FBQyxJQUFJLENBQy9FLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBQ0QsZ0RBQW1CLEdBQW5CLFVBQW9CLElBQTRCLEVBQUUsZUFBdUI7UUFDdkUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSx3QkFBbUIsZUFBZSxtQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3JILFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsdURBQTBCLEdBQTFCLFVBQTJCLElBQTBCLEVBQUUsZUFBdUI7UUFDNUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSx3QkFBbUIsZUFBZSw2QkFBMEIsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQy9ILFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQ2pELENBQUM7SUFDSixDQUFDO0lBQ0QsbURBQXNCLEdBQXRCLFVBQXVCLFVBQWtCLEVBQUUsU0FBaUIsRUFBRSxPQUFjO1FBQzFFLElBQU0sR0FBRyxHQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLCtCQUEwQixTQUFTLGlCQUFZLE9BQU8scUJBQWdCLFVBQVksQ0FBQztRQUNqSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBRSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUNELGtEQUFxQixHQUFyQixVQUFzQixTQUFpQixFQUFFLE9BQWM7UUFDckQsSUFBTSxHQUFHLEdBQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsbURBQThDLFNBQVMsaUJBQVksT0FBUyxDQUFDO1FBQzNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBQ0QseUNBQVksR0FBWjtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsdUNBQXVDLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BKLENBQUM7SUFDRCxzQ0FBUyxHQUFUO1FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQywwQ0FBMEMsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBRSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDdkosQ0FBQztJQUNELDRDQUFlLEdBQWYsVUFBZ0IsVUFBa0I7UUFDaEMsSUFBTSxHQUFHLEdBQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsc0NBQWlDLFVBQVksQ0FBQztRQUM1RixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBRSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELDBDQUFhLEdBQWIsVUFBYyxjQUFvQztRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDQywwQ0FBYSxHQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsOENBQWlCLEdBQWpCLFVBQWtCLElBQThCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsd0JBQXFCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN4RixVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQjtJQUNuQixnRUFBbUMsR0FBbkMsVUFBb0MscUJBQTZCLEVBQUUsS0FBYSxFQUFFLElBQThCO1FBQzlHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsd0JBQW1CLHFCQUFxQixjQUFTLEtBQUsscUJBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMzSSxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELHFEQUF3QixHQUF4QixVQUF5QixJQUFrQztRQUN6RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLDRCQUF5QixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDNUYsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7SUFDRiw4Q0FBaUIsR0FBakIsVUFBa0IsZ0JBQXdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsMEJBQXFCLGdCQUFrQixFQUFFO1lBQy9GLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQ0wsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FDakQsQ0FBQztJQUNKLENBQUM7O2dCQTdKeUIsVUFBVTtnQkFDVCxzQkFBc0I7Z0JBQ3JCLGFBQWE7Z0JBQ0EsbUJBQW1CO2dCQUNyQixpQkFBaUI7OztJQVQ3QyxrQkFBa0I7UUFIOUIsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQzt5Q0FNMEIsVUFBVTtZQUNULHNCQUFzQjtZQUNyQixhQUFhO1lBQ0EsbUJBQW1CO1lBQ3JCLGlCQUFpQjtPQVQ3QyxrQkFBa0IsQ0FtSzlCOzZCQW5NRDtDQW1NQyxBQW5LRCxJQW1LQztTQW5LWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQge0lQYXltZW50fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50JztcbmltcG9ydCB7UGF5bWVudExpYlNlcnZpY2V9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQ29tcG9uZW50SHR0cENsaWVudCB9IGZyb20gJy4uL3NoYXJlZC9odHRwY2xpZW50L3dlYmNvbXBvbmVudC5odHRwLmNsaWVudCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtJUGF5bWVudEdyb3VwfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50R3JvdXAnO1xuaW1wb3J0IHsgQWRkUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmVtaXNzaW9uUmVxdWVzdCc7XG5pbXBvcnQgeyBQYXltZW50VG9QYXlodWJSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXltZW50VG9QYXlodWJSZXF1ZXN0JztcbmltcG9ydCB7IFBheWh1YkFudGVubmFSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9QYXlodWJBbnRlbm5hUmVxdWVzdCc7XG5pbXBvcnQgeyBVbmlkZW50aWZpZWRQYXltZW50c1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1VuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCc7XG5pbXBvcnQgeyBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvVW5zb2xpY2l0ZWRQYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHsgTWV0YSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWxsb2NhdGVQYXltZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWxsb2NhdGVQYXltZW50UmVxdWVzdCc7XG5pbXBvcnQgeyBJQWxsb2NhdGlvblBheW1lbnRzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSUFsbG9jYXRpb25QYXltZW50c1JlcXVlc3QnO1xuaW1wb3J0IHtJT3JkZXJSZWZlcmVuY2VGZWV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSU9yZGVyUmVmZXJlbmNlRmVlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0UGJhUGF5bWVudCc7XG5pbXBvcnQgeyBJc2VydmljZVJlcXVlc3RDYXJkUGF5bWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSXNlcnZpY2VSZXF1ZXN0Q2FyZFBheW1lbnQnO1xuaW1wb3J0IHsgUmVmdW5kc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL1JlZnVuZHNSZXF1ZXN0JztcbmltcG9ydCB7IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvQWRkUmV0cm9SZW1pc3Npb25SZXF1ZXN0JztcbmltcG9ydCB7IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvUG9zdFJlZnVuZFJldHJvUmVtaXNzaW9uJztcbmltcG9ydCB7IFBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9Qb3N0SXNzdWVSZWZ1bmRSZXRyb1JlbWlzc2lvbic7XG5pbXBvcnQgeyBlcnJvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy91dGlsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudFZpZXdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcmRlcnNMaXN0ICA9IDxCZWhhdmlvclN1YmplY3Q8SU9yZGVyUmVmZXJlbmNlRmVlW10+Pm5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gIHByaXZhdGUgbWV0YTogTWV0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cHM6IFdlYkNvbXBvbmVudEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlclNlcnZpY2U6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYlNlcnZpY2U6IFBheW1lbnRMaWJTZXJ2aWNlKSB7IH1cblxuICBnZXRQYXltZW50RGV0YWlscyhwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRNZXRob2Q6IHN0cmluZyk6IE9ic2VydmFibGU8SVBheW1lbnQ+IHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBnZXRQYXltZW50RGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KHBheW1lbnRNZXRob2QgPT09ICdjYXJkJyB8fCBwYXltZW50TWV0aG9kID09PSAnY2FzaCcgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ2NoZXF1ZScgfHwgcGF5bWVudE1ldGhvZCA9PT0gJ3Bvc3RhbCBvcmRlcicgP1xuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NhcmQtcGF5bWVudHMvJHtwYXltZW50UmVmZXJlbmNlfWAgOlxuICAgICAgICAgIGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L2NyZWRpdC1hY2NvdW50LXBheW1lbnRzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBnZXRQYXltZW50R3JvdXBEZXRhaWxzKHBheW1lbnRHcm91cFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRHcm91cFJlZmVyZW5jZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJUGF5bWVudD4oYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1ncm91cHMvJHtwYXltZW50R3JvdXBSZWZlcmVuY2V9YCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cbiAgZ2V0QXBwb3J0aW9uUGF5bWVudERldGFpbHMocGF5bWVudFJlZmVyZW5jZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUGF5bWVudEdyb3VwPiB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnUGF5bWVudC12aWV3LXNlcnZpY2UgZ2V0UGF5bWVudEdyb3VwRGV0YWlscyBmb3I6ICcsIHBheW1lbnRSZWZlcmVuY2UpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVBheW1lbnQ+KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2ZlZS1wYXktYXBwb3J0aW9uLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICAgKTtcbiAgfVxuICBnZXRQQkFhY2NvdW50RGV0YWlscygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BiYS1hY2NvdW50c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICAgICk7XG4gIH1cblxuICBwb3N0V2F5czJQYXlDYXJkUGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdENhcmRQYXltZW50KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9zZXJ2aWNlLXJlcXVlc3QvJHtzZXJ2aWNlUmVmfS9jYXJkLXBheW1lbnRzYDtcbiAgICBjb25zdCBydXJsID0gdGhpcy5wYXltZW50TGliU2VydmljZS5DQVJEUEFZTUVOVFJFVFVSTlVSTC5yZXBsYWNlKCcucHJvZCcsICcnKTtcbiAgICBib2R5WydyZXR1cm4tdXJsJ10gPSBgJHtydXJsfS9wYXltZW50YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgXG4gIHBvc3RQQkFhY2NvdW50UGF5bWVudChzZXJ2aWNlUmVmOiBzdHJpbmcsIGJvZHk6IElzZXJ2aWNlUmVxdWVzdFBiYVBheW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCByYW5kb21LZXkgPSAnaWRhbS1rZXktJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zcGxpdCgnLicpLmpvaW4oJy0nKTtcbiAgICBib2R5WydpZGVtcG90ZW5jeV9rZXknXSA9IHJhbmRvbUtleTsgXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vc2VydmljZS1yZXF1ZXN0LyR7c2VydmljZVJlZn0vcGJhLXBheW1lbnRzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KHVybCwgYm9keSk7XG4gIH1cblxuICBwb3N0QlNQYXltZW50cyhib2R5OiBBbGxvY2F0ZVBheW1lbnRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzL2J1bGstc2Nhbi1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIHBvc3RCU1VuaWRlbnRpZmllZFBheW1lbnRzKGJvZHk6IFVuaWRlbnRpZmllZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTVW5zb2xpY2l0ZWRQYXltZW50cyhib2R5OiBVbnNvbGljaXRlZFBheW1lbnRzUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWFsbG9jYXRpb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdEJTQWxsb2NhdGlvblBheW1lbnRzKGJvZHk6IElBbGxvY2F0aW9uUGF5bWVudHNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtYWxsb2NhdGlvbnNgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RQYXltZW50R3JvdXBXaXRoUmVtaXNzaW9ucyhwYXltZW50R3JvdXBSZWZlcmVuY2U6IHN0cmluZywgZmVlSWQ6IG51bWJlciwgYm9keTogQWRkUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZW1pc3Npb25zYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cblxuICBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwKGZlZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKCdQYXltZW50LXZpZXctc2VydmljZSBkZWxldGVGZWVGcm9tUGF5bWVudEdyb3VwIGZvcjogJywgZmVlSWQpO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmRlbGV0ZShgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9mZWVzLyR7ZmVlSWR9YCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiAgcG9zdFBheW1lbnRUb1BheUh1Yihib2R5OiBQYXltZW50VG9QYXlodWJSZXF1ZXN0LCBwYXltZW50R3JvdXBSZWY6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZn0vY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG5cbiAgcG9zdFBheW1lbnRBbnRlbm5hVG9QYXlIdWIoYm9keTogUGF5aHViQW50ZW5uYVJlcXVlc3QsIHBheW1lbnRHcm91cFJlZjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5wb3N0KGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3BheW1lbnQtZ3JvdXBzLyR7cGF5bWVudEdyb3VwUmVmfS90ZWxlcGhvbnktY2FyZC1wYXltZW50c2AsIGJvZHkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcilcbiAgICApO1xuICB9XG4gIGRvd25sb2FkU2VsZWN0ZWRSZXBvcnQocmVwb3J0TmFtZTogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTpzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMucGF5bWVudExpYlNlcnZpY2UuQVBJX1JPT1R9L3JlcG9ydC9kYXRhP2RhdGVfZnJvbT0ke3N0YXJ0RGF0ZX0mZGF0ZV90bz0ke2VuZERhdGV9JnJlcG9ydF90eXBlPSR7cmVwb3J0TmFtZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCh1cmwsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZG93bmxvYWRGYWlsdXJlUmVwb3J0KHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOnN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vcGF5bWVudC1mYWlsdXJlcy9mYWlsdXJlLXJlcG9ydD9kYXRlX2Zyb209JHtzdGFydERhdGV9JmRhdGVfdG89JHtlbmREYXRlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMuZ2V0KHVybCwgeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSkucGlwZSggY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpKTtcbiAgfVxuICBnZXRCU2ZlYXR1cmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQoJ2FwaS9wYXltZW50LWhpc3RvcnkvYnVsay1zY2FuLWZlYXR1cmUnLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIGdldFNpdGVJRCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldCgnYXBpL3BheW1lbnQtaGlzdG9yeS9yZWZkYXRhL2xlZ2FjeS1zaXRlcycsIHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pLnBpcGUoIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKSk7XG4gIH1cbiAgZ2V0UGFydHlEZXRhaWxzKGNhc2VOdW1iZXI6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5wYXltZW50TGliU2VydmljZS5BUElfUk9PVH0vY2FzZS1wYXltZW50LW9yZGVycz9jYXNlX2lkcz0ke2Nhc2VOdW1iZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwcy5nZXQodXJsLCB7IHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS5waXBlKCBjYXRjaEVycm9yKHRoaXMuZXJyb3JIYW5kbGVyU2VydmljZS5oYW5kbGVFcnJvcikpO1xuICB9XG4gIFxuICBzZXRPcmRlcnNMaXN0KG9yZGVyTGV2ZWxGZWVzOiBJT3JkZXJSZWZlcmVuY2VGZWVbXSk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJzTGlzdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIG9yZGVyTGV2ZWxGZWVzKSk7XG59XG4gIGdldE9yZGVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JkZXJzTGlzdDtcbiAgfVxuXG4gIC8vaXNzdWUgcmVmdW5kXG4gIHBvc3RSZWZ1bmRzUmVhc29uKGJvZHk6IFBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtZm9yLXBheW1lbnRgLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIC8vIHJldHJvIHJlbWlzc2lvbnNcbiAgcG9zdFBheW1lbnRHcm91cFdpdGhSZXRyb1JlbWlzc2lvbnMocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIGZlZUlkOiBudW1iZXIsIGJvZHk6IEFkZFJldHJvUmVtaXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWdyb3Vwcy8ke3BheW1lbnRHcm91cFJlZmVyZW5jZX0vZmVlcy8ke2ZlZUlkfS9yZXRyby1yZW1pc3Npb25gLCBib2R5KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RSZWZ1bmRSZXRyb1JlbWlzc2lvbihib2R5OlBvc3RJc3N1ZVJlZnVuZFJldHJvUmVtaXNzaW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cHMucG9zdChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9yZWZ1bmQtcmV0cm8tcmVtaXNzaW9uYCwgYm9keSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5lcnJvckhhbmRsZXJTZXJ2aWNlLmhhbmRsZUVycm9yKVxuICAgICk7XG4gIH1cbiBnZXRQYXltZW50RmFpbHVyZShwYXltZW50UmVmZXJlbmNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBzLmdldChgJHt0aGlzLnBheW1lbnRMaWJTZXJ2aWNlLkFQSV9ST09UfS9wYXltZW50LWZhaWx1cmVzLyR7cGF5bWVudFJlZmVyZW5jZX1gLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IpXG4gICAgKTtcbiAgfVxufVxuIl19