@snabcentr/client-ui 0.3.1-clients → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- package/cart/sc-cart.module.d.ts +5 -4
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +4 -0
- package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +5 -4
- package/esm2020/cart/sc-cart.module.mjs +9 -2
- package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +9 -3
- package/esm2020/catalog/price-card/sc-price-card.component.mjs +4 -4
- package/esm2020/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +3 -3
- package/esm2020/files/services/tree-icon.service.mjs +2 -2
- package/esm2020/icons/sc-client-ui-icons-name.mjs +28 -44
- package/esm2020/tokens/sc-linear-values-token.mjs +2 -2
- package/esm2020/validators/stepValidator.mjs +8 -6
- package/fesm2015/snabcentr-client-ui.mjs +61 -61
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +61 -61
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/icons/sc-client-ui-icons-name.d.ts +0 -1
- package/icons/svg-pack/scIconArrowForward.svg +11 -0
- package/icons/svg-pack/{scIconArrowDownLargeEnd.svg → scIconArrowLargeEnd.svg} +1 -1
- package/icons/svg-pack/scIconArrowLargeStart.svg +12 -0
- package/icons/svg-pack/scIconArrowReturn.svg +2 -2
- package/icons/svg-pack/scIconCanopy.svg +12 -0
- package/icons/svg-pack/scIconCatalogBack.svg +12 -0
- package/icons/svg-pack/scIconFastener.svg +11 -0
- package/icons/svg-pack/scIconFoam.svg +11 -0
- package/icons/svg-pack/scIconFoamBalloon.svg +13 -0
- package/icons/svg-pack/scIconMosquitoNet.svg +11 -0
- package/icons/svg-pack/scIconPlasticProfile.svg +11 -0
- package/icons/svg-pack/scIconPromoMaterials.svg +14 -0
- package/icons/svg-pack/scIconSandwich.svg +15 -0
- package/icons/svg-pack/scIconSandwichPanels.svg +11 -0
- package/icons/svg-pack/scIconSiding.svg +14 -0
- package/icons/svg-pack/scIconSmile.svg +14 -0
- package/icons/svg-pack/scIconTemplates.svg +11 -0
- package/icons/svg-pack/scIconWindowsill.svg +15 -0
- package/package.json +2 -2
- package/release_notes.tmp +1 -0
- package/styles/tailwind/tailwind.scss +6 -14
- package/validators/stepValidator.d.ts +2 -1
- package/icons/svg-pack/scIconArrowDown.svg +0 -11
- package/icons/svg-pack/scIconArrowDownLarge.svg +0 -11
- package/icons/svg-pack/scIconArrowLeft.svg +0 -11
- package/icons/svg-pack/scIconArrowRight.svg +0 -11
- package/icons/svg-pack/scIconArrowUp.svg +0 -11
- package/icons/svg-pack/scIconBasket.svg +0 -11
- package/icons/svg-pack/scIconBubble.svg +0 -11
- package/icons/svg-pack/scIconCancel.svg +0 -18
- package/icons/svg-pack/scIconCatalog.svg +0 -16
- package/icons/svg-pack/scIconClip.svg +0 -11
- package/icons/svg-pack/scIconCross.svg +0 -11
- package/icons/svg-pack/scIconDone.svg +0 -12
- package/icons/svg-pack/scIconDownloading.svg +0 -11
- package/icons/svg-pack/scIconEye.svg +0 -11
- package/icons/svg-pack/scIconFolderPlus.svg +0 -11
- package/icons/svg-pack/scIconHamburger.svg +0 -13
- package/icons/svg-pack/scIconImage.svg +0 -11
- package/icons/svg-pack/scIconLike.svg +0 -11
- package/icons/svg-pack/scIconLocation.svg +0 -11
- package/icons/svg-pack/scIconLogOut.svg +0 -13
- package/icons/svg-pack/scIconLogOut2.svg +0 -13
- package/icons/svg-pack/scIconMinus.svg +0 -11
- package/icons/svg-pack/scIconMoney2.svg +0 -11
- package/icons/svg-pack/scIconPhone.svg +0 -11
- package/icons/svg-pack/scIconPlus.svg +0 -11
- package/icons/svg-pack/scIconQuestion.svg +0 -11
- package/icons/svg-pack/scIconRefresh.svg +0 -11
- package/icons/svg-pack/scIconSettings.svg +0 -11
- package/icons/svg-pack/scIconTick.svg +0 -11
- package/icons/svg-pack/scIconVerticalThreeDots.svg +0 -11
- package/icons/svg-pack/scIconViewGrid.svg +0 -11
@@ -65,7 +65,7 @@ export class ScPriceCardComponent {
|
|
65
65
|
/**
|
66
66
|
* {@link FormControl} поля ввода количества товара в корзине.
|
67
67
|
*/
|
68
|
-
this.quantityControl = new FormControl(null);
|
68
|
+
this.quantityControl = new FormControl(null, { updateOn: 'blur' });
|
69
69
|
/**
|
70
70
|
* {@link Observable} изменения количества товара в корзине.
|
71
71
|
*/
|
@@ -124,10 +124,10 @@ export class ScPriceCardComponent {
|
|
124
124
|
}
|
125
125
|
}
|
126
126
|
ScPriceCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceCardComponent, deps: [{ token: i1.UnitsHelper }, { token: i2.ScAuthService }, { token: i2.ScWarehouseService }, { token: SC_URLS }, { token: SC_PATH_IMAGE_NOT_FOUND }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
127
|
-
ScPriceCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceCardComponent, selector: "sc-price-card", inputs: { showQuantityControl: "showQuantityControl", cartItem: "cartItem", product: "product", size: "size" }, outputs: { clickFavoriteEvent: "clickFavoriteEvent", clickAddToCartEvent: "clickAddToCartEvent", clickClearEvent: "clickClearEvent", clickCardEvent: "clickCardEvent", quantityValueChanges: "quantityValueChanges" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<!-- TODO: \u0440\u0435\u0430\u043B\u0438\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442 \u0438 \u0434\u043B\u044F \u0434\u0435\u0441\u043A\u0442\u043E\u043F\u0430 \u0438 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u044B\u0435 \u0442\u0430\u0439\u0433\u043E\u0432\u0441\u043A\u0438\u0435 \u0441\u0442\u0438\u043B\u0438, \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u0432 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0441\u043E\u0433\u043B\u0430\u0441\u043D\u043E \u0441 \u0434\u0438\u0437\u0430\u0439\u043D\u043E\u043C. -->\n<div *ngIf=\"product; else skeleton\" class=\"min-w-[10rem] shadow-md w-auto rounded-xl p-2 grid h-[
|
127
|
+
ScPriceCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceCardComponent, selector: "sc-price-card", inputs: { showQuantityControl: "showQuantityControl", cartItem: "cartItem", product: "product", size: "size" }, outputs: { clickFavoriteEvent: "clickFavoriteEvent", clickAddToCartEvent: "clickAddToCartEvent", clickClearEvent: "clickClearEvent", clickCardEvent: "clickCardEvent", quantityValueChanges: "quantityValueChanges" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<!-- TODO: \u0440\u0435\u0430\u043B\u0438\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442 \u0438 \u0434\u043B\u044F \u0434\u0435\u0441\u043A\u0442\u043E\u043F\u0430 \u0438 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u044B\u0435 \u0442\u0430\u0439\u0433\u043E\u0432\u0441\u043A\u0438\u0435 \u0441\u0442\u0438\u043B\u0438, \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u0432 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0441\u043E\u0433\u043B\u0430\u0441\u043D\u043E \u0441 \u0434\u0438\u0437\u0430\u0439\u043D\u043E\u043C. -->\n<div *ngIf=\"product; else skeleton\" class=\"min-w-[10rem] shadow-md w-auto rounded-xl p-2 grid h-[19rem] text-xs relative\">\n <div class=\"overflow-hidden\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" class=\"rounded-xl w-full max-h-full object-cover\" />\n </div>\n <sc-favorite-btn\n *ngIf=\"authStatus$ | async\"\n class=\"top-0 left-0 absolute\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n ></sc-favorite-btn>\n <tui-svg *ngIf=\"product.isPreviouslyOrdered\" src=\"scIconStar\" class=\"top-0 right-0 absolute text-red-700\"></tui-svg>\n\n <a class=\"p-0 m-0\" tuiLink iconAlign=\"left\" (click)=\"clickCardEvent.emit()\">\n <p class=\"font-bold text-sm line-clamp-3\" style=\"word-break: break-word;\">{{ product.name }}</p>\n </a>\n <p *ngIf=\"product?.pack\" class=\"text-tui-text-02\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}</p>\n\n <p class=\"text-tui-text-02\">\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p *ngIf=\"(authStatus$ | async) && product?.costDate\" class=\"text-tui-text-02\">\u0414\u0430\u0442\u0430: {{ product.costDate }}</p>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex flex-col\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-tui-text-02\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-black !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <span [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\" class=\"cost font-bold\">{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs font-bold text-tui-text-02 hidden group-hover:block\">{{ product.costString }}</span>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n <div *ngIf=\"!showQuantityControl\" class=\"flex gap-2 max-w-full items-center justify-stretch mt-1\">\n <button tuiButton (click)=\"clickAddToCartEvent.emit(product)\" [showLoader]=\"quantityShowLoader\" [size]=\"size\" class=\"grow\">\n <tui-svg src=\"scIconCart\" class=\"!text-xs !h-4\"> </tui-svg>\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <div *ngIf=\"cartItem\" class=\"flex justify-center\">\n <tui-svg src=\"tuiIconCheck\" class=\"!h-5 !w-5 bg-tui-primary text-black rounded-md\"></tui-svg>\n </div>\n </div>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"product.quantityUnit\"\n [size]=\"getQuantitySize\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n class=\"w-full\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n ></sc-input-quantity>\n</div>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col card-wrapper bg-white rounded-xl overflow-hidden shadow-sc-1\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"w-full h-3/5 rounded-t bg-tui-base-02\"></div>\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"flex flex-col grow gap-2.5 bg-white rounded-b p-5\">\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-3/5 h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host[data-size=s] .card-wrapper{width:10rem;height:16rem}:host[data-size=s] .card-wrapper .wrapper-info{padding:8px}:host[data-size=s] .card-wrapper .wrapper-info .cost{font-size:.875rem;line-height:1.25rem}:host[data-size=s] .card-wrapper .button-wrapper tui-svg{font-size:.75rem;line-height:1rem;width:1rem}:host[data-size=m] .card-wrapper{width:12.5rem;height:20rem}:host[data-size=m] .card-wrapper .wrapper-info{padding-inline:16px;padding-block:8px}:host[data-size=m] .card-wrapper .name{font-size:.875rem;line-height:1.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:3rem}:host[data-size=m] .card-wrapper .info{max-height:1rem}:host[data-size=m] .card-wrapper .cost{font-size:1.125rem;line-height:1.75rem}:host[data-size=m] .card-wrapper .button-wrapper{max-height:0px;font-size:.75rem;line-height:1rem}:host[data-size=m] .card-wrapper:hover .name{-webkit-line-clamp:unset;max-height:6rem}:host[data-size=m] .card-wrapper:hover .info{max-height:3rem}:host[data-size=m] .card-wrapper:hover .button-wrapper{max-height:3rem}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "component", type: i4.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i4.TuiHintDriverDirective, selector: "[tuiHint]" }, { kind: "directive", type: i4.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i4.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { kind: "component", type: i4.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "component", type: i6.ScFavoriteBtnComponent, selector: "sc-favorite-btn", inputs: ["isFavorite", "showLoader", "disabled"], outputs: ["clickEvent"] }, { kind: "component", type: i7.ScInputQuantityComponent, selector: "sc-input-quantity", inputs: ["step", "quantityUnit", "showLoader", "showCross", "appearance", "isDisabled", "size"], outputs: ["clickClearEvent"] }, { kind: "component", type: i8.ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: ["classList", "product", "withStockHint"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
128
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceCardComponent, decorators: [{
|
129
129
|
type: Component,
|
130
|
-
args: [{ selector: 'sc-price-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- TODO: \u0440\u0435\u0430\u043B\u0438\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442 \u0438 \u0434\u043B\u044F \u0434\u0435\u0441\u043A\u0442\u043E\u043F\u0430 \u0438 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u044B\u0435 \u0442\u0430\u0439\u0433\u043E\u0432\u0441\u043A\u0438\u0435 \u0441\u0442\u0438\u043B\u0438, \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u0432 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0441\u043E\u0433\u043B\u0430\u0441\u043D\u043E \u0441 \u0434\u0438\u0437\u0430\u0439\u043D\u043E\u043C. -->\n<div *ngIf=\"product; else skeleton\" class=\"min-w-[10rem] shadow-md w-auto rounded-xl p-2 grid h-[
|
130
|
+
args: [{ selector: 'sc-price-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- TODO: \u0440\u0435\u0430\u043B\u0438\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0439 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442 \u0438 \u0434\u043B\u044F \u0434\u0435\u0441\u043A\u0442\u043E\u043F\u0430 \u0438 \u0434\u043B\u044F \u043C\u043E\u0431\u0438\u043B\u044C\u043D\u043E\u0433\u043E \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F. \u0418\u0441\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0433\u043B\u043E\u0431\u0430\u043B\u044C\u043D\u044B\u0435 \u0442\u0430\u0439\u0433\u043E\u0432\u0441\u043A\u0438\u0435 \u0441\u0442\u0438\u043B\u0438, \u043F\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u0432 \u043F\u043E\u0440\u044F\u0434\u043E\u043A \u0441\u043E\u0433\u043B\u0430\u0441\u043D\u043E \u0441 \u0434\u0438\u0437\u0430\u0439\u043D\u043E\u043C. -->\n<div *ngIf=\"product; else skeleton\" class=\"min-w-[10rem] shadow-md w-auto rounded-xl p-2 grid h-[19rem] text-xs relative\">\n <div class=\"overflow-hidden\">\n <img (click)=\"clickCardEvent.emit()\" [src]=\"getCardImage()\" [alt]=\"product.name\" class=\"rounded-xl w-full max-h-full object-cover\" />\n </div>\n <sc-favorite-btn\n *ngIf=\"authStatus$ | async\"\n class=\"top-0 left-0 absolute\"\n (clickEvent)=\"clickFavoriteEvent.emit()\"\n [showLoader]=\"favoriteShowLoader\"\n [isFavorite]=\"product.isFavorite\"\n [disabled]=\"!!product.primaryCategory?.isFavorite\"\n ></sc-favorite-btn>\n <tui-svg *ngIf=\"product.isPreviouslyOrdered\" src=\"scIconStar\" class=\"top-0 right-0 absolute text-red-700\"></tui-svg>\n\n <a class=\"p-0 m-0\" tuiLink iconAlign=\"left\" (click)=\"clickCardEvent.emit()\">\n <p class=\"font-bold text-sm line-clamp-3\" style=\"word-break: break-word;\">{{ product.name }}</p>\n </a>\n <p *ngIf=\"product?.pack\" class=\"text-tui-text-02\">\u041D\u043E\u0440\u043C\u0430 \u0443\u043F\u0430\u043A\u043E\u0432\u043A\u0438: {{ product.pack }}</p>\n\n <p class=\"text-tui-text-02\">\u0410\u0440\u0442\u0438\u043A\u0443\u043B: {{ product.code }}</p>\n <p *ngIf=\"(authStatus$ | async) && product?.costDate\" class=\"text-tui-text-02\">\u0414\u0430\u0442\u0430: {{ product.costDate }}</p>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex flex-col\">\n <span *ngIf=\"product.discount\" class=\"flex items-center text-tui-text-02\">\n <span class=\"line-through\">{{ product.discountCostString }}</span> \n <span class=\"text-tui-success-fill font-bold\"> -{{ product.discount.percent }}% </span>\n <tui-svg src=\"tuiIconInfoLarge\" [tuiHint]=\"discountHint\" [tuiHintShowDelay]=\"100\" tuiHintDirection=\"top\" class=\"text-black !text-xs !h-4\"></tui-svg>\n <ng-template #discountHint>\n <div class=\"font-bold\">{{ product.discount.name }}</div>\n <div *ngIf=\"product.discount.expiredAt as expiredAt\">\u0414\u0430\u0442\u0430 \u043E\u043A\u043E\u043D\u0447\u0430\u043D\u0438\u044F: {{ expiredAt }}</div>\n </ng-template>\n </span>\n <span [class.text-tui-text-02]=\"!product.isWarehouseStockExist(warehouseSelect.id)\" class=\"cost font-bold\">{{ product.costRubString }}</span>\n <span *ngIf=\"!product.priceInRub\" class=\"text-xs font-bold text-tui-text-02 hidden group-hover:block\">{{ product.costString }}</span>\n <sc-price-warehouse-stock [product]=\"product\"></sc-price-warehouse-stock>\n </div>\n <div *ngIf=\"!showQuantityControl\" class=\"flex gap-2 max-w-full items-center justify-stretch mt-1\">\n <button tuiButton (click)=\"clickAddToCartEvent.emit(product)\" [showLoader]=\"quantityShowLoader\" [size]=\"size\" class=\"grow\">\n <tui-svg src=\"scIconCart\" class=\"!text-xs !h-4\"> </tui-svg>\n \u0412 \u043A\u043E\u0440\u0437\u0438\u043D\u0443\n </button>\n <div *ngIf=\"cartItem\" class=\"flex justify-center\">\n <tui-svg src=\"tuiIconCheck\" class=\"!h-5 !w-5 bg-tui-primary text-black rounded-md\"></tui-svg>\n </div>\n </div>\n <sc-input-quantity\n #inputQuantity\n *ngIf=\"showQuantityControl\"\n [formControl]=\"quantityControl\"\n [quantityUnit]=\"product.quantityUnit\"\n [size]=\"getQuantitySize\"\n [step]=\"unitsHelper.productMultiplicity(product)\"\n [showLoader]=\"quantityShowLoader\"\n (clickClearEvent)=\"clickClearEvent.emit(cartItem)\"\n class=\"w-full\"\n (keydown.enter)=\"inputQuantity.nativeFocusableElement?.blur()\"\n ></sc-input-quantity>\n</div>\n\n<ng-template #skeleton>\n <div class=\"flex flex-col card-wrapper bg-white rounded-xl overflow-hidden shadow-sc-1\">\n <!-- \u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0442\u043E\u0432\u0430\u0440\u0430 -->\n <div class=\"w-full h-3/5 rounded-t bg-tui-base-02\"></div>\n <!-- \u041A\u0440\u0430\u0442\u043A\u0430\u044F \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u043E \u0442\u043E\u0432\u0430\u0440\u0435 -->\n <div class=\"flex flex-col grow gap-2.5 bg-white rounded-b p-5\">\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-3/5 h-4 rounded bg-tui-base-02\"></div>\n <div class=\"w-full h-4 rounded bg-tui-base-02\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host[data-size=s] .card-wrapper{width:10rem;height:16rem}:host[data-size=s] .card-wrapper .wrapper-info{padding:8px}:host[data-size=s] .card-wrapper .wrapper-info .cost{font-size:.875rem;line-height:1.25rem}:host[data-size=s] .card-wrapper .button-wrapper tui-svg{font-size:.75rem;line-height:1rem;width:1rem}:host[data-size=m] .card-wrapper{width:12.5rem;height:20rem}:host[data-size=m] .card-wrapper .wrapper-info{padding-inline:16px;padding-block:8px}:host[data-size=m] .card-wrapper .name{font-size:.875rem;line-height:1.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:3rem}:host[data-size=m] .card-wrapper .info{max-height:1rem}:host[data-size=m] .card-wrapper .cost{font-size:1.125rem;line-height:1.75rem}:host[data-size=m] .card-wrapper .button-wrapper{max-height:0px;font-size:.75rem;line-height:1rem}:host[data-size=m] .card-wrapper:hover .name{-webkit-line-clamp:unset;max-height:6rem}:host[data-size=m] .card-wrapper:hover .info{max-height:3rem}:host[data-size=m] .card-wrapper:hover .button-wrapper{max-height:3rem}\n"] }]
|
131
131
|
}], ctorParameters: function () { return [{ type: i1.UnitsHelper }, { type: i2.ScAuthService }, { type: i2.ScWarehouseService }, { type: undefined, decorators: [{
|
132
132
|
type: Inject,
|
133
133
|
args: [SC_URLS]
|
@@ -156,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
156
156
|
type: HostBinding,
|
157
157
|
args: ['attr.data-size']
|
158
158
|
}] } });
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxPQUFPLEVBQW1GLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7QUFJM0o7O0dBRUc7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBa0g3Qjs7Ozs7Ozs7T0FRRztJQUNILFlBQ29CLFdBQXdCLEVBQ3ZCLFdBQTBCLEVBQzFCLGdCQUFvQyxFQUNuQixJQUFhLEVBQ0csaUJBQXlCLEVBQzFELEdBQXNCO1FBTHZCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUMxRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWhJM0M7O1dBRUc7UUFDSSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7O1dBRUc7UUFDSSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7O1dBRUc7UUFFSSx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFnQzVDOztXQUVHO1FBRUksdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekU7O1dBRUc7UUFFSSx3QkFBbUIsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUVwRjs7V0FFRztRQUVJLG9CQUFlLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFbEY7O1dBRUc7UUFFSSxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFOztXQUVHO1FBQ0kscUJBQWdCLEdBQW9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRTdHOztXQUVHO1FBQ0ksb0JBQWUsR0FBK0IsSUFBSSxXQUFXLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBRTFGOztXQUVHO1FBRUkseUJBQW9CLEdBQThCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1FBRTNGOztXQUVHO1FBQ2EsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVwRjs7V0FFRztRQUdJLFNBQUksR0FBeUIsR0FBRyxDQUFDO0lBaUNyQyxDQUFDO0lBakhKOzs7O09BSUc7SUFDSCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUE2QjtRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUE4REQ7OztPQUdHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBMkJEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3BGLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7O2lIQXZKUSxvQkFBb0IsNEdBK0hqQixPQUFPLGFBQ1AsdUJBQXVCO3FHQWhJMUIsb0JBQW9CLHFiQ2hCakMsd3VLQXFFQTsyRkRyRGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUkxQyxNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCOzRFQWpINUIsbUJBQW1CO3NCQUR6QixLQUFLO2dCQWtCSyxRQUFRO3NCQURsQixLQUFLO2dCQWNDLE9BQU87c0JBRGIsS0FBSztnQkFPQyxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBT0EsbUJBQW1CO3NCQUR6QixNQUFNO2dCQU9BLGVBQWU7c0JBRHJCLE1BQU07Z0JBT0EsY0FBYztzQkFEcEIsTUFBTTtnQkFpQkEsb0JBQW9CO3NCQUQxQixNQUFNO2dCQWFBLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVuaXRzSGVscGVyIH0gZnJvbSAnLi4vLi4vaGVscGVycy9zYy11bml0cy1oZWxwZXInO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMsIFNjQXV0aFNlcnZpY2UsIFNjQ2FydEl0ZW0sIFNjSVVybHMsIFNjUHJvZHVjdCwgU2NJV2FyZWhvdXNlLCBTY1dhcmVob3VzZVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aVNpemVTLCBUdWlTaXplWFMgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VDYXJkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC70L7QsNC00LXRgCDQtNC70Y8g0L/QvtC70Y8g0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHF1YW50aXR5U2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCDQu9C+0LDQtNC10YAg0LTQu9GPINC60L3QvtC/0LrQuCDQuNC30LHRgNCw0L3QvdGL0YUg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBmYXZvcml0ZVNob3dMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0L/QvtC70LUg0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1F1YW50aXR5Q29udHJvbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqXG4gICAgICogVE9ETzog0KHQtNC10LvQsNGC0Ywg0YLQvtCy0LDRgCDQsiDQutC+0YDQt9C40L3QtSDQvdCw0LHQu9GO0LTQsNC10LzQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40LggVEFTSzpbIzcxNDRdLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgY2FydEl0ZW0oKTogU2NDYXJ0SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXJ0SXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LVcbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0LIg0LrQvtGA0LfQuNC90LUg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY2FydEl0ZW0odmFsdWU6IFNjQ2FydEl0ZW0gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fY2FydEl0ZW0gPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLnF1YW50aXR5Q29udHJvbC5wYXRjaFZhbHVlKHRoaXMuX2NhcnRJdGVtPy5xdWFudGl0eSA/PyBudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMucXVhbnRpdHlTaG93TG9hZGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwcm9kdWN0PzogU2NQcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQkiDQuNC30LHRgNCw0L3QvdC+0LVcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tGYXZvcml0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCSINC60L7RgNC30LjQvdGDXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQWRkVG9DYXJ0RXZlbnQ6IEV2ZW50RW1pdHRlcjxTY1Byb2R1Y3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY1Byb2R1Y3Q+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQvtGH0LjRgdGC0LrQuCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQ2xlYXJFdmVudDogRXZlbnRFbWl0dGVyPFNjQ2FydEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NhcnRJdGVtPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutCw0YDRgtC+0YfQutGDINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tDYXJkRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0LLRi9Cx0YDQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyB3YXJlaG91c2VTZWxlY3QkOiBPYnNlcnZhYmxlPFNjSVdhcmVob3VzZSB8IG51bGw+ID0gdGhpcy53YXJlaG91c2VTZXJ2aWNlLmdldFdhcmVob3VzZVNlbGVjdENoYW5nZSQoKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBGb3JtQ29udHJvbH0g0L/QvtC70Y8g0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgcHVibGljIHF1YW50aXR5Q29udHJvbDogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4gPSBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINC60L7Qu9C40YfQtdGB0YLQstCwINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcXVhbnRpdHlWYWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8bnVtYmVyIHwgbnVsbD4gPSB0aGlzLnF1YW50aXR5Q29udHJvbC52YWx1ZUNoYW5nZXM7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0YLQsNGC0YPRgdCwINCw0LLRgtC+0YDQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGF1dGhTdGF0dXMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoQ2hhbmdlKCk7XG5cbiAgICAvKipcbiAgICAgKiDQoNCw0LfQvNC10YAg0LrQvtC80L/QvtC90LXQvdGC0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgfCBUdWlTaXplWFMgPSAnbSc7XG5cbiAgICAvKipcbiAgICAgKiDQmtC+0L3QstC10YDRgtCw0YbQuNGPINGA0LDQt9C80LXRgNCwINC00LvRjyDQutC+0LzQv9C+0L3QtdC90YLQsCBzYy1pbnB1dC1xdWFudGl0eS5cbiAgICAgKiBUT0RPOiDQoNC10YjQuNGC0Ywg0L/RgNC+0LHQu9C10LzRgyDRgSDRhNGD0L3QutGG0LjQvtC90LDQu9C+0Lwgc2l6ZSDQtNC70Y8g0YDQsNC30L3Ri9GFINC/0LvQsNGC0YTQvtGA0LwuXG4gICAgICovXG4gICAgcHVibGljIGdldCBnZXRRdWFudGl0eVNpemUoKTogVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAneHMnID8gJ3MnIDogdGhpcy5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0LIg0LrQvtGA0LfQuNC90LUg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jYXJ0SXRlbT86IFNjQ2FydEl0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY1ByaWNlQ2FyZENvbXBvbmVudH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdW5pdHNIZWxwZXIg0J7QsdGK0LXQutGCLdGF0Y3Qu9C/0LXRgCDQtNC70Y8g0YDQsNCx0L7RgtGLINGB0L4g0LfQvdCw0YfQtdC90LjRj9C80Lgg0LXQtNC40L3QuNGGINC40LfQvNC10YDQtdC90LjRjyDRgtC+0LLQsNGA0LAuXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuICAgICAqIEBwYXJhbSB3YXJlaG91c2VTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGB0L4g0YHQutC70LDQtNCw0LzQuC5cbiAgICAgKiBAcGFyYW0gdXJscyDQodC/0LjRgdC+0Log0YHRgdGL0LvQvtC6INC90LAg0YDQsNC30LTQtdC70YsgYmFja2VuZCdhLlxuICAgICAqIEBwYXJhbSBwYXRoSW1hZ2VOb3RGb3VuZCDQn9GD0YLRjCDQtNC+INC40LfQvtCx0YDQsNC20LXQvdC40Y8gJ9Ci0L7QstCw0YAg0L3QtSDQvdCw0LnQtNC10L0nLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHVuaXRzSGVscGVyOiBVbml0c0hlbHBlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB3YXJlaG91c2VTZXJ2aWNlOiBTY1dhcmVob3VzZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoU0NfVVJMUykgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzLFxuICAgICAgICBASW5qZWN0KFNDX1BBVEhfSU1BR0VfTk9UX0ZPVU5EKSBwcml2YXRlIHJlYWRvbmx5IHBhdGhJbWFnZU5vdEZvdW5kOiBzdHJpbmcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3Rg9C20L3QviDQv9C+0LrQsNC30LDRgtGMINGB0LrQtdC70LXRgtC+0L0uXG4gICAgICovXG4gICAgcHVibGljIGdldCBza2VsZXRvblZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcm9kdWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YHRi9C70LrRgyDQvdCwINC40LfQvtCx0YDQsNC20LXQvdC40LUg0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENhcmRJbWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9kdWN0Py5nZXRJbWFnZSh0aGlzLnVybHMuaW1nU2VydmVyVXJsKSA/PyB0aGlzLnBhdGhJbWFnZU5vdEZvdW5kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC60L7QvNC/0L7QvdC10L3RgiDQsiDQvtGH0LXRgNC10LTRjCDQvdCwINC+0LHQvdC+0LLQu9C10L3QuNC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBtYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbn1cbiIsIjwhLS0gVE9ETzog0YDQtdCw0LvQuNC30L7QstCw0YLRjCDQtNCw0L3QvdGL0Lkg0LrQvtC80L/QvtC90LXQvdGCINC4INC00LvRjyDQtNC10YHQutGC0L7Qv9CwINC4INC00LvRjyDQvNC+0LHQuNC70YzQvdC+0LPQviDQv9GA0LjQu9C+0LbQtdC90LjRjy4g0JjRgdC/0YDQsNCy0LjRgtGMINCy0YHQtSDQs9C70L7QsdCw0LvRjNC90YvQtSDRgtCw0LnQs9C+0LLRgdC60LjQtSDRgdGC0LjQu9C4LCDQv9GA0LjQstC10YHRgtC4INC40YUg0LIg0L/QvtGA0Y/QtNC+0Log0YHQvtCz0LvQsNGB0L3QviDRgSDQtNC40LfQsNC50L3QvtC8LiAtLT5cbjxkaXYgKm5nSWY9XCJwcm9kdWN0OyBlbHNlIHNrZWxldG9uXCIgY2xhc3M9XCJtaW4tdy1bMTByZW1dIHNoYWRvdy1tZCB3LWF1dG8gcm91bmRlZC14bCBwLTIgZ3JpZCBoLVsxN3JlbV0gdGV4dC14cyByZWxhdGl2ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgPGltZyAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCIgW3NyY109XCJnZXRDYXJkSW1hZ2UoKVwiIFthbHRdPVwicHJvZHVjdC5uYW1lXCIgY2xhc3M9XCJyb3VuZGVkLXhsIHctZnVsbCBtYXgtaC1mdWxsIG9iamVjdC1jb3ZlclwiIC8+XG4gICAgPC9kaXY+XG4gICAgPHNjLWZhdm9yaXRlLWJ0blxuICAgICAgICAqbmdJZj1cImF1dGhTdGF0dXMkIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInRvcC0wIGxlZnQtMCBhYnNvbHV0ZVwiXG4gICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrRmF2b3JpdGVFdmVudC5lbWl0KClcIlxuICAgICAgICBbc2hvd0xvYWRlcl09XCJmYXZvcml0ZVNob3dMb2FkZXJcIlxuICAgICAgICBbaXNGYXZvcml0ZV09XCJwcm9kdWN0LmlzRmF2b3JpdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiISFwcm9kdWN0LnByaW1hcnlDYXRlZ29yeT8uaXNGYXZvcml0ZVwiXG4gICAgPjwvc2MtZmF2b3JpdGUtYnRuPlxuICAgIDx0dWktc3ZnICpuZ0lmPVwicHJvZHVjdC5pc1ByZXZpb3VzbHlPcmRlcmVkXCIgc3JjPVwic2NJY29uU3RhclwiIGNsYXNzPVwidG9wLTAgcmlnaHQtMCBhYnNvbHV0ZSB0ZXh0LXJlZC03MDBcIj48L3R1aS1zdmc+XG5cbiAgICA8YSBjbGFzcz1cInAtMCBtLTBcIiB0dWlMaW5rIGljb25BbGlnbj1cImxlZnRcIiAoY2xpY2spPVwiY2xpY2tDYXJkRXZlbnQuZW1pdCgpXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtc21cIiBzdHlsZT1cIndvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XCI+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgIDwvYT5cbiAgICA8cCAqbmdJZj1cInByb2R1Y3Q/LnBhY2tcIiBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIj7QndC+0YDQvNCwINGD0L/QsNC60L7QstC60Lg6IHt7IHByb2R1Y3QucGFjayB9fTwvcD5cblxuICAgIDxwIGNsYXNzPVwidGV4dC10dWktdGV4dC0wMlwiPtCQ0YDRgtC40LrRg9C7OiB7eyBwcm9kdWN0LmNvZGUgfX08L3A+XG4gICAgPHAgKm5nSWY9XCIoYXV0aFN0YXR1cyQgfCBhc3luYykgJiYgcHJvZHVjdD8uY29zdERhdGVcIiBjbGFzcz1cInRleHQtdHVpLXRleHQtMDJcIj7QlNCw0YLQsDoge3sgcHJvZHVjdC5jb3N0RGF0ZSB9fTwvcD5cbiAgICA8ZGl2ICpuZ0lmPVwid2FyZWhvdXNlU2VsZWN0JCB8IGFzeW5jIGFzIHdhcmVob3VzZVNlbGVjdFwiIGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInByb2R1Y3QuZGlzY291bnRcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHRleHQtdHVpLXRleHQtMDJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGluZS10aHJvdWdoXCI+e3sgcHJvZHVjdC5kaXNjb3VudENvc3RTdHJpbmcgfX08L3NwYW4+ICZuYnNwO1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXR1aS1zdWNjZXNzLWZpbGwgZm9udC1ib2xkXCI+IC17eyBwcm9kdWN0LmRpc2NvdW50LnBlcmNlbnQgfX0lIDwvc3Bhbj5cbiAgICAgICAgICAgIDx0dWktc3ZnIHNyYz1cInR1aUljb25JbmZvTGFyZ2VcIiBbdHVpSGludF09XCJkaXNjb3VudEhpbnRcIiBbdHVpSGludFNob3dEZWxheV09XCIxMDBcIiB0dWlIaW50RGlyZWN0aW9uPVwidG9wXCIgY2xhc3M9XCJ0ZXh0LWJsYWNrICF0ZXh0LXhzICFoLTRcIj48L3R1aS1zdmc+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Rpc2NvdW50SGludD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgcHJvZHVjdC5kaXNjb3VudC5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2R1Y3QuZGlzY291bnQuZXhwaXJlZEF0IGFzIGV4cGlyZWRBdFwiPtCU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjzoge3sgZXhwaXJlZEF0IH19PC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIFtjbGFzcy50ZXh0LXR1aS10ZXh0LTAyXT1cIiFwcm9kdWN0LmlzV2FyZWhvdXNlU3RvY2tFeGlzdCh3YXJlaG91c2VTZWxlY3QuaWQpXCIgY2xhc3M9XCJjb3N0IGZvbnQtYm9sZFwiPnt7IHByb2R1Y3QuY29zdFJ1YlN0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhcHJvZHVjdC5wcmljZUluUnViXCIgY2xhc3M9XCJ0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LXR1aS10ZXh0LTAyIGhpZGRlbiBncm91cC1ob3ZlcjpibG9ja1wiPnt7IHByb2R1Y3QuY29zdFN0cmluZyB9fTwvc3Bhbj5cbiAgICAgICAgPHNjLXByaWNlLXdhcmVob3VzZS1zdG9jayBbcHJvZHVjdF09XCJwcm9kdWN0XCI+PC9zYy1wcmljZS13YXJlaG91c2Utc3RvY2s+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFzaG93UXVhbnRpdHlDb250cm9sXCIgY2xhc3M9XCJmbGV4IGdhcC0yIG1heC13LWZ1bGwgaXRlbXMtY2VudGVyIGp1c3RpZnktc3RyZXRjaCBtdC0xXCI+XG4gICAgICAgIDxidXR0b24gdHVpQnV0dG9uIChjbGljayk9XCJjbGlja0FkZFRvQ2FydEV2ZW50LmVtaXQocHJvZHVjdClcIiBbc2hvd0xvYWRlcl09XCJxdWFudGl0eVNob3dMb2FkZXJcIiBbc2l6ZV09XCJzaXplXCIgY2xhc3M9XCJncm93XCI+XG4gICAgICAgICAgICA8dHVpLXN2ZyBzcmM9XCJzY0ljb25DYXJ0XCIgY2xhc3M9XCIhdGV4dC14cyAhaC00XCI+IDwvdHVpLXN2Zz5cbiAgICAgICAgICAgINCSINC60L7RgNC30LjQvdGDXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FydEl0ZW1cIiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgIDx0dWktc3ZnIHNyYz1cInR1aUljb25DaGVja1wiIGNsYXNzPVwiIWgtNSAhdy01IGJnLXR1aS1wcmltYXJ5IHRleHQtYmxhY2sgcm91bmRlZC1tZFwiPjwvdHVpLXN2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHNjLWlucHV0LXF1YW50aXR5XG4gICAgICAgICpuZ0lmPVwic2hvd1F1YW50aXR5Q29udHJvbFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJxdWFudGl0eUNvbnRyb2xcIlxuICAgICAgICBbcXVhbnRpdHlVbml0XT1cInByb2R1Y3QucXVhbnRpdHlVbml0XCJcbiAgICAgICAgW3NpemVdPVwiZ2V0UXVhbnRpdHlTaXplXCJcbiAgICAgICAgW3N0ZXBdPVwidW5pdHNIZWxwZXIucHJvZHVjdE11bHRpcGxpY2l0eShwcm9kdWN0KVwiXG4gICAgICAgIFtzaG93TG9hZGVyXT1cInF1YW50aXR5U2hvd0xvYWRlclwiXG4gICAgICAgIChjbGlja0NsZWFyRXZlbnQpPVwiY2xpY2tDbGVhckV2ZW50LmVtaXQoY2FydEl0ZW0pXCJcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgID48L3NjLWlucHV0LXF1YW50aXR5PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2tlbGV0b24+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgY2FyZC13cmFwcGVyIGJnLXdoaXRlIHJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdy1zYy0xXCI+XG4gICAgICAgIDwhLS0g0JjQt9C+0LHRgNCw0LbQtdC90LjQtSDRgtC+0LLQsNGA0LAgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC0zLzUgcm91bmRlZC10IGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgIDwhLS0g0JrRgNCw0YLQutCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0YLQvtCy0LDRgNC1IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBncm93IGdhcC0yLjUgYmctd2hpdGUgcm91bmRlZC1iIHAtNVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLTQgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMy81IGgtNCByb3VuZGVkIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtNCByb3VuZGVkIGJnLXR1aS1iYXNlLTAyXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2UtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY2F0YWxvZy9wcmljZS1jYXJkL3NjLXByaWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2UtY2FyZC9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxPQUFPLEVBQW1GLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7QUFJM0o7O0dBRUc7QUFPSCxNQUFNLE9BQU8sb0JBQW9CO0lBa0g3Qjs7Ozs7Ozs7T0FRRztJQUNILFlBQ29CLFdBQXdCLEVBQ3ZCLFdBQTBCLEVBQzFCLGdCQUFvQyxFQUNuQixJQUFhLEVBQ0csaUJBQXlCLEVBQzFELEdBQXNCO1FBTHZCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNHLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUMxRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWhJM0M7O1dBRUc7UUFDSSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7O1dBRUc7UUFDSSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFM0M7O1dBRUc7UUFFSSx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFnQzVDOztXQUVHO1FBRUksdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFekU7O1dBRUc7UUFFSSx3QkFBbUIsR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUVwRjs7V0FFRztRQUVJLG9CQUFlLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFbEY7O1dBRUc7UUFFSSxtQkFBYyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFOztXQUVHO1FBQ0kscUJBQWdCLEdBQW9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRTdHOztXQUVHO1FBQ0ksb0JBQWUsR0FBK0IsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRWhIOztXQUVHO1FBRUkseUJBQW9CLEdBQThCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1FBRTNGOztXQUVHO1FBQ2EsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVwRjs7V0FFRztRQUdJLFNBQUksR0FBeUIsR0FBRyxDQUFDO0lBaUNyQyxDQUFDO0lBakhKOzs7O09BSUc7SUFDSCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUE2QjtRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV2QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsSUFBSSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUE4REQ7OztPQUdHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBMkJEOztPQUVHO0lBQ0gsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3BGLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7O2lIQXZKUSxvQkFBb0IsNEdBK0hqQixPQUFPLGFBQ1AsdUJBQXVCO3FHQWhJMUIsb0JBQW9CLHFiQ2hCakMsdTFLQXVFQTsyRkR2RGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUkxQyxNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsdUJBQXVCOzRFQWpINUIsbUJBQW1CO3NCQUR6QixLQUFLO2dCQWtCSyxRQUFRO3NCQURsQixLQUFLO2dCQWNDLE9BQU87c0JBRGIsS0FBSztnQkFPQyxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBT0EsbUJBQW1CO3NCQUR6QixNQUFNO2dCQU9BLGVBQWU7c0JBRHJCLE1BQU07Z0JBT0EsY0FBYztzQkFEcEIsTUFBTTtnQkFpQkEsb0JBQW9CO3NCQUQxQixNQUFNO2dCQWFBLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVuaXRzSGVscGVyIH0gZnJvbSAnLi4vLi4vaGVscGVycy9zYy11bml0cy1oZWxwZXInO1xuaW1wb3J0IHsgU0NfUEFUSF9JTUFHRV9OT1RfRk9VTkQsIFNDX1VSTFMsIFNjQXV0aFNlcnZpY2UsIFNjQ2FydEl0ZW0sIFNjSVVybHMsIFNjUHJvZHVjdCwgU2NJV2FyZWhvdXNlLCBTY1dhcmVob3VzZVNlcnZpY2UgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFR1aVNpemVTLCBUdWlTaXplWFMgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINC60LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zYy1wcmljZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjUHJpY2VDYXJkQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC70L7QsNC00LXRgCDQtNC70Y8g0L/QvtC70Y8g0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHF1YW50aXR5U2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0LosINGH0YLQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCDQu9C+0LDQtNC10YAg0LTQu9GPINC60L3QvtC/0LrQuCDQuNC30LHRgNCw0L3QvdGL0YUg0YLQvtCy0LDRgNC+0LIg0Lgg0LrQsNGC0LXQs9C+0YDQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyBmYXZvcml0ZVNob3dMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0L/QvtC70LUg0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1F1YW50aXR5Q29udHJvbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqXG4gICAgICogVE9ETzog0KHQtNC10LvQsNGC0Ywg0YLQvtCy0LDRgCDQsiDQutC+0YDQt9C40L3QtSDQvdCw0LHQu9GO0LTQsNC10LzQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40LggVEFTSzpbIzcxNDRdLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgY2FydEl0ZW0oKTogU2NDYXJ0SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYXJ0SXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LVcbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0LIg0LrQvtGA0LfQuNC90LUg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY2FydEl0ZW0odmFsdWU6IFNjQ2FydEl0ZW0gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fY2FydEl0ZW0gPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLnF1YW50aXR5Q29udHJvbC5wYXRjaFZhbHVlKHRoaXMuX2NhcnRJdGVtPy5xdWFudGl0eSA/PyBudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMucXVhbnRpdHlTaG93TG9hZGVyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdGK0LXQutGCINGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIFRPRE86INCh0LTQtdC70LDRgtGMINGC0L7QstCw0YAg0L3QsNCx0LvRjtC00LDQtdC80L7QuSDQv9C10YDQtdC80LXQvdC90L7QuSDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4IFRBU0s6WyM3MTQ0XS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwcm9kdWN0PzogU2NQcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutC90L7Qv9C60YMgXCLQkiDQuNC30LHRgNCw0L3QvdC+0LVcIi5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tGYXZvcml0ZUV2ZW50OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyBcItCSINC60L7RgNC30LjQvdGDXCIuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQWRkVG9DYXJ0RXZlbnQ6IEV2ZW50RW1pdHRlcjxTY1Byb2R1Y3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY1Byb2R1Y3Q+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDQvtGH0LjRgdGC0LrQuCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrQ2xlYXJFdmVudDogRXZlbnRFbWl0dGVyPFNjQ2FydEl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0NhcnRJdGVtPigpO1xuXG4gICAgLyoqXG4gICAgICog0KHQvtCx0YvRgtC40LUg0L3QsNC20LDRgtC40Y8g0L3QsCDQutCw0YDRgtC+0YfQutGDINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tDYXJkRXZlbnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0LLRi9Cx0YDQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyB3YXJlaG91c2VTZWxlY3QkOiBPYnNlcnZhYmxlPFNjSVdhcmVob3VzZSB8IG51bGw+ID0gdGhpcy53YXJlaG91c2VTZXJ2aWNlLmdldFdhcmVob3VzZVNlbGVjdENoYW5nZSQoKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBGb3JtQ29udHJvbH0g0L/QvtC70Y8g0LLQstC+0LTQsCDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgcHVibGljIHF1YW50aXR5Q29udHJvbDogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4gPSBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4obnVsbCwgeyB1cGRhdGVPbjogJ2JsdXInIH0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHF1YW50aXR5VmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPG51bWJlciB8IG51bGw+ID0gdGhpcy5xdWFudGl0eUNvbnRyb2wudmFsdWVDaGFuZ2VzO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC40LfQvNC10L3QtdC90LjRjyDRgdGC0LDRgtGD0YHQsCDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBhdXRoU3RhdHVzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aENoYW5nZSgpO1xuXG4gICAgLyoqXG4gICAgICog0KDQsNC30LzQtdGAINC60L7QvNC/0L7QvdC10L3RgtCwLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZVhTID0gJ20nO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC90LLQtdGA0YLQsNGG0LjRjyDRgNCw0LfQvNC10YDQsCDQtNC70Y8g0LrQvtC80L/QvtC90LXQvdGC0LAgc2MtaW5wdXQtcXVhbnRpdHkuXG4gICAgICogVE9ETzog0KDQtdGI0LjRgtGMINC/0YDQvtCx0LvQtdC80YMg0YEg0YTRg9C90LrRhtC40L7QvdCw0LvQvtC8IHNpemUg0LTQu9GPINGA0LDQt9C90YvRhSDQv9C70LDRgtGE0L7RgNC8LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgZ2V0UXVhbnRpdHlTaXplKCk6IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ3hzJyA/ICdzJyA6IHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICpcbiAgICAgKiBUT0RPOiDQodC00LXQu9Cw0YLRjCDRgtC+0LLQsNGAINCyINC60L7RgNC30LjQvdC1INC90LDQsdC70Y7QtNCw0LXQvNC+0Lkg0L/QtdGA0LXQvNC10L3QvdC+0Lkg0L/QvtGB0LvQtSDRgNC10LDQu9C40LfQsNGG0LjQuCBUQVNLOlsjNzE0NF0uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY2FydEl0ZW0/OiBTY0NhcnRJdGVtIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNC40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZUNhcmRDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVuaXRzSGVscGVyINCe0LHRitC10LrRgi3RhdGN0LvQv9C10YAg0LTQu9GPINGA0LDQsdC+0YLRiyDRgdC+INC30L3QsNGH0LXQvdC40Y/QvNC4INC10LTQuNC90LjRhiDQuNC30LzQtdGA0LXQvdC40Y8g0YLQvtCy0LDRgNCwLlxuICAgICAqIEBwYXJhbSBhdXRoU2VydmljZSDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKiBAcGFyYW0gd2FyZWhvdXNlU2VydmljZSDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgdC+INGB0LrQu9Cw0LTQsNC80LguXG4gICAgICogQHBhcmFtIHVybHMg0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQvdCwINGA0LDQt9C00LXQu9GLIGJhY2tlbmQnYS5cbiAgICAgKiBAcGFyYW0gcGF0aEltYWdlTm90Rm91bmQg0J/Rg9GC0Ywg0LTQviDQuNC30L7QsdGA0LDQttC10L3QuNGPICfQotC+0LLQsNGAINC90LUg0L3QsNC50LTQtdC9Jy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB1bml0c0hlbHBlcjogVW5pdHNIZWxwZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IFNjQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgd2FyZWhvdXNlU2VydmljZTogU2NXYXJlaG91c2VTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFNDX1VSTFMpIHByaXZhdGUgcmVhZG9ubHkgdXJsczogU2NJVXJscyxcbiAgICAgICAgQEluamVjdChTQ19QQVRIX0lNQUdFX05PVF9GT1VORCkgcHJpdmF0ZSByZWFkb25seSBwYXRoSW1hZ2VOb3RGb3VuZDogc3RyaW5nLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90YPQttC90L4g0L/QvtC60LDQt9Cw0YLRjCDRgdC60LXQu9C10YLQvtC9LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc2tlbGV0b25WaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucHJvZHVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGB0YvQu9C60YMg0L3QsCDQuNC30L7QsdGA0LDQttC10L3QuNC1INC60LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJkSW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvZHVjdD8uZ2V0SW1hZ2UodGhpcy51cmxzLmltZ1NlcnZlclVybCkgPz8gdGhpcy5wYXRoSW1hZ2VOb3RGb3VuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC+0LzQv9C+0L3QtdC90YIg0LIg0L7Rh9C10YDQtdC00Ywg0L3QsCDQvtCx0L3QvtCy0LvQtdC90LjQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFya0ZvckNoZWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8IS0tIFRPRE86INGA0LXQsNC70LjQt9C+0LLQsNGC0Ywg0LTQsNC90L3Ri9C5INC60L7QvNC/0L7QvdC10L3RgiDQuCDQtNC70Y8g0LTQtdGB0LrRgtC+0L/QsCDQuCDQtNC70Y8g0LzQvtCx0LjQu9GM0L3QvtCz0L4g0L/RgNC40LvQvtC20LXQvdC40Y8uINCY0YHQv9GA0LDQstC40YLRjCDQstGB0LUg0LPQu9C+0LHQsNC70YzQvdGL0LUg0YLQsNC50LPQvtCy0YHQutC40LUg0YHRgtC40LvQuCwg0L/RgNC40LLQtdGB0YLQuCDQuNGFINCyINC/0L7RgNGP0LTQvtC6INGB0L7Qs9C70LDRgdC90L4g0YEg0LTQuNC30LDQudC90L7QvC4gLS0+XG48ZGl2ICpuZ0lmPVwicHJvZHVjdDsgZWxzZSBza2VsZXRvblwiIGNsYXNzPVwibWluLXctWzEwcmVtXSBzaGFkb3ctbWQgdy1hdXRvIHJvdW5kZWQteGwgcC0yIGdyaWQgaC1bMTlyZW1dIHRleHQteHMgcmVsYXRpdmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgIDxpbWcgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiIFtzcmNdPVwiZ2V0Q2FyZEltYWdlKClcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIGNsYXNzPVwicm91bmRlZC14bCB3LWZ1bGwgbWF4LWgtZnVsbCBvYmplY3QtY292ZXJcIiAvPlxuICAgIDwvZGl2PlxuICAgIDxzYy1mYXZvcml0ZS1idG5cbiAgICAgICAgKm5nSWY9XCJhdXRoU3RhdHVzJCB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJ0b3AtMCBsZWZ0LTAgYWJzb2x1dGVcIlxuICAgICAgICAoY2xpY2tFdmVudCk9XCJjbGlja0Zhdm9yaXRlRXZlbnQuZW1pdCgpXCJcbiAgICAgICAgW3Nob3dMb2FkZXJdPVwiZmF2b3JpdGVTaG93TG9hZGVyXCJcbiAgICAgICAgW2lzRmF2b3JpdGVdPVwicHJvZHVjdC5pc0Zhdm9yaXRlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiEhcHJvZHVjdC5wcmltYXJ5Q2F0ZWdvcnk/LmlzRmF2b3JpdGVcIlxuICAgID48L3NjLWZhdm9yaXRlLWJ0bj5cbiAgICA8dHVpLXN2ZyAqbmdJZj1cInByb2R1Y3QuaXNQcmV2aW91c2x5T3JkZXJlZFwiIHNyYz1cInNjSWNvblN0YXJcIiBjbGFzcz1cInRvcC0wIHJpZ2h0LTAgYWJzb2x1dGUgdGV4dC1yZWQtNzAwXCI+PC90dWktc3ZnPlxuXG4gICAgPGEgY2xhc3M9XCJwLTAgbS0wXCIgdHVpTGluayBpY29uQWxpZ249XCJsZWZ0XCIgKGNsaWNrKT1cImNsaWNrQ2FyZEV2ZW50LmVtaXQoKVwiPlxuICAgICAgICA8cCBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LXNtIGxpbmUtY2xhbXAtM1wiIHN0eWxlPVwid29yZC1icmVhazogYnJlYWstd29yZDtcIj57eyBwcm9kdWN0Lm5hbWUgfX08L3A+XG4gICAgPC9hPlxuICAgIDxwICpuZ0lmPVwicHJvZHVjdD8ucGFja1wiIGNsYXNzPVwidGV4dC10dWktdGV4dC0wMlwiPtCd0L7RgNC80LAg0YPQv9Cw0LrQvtCy0LrQuDoge3sgcHJvZHVjdC5wYWNrIH19PC9wPlxuXG4gICAgPHAgY2xhc3M9XCJ0ZXh0LXR1aS10ZXh0LTAyXCI+0JDRgNGC0LjQutGD0Ls6IHt7IHByb2R1Y3QuY29kZSB9fTwvcD5cbiAgICA8cCAqbmdJZj1cIihhdXRoU3RhdHVzJCB8IGFzeW5jKSAmJiBwcm9kdWN0Py5jb3N0RGF0ZVwiIGNsYXNzPVwidGV4dC10dWktdGV4dC0wMlwiPtCU0LDRgtCwOiB7eyBwcm9kdWN0LmNvc3REYXRlIH19PC9wPlxuICAgIDxkaXYgKm5nSWY9XCJ3YXJlaG91c2VTZWxlY3QkIHwgYXN5bmMgYXMgd2FyZWhvdXNlU2VsZWN0XCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwicHJvZHVjdC5kaXNjb3VudFwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgdGV4dC10dWktdGV4dC0wMlwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaW5lLXRocm91Z2hcIj57eyBwcm9kdWN0LmRpc2NvdW50Q29zdFN0cmluZyB9fTwvc3Bhbj4gJm5ic3A7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHVpLXN1Y2Nlc3MtZmlsbCBmb250LWJvbGRcIj4gLXt7IHByb2R1Y3QuZGlzY291bnQucGVyY2VudCB9fSUgPC9zcGFuPlxuICAgICAgICAgICAgPHR1aS1zdmcgc3JjPVwidHVpSWNvbkluZm9MYXJnZVwiIFt0dWlIaW50XT1cImRpc2NvdW50SGludFwiIFt0dWlIaW50U2hvd0RlbGF5XT1cIjEwMFwiIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIiBjbGFzcz1cInRleHQtYmxhY2sgIXRleHQteHMgIWgtNFwiPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlzY291bnRIaW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LWJvbGRcIj57eyBwcm9kdWN0LmRpc2NvdW50Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvZHVjdC5kaXNjb3VudC5leHBpcmVkQXQgYXMgZXhwaXJlZEF0XCI+0JTQsNGC0LAg0L7QutC+0L3Rh9Cw0L3QuNGPOiB7eyBleHBpcmVkQXQgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW2NsYXNzLnRleHQtdHVpLXRleHQtMDJdPVwiIXByb2R1Y3QuaXNXYXJlaG91c2VTdG9ja0V4aXN0KHdhcmVob3VzZVNlbGVjdC5pZClcIiBjbGFzcz1cImNvc3QgZm9udC1ib2xkXCI+e3sgcHJvZHVjdC5jb3N0UnViU3RyaW5nIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFwcm9kdWN0LnByaWNlSW5SdWJcIiBjbGFzcz1cInRleHQteHMgZm9udC1ib2xkIHRleHQtdHVpLXRleHQtMDIgaGlkZGVuIGdyb3VwLWhvdmVyOmJsb2NrXCI+e3sgcHJvZHVjdC5jb3N0U3RyaW5nIH19PC9zcGFuPlxuICAgICAgICA8c2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrIFtwcm9kdWN0XT1cInByb2R1Y3RcIj48L3NjLXByaWNlLXdhcmVob3VzZS1zdG9jaz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIXNob3dRdWFudGl0eUNvbnRyb2xcIiBjbGFzcz1cImZsZXggZ2FwLTIgbWF4LXctZnVsbCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdHJldGNoIG10LTFcIj5cbiAgICAgICAgPGJ1dHRvbiB0dWlCdXR0b24gKGNsaWNrKT1cImNsaWNrQWRkVG9DYXJ0RXZlbnQuZW1pdChwcm9kdWN0KVwiIFtzaG93TG9hZGVyXT1cInF1YW50aXR5U2hvd0xvYWRlclwiIFtzaXplXT1cInNpemVcIiBjbGFzcz1cImdyb3dcIj5cbiAgICAgICAgICAgIDx0dWktc3ZnIHNyYz1cInNjSWNvbkNhcnRcIiBjbGFzcz1cIiF0ZXh0LXhzICFoLTRcIj4gPC90dWktc3ZnPlxuICAgICAgICAgICAg0JIg0LrQvtGA0LfQuNC90YNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjYXJ0SXRlbVwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPHR1aS1zdmcgc3JjPVwidHVpSWNvbkNoZWNrXCIgY2xhc3M9XCIhaC01ICF3LTUgYmctdHVpLXByaW1hcnkgdGV4dC1ibGFjayByb3VuZGVkLW1kXCI+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8c2MtaW5wdXQtcXVhbnRpdHlcbiAgICAgICAgI2lucHV0UXVhbnRpdHlcbiAgICAgICAgKm5nSWY9XCJzaG93UXVhbnRpdHlDb250cm9sXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1YW50aXR5Q29udHJvbFwiXG4gICAgICAgIFtxdWFudGl0eVVuaXRdPVwicHJvZHVjdC5xdWFudGl0eVVuaXRcIlxuICAgICAgICBbc2l6ZV09XCJnZXRRdWFudGl0eVNpemVcIlxuICAgICAgICBbc3RlcF09XCJ1bml0c0hlbHBlci5wcm9kdWN0TXVsdGlwbGljaXR5KHByb2R1Y3QpXCJcbiAgICAgICAgW3Nob3dMb2FkZXJdPVwicXVhbnRpdHlTaG93TG9hZGVyXCJcbiAgICAgICAgKGNsaWNrQ2xlYXJFdmVudCk9XCJjbGlja0NsZWFyRXZlbnQuZW1pdChjYXJ0SXRlbSlcIlxuICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImlucHV0UXVhbnRpdHkubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uYmx1cigpXCJcbiAgICA+PC9zYy1pbnB1dC1xdWFudGl0eT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3NrZWxldG9uPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGNhcmQtd3JhcHBlciBiZy13aGl0ZSByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBzaGFkb3ctc2MtMVwiPlxuICAgICAgICA8IS0tINCY0LfQvtCx0YDQsNC20LXQvdC40LUg0YLQvtCy0LDRgNCwIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIGgtMy81IHJvdW5kZWQtdCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICA8IS0tINCa0YDQsNGC0LrQsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INGC0L7QstCw0YDQtSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ3JvdyBnYXAtMi41IGJnLXdoaXRlIHJvdW5kZWQtYiBwLTVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC00IHJvdW5kZWQgYmctdHVpLWJhc2UtMDJcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTMvNSBoLTQgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBoLTQgcm91bmRlZCBiZy10dWktYmFzZS0wMlwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -30,10 +30,10 @@ export class ScPriceWarehouseStockComponent {
|
|
30
30
|
}
|
31
31
|
}
|
32
32
|
ScPriceWarehouseStockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceWarehouseStockComponent, deps: [{ token: i1.ScWarehouseService }], target: i0.ɵɵFactoryTarget.Component });
|
33
|
-
ScPriceWarehouseStockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: { classList: "classList", product: "product", withStockHint: "withStockHint" }, ngImport: i0, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\"
|
33
|
+
ScPriceWarehouseStockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScPriceWarehouseStockComponent, selector: "sc-price-warehouse-stock", inputs: { classList: "classList", product: "product", withStockHint: "withStockHint" }, ngImport: i0, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\">\n <ng-container>\n <td class=\"px-1\">{{ item[0]?.name }}:</td>\n <td class=\"px-1\">{{ item[1].count ? item[1].count + ' ' + product.quantityUnit : '\u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438' }}</td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-template>\n", styles: ["[tuiIconButton]{--tui-radius-m: .75rem;--tui-height-xs: 1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "directive", type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { kind: "directive", type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { kind: "directive", type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { kind: "directive", type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScPriceWarehouseStockComponent, decorators: [{
|
35
35
|
type: Component,
|
36
|
-
args: [{ selector: 'sc-price-warehouse-stock', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\"
|
36
|
+
args: [{ selector: 'sc-price-warehouse-stock', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"product\">\n <ng-container>\n <div *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"flex items-center gap-1\">\n <span *ngIf=\"product.getNotStockMessage(warehouseSelect) as message\" class=\"text-xs min-w-2/5 text-tui-error-fill\" [ngClass]=\"classList\"> {{ message }} </span>\n <span *ngIf=\"product.isWarehouseStockExist(warehouseSelect.id)\" class=\"text-xs min-w-2/5 text-tui-success-fill\" [ngClass]=\"classList\">\n \u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438<ng-container *ngIf=\"product.getWarehouseStockCount(warehouseSelect.id) as count\"\n >:\n <span class=\"whitespace-nowrap\">{{ count }} {{ product.quantityUnit }}</span>\n </ng-container>\n </span>\n <span *ngIf=\"product.onOrder\" class=\"text-xs min-w-2/5 text-sc-yellow\" [ngClass]=\"classList\">\u041F\u043E\u0434 \u0437\u0430\u043A\u0430\u0437</span>\n\n <tui-svg\n *ngIf=\"withStockHint && (stockByWarehouses$ | async)?.length\"\n src=\"tuiIconInfoLarge\"\n [tuiHint]=\"stockHint\"\n [tuiHintShowDelay]=\"100\"\n tuiHintDirection=\"top\"\n class=\"!text-xs !h-3\"\n ></tui-svg>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #stockHint>\n <table *ngIf=\"warehouseSelect$ | async as warehouseSelect\" class=\"text-xs table-auto\" [ngClass]=\"classList\">\n <tbody>\n <tr *ngFor=\"let item of stockByWarehouses$ | async\" class=\"border-b\">\n <ng-container>\n <td class=\"px-1\">{{ item[0]?.name }}:</td>\n <td class=\"px-1\">{{ item[1].count ? item[1].count + ' ' + product.quantityUnit : '\u0412 \u043D\u0430\u043B\u0438\u0447\u0438\u0438' }}</td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n</ng-template>\n", styles: ["[tuiIconButton]{--tui-radius-m: .75rem;--tui-height-xs: 1.25rem}\n"] }]
|
37
37
|
}], ctorParameters: function () { return [{ type: i1.ScWarehouseService }]; }, propDecorators: { classList: [{
|
38
38
|
type: Input
|
39
39
|
}], product: [{
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
41
41
|
}], withStockHint: [{
|
42
42
|
type: Input
|
43
43
|
}] } });
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJpY2Utd2FyZWhvdXNlLXN0b2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jYXRhbG9nL3ByaWNlLXdhcmVob3VzZS1zdG9jay9zYy1wcmljZS13YXJlaG91c2Utc3RvY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NhdGFsb2cvcHJpY2Utd2FyZWhvdXNlLXN0b2NrL3NjLXByaWNlLXdhcmVob3VzZS1zdG9jay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQWMsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFFbEQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8sOEJBQThCO0lBb0N2Qzs7OztPQUlHO0lBQ0gsWUFBb0MsZ0JBQW9DO1FBQXBDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUE5QnhFOztXQUVHO1FBQ2Esa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFFOUM7O1dBRUc7UUFDSSxxQkFBZ0IsR0FBb0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFFN0c7O1dBRUc7UUFDSSx1QkFBa0IsR0FBa0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDakksU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDdkMsR0FBRyxDQUFDLENBQUMsVUFBMEIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDaEosR0FBRyxDQUNDLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUNsQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQXFFLENBQzlKLENBQ0osQ0FDSixDQUNKLENBQUM7SUFPeUUsQ0FBQzs7MkhBekNuRSw4QkFBOEI7K0dBQTlCLDhCQUE4Qix3SkNiM0MsODhEQW9DQTsyRkR2QmEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNJLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTt5R0FPL0IsU0FBUztzQkFBeEIsS0FBSztnQkFLVSxPQUFPO3NCQUF0QixLQUFLO2dCQUtVLGFBQWE7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NJV2FyZWhvdXNlU3RvY2tDb3VudCwgU2NQcm9kdWN0LCBTY0lXYXJlaG91c2UsIFNjV2FyZWhvdXNlU2VydmljZSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0L3QsNC70LjRh9C40Lgg0YLQvtCy0LDRgNCwINC90LAg0YHQutC70LDQtNC1LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLXByaWNlLXdhcmVob3VzZS1zdG9jaycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NjLXByaWNlLXdhcmVob3VzZS1zdG9jay5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3R5bGVVcmxzOiBbJ3NjLXByaWNlLXdhcmVob3VzZS1zdG9jay5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTY1ByaWNlV2FyZWhvdXNlU3RvY2tDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCh0YLRgNC+0LrQsCDQutC70LDRgdGB0L7QsiDQtNC70Y8g0YHQstC+0LnRgdGC0LIg0YHRgtCw0YLRg9GB0L7Qsi5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgY2xhc3NMaXN0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YTQvtGA0LzQsNGG0LjRjyDQviDRgtC+0LLQsNGA0LUv0YPRgdC70YPQs9C1LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9kdWN0OiBTY1Byb2R1Y3Q7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINC/0L7QtNGB0LrQsNC30LrRgyDQv9C+INGB0LrQu9Cw0LTQsNC8LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyB3aXRoU3RvY2tIaW50OiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0LLRi9Cx0YDQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqL1xuICAgIHB1YmxpYyB3YXJlaG91c2VTZWxlY3QkOiBPYnNlcnZhYmxlPFNjSVdhcmVob3VzZSB8IG51bGw+ID0gdGhpcy53YXJlaG91c2VTZXJ2aWNlLmdldFdhcmVob3VzZVNlbGVjdENoYW5nZSQoKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQuNC30LzQtdC90LXQvdC40Y8g0YHQv9C40YHQutCwINGB0LrQu9Cw0LTQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdG9ja0J5V2FyZWhvdXNlcyQ/OiBPYnNlcnZhYmxlPFtTY0lXYXJlaG91c2UgfCB1bmRlZmluZWQsIFNjSVdhcmVob3VzZVN0b2NrQ291bnRdW10gfCB1bmRlZmluZWQ+ID0gdGhpcy53YXJlaG91c2VTZWxlY3QkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgod2FyZWhvdXNlU2VsZWN0KSA9PlxuICAgICAgICAgICAgdGhpcy53YXJlaG91c2VTZXJ2aWNlLmdldFdhcmVob3VzZXMkKCkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHdhcmVob3VzZXM6IFNjSVdhcmVob3VzZVtdKSA9PiB0aGlzLnByb2R1Y3Quc3RvY2tDb3VudD8ubWFwKChzdG9jaykgPT4gW3dhcmVob3VzZXMuZmluZCgod2FyZWhvdXNlKSA9PiB3YXJlaG91c2UuaWQgPT09IHN0b2NrLmlkKSwgc3RvY2tdKSksXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoc3RvY2tCeVdhcmVob3VzZXMpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9ja0J5V2FyZWhvdXNlcz8uc29ydCgoc3RvY2spID0+IChzdG9ja1swXT8uaWQgPT09IHdhcmVob3VzZVNlbGVjdD8uaWQgPyAtMSA6IDEpKSBhcyBbU2NJV2FyZWhvdXNlIHwgdW5kZWZpbmVkLCBTY0lXYXJlaG91c2VTdG9ja0NvdW50XVtdIHwgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NQcmljZVdhcmVob3VzZVN0b2NrQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB3YXJlaG91c2VTZXJ2aWNlINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGB0L4g0YHQutC70LDQtNCw0LzQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB3YXJlaG91c2VTZXJ2aWNlOiBTY1dhcmVob3VzZVNlcnZpY2UpIHt9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicHJvZHVjdFwiPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ3YXJlaG91c2VTZWxlY3QkIHwgYXN5bmMgYXMgd2FyZWhvdXNlU2VsZWN0XCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9kdWN0LmdldE5vdFN0b2NrTWVzc2FnZSh3YXJlaG91c2VTZWxlY3QpIGFzIG1lc3NhZ2VcIiBjbGFzcz1cInRleHQteHMgbWluLXctMi81IHRleHQtdHVpLWVycm9yLWZpbGxcIiBbbmdDbGFzc109XCJjbGFzc0xpc3RcIj4ge3sgbWVzc2FnZSB9fSA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInByb2R1Y3QuaXNXYXJlaG91c2VTdG9ja0V4aXN0KHdhcmVob3VzZVNlbGVjdC5pZClcIiBjbGFzcz1cInRleHQteHMgbWluLXctMi81IHRleHQtdHVpLXN1Y2Nlc3MtZmlsbFwiIFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICAgICAgICAgICAgICAgINCSINC90LDQu9C40YfQuNC4PG5nLWNvbnRhaW5lciAqbmdJZj1cInByb2R1Y3QuZ2V0V2FyZWhvdXNlU3RvY2tDb3VudCh3YXJlaG91c2VTZWxlY3QuaWQpIGFzIGNvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgPjpcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcFwiPnt7IGNvdW50IH19IHt7IHByb2R1Y3QucXVhbnRpdHlVbml0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwcm9kdWN0Lm9uT3JkZXJcIiBjbGFzcz1cInRleHQteHMgbWluLXctMi81IHRleHQtc2MteWVsbG93XCIgW25nQ2xhc3NdPVwiY2xhc3NMaXN0XCI+0J/QvtC0INC30LDQutCw0Lc8L3NwYW4+XG5cbiAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ3aXRoU3RvY2tIaW50ICYmIChzdG9ja0J5V2FyZWhvdXNlcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgc3JjPVwidHVpSWNvbkluZm9MYXJnZVwiXG4gICAgICAgICAgICAgICAgW3R1aUhpbnRdPVwic3RvY2tIaW50XCJcbiAgICAgICAgICAgICAgICBbdHVpSGludFNob3dEZWxheV09XCIxMDBcIlxuICAgICAgICAgICAgICAgIHR1aUhpbnREaXJlY3Rpb249XCJ0b3BcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiIXRleHQteHMgIWgtM1wiXG4gICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3N0b2NrSGludD5cbiAgICA8dGFibGUgKm5nSWY9XCJ3YXJlaG91c2VTZWxlY3QkIHwgYXN5bmMgYXMgd2FyZWhvdXNlU2VsZWN0XCIgY2xhc3M9XCJ0ZXh0LXhzIHRhYmxlLWF1dG9cIiBbbmdDbGFzc109XCJjbGFzc0xpc3RcIj5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHN0b2NrQnlXYXJlaG91c2VzJCB8IGFzeW5jXCIgY2xhc3M9XCJib3JkZXItYlwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB4LTFcIj57eyBpdGVtWzBdPy5uYW1lIH19OjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInB4LTFcIj57eyBpdGVtWzFdLmNvdW50ID8gaXRlbVsxXS5jb3VudCArICcgJyArIHByb2R1Y3QucXVhbnRpdHlVbml0IDogJ9CSINC90LDQu9C40YfQuNC4JyB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -14,7 +14,7 @@ export class TreeIconService {
|
|
14
14
|
getIconName(info) {
|
15
15
|
switch (info.icon) {
|
16
16
|
case ScIconTypesEnum.iconImage:
|
17
|
-
return '
|
17
|
+
return 'tuiIconImageLarge';
|
18
18
|
case ScIconTypesEnum.iconPdfFile:
|
19
19
|
return 'scIconPdfFile';
|
20
20
|
case ScIconTypesEnum.iconWordFile:
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
45
45
|
providedIn: 'root',
|
46
46
|
}]
|
47
47
|
}] });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pY29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvZmlsZXMvc2VydmljZXMvdHJlZS1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXpEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFDeEI7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsSUFBb0I7UUFDbkMsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2YsS0FBSyxlQUFlLENBQUMsU0FBUztnQkFDMUIsT0FBTyxtQkFBbUIsQ0FBQztZQUMvQixLQUFLLGVBQWUsQ0FBQyxXQUFXO2dCQUM1QixPQUFPLGVBQWUsQ0FBQztZQUMzQixLQUFLLGVBQWUsQ0FBQyxZQUFZO2dCQUM3QixPQUFPLGdCQUFnQixDQUFDO1lBQzVCLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQzlCLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsS0FBSyxlQUFlLENBQUMsVUFBVTtnQkFDM0IsT0FBTyxjQUFjLENBQUM7WUFDMUI7Z0JBQ0ksT0FBTyxZQUFZLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsSUFBb0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQztJQUMvQixDQUFDOzs0R0FoQ1EsZUFBZTtnSEFBZixlQUFlLGNBRlosTUFBTTsyRkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjRG9jdW1lbnRJbmZvIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZS9maWxlcy9jbGFzc2VzL3NjLWRvY3VtZW50LWluZm8nO1xuaW1wb3J0IHsgU2NJY29uVHlwZXNFbnVtIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINGA0LDQsdC+0YLQsNGO0YnQuNC5INGBINC30L3QsNGH0LrQsNC80Lgg0Y3Qu9C10LzQtdC90YLQvtCyINC00LXRgNC10LLQsC5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUljb25TZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiDQndCw0LfQvdCw0YfQsNC10YIg0LfQvdCw0YfQvtC6INGN0LvQtdC80LXQvdGC0YMg0LTQtdGA0LXQstCwINCyINC30LDQstC40YHQuNC80L7RgdGC0Lgg0L7RgiDRgtC40L/QsCDRhNCw0LnQu9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGluZm8g0J7QsdGK0LXQutGCINC/0YDQuNGI0LXQtNGI0LjRhSDQtNCw0L3QvdGL0YUg0L4g0YTQsNC50LvQtS5cbiAgICAgKiBAcmV0dXJucyDQktC+0LfQstGA0LDRidCw0LXRgiDQvdCw0LfQstCw0L3QuNC1INC30L3QsNGH0LrQsCDQsiDQstC40LTQtSDRgdGC0YDQvtC60LguXG4gICAgICovXG4gICAgcHVibGljIGdldEljb25OYW1lKGluZm86IFNjRG9jdW1lbnRJbmZvKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoIChpbmZvLmljb24pIHtcbiAgICAgICAgICAgIGNhc2UgU2NJY29uVHlwZXNFbnVtLmljb25JbWFnZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3R1aUljb25JbWFnZUxhcmdlJztcbiAgICAgICAgICAgIGNhc2UgU2NJY29uVHlwZXNFbnVtLmljb25QZGZGaWxlOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc2NJY29uUGRmRmlsZSc7XG4gICAgICAgICAgICBjYXNlIFNjSWNvblR5cGVzRW51bS5pY29uV29yZEZpbGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzY0ljb25Xb3JkRmlsZSc7XG4gICAgICAgICAgICBjYXNlIFNjSWNvblR5cGVzRW51bS5pY29uRXhjZWxGaWxlOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc2NJY29uRXhjZWxGaWxlJztcbiAgICAgICAgICAgIGNhc2UgU2NJY29uVHlwZXNFbnVtLmljb25Gb2xkZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzY0ljb25Gb2xkZXInO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3NjSWNvbkZpbGUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/RgNC+0LLQtdGA0Y/QtdGCINC90LAg0L/RgNC40LfQvdCw0Log0L3QsNC70LjRh9C40Y8g0LTQvtGH0LXRgNC90LjRhSDRjdC70LXQvNC10L3RgtC+0LIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW5mbyDQntCx0YrQtdC60YIg0L/RgNC40YjQtdC00YjQuNGFINC00LDQvdC90YvRhSDQviDRhNCw0LnQu9C1LlxuICAgICAqIEByZXR1cm5zINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHRydWUg0L/RgNC4INC90LDQu9C40YfQuNC4INC00L7Rh9C10YDQvdC40YUg0Y3Qu9C10LzQtdC90YLQvtCyINC4IGZhbHNlINC/0YDQuCDQuNGFINC+0YLRgdGD0YLRgdCy0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaGFzQ2hpbGRyZW4oaW5mbzogU2NEb2N1bWVudEluZm8pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZm8udHlwZSA9PT0gJ2Rpcic7XG4gICAgfVxufVxuIl19
|
@@ -1,107 +1,91 @@
|
|
1
1
|
/**
|
2
2
|
* Список иконок.
|
3
|
-
* TODO: TASK[#7779] Добавить иконки отдельных значков для соц. сетей после добавления их в кит дизайна.
|
4
3
|
*/
|
5
4
|
export const scClientUiIconsName = [
|
6
|
-
'scIconCalendar',
|
7
5
|
'scIconWordFile',
|
6
|
+
'scIconWindowsill',
|
8
7
|
'scIconWarning',
|
8
|
+
'scIconSandwichPanels',
|
9
9
|
'scIconWallet',
|
10
10
|
'scIconViewTree',
|
11
|
-
'scIconMinus',
|
12
11
|
'scIconViewInline',
|
13
|
-
'scIconViewGrid',
|
14
|
-
'scIconVerticalThreeDots',
|
15
12
|
'scIconTop',
|
16
|
-
'
|
13
|
+
'scIconTemplates',
|
17
14
|
'scIconTasks',
|
18
15
|
'scIconSuitcase',
|
19
16
|
'scIconStar',
|
17
|
+
'scIconSocialWhatsapp',
|
18
|
+
'scIconSocialVk',
|
19
|
+
'scIconSocialViber',
|
20
|
+
'scIconSocialTelegram',
|
21
|
+
'scIconSocialQR',
|
22
|
+
'scIconSocialInstagram',
|
23
|
+
'scIconSocialFacebook',
|
24
|
+
'scIconSocialEmail',
|
25
|
+
'scIconSocialCopy',
|
26
|
+
'scIconSmile',
|
27
|
+
'scIconSiding',
|
20
28
|
'scIconShare',
|
21
|
-
'scIconSettings',
|
22
29
|
'scIconSend',
|
23
30
|
'scIconSearch',
|
24
31
|
'scIconSave',
|
32
|
+
'scIconSandwich',
|
25
33
|
'scIconRocket',
|
26
34
|
'scIconRequisites',
|
27
35
|
'scIconRepeat',
|
28
|
-
'scIconRefresh',
|
29
36
|
'scIconReclamation',
|
30
|
-
'scIconQuestion',
|
31
37
|
'scIconQRCodeScan',
|
38
|
+
'scIconPromoMaterials',
|
32
39
|
'scIconProfile',
|
33
40
|
'scIconPrice',
|
34
|
-
'
|
35
|
-
'scIconPhone',
|
41
|
+
'scIconPlasticProfile',
|
36
42
|
'scIconPercentage',
|
37
43
|
'scIconPdfFile',
|
38
44
|
'scIconPalette',
|
39
45
|
'scIconOffer',
|
40
46
|
'scIconNews',
|
41
|
-
'
|
47
|
+
'scIconMosquitoNet',
|
42
48
|
'scIconMoney',
|
43
49
|
'scIconMail',
|
44
|
-
'scIconLogOut2',
|
45
|
-
'scIconLogOut',
|
46
50
|
'scIconLogIn',
|
47
51
|
'scIconLockOpen',
|
48
52
|
'scIconLock',
|
49
|
-
'scIconLocation',
|
50
53
|
'scIconList',
|
51
|
-
'scIconLike',
|
52
|
-
'scIconImage',
|
53
54
|
'scIconHome',
|
54
55
|
'scIconHistory',
|
55
56
|
'scIconHeartFill',
|
56
57
|
'scIconHeart',
|
57
|
-
'scIconHamburger',
|
58
58
|
'scIconGraph',
|
59
|
-
'scIconFolderPlus',
|
60
59
|
'scIconFolderOpen',
|
61
60
|
'scIconFolder',
|
61
|
+
'scIconFoam',
|
62
|
+
'scIconFoamBalloon',
|
62
63
|
'scIconFilter',
|
63
64
|
'scIconFile',
|
64
65
|
'scIconFavoriteFill',
|
65
66
|
'scIconFavorite',
|
66
|
-
'
|
67
|
+
'scIconFastener',
|
67
68
|
'scIconExcelFile',
|
68
69
|
'scIconError',
|
69
70
|
'scIconEdit',
|
70
|
-
'scIconDownloading',
|
71
|
-
'scIconDone',
|
72
71
|
'scIconDeleteProfile',
|
73
|
-
'scIconCross',
|
74
72
|
'scIconContacts',
|
75
73
|
'scIconConfigurator',
|
76
74
|
'scIconClock',
|
77
|
-
'scIconClip',
|
78
75
|
'scIconClients',
|
79
|
-
'
|
76
|
+
'scIconCatalogBack',
|
80
77
|
'scIconCart',
|
81
|
-
'
|
82
|
-
'
|
78
|
+
'scIconCanopy',
|
79
|
+
'scIconCalendar',
|
83
80
|
'scIconBook',
|
84
81
|
'scIconBell',
|
85
|
-
'scIconBasket',
|
86
82
|
'scIconBag',
|
87
83
|
'scIconAttention',
|
88
|
-
'scIconArrowUp',
|
89
|
-
'scIconArrowRight',
|
90
84
|
'scIconArrowReturn',
|
91
|
-
'
|
92
|
-
'
|
93
|
-
'
|
94
|
-
'scIconArrowDown',
|
85
|
+
'scIconArrowLargeStart',
|
86
|
+
'scIconArrowLargeEnd',
|
87
|
+
'scIconArrowForward',
|
95
88
|
'scIconApplication',
|
96
89
|
'scIconAddProfile',
|
97
|
-
'scIconSocialCopy',
|
98
|
-
'scIconSocialEmail',
|
99
|
-
'scIconSocialFacebook',
|
100
|
-
'scIconSocialInstagram',
|
101
|
-
'scIconSocialQR',
|
102
|
-
'scIconSocialTelegram',
|
103
|
-
'scIconSocialViber',
|
104
|
-
'scIconSocialVk',
|
105
|
-
'scIconSocialWhatsapp',
|
106
90
|
];
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2xpZW50LXVpLWljb25zLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvaWNvbnMvc2MtY2xpZW50LXVpLWljb25zLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUMvQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsY0FBYztJQUNkLGFBQWE7SUFDYixZQUFZO0lBQ1osY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixlQUFlO0lBQ2YsYUFBYTtJQUNiLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLFlBQVk7SUFDWixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2IsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osY0FBYztJQUNkLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixrQkFBa0I7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog0KHQv9C40YHQvtC6INC40LrQvtC90L7Qui5cbiAqL1xuZXhwb3J0IGNvbnN0IHNjQ2xpZW50VWlJY29uc05hbWUgPSBbXG4gICAgJ3NjSWNvbldvcmRGaWxlJyxcbiAgICAnc2NJY29uV2luZG93c2lsbCcsXG4gICAgJ3NjSWNvbldhcm5pbmcnLFxuICAgICdzY0ljb25TYW5kd2ljaFBhbmVscycsXG4gICAgJ3NjSWNvbldhbGxldCcsXG4gICAgJ3NjSWNvblZpZXdUcmVlJyxcbiAgICAnc2NJY29uVmlld0lubGluZScsXG4gICAgJ3NjSWNvblRvcCcsXG4gICAgJ3NjSWNvblRlbXBsYXRlcycsXG4gICAgJ3NjSWNvblRhc2tzJyxcbiAgICAnc2NJY29uU3VpdGNhc2UnLFxuICAgICdzY0ljb25TdGFyJyxcbiAgICAnc2NJY29uU29jaWFsV2hhdHNhcHAnLFxuICAgICdzY0ljb25Tb2NpYWxWaycsXG4gICAgJ3NjSWNvblNvY2lhbFZpYmVyJyxcbiAgICAnc2NJY29uU29jaWFsVGVsZWdyYW0nLFxuICAgICdzY0ljb25Tb2NpYWxRUicsXG4gICAgJ3NjSWNvblNvY2lhbEluc3RhZ3JhbScsXG4gICAgJ3NjSWNvblNvY2lhbEZhY2Vib29rJyxcbiAgICAnc2NJY29uU29jaWFsRW1haWwnLFxuICAgICdzY0ljb25Tb2NpYWxDb3B5JyxcbiAgICAnc2NJY29uU21pbGUnLFxuICAgICdzY0ljb25TaWRpbmcnLFxuICAgICdzY0ljb25TaGFyZScsXG4gICAgJ3NjSWNvblNlbmQnLFxuICAgICdzY0ljb25TZWFyY2gnLFxuICAgICdzY0ljb25TYXZlJyxcbiAgICAnc2NJY29uU2FuZHdpY2gnLFxuICAgICdzY0ljb25Sb2NrZXQnLFxuICAgICdzY0ljb25SZXF1aXNpdGVzJyxcbiAgICAnc2NJY29uUmVwZWF0JyxcbiAgICAnc2NJY29uUmVjbGFtYXRpb24nLFxuICAgICdzY0ljb25RUkNvZGVTY2FuJyxcbiAgICAnc2NJY29uUHJvbW9NYXRlcmlhbHMnLFxuICAgICdzY0ljb25Qcm9maWxlJyxcbiAgICAnc2NJY29uUHJpY2UnLFxuICAgICdzY0ljb25QbGFzdGljUHJvZmlsZScsXG4gICAgJ3NjSWNvblBlcmNlbnRhZ2UnLFxuICAgICdzY0ljb25QZGZGaWxlJyxcbiAgICAnc2NJY29uUGFsZXR0ZScsXG4gICAgJ3NjSWNvbk9mZmVyJyxcbiAgICAnc2NJY29uTmV3cycsXG4gICAgJ3NjSWNvbk1vc3F1aXRvTmV0JyxcbiAgICAnc2NJY29uTW9uZXknLFxuICAgICdzY0ljb25NYWlsJyxcbiAgICAnc2NJY29uTG9nSW4nLFxuICAgICdzY0ljb25Mb2NrT3BlbicsXG4gICAgJ3NjSWNvbkxvY2snLFxuICAgICdzY0ljb25MaXN0JyxcbiAgICAnc2NJY29uSG9tZScsXG4gICAgJ3NjSWNvbkhpc3RvcnknLFxuICAgICdzY0ljb25IZWFydEZpbGwnLFxuICAgICdzY0ljb25IZWFydCcsXG4gICAgJ3NjSWNvbkdyYXBoJyxcbiAgICAnc2NJY29uRm9sZGVyT3BlbicsXG4gICAgJ3NjSWNvbkZvbGRlcicsXG4gICAgJ3NjSWNvbkZvYW0nLFxuICAgICdzY0ljb25Gb2FtQmFsbG9vbicsXG4gICAgJ3NjSWNvbkZpbHRlcicsXG4gICAgJ3NjSWNvbkZpbGUnLFxuICAgICdzY0ljb25GYXZvcml0ZUZpbGwnLFxuICAgICdzY0ljb25GYXZvcml0ZScsXG4gICAgJ3NjSWNvbkZhc3RlbmVyJyxcbiAgICAnc2NJY29uRXhjZWxGaWxlJyxcbiAgICAnc2NJY29uRXJyb3InLFxuICAgICdzY0ljb25FZGl0JyxcbiAgICAnc2NJY29uRGVsZXRlUHJvZmlsZScsXG4gICAgJ3NjSWNvbkNvbnRhY3RzJyxcbiAgICAnc2NJY29uQ29uZmlndXJhdG9yJyxcbiAgICAnc2NJY29uQ2xvY2snLFxuICAgICdzY0ljb25DbGllbnRzJyxcbiAgICAnc2NJY29uQ2F0YWxvZ0JhY2snLFxuICAgICdzY0ljb25DYXJ0JyxcbiAgICAnc2NJY29uQ2Fub3B5JyxcbiAgICAnc2NJY29uQ2FsZW5kYXInLFxuICAgICdzY0ljb25Cb29rJyxcbiAgICAnc2NJY29uQmVsbCcsXG4gICAgJ3NjSWNvbkJhZycsXG4gICAgJ3NjSWNvbkF0dGVudGlvbicsXG4gICAgJ3NjSWNvbkFycm93UmV0dXJuJyxcbiAgICAnc2NJY29uQXJyb3dMYXJnZVN0YXJ0JyxcbiAgICAnc2NJY29uQXJyb3dMYXJnZUVuZCcsXG4gICAgJ3NjSWNvbkFycm93Rm9yd2FyZCcsXG4gICAgJ3NjSWNvbkFwcGxpY2F0aW9uJyxcbiAgICAnc2NJY29uQWRkUHJvZmlsZScsXG5dO1xuIl19
|
@@ -2,9 +2,9 @@ import { tuiCreateToken } from '@taiga-ui/cdk';
|
|
2
2
|
/**
|
3
3
|
* Единицы измерения линейной величины по умолчанию.
|
4
4
|
*/
|
5
|
-
export const SC_LINEAR_VALUES = ['пог.м.', 'м.'];
|
5
|
+
export const SC_LINEAR_VALUES = ['пог.м.', 'м.', `м2`];
|
6
6
|
/**
|
7
7
|
* Токен единиц измерения линейной величины по умолчанию.
|
8
8
|
*/
|
9
9
|
export const SC_LINEAR_VALUES_TOKEN = tuiCreateToken(SC_LINEAR_VALUES);
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbGluZWFyLXZhbHVlcy10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS90b2tlbnMvc2MtbGluZWFyLXZhbHVlcy10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRWpFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0dWlDcmVhdGVUb2tlbiB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vKipcbiAqINCV0LTQuNC90LjRhtGLINC40LfQvNC10YDQtdC90LjRjyDQu9C40L3QtdC50L3QvtC5INCy0LXQu9C40YfQuNC90Ysg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4uXG4gKi9cbmV4cG9ydCBjb25zdCBTQ19MSU5FQVJfVkFMVUVTOiBzdHJpbmdbXSA9IFsn0L/QvtCzLtC8LicsICfQvC4nLCBg0LwyYF07XG5cbi8qKlxuICog0KLQvtC60LXQvSDQtdC00LjQvdC40YYg0LjQt9C80LXRgNC10L3QuNGPINC70LjQvdC10LnQvdC+0Lkg0LLQtdC70LjRh9C40L3RiyDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX0xJTkVBUl9WQUxVRVNfVE9LRU4gPSB0dWlDcmVhdGVUb2tlbihTQ19MSU5FQVJfVkFMVUVTKTtcbiJdfQ==
|
@@ -2,12 +2,14 @@
|
|
2
2
|
* Проверяет кратность значения.
|
3
3
|
*
|
4
4
|
* @param step Шаг кратности.
|
5
|
+
* @param precision Точность, количество чисел после запятой.
|
5
6
|
*/
|
6
|
-
export function stepValidator(step) {
|
7
|
-
return (
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
export function stepValidator(step, precision = 3) {
|
8
|
+
return ({ value }) => {
|
9
|
+
if (value) {
|
10
|
+
return Number((value / step).toFixed(precision)) % 1 !== 0 ? { error: `Число не кратно ${step}` } : null;
|
11
|
+
}
|
12
|
+
return null;
|
11
13
|
};
|
12
14
|
}
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcFZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS92YWxpZGF0b3JzL3N0ZXBWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVksRUFBRSxZQUFvQixDQUFDO0lBQzdELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBa0MsRUFBMkIsRUFBRTtRQUMxRSxJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU8sTUFBTSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDNUc7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiDQn9GA0L7QstC10YDRj9C10YIg0LrRgNCw0YLQvdC+0YHRgtGMINC30L3QsNGH0LXQvdC40Y8uXG4gKlxuICogQHBhcmFtIHN0ZXAg0KjQsNCzINC60YDQsNGC0L3QvtGB0YLQuC5cbiAqIEBwYXJhbSBwcmVjaXNpb24g0KLQvtGH0L3QvtGB0YLRjCwg0LrQvtC70LjRh9C10YHRgtCy0L4g0YfQuNGB0LXQuyDQv9C+0YHQu9C1INC30LDQv9GP0YLQvtC5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RlcFZhbGlkYXRvcihzdGVwOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyID0gMyk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKHsgdmFsdWUgfTogQWJzdHJhY3RDb250cm9sPG51bWJlciB8IG51bGw+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIoKHZhbHVlIC8gc3RlcCkudG9GaXhlZChwcmVjaXNpb24pKSAlIDEgIT09IDAgPyB7IGVycm9yOiBg0KfQuNGB0LvQviDQvdC1INC60YDQsNGC0L3QviAke3N0ZXB9YCB9IDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG59XG4iXX0=
|