@mugan86/ng-shop-ui
Version:
Librería para crear los componentes de una tienda Online
194 lines (193 loc) • 15.1 kB
JavaScript
import { __decorate } from "tslib";
import { CURRENCY_LIST, CURRENCIES_SYMBOL, } from './../../constants/currencies.enum';
import { Component, Input, Output, EventEmitter } from '@angular/core';
let ProductItemComponent = class ProductItemComponent {
constructor() {
this.showDesc = false;
this.add = new EventEmitter();
this.itemDetails = new EventEmitter();
this.selectCurrency = CURRENCIES_SYMBOL[CURRENCY_LIST.EURO];
}
ngOnInit() {
this.product.qty = 0;
}
addToCart(product) {
product.qty = product.qty + 1;
this.add.emit(product);
}
showDetails(product) {
this.itemDetails.emit(product);
}
};
__decorate([
Input()
], ProductItemComponent.prototype, "product", void 0);
__decorate([
Input()
], ProductItemComponent.prototype, "showDesc", void 0);
__decorate([
Output()
], ProductItemComponent.prototype, "add", void 0);
__decorate([
Output()
], ProductItemComponent.prototype, "itemDetails", void 0);
__decorate([
Input()
], ProductItemComponent.prototype, "selectCurrency", void 0);
ProductItemComponent = __decorate([
Component({
selector: 'shop-product-item',
template: "<div class=\"product-grid\">\n <div class=\"product-image\">\n <a (click)=\"showDetails(product)\">\n <img src=\"{{ product.img }}\" class=\"pic-1\" [alt]=\"product.name\" />\n </a>\n </div>\n <div class=\"product-content\">\n <h3 class=\"title\">{{ product.name | truncate: 25 }}</h3>\n <p *ngIf=\"showDesc\">\n {{ product.description | truncate: 40 }}\n </p>\n <div>\n <ng-template #noDiscount>\n <div class=\"price\">\n {{ selectCurrency }} {{ product.price | number }}\n </div>\n </ng-template>\n <div class=\"price\" *ngIf=\"product.discount; else noDiscount\">\n {{ selectCurrency }} {{ product.priceDiscount | number }}\n <span >\n {{ selectCurrency }} {{ product.price | number }}\n <span class=\"discount-percentage\">({{ product.discount }}%)</span>\n </span>\n </div>\n </div>\n <shop-rating *ngIf=\"product.rating\" [rating]=\"product.rating\"></shop-rating>\n </div>\n <ul class=\"social\">\n <!--<li><a href=\"\" data-tip=\"A\u00F1adir a lista de deseos\"><i class=\"fa fa-shopping-bag\"></i></a></li>-->\n <li>\n <a\n class=\"item-button-options\"\n (click)=\"addToCart(product)\"\n data-tip=\"A\u00F1adir a la cesta\"\n ><i class=\"fas fa-cart-plus\"></i\n ></a>\n </li>\n <li>\n <a class=\"item-button-options\"\n (click)=\"showDetails(product)\" data-tip=\"Detalles del producto\"\n ><i class=\"fas fa-info\"></i\n ></a>\n </li>\n </ul>\n</div>\n",
styles: [`
/********************* Shopping Demo-6 **********************/
.product-grid,
.product-grid .product-image {
overflow: hidden;
}
.product-grid {
font-family: 'Open Sans', sans-serif;
text-align: center;
position: relative;
transition: all 0.5s ease 0s;
border: 1px solid #afa3a338;
border-radius: 8px;
}
.product-grid:hover {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
cursor: pointer
}
.product-grid .product-image a {
display: block;
}
.product-grid .product-image img {
width: 100%;
min-height: 150px;
max-height: 150px;
transition: all 0.5s ease 0s;
}
.product-grid:hover .product-image img {
transform: scale(1.1);
}
.product-grid .product-content {
padding: 12px 12px 15px;
transition: all 0.5s ease 0s;
}
.product-grid:hover .product-content {
opacity: 0;
}
.product-grid .title {
font-size: 18px;
font-weight: 600;
text-transform: capitalize;
margin: 0 0 10px;
transition: all 0.3s ease 0s;
}
.product-grid .title a {
color: #000;
}
.product-grid .title a:hover {
color: #333;
}
.product-grid .price {
font-size: 22px;
font-weight: 800;
color: #cc1c39;
text-align: left;
margin-left: 20px;
margin-bottom: 12px;
}
.product-grid .price span {
color: #999;
font-size: 15px;
font-weight: 400;
text-decoration: line-through;
margin-left: 7px;
display: inline-block;
}
.product-grid .price span.discount-percentage {
text-decoration: none;
}
.product-grid .social {
background-color: #fff;
width: 100%;
padding: 0;
margin: 0;
list-style: none;
opacity: 0;
transform: translateX(-50%);
position: absolute;
bottom: -50%;
left: 50%;
z-index: 1;
transition: all 0.5s ease 0s;
}
.product-grid:hover .social {
opacity: 1;
bottom: 20px;
}
.product-grid .social li {
display: inline-block;
}
.product-grid .social li a {
color: #909090;
font-size: 16px;
line-height: 45px;
text-align: center;
height: 45px;
width: 45px;
margin: 0 7px;
border: 1px solid #909090;
border-radius: 50px;
display: block;
position: relative;
transition: all 0.3s ease-in-out;
}
.product-grid .social li a:hover {
color: #fff;
background-color: #333;
width: 80px;
}
.product-grid .social li a:after,
.product-grid .social li a:before {
content: attr(data-tip);
color: #fff;
background-color: #333;
font-size: 12px;
letter-spacing: 1px;
line-height: 20px;
padding: 1px 5px;
border-radius: 5px;
white-space: nowrap;
opacity: 0;
transform: translateX(-50%);
position: absolute;
left: 50%;
top: -30px;
}
.product-grid .social li a:after {
content: '';
height: 15px;
width: 15px;
border-radius: 0;
transform: translateX(-50%) rotate(45deg);
top: -20px;
z-index: -1;
}
.product-grid .social li a:hover:after,
.product-grid .social li a:hover:before {
opacity: 1;
}
.item-button-options:hover {
background: #504a4a;
cursor: pointer;
}
@media only screen and (max-width: 990px) {
.product-grid {
margin-bottom: 30px;
}
}
`]
})
], ProductItemComponent);
export { ProductItemComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdWdhbjg2L25nLXNob3AtdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wcm9kdWN0LWl0ZW0vcHJvZHVjdC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNMLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQThKcEgsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUFPL0I7UUFMUyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFFBQUcsR0FBMkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxnQkFBVyxHQUEyQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELG1CQUFjLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWpELENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWlCO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFpQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0NBQ0YsQ0FBQTtBQW5CVTtJQUFSLEtBQUssRUFBRTtxREFBbUI7QUFDbEI7SUFBUixLQUFLLEVBQUU7c0RBQWtCO0FBQ2hCO0lBQVQsTUFBTSxFQUFFO2lEQUFrRDtBQUNqRDtJQUFULE1BQU0sRUFBRTt5REFBMEQ7QUFDMUQ7SUFBUixLQUFLLEVBQUU7NERBQXdEO0FBTHJELG9CQUFvQjtJQTVKaEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLG1CQUFtQjtRQUM3Qix3aURBQTRDO2lCQUUxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FxSkM7S0FFSixDQUFDO0dBQ1csb0JBQW9CLENBb0JoQztTQXBCWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUHJvZHVjdCB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcy9wcm9kdWN0LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBDVVJSRU5DWV9MSVNULFxuICBDVVJSRU5DSUVTX1NZTUJPTCxcbn0gZnJvbSAnLi8uLi8uLi9jb25zdGFudHMvY3VycmVuY2llcy5lbnVtJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nob3AtcHJvZHVjdC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC8qKioqKioqKioqKioqKioqKioqKiogU2hvcHBpbmcgRGVtby02ICoqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAucHJvZHVjdC1ncmlkLFxuICAgICAgLnByb2R1Y3QtZ3JpZCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwcztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FmYTNhMzM4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXJcbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0LWdyaWQgLnByb2R1Y3QtaW1hZ2UgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnByb2R1Y3QtZ3JpZCAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlIDBzO1xuICAgICAgfVxuICAgICAgLnByb2R1Y3QtZ3JpZDpob3ZlciAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC5wcm9kdWN0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggMTVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwcztcbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0LWdyaWQ6aG92ZXIgLnByb2R1Y3QtY29udGVudCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC50aXRsZSBhIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC50aXRsZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6ICNjYzFjMzk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuICAgICAgLnByb2R1Y3QtZ3JpZCAucHJpY2Ugc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC5wcmljZSBzcGFuLmRpc2NvdW50LXBlcmNlbnRhZ2Uge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC5zb2NpYWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMHM7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkOmhvdmVyIC5zb2NpYWwge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWdyaWQgLnNvY2lhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0LWdyaWQgLnNvY2lhbCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM5MDkwOTA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgbWFyZ2luOiAwIDdweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzkwOTA5MDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC5zb2NpYWwgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0LWdyaWQgLnNvY2lhbCBsaSBhOmFmdGVyLFxuICAgICAgLnByb2R1Y3QtZ3JpZCAuc29jaWFsIGxpIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRpcCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogLTMwcHg7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC5zb2NpYWwgbGkgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1ncmlkIC5zb2NpYWwgbGkgYTpob3ZlcjphZnRlcixcbiAgICAgIC5wcm9kdWN0LWdyaWQgLnNvY2lhbCBsaSBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAuaXRlbS1idXR0b24tb3B0aW9uczpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM1MDRhNGE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkwcHgpIHtcbiAgICAgICAgLnByb2R1Y3QtZ3JpZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xuICBASW5wdXQoKSBwcm9kdWN0OiBJUHJvZHVjdDtcbiAgQElucHV0KCkgc2hvd0Rlc2MgPSBmYWxzZTtcbiAgQE91dHB1dCgpIGFkZDogRXZlbnRFbWl0dGVyPElQcm9kdWN0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGl0ZW1EZXRhaWxzOiBFdmVudEVtaXR0ZXI8SVByb2R1Y3Q+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSBzZWxlY3RDdXJyZW5jeSA9IENVUlJFTkNJRVNfU1lNQk9MW0NVUlJFTkNZX0xJU1QuRVVST107XG4gIGRpc2NvdW50UGVyY2VudGFnZTogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9kdWN0LnF0eSA9IDA7XG4gIH1cblxuICBhZGRUb0NhcnQocHJvZHVjdDogSVByb2R1Y3QpIHtcbiAgICBwcm9kdWN0LnF0eSA9IHByb2R1Y3QucXR5ICsgMTtcbiAgICB0aGlzLmFkZC5lbWl0KHByb2R1Y3QpO1xuICB9XG4gIHNob3dEZXRhaWxzKHByb2R1Y3Q6IElQcm9kdWN0KSB7XG4gICAgdGhpcy5pdGVtRGV0YWlscy5lbWl0KHByb2R1Y3QpO1xuICB9XG59XG4iXX0=