ng-easycommerce 0.0.679 → 0.0.680
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/bundles/ng-easycommerce.umd.js +162 -27
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/ec-component/cart-ec/cart-ec.component.js +26 -1
- package/esm2015/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.js +75 -2
- package/esm2015/lib/ec-component/product-detail-ec/product-detail-ec.component.js +65 -28
- package/esm5/lib/ec-component/cart-ec/cart-ec.component.js +26 -1
- package/esm5/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.js +75 -2
- package/esm5/lib/ec-component/product-detail-ec/product-detail-ec.component.js +64 -27
- package/fesm2015/ng-easycommerce.js +163 -28
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +162 -27
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/cart-ec/cart-ec.component.d.ts +2 -0
- package/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.d.ts +8 -0
- package/lib/ec-component/product-detail-ec/product-detail-ec.component.d.ts +15 -4
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
package/esm5/lib/ec-component/multiple-items-to-cart-ec/multiple-items-to-cart-ec.component.js
CHANGED
|
@@ -35,7 +35,77 @@ var MultipleItemsToCartEcComponent = /** @class */ (function (_super) {
|
|
|
35
35
|
_this.totalItems = new EventEmitter();
|
|
36
36
|
_this.total = 0;
|
|
37
37
|
_this.countItems = 0;
|
|
38
|
+
_this.quantity = 1;
|
|
39
|
+
_this.spanInfo = '';
|
|
38
40
|
_this.optionsProductForVariant = function () { return _this.product.productWithUniqueVariant; };
|
|
41
|
+
_this.plus = function (product, stock, multipleQuantity) {
|
|
42
|
+
if (multipleQuantity && multipleQuantity > 0) {
|
|
43
|
+
var next = _this.quantity % multipleQuantity !== 0
|
|
44
|
+
? Math.ceil(_this.quantity / multipleQuantity) * multipleQuantity
|
|
45
|
+
: _this.quantity + multipleQuantity;
|
|
46
|
+
stock ? (next <= stock ? _this.quantity = next : _this.toastService.show('out-of-stock-actually'))
|
|
47
|
+
: _this.quantity = next;
|
|
48
|
+
_this.setQuantity(_this.quantity, product);
|
|
49
|
+
_this.validateQuantity(_this.quantity, product);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
stock ? (_this.quantity < stock ? _this.quantity = _this.quantity + 1 : _this.toastService.show('out-of-stock-actually'))
|
|
53
|
+
: _this.quantity = _this.quantity + 1;
|
|
54
|
+
_this.setQuantity(_this.quantity, product);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
_this.less = function (product, multipleQuantity, minimumItemsQuantity) {
|
|
58
|
+
if (multipleQuantity && multipleQuantity >= 0) {
|
|
59
|
+
var minimum = minimumItemsQuantity || multipleQuantity;
|
|
60
|
+
var next = _this.quantity % multipleQuantity !== 0
|
|
61
|
+
? Math.floor(_this.quantity / multipleQuantity) * multipleQuantity
|
|
62
|
+
: _this.quantity - multipleQuantity;
|
|
63
|
+
if (next >= minimum) {
|
|
64
|
+
_this.quantity = next;
|
|
65
|
+
}
|
|
66
|
+
_this.setQuantity(_this.quantity, product);
|
|
67
|
+
_this.validateQuantity(_this.quantity, product);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
_this.quantity > 0 ? _this.quantity = _this.quantity - 1 : null;
|
|
71
|
+
_this.setQuantity(_this.quantity, product);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
_this.isQuantityValid = function (quantity, item) {
|
|
75
|
+
var _a, _b, _c, _d, _e, _f;
|
|
76
|
+
var minimumItemsQuantity = (_c = (_b = (_a = item) === null || _a === void 0 ? void 0 : _a.variants) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.minimumItemsQuantity;
|
|
77
|
+
var multipleQuantity = (_f = (_e = (_d = item) === null || _d === void 0 ? void 0 : _d.variants) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.multipleQuantity;
|
|
78
|
+
if (minimumItemsQuantity && quantity < minimumItemsQuantity)
|
|
79
|
+
return false;
|
|
80
|
+
if (multipleQuantity && quantity % multipleQuantity !== 0)
|
|
81
|
+
return false;
|
|
82
|
+
return true;
|
|
83
|
+
};
|
|
84
|
+
_this.validateQuantity = function (quantity, item) {
|
|
85
|
+
var _a, _b, _c, _d, _e, _f;
|
|
86
|
+
var minimumItemsQuantity = (_c = (_b = (_a = item) === null || _a === void 0 ? void 0 : _a.variants) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.minimumItemsQuantity;
|
|
87
|
+
var multipleQuantity = (_f = (_e = (_d = item) === null || _d === void 0 ? void 0 : _d.variants) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.multipleQuantity;
|
|
88
|
+
_this.spanInfo = '';
|
|
89
|
+
if (minimumItemsQuantity && quantity < minimumItemsQuantity) {
|
|
90
|
+
_this.spanInfo = 'La cantidad debe ser al menos ' + minimumItemsQuantity;
|
|
91
|
+
}
|
|
92
|
+
else if (multipleQuantity && quantity % multipleQuantity !== 0) {
|
|
93
|
+
_this.spanInfo = 'La cantidad debe ser m\u00faltiplo de ' + multipleQuantity;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
_this.buildButtons = function (asociatedData) {
|
|
97
|
+
var maximumNumberOfButtons = 6;
|
|
98
|
+
if (asociatedData.multipleQuantity) {
|
|
99
|
+
var maximum = asociatedData.maximumItemsQuantity || asociatedData.stock;
|
|
100
|
+
var minimum = asociatedData.minimumItemsQuantity || asociatedData.multipleQuantity;
|
|
101
|
+
var buttons = [];
|
|
102
|
+
for (var i = minimum; i <= maximum; i = i + asociatedData.multipleQuantity) {
|
|
103
|
+
buttons.push(i);
|
|
104
|
+
}
|
|
105
|
+
return buttons.length > maximumNumberOfButtons ? buttons.slice(0, maximumNumberOfButtons) : buttons;
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
};
|
|
39
109
|
_this.setQuantity = function (value, product) {
|
|
40
110
|
var quantity = Number(value) > product.currentOption.stock ? product.currentOption.stock : Number(value);
|
|
41
111
|
product.productToCartItem = {
|
|
@@ -71,8 +141,11 @@ var MultipleItemsToCartEcComponent = /** @class */ (function (_super) {
|
|
|
71
141
|
return _this;
|
|
72
142
|
}
|
|
73
143
|
MultipleItemsToCartEcComponent.prototype.ngOnInit = function () {
|
|
74
|
-
var _a;
|
|
144
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
75
145
|
this.product.productWithUniqueVariant = (_a = this.productService) === null || _a === void 0 ? void 0 : _a.getProductWithUniqueVariant(this.product, this.getObjectParamsWithVariant());
|
|
146
|
+
var minQty = (_d = (_c = (_b = this.product) === null || _b === void 0 ? void 0 : _b.variants) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.minimumItemsQuantity;
|
|
147
|
+
var multipleQty = (_g = (_f = (_e = this.product) === null || _e === void 0 ? void 0 : _e.variants) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.multipleQuantity;
|
|
148
|
+
this.quantity = minQty || multipleQty || 1;
|
|
76
149
|
this.ecOnInit();
|
|
77
150
|
};
|
|
78
151
|
MultipleItemsToCartEcComponent.ctorParameters = function () { return [
|
|
@@ -103,4 +176,4 @@ var MultipleItemsToCartEcComponent = /** @class */ (function (_super) {
|
|
|
103
176
|
return MultipleItemsToCartEcComponent;
|
|
104
177
|
}(ComponentHelper));
|
|
105
178
|
export { MultipleItemsToCartEcComponent };
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L211bHRpcGxlLWl0ZW1zLXRvLWNhcnQtZWMvbXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUXpEO0lBQW9ELGtEQUFlO0lBVS9ELHdDQUFtQixNQUFpQixFQUFTLGNBQW9DLEVBQVMsV0FBd0IsRUFBUyxZQUEwQjtRQUFySixZQUNJLGlCQUFPLFNBRVY7UUFIa0IsWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUFTLG9CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUFTLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsa0JBQVksR0FBWixZQUFZLENBQWM7UUFOM0ksb0JBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ25DLGdCQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUVsQyxXQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ1QsZ0JBQVUsR0FBRyxDQUFDLENBQUE7UUFZckIsOEJBQXdCLEdBQUcsY0FBTSxPQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQXJDLENBQXFDLENBQUE7UUFFdEUsaUJBQVcsR0FBRyxVQUFDLEtBQUssRUFBRSxPQUFnQjtZQUVsQyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDeEcsT0FBTyxDQUFDLGlCQUFpQixHQUFHO2dCQUN4QixXQUFXLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXO2dCQUM5QyxXQUFXLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXO2dCQUM5QyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVTtnQkFDNUMsU0FBUyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVU7YUFDekQsQ0FBQTtZQUVELEtBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBO1lBQ2QsS0FBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUE7WUFDbkIsS0FBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLENBQUMsaUJBQWlCLEVBQXRCLENBQXNCLENBQUMsQ0FBQyxHQUFHLENBQzVFLFVBQUEsSUFBSTtnQkFDQSxLQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUE7Z0JBQzlDLEtBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQTtZQUN0RCxDQUFDLENBQ0osQ0FBQTtZQUNELEtBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUMvQyxLQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFFcEQsQ0FBQyxDQUFBO1FBRUQsZUFBUyxHQUFHLFVBQUMsS0FBSyxFQUFFLE9BQWdCO1lBQ2hDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxPQUFPLEtBQUssQ0FBQTthQUNmO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDLENBQUE7UUFFRCx3QkFBa0IsR0FBRyxjQUFNLE9BQUEsS0FBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsSUFBSSxDQUFFLFVBQUEsSUFBSSxZQUFJLE9BQUEsT0FBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxLQUFLLEtBQUksSUFBSSxDQUFBLEVBQUEsQ0FBQyxFQUFoRixDQUFnRixDQUFBO1FBRW5HLGdDQUEwQixHQUFHO1lBQ2pDLE9BQU8sS0FBSSxDQUFDLGlCQUFpQixJQUFJLEtBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO1FBQ2hFLENBQUMsQ0FBQTtRQUVELDBCQUFvQixHQUFHO1lBQ25CLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFHLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQTtRQUMzRixDQUFDLENBQUE7UUFqREcsS0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFBOztJQUN4QixDQUFDO0lBRUQsaURBQVEsR0FBUjs7UUFDSSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixTQUFHLElBQUksQ0FBQyxjQUFjLDBDQUFFLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQTtRQUN6SSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbkIsQ0FBQzs7Z0JBUjBCLFNBQVM7Z0JBQXlCLG9CQUFvQjtnQkFBc0IsV0FBVztnQkFBdUIsWUFBWTs7SUFSNUk7UUFBUixLQUFLLEVBQUU7bUVBQWtCO0lBQ2pCO1FBQVIsS0FBSyxFQUFFOzZFQUFvRDtJQUNsRDtRQUFULE1BQU0sRUFBRTswRUFBb0M7SUFDbkM7UUFBVCxNQUFNLEVBQUU7c0VBQWdDO0lBTGhDLDhCQUE4QjtRQUwxQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsK0JBQStCO1lBQ3pDLGdsREFBdUQ7O1NBRTFELENBQUM7T0FDVyw4QkFBOEIsQ0ErRDFDO0lBQUQscUNBQUM7Q0FBQSxBQS9ERCxDQUFvRCxlQUFlLEdBK0RsRTtTQS9EWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xyXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb3JlLmNvbnN0cyc7XHJcbmltcG9ydCB7IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhcmFtc0ludGVyZmFjZXMvcGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCc7XHJcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Byb2R1Y3QnO1xyXG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLW11bHRpcGxlLWl0ZW1zLXRvLWNhcnQtZWMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdtdWx0aXBsZS1pdGVtcy10by1jYXJ0LWVjLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWydtdWx0aXBsZS1pdGVtcy10by1jYXJ0LWVjLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpcGxlSXRlbXNUb0NhcnRFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciB7XHJcblxyXG4gICAgQElucHV0KCkgcHJvZHVjdDogUHJvZHVjdDtcclxuICAgIEBJbnB1dCgpIG9iamVjdFdpdGhWYXJpYW50OiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50O1xyXG4gICAgQE91dHB1dCgpIHRvdGFsQ29zdEl0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcbiAgICBAT3V0cHV0KCkgdG90YWxJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG5cclxuICAgIHB1YmxpYyB0b3RhbCA9IDBcclxuICAgIHB1YmxpYyBjb3VudEl0ZW1zID0gMFxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25zdHM6IENvbnN0YW50cywgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSwgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSwgcHVibGljIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucHJvZHVjdC5wcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQgPSB0aGlzLnByb2R1Y3RTZXJ2aWNlPy5nZXRQcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQodGhpcy5wcm9kdWN0LCB0aGlzLmdldE9iamVjdFBhcmFtc1dpdGhWYXJpYW50KCkpXHJcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXHJcbiAgICB9XHJcblxyXG4gICAgb3B0aW9uc1Byb2R1Y3RGb3JWYXJpYW50ID0gKCkgPT4gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudFxyXG5cclxuICAgIHNldFF1YW50aXR5ID0gKHZhbHVlLCBwcm9kdWN0OiBQcm9kdWN0KSA9PiB7XHJcblxyXG4gICAgICAgIGxldCBxdWFudGl0eSA9IE51bWJlcih2YWx1ZSkgPiBwcm9kdWN0LmN1cnJlbnRPcHRpb24uc3RvY2sgPyBwcm9kdWN0LmN1cnJlbnRPcHRpb24uc3RvY2sgOiBOdW1iZXIodmFsdWUpXHJcbiAgICAgICAgcHJvZHVjdC5wcm9kdWN0VG9DYXJ0SXRlbSA9IHtcclxuICAgICAgICAgICAgcHJvZHVjdENvZGU6IHByb2R1Y3QuY3VycmVudE9wdGlvbi5wcm9kdWN0Q29kZSxcclxuICAgICAgICAgICAgdmFyaWFudENvZGU6IHByb2R1Y3QuY3VycmVudE9wdGlvbi52YXJpYW50Q29kZSxcclxuICAgICAgICAgICAgcXVhbnRpdHk6IHF1YW50aXR5LFxyXG4gICAgICAgICAgICBmaW5hbFByaWNlOiBwcm9kdWN0LmN1cnJlbnRPcHRpb24uZmluYWxQcmljZSxcclxuICAgICAgICAgICAgdG90YWxDb3N0OiBxdWFudGl0eSAqIHByb2R1Y3QuY3VycmVudE9wdGlvbi5maW5hbFByaWNlLFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50b3RhbCA9IDBcclxuICAgICAgICB0aGlzLmNvdW50SXRlbXMgPSAwXHJcbiAgICAgICAgdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudC5maWx0ZXIocHJvZCA9PiBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtKS5tYXAoXHJcbiAgICAgICAgICAgIHByb2QgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbCArPSBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtLnRvdGFsQ29zdFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudEl0ZW1zICs9IHByb2QucHJvZHVjdFRvQ2FydEl0ZW0ucXVhbnRpdHlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgICB0aGlzLnRvdGFsQ29zdEl0ZW1zLmVtaXQodGhpcy50b3RhbC50b1N0cmluZygpKVxyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcy5lbWl0KHRoaXMuY291bnRJdGVtcy50b1N0cmluZygpKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBjb25kaXRpb24gPSAodmFsdWUsIHByb2R1Y3Q6IFByb2R1Y3QpIDogYm9vbGVhbiA9PiB7XHJcbiAgICAgICAgaWYgKE51bWJlcih2YWx1ZSkgPj0gcHJvZHVjdC5jdXJyZW50T3B0aW9uLnN0b2NrKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG5cclxuICAgIGFsbFdpdGhvdXRUcmFja2luZyA9ICgpID0+IHRoaXMub3B0aW9uc1Byb2R1Y3RGb3JWYXJpYW50KCkuc29tZSggaXRlbSA9PiBpdGVtLmN1cnJlbnRPcHRpb24/LnN0b2NrICE9IDk5OTkpXHJcblxyXG4gICAgcHJpdmF0ZSBnZXRPYmplY3RQYXJhbXNXaXRoVmFyaWFudCA9ICgpOiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RXaXRoVmFyaWFudCB8fCB0aGlzLmdldE9iamVjdFdpdGhWYXJpYW50KClcclxuICAgIH1cclxuXHJcbiAgICBnZXRPYmplY3RXaXRoVmFyaWFudCA9ICgpOiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0+IHtcclxuICAgICAgICByZXR1cm4geyB0eXBlOiAnY29sb3InLCBjb2RlOiAnY29sb3InLCBkZWZhdWx0Rmlyc3RPcHRpb246IHRydWUgLCBjaGVja0lmU3RvY2s6IGZhbHNlIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L211bHRpcGxlLWl0ZW1zLXRvLWNhcnQtZWMvbXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUXpEO0lBQW9ELGtEQUFlO0lBYS9ELHdDQUFtQixNQUFpQixFQUFTLGNBQW9DLEVBQVMsV0FBd0IsRUFBUyxZQUEwQjtRQUFySixZQUNJLGlCQUFPLFNBRVY7UUFIa0IsWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUFTLG9CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUFTLGlCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsa0JBQVksR0FBWixZQUFZLENBQWM7UUFUM0ksb0JBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ25DLGdCQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUVsQyxXQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ1QsZ0JBQVUsR0FBRyxDQUFDLENBQUE7UUFDZCxjQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsY0FBUSxHQUFXLEVBQUUsQ0FBQztRQWdC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cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudEhlbHBlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvY29tcG9uZW50LWhlbHBlcic7XHJcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcclxuaW1wb3J0IHsgUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFyYW1zSW50ZXJmYWNlcy9wYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50JztcclxuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcHJvZHVjdCc7XHJcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdC1kZXRhaWwuc2VydmljZSc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtbXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJ211bHRpcGxlLWl0ZW1zLXRvLWNhcnQtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJ211bHRpcGxlLWl0ZW1zLXRvLWNhcnQtZWMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVJdGVtc1RvQ2FydEVjQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50SGVscGVyIHtcclxuXHJcbiAgICBASW5wdXQoKSBwcm9kdWN0OiBQcm9kdWN0O1xyXG4gICAgQElucHV0KCkgb2JqZWN0V2l0aFZhcmlhbnQ6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQ7XHJcbiAgICBAT3V0cHV0KCkgdG90YWxDb3N0SXRlbXMgPSBuZXcgRXZlbnRFbWl0dGVyKClcclxuICAgIEBPdXRwdXQoKSB0b3RhbEl0ZW1zID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcblxyXG4gICAgcHVibGljIHRvdGFsID0gMFxyXG4gICAgcHVibGljIGNvdW50SXRlbXMgPSAwXHJcbiAgICBwdWJsaWMgcXVhbnRpdHkgPSAxO1xyXG4gICAgcHVibGljIHNwYW5JbmZvOiBzdHJpbmcgPSAnJztcclxuICAgIHB1YmxpYyBkaXNhYmxlc0J1dHRvbjogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25zdHM6IENvbnN0YW50cywgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSwgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSwgcHVibGljIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMucHJvZHVjdC5wcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQgPSB0aGlzLnByb2R1Y3RTZXJ2aWNlPy5nZXRQcm9kdWN0V2l0aFVuaXF1ZVZhcmlhbnQodGhpcy5wcm9kdWN0LCB0aGlzLmdldE9iamVjdFBhcmFtc1dpdGhWYXJpYW50KCkpXHJcbiAgICAgICAgY29uc3QgbWluUXR5ID0gdGhpcy5wcm9kdWN0Py52YXJpYW50cz8uWzBdPy5taW5pbXVtSXRlbXNRdWFudGl0eTtcclxuICAgICAgICBjb25zdCBtdWx0aXBsZVF0eSA9IHRoaXMucHJvZHVjdD8udmFyaWFudHM/LlswXT8ubXVsdGlwbGVRdWFudGl0eTtcclxuICAgICAgICB0aGlzLnF1YW50aXR5ID0gbWluUXR5IHx8IG11bHRpcGxlUXR5IHx8IDE7XHJcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXHJcbiAgICB9XHJcblxyXG4gICAgb3B0aW9uc1Byb2R1Y3RGb3JWYXJpYW50ID0gKCkgPT4gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudFxyXG5cclxuICAgIHBsdXMgPSAocHJvZHVjdDogUHJvZHVjdCwgc3RvY2s/OiBhbnksIG11bHRpcGxlUXVhbnRpdHk/OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAobXVsdGlwbGVRdWFudGl0eSAmJiBtdWx0aXBsZVF1YW50aXR5ID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5xdWFudGl0eSAlIG11bHRpcGxlUXVhbnRpdHkgIT09IDBcclxuICAgICAgICAgICAgICAgID8gTWF0aC5jZWlsKHRoaXMucXVhbnRpdHkgLyBtdWx0aXBsZVF1YW50aXR5KSAqIG11bHRpcGxlUXVhbnRpdHlcclxuICAgICAgICAgICAgICAgIDogdGhpcy5xdWFudGl0eSArIG11bHRpcGxlUXVhbnRpdHk7XHJcbiAgICAgICAgICAgIHN0b2NrID8gKG5leHQgPD0gc3RvY2sgPyB0aGlzLnF1YW50aXR5ID0gbmV4dCA6IHRoaXMudG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxyXG4gICAgICAgICAgICAgICAgICAgOiB0aGlzLnF1YW50aXR5ID0gbmV4dDtcclxuICAgICAgICAgICAgdGhpcy5zZXRRdWFudGl0eSh0aGlzLnF1YW50aXR5LCBwcm9kdWN0KTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVF1YW50aXR5KHRoaXMucXVhbnRpdHksIHByb2R1Y3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHN0b2NrID8gKHRoaXMucXVhbnRpdHkgPCBzdG9jayA/IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5ICsgMSA6IHRoaXMudG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxyXG4gICAgICAgICAgICAgICAgICAgOiB0aGlzLnF1YW50aXR5ID0gdGhpcy5xdWFudGl0eSArIDE7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UXVhbnRpdHkodGhpcy5xdWFudGl0eSwgcHJvZHVjdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxlc3MgPSAocHJvZHVjdDogUHJvZHVjdCwgbXVsdGlwbGVRdWFudGl0eT86IGFueSwgbWluaW11bUl0ZW1zUXVhbnRpdHk/OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAobXVsdGlwbGVRdWFudGl0eSAmJiBtdWx0aXBsZVF1YW50aXR5ID49IDApIHtcclxuICAgICAgICAgICAgY29uc3QgbWluaW11bSA9IG1pbmltdW1JdGVtc1F1YW50aXR5IHx8IG11bHRpcGxlUXVhbnRpdHk7XHJcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLnF1YW50aXR5ICUgbXVsdGlwbGVRdWFudGl0eSAhPT0gMFxyXG4gICAgICAgICAgICAgICAgPyBNYXRoLmZsb29yKHRoaXMucXVhbnRpdHkgLyBtdWx0aXBsZVF1YW50aXR5KSAqIG11bHRpcGxlUXVhbnRpdHlcclxuICAgICAgICAgICAgICAgIDogdGhpcy5xdWFudGl0eSAtIG11bHRpcGxlUXVhbnRpdHk7XHJcbiAgICAgICAgICAgIGlmIChuZXh0ID49IG1pbmltdW0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPSBuZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UXVhbnRpdHkodGhpcy5xdWFudGl0eSwgcHJvZHVjdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVRdWFudGl0eSh0aGlzLnF1YW50aXR5LCBwcm9kdWN0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID4gMCA/IHRoaXMucXVhbnRpdHkgPSB0aGlzLnF1YW50aXR5IC0gMSA6IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UXVhbnRpdHkodGhpcy5xdWFudGl0eSwgcHJvZHVjdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlzUXVhbnRpdHlWYWxpZCA9IChxdWFudGl0eTogbnVtYmVyLCBpdGVtOiBhbnkpOiBib29sZWFuID0+IHtcclxuICAgICAgICBjb25zdCBtaW5pbXVtSXRlbXNRdWFudGl0eSA9IGl0ZW0/LnZhcmlhbnRzPy5bMF0/Lm1pbmltdW1JdGVtc1F1YW50aXR5O1xyXG4gICAgICAgIGNvbnN0IG11bHRpcGxlUXVhbnRpdHkgPSBpdGVtPy52YXJpYW50cz8uWzBdPy5tdWx0aXBsZVF1YW50aXR5O1xyXG4gICAgICAgIGlmIChtaW5pbXVtSXRlbXNRdWFudGl0eSAmJiBxdWFudGl0eSA8IG1pbmltdW1JdGVtc1F1YW50aXR5KSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKG11bHRpcGxlUXVhbnRpdHkgJiYgcXVhbnRpdHkgJSBtdWx0aXBsZVF1YW50aXR5ICE9PSAwKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdmFsaWRhdGVRdWFudGl0eSA9IChxdWFudGl0eTogbnVtYmVyLCBpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtaW5pbXVtSXRlbXNRdWFudGl0eSA9IGl0ZW0/LnZhcmlhbnRzPy5bMF0/Lm1pbmltdW1JdGVtc1F1YW50aXR5O1xyXG4gICAgICAgIGNvbnN0IG11bHRpcGxlUXVhbnRpdHkgPSBpdGVtPy52YXJpYW50cz8uWzBdPy5tdWx0aXBsZVF1YW50aXR5O1xyXG4gICAgICAgIHRoaXMuc3BhbkluZm8gPSAnJztcclxuICAgICAgICBpZiAobWluaW11bUl0ZW1zUXVhbnRpdHkgJiYgcXVhbnRpdHkgPCBtaW5pbXVtSXRlbXNRdWFudGl0eSkge1xyXG4gICAgICAgICAgICB0aGlzLnNwYW5JbmZvID0gJ0xhIGNhbnRpZGFkIGRlYmUgc2VyIGFsIG1lbm9zICcgKyBtaW5pbXVtSXRlbXNRdWFudGl0eTtcclxuICAgICAgICB9IGVsc2UgaWYgKG11bHRpcGxlUXVhbnRpdHkgJiYgcXVhbnRpdHkgJSBtdWx0aXBsZVF1YW50aXR5ICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BhbkluZm8gPSAnTGEgY2FudGlkYWQgZGViZSBzZXIgbVxcdTAwZmFsdGlwbG8gZGUgJyArIG11bHRpcGxlUXVhbnRpdHk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkQnV0dG9ucyA9IChhc29jaWF0ZWREYXRhOiBhbnkpOiBudW1iZXJbXSB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgICAgICAgY29uc3QgbWF4aW11bU51bWJlck9mQnV0dG9ucyA9IDY7XHJcbiAgICAgICAgaWYgKGFzb2NpYXRlZERhdGEubXVsdGlwbGVRdWFudGl0eSkge1xyXG4gICAgICAgICAgICBjb25zdCBtYXhpbXVtID0gYXNvY2lhdGVkRGF0YS5tYXhpbXVtSXRlbXNRdWFudGl0eSB8fCBhc29jaWF0ZWREYXRhLnN0b2NrO1xyXG4gICAgICAgICAgICBjb25zdCBtaW5pbXVtID0gYXNvY2lhdGVkRGF0YS5taW5pbXVtSXRlbXNRdWFudGl0eSB8fCBhc29jaWF0ZWREYXRhLm11bHRpcGxlUXVhbnRpdHk7XHJcbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvbnM6IG51bWJlcltdID0gW107XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBtaW5pbXVtOyBpIDw9IG1heGltdW07IGkgPSBpICsgYXNvY2lhdGVkRGF0YS5tdWx0aXBsZVF1YW50aXR5KSB7XHJcbiAgICAgICAgICAgICAgICBidXR0b25zLnB1c2goaSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGJ1dHRvbnMubGVuZ3RoID4gbWF4aW11bU51bWJlck9mQnV0dG9ucyA/IGJ1dHRvbnMuc2xpY2UoMCwgbWF4aW11bU51bWJlck9mQnV0dG9ucykgOiBidXR0b25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFF1YW50aXR5ID0gKHZhbHVlLCBwcm9kdWN0OiBQcm9kdWN0KSA9PiB7XHJcblxyXG4gICAgICAgIGxldCBxdWFudGl0eSA9IE51bWJlcih2YWx1ZSkgPiBwcm9kdWN0LmN1cnJlbnRPcHRpb24uc3RvY2sgPyBwcm9kdWN0LmN1cnJlbnRPcHRpb24uc3RvY2sgOiBOdW1iZXIodmFsdWUpXHJcbiAgICAgICAgcHJvZHVjdC5wcm9kdWN0VG9DYXJ0SXRlbSA9IHtcclxuICAgICAgICAgICAgcHJvZHVjdENvZGU6IHByb2R1Y3QuY3VycmVudE9wdGlvbi5wcm9kdWN0Q29kZSxcclxuICAgICAgICAgICAgdmFyaWFudENvZGU6IHByb2R1Y3QuY3VycmVudE9wdGlvbi52YXJpYW50Q29kZSxcclxuICAgICAgICAgICAgcXVhbnRpdHk6IHF1YW50aXR5LFxyXG4gICAgICAgICAgICBmaW5hbFByaWNlOiBwcm9kdWN0LmN1cnJlbnRPcHRpb24uZmluYWxQcmljZSxcclxuICAgICAgICAgICAgdG90YWxDb3N0OiBxdWFudGl0eSAqIHByb2R1Y3QuY3VycmVudE9wdGlvbi5maW5hbFByaWNlLFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50b3RhbCA9IDBcclxuICAgICAgICB0aGlzLmNvdW50SXRlbXMgPSAwXHJcbiAgICAgICAgdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudC5maWx0ZXIocHJvZCA9PiBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtKS5tYXAoXHJcbiAgICAgICAgICAgIHByb2QgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbCArPSBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtLnRvdGFsQ29zdFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudEl0ZW1zICs9IHByb2QucHJvZHVjdFRvQ2FydEl0ZW0ucXVhbnRpdHlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgICB0aGlzLnRvdGFsQ29zdEl0ZW1zLmVtaXQodGhpcy50b3RhbC50b1N0cmluZygpKVxyXG4gICAgICAgIHRoaXMudG90YWxJdGVtcy5lbWl0KHRoaXMuY291bnRJdGVtcy50b1N0cmluZygpKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBjb25kaXRpb24gPSAodmFsdWUsIHByb2R1Y3Q6IFByb2R1Y3QpIDogYm9vbGVhbiA9PiB7XHJcbiAgICAgICAgaWYgKE51bWJlcih2YWx1ZSkgPj0gcHJvZHVjdC5jdXJyZW50T3B0aW9uLnN0b2NrKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG5cclxuICAgIGFsbFdpdGhvdXRUcmFja2luZyA9ICgpID0+IHRoaXMub3B0aW9uc1Byb2R1Y3RGb3JWYXJpYW50KCkuc29tZSggaXRlbSA9PiBpdGVtLmN1cnJlbnRPcHRpb24/LnN0b2NrICE9IDk5OTkpXHJcblxyXG4gICAgcHJpdmF0ZSBnZXRPYmplY3RQYXJhbXNXaXRoVmFyaWFudCA9ICgpOiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RXaXRoVmFyaWFudCB8fCB0aGlzLmdldE9iamVjdFdpdGhWYXJpYW50KClcclxuICAgIH1cclxuXHJcbiAgICBnZXRPYmplY3RXaXRoVmFyaWFudCA9ICgpOiBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50ID0+IHtcclxuICAgICAgICByZXR1cm4geyB0eXBlOiAnY29sb3InLCBjb2RlOiAnY29sb3InLCBkZWZhdWx0Rmlyc3RPcHRpb246IHRydWUgLCBjaGVja0lmU3RvY2s6IGZhbHNlIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -86,6 +86,9 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
86
86
|
_this.hidePrices = false;
|
|
87
87
|
_this.creditAccountShowPrices = null;
|
|
88
88
|
_this.enableFieldNotesInArticleFile = false;
|
|
89
|
+
_this.quantityError = '';
|
|
90
|
+
_this.minimumItemsQty = null;
|
|
91
|
+
_this.multipleQty = null;
|
|
89
92
|
_this.addToCart = function () {
|
|
90
93
|
var _a;
|
|
91
94
|
var note = ((_a = _this.comments) === null || _a === void 0 ? void 0 : _a.trim()) || null;
|
|
@@ -101,22 +104,25 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
101
104
|
};
|
|
102
105
|
/**
|
|
103
106
|
* @description actualiza la variable quantity sumandole 'x' contenido.
|
|
107
|
+
* Si hay un multipleQuantity configurado, hace snap al siguiente múltiplo válido
|
|
108
|
+
* cuando la cantidad actual ya es inválida.
|
|
104
109
|
* @param stock número máximo disponible en stock.
|
|
105
|
-
* @param changeAmount cantidad que se quiere sumar.
|
|
106
|
-
* @param forceMultiple si es true, obliga a que el resultado sea múltiplo de changeAmount.
|
|
110
|
+
* @param changeAmount cantidad que se quiere sumar (ignorado si multipleQty está seteado).
|
|
111
|
+
* @param forceMultiple legacy — si es true, obliga a que el resultado sea múltiplo de changeAmount.
|
|
107
112
|
*/
|
|
108
113
|
_this.plus = function (stock, changeAmount, forceMultiple) {
|
|
109
114
|
if (changeAmount === void 0) { changeAmount = 1; }
|
|
110
115
|
if (forceMultiple === void 0) { forceMultiple = false; }
|
|
116
|
+
var step = _this.multipleQty || changeAmount;
|
|
111
117
|
var currentQuantity = Number(_this.quantity);
|
|
112
|
-
var newQuantity
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
var newQuantity;
|
|
119
|
+
if (step > 1) {
|
|
120
|
+
newQuantity = currentQuantity % step !== 0
|
|
121
|
+
? Math.ceil(currentQuantity / step) * step
|
|
122
|
+
: currentQuantity + step;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
newQuantity = currentQuantity + step;
|
|
120
126
|
}
|
|
121
127
|
if (!stock || newQuantity <= stock) {
|
|
122
128
|
_this.quantity = newQuantity;
|
|
@@ -124,35 +130,59 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
124
130
|
else {
|
|
125
131
|
_this.toastrService.show('out-of-stock-actually');
|
|
126
132
|
}
|
|
133
|
+
_this.validateDetail();
|
|
127
134
|
};
|
|
128
135
|
/**
|
|
129
136
|
* @description actualiza la variable quantity restandole 'x' contenido.
|
|
130
|
-
*
|
|
131
|
-
*
|
|
137
|
+
* Si hay un multipleQuantity configurado, hace snap al múltiplo válido inferior
|
|
138
|
+
* cuando la cantidad actual ya es inválida.
|
|
139
|
+
* @param changeAmount cantidad que se quiere restar (ignorado si multipleQty está seteado).
|
|
140
|
+
* @param minimum cantidad mínima permitida (ignorado si minimumItemsQty está seteado).
|
|
141
|
+
* @param forceMultiple legacy — si es true, obliga a que el resultado sea múltiplo de changeAmount.
|
|
132
142
|
*/
|
|
133
143
|
_this.less = function (changeAmount, minimum, forceMultiple) {
|
|
134
144
|
if (changeAmount === void 0) { changeAmount = 1; }
|
|
135
145
|
if (minimum === void 0) { minimum = 1; }
|
|
136
146
|
if (forceMultiple === void 0) { forceMultiple = false; }
|
|
137
|
-
var
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
if (newQuantity < changeAmount) {
|
|
146
|
-
newQuantity = changeAmount;
|
|
147
|
-
}
|
|
147
|
+
var step = _this.multipleQty || changeAmount;
|
|
148
|
+
var floor = _this.minimumItemsQty || (step > 1 ? step : minimum);
|
|
149
|
+
var newQuantity;
|
|
150
|
+
if (step > 1) {
|
|
151
|
+
newQuantity = _this.quantity % step !== 0
|
|
152
|
+
? Math.floor(_this.quantity / step) * step
|
|
153
|
+
: _this.quantity - step;
|
|
148
154
|
}
|
|
149
|
-
|
|
150
|
-
_this.quantity
|
|
155
|
+
else {
|
|
156
|
+
newQuantity = _this.quantity - step;
|
|
157
|
+
}
|
|
158
|
+
_this.quantity = newQuantity >= floor ? newQuantity : floor;
|
|
159
|
+
_this.validateDetail();
|
|
160
|
+
};
|
|
161
|
+
_this.onQuantityInput = function (value) {
|
|
162
|
+
var parsed = parseInt(value, 10);
|
|
163
|
+
if (!isNaN(parsed)) {
|
|
164
|
+
_this.quantity = parsed;
|
|
165
|
+
_this.validateDetail();
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
_this.validateDetail = function () {
|
|
169
|
+
if (_this.minimumItemsQty && _this.quantity < _this.minimumItemsQty) {
|
|
170
|
+
_this.quantityError = 'La cantidad debe ser al menos ' + _this.minimumItemsQty;
|
|
171
|
+
}
|
|
172
|
+
else if (_this.multipleQty && _this.quantity % _this.multipleQty !== 0) {
|
|
173
|
+
_this.quantityError = 'La cantidad debe ser m\u00faltiplo de ' + _this.multipleQty;
|
|
151
174
|
}
|
|
152
175
|
else {
|
|
153
|
-
_this.
|
|
176
|
+
_this.quantityError = '';
|
|
154
177
|
}
|
|
155
178
|
};
|
|
179
|
+
_this.isQuantityValidDetail = function () {
|
|
180
|
+
if (_this.minimumItemsQty && _this.quantity < _this.minimumItemsQty)
|
|
181
|
+
return false;
|
|
182
|
+
if (_this.multipleQty && _this.quantity % _this.multipleQty !== 0)
|
|
183
|
+
return false;
|
|
184
|
+
return true;
|
|
185
|
+
};
|
|
156
186
|
_this.showContact = function () { return _this.show = true; };
|
|
157
187
|
_this.hideContact = function () { return _this.show = false; };
|
|
158
188
|
_this.thereIsMoreInfo = function (product) {
|
|
@@ -234,6 +264,13 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
234
264
|
});
|
|
235
265
|
_this.comments = (_o = (_m = match) === null || _m === void 0 ? void 0 : _m.comments, (_o !== null && _o !== void 0 ? _o : ''));
|
|
236
266
|
});
|
|
267
|
+
this.productService.asociatedData$.subscribe(function (ad) {
|
|
268
|
+
var _a, _b;
|
|
269
|
+
_this.minimumItemsQty = ((_a = ad) === null || _a === void 0 ? void 0 : _a.minimumItemsQuantity) || null;
|
|
270
|
+
_this.multipleQty = ((_b = ad) === null || _b === void 0 ? void 0 : _b.multipleQuantity) || null;
|
|
271
|
+
_this.quantity = _this.minimumItemsQty || _this.multipleQty || 1;
|
|
272
|
+
_this.quantityError = '';
|
|
273
|
+
});
|
|
237
274
|
};
|
|
238
275
|
ProductDetailEcComponent.prototype.ngOnDestroy = function () {
|
|
239
276
|
var _a;
|
|
@@ -270,4 +307,4 @@ var ProductDetailEcComponent = /** @class */ (function (_super) {
|
|
|
270
307
|
return ProductDetailEcComponent;
|
|
271
308
|
}(ComponentHelper));
|
|
272
309
|
export { ProductDetailEcComponent };
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sTUFBTSxD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LENBQUE7YUFBQSxDQUNwRCxDQUFDO1lBRUYsS0FBSSxDQUFDLFFBQVEsR0FBRyxZQUFDLEtBQUssMENBQUUsUUFBUSx1Q0FBSSxFQUFFLEVBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw4Q0FBVyxHQUFYOztRQUNJLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsV0FBVyxHQUFHO0lBQ25DLENBQUM7SUFZRCx5Q0FBTSxHQUFOO1FBQ0ksSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUE0QixDQUFDO1FBQ25ELEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDOztnQkExRzBCLG9CQUFvQjtnQkFDNUIsU0FBUztnQkFDQSxjQUFjO2dCQUNsQixXQUFXO2dCQUNSLGNBQWM7Z0JBQ2IsZUFBZTtnQkFDZCxnQkFBZ0I7Z0JBQzFCLE1BQU07Z0JBQ0ksWUFBWTtnQkFDdkIsSUFBSTtnQkFDRCxRQUFROztJQWJQO1FBQXJCLFNBQVMsQ0FBQyxTQUFTLENBQUM7NkRBQXFCO0lBbkJqQyx3QkFBd0I7UUFOcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxZQUFpRDtZQUVqRCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7U0FDcEMsQ0FBQztPQUNXLHdCQUF3QixDQXVNcEM7SUFBRCwrQkFBQztDQUFBLEFBdk1ELENBQThDLGVBQWUsR0F1TTVEO1NBdk1ZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcclxuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xyXG5pbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdERldGFpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0LWRldGFpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvZHVjdHMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL3RvYXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXRhIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbm5lbC1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzdGFydFdpdGgsIGZpbHRlciBhcyByeEZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXByb2R1Y3QtZGV0YWlsLWVjJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbUHJvZHVjdERldGFpbFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsRWNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRIZWxwZXIgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIHB1YmxpYyBwcm9kdWN0OiBhbnk7XHJcbiAgICBwdWJsaWMgbWVkaWFVcmw7XHJcbiAgICBwdWJsaWMgc2hvdyA9IGZhbHNlO1xyXG4gICAgcHVibGljIHF1YW50aXR5ID0gMTtcclxuICAgIHB1YmxpYyBjb21tZW50czogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgYnJlYWRjcnVtYiA9IFtdO1xyXG4gICAgcHVibGljIGNhcm91c2VsOiBhbnk7XHJcbiAgICBwdWJsaWMgY29kZSA9IG51bGw7XHJcbiAgICBwdWJsaWMgZm9jdXNJbWFnZTogc3RyaW5nID0gbnVsbFxyXG4gICAgcHVibGljIG93bE9wdGlvbnMgPSB7fVxyXG4gICAgcHVibGljIHNob3dSZXZpZXdzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGlkZVByaWNlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNyZWRpdEFjY291bnRTaG93UHJpY2VzOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwdWJsaWMgZW5hYmxlRmllbGROb3Rlc0luQXJ0aWNsZUZpbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgcHJlZmlsbFN1Yj86IFN1YnNjcmlwdGlvbjtcclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXHJcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXHJcbiAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XHJcbiAgICAgICAgICAgIGxldCB2YXJpYW50OiBhbnkgPSAodGhpcy5hY3RpdmVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3ZhcmlhbnQnKSk7XHJcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UubG9hZFByb2R1Y3QoY29kZSwgdmFyaWFudCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHF1ZXJ5UGFyYW1zLmlkXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnByb2R1Y3QkLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0ID0gcmVzO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0QnJlYWRjcnVtYih0aGlzLnByb2R1Y3QuY2F0ZWdvcnkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvZHVjdC5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IHRoaXMuZGVsZXRlSFRNTCh0aGlzLnByb2R1Y3QuZGVzY3JpcHRpb24pIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmltYWdlJywgY29udGVudDogdGhpcy5jb25zdHMubWVkaWFVcmwoKSArIHRoaXMucHJvZHVjdC5waWN0dXJlc2RlZmF1bHRbMF0gfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp1cmwnLCBjb250ZW50OiB3aW5kb3cubG9jYXRpb24uaHJlZiB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UucHJvZHVjdCQucGlwZShmaWx0ZXIoZGF0YSA9PiBkYXRhICYmIGRhdGEuaWQgJiYgZGF0YS5pZCAhPSAwKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCd2aWV3X2l0ZW0nLCB7IC4uLnByb2R1Y3RQYXJhbSwgY3VycmVuY3k6IHRoaXMuY29uc3RzLmN1cnJlbmN5LmNvZGUgfSlcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlSW1nRm9jdXMocHJvZHVjdFBhcmFtLnBpY3R1cmVzZGVmYXVsdFswXSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgICB0aGlzLmluamVjdG9yLmdldChDaGFubmVsQ29uZmlnU2VydmljZSkuY2hhbm5lbENvbmZpZyQuc3Vic2NyaWJlKGNoYW5uZWwgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcclxuICAgICAgICAgICAgdGhpcy5oaWRlUHJpY2VzID0gY2hhbm5lbD8uaGlkZVByaWNlcyA/PyBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVGaWVsZE5vdGVzSW5BcnRpY2xlRmlsZSA9IGNoYW5uZWw/LmVuYWJsZUZpZWxkTm90ZXNJbkFydGljbGVGaWxlID8/IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICAvLyBFeHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBidXNjYXIgZXRpcXVldGFzIEhUTUxcclxuICAgICAgICBjb25zdCBleHByZXNpb25SZWd1bGFyID0gLzxbXj5dKj4vZztcclxuICAgICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxyXG4gICAgICAgIHJldHVybiBjYWRlbmEucmVwbGFjZShleHByZXNpb25SZWd1bGFyLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXHJcblxyXG4gICAgICAgIC8vIFByZWxsZW5hciBjb21lbnRhcmlvcyBjdWFuZG86XHJcbiAgICAgICAgLy8gLSBjYXJndWUgZWwgcHJvZHVjdG9cclxuICAgICAgICAvLyAtIGNhbWJpZSBsYSB2YXJpYW50ZSBzZWxlY2Npb25hZGEgKGFzb2NpYXRlZERhdGEkKVxyXG4gICAgICAgIC8vIC0gY2FtYmllbiBsb3Mgw610ZW1zIGRlbCBjYXJyaXRvICAgICAgICBcclxuICAgICAgICB0aGlzLnByZWZpbGxTdWIgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKHJ4RmlsdGVyKChwOiBhbnkpID0+ICEhcCAmJiAhIXAuaWQpKSxcclxuICAgICAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5hc29jaWF0ZWREYXRhJC5waXBlKHN0YXJ0V2l0aChudWxsIGFzIGFueSkpLFxyXG4gICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmNhcnRJdGVtcy5waXBlKHN0YXJ0V2l0aChbXSBhcyBhbnlbXSkpLFxyXG4gICAgICAgIF0pLnN1YnNjcmliZSgoW3Byb2R1Y3QsIGRhdGEsIGl0ZW1zXTogW2FueSwgYW55LCBhbnlbXV0pID0+IHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhbnRJZCA9XHJcbiAgICAgICAgICAgICAgICBkYXRhPy52YXJpYW50Q29kZSA/P1xyXG4gICAgICAgICAgICAgICAgZGF0YT8udmFyaWFudF9pZCA/P1xyXG4gICAgICAgICAgICAgICAgcHJvZHVjdD8udmFyaWFudHM/LlswXT8uY29kZSA/P1xyXG4gICAgICAgICAgICAgICAgbnVsbDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gaXRlbXM/LmZpbmQoaXQgPT5cclxuICAgICAgICAgICAgICAgIGl0Py5wcm9kdWN0Py5pZCA9PT0gcHJvZHVjdD8uaWQgJiZcclxuICAgICAgICAgICAgICAgICh2YXJpYW50SWQgPyBpdD8udmFyaWFudF9pZCA9PT0gdmFyaWFudElkIDogdHJ1ZSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY29tbWVudHMgPSAobWF0Y2g/LmNvbW1lbnRzID8/ICcnKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnByZWZpbGxTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkVG9DYXJ0ID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5vdGUgPSB0aGlzLmNvbW1lbnRzPy50cmltKCkgfHwgbnVsbDtcclxuICAgICAgICB0aGlzLnF1YW50aXR5ID4gMCAmJiB0aGlzLnByb2R1Y3RTZXJ2aWNlLmFkZFRvQ2FydCh0aGlzLnF1YW50aXR5LCB1bmRlZmluZWQsIG5vdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEFsbFByb2R1Y3Rvc1RvQ2FydCA9ICgpID0+IHtcclxuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLnByb2R1Y3QucHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50Py5maWx0ZXIocHJvZCA9PiBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtKS5tYXAocHJvZCA9PiBwcm9kLnByb2R1Y3RUb0NhcnRJdGVtKVxyXG4gICAgICAgIGl0ZW1zPy5sZW5ndGggJiYgdGhpcy5jYXJ0U2VydmljZS5hZGRBbGxUb0NhcnQoaXRlbXMpXHJcbiAgICB9XHJcblxyXG4gICAgc2Nyb2xsKCkge1xyXG4gICAgICAgIGxldCBlbCA9IHRoaXMuY29udGFjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGVsLnNjcm9sbEludG9WaWV3KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2F2ZVJlZiA9IChjYXJvdXNlbCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2Fyb3VzZWwgPSBjYXJvdXNlbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgc3VtYW5kb2xlICd4JyBjb250ZW5pZG8uXHJcbiAgICAgKiBAcGFyYW0gc3RvY2sgbsO6bWVybyBtw6F4aW1vIGRpc3BvbmlibGUgZW4gc3RvY2suXHJcbiAgICAgKiBAcGFyYW0gY2hhbmdlQW1vdW50IGNhbnRpZGFkIHF1ZSBzZSBxdWllcmUgc3VtYXIuXHJcbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxyXG4gICAgICovXHJcbiAgICBwbHVzID0gKHN0b2NrPzogbnVtYmVyLCBjaGFuZ2VBbW91bnQ6IG51bWJlciA9IDEsIGZvcmNlTXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xyXG4gICAgICAgIGxldCBjdXJyZW50UXVhbnRpdHkgPSBOdW1iZXIodGhpcy5xdWFudGl0eSk7XHJcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gY3VycmVudFF1YW50aXR5ICsgY2hhbmdlQW1vdW50O1xyXG5cclxuICAgICAgICBpZiAoZm9yY2VNdWx0aXBsZSAmJiBjaGFuZ2VBbW91bnQgPiAwKSB7XHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVhbnRpdHkgPCBjaGFuZ2VBbW91bnQpIHtcclxuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBNYXRoLmNlaWwobmV3UXVhbnRpdHkgLyBjaGFuZ2VBbW91bnQpICogY2hhbmdlQW1vdW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghc3RvY2sgfHwgbmV3UXVhbnRpdHkgPD0gc3RvY2spIHtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2stYWN0dWFsbHknKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhIHZhcmlhYmxlIHF1YW50aXR5IHJlc3RhbmRvbGUgJ3gnIGNvbnRlbmlkby5cclxuICAgICAqIEBwYXJhbSBjaGFuZ2VBbW91bnQgY2FudGlkYWQgcXVlIHNlIHF1aWVyZSByZXN0YXIuXHJcbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBzaSBlcyB0cnVlLCBvYmxpZ2EgYSBxdWUgZWwgcmVzdWx0YWRvIHNlYSBtw7psdGlwbG8gZGUgY2hhbmdlQW1vdW50LlxyXG4gICAgICovXHJcbiAgICBsZXNzID0gKGNoYW5nZUFtb3VudDogbnVtYmVyID0gMSwgbWluaW11bTogbnVtYmVyID0gMSwgZm9yY2VNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XHJcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5ID0gdGhpcy5xdWFudGl0eSAtIGNoYW5nZUFtb3VudDtcclxuXHJcbiAgICAgICAgaWYgKGZvcmNlTXVsdGlwbGUgJiYgY2hhbmdlQW1vdW50ID4gMCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5xdWFudGl0eSA8PSBjaGFuZ2VBbW91bnQpIHtcclxuICAgICAgICAgICAgICAgIG5ld1F1YW50aXR5ID0gY2hhbmdlQW1vdW50O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBNYXRoLmZsb29yKG5ld1F1YW50aXR5IC8gY2hhbmdlQW1vdW50KSAqIGNoYW5nZUFtb3VudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKG5ld1F1YW50aXR5IDwgY2hhbmdlQW1vdW50KSB7XHJcbiAgICAgICAgICAgICAgICBuZXdRdWFudGl0eSA9IGNoYW5nZUFtb3VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG5ld1F1YW50aXR5ID49IG1pbmltdW0pIHtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPSBtaW5pbXVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzaG93Q29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IHRydWU7XHJcbiAgICBoaWRlQ29udGFjdCA9ICgpID0+IHRoaXMuc2hvdyA9IGZhbHNlO1xyXG5cclxuICAgIHRoZXJlSXNNb3JlSW5mbyA9IChwcm9kdWN0OiBhbnkpID0+IHtcclxuICAgICAgICBsZXQgcmVzdWx0O1xyXG4gICAgICAgIGlmIChwcm9kdWN0Py5zcGVjaWFsX21hcmsgJiYgcHJvZHVjdD8uc3BlY2lhbF9tYXJrLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXN1bHQgPSBwcm9kdWN0Py5zcGVjaWFsX21hcms/LmZpbmQoc3BlY2lhbF9tYXJrID0+IHNwZWNpYWxfbWFyay50eXBlID09ICdtb3JlX2luZm8nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VJbWdGb2N1cyA9IChpbWcpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzSW1hZ2UgPSBpbWdcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
310
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sTUFBTSxD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QkFDYixlQUFlO2dCQUNkLGdCQUFnQjtnQkFDMUIsTUFBTTtnQkFDSSxZQUFZO2dCQUN2QixJQUFJO2dCQUNELFFBQVE7O0lBYlA7UUFBckIsU0FBUyxDQUFDLFNBQVMsQ0FBQzs2REFBcUI7SUF0QmpDLHdCQUF3QjtRQU5wQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFlBQWlEO1lBRWpELFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDOztTQUNwQyxDQUFDO09BQ1csd0JBQXdCLENBNE9wQztJQUFELCtCQUFDO0NBQUEsQUE1T0QsQ0FBOEMsZUFBZSxHQTRPNUQ7U0E1T1ksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xyXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb3JlLmNvbnN0cyc7XHJcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FydC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3QtZGV0YWlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IE1ldGEgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCwgZmlsdGVyIGFzIHJ4RmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtcHJvZHVjdC1kZXRhaWwtZWMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBwcm92aWRlcnM6IFtQcm9kdWN0RGV0YWlsU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgcHVibGljIHByb2R1Y3Q6IGFueTtcclxuICAgIHB1YmxpYyBtZWRpYVVybDtcclxuICAgIHB1YmxpYyBzaG93ID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgcXVhbnRpdHkgPSAxO1xyXG4gICAgcHVibGljIGNvbW1lbnRzOiBzdHJpbmcgPSAnJztcclxuICAgIHB1YmxpYyBicmVhZGNydW1iID0gW107XHJcbiAgICBwdWJsaWMgY2Fyb3VzZWw6IGFueTtcclxuICAgIHB1YmxpYyBjb2RlID0gbnVsbDtcclxuICAgIHB1YmxpYyBmb2N1c0ltYWdlOiBzdHJpbmcgPSBudWxsXHJcbiAgICBwdWJsaWMgb3dsT3B0aW9ucyA9IHt9XHJcbiAgICBwdWJsaWMgc2hvd1Jldmlld3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBoaWRlUHJpY2VzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY3JlZGl0QWNjb3VudFNob3dQcmljZXM6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuICAgIHB1YmxpYyBlbmFibGVGaWVsZE5vdGVzSW5BcnRpY2xlRmlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHF1YW50aXR5RXJyb3I6IHN0cmluZyA9ICcnO1xyXG4gICAgcHVibGljIG1pbmltdW1JdGVtc1F0eTogbnVtYmVyID0gbnVsbDtcclxuICAgIHB1YmxpYyBtdWx0aXBsZVF0eTogbnVtYmVyID0gbnVsbDtcclxuICAgIHByaXZhdGUgcHJlZmlsbFN1Yj86IFN1YnNjcmlwdGlvbjtcclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZCgnY29udGFjdCcpIGNvbnRhY3Q6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0RGV0YWlsU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXHJcbiAgICAgICAgcHJvdGVjdGVkIGFjdGl2ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHVibGljIGNhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJvdGVjdGVkIHRvYXN0clNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIG1ldGE6IE1ldGEsXHJcbiAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5tZWRpYVVybCA9IHRoaXMuY29uc3RzLm1lZGlhVXJsKCk7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XHJcbiAgICAgICAgICAgIGxldCB2YXJpYW50OiBhbnkgPSAodGhpcy5hY3RpdmVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3ZhcmlhbnQnKSk7XHJcbiAgICAgICAgICAgIGxldCBjb2RlID0gcXVlcnlQYXJhbXMuaWQ7XHJcbiAgICAgICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UubG9hZFByb2R1Y3QoY29kZSwgdmFyaWFudCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHF1ZXJ5UGFyYW1zLmlkXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLnByb2R1Y3QkLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0ID0gcmVzO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCgwLCAwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0QnJlYWRjcnVtYih0aGlzLnByb2R1Y3QuY2F0ZWdvcnkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvZHVjdC5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiB0aGlzLnByb2R1Y3QubmFtZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IHRoaXMuZGVsZXRlSFRNTCh0aGlzLnByb2R1Y3QuZGVzY3JpcHRpb24pIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmltYWdlJywgY29udGVudDogdGhpcy5jb25zdHMubWVkaWFVcmwoKSArIHRoaXMucHJvZHVjdC5waWN0dXJlc2RlZmF1bHRbMF0gfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp1cmwnLCBjb250ZW50OiB3aW5kb3cubG9jYXRpb24uaHJlZiB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UucHJvZHVjdCQucGlwZShmaWx0ZXIoZGF0YSA9PiBkYXRhICYmIGRhdGEuaWQgJiYgZGF0YS5pZCAhPSAwKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAocHJvZHVjdFBhcmFtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFuYWx5dGljc1NlcnZpY2UuY2FsbEV2ZW50KCd2aWV3X2l0ZW0nLCB7IC4uLnByb2R1Y3RQYXJhbSwgY3VycmVuY3k6IHRoaXMuY29uc3RzLmN1cnJlbmN5LmNvZGUgfSlcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlSW1nRm9jdXMocHJvZHVjdFBhcmFtLnBpY3R1cmVzZGVmYXVsdFswXSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgICB0aGlzLmluamVjdG9yLmdldChDaGFubmVsQ29uZmlnU2VydmljZSkuY2hhbm5lbENvbmZpZyQuc3Vic2NyaWJlKGNoYW5uZWwgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcclxuICAgICAgICAgICAgdGhpcy5oaWRlUHJpY2VzID0gY2hhbm5lbD8uaGlkZVByaWNlcyA/PyBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVGaWVsZE5vdGVzSW5BcnRpY2xlRmlsZSA9IGNoYW5uZWw/LmVuYWJsZUZpZWxkTm90ZXNJbkFydGljbGVGaWxlID8/IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVIVE1MKGNhZGVuYTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICAvLyBFeHByZXNpw7NuIHJlZ3VsYXIgcGFyYSBidXNjYXIgZXRpcXVldGFzIEhUTUxcclxuICAgICAgICBjb25zdCBleHByZXNpb25SZWd1bGFyID0gLzxbXj5dKj4vZztcclxuICAgICAgICAvLyBSZWVtcGxhemEgdG9kYXMgbGFzIGV0aXF1ZXRhcyBIVE1MIHBvciB1bmEgY2FkZW5hIHZhY8OtYVxyXG4gICAgICAgIHJldHVybiBjYWRlbmEucmVwbGFjZShleHByZXNpb25SZWd1bGFyLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lY09uSW5pdCgpXHJcblxyXG4gICAgICAgIC8vIFByZWxsZW5hciBjb21lbnRhcmlvcyBjdWFuZG86XHJcbiAgICAgICAgLy8gLSBjYXJndWUgZWwgcHJvZHVjdG9cclxuICAgICAgICAvLyAtIGNhbWJpZSBsYSB2YXJpYW50ZSBzZWxlY2Npb25hZGEgKGFzb2NpYXRlZERhdGEkKVxyXG4gICAgICAgIC8vIC0gY2FtYmllbiBsb3Mgw610ZW1zIGRlbCBjYXJyaXRvICAgICAgICBcclxuICAgICAgICB0aGlzLnByZWZpbGxTdWIgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5wcm9kdWN0JC5waXBlKHJ4RmlsdGVyKChwOiBhbnkpID0+ICEhcCAmJiAhIXAuaWQpKSxcclxuICAgICAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5hc29jaWF0ZWREYXRhJC5waXBlKHN0YXJ0V2l0aChudWxsIGFzIGFueSkpLFxyXG4gICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLmNhcnRJdGVtcy5waXBlKHN0YXJ0V2l0aChbXSBhcyBhbnlbXSkpLFxyXG4gICAgICAgIF0pLnN1YnNjcmliZSgoW3Byb2R1Y3QsIGRhdGEsIGl0ZW1zXTogW2FueSwgYW55LCBhbnlbXV0pID0+IHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhbnRJZCA9XHJcbiAgICAgICAgICAgICAgICBkYXRhPy52YXJpYW50Q29kZSA/P1xyXG4gICAgICAgICAgICAgICAgZGF0YT8udmFyaWFudF9pZCA/P1xyXG4gICAgICAgICAgICAgICAgcHJvZHVjdD8udmFyaWFudHM/LlswXT8uY29kZSA/P1xyXG4gICAgICAgICAgICAgICAgbnVsbDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gaXRlbXM/LmZpbmQoaXQgPT5cclxuICAgICAgICAgICAgICAgIGl0Py5wcm9kdWN0Py5pZCA9PT0gcHJvZHVjdD8uaWQgJiZcclxuICAgICAgICAgICAgICAgICh2YXJpYW50SWQgPyBpdD8udmFyaWFudF9pZCA9PT0gdmFyaWFudElkIDogdHJ1ZSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMuY29tbWVudHMgPSAobWF0Y2g/LmNvbW1lbnRzID8/ICcnKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5hc29jaWF0ZWREYXRhJC5zdWJzY3JpYmUoYWQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1pbmltdW1JdGVtc1F0eSA9IGFkPy5taW5pbXVtSXRlbXNRdWFudGl0eSB8fCBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlUXR5ID0gYWQ/Lm11bHRpcGxlUXVhbnRpdHkgfHwgbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eSA9IHRoaXMubWluaW11bUl0ZW1zUXR5IHx8IHRoaXMubXVsdGlwbGVRdHkgfHwgMTtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eUVycm9yID0gJyc7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5wcmVmaWxsU3ViPy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZFRvQ2FydCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBub3RlID0gdGhpcy5jb21tZW50cz8udHJpbSgpIHx8IG51bGw7XHJcbiAgICAgICAgdGhpcy5xdWFudGl0eSA+IDAgJiYgdGhpcy5wcm9kdWN0U2VydmljZS5hZGRUb0NhcnQodGhpcy5xdWFudGl0eSwgdW5kZWZpbmVkLCBub3RlKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRBbGxQcm9kdWN0b3NUb0NhcnQgPSAoKSA9PiB7XHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5wcm9kdWN0LnByb2R1Y3RXaXRoVW5pcXVlVmFyaWFudD8uZmlsdGVyKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSkubWFwKHByb2QgPT4gcHJvZC5wcm9kdWN0VG9DYXJ0SXRlbSlcclxuICAgICAgICBpdGVtcz8ubGVuZ3RoICYmIHRoaXMuY2FydFNlcnZpY2UuYWRkQWxsVG9DYXJ0KGl0ZW1zKVxyXG4gICAgfVxyXG5cclxuICAgIHNjcm9sbCgpIHtcclxuICAgICAgICBsZXQgZWwgPSB0aGlzLmNvbnRhY3QubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICBlbC5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVSZWYgPSAoY2Fyb3VzZWwpID0+IHtcclxuICAgICAgICB0aGlzLmNhcm91c2VsID0gY2Fyb3VzZWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb24gYWN0dWFsaXphIGxhIHZhcmlhYmxlIHF1YW50aXR5IHN1bWFuZG9sZSAneCcgY29udGVuaWRvLlxyXG4gICAgICogU2kgaGF5IHVuIG11bHRpcGxlUXVhbnRpdHkgY29uZmlndXJhZG8sIGhhY2Ugc25hcCBhbCBzaWd1aWVudGUgbcO6bHRpcGxvIHbDoWxpZG9cclxuICAgICAqIGN1YW5kbyBsYSBjYW50aWRhZCBhY3R1YWwgeWEgZXMgaW52w6FsaWRhLlxyXG4gICAgICogQHBhcmFtIHN0b2NrIG7Dum1lcm8gbcOheGltbyBkaXNwb25pYmxlIGVuIHN0b2NrLlxyXG4gICAgICogQHBhcmFtIGNoYW5nZUFtb3VudCBjYW50aWRhZCBxdWUgc2UgcXVpZXJlIHN1bWFyIChpZ25vcmFkbyBzaSBtdWx0aXBsZVF0eSBlc3TDoSBzZXRlYWRvKS5cclxuICAgICAqIEBwYXJhbSBmb3JjZU11bHRpcGxlIGxlZ2FjeSDigJQgc2kgZXMgdHJ1ZSwgb2JsaWdhIGEgcXVlIGVsIHJlc3VsdGFkbyBzZWEgbcO6bHRpcGxvIGRlIGNoYW5nZUFtb3VudC5cclxuICAgICAqL1xyXG4gICAgcGx1cyA9IChzdG9jaz86IG51bWJlciwgY2hhbmdlQW1vdW50OiBudW1iZXIgPSAxLCBmb3JjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2UpID0+IHtcclxuICAgICAgICBjb25zdCBzdGVwID0gdGhpcy5tdWx0aXBsZVF0eSB8fCBjaGFuZ2VBbW91bnQ7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFF1YW50aXR5ID0gTnVtYmVyKHRoaXMucXVhbnRpdHkpO1xyXG4gICAgICAgIGxldCBuZXdRdWFudGl0eTogbnVtYmVyO1xyXG5cclxuICAgICAgICBpZiAoc3RlcCA+IDEpIHtcclxuICAgICAgICAgICAgbmV3UXVhbnRpdHkgPSBjdXJyZW50UXVhbnRpdHkgJSBzdGVwICE9PSAwXHJcbiAgICAgICAgICAgICAgICA/IE1hdGguY2VpbChjdXJyZW50UXVhbnRpdHkgLyBzdGVwKSAqIHN0ZXBcclxuICAgICAgICAgICAgICAgIDogY3VycmVudFF1YW50aXR5ICsgc3RlcDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdRdWFudGl0eSA9IGN1cnJlbnRRdWFudGl0eSArIHN0ZXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXN0b2NrIHx8IG5ld1F1YW50aXR5IDw9IHN0b2NrKSB7XHJcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHkgPSBuZXdRdWFudGl0eTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsaWRhdGVEZXRhaWwoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvbiBhY3R1YWxpemEgbGEgdmFyaWFibGUgcXVhbnRpdHkgcmVzdGFuZG9sZSAneCcgY29udGVuaWRvLlxyXG4gICAgICogU2kgaGF5IHVuIG11bHRpcGxlUXVhbnRpdHkgY29uZmlndXJhZG8sIGhhY2Ugc25hcCBhbCBtw7psdGlwbG8gdsOhbGlkbyBpbmZlcmlvclxyXG4gICAgICogY3VhbmRvIGxhIGNhbnRpZGFkIGFjdHVhbCB5YSBlcyBpbnbDoWxpZGEuXHJcbiAgICAgKiBAcGFyYW0gY2hhbmdlQW1vdW50IGNhbnRpZGFkIHF1ZSBzZSBxdWllcmUgcmVzdGFyIChpZ25vcmFkbyBzaSBtdWx0aXBsZVF0eSBlc3TDoSBzZXRlYWRvKS5cclxuICAgICAqIEBwYXJhbSBtaW5pbXVtIGNhbnRpZGFkIG3DrW5pbWEgcGVybWl0aWRhIChpZ25vcmFkbyBzaSBtaW5pbXVtSXRlbXNRdHkgZXN0w6Egc2V0ZWFkbykuXHJcbiAgICAgKiBAcGFyYW0gZm9yY2VNdWx0aXBsZSBsZWdhY3kg4oCUIHNpIGVzIHRydWUsIG9ibGlnYSBhIHF1ZSBlbCByZXN1bHRhZG8gc2VhIG3Dumx0aXBsbyBkZSBjaGFuZ2VBbW91bnQuXHJcbiAgICAgKi9cclxuICAgIGxlc3MgPSAoY2hhbmdlQW1vdW50OiBudW1iZXIgPSAxLCBtaW5pbXVtOiBudW1iZXIgPSAxLCBmb3JjZU11bHRpcGxlOiBib29sZWFuID0gZmFsc2UpID0+IHtcclxuICAgICAgICBjb25zdCBzdGVwID0gdGhpcy5tdWx0aXBsZVF0eSB8fCBjaGFuZ2VBbW91bnQ7XHJcbiAgICAgICAgY29uc3QgZmxvb3IgPSB0aGlzLm1pbmltdW1JdGVtc1F0eSB8fCAoc3RlcCA+IDEgPyBzdGVwIDogbWluaW11bSk7XHJcbiAgICAgICAgbGV0IG5ld1F1YW50aXR5OiBudW1iZXI7XHJcblxyXG4gICAgICAgIGlmIChzdGVwID4gMSkge1xyXG4gICAgICAgICAgICBuZXdRdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgJSBzdGVwICE9PSAwXHJcbiAgICAgICAgICAgICAgICA/IE1hdGguZmxvb3IodGhpcy5xdWFudGl0eSAvIHN0ZXApICogc3RlcFxyXG4gICAgICAgICAgICAgICAgOiB0aGlzLnF1YW50aXR5IC0gc3RlcDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuZXdRdWFudGl0eSA9IHRoaXMucXVhbnRpdHkgLSBzdGVwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5xdWFudGl0eSA9IG5ld1F1YW50aXR5ID49IGZsb29yID8gbmV3UXVhbnRpdHkgOiBmbG9vcjtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlRGV0YWlsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25RdWFudGl0eUlucHV0ID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludCh2YWx1ZSwgMTApO1xyXG4gICAgICAgIGlmICghaXNOYU4ocGFyc2VkKSkge1xyXG4gICAgICAgICAgICB0aGlzLnF1YW50aXR5ID0gcGFyc2VkO1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlRGV0YWlsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRlRGV0YWlsID0gKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm1pbmltdW1JdGVtc1F0eSAmJiB0aGlzLnF1YW50aXR5IDwgdGhpcy5taW5pbXVtSXRlbXNRdHkpIHtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eUVycm9yID0gJ0xhIGNhbnRpZGFkIGRlYmUgc2VyIGFsIG1lbm9zICcgKyB0aGlzLm1pbmltdW1JdGVtc1F0eTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGVRdHkgJiYgdGhpcy5xdWFudGl0eSAlIHRoaXMubXVsdGlwbGVRdHkgIT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5xdWFudGl0eUVycm9yID0gJ0xhIGNhbnRpZGFkIGRlYmUgc2VyIG1cXHUwMGZhbHRpcGxvIGRlICcgKyB0aGlzLm11bHRpcGxlUXR5O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucXVhbnRpdHlFcnJvciA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc1F1YW50aXR5VmFsaWREZXRhaWwgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMubWluaW11bUl0ZW1zUXR5ICYmIHRoaXMucXVhbnRpdHkgPCB0aGlzLm1pbmltdW1JdGVtc1F0eSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlUXR5ICYmIHRoaXMucXVhbnRpdHkgJSB0aGlzLm11bHRpcGxlUXR5ICE9PSAwKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0NvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSB0cnVlO1xyXG4gICAgaGlkZUNvbnRhY3QgPSAoKSA9PiB0aGlzLnNob3cgPSBmYWxzZTtcclxuXHJcbiAgICB0aGVyZUlzTW9yZUluZm8gPSAocHJvZHVjdDogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDtcclxuICAgICAgICBpZiAocHJvZHVjdD8uc3BlY2lhbF9tYXJrICYmIHByb2R1Y3Q/LnNwZWNpYWxfbWFyay5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmVzdWx0ID0gcHJvZHVjdD8uc3BlY2lhbF9tYXJrPy5maW5kKHNwZWNpYWxfbWFyayA9PiBzcGVjaWFsX21hcmsudHlwZSA9PSAnbW9yZV9pbmZvJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlSW1nRm9jdXMgPSAoaW1nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb2N1c0ltYWdlID0gaW1nXHJcbiAgICB9XHJcbn1cclxuIl19
|