ng-easycommerce 0.0.685 → 0.0.686

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 (40) hide show
  1. package/README.md +11 -0
  2. package/bundles/ng-easycommerce.umd.js +811 -641
  3. package/bundles/ng-easycommerce.umd.js.map +1 -1
  4. package/bundles/ng-easycommerce.umd.min.js +1 -1
  5. package/bundles/ng-easycommerce.umd.min.js.map +1 -1
  6. package/esm2015/lib/ec-component/checkout-ec/checkout-ec.component.js +22 -9
  7. package/esm2015/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +18 -5
  8. package/esm2015/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +11 -6
  9. package/esm2015/lib/ec-component/checkout-ec/shipment-ec-single/shipment-ec-single.component.js +13 -4
  10. package/esm2015/lib/interfaces/shipping-option.js +1 -0
  11. package/esm2015/lib/services/checkout/checkout.service.js +25 -12
  12. package/esm2015/lib/services/checkout/shipment.service.js +36 -8
  13. package/esm2015/lib/utils/order-util.service.js +41 -1
  14. package/esm2015/lib/utils/shipping-price-display.service.js +47 -0
  15. package/esm2015/public-api.js +2 -1
  16. package/esm5/lib/ec-component/checkout-ec/checkout-ec.component.js +22 -9
  17. package/esm5/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.js +18 -5
  18. package/esm5/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +13 -6
  19. package/esm5/lib/ec-component/checkout-ec/shipment-ec-single/shipment-ec-single.component.js +13 -4
  20. package/esm5/lib/interfaces/shipping-option.js +1 -0
  21. package/esm5/lib/services/checkout/checkout.service.js +27 -12
  22. package/esm5/lib/services/checkout/shipment.service.js +40 -10
  23. package/esm5/lib/utils/order-util.service.js +41 -1
  24. package/esm5/lib/utils/shipping-price-display.service.js +51 -0
  25. package/esm5/public-api.js +2 -1
  26. package/fesm2015/ng-easycommerce.js +775 -616
  27. package/fesm2015/ng-easycommerce.js.map +1 -1
  28. package/fesm5/ng-easycommerce.js +811 -642
  29. package/fesm5/ng-easycommerce.js.map +1 -1
  30. package/lib/ec-component/checkout-ec/checkout-ec.component.d.ts +5 -1
  31. package/lib/ec-component/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.d.ts +5 -1
  32. package/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.d.ts +4 -1
  33. package/lib/ec-component/checkout-ec/shipment-ec-single/shipment-ec-single.component.d.ts +4 -0
  34. package/lib/interfaces/shipping-option.d.ts +53 -0
  35. package/lib/services/checkout/shipment.service.d.ts +6 -1
  36. package/lib/utils/order-util.service.d.ts +20 -0
  37. package/lib/utils/shipping-price-display.service.d.ts +16 -0
  38. package/ng-easycommerce.metadata.json +1 -1
  39. package/package.json +1 -1
  40. package/public-api.d.ts +2 -0
@@ -9,12 +9,14 @@ import { ComponentHelper } from '../../../classes/component-helper';
9
9
  import { CheckoutService } from '../../../services/checkout/checkout.service';
10
10
  import { CartService } from '../../../services/cart.service';
11
11
  import { ChannelConfigService } from '../../../services/channel-config.service';
12
+ import { ShippingPriceDisplayService } from '../../../utils/shipping-price-display.service';
12
13
  let DetailCheckoutBlockEcComponent = class DetailCheckoutBlockEcComponent extends ComponentHelper {
13
- constructor(checkoutService, cartService, channelConfigService) {
14
+ constructor(checkoutService, cartService, channelConfigService, shippingPriceDisplay) {
14
15
  super();
15
16
  this.checkoutService = checkoutService;
16
17
  this.cartService = cartService;
17
18
  this.channelConfigService = channelConfigService;
19
+ this.shippingPriceDisplay = shippingPriceDisplay;
18
20
  this.data = null;
19
21
  this.discountTotal = 0;
20
22
  this.couponTotal = 0;
@@ -100,11 +102,22 @@ let DetailCheckoutBlockEcComponent = class DetailCheckoutBlockEcComponent extend
100
102
  const totalItem = (_a = this.data) === null || _a === void 0 ? void 0 : _a.find(dataItem => dataItem.type === 'total');
101
103
  return totalItem && item.amount === totalItem.amount;
102
104
  }
105
+ getAmountView(item) {
106
+ var _a, _b;
107
+ const originalShipmentAmount = ((_a = item) === null || _a === void 0 ? void 0 : _a.type) === 'shipment' ? this.getShipmentOriginalAmount() : null;
108
+ return this.shippingPriceDisplay.buildViewModel((_b = item) === null || _b === void 0 ? void 0 : _b.amount, originalShipmentAmount);
109
+ }
110
+ getShipmentOriginalAmount() {
111
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
112
+ const shipmentData = this.checkoutService.getStepData('shipment');
113
+ return this.shippingPriceDisplay.normalizePriceValue((_j = (_e = (_b = (_a = shipmentData) === null || _a === void 0 ? void 0 : _a.originalPrice, (_b !== null && _b !== void 0 ? _b : (_d = (_c = shipmentData) === null || _c === void 0 ? void 0 : _c.contract) === null || _d === void 0 ? void 0 : _d.originalPrice)), (_e !== null && _e !== void 0 ? _e : (_h = (_g = (_f = shipmentData) === null || _f === void 0 ? void 0 : _f.selected) === null || _g === void 0 ? void 0 : _g.contract) === null || _h === void 0 ? void 0 : _h.originalPrice)), (_j !== null && _j !== void 0 ? _j : null)));
114
+ }
103
115
  };
104
116
  DetailCheckoutBlockEcComponent.ctorParameters = () => [
105
117
  { type: CheckoutService },
106
118
  { type: CartService },
107
- { type: ChannelConfigService }
119
+ { type: ChannelConfigService },
120
+ { type: ShippingPriceDisplayService }
108
121
  ];
109
122
  __decorate([
110
123
  Input()
@@ -112,9 +125,9 @@ __decorate([
112
125
  DetailCheckoutBlockEcComponent = __decorate([
113
126
  Component({
114
127
  selector: 'app-detail-checkout-block-ec',
115
- template: "<div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\"\n *ngIf=\"data && (creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <ng-container *ngFor=\"let item of data; let i = index\">\n <ng-container *ngIf=\"shouldShowItem(item.type) && !shouldHideSubtotal(item)\">\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item)\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">\n {{ getTypeLabel(item.type) | translate }}\n </strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (item.amount != 0 ) ? (item.amount |\n ecCurrencySymbol:'alwaysShowDecimals') : ('free' | translate) }}</span>\n </div>\n </ng-container>\n\n\n <!-- Mostrar total de descuentos -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.discountTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('discount')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Descuento</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (this.discountTotal | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n\n <!-- Mostrar total de cupones -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.couponTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('coupon')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Cupon</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.couponTotal| ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideTaxes && this.clientTaxes != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('clienTaxe')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ 'clientTaxes' | translate }}</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.clientTaxes | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n </ng-container>\n</div>",
116
- styles: [""]
128
+ template: "<div id=\"appDetailCheckoutBlockEc\" class=\"d-flex flex-row w-100 justify-content-center flex-wrap\"\n *ngIf=\"data && (creditAccountShowPrices !== null ? creditAccountShowPrices : true)\">\n <ng-container *ngFor=\"let item of data; let i = index\">\n <ng-container *ngIf=\"shouldShowItem(item.type) && !shouldHideSubtotal(item)\">\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon(item)\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">\n {{ getTypeLabel(item.type) | translate }}\n </strong>\n <ng-container *ngIf=\"getAmountView(item) as priceView\">\n <span class=\"text-center w-100 font-brandon font-md text-gray resumen-price\"\n [class.resumen-price--discounted]=\"priceView.showOriginalPrice\"\n [class.resumen-price--free]=\"priceView.isFree\">\n <del *ngIf=\"priceView.showOriginalPrice\">\n {{ priceView.originalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </del>\n <strong>\n <ng-container *ngIf=\"priceView.isFree; else resumenPriceValue\">\n {{ 'free' | translate }}\n </ng-container>\n <ng-template #resumenPriceValue>\n {{ priceView.finalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </ng-template>\n </strong>\n </span>\n </ng-container>\n </div>\n </ng-container>\n\n\n <!-- Mostrar total de descuentos -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.discountTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('discount')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Descuento</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{ (this.discountTotal | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n\n <!-- Mostrar total de cupones -->\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideDiscounts && this.couponTotal != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('coupon')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">Cupon</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.couponTotal| ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n <div class=\"d-flex flex-column justify-content-center mx-sm-3 mx-2 text-center mb-4 resumen\"\n *ngIf=\"!hideTaxes && this.clientTaxes != 0 && i === 1\">\n <i ngClass=\"mb-2 colorIconoCheckout\" [class]=\"getIcon2('clienTaxe')\"></i>\n <strong class=\"text-center w-100 font-brandon font-md mb-1\">{{ 'clientTaxes' | translate }}</strong>\n <span class=\"text-center w-100 font-brandon font-md text-gray\">{{(this.clientTaxes | ecCurrencySymbol:'alwaysShowDecimals')\n }}</span>\n </div>\n </ng-container>\n</div>\n",
129
+ styles: [".resumen-price{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem}.resumen-price del{color:#888;font-weight:500;text-decoration-thickness:1px}.resumen-price strong{font-weight:700}.resumen-price--free strong{color:var(--ec-success,#198754)}"]
117
130
  })
118
131
  ], DetailCheckoutBlockEcComponent);
119
132
  export { DetailCheckoutBlockEcComponent };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY2hlY2tvdXQtZWMvZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBaUMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUluRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQU9oRixJQUFhLDhCQUE4QixHQUEzQyxNQUFhLDhCQUErQixTQUFRLGVBQWU7SUFZL0QsWUFBbUIsZUFBZ0MsRUFBVSxXQUF3QixFQUFTLG9CQUEwQztRQUNwSSxLQUFLLEVBQUUsQ0FBQztRQURPLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQVRqSSxTQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ1gsa0JBQWEsR0FBRyxDQUFDLENBQUE7UUFDakIsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFDZiw0QkFBdUIsR0FBbUIsSUFBSSxDQUFDO1FBQy9DLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUE4Q3RDLFlBQU8sR0FBRyxDQUFDLFNBQXVCLEVBQUUsRUFBRTtZQUVsQyxRQUFRLFNBQVMsQ0FBQyxJQUFJ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QUN4Qyx1c0ZBQXdEOztLQUUzRCxDQUFDO0dBQ1csOEJBQThCLENBMEcxQztTQTFHWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldGEsIFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgQ2hlY2tvdXREYXRhIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9jaGVja291dC1kYXRhJztcbmltcG9ydCB7IENoZWNrb3V0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoZWNrb3V0L2NoZWNrb3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZXRhaWwtY2hlY2tvdXQtYmxvY2stZWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsQ2hlY2tvdXRCbG9ja0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGFzb2NpYXRlZERhdGFcbiAgICBwdWJsaWMgZGF0YSA9IG51bGxcbiAgICBwdWJsaWMgZGlzY291bnRUb3RhbCA9IDBcbiAgICBwdWJsaWMgY291cG9uVG90YWwgPSAwXG4gICAgcHVibGljIGNyZWRpdEFjY291bnRTaG93UHJpY2VzOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGhpZGVEaXNjb3VudHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGlkZVRheGVzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dUYXhMZWdlbmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY2xpZW50VGF4ZXM6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSwgcHJpdmF0ZSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIHB1YmxpYyBjaGFubmVsQ29uZmlnU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lY09uQ29uc3RydWN0KCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFzb2NpYXRlZERhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuYXNvY2lhdGVkRGF0YTtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXJUb3RhbGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrb3V0U2VydmljZS5hc29jaWF0ZWREYXRhJC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGN1bGFyVG90YWxlcygpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5zaG93UHJpY2UkLnN1YnNjcmliZSgoc2hvd1ByaWNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWRpdEFjY291bnRTaG93UHJpY2VzID0gc2hvd1ByaWNlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJ0U2VydmljZS5nZXRDbGllbnRUYXhlcygpLnN1YnNjcmliZSgodGF4ZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xpZW50VGF4ZXMgPSB0YXhlcztcbiAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5jaGFubmVsQ29uZmlnJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICAgICAgICB0aGlzLmhpZGVEaXNjb3VudHMgPSBjaGFubmVsPy5oaWRlRGlzY291bnRzID8/IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGF4ZXMgPSBjaGFubmVsPy5oaWRlVGF4ZXMgPz8gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNob3dUYXhMZWdlbmQgPSBjaGFubmVsPy5zaG93VGF4TGVnZW5kID8/IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjYWxjdWxhclRvdGFsZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzY291bnRUb3RhbCA9IDA7XG4gICAgICAgIHRoaXMuY291cG9uVG90YWwgPSAwO1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2NvdW50VG90YWwgPSB0aGlzLmRhdGFcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnZGlzY291bnQnKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGFjYywgY3VycikgPT4gYWNjICsgY3Vyci5hbW91bnQsIDApO1xuXG4gICAgICAgICAgICB0aGlzLmNvdXBvblRvdGFsID0gdGhpcy5kYXRhXG4gICAgICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gJ2NvdXBvbicpXG4gICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyBjdXJyLmFtb3VudCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRJY29uID0gKGRhdGFfaXRlbTogQ2hlY2tvdXREYXRhKSA9PiB7XG5cbiAgICAgICAgc3dpdGNoIChkYXRhX2l0ZW0udHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY291cG9uJzogcmV0dXJuICdmYXMgZmEtdGlja2V0LWFsdCBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICdkaXNjb3VudCc6IHJldHVybiAnZmFzIGZhLXRhZ3MgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAnc2hpcG1lbnQnOiByZXR1cm4gJ2ZhcyBmYS1zaGlwcGluZy1mYXN0IGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ3N1YnRvdGFsJzogcmV0dXJuICdmYXMgZmEtYm94ZXMgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAndGF4ZXMnOiByZXR1cm4gJ2ZhcyBmYS1maWxlLWludm9pY2UtZG9sbGFyIGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ3RvdGFsJzogcmV0dXJuICdmYXMgZmEtc2hvcHBpbmctYmFza2V0IGZhLTJ4JztcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAnZmFzIGZhLXRhZ3MgZmEtMngnO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBnZXRJY29uMiA9IChkYXRhX3R5cGUpID0+IHtcbiAgICAgICAgc3dpdGNoIChkYXRhX3R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2NvdXBvbic6IHJldHVybiAnZmFzIGZhLXRpY2tldC1hbHQgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAnZGlzY291bnQnOiByZXR1cm4gJ2ZhcyBmYS10YWdzIGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ2NsaWVuVGF4ZSc6IHJldHVybiAnZmFzIGZhLXBlcmNlbnQgZmEtMngnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VHlwZUxhYmVsKHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0eXBlID09PSAndGF4ZXMnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zaG93VGF4TGVnZW5kID8gJ25hdGlvbmFsLXRheGVzJzogJ3RheGVzJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICBzaG91bGRTaG93SXRlbSh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHR5cGUgPT09ICdkaXNjb3VudCcgfHwgdHlwZSA9PT0gJ2NvdXBvbicpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHR5cGUgPT09ICd0YXhlcycpIHJldHVybiAhdGhpcy5oaWRlVGF4ZXM7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHNob3VsZEhpZGVTdWJ0b3RhbChpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGl0ZW0udHlwZSAhPT0gJ3N1YnRvdGFsJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25zdCB0b3RhbEl0ZW0gPSB0aGlzLmRhdGE/LmZpbmQoZGF0YUl0ZW0gPT4gZGF0YUl0ZW0udHlwZSA9PT0gJ3RvdGFsJyk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gdG90YWxJdGVtICYmIGl0ZW0uYW1vdW50ID09PSB0b3RhbEl0ZW0uYW1vdW50O1xuICAgIH1cbiAgICAvLyBjYXNlICdjb3Vwb24nOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvdGlja2V0LWFsdC5zdmcnO1xuICAgIC8vIGNhc2UgJ2Rpc2NvdW50JzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3RhZ3Muc3ZnJztcbiAgICAvLyBjYXNlICdzaGlwbWVudCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9zaGlwcGluZy1mYXN0LnN2Zyc7XG4gICAgLy8gY2FzZSAnc3VidG90YWwnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvYm94ZXMuc3ZnJztcbiAgICAvLyBjYXNlICd0YXhlcyc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9maWxlLWludm9pY2UtZG9sbGFyLnN2Zyc7XG4gICAgLy8gY2FzZSAndG90YWwnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvc2hvcHBpbmctYmFza2V0LnN2Zyc7XG4gICAgLy8gZGVmYXVsdDogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3Nob3BwaW5nLWJhc2tldC5zdmcnO1xufVxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY2hlY2tvdXQtZWMvZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBaUMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUluRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQU81RixJQUFhLDhCQUE4QixHQUEzQyxNQUFhLDhCQUErQixTQUFRLGVBQWU7SUFZL0QsWUFBbUIsZUFBZ0MsRUFBVSxXQUF3QixFQUFTLG9CQUEwQyxFQUM1SCxvQkFBaUQ7UUFDekQsS0FBSyxFQUFFLENBQUM7UUFGTyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDNUgseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQVZ0RCxTQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ1gsa0JBQWEsR0FBRyxDQUFDLENBQUE7UUFDakIsZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFDZiw0QkFBdUIsR0FBbUIsSUFBSSxDQUFDO1FBQy9DLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7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QXNCLEdBQUcsT0FBQSxJQUFJLDBDQUFFLElBQUksTUFBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkcsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxPQUFDLElBQUksMENBQUUsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLHlCQUF5Qjs7UUFDN0IsTUFBTSxZQUFZLEdBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsVUFBaUIsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQix5QkFDaEQsWUFBWSwwQ0FBRSxhQUFhLG1EQUMzQixZQUFZLDBDQUFFLFFBQVEsMENBQUUsYUFBYSwyREFDckMsWUFBWSwwQ0FBRSxRQUFRLDBDQUFFLFFBQVEsMENBQUUsYUFBYSx5Q0FDL0MsSUFBSSxHQUNQLENBQUM7SUFDTixDQUFDO0NBUUosQ0FBQTs7WUE5R3VDLGVBQWU7WUFBdUIsV0FBVztZQUErQixvQkFBb0I7WUFDdEcsMkJBQTJCOztBQVhwRDtJQUFSLEtBQUssRUFBRTtxRUFBYztBQUZiLDhCQUE4QjtJQUwxQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLHNpSEFBd0Q7O0tBRTNELENBQUM7R0FDVyw4QkFBOEIsQ0EwSDFDO1NBMUhZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBDaGVja291dERhdGEgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2NoZWNrb3V0LWRhdGEnO1xuaW1wb3J0IHsgQ2hlY2tvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2hlY2tvdXQvY2hlY2tvdXQuc2VydmljZSc7XG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hpcHBpbmdQcmljZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2hpcHBpbmctcHJpY2UtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kZXRhaWwtY2hlY2tvdXQtYmxvY2stZWMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsQ2hlY2tvdXRCbG9ja0VjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGFzb2NpYXRlZERhdGFcbiAgICBwdWJsaWMgZGF0YSA9IG51bGxcbiAgICBwdWJsaWMgZGlzY291bnRUb3RhbCA9IDBcbiAgICBwdWJsaWMgY291cG9uVG90YWwgPSAwXG4gICAgcHVibGljIGNyZWRpdEFjY291bnRTaG93UHJpY2VzOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIGhpZGVEaXNjb3VudHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGlkZVRheGVzOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dUYXhMZWdlbmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgY2xpZW50VGF4ZXM6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSwgcHJpdmF0ZSBjYXJ0U2VydmljZTogQ2FydFNlcnZpY2UsIHB1YmxpYyBjaGFubmVsQ29uZmlnU2VydmljZTogQ2hhbm5lbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2hpcHBpbmdQcmljZURpc3BsYXk6IFNoaXBwaW5nUHJpY2VEaXNwbGF5U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXNvY2lhdGVkRGF0YSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5hc29jaWF0ZWREYXRhO1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhclRvdGFsZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmFzb2NpYXRlZERhdGEkLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsY3VsYXJUb3RhbGVzKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlZGl0QWNjb3VudFNob3dQcmljZXMgPSBzaG93UHJpY2U7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmdldENsaWVudFRheGVzKCkuc3Vic2NyaWJlKCh0YXhlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGllbnRUYXhlcyA9IHRheGVzO1xuICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoYW5uZWxDb25maWdTZXJ2aWNlLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShjaGFubmVsID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGlkZURpc2NvdW50cyA9IGNoYW5uZWw/LmhpZGVEaXNjb3VudHMgPz8gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhpZGVUYXhlcyA9IGNoYW5uZWw/LmhpZGVUYXhlcyA/PyBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1RheExlZ2VuZCA9IGNoYW5uZWw/LnNob3dUYXhMZWdlbmQgPz8gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGN1bGFyVG90YWxlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNjb3VudFRvdGFsID0gMDtcbiAgICAgICAgdGhpcy5jb3Vwb25Ub3RhbCA9IDA7XG4gICAgICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzY291bnRUb3RhbCA9IHRoaXMuZGF0YVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09ICdkaXNjb3VudCcpXG4gICAgICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiBhY2MgKyBjdXJyLmFtb3VudCwgMCk7XG5cbiAgICAgICAgICAgIHRoaXMuY291cG9uVG90YWwgPSB0aGlzLmRhdGFcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSAnY291cG9uJylcbiAgICAgICAgICAgICAgICAucmVkdWNlKChhY2MsIGN1cnIpID0+IGFjYyArIGN1cnIuYW1vdW50LCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEljb24gPSAoZGF0YV9pdGVtOiBDaGVja291dERhdGEpID0+IHtcblxuICAgICAgICBzd2l0Y2ggKGRhdGFfaXRlbS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdjb3Vwb24nOiByZXR1cm4gJ2ZhcyBmYS10aWNrZXQtYWx0IGZhLTJ4JztcbiAgICAgICAgICAgIGNhc2UgJ2Rpc2NvdW50JzogcmV0dXJuICdmYXMgZmEtdGFncyBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICdzaGlwbWVudCc6IHJldHVybiAnZmFzIGZhLXNoaXBwaW5nLWZhc3QgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAnc3VidG90YWwnOiByZXR1cm4gJ2ZhcyBmYS1ib3hlcyBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICd0YXhlcyc6IHJldHVybiAnZmFzIGZhLWZpbGUtaW52b2ljZS1kb2xsYXIgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAndG90YWwnOiByZXR1cm4gJ2ZhcyBmYS1zaG9wcGluZy1iYXNrZXQgZmEtMngnO1xuICAgICAgICAgICAgZGVmYXVsdDogcmV0dXJuICdmYXMgZmEtdGFncyBmYS0yeCc7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGdldEljb24yID0gKGRhdGFfdHlwZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKGRhdGFfdHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnY291cG9uJzogcmV0dXJuICdmYXMgZmEtdGlja2V0LWFsdCBmYS0yeCc7XG4gICAgICAgICAgICBjYXNlICdkaXNjb3VudCc6IHJldHVybiAnZmFzIGZhLXRhZ3MgZmEtMngnO1xuICAgICAgICAgICAgY2FzZSAnY2xpZW5UYXhlJzogcmV0dXJuICdmYXMgZmEtcGVyY2VudCBmYS0yeCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRUeXBlTGFiZWwodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHR5cGUgPT09ICd0YXhlcycpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNob3dUYXhMZWdlbmQgPyAnbmF0aW9uYWwtdGF4ZXMnOiAndGF4ZXMnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIHNob3VsZFNob3dJdGVtKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodHlwZSA9PT0gJ2Rpc2NvdW50JyB8fCB0eXBlID09PSAnY291cG9uJykgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAodHlwZSA9PT0gJ3RheGVzJykgcmV0dXJuICF0aGlzLmhpZGVUYXhlcztcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgc2hvdWxkSGlkZVN1YnRvdGFsKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoaXRlbS50eXBlICE9PSAnc3VidG90YWwnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHRvdGFsSXRlbSA9IHRoaXMuZGF0YT8uZmluZChkYXRhSXRlbSA9PiBkYXRhSXRlbS50eXBlID09PSAndG90YWwnKTtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiB0b3RhbEl0ZW0gJiYgaXRlbS5hbW91bnQgPT09IHRvdGFsSXRlbS5hbW91bnQ7XG4gICAgfVxuXG4gICAgZ2V0QW1vdW50VmlldyhpdGVtOiBDaGVja291dERhdGEpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxTaGlwbWVudEFtb3VudCA9IGl0ZW0/LnR5cGUgPT09ICdzaGlwbWVudCcgPyB0aGlzLmdldFNoaXBtZW50T3JpZ2luYWxBbW91bnQoKSA6IG51bGw7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nUHJpY2VEaXNwbGF5LmJ1aWxkVmlld01vZGVsKGl0ZW0/LmFtb3VudCwgb3JpZ2luYWxTaGlwbWVudEFtb3VudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTaGlwbWVudE9yaWdpbmFsQW1vdW50KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBjb25zdCBzaGlwbWVudERhdGE6IGFueSA9IHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmdldFN0ZXBEYXRhKCdzaGlwbWVudCcgYXMgYW55KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcHBpbmdQcmljZURpc3BsYXkubm9ybWFsaXplUHJpY2VWYWx1ZShcbiAgICAgICAgICAgIHNoaXBtZW50RGF0YT8ub3JpZ2luYWxQcmljZSA/P1xuICAgICAgICAgICAgc2hpcG1lbnREYXRhPy5jb250cmFjdD8ub3JpZ2luYWxQcmljZSA/P1xuICAgICAgICAgICAgc2hpcG1lbnREYXRhPy5zZWxlY3RlZD8uY29udHJhY3Q/Lm9yaWdpbmFsUHJpY2UgPz9cbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLy8gY2FzZSAnY291cG9uJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3RpY2tldC1hbHQuc3ZnJztcbiAgICAvLyBjYXNlICdkaXNjb3VudCc6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC90YWdzLnN2Zyc7XG4gICAgLy8gY2FzZSAnc2hpcG1lbnQnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvc2hpcHBpbmctZmFzdC5zdmcnO1xuICAgIC8vIGNhc2UgJ3N1YnRvdGFsJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L2JveGVzLnN2Zyc7XG4gICAgLy8gY2FzZSAndGF4ZXMnOiByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvaWNvbm9zZGV0YWlsY2hlY2tvdXQvZmlsZS1pbnZvaWNlLWRvbGxhci5zdmcnO1xuICAgIC8vIGNhc2UgJ3RvdGFsJzogcmV0dXJuICdhc3NldHMvaW1hZ2VzL2ljb25vc2RldGFpbGNoZWNrb3V0L3Nob3BwaW5nLWJhc2tldC5zdmcnO1xuICAgIC8vIGRlZmF1bHQ6IHJldHVybiAnYXNzZXRzL2ltYWdlcy9pY29ub3NkZXRhaWxjaGVja291dC9zaG9wcGluZy1iYXNrZXQuc3ZnJztcbn1cbiJdfQ==
@@ -20,14 +20,16 @@ import { ShipmentService } from '../../../services/checkout/shipment.service';
20
20
  import { ProductsService } from '../../../services/products/products.service';
21
21
  import { ToastService } from '../../../utils/toast.service';
22
22
  import { TranslateService } from '@ngx-translate/core';
23
+ import { ShippingPriceDisplayService } from '../../../utils/shipping-price-display.service';
23
24
  let ShipmentEcComponent = class ShipmentEcComponent extends ComponentHelper {
24
- constructor(shipmentService, toastrService, productsService, checkoutService, translateService) {
25
+ constructor(shipmentService, toastrService, productsService, checkoutService, translateService, shippingPriceDisplay) {
25
26
  super();
26
27
  this.shipmentService = shipmentService;
27
28
  this.toastrService = toastrService;
28
29
  this.productsService = productsService;
29
30
  this.checkoutService = checkoutService;
30
31
  this.translateService = translateService;
32
+ this.shippingPriceDisplay = shippingPriceDisplay;
31
33
  this.compactShipmentView = false;
32
34
  this.summaryChange = new EventEmitter();
33
35
  this.advanceStep = new EventEmitter();
@@ -162,9 +164,10 @@ let ShipmentEcComponent = class ShipmentEcComponent extends ComponentHelper {
162
164
  : contractName;
163
165
  const sanitizedContractData = Object.assign({}, contractData);
164
166
  delete sanitizedContractData.branch_property;
167
+ delete sanitizedContractData.originalPrice;
165
168
  delete sanitizedContractData.option;
166
169
  const requestPayload = Object.assign(Object.assign({}, sanitizedContractData), { shippingId: option.method.code, method: option.method.code, option: option.costName, contract: contractType, name: contractName, price: contractData.price, selected: true, shipping_method_contract: shippingMethodContract, shipping_method_branch_code: shippingMethodBranchCode });
167
- const stepData = Object.assign(Object.assign({}, requestPayload), { method_name: (_g = option.method) === null || _g === void 0 ? void 0 : _g.name, contract_name: contractName });
170
+ const stepData = Object.assign(Object.assign({}, requestPayload), { originalPrice: this.shippingPriceDisplay.normalizePriceValue(contractData.originalPrice), method_name: (_g = option.method) === null || _g === void 0 ? void 0 : _g.name, contract_name: contractName });
168
171
  yield this.shipmentService.setShippingOption(requestPayload, stepData);
169
172
  const methodLabel = ((_h = option.method) === null || _h === void 0 ? void 0 : _h.name) ? this.translateService.instant(option.method.name)
170
173
  : '';
@@ -207,6 +210,7 @@ let ShipmentEcComponent = class ShipmentEcComponent extends ComponentHelper {
207
210
  }
208
211
  });
209
212
  this.validName = (name) => isNaN(name);
213
+ this.getContractPriceView = (contract) => this.shippingPriceDisplay.getContractView(contract);
210
214
  this.ecOnConstruct();
211
215
  }
212
216
  ngOnInit() {
@@ -305,7 +309,8 @@ ShipmentEcComponent.ctorParameters = () => [
305
309
  { type: ToastService },
306
310
  { type: ProductsService },
307
311
  { type: CheckoutService },
308
- { type: TranslateService }
312
+ { type: TranslateService },
313
+ { type: ShippingPriceDisplayService }
309
314
  ];
310
315
  __decorate([
311
316
  Input()
@@ -322,10 +327,10 @@ __decorate([
322
327
  ShipmentEcComponent = __decorate([
323
328
  Component({
324
329
  selector: 'app-shipment-ec',
325
- template: "<!-- <div class=\"checkout-title\">\n <h3>{{'shipment-methods'|translate}}</h3>\n</div> -->\n\n<ng-container *ngIf=\"compactShipmentView; else legacyShipment\">\n <app-shipment-ec-single\n [loadingInternal]=\"loading_internal\"\n [loadingPreload]=\"loading_preload\"\n [singleOptions]=\"singleOptions\"\n [groupedOptions]=\"groupedOptions\"\n [selectedOptionId]=\"selectedOptionId\"\n [unavailableMethods]=\"unavailableMethods\"\n [methods]=\"deleteUPS((shipmentService.methods | async) || [])\"\n [shipmentErrorKey]=\"shipmentErrorKey\"\n [isFreeShipping]=\"costos?.amount == 0\"\n (selectOption)=\"selectSingleOption($event)\">\n </app-shipment-ec-single>\n</ng-container>\n\n<ng-template #legacyShipment>\n <div class=\"container-fluid\">\n <div class=\"col-12\">\n <div class=\"card text-center\">\n <div class=\"card-header text-dark\">\n <h4>{{ 'select-method' | translate }}</h4>\n <div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\"\n *ngIf=\"(shipmentService.methods | async) as methods; else noMethods\">\n <div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n <div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n <button [disabled]=\"this.shipmentService.buttonsDisabled || this.buttonsDisabled\" type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\"\n *ngFor=\"let method of deleteUPS(methods); let x = index\"\n (click)=\"setMethod(method, post_code); setActive($event)\">\n {{ method.name | translate }}\n </button>\n </div>\n\n\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row justify-content-center mb-2\" *ngIf=\"moreInfoInMethod && methodSelect && methodSelect.description\">\n <div class=\"col-12 col-md-6 col-lg-4 d-flex flex-column mb-2\" [id]=\"methodSelect.code\">\n <ng-container *ngFor=\"let line of methodSelect.description.split('\\r\\n'); let i=index\">\n <span [id]=\"methodSelect.code+'-'+i\" [class]=\"'line-'+i\" [innerHTML]=\"line\"> </span>\n </ng-container>\n </div>\n <!--<span> <b>{{ 'information' | translate }}:</b> {{methodSelect.description}} </span>-->\n </div>\n <div class=\"row justify-content-center\" *ngIf=\"this.costs\">\n <ng-container *ngIf=\"!loading_internal ; else loading\">\n <div class=\"col-auto text-dark\" *ngFor=\"let cost of costs; let y = index\">\n <ng-container *ngIf=\"cost.contracts.length > 0\">\n <ng-container *ngIf=\"costs.length > 1; else uniqueShipment\">\n <span><b>{{ cost.name | translate }}</b></span>\n <hr />\n </ng-container>\n <ng-template #uniqueShipment>\n <span><b>{{ methodSelect.name | translate }}</b></span>\n <hr />\n </ng-template>\n <div class=\"option\" *ngFor=\"let contract of cost.contracts; let i = index\">\n <div class=\"form-check current-contract\">\n <input class=\"form-check-input\" [checked]=\"(y === 0 && i === 0) ? true : contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\n value=\"dark\" (click)=\"verifyValidate(cost.name, contract)\">\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\n <span\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \"\n *ngIf=\"validName(contract.name)\">{{ contract.name | translate }}</span>\n <span *ngIf=\"contract.computed\"><br class=\"shipment-contractname\">{{ contract.computed | translate }}<br\n class=\"shipment-contractname\"></span>\n <div *ngIf=\"contract.detail\" class=\"contract-detail\">\n <div *ngFor=\"let line of contract.detail.split(' - '); let i = index\" [class]=\"'contrat-item-'+i\">\n <span *ngIf=\"i == 0\"><b>{{ line }}</b></span>\n <span class=\"inside-detail\" *ngIf=\"i > 0\">{{ line }}</span>\n </div>\n </div>\n <span *ngIf=\"contract.price > 0\" [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n <br class=\"shipment-contractname\" *ngIf=\"!contract.computed\">\n {{ ('price'|translate) + ': ' + (contract.price | ecCurrencySymbol:'alwaysShowDecimals') }}</span>\n <!-- <span *ngIf=\"contract.price == 0\" [class]=\"'inside-detail ' + ( costos?.amount == 0 ? ' free ' : '') \">\n <br class=\"shipment-contractname\" *ngIf=\"!contract.computed\"> {{ ('free'|translate) }}</span> -->\n <br>\n </label>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n</ng-template>\n\n<ng-template #noMethods>\n <div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n <h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <ng-container *ngIf=\"!compactShipmentView\">\n <app-loading-full-ec></app-loading-full-ec>\n </ng-container>\n</ng-template>\n",
330
+ template: "<!-- <div class=\"checkout-title\">\n <h3>{{'shipment-methods'|translate}}</h3>\n</div> -->\n\n<ng-container *ngIf=\"compactShipmentView; else legacyShipment\">\n <app-shipment-ec-single\n [loadingInternal]=\"loading_internal\"\n [loadingPreload]=\"loading_preload\"\n [singleOptions]=\"singleOptions\"\n [groupedOptions]=\"groupedOptions\"\n [selectedOptionId]=\"selectedOptionId\"\n [unavailableMethods]=\"unavailableMethods\"\n [methods]=\"deleteUPS((shipmentService.methods | async) || [])\"\n [shipmentErrorKey]=\"shipmentErrorKey\"\n [isFreeShipping]=\"costos?.amount == 0\"\n (selectOption)=\"selectSingleOption($event)\">\n </app-shipment-ec-single>\n</ng-container>\n\n<ng-template #legacyShipment>\n <div class=\"container-fluid\">\n <div class=\"col-12\">\n <div class=\"card text-center\">\n <div class=\"card-header text-dark\">\n <h4>{{ 'select-method' | translate }}</h4>\n <div class=\"btn-toolbar justify-content-center\" role=\"toolbar\" aria-label=\"Envios toolbar\"\n *ngIf=\"(shipmentService.methods | async) as methods; else noMethods\">\n <div class=\"\" role=\"group\" aria-label=\"Grupo botones envio\">\n <div class=\"d-flex align-content-start justify-content-center flex-wrap\">\n <button [disabled]=\"this.shipmentService.buttonsDisabled || this.buttonsDisabled\" type=\"button\" class=\"btn btn-outline-secondary mx-1 mb-1\"\n *ngFor=\"let method of deleteUPS(methods); let x = index\"\n (click)=\"setMethod(method, post_code); setActive($event)\">\n {{ method.name | translate }}\n </button>\n </div>\n\n\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row justify-content-center mb-2\" *ngIf=\"moreInfoInMethod && methodSelect && methodSelect.description\">\n <div class=\"col-12 col-md-6 col-lg-4 d-flex flex-column mb-2\" [id]=\"methodSelect.code\">\n <ng-container *ngFor=\"let line of methodSelect.description.split('\\r\\n'); let i=index\">\n <span [id]=\"methodSelect.code+'-'+i\" [class]=\"'line-'+i\" [innerHTML]=\"line\"> </span>\n </ng-container>\n </div>\n <!--<span> <b>{{ 'information' | translate }}:</b> {{methodSelect.description}} </span>-->\n </div>\n <div class=\"row justify-content-center\" *ngIf=\"this.costs\">\n <ng-container *ngIf=\"!loading_internal ; else loading\">\n <div class=\"col-auto text-dark\" *ngFor=\"let cost of costs; let y = index\">\n <ng-container *ngIf=\"cost.contracts.length > 0\">\n <ng-container *ngIf=\"costs.length > 1; else uniqueShipment\">\n <span><b>{{ cost.name | translate }}</b></span>\n <hr />\n </ng-container>\n <ng-template #uniqueShipment>\n <span><b>{{ methodSelect.name | translate }}</b></span>\n <hr />\n </ng-template>\n <div class=\"option\" *ngFor=\"let contract of cost.contracts; let i = index\">\n <div class=\"form-check current-contract\">\n <input class=\"form-check-input\" [checked]=\"(y === 0 && i === 0) ? true : contract.selected\" type=\"radio\" name=\"card\" [id]=\"cost.name + i\"\n value=\"dark\" (click)=\"verifyValidate(cost.name, contract)\">\n <label class=\"form-check-label\" [for]=\"cost.name + i\" aria-label=\"Dark grey\">\n <span\n [class]=\"(cost.name == 'home_delivery') ? 'shipment-contractname home_delivery' : 'shipment-contractname' \"\n *ngIf=\"validName(contract.name)\">{{ contract.name | translate }}</span>\n <span *ngIf=\"contract.computed\"><br class=\"shipment-contractname\">{{ contract.computed | translate }}<br\n class=\"shipment-contractname\"></span>\n <div *ngIf=\"contract.detail\" class=\"contract-detail\">\n <div *ngFor=\"let line of contract.detail.split(' - '); let i = index\" [class]=\"'contrat-item-'+i\">\n <span *ngIf=\"i == 0\"><b>{{ line }}</b></span>\n <span class=\"inside-detail\" *ngIf=\"i > 0\">{{ line }}</span>\n </div>\n </div>\n <ng-container *ngIf=\"getContractPriceView(contract) as priceView\">\n <span class=\"inside-detail shipment-price-detail\"\n [class.shipment-price-detail--discounted]=\"priceView.showOriginalPrice\"\n [class.shipment-price-detail--free]=\"priceView.isFree\">\n <br class=\"shipment-contractname\" *ngIf=\"!contract.computed\">\n <del class=\"shipment-price-original\" *ngIf=\"priceView.showOriginalPrice\">\n {{ priceView.originalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </del>\n <strong class=\"shipment-price-current\">\n <ng-container *ngIf=\"priceView.isFree; else shipmentPriceValue\">\n {{ 'free' | translate }}\n </ng-container>\n <ng-template #shipmentPriceValue>\n {{ priceView.finalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </ng-template>\n </strong>\n </span>\n </ng-container>\n <br>\n </label>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n</ng-template>\n\n<ng-template #noMethods>\n <div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n <h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <ng-container *ngIf=\"!compactShipmentView\">\n <app-loading-full-ec></app-loading-full-ec>\n </ng-container>\n</ng-template>\n",
326
331
  providers: [ShipmentService],
327
- styles: [".shipment-container{width:100%;max-height:500px!important}.points-container{margin-top:10px;max-height:300px;overflow:scroll}agm-map{height:300px}.ancho-100{width:200px}.ancho-50{width:100px}.group-shipping{margin:10px 0}.option-container>div{margin-bottom:15px}@media only screen and (min-width:600px){.option-container{display:flex;justify-content:space-between;margin-top:20px}}hr{margin-top:0!important}.option{align-items:flex-start;margin-bottom:20px}.option label{margin:0 0 0 10px}.inside-detail{color:gray!important;font-weight:400}.inside-detail.free{text-decoration:line-through}.active{color:#fff!important}"]
332
+ styles: [".shipment-container{width:100%;max-height:500px!important}.points-container{margin-top:10px;max-height:300px;overflow:scroll}agm-map{height:300px}.ancho-100{width:200px}.ancho-50{width:100px}.group-shipping{margin:10px 0}.option-container>div{margin-bottom:15px}@media only screen and (min-width:600px){.option-container{display:flex;justify-content:space-between;margin-top:20px}}hr{margin-top:0!important}.option{align-items:flex-start;margin-bottom:20px}.option label{margin:0 0 0 10px}.inside-detail{color:gray!important;font-weight:400}.shipment-price-detail{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15rem;margin-top:.35rem}.shipment-price-original{color:gray;font-weight:500;text-decoration-thickness:1px}.shipment-price-current{color:inherit;font-weight:700}.shipment-price-detail--free .shipment-price-current{color:var(--success,#198754)}.shipment-price-detail--discounted .shipment-price-current{font-size:1rem}.active{color:#fff!important}"]
328
333
  })
329
334
  ], ShipmentEcComponent);
330
335
  export { ShipmentEcComponent };
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9zaGlwbWVudC1lYy9zaGlwbWVudC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVF2RCxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFvQixTQUFRLGVBQWU7SUF5QnBELFlBQW1CLGVBQWdDLEVBQVksYUFBMkIsRUFDL0UsZUFBZ0MsRUFBUyxlQUFnQyxFQUN4RSxnQkFBa0M7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFITyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBWSxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMvRSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDeEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXhCckMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFDeEUsZ0JBQVcsR0FBRyxJQUFJLFlBQVks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QUFVLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUVKLENBQUE7O1lBeFJ1QyxlQUFlO1lBQTJCLFlBQVk7WUFDOUQsZUFBZTtZQUEwQixlQUFlO1lBQ3RELGdCQUFnQjs7QUF6QnJDO0lBQVIsS0FBSyxFQUFFO29EQUFTO0FBQ1I7SUFBUixLQUFLLEVBQUU7Z0VBQXNDO0FBQ3BDO0lBQVQsTUFBTSxFQUFFOzBEQUF5RTtBQUN4RTtJQUFULE1BQU0sRUFBRTt3REFBd0M7QUFMeEMsbUJBQW1CO0lBTi9CLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsZzlOQUEyQztRQUUzQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7O0tBQy9CLENBQUM7R0FDVyxtQkFBbUIsQ0FpVC9CO1NBalRZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy1jb21wYXQvb3BlcmF0b3IvbWFwJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlJztcbmltcG9ydCB7IFNoaXBtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoZWNrb3V0L3NoaXBtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtc2hpcG1lbnQtZWMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGlwbWVudC1lYy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2hpcG1lbnQtZWMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtTaGlwbWVudFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFNoaXBtZW50RWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBASW5wdXQoKSBzdGVwX2lkO1xuICAgIEBJbnB1dCgpIGNvbXBhY3RTaGlwbWVudFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgc3VtbWFyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBsYWJlbD86IHN0cmluZzsgZGV0YWlsPzogc3RyaW5nIH0+KCk7XG4gICAgQE91dHB1dCgpIGFkdmFuY2VTdGVwID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIHB1YmxpYyBtZXRob2RzX2xpc3Q6IGFueVtdO1xuICAgIHB1YmxpYyBtZXRob2RTZWxlY3Q6IGFueTtcbiAgICBwdWJsaWMgbG9hZGluZ19pbnRlcm5hbCA9IGZhbHNlO1xuICAgIHB1YmxpYyBwb2ludHM6IGFueVtdID0gW107XG4gICAgcHVibGljIHNlbGVjdGVkX2ZpbmFsO1xuICAgIHB1YmxpYyBjb3N0b3MgPSBudWxsXG4gICAgcHVibGljIGNvc3RzID0gIFtdXG4gICAgcHVibGljIG1vcmVJbmZvSW5NZXRob2Q6IGFueVxuICAgIGJ1dHRvbnNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgbGFzdEFkZHJlc3NLZXk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBzaGlwbWVudEVycm9yS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2luZ2xlT3B0aW9uczogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgbG9hZGluZ19wcmVsb2FkID0gZmFsc2U7XG4gICAgcHVibGljIHNlbGVjdGVkT3B0aW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyB1bmF2YWlsYWJsZU1ldGhvZHM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgcHVibGljIGdyb3VwZWRPcHRpb25zOiB7IGtleTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBvcHRpb25zOiBhbnlbXSB9W10gPSBbXTtcblxuICAgIGNvbnRyYWN0cyA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHNoaXBtZW50U2VydmljZTogU2hpcG1lbnRTZXJ2aWNlLCBwcm90ZWN0ZWQgdG9hc3RyU2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsIHB1YmxpYyBjaGVja291dFNlcnZpY2U6IENoZWNrb3V0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgZW1pdFJlc3VsdCA9IChtZXRob2RfbmFtZSwgY29udHJhY3RfZGF0YSkgPT4ge1xuICAgICAgICBjb250cmFjdF9kYXRhID0ge1xuICAgICAgICAgICAgLi4uY29udHJhY3RfZGF0YSxcbiAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9jb250cmFjdDogbWV0aG9kX25hbWUgKyAnXycgKyBjb250cmFjdF9kYXRhLm5hbWUsXG4gICAgICAgICAgICBzaGlwcGluZ19tZXRob2RfYnJhbmNoX2NvZGU6IG1ldGhvZF9uYW1lID09IFwiYnJhbmNoX2RlbGl2ZXJ5XCIgPyBjb250cmFjdF9kYXRhLnN1Y3Vyc2FsX2lkIDogY29udHJhY3RfZGF0YS5uYW1lLFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRDb250cmFjdChjb250cmFjdF9kYXRhKTtcbiAgICB9XG5cbiAgICB2ZXJpZnlWYWxpZGF0ZSA9IChjb250cmFjdCwgZGF0YSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0U2hpcG1lbnRWaWV3IHx8ICF0aGlzLmNvc3RzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdFJlc3VsdChjb250cmFjdCwgZGF0YSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuY29zdHMuZm9yRWFjaChjb3N0ID0+IGNvc3QuY29udHJhY3RzLmZvckVhY2goY28gPT4gY28uc2VsZWN0ZWQgPSBmYWxzZSkpXG4gICAgICAgICAgICB0aGlzLmNvc3RzLmZpbmQoY29zdCA9PiBjb3N0Lm5hbWUgPT0gY29udHJhY3QpLmNvbnRyYWN0cy5maW5kKGNvbnRyYSA9PiBjb250cmEubmFtZSA9PSBkYXRhLm5hbWUpLnNlbGVjdGVkID0gdHJ1ZVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvciBhbCBidXNjYXIgY29udHJhdG9cIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmVtaXRSZXN1bHQoY29udHJhY3QsIGRhdGEpO1xuICAgIH07XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLnN0ZXBfaWQpO1xuICAgICAgICBpZiAoIXRoaXMuY29tcGFjdFNoaXBtZW50Vmlldykge1xuICAgICAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UuZ2V0U2hpcG1lbnRNZXRob2RzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGVja291dFNlcnZpY2UuYXNvY2lhdGVkRGF0YSQuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb3N0b3MgPSBkYXRhICYmIGRhdGEuZmluZCh2YWx1ZSA9PiB2YWx1ZS50eXBlID09IFwic2hpcG1lbnRcIikgfHwgbnVsbFxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5jb3N0cy5zdWJzY3JpYmUoY29zID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuY29zdHMgPSBjb3MubWFwKGNvc3QgPT4geyByZXR1cm4geyAuLi5jb3N0LCBjb250cmFjdHM6IGNvc3QuY29udHJhY3RzLm1hcChjbyA9PiB7IHJldHVybiB7IC4uLmNvLCBzZWxlY3RlZDogZmFsc2UgfSB9ICkgfSB9KVxuICAgICAgICAgICAgaWYgKHRoaXMuY29zdHMubGVuZ3RoICYmIHRoaXMuY29zdHNbMF0/Lm5hbWUgJiYgdGhpcy5jb3N0c1swXT8uY29udHJhY3RzWzBdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlWYWxpZGF0ZSh0aGlzLmNvc3RzWzBdLm5hbWUsIHRoaXMuY29zdHNbMF0uY29udHJhY3RzWzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5lcnJvciQuc3Vic2NyaWJlKGVycm9yS2V5ID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9IGVycm9yS2V5O1xuICAgICAgICB9KVxuICAgICAgICB0aGlzLm1vcmVJbmZvSW5NZXRob2QgPSB0cnVlIC8vU2hpcG1lbnRTZXJ2aWNlLm1vcmVJbmZvSW5NZXRob2Q7XG4gICAgICAgIHRoaXMuY2hlY2tvdXRTZXJ2aWNlLnN0YXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NEYXRhID0gdGhpcy5jaGVja291dFNlcnZpY2UuZ2V0U3RlcERhdGEoJ2FkZHJlc3MnKTtcbiAgICAgICAgICAgIGlmICghYWRkcmVzc0RhdGEpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KGFkZHJlc3NEYXRhKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmxhc3RBZGRyZXNzS2V5ID09PSBrZXkpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMubGFzdEFkZHJlc3NLZXkgPSBrZXk7XG4gICAgICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5yZXN0YXJ0U3RlcCgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbklkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3VtbWFyeUNoYW5nZS5lbWl0KHt9KTtcbiAgICAgICAgICAgIHRoaXMucHJlbG9hZFNpbmdsZU9wdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuY29zdHMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG5cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLmdldFNoaXBtZW50TWV0aG9kcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9UcmFkdWNpYmxlID0gKG5hbWUpID0+IG5hbWUucmVwbGFjZSgvXy9nLCAnLScpO1xuXG4gICAgZGVsZXRlVVBTID0gKG1ldGhvZHMpID0+IG1ldGhvZHMuZmlsdGVyKG1ldGhvZCA9PiBtZXRob2QubmFtZSAhPSAnVVBTJyk7XG5cbiAgICAgc2V0TWV0aG9kID0gKG1ldGhvZCkgPT4ge1xuICAgICAgICAgdGhpcy5tZXRob2RTZWxlY3QgPSBtZXRob2Q7XG4gICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSB0cnVlO1xuICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gbnVsbDtcbiAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLnJlc3RhcnRTdGVwKCk7XG5cbiAgICAgICAgIC8vIERlc2hhYmlsaXRhciB0b2RvcyBsb3MgYm90b25lc1xuICAgICAgICAgdGhpcy5idXR0b25zRGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgIC8vICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRNZXRob2QobWV0aG9kLmNvZGUpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgLy8gSGFiaWxpdGFyIHRvZG9zIGxvcyBib3RvbmVzXG4gICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMuYnV0dG9uc0Rpc2FibGVkID0gZmFsc2U7fSwgMTAwMCk7XG4gICAgICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAvLyBFbiBjYXNvIGRlIGVycm9yLCB0YW1iacOpbiBoYWJpbGl0YXIgbG9zIGJvdG9uZXNcbiAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6XCIsIGVycm9yKTtcbiAgICAgICAgICAgICB9KTtcbiAgICAgLy8gICAgIH0sIDEwMDApO1xuICAgICB9XG5cbiAgICAgcHJlbG9hZFNpbmdsZU9wdGlvbnMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICB0aGlzLmxvYWRpbmdfcHJlbG9hZCA9IHRydWU7XG4gICAgICAgICB0aGlzLnNpbmdsZU9wdGlvbnMgPSBbXTtcbiAgICAgICAgIHRoaXMuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25JZCA9IG51bGw7XG4gICAgICAgICB0aGlzLnVuYXZhaWxhYmxlTWV0aG9kcyA9IHt9O1xuICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gbnVsbDtcbiAgICAgICAgIGNvbnN0IG1ldGhvZE9wdGlvbnMgPSBhd2FpdCB0aGlzLnNoaXBtZW50U2VydmljZS5nZXRTaGlwcGluZ09wdGlvbnMoKTtcbiAgICAgICAgIGlmICghbWV0aG9kT3B0aW9ucyB8fCAhbWV0aG9kT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICB0aGlzLmxvYWRpbmdfcHJlbG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgIH1cbiAgICAgICAgIGxldCBvcHRpb25JbmRleCA9IDA7XG4gICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIG1ldGhvZE9wdGlvbnMpIHtcbiAgICAgICAgICAgICBjb25zdCBtZXRob2QgPSBlbnRyeT8ubWV0aG9kO1xuICAgICAgICAgICAgIGlmICghbWV0aG9kIHx8IG1ldGhvZC5uYW1lID09PSAnVVBTJykgY29udGludWU7XG4gICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGVudHJ5Py5vcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgIGxldCBoYXNDb250cmFjdHMgPSBmYWxzZTtcbiAgICAgICAgICAgICBvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgY29uc3QgY29udHJhY3RzID0gb3B0aW9uPy5jb250cmFjdHMgfHwgW107XG4gICAgICAgICAgICAgICAgIGlmICghY29udHJhY3RzLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgICBoYXNDb250cmFjdHMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICBjb250cmFjdHMuZm9yRWFjaChjb250cmFjdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVkQ29udHJhY3QgPSB7IC4uLmNvbnRyYWN0IH07XG4gICAgICAgICAgICAgICAgICAgICBpZiAoIW5vcm1hbGl6ZWRDb250cmFjdC5jb250cmFjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRDb250cmFjdC5jb250cmFjdCA9IG9wdGlvbi5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaW5nbGVPcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHttZXRob2QuY29kZX0tJHtvcHRpb24ubmFtZX0tJHtjb250cmFjdC5uYW1lfS0ke29wdGlvbkluZGV4fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3ROYW1lOiBvcHRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBjb250cmFjdDogbm9ybWFsaXplZENvbnRyYWN0XG4gICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgaWYgKCFoYXNDb250cmFjdHMpIHtcbiAgICAgICAgICAgICAgICAgdGhpcy51bmF2YWlsYWJsZU1ldGhvZHNbbWV0aG9kLmNvZGVdID0gdHJ1ZTtcbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgICB0aGlzLmdyb3VwZWRPcHRpb25zID0gdGhpcy5idWlsZEdyb3VwZWRPcHRpb25zKHRoaXMuc2luZ2xlT3B0aW9ucyk7XG4gICAgICAgICBpZiAoIXRoaXMuc2luZ2xlT3B0aW9ucy5sZW5ndGggJiYgT2JqZWN0LmtleXModGhpcy51bmF2YWlsYWJsZU1ldGhvZHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgfVxuICAgICAgICAgdGhpcy5sb2FkaW5nX3ByZWxvYWQgPSBmYWxzZTtcbiAgICAgfVxuXG4gICAgc2VsZWN0U2luZ2xlT3B0aW9uID0gYXN5bmMgKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbikgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbklkID09PSBvcHRpb24uaWQgJiYgIXRoaXMubG9hZGluZ19pbnRlcm5hbCkgcmV0dXJuO1xuICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbklkID0gb3B0aW9uLmlkO1xuICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gdHJ1ZTtcbiAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9IG51bGw7XG4gICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IGNvbnRyYWN0RGF0YSA9IHsgLi4uKG9wdGlvbi5jb250cmFjdCB8fCB7fSkgfTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRpYWxDb250cmFjdE5hbWUgPSBjb250cmFjdERhdGEubmFtZSB8fCBvcHRpb24uY29udHJhY3Q/Lm5hbWU7XG4gICAgICAgICAgICBpZiAodGhpcy5zaG91bGRFbnJpY2hGcm9tTGVnYWN5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZWdhY3lDb250cmFjdERhdGEgPSBhd2FpdCB0aGlzLmdldExlZ2FjeUNvbnRyYWN0RGF0YShcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLm1ldGhvZD8uY29kZSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmNvc3ROYW1lLFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsQ29udHJhY3ROYW1lXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAobGVnYWN5Q29udHJhY3REYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0RGF0YSA9IHsgLi4uY29udHJhY3REYXRhLCAuLi5sZWdhY3lDb250cmFjdERhdGEgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjb250cmFjdFR5cGUgPSBjb250cmFjdERhdGEuY29udHJhY3QgfHwgb3B0aW9uLmNvc3ROYW1lO1xuICAgICAgICAgICAgY29uc3QgY29udHJhY3ROYW1lID0gY29udHJhY3REYXRhLm5hbWUgfHwgb3B0aW9uLmNvbnRyYWN0Py5uYW1lO1xuICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdNZXRob2RDb250cmFjdCA9IGAke29wdGlvbi5jb3N0TmFtZX1fJHtjb250cmFjdE5hbWV9YDtcbiAgICAgICAgICAgIGNvbnN0IHNoaXBwaW5nTWV0aG9kQnJhbmNoQ29kZSA9IG9wdGlvbi5jb3N0TmFtZSA9PT0gJ2JyYW5jaF9kZWxpdmVyeSdcbiAgICAgICAgICAgICAgICA/IChjb250cmFjdERhdGEuc3VjdXJzYWxfaWQgfHwgY29udHJhY3REYXRhLm51bWJlciB8fCBjb250cmFjdERhdGEuYnJhbmNoX3Byb3BlcnR5Py5udW1iZXIgfHwgY29udHJhY3ROYW1lKVxuICAgICAgICAgICAgICAgIDogY29udHJhY3ROYW1lO1xuICAgICAgICAgICAgY29uc3Qgc2FuaXRpemVkQ29udHJhY3REYXRhID0geyAuLi5jb250cmFjdERhdGEgfTtcbiAgICAgICAgICAgIGRlbGV0ZSBzYW5pdGl6ZWRDb250cmFjdERhdGEuYnJhbmNoX3Byb3BlcnR5O1xuICAgICAgICAgICAgZGVsZXRlIHNhbml0aXplZENvbnRyYWN0RGF0YS5vcHRpb247XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0UGF5bG9hZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5zYW5pdGl6ZWRDb250cmFjdERhdGEsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdJZDogb3B0aW9uLm1ldGhvZC5jb2RlLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogb3B0aW9uLm1ldGhvZC5jb2RlLFxuICAgICAgICAgICAgICAgIG9wdGlvbjogb3B0aW9uLmNvc3ROYW1lLFxuICAgICAgICAgICAgICAgIGNvbnRyYWN0OiBjb250cmFjdFR5cGUsXG4gICAgICAgICAgICAgICAgbmFtZTogY29udHJhY3ROYW1lLFxuICAgICAgICAgICAgICAgIHByaWNlOiBjb250cmFjdERhdGEucHJpY2UsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdfbWV0aG9kX2NvbnRyYWN0OiBzaGlwcGluZ01ldGhvZENvbnRyYWN0LFxuICAgICAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9icmFuY2hfY29kZTogc2hpcHBpbmdNZXRob2RCcmFuY2hDb2RlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3RlcERhdGEgPSB7XG4gICAgICAgICAgICAgICAgLi4ucmVxdWVzdFBheWxvYWQsXG4gICAgICAgICAgICAgICAgbWV0aG9kX25hbWU6IG9wdGlvbi5tZXRob2Q/Lm5hbWUsXG4gICAgICAgICAgICAgICAgY29udHJhY3RfbmFtZTogY29udHJhY3ROYW1lXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zaGlwbWVudFNlcnZpY2Uuc2V0U2hpcHBpbmdPcHRpb24ocmVxdWVzdFBheWxvYWQsIHN0ZXBEYXRhKTtcbiAgICAgICAgICAgIGNvbnN0IG1ldGhvZExhYmVsID0gb3B0aW9uLm1ldGhvZD8ubmFtZVxuICAgICAgICAgICAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQob3B0aW9uLm1ldGhvZC5uYW1lKVxuICAgICAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgICBjb25zdCBjb250cmFjdExhYmVsID0gb3B0aW9uLmNvbnRyYWN0Py5uYW1lXG4gICAgICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvcHRpb24uY29udHJhY3QubmFtZSlcbiAgICAgICAgICAgICAgICA6ICcnO1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBMYWJlbCA9IG9wdGlvbi5jb3N0TmFtZVxuICAgICAgICAgICAgICAgID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5yZXNvbHZlR3JvdXBMYWJlbChvcHRpb24uY29zdE5hbWUpKVxuICAgICAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9IFtncm91cExhYmVsLCBtZXRob2RMYWJlbCwgY29udHJhY3RMYWJlbF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyDCtyAnKTtcbiAgICAgICAgICAgIGNvbnN0IGRldGFpbCA9IG9wdGlvbi5jb250cmFjdD8uY29tcHV0ZWQgfHwgb3B0aW9uLmNvbnRyYWN0Py5kZXRhaWwgfHwgJyc7XG4gICAgICAgICAgICB0aGlzLnN1bW1hcnlDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGxhYmVsIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBkZXRhaWw6IGRldGFpbCB8fCB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgIGlmICh0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHtcbiAgICAgICAgICAgICAgICAgdGhpcy5hZHZhbmNlU3RlcC5lbWl0KCk7XG4gICAgICAgICAgICAgfVxuICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICB0aGlzLnNoaXBtZW50RXJyb3JLZXkgPSAnb3BlcmF0aW9uLWVycm9yJztcbiAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gZmFsc2U7XG4gICAgICAgICB9XG4gICAgIH1cblxuICAgIHByaXZhdGUgc2hvdWxkRW5yaWNoRnJvbUxlZ2FjeShvcHRpb246IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIW9wdGlvbiB8fCBvcHRpb24uY29zdE5hbWUgIT09ICdicmFuY2hfZGVsaXZlcnknKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGVnYWN5Q29udHJhY3REYXRhID0gYXN5bmMgKFxuICAgICAgICBtZXRob2RDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgIGNvc3ROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgICAgIGNvbnRyYWN0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgKSA9PiB7XG4gICAgICAgIGlmICghbWV0aG9kQ29kZSB8fCAhY29zdE5hbWUgfHwgIWNvbnRyYWN0TmFtZSkgcmV0dXJuIG51bGw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjb3N0cyA9IGF3YWl0IHRoaXMuc2hpcG1lbnRTZXJ2aWNlLmdldENvc3RzRm9yTWV0aG9kKG1ldGhvZENvZGUpO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb3N0ID0gKGNvc3RzIHx8IFtdKS5maW5kKGNvc3QgPT4gU3RyaW5nKGNvc3Q/Lm5hbWUgfHwgJycpID09PSBTdHJpbmcoY29zdE5hbWUpKTtcbiAgICAgICAgICAgIGlmICghc2VsZWN0ZWRDb3N0Py5jb250cmFjdHM/Lmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZENvbnRyYWN0ID0gc2VsZWN0ZWRDb3N0LmNvbnRyYWN0cy5maW5kKGNvbnRyYWN0ID0+XG4gICAgICAgICAgICAgICAgU3RyaW5nKGNvbnRyYWN0Py5uYW1lIHx8ICcnKSA9PT0gU3RyaW5nKGNvbnRyYWN0TmFtZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRDb250cmFjdCB8fCBudWxsO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgc2V0QWN0aXZlKGUpIHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gZS50YXJnZXQucGFyZW50RWxlbWVudC5jaGlsZHJlbjtcbiAgICAgICAgZm9yIChjb25zdCBidXR0b24gb2YgcGFyZW50KSB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygnYWN0aXZlJykpIHtcbiAgICAgICAgICAgICAgICBidXR0b24uY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlLnRhcmdldC5jbGFzc0xpc3QuYWRkKFwiYWN0aXZlXCIpXG4gICAgfVxuXG4gICAgdmFsaWROYW1lID0gKG5hbWUpID0+IGlzTmFOKG5hbWUpO1xuXG4gICAgcHJpdmF0ZSBidWlsZEdyb3VwZWRPcHRpb25zKG9wdGlvbnM6IGFueVtdKSB7XG4gICAgICAgIGlmICghb3B0aW9ucz8ubGVuZ3RoKSByZXR1cm4gW107XG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IG5ldyBNYXA8c3RyaW5nLCBhbnlbXT4oKTtcbiAgICAgICAgb3B0aW9ucy5mb3JFYWNoKG9wdGlvbiA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBvcHRpb24/LmNvc3ROYW1lIHx8ICdkZWZhdWx0JztcbiAgICAgICAgICAgIGlmICghZ3JvdXBzLmhhcyhrZXkpKSBncm91cHMuc2V0KGtleSwgW10pO1xuICAgICAgICAgICAgZ3JvdXBzLmdldChrZXkpPy5wdXNoKG9wdGlvbik7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShncm91cHMuZW50cmllcygpKS5tYXAoKFtrZXksIGdyb3VwT3B0aW9uc10pID0+ICh7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5yZXNvbHZlR3JvdXBMYWJlbChrZXksIGdyb3VwT3B0aW9ucz8uWzBdPy5tZXRob2Q/Lm5hbWUpLFxuICAgICAgICAgICAgb3B0aW9uczogZ3JvdXBPcHRpb25zXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc29sdmVHcm91cExhYmVsKGNvc3ROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLCBtZXRob2ROYW1lPzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChjb3N0TmFtZSkge1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IGNvc3ROYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICBpZiAobm9ybWFsaXplZCA9PT0gJ2JyYW5jaF9kZWxpdmVyeScpIHJldHVybiAnUmV0aXJvIGVuIHN1Y3Vyc2FsJztcbiAgICAgICAgICAgIGlmIChub3JtYWxpemVkID09PSAnaG9tZV9kZWxpdmVyeScpIHJldHVybiAnRW52w61vIGEgZG9taWNpbGlvJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWV0aG9kTmFtZSB8fCAoY29zdE5hbWUgfHwgJycpO1xuICAgIH1cblxufVxuIl19
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jaGVja291dC1lYy9zaGlwbWVudC1lYy9zaGlwbWVudC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQVE1RixJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFvQixTQUFRLGVBQWU7SUF5QnBELFlBQW1CLGVBQWdDLEVBQVksYUFBMkIsRUFDL0UsZUFBZ0MsRUFBUyxlQUFnQyxFQUN4RSxnQkFBa0MsRUFDbEMsb0JBQWlEO1FBQ3pELEtBQUssRUFBRSxDQUFDO1FBSk8sb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVksa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDL0Usb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ3hFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQXpC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Q0FBQztnQkFDbkUsT0FBTyxFQUFFLFlBQVk7YUFDeEIsQ0FBQyxDQUFBO1NBQUEsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFFBQW1DLEVBQUUsVUFBbUI7UUFDOUUsSUFBSSxRQUFRLEVBQUU7WUFDVixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxVQUFVLEtBQUssaUJBQWlCO2dCQUFFLE9BQU8sb0JBQW9CLENBQUM7WUFDbEUsSUFBSSxVQUFVLEtBQUssZUFBZTtnQkFBRSxPQUFPLG1CQUFtQixDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxVQUFVLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUVKLENBQUE7O1lBOVJ1QyxlQUFlO1lBQTJCLFlBQVk7WUFDOUQsZUFBZTtZQUEwQixlQUFlO1lBQ3RELGdCQUFnQjtZQUNaLDJCQUEyQjs7QUExQnBEO0lBQVIsS0FBSyxFQUFFO29EQUFTO0FBQ1I7SUFBUixLQUFLLEVBQUU7Z0VBQXNDO0FBQ3BDO0lBQVQsTUFBTSxFQUFFOzBEQUF5RTtBQUN4RTtJQUFULE1BQU0sRUFBRTt3REFBd0M7QUFMeEMsbUJBQW1CO0lBTi9CLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsNC9QQUEyQztRQUUzQyxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7O0tBQy9CLENBQUM7R0FDVyxtQkFBbUIsQ0F1VC9CO1NBdlRZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy1jb21wYXQvb3BlcmF0b3IvbWFwJztcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jaGVja291dC9jaGVja291dC5zZXJ2aWNlJztcbmltcG9ydCB7IFNoaXBtZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoZWNrb3V0L3NoaXBtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNoaXBwaW5nUHJpY2VEaXNwbGF5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3NoaXBwaW5nLXByaWNlLWRpc3BsYXkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXNoaXBtZW50LWVjJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hpcG1lbnQtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NoaXBtZW50LWVjLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbU2hpcG1lbnRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBTaGlwbWVudEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgc3RlcF9pZDtcbiAgICBASW5wdXQoKSBjb21wYWN0U2hpcG1lbnRWaWV3OiBib29sZWFuID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIHN1bW1hcnlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbGFiZWw/OiBzdHJpbmc7IGRldGFpbD86IHN0cmluZyB9PigpO1xuICAgIEBPdXRwdXQoKSBhZHZhbmNlU3RlcCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBwdWJsaWMgbWV0aG9kc19saXN0OiBhbnlbXTtcbiAgICBwdWJsaWMgbWV0aG9kU2VsZWN0OiBhbnk7XG4gICAgcHVibGljIGxvYWRpbmdfaW50ZXJuYWwgPSBmYWxzZTtcbiAgICBwdWJsaWMgcG9pbnRzOiBhbnlbXSA9IFtdO1xuICAgIHB1YmxpYyBzZWxlY3RlZF9maW5hbDtcbiAgICBwdWJsaWMgY29zdG9zID0gbnVsbFxuICAgIHB1YmxpYyBjb3N0cyA9ICBbXVxuICAgIHB1YmxpYyBtb3JlSW5mb0luTWV0aG9kOiBhbnlcbiAgICBidXR0b25zRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGxhc3RBZGRyZXNzS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2hpcG1lbnRFcnJvcktleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHNpbmdsZU9wdGlvbnM6IGFueVtdID0gW107XG4gICAgcHVibGljIGxvYWRpbmdfcHJlbG9hZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZWxlY3RlZE9wdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgdW5hdmFpbGFibGVNZXRob2RzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuICAgIHB1YmxpYyBncm91cGVkT3B0aW9uczogeyBrZXk6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgb3B0aW9uczogYW55W10gfVtdID0gW107XG5cbiAgICBjb250cmFjdHMgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzaGlwbWVudFNlcnZpY2U6IFNoaXBtZW50U2VydmljZSwgcHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICAgICAgcHVibGljIHByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLCBwdWJsaWMgY2hlY2tvdXRTZXJ2aWNlOiBDaGVja291dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzaGlwcGluZ1ByaWNlRGlzcGxheTogU2hpcHBpbmdQcmljZURpc3BsYXlTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWNPbkNvbnN0cnVjdCgpXG4gICAgfVxuXG4gICAgZW1pdFJlc3VsdCA9IChtZXRob2RfbmFtZSwgY29udHJhY3RfZGF0YSkgPT4ge1xuICAgICAgICBjb250cmFjdF9kYXRhID0ge1xuICAgICAgICAgICAgLi4uY29udHJhY3RfZGF0YSxcbiAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9jb250cmFjdDogbWV0aG9kX25hbWUgKyAnXycgKyBjb250cmFjdF9kYXRhLm5hbWUsXG4gICAgICAgICAgICBzaGlwcGluZ19tZXRob2RfYnJhbmNoX2NvZGU6IG1ldGhvZF9uYW1lID09IFwiYnJhbmNoX2RlbGl2ZXJ5XCIgPyBjb250cmFjdF9kYXRhLnN1Y3Vyc2FsX2lkIDogY29udHJhY3RfZGF0YS5uYW1lLFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRDb250cmFjdChjb250cmFjdF9kYXRhKTtcbiAgICB9XG5cbiAgICB2ZXJpZnlWYWxpZGF0ZSA9IChjb250cmFjdCwgZGF0YSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb21wYWN0U2hpcG1lbnRWaWV3IHx8ICF0aGlzLmNvc3RzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdFJlc3VsdChjb250cmFjdCwgZGF0YSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuY29zdHMuZm9yRWFjaChjb3N0ID0+IGNvc3QuY29udHJhY3RzLmZvckVhY2goY28gPT4gY28uc2VsZWN0ZWQgPSBmYWxzZSkpXG4gICAgICAgICAgICB0aGlzLmNvc3RzLmZpbmQoY29zdCA9PiBjb3N0Lm5hbWUgPT0gY29udHJhY3QpLmNvbnRyYWN0cy5maW5kKGNvbnRyYSA9PiBjb250cmEubmFtZSA9PSBkYXRhLm5hbWUpLnNlbGVjdGVkID0gdHJ1ZVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvciBhbCBidXNjYXIgY29udHJhdG9cIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmVtaXRSZXN1bHQoY29udHJhY3QsIGRhdGEpO1xuICAgIH07XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLnN0ZXBfaWQpO1xuICAgICAgICBpZiAoIXRoaXMuY29tcGFjdFNoaXBtZW50Vmlldykge1xuICAgICAgICAgICAgdGhpcy5zaGlwbWVudFNlcnZpY2UuZ2V0U2hpcG1lbnRNZXRob2RzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGVja291dFNlcnZpY2UuYXNvY2lhdGVkRGF0YSQuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb3N0b3MgPSBkYXRhICYmIGRhdGEuZmluZCh2YWx1ZSA9PiB2YWx1ZS50eXBlID09IFwic2hpcG1lbnRcIikgfHwgbnVsbFxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5jb3N0cy5zdWJzY3JpYmUoY29zID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuY29zdHMgPSBjb3MubWFwKGNvc3QgPT4geyByZXR1cm4geyAuLi5jb3N0LCBjb250cmFjdHM6IGNvc3QuY29udHJhY3RzLm1hcChjbyA9PiB7IHJldHVybiB7IC4uLmNvLCBzZWxlY3RlZDogZmFsc2UgfSB9ICkgfSB9KVxuICAgICAgICAgICAgaWYgKHRoaXMuY29zdHMubGVuZ3RoICYmIHRoaXMuY29zdHNbMF0/Lm5hbWUgJiYgdGhpcy5jb3N0c1swXT8uY29udHJhY3RzWzBdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlWYWxpZGF0ZSh0aGlzLmNvc3RzWzBdLm5hbWUsIHRoaXMuY29zdHNbMF0uY29udHJhY3RzWzBdKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5lcnJvciQuc3Vic2NyaWJlKGVycm9yS2V5ID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9IGVycm9yS2V5O1xuICAgICAgICB9KVxuICAgICAgICB0aGlzLm1vcmVJbmZvSW5NZXRob2QgPSB0cnVlIC8vU2hpcG1lbnRTZXJ2aWNlLm1vcmVJbmZvSW5NZXRob2Q7XG4gICAgICAgIHRoaXMuY2hlY2tvdXRTZXJ2aWNlLnN0YXRlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NEYXRhID0gdGhpcy5jaGVja291dFNlcnZpY2UuZ2V0U3RlcERhdGEoJ2FkZHJlc3MnKTtcbiAgICAgICAgICAgIGlmICghYWRkcmVzc0RhdGEpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KGFkZHJlc3NEYXRhKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmxhc3RBZGRyZXNzS2V5ID09PSBrZXkpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMubGFzdEFkZHJlc3NLZXkgPSBrZXk7XG4gICAgICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5yZXN0YXJ0U3RlcCgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbklkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuc3VtbWFyeUNoYW5nZS5lbWl0KHt9KTtcbiAgICAgICAgICAgIHRoaXMucHJlbG9hZFNpbmdsZU9wdGlvbnMoKTtcbiAgICAgICAgICAgIHRoaXMuY29zdHMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXG5cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBhY3RTaGlwbWVudFZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLmdldFNoaXBtZW50TWV0aG9kcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9UcmFkdWNpYmxlID0gKG5hbWUpID0+IG5hbWUucmVwbGFjZSgvXy9nLCAnLScpO1xuXG4gICAgZGVsZXRlVVBTID0gKG1ldGhvZHMpID0+IG1ldGhvZHMuZmlsdGVyKG1ldGhvZCA9PiBtZXRob2QubmFtZSAhPSAnVVBTJyk7XG5cbiAgICAgc2V0TWV0aG9kID0gKG1ldGhvZCkgPT4ge1xuICAgICAgICAgdGhpcy5tZXRob2RTZWxlY3QgPSBtZXRob2Q7XG4gICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSB0cnVlO1xuICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gbnVsbDtcbiAgICAgICAgIHRoaXMuc2hpcG1lbnRTZXJ2aWNlLnJlc3RhcnRTdGVwKCk7XG5cbiAgICAgICAgIC8vIERlc2hhYmlsaXRhciB0b2RvcyBsb3MgYm90b25lc1xuICAgICAgICAgdGhpcy5idXR0b25zRGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgIC8vICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRNZXRob2QobWV0aG9kLmNvZGUpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgLy8gSGFiaWxpdGFyIHRvZG9zIGxvcyBib3RvbmVzXG4gICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge3RoaXMuYnV0dG9uc0Rpc2FibGVkID0gZmFsc2U7fSwgMTAwMCk7XG4gICAgICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAvLyBFbiBjYXNvIGRlIGVycm9yLCB0YW1iacOpbiBoYWJpbGl0YXIgbG9zIGJvdG9uZXNcbiAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3I6XCIsIGVycm9yKTtcbiAgICAgICAgICAgICB9KTtcbiAgICAgLy8gICAgIH0sIDEwMDApO1xuICAgICB9XG5cbiAgICAgcHJlbG9hZFNpbmdsZU9wdGlvbnMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICB0aGlzLmxvYWRpbmdfcHJlbG9hZCA9IHRydWU7XG4gICAgICAgICB0aGlzLnNpbmdsZU9wdGlvbnMgPSBbXTtcbiAgICAgICAgIHRoaXMuZ3JvdXBlZE9wdGlvbnMgPSBbXTtcbiAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25JZCA9IG51bGw7XG4gICAgICAgICB0aGlzLnVuYXZhaWxhYmxlTWV0aG9kcyA9IHt9O1xuICAgICAgICAgdGhpcy5zaGlwbWVudEVycm9yS2V5ID0gbnVsbDtcbiAgICAgICAgIGNvbnN0IG1ldGhvZE9wdGlvbnMgPSBhd2FpdCB0aGlzLnNoaXBtZW50U2VydmljZS5nZXRTaGlwcGluZ09wdGlvbnMoKTtcbiAgICAgICAgIGlmICghbWV0aG9kT3B0aW9ucyB8fCAhbWV0aG9kT3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICB0aGlzLmxvYWRpbmdfcHJlbG9hZCA9IGZhbHNlO1xuICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgIH1cbiAgICAgICAgIGxldCBvcHRpb25JbmRleCA9IDA7XG4gICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIG1ldGhvZE9wdGlvbnMpIHtcbiAgICAgICAgICAgICBjb25zdCBtZXRob2QgPSBlbnRyeT8ubWV0aG9kO1xuICAgICAgICAgICAgIGlmICghbWV0aG9kIHx8IG1ldGhvZC5uYW1lID09PSAnVVBTJykgY29udGludWU7XG4gICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGVudHJ5Py5vcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgIGxldCBoYXNDb250cmFjdHMgPSBmYWxzZTtcbiAgICAgICAgICAgICBvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgY29uc3QgY29udHJhY3RzID0gb3B0aW9uPy5jb250cmFjdHMgfHwgW107XG4gICAgICAgICAgICAgICAgIGlmICghY29udHJhY3RzLmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgICBoYXNDb250cmFjdHMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICBjb250cmFjdHMuZm9yRWFjaChjb250cmFjdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVkQ29udHJhY3QgPSB7IC4uLmNvbnRyYWN0IH07XG4gICAgICAgICAgICAgICAgICAgICBpZiAoIW5vcm1hbGl6ZWRDb250cmFjdC5jb250cmFjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRDb250cmFjdC5jb250cmFjdCA9IG9wdGlvbi5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaW5nbGVPcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHttZXRob2QuY29kZX0tJHtvcHRpb24ubmFtZX0tJHtjb250cmFjdC5uYW1lfS0ke29wdGlvbkluZGV4fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3ROYW1lOiBvcHRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBjb250cmFjdDogbm9ybWFsaXplZENvbnRyYWN0XG4gICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgaWYgKCFoYXNDb250cmFjdHMpIHtcbiAgICAgICAgICAgICAgICAgdGhpcy51bmF2YWlsYWJsZU1ldGhvZHNbbWV0aG9kLmNvZGVdID0gdHJ1ZTtcbiAgICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICAgICB0aGlzLmdyb3VwZWRPcHRpb25zID0gdGhpcy5idWlsZEdyb3VwZWRPcHRpb25zKHRoaXMuc2luZ2xlT3B0aW9ucyk7XG4gICAgICAgICBpZiAoIXRoaXMuc2luZ2xlT3B0aW9ucy5sZW5ndGggJiYgT2JqZWN0LmtleXModGhpcy51bmF2YWlsYWJsZU1ldGhvZHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgfVxuICAgICAgICAgdGhpcy5sb2FkaW5nX3ByZWxvYWQgPSBmYWxzZTtcbiAgICAgfVxuXG4gICAgc2VsZWN0U2luZ2xlT3B0aW9uID0gYXN5bmMgKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbikgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbklkID09PSBvcHRpb24uaWQgJiYgIXRoaXMubG9hZGluZ19pbnRlcm5hbCkgcmV0dXJuO1xuICAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbklkID0gb3B0aW9uLmlkO1xuICAgICAgICAgdGhpcy5sb2FkaW5nX2ludGVybmFsID0gdHJ1ZTtcbiAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9IG51bGw7XG4gICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IGNvbnRyYWN0RGF0YSA9IHsgLi4uKG9wdGlvbi5jb250cmFjdCB8fCB7fSkgfTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRpYWxDb250cmFjdE5hbWUgPSBjb250cmFjdERhdGEubmFtZSB8fCBvcHRpb24uY29udHJhY3Q/Lm5hbWU7XG4gICAgICAgICAgICBpZiAodGhpcy5zaG91bGRFbnJpY2hGcm9tTGVnYWN5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZWdhY3lDb250cmFjdERhdGEgPSBhd2FpdCB0aGlzLmdldExlZ2FjeUNvbnRyYWN0RGF0YShcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLm1ldGhvZD8uY29kZSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmNvc3ROYW1lLFxuICAgICAgICAgICAgICAgICAgICBpbml0aWFsQ29udHJhY3ROYW1lXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAobGVnYWN5Q29udHJhY3REYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyYWN0RGF0YSA9IHsgLi4uY29udHJhY3REYXRhLCAuLi5sZWdhY3lDb250cmFjdERhdGEgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjb250cmFjdFR5cGUgPSBjb250cmFjdERhdGEuY29udHJhY3QgfHwgb3B0aW9uLmNvc3ROYW1lO1xuICAgICAgICAgICAgY29uc3QgY29udHJhY3ROYW1lID0gY29udHJhY3REYXRhLm5hbWUgfHwgb3B0aW9uLmNvbnRyYWN0Py5uYW1lO1xuICAgICAgICAgICAgY29uc3Qgc2hpcHBpbmdNZXRob2RDb250cmFjdCA9IGAke29wdGlvbi5jb3N0TmFtZX1fJHtjb250cmFjdE5hbWV9YDtcbiAgICAgICAgICAgIGNvbnN0IHNoaXBwaW5nTWV0aG9kQnJhbmNoQ29kZSA9IG9wdGlvbi5jb3N0TmFtZSA9PT0gJ2JyYW5jaF9kZWxpdmVyeSdcbiAgICAgICAgICAgICAgICA/IChjb250cmFjdERhdGEuc3VjdXJzYWxfaWQgfHwgY29udHJhY3REYXRhLm51bWJlciB8fCBjb250cmFjdERhdGEuYnJhbmNoX3Byb3BlcnR5Py5udW1iZXIgfHwgY29udHJhY3ROYW1lKVxuICAgICAgICAgICAgICAgIDogY29udHJhY3ROYW1lO1xuICAgICAgICAgICAgY29uc3Qgc2FuaXRpemVkQ29udHJhY3REYXRhID0geyAuLi5jb250cmFjdERhdGEgfTtcbiAgICAgICAgICAgIGRlbGV0ZSBzYW5pdGl6ZWRDb250cmFjdERhdGEuYnJhbmNoX3Byb3BlcnR5O1xuICAgICAgICAgICAgZGVsZXRlIHNhbml0aXplZENvbnRyYWN0RGF0YS5vcmlnaW5hbFByaWNlO1xuICAgICAgICAgICAgZGVsZXRlIHNhbml0aXplZENvbnRyYWN0RGF0YS5vcHRpb247XG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0UGF5bG9hZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5zYW5pdGl6ZWRDb250cmFjdERhdGEsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdJZDogb3B0aW9uLm1ldGhvZC5jb2RlLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogb3B0aW9uLm1ldGhvZC5jb2RlLFxuICAgICAgICAgICAgICAgIG9wdGlvbjogb3B0aW9uLmNvc3ROYW1lLFxuICAgICAgICAgICAgICAgIGNvbnRyYWN0OiBjb250cmFjdFR5cGUsXG4gICAgICAgICAgICAgICAgbmFtZTogY29udHJhY3ROYW1lLFxuICAgICAgICAgICAgICAgIHByaWNlOiBjb250cmFjdERhdGEucHJpY2UsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdfbWV0aG9kX2NvbnRyYWN0OiBzaGlwcGluZ01ldGhvZENvbnRyYWN0LFxuICAgICAgICAgICAgICAgIHNoaXBwaW5nX21ldGhvZF9icmFuY2hfY29kZTogc2hpcHBpbmdNZXRob2RCcmFuY2hDb2RlXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgc3RlcERhdGEgPSB7XG4gICAgICAgICAgICAgICAgLi4ucmVxdWVzdFBheWxvYWQsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxQcmljZTogdGhpcy5zaGlwcGluZ1ByaWNlRGlzcGxheS5ub3JtYWxpemVQcmljZVZhbHVlKGNvbnRyYWN0RGF0YS5vcmlnaW5hbFByaWNlKSxcbiAgICAgICAgICAgICAgICBtZXRob2RfbmFtZTogb3B0aW9uLm1ldGhvZD8ubmFtZSxcbiAgICAgICAgICAgICAgICBjb250cmFjdF9uYW1lOiBjb250cmFjdE5hbWVcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNoaXBtZW50U2VydmljZS5zZXRTaGlwcGluZ09wdGlvbihyZXF1ZXN0UGF5bG9hZCwgc3RlcERhdGEpO1xuICAgICAgICAgICAgY29uc3QgbWV0aG9kTGFiZWwgPSBvcHRpb24ubWV0aG9kPy5uYW1lXG4gICAgICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvcHRpb24ubWV0aG9kLm5hbWUpXG4gICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyYWN0TGFiZWwgPSBvcHRpb24uY29udHJhY3Q/Lm5hbWVcbiAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KG9wdGlvbi5jb250cmFjdC5uYW1lKVxuICAgICAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgICBjb25zdCBncm91cExhYmVsID0gb3B0aW9uLmNvc3ROYW1lXG4gICAgICAgICAgICAgICAgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLnJlc29sdmVHcm91cExhYmVsKG9wdGlvbi5jb3N0TmFtZSkpXG4gICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gW2dyb3VwTGFiZWwsIG1ldGhvZExhYmVsLCBjb250cmFjdExhYmVsXS5maWx0ZXIoQm9vbGVhbikuam9pbignIMK3ICcpO1xuICAgICAgICAgICAgY29uc3QgZGV0YWlsID0gb3B0aW9uLmNvbnRyYWN0Py5jb21wdXRlZCB8fCBvcHRpb24uY29udHJhY3Q/LmRldGFpbCB8fCAnJztcbiAgICAgICAgICAgIHRoaXMuc3VtbWFyeUNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgICBsYWJlbDogbGFiZWwgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGRldGFpbDogZGV0YWlsIHx8IHVuZGVmaW5lZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgaWYgKHRoaXMuY29tcGFjdFNoaXBtZW50Vmlldykge1xuICAgICAgICAgICAgICAgICB0aGlzLmFkdmFuY2VTdGVwLmVtaXQoKTtcbiAgICAgICAgICAgICB9XG4gICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgIHRoaXMuc2hpcG1lbnRFcnJvcktleSA9ICdvcGVyYXRpb24tZXJyb3InO1xuICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICB0aGlzLmxvYWRpbmdfaW50ZXJuYWwgPSBmYWxzZTtcbiAgICAgICAgIH1cbiAgICAgfVxuXG4gICAgcHJpdmF0ZSBzaG91bGRFbnJpY2hGcm9tTGVnYWN5KG9wdGlvbjogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghb3B0aW9uIHx8IG9wdGlvbi5jb3N0TmFtZSAhPT0gJ2JyYW5jaF9kZWxpdmVyeScpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMZWdhY3lDb250cmFjdERhdGEgPSBhc3luYyAoXG4gICAgICAgIG1ldGhvZENvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgY29zdE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgY29udHJhY3ROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICApID0+IHtcbiAgICAgICAgaWYgKCFtZXRob2RDb2RlIHx8ICFjb3N0TmFtZSB8fCAhY29udHJhY3ROYW1lKSByZXR1cm4gbnVsbDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNvc3RzID0gYXdhaXQgdGhpcy5zaGlwbWVudFNlcnZpY2UuZ2V0Q29zdHNGb3JNZXRob2QobWV0aG9kQ29kZSk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZENvc3QgPSAoY29zdHMgfHwgW10pLmZpbmQoY29zdCA9PiBTdHJpbmcoY29zdD8ubmFtZSB8fCAnJykgPT09IFN0cmluZyhjb3N0TmFtZSkpO1xuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZENvc3Q/LmNvbnRyYWN0cz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ29udHJhY3QgPSBzZWxlY3RlZENvc3QuY29udHJhY3RzLmZpbmQoY29udHJhY3QgPT5cbiAgICAgICAgICAgICAgICBTdHJpbmcoY29udHJhY3Q/Lm5hbWUgfHwgJycpID09PSBTdHJpbmcoY29udHJhY3ROYW1lKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZENvbnRyYWN0IHx8IG51bGw7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICBzZXRBY3RpdmUoZSkge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBlLnRhcmdldC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuO1xuICAgICAgICBmb3IgKGNvbnN0IGJ1dHRvbiBvZiBwYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChidXR0b24uY2xhc3NMaXN0LmNvbnRhaW5zKCdhY3RpdmUnKSkge1xuICAgICAgICAgICAgICAgIGJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGUudGFyZ2V0LmNsYXNzTGlzdC5hZGQoXCJhY3RpdmVcIilcbiAgICB9XG5cbiAgICB2YWxpZE5hbWUgPSAobmFtZSkgPT4gaXNOYU4obmFtZSk7XG5cbiAgICBnZXRDb250cmFjdFByaWNlVmlldyA9IChjb250cmFjdDogYW55KSA9PlxuICAgICAgICB0aGlzLnNoaXBwaW5nUHJpY2VEaXNwbGF5LmdldENvbnRyYWN0Vmlldyhjb250cmFjdCk7XG5cbiAgICBwcml2YXRlIGJ1aWxkR3JvdXBlZE9wdGlvbnMob3B0aW9uczogYW55W10pIHtcbiAgICAgICAgaWYgKCFvcHRpb25zPy5sZW5ndGgpIHJldHVybiBbXTtcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gbmV3IE1hcDxzdHJpbmcsIGFueVtdPigpO1xuICAgICAgICBvcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IG9wdGlvbj8uY29zdE5hbWUgfHwgJ2RlZmF1bHQnO1xuICAgICAgICAgICAgaWYgKCFncm91cHMuaGFzKGtleSkpIGdyb3Vwcy5zZXQoa2V5LCBbXSk7XG4gICAgICAgICAgICBncm91cHMuZ2V0KGtleSk/LnB1c2gob3B0aW9uKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGdyb3Vwcy5lbnRyaWVzKCkpLm1hcCgoW2tleSwgZ3JvdXBPcHRpb25zXSkgPT4gKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnJlc29sdmVHcm91cExhYmVsKGtleSwgZ3JvdXBPcHRpb25zPy5bMF0/Lm1ldGhvZD8ubmFtZSksXG4gICAgICAgICAgICBvcHRpb25zOiBncm91cE9wdGlvbnNcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUdyb3VwTGFiZWwoY29zdE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwsIG1ldGhvZE5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGNvc3ROYW1lKSB7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkID0gY29zdE5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGlmIChub3JtYWxpemVkID09PSAnYnJhbmNoX2RlbGl2ZXJ5JykgcmV0dXJuICdSZXRpcm8gZW4gc3VjdXJzYWwnO1xuICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZWQgPT09ICdob21lX2RlbGl2ZXJ5JykgcmV0dXJuICdFbnbDrW8gYSBkb21pY2lsaW8nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtZXRob2ROYW1lIHx8IChjb3N0TmFtZSB8fCAnJyk7XG4gICAgfVxuXG59XG4iXX0=
@@ -5,8 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { Component, EventEmitter, Input, Output } from '@angular/core';
8
+ import { ShippingPriceDisplayService } from '../../../utils/shipping-price-display.service';
8
9
  let ShipmentEcSingleComponent = class ShipmentEcSingleComponent {
9
- constructor() {
10
+ constructor(shippingPriceDisplay) {
11
+ this.shippingPriceDisplay = shippingPriceDisplay;
10
12
  this.loadingInternal = false;
11
13
  this.loadingPreload = false;
12
14
  this.singleOptions = [];
@@ -35,6 +37,10 @@ let ShipmentEcSingleComponent = class ShipmentEcSingleComponent {
35
37
  return 'Envío a domicilio';
36
38
  return '';
37
39
  }
40
+ getOptionPriceView(option) {
41
+ var _a;
42
+ return this.shippingPriceDisplay.getContractView((_a = option) === null || _a === void 0 ? void 0 : _a.contract);
43
+ }
38
44
  shouldHideContractName(option) {
39
45
  var _a, _b, _c, _d;
40
46
  const methodCode = ((_b = (_a = option) === null || _a === void 0 ? void 0 : _a.method) === null || _b === void 0 ? void 0 : _b.code) || '';
@@ -45,6 +51,9 @@ let ShipmentEcSingleComponent = class ShipmentEcSingleComponent {
45
51
  return false;
46
52
  }
47
53
  };
54
+ ShipmentEcSingleComponent.ctorParameters = () => [
55
+ { type: ShippingPriceDisplayService }
56
+ ];
48
57
  __decorate([
49
58
  Input()
50
59
  ], ShipmentEcSingleComponent.prototype, "loadingInternal", void 0);
@@ -78,9 +87,9 @@ __decorate([
78
87
  ShipmentEcSingleComponent = __decorate([
79
88
  Component({
80
89
  selector: 'app-shipment-ec-single',
81
- template: "<div class=\"shipment-compact shipment-compact-flat shipment-step-surface\">\n <div class=\"single-step-overlay\" *ngIf=\"loadingInternal\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <ng-container *ngIf=\"loadingPreload; else shipmentOptions\">\n <div class=\"shipment-loading\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </ng-container>\n <ng-template #shipmentOptions>\n <ng-container *ngIf=\"groupedOptions?.length; else noMethods\">\n <div class=\"shipment-groups\">\n <div class=\"shipment-group\" *ngFor=\"let group of groupedOptions; trackBy: trackByGroup\">\n <div class=\"shipment-group-title\">{{ group.label | translate }}</div>\n <div class=\"shipment-options\">\n <label class=\"shipment-option\"\n *ngFor=\"let option of group.options; trackBy: trackByOption\"\n [class.is-selected]=\"selectedOptionId === option.id\">\n <input class=\"shipment-option-input\" type=\"radio\" name=\"shipping-option\"\n [checked]=\"selectedOptionId === option.id\"\n (click)=\"selectOption.emit(option)\">\n <span class=\"shipment-option-body\">\n <span class=\"shipment-option-title\" *ngIf=\"!shouldHideContractName(option)\">\n {{ option.contract?.name | translate }}\n </span>\n <span class=\"shipment-option-method\" *ngIf=\"option.method?.name\">\n {{ option.method?.name | translate }}\n </span>\n <span class=\"shipment-option-sub\" *ngIf=\"option.contract?.computed\">\n {{ option.contract?.computed | translate }}\n </span>\n <ng-container *ngIf=\"option.contract?.detail\">\n <span class=\"shipment-option-sub\"\n *ngFor=\"let line of getDetailLines(option.contract.detail); let i = index\"\n [class.shipment-option-detail-primary]=\"i === 0\">\n {{ line }}\n </span>\n </ng-container>\n </span>\n <span class=\"shipment-option-price\"\n [class.free]=\"isFreeShipping && option.contract?.price > 0\">\n {{ option.contract?.price > 0 ? (option.contract?.price | ecCurrencySymbol:'alwaysShowDecimals') : ('free' | translate) }}\n </span>\n </label>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"shipment-error\" *ngIf=\"shipmentErrorKey && singleOptions.length === 0 && !loadingPreload\">\n {{ shipmentErrorKey | translate }}\n </div>\n <ng-template #noMethods>\n <div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n <h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n </div>\n </ng-template>\n</div>\n",
82
- styles: [".shipment-compact{border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;padding:1rem;background:var(--ec-surface,#fff)}.shipment-compact-flat{border:0;padding:0;background:0 0}.shipment-loading{display:flex;justify-content:center;padding:1rem 0}.shipment-options{display:-ms-grid;display:grid;gap:0;border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;overflow:visible;background:var(--ec-surface,#fff)}.shipment-groups{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;gap:1.25rem}.shipment-group{display:block}.shipment-group-title{font-weight:600;text-align:left;margin:0 0 .65rem;color:var(--ec-text,#111);padding-bottom:.35rem}.shipment-group+.shipment-group{margin-top:.25rem}.shipment-option{display:-ms-grid;display:grid;-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto;gap:.75rem;border:0;border-top:1px solid var(--ec-border,#e3e3e3);padding:.75rem;cursor:pointer;background:var(--ec-surface,#fff);align-items:center;transition:border-color .2s,box-shadow .2s;margin:0}.shipment-option:first-child{border-top:0}.shipment-option.is-selected{border-color:var(--ec-accent,#2563eb);background:var(--ec-accent-soft,#f5f8ff);box-shadow:inset 0 0 0 1px var(--ec-accent,#2563eb)}.shipment-option-input{margin-top:.1rem}.shipment-option-body{display:flex;flex-direction:column;gap:.2rem}.shipment-option-title{font-weight:600}.shipment-option-sub{color:var(--ec-muted,#666);font-size:.9rem}.shipment-option-method{color:var(--ec-muted,#666);font-size:.85rem}.shipment-option-detail-primary{color:var(--ec-text,#111);font-weight:600}.shipment-option-price{font-weight:700;white-space:nowrap}.shipment-option-price.free{text-decoration:line-through;color:var(--ec-muted,#666)}.shipment-option-disabled{opacity:.6;cursor:not-allowed}.shipment-error{background:#fff3f3;border:1px solid #f3c4c4;color:#9a1a1a;padding:.75rem;border-radius:6px;margin-bottom:.75rem}.shipment-step-surface{position:relative}.single-step-overlay{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;z-index:5}@media screen and (max-width:576px){.shipment-compact{padding:0}.shipment-options{border-radius:8px}.shipment-option{padding:.6rem;gap:.5rem}.shipment-option-title{font-size:.9rem}.shipment-option-sub{font-size:.8rem}.shipment-option-price{font-size:.9rem}.shipment-option-input{margin-top:.05rem}}"]
90
+ template: "<div class=\"shipment-compact shipment-compact-flat shipment-step-surface\">\n <div class=\"single-step-overlay\" *ngIf=\"loadingInternal\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n <ng-container *ngIf=\"loadingPreload; else shipmentOptions\">\n <div class=\"shipment-loading\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </ng-container>\n <ng-template #shipmentOptions>\n <ng-container *ngIf=\"groupedOptions?.length; else noMethods\">\n <div class=\"shipment-groups\">\n <div class=\"shipment-group\" *ngFor=\"let group of groupedOptions; trackBy: trackByGroup\">\n <div class=\"shipment-group-title\">{{ group.label | translate }}</div>\n <div class=\"shipment-options\">\n <label class=\"shipment-option\"\n *ngFor=\"let option of group.options; trackBy: trackByOption\"\n [class.is-selected]=\"selectedOptionId === option.id\">\n <input class=\"shipment-option-input\" type=\"radio\" name=\"shipping-option\"\n [checked]=\"selectedOptionId === option.id\"\n (click)=\"selectOption.emit(option)\">\n <span class=\"shipment-option-body\">\n <span class=\"shipment-option-title\" *ngIf=\"!shouldHideContractName(option)\">\n {{ option.contract?.name | translate }}\n </span>\n <span class=\"shipment-option-method\" *ngIf=\"option.method?.name\">\n {{ option.method?.name | translate }}\n </span>\n <span class=\"shipment-option-sub\" *ngIf=\"option.contract?.computed\">\n {{ option.contract?.computed | translate }}\n </span>\n <ng-container *ngIf=\"option.contract?.detail\">\n <span class=\"shipment-option-sub\"\n *ngFor=\"let line of getDetailLines(option.contract.detail); let i = index\"\n [class.shipment-option-detail-primary]=\"i === 0\">\n {{ line }}\n </span>\n </ng-container>\n </span>\n <ng-container *ngIf=\"getOptionPriceView(option) as priceView\">\n <span class=\"shipment-option-price\" [class.shipment-option-price--discounted]=\"priceView.showOriginalPrice\"\n [class.shipment-option-price--free]=\"priceView.isFree\">\n <del class=\"shipment-option-price-original\" *ngIf=\"priceView.showOriginalPrice\">\n {{ priceView.originalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </del>\n <strong class=\"shipment-option-price-current\">\n <ng-container *ngIf=\"priceView.isFree; else finalPrice\">\n {{ 'free' | translate }}\n </ng-container>\n <ng-template #finalPrice>\n {{ priceView.finalPrice | ecCurrencySymbol:'alwaysShowDecimals' }}\n </ng-template>\n </strong>\n </span>\n </ng-container>\n </label>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"shipment-error\" *ngIf=\"shipmentErrorKey && singleOptions.length === 0 && !loadingPreload\">\n {{ shipmentErrorKey | translate }}\n </div>\n <ng-template #noMethods>\n <div class=\"d-flex flex-row w-100 justify-content-center mt-2\">\n <h5 class=\"text-secondary\">{{'no-shipment-methods'|translate}}</h5>\n </div>\n </ng-template>\n</div>\n",
91
+ styles: [".shipment-compact{border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;padding:1rem;background:var(--ec-surface,#fff)}.shipment-compact-flat{border:0;padding:0;background:0 0}.shipment-loading{display:flex;justify-content:center;padding:1rem 0}.shipment-options{display:-ms-grid;display:grid;gap:0;border:1px solid var(--ec-border,#e3e3e3);border-radius:6px;overflow:visible;background:var(--ec-surface,#fff)}.shipment-groups{display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;gap:1.25rem}.shipment-group{display:block}.shipment-group-title{font-weight:600;text-align:left;margin:0 0 .65rem;color:var(--ec-text,#111);padding-bottom:.35rem}.shipment-group+.shipment-group{margin-top:.25rem}.shipment-option{display:-ms-grid;display:grid;-ms-grid-columns:auto 1fr auto;grid-template-columns:auto 1fr auto;gap:.75rem;border:0;border-top:1px solid var(--ec-border,#e3e3e3);padding:.75rem;cursor:pointer;background:var(--ec-surface,#fff);align-items:center;transition:border-color .2s,box-shadow .2s;margin:0}.shipment-option:first-child{border-top:0}.shipment-option.is-selected{border-color:var(--ec-accent,#2563eb);background:var(--ec-accent-soft,#f5f8ff);box-shadow:inset 0 0 0 1px var(--ec-accent,#2563eb)}.shipment-option-input{margin-top:.1rem}.shipment-option-body{display:flex;flex-direction:column;gap:.2rem}.shipment-option-title{font-weight:600}.shipment-option-sub{color:var(--ec-muted,#666);font-size:.9rem}.shipment-option-method{color:var(--ec-muted,#666);font-size:.85rem}.shipment-option-detail-primary{color:var(--ec-text,#111);font-weight:600}.shipment-option-price{display:inline-flex;flex-direction:column;align-items:flex-end;gap:.15rem;font-weight:700;white-space:nowrap}.shipment-option-price-original{color:var(--ec-muted,#666);font-weight:500;text-decoration-thickness:1px}.shipment-option-price-current{color:var(--ec-text,#111)}.shipment-option-price--free .shipment-option-price-current{color:var(--ec-success,#198754)}.shipment-option-price--discounted .shipment-option-price-current{font-size:1rem}.shipment-option-disabled{opacity:.6;cursor:not-allowed}.shipment-error{background:#fff3f3;border:1px solid #f3c4c4;color:#9a1a1a;padding:.75rem;border-radius:6px;margin-bottom:.75rem}.shipment-step-surface{position:relative}.single-step-overlay{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;z-index:5}@media screen and (max-width:576px){.shipment-compact{padding:0}.shipment-options{border-radius:8px}.shipment-option{padding:.6rem;gap:.5rem}.shipment-option-title{font-size:.9rem}.shipment-option-sub{font-size:.8rem}.shipment-option-price{font-size:.9rem}.shipment-option-input{margin-top:.05rem}}"]
83
92
  })
84
93
  ], ShipmentEcSingleComponent);
85
94
  export { ShipmentEcSingleComponent };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQtZWMtc2luZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY2hlY2tvdXQtZWMvc2hpcG1lbnQtZWMtc2luZ2xlL3NoaXBtZW50LWVjLXNpbmdsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU92RSxJQUFhLHlCQUF5QixHQUF0QyxNQUFhLHlCQUF5QjtJQUF0QztRQUNhLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLG1CQUFjLEdBQXFELEVBQUUsQ0FBQztRQUN0RSxxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBQ3ZDLHVCQUFrQixHQUE0QixFQUFFLENBQUM7UUFDakQsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUNwQixxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQXdCakQsaUJBQVksR0FBRyxDQUFDLENBQVMsRUFBRSxLQUFzQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2hFLGtCQUFhLEdBQUcsQ0FBQyxDQUFTLEVBQUUsTUFBVyxFQUFFLEVBQUUsd0JBQUMsTUFBTSwwQ0FBRSxFQUFFLEdBQUEsQ0FBQztJQUMzRCxDQUFDO0lBeEJHLGNBQWMsQ0FBQyxNQUFpQztRQUM1QyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQVc7O1FBQzFCLE1BQU0sSUFBSSxHQUFHLE9BQUEsTUFBTSwwQ0FBRSxRQUFRLEtBQUksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFVBQVUsS0FBSyxpQkFBaUI7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQ2xFLElBQUksVUFBVSxLQUFLLGVBQWU7WUFBRSxPQUFPLG1CQUFtQixDQUFDO1FBQy9ELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQVc7O1FBQzlCLE1BQU0sVUFBVSxHQUFHLGFBQUEsTUFBTSwwQ0FBRSxNQUFNLDBDQUFFLElBQUksS0FBSSxFQUFFLENBQUM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsYUFBQSxNQUFNLDBDQUFFLFFBQVEsMENBQUUsSUFBSSxLQUFJLEVBQUUsQ0FBQztRQUNsRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUNyRixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUlKLENBQUE7QUFwQ1k7SUFBUixLQUFLLEVBQUU7a0VBQXlCO0FBQ3hCO0lBQVIsS0FBSyxFQUFFO2lFQUF3QjtBQUN2QjtJQUFSLEtBQUssRUFBRTtnRUFBMkI7QUFDMUI7SUFBUixLQUFLLEVBQUU7aUVBQXVFO0FBQ3RFO0lBQVIsS0FBSyxFQUFFO21FQUF3QztBQUN2QztJQUFSLEtBQUssRUFBRTtxRUFBa0Q7QUFDakQ7SUFBUixLQUFLLEVBQUU7MERBQXFCO0FBQ3BCO0lBQVIsS0FBSyxFQUFFO21FQUF3QztBQUN2QztJQUFSLEtBQUssRUFBRTtpRUFBd0I7QUFFdEI7SUFBVCxNQUFNLEVBQUU7K0RBQXdDO0FBWHhDLHlCQUF5QjtJQUxyQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLDI4R0FBa0Q7O0tBRXJELENBQUM7R0FDVyx5QkFBeUIsQ0FxQ3JDO1NBckNZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXNoaXBtZW50LWVjLXNpbmdsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoaXBtZW50LWVjLXNpbmdsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2hpcG1lbnQtZWMtc2luZ2xlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2hpcG1lbnRFY1NpbmdsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbG9hZGluZ0ludGVybmFsID0gZmFsc2U7XG4gICAgQElucHV0KCkgbG9hZGluZ1ByZWxvYWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaW5nbGVPcHRpb25zOiBhbnlbXSA9IFtdO1xuICAgIEBJbnB1dCgpIGdyb3VwZWRPcHRpb25zOiB7IGtleTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBvcHRpb25zOiBhbnlbXSB9W10gPSBbXTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZE9wdGlvbklkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSB1bmF2YWlsYWJsZU1ldGhvZHM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG4gICAgQElucHV0KCkgbWV0aG9kczogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSBzaGlwbWVudEVycm9yS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBpc0ZyZWVTaGlwcGluZyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdE9wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgZ2V0RGV0YWlsTGluZXMoZGV0YWlsOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgICAgIGlmICghZGV0YWlsKSByZXR1cm4gW107XG4gICAgICAgIHJldHVybiBkZXRhaWwuc3BsaXQoJyAtICcpLm1hcChsaW5lID0+IGxpbmUudHJpbSgpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9uVHlwZUxhYmVsKG9wdGlvbjogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBvcHRpb24/LmNvc3ROYW1lIHx8ICcnO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAobm9ybWFsaXplZCA9PT0gJ2JyYW5jaF9kZWxpdmVyeScpIHJldHVybiAnUmV0aXJvIGVuIHN1Y3Vyc2FsJztcbiAgICAgICAgaWYgKG5vcm1hbGl6ZWQgPT09ICdob21lX2RlbGl2ZXJ5JykgcmV0dXJuICdFbnbDrW8gYSBkb21pY2lsaW8nO1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgc2hvdWxkSGlkZUNvbnRyYWN0TmFtZShvcHRpb246IGFueSkge1xuICAgICAgICBjb25zdCBtZXRob2RDb2RlID0gb3B0aW9uPy5tZXRob2Q/LmNvZGUgfHwgJyc7XG4gICAgICAgIGNvbnN0IGNvbnRyYWN0TmFtZSA9IG9wdGlvbj8uY29udHJhY3Q/Lm5hbWUgfHwgJyc7XG4gICAgICAgIGlmIChtZXRob2RDb2RlLmluY2x1ZGVzKCdwaWNrdXBfc3RvcmUnKSAmJiAvXlswLTldKyQvLnRlc3QoU3RyaW5nKGNvbnRyYWN0TmFtZSkudHJpbSgpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRyYWNrQnlHcm91cCA9IChfOiBudW1iZXIsIGdyb3VwOiB7IGtleTogc3RyaW5nIH0pID0+IGdyb3VwLmtleTtcbiAgICB0cmFja0J5T3B0aW9uID0gKF86IG51bWJlciwgb3B0aW9uOiBhbnkpID0+IG9wdGlvbj8uaWQ7XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcG1lbnQtZWMtc2luZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWVhc3ljb21tZXJjZS8iLCJzb3VyY2VzIjpbImxpYi9lYy1jb21wb25lbnQvY2hlY2tvdXQtZWMvc2hpcG1lbnQtZWMtc2luZ2xlL3NoaXBtZW50LWVjLXNpbmdsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQU81RixJQUFhLHlCQUF5QixHQUF0QyxNQUFhLHlCQUF5QjtJQWFsQyxZQUFvQixvQkFBaUQ7UUFBakQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE2QjtRQVo1RCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixtQkFBYyxHQUFxRCxFQUFFLENBQUM7UUFDdEUscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQUN2Qyx1QkFBa0IsR0FBNEIsRUFBRSxDQUFDO1FBQ2pELFlBQU8sR0FBVSxFQUFFLENBQUM7UUFDcEIscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQUN2QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV0QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUE4QmpELGlCQUFZLEdBQUcsQ0FBQyxDQUFTLEVBQUUsS0FBc0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNoRSxrQkFBYSxHQUFHLENBQUMsQ0FBUyxFQUFFLE1BQVcsRUFBRSxFQUFFLHdCQUFDLE1BQU0sMENBQUUsRUFBRSxHQUFBLENBQUM7SUE3QmlCLENBQUM7SUFFekUsY0FBYyxDQUFDLE1BQWlDO1FBQzVDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdkIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBVzs7UUFDMUIsTUFBTSxJQUFJLEdBQUcsT0FBQSxNQUFNLDBDQUFFLFFBQVEsS0FBSSxFQUFFLENBQUM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLElBQUksVUFBVSxLQUFLLGlCQUFpQjtZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDbEUsSUFBSSxVQUFVLEtBQUssZUFBZTtZQUFFLE9BQU8sbUJBQW1CLENBQUM7UUFDL0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBVzs7UUFDMUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxPQUFDLE1BQU0sMENBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQVc7O1FBQzlCLE1BQU0sVUFBVSxHQUFHLGFBQUEsTUFBTSwwQ0FBRSxNQUFNLDBDQUFFLElBQUksS0FBSSxFQUFFLENBQUM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsYUFBQSxNQUFNLDBDQUFFLFFBQVEsMENBQUUsSUFBSSxLQUFJLEVBQUUsQ0FBQztRQUNsRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUNyRixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUlKLENBQUE7O1lBOUI2QywyQkFBMkI7O0FBWjVEO0lBQVIsS0FBSyxFQUFFO2tFQUF5QjtBQUN4QjtJQUFSLEtBQUssRUFBRTtpRUFBd0I7QUFDdkI7SUFBUixLQUFLLEVBQUU7Z0VBQTJCO0FBQzFCO0lBQVIsS0FBSyxFQUFFO2lFQUF1RTtBQUN0RTtJQUFSLEtBQUssRUFBRTttRUFBd0M7QUFDdkM7SUFBUixLQUFLLEVBQUU7cUVBQWtEO0FBQ2pEO0lBQVIsS0FBSyxFQUFFOzBEQUFxQjtBQUNwQjtJQUFSLEtBQUssRUFBRTttRUFBd0M7QUFDdkM7SUFBUixLQUFLLEVBQUU7aUVBQXdCO0FBRXRCO0lBQVQsTUFBTSxFQUFFOytEQUF3QztBQVh4Qyx5QkFBeUI7SUFMckMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxtM0lBQWtEOztLQUVyRCxDQUFDO0dBQ1cseUJBQXlCLENBMkNyQztTQTNDWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hpcHBpbmdQcmljZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc2hpcHBpbmctcHJpY2UtZGlzcGxheS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtc2hpcG1lbnQtZWMtc2luZ2xlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hpcG1lbnQtZWMtc2luZ2xlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaGlwbWVudC1lYy1zaW5nbGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTaGlwbWVudEVjU2luZ2xlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBsb2FkaW5nSW50ZXJuYWwgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBsb2FkaW5nUHJlbG9hZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNpbmdsZU9wdGlvbnM6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgZ3JvdXBlZE9wdGlvbnM6IHsga2V5OiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IG9wdGlvbnM6IGFueVtdIH1bXSA9IFtdO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkT3B0aW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHVuYXZhaWxhYmxlTWV0aG9kczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgICBASW5wdXQoKSBtZXRob2RzOiBhbnlbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHNoaXBtZW50RXJyb3JLZXk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGlzRnJlZVNoaXBwaW5nID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNoaXBwaW5nUHJpY2VEaXNwbGF5OiBTaGlwcGluZ1ByaWNlRGlzcGxheVNlcnZpY2UpIHt9XG5cbiAgICBnZXREZXRhaWxMaW5lcyhkZXRhaWw6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICAgICAgaWYgKCFkZXRhaWwpIHJldHVybiBbXTtcbiAgICAgICAgcmV0dXJuIGRldGFpbC5zcGxpdCgnIC0gJykubWFwKGxpbmUgPT4gbGluZS50cmltKCkpLmZpbHRlcihCb29sZWFuKTtcbiAgICB9XG5cbiAgICBnZXRPcHRpb25UeXBlTGFiZWwob3B0aW9uOiBhbnkpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IG9wdGlvbj8uY29zdE5hbWUgfHwgJyc7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChub3JtYWxpemVkID09PSAnYnJhbmNoX2RlbGl2ZXJ5JykgcmV0dXJuICdSZXRpcm8gZW4gc3VjdXJzYWwnO1xuICAgICAgICBpZiAobm9ybWFsaXplZCA9PT0gJ2hvbWVfZGVsaXZlcnknKSByZXR1cm4gJ0VudsOtbyBhIGRvbWljaWxpbyc7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBnZXRPcHRpb25QcmljZVZpZXcob3B0aW9uOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcHBpbmdQcmljZURpc3BsYXkuZ2V0Q29udHJhY3RWaWV3KG9wdGlvbj8uY29udHJhY3QpO1xuICAgIH1cblxuICAgIHNob3VsZEhpZGVDb250cmFjdE5hbWUob3B0aW9uOiBhbnkpIHtcbiAgICAgICAgY29uc3QgbWV0aG9kQ29kZSA9IG9wdGlvbj8ubWV0aG9kPy5jb2RlIHx8ICcnO1xuICAgICAgICBjb25zdCBjb250cmFjdE5hbWUgPSBvcHRpb24/LmNvbnRyYWN0Py5uYW1lIHx8ICcnO1xuICAgICAgICBpZiAobWV0aG9kQ29kZS5pbmNsdWRlcygncGlja3VwX3N0b3JlJykgJiYgL15bMC05XSskLy50ZXN0KFN0cmluZyhjb250cmFjdE5hbWUpLnRyaW0oKSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0cmFja0J5R3JvdXAgPSAoXzogbnVtYmVyLCBncm91cDogeyBrZXk6IHN0cmluZyB9KSA9PiBncm91cC5rZXk7XG4gICAgdHJhY2tCeU9wdGlvbiA9IChfOiBudW1iZXIsIG9wdGlvbjogYW55KSA9PiBvcHRpb24/LmlkO1xufVxuIl19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctb3B0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2ludGVyZmFjZXMvc2hpcHBpbmctb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNoaXBwaW5nUHJpY2VTb3VyY2Uge1xuICAgIHByaWNlPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbDtcbiAgICBvcmlnaW5hbFByaWNlPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaGlwcGluZ0NvbnRyYWN0QWRkcmVzcyB7XG4gICAgc3RyZWV0Pzogc3RyaW5nO1xuICAgIG51bWJlcj86IHN0cmluZyB8IG51bWJlcjtcbiAgICBwcm92aW5jZT86IHN0cmluZztcbiAgICBjaXR5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBwaW5nQnJhbmNoUHJvcGVydHkge1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgbnVtYmVyPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGFkZHJlc3M/OiBTaGlwcGluZ0NvbnRyYWN0QWRkcmVzcztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hpcHBpbmdPcHRpb25Db250cmFjdCBleHRlbmRzIFNoaXBwaW5nUHJpY2VTb3VyY2Uge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY29udHJhY3Q/OiBzdHJpbmc7XG4gICAgc2VsZWN0ZWQ/OiBib29sZWFuO1xuICAgIGJyYW5jaF9wcm9wZXJ0eT86IFNoaXBwaW5nQnJhbmNoUHJvcGVydHk7XG4gICAgc2hpcHBpbmdfbWV0aG9kX2NvbnRyYWN0Pzogc3RyaW5nO1xuICAgIHNoaXBwaW5nX21ldGhvZF9icmFuY2hfY29kZT86IHN0cmluZztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hpcHBpbmdPcHRpb25FbnRyeSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb250cmFjdHM/OiBTaGlwcGluZ09wdGlvbkNvbnRyYWN0W107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBwaW5nTWV0aG9kRW50cnkge1xuICAgIGlkPzogbnVtYmVyO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBwcmljZT86IHtcbiAgICAgICAgY3VycmVudD86IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG4gICAgfTtcbiAgICB0cmFja2luZ1VybD86IHN0cmluZztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hpcHBpbmdNZXRob2RzR3JvdXAge1xuICAgIG1ldGhvZD86IFNoaXBwaW5nTWV0aG9kRW50cnk7XG4gICAgb3B0aW9ucz86IFNoaXBwaW5nT3B0aW9uRW50cnlbXTtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hpcHBpbmdPcHRpb25zUmVzcG9uc2Uge1xuICAgIHNoaXBtZW50cz86IEFycmF5PHtcbiAgICAgICAgbWV0aG9kcz86IFJlY29yZDxzdHJpbmcsIFNoaXBwaW5nTWV0aG9kc0dyb3VwPjtcbiAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIH0+O1xufVxuXG4iXX0=