@wizishop/img-manager 0.2.102 → 0.2.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/bundles/wizishop-img-manager.umd.js +69 -41
  2. package/bundles/wizishop-img-manager.umd.js.map +1 -1
  3. package/bundles/wizishop-img-manager.umd.min.js +12 -12
  4. package/bundles/wizishop-img-manager.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/images-view/images-view.component.js +2 -2
  6. package/esm2015/lib/components/img-editor/cropper/cropper.component.js +31 -11
  7. package/esm2015/lib/components/img-editor/img-editor.component.js +2 -2
  8. package/esm2015/lib/components/pexels-lib/pexels-lib.component.js +1 -4
  9. package/esm2015/lib/components/shared/alert/alert.component.js +1 -1
  10. package/esm2015/lib/components/upload-list/upload-list.component.js +2 -2
  11. package/esm5/lib/components/images-view/images-view.component.js +2 -2
  12. package/esm5/lib/components/img-editor/cropper/cropper.component.js +38 -11
  13. package/esm5/lib/components/img-editor/img-editor.component.js +2 -2
  14. package/esm5/lib/components/pexels-lib/pexels-lib.component.js +1 -4
  15. package/esm5/lib/components/shared/alert/alert.component.js +1 -1
  16. package/esm5/lib/components/upload-list/upload-list.component.js +2 -2
  17. package/fesm2015/wizishop-img-manager.js +33 -17
  18. package/fesm2015/wizishop-img-manager.js.map +1 -1
  19. package/fesm5/wizishop-img-manager.js +40 -17
  20. package/fesm5/wizishop-img-manager.js.map +1 -1
  21. package/lib/components/img-editor/cropper/cropper.component.d.ts +6 -2
  22. package/package.json +5 -3
  23. package/wizishop-img-manager-0.2.106.tgz +0 -0
  24. package/wizishop-img-manager.metadata.json +1 -1
  25. package/wz-img-manager.scss +2771 -2769
  26. package/wizishop-img-manager-0.2.102.tgz +0 -0
@@ -1,5 +1,6 @@
1
1
  import { __assign, __decorate, __metadata } from "tslib";
2
2
  import { Component, Input, Output, EventEmitter } from '@angular/core';
3
+ import { Subject } from 'rxjs';
3
4
  import { insertRemove } from '../../../animations/insertRemove/insert-remove.animation';
4
5
  import { ImgCDNService } from '../../../services/config/img-cdn.service';
5
6
  var CropperComponent = /** @class */ (function () {
@@ -15,8 +16,9 @@ var CropperComponent = /** @class */ (function () {
15
16
  this.currentCroppedImage = ''; // Img modified return in base64
16
17
  this.isCropped = false;
17
18
  this.isLoading = false;
18
- this.isImgCropped = false;
19
- this.isImgCroppedInitilized = false;
19
+ this._isImgCropped = false;
20
+ this.imgCropperChange = new Subject();
21
+ this.skipNextImgCropped = 1;
20
22
  this.imageChangedEvent = '';
21
23
  this.croppedImage = '';
22
24
  this.canvasRotation = 0;
@@ -117,8 +119,22 @@ var CropperComponent = /** @class */ (function () {
117
119
  enumerable: true,
118
120
  configurable: true
119
121
  });
122
+ Object.defineProperty(CropperComponent.prototype, "isImgCropped", {
123
+ get: function () {
124
+ return this._isImgCropped;
125
+ },
126
+ set: function (isImgCropped) {
127
+ var _this = this;
128
+ setTimeout(function () {
129
+ _this._isImgCropped = isImgCropped;
130
+ }, 0);
131
+ },
132
+ enumerable: true,
133
+ configurable: true
134
+ });
120
135
  CropperComponent.prototype.ngOnInit = function () {
121
136
  this.init();
137
+ this.detectImgCropperChange();
122
138
  };
123
139
  CropperComponent.prototype.init = function () {
124
140
  this.imgRoute = this.getRAWImgRoute();
@@ -159,7 +175,7 @@ var CropperComponent = /** @class */ (function () {
159
175
  this.imageChangedEvent = event;
160
176
  };
161
177
  CropperComponent.prototype.imageCropped = function (event) {
162
- this.detectImgCropperChange();
178
+ this.imgCropperChange.next();
163
179
  this.currentCroppedImage = event.base64;
164
180
  this.currentCroppedImageChange.emit(this.currentCroppedImage);
165
181
  };
@@ -179,10 +195,13 @@ var CropperComponent = /** @class */ (function () {
179
195
  this.setCropperProperties(config);
180
196
  };
181
197
  CropperComponent.prototype.confirmCrop = function () {
182
- this.imgRoute = null;
183
- this.croppedImage = this.currentCroppedImage;
184
- this.isImgCropped = false;
185
- this.isImgCroppedInitilized = false;
198
+ var _this = this;
199
+ setTimeout(function () {
200
+ _this.imgRoute = null;
201
+ _this.croppedImage = _this.currentCroppedImage;
202
+ _this.skipNextImgCropped = 2;
203
+ _this.isImgCropped = false;
204
+ }, 0);
186
205
  this.resetConfCropper();
187
206
  this.onImgModified();
188
207
  };
@@ -204,8 +223,16 @@ var CropperComponent = /** @class */ (function () {
204
223
  }
205
224
  };
206
225
  CropperComponent.prototype.detectImgCropperChange = function () {
207
- this.isImgCropped = this.isImgCroppedInitilized;
208
- this.isImgCroppedInitilized = true;
226
+ var _this = this;
227
+ this.imgCropperChange
228
+ .subscribe(function () {
229
+ _this.skipNextImgCropped--;
230
+ if (_this.skipNextImgCropped >= 0) {
231
+ return;
232
+ }
233
+ _this.skipNextImgCropped = 0;
234
+ _this.isImgCropped = true;
235
+ });
209
236
  };
210
237
  /* Rotations functions */
211
238
  CropperComponent.prototype.rotateLeft = function () {
@@ -272,7 +299,7 @@ var CropperComponent = /** @class */ (function () {
272
299
  CropperComponent = __decorate([
273
300
  Component({
274
301
  selector: 'cropper',
275
- template: "<div class=\"img-editor__container__toolsContainer\">\n\n <div *ngIf=\"isImgCropped\">\n <div\n class=\"img-editor__container__toolsContainer__tool img-editor__container__toolsContainer__tool--button\"\n (click)=\"confirmCrop()\"\n [nwbToolTip]=\"'ImgManager.ImgEditor.ValidtToolTip' | translate\"\n nwbToolTipPosition=\"left\"\n >\n <i class=\"far fa-check\"></i>\n <p>{{ 'ImgManager.ImgEditor.Valid' | translate }}</p>\n </div>\n </div>\n\n <!-- Resolution -->\n <dropdown dropdownId=\"dropdown-resolution\">\n <ng-container label>\n <div\n class=\"img-editor__container__toolsContainer__tool\"\n >\n <i class=\"far fa-crop\"></i>\n <p>{{ 'ImgManager.ImgEditor.crop' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item *ngFor=\"let item of resolutionConfig; let index = index;\">\n <div\n class=\"dropdown-item\"\n [ngClass]=\"{'active-item': item.active}\"\n (click)=\"changeResolutionSize(index)\">\n <p>{{item.label | translate}}</p>\n </div>\n </ng-container>\n </dropdown>\n\n <!-- Zoom -->\n <dropdown dropdownId=\"dropdown-rotation\">\n <ng-container label>\n <div class=\"img-editor__container__toolsContainer__tool\" (click)=\"zoomIn()\">\n <i class=\"far fa-expand-arrows-alt\"></i>\n <p>{{ 'ImgManager.ImgEditor.display' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item *ngFor=\"let item of zoomConfig; let index = index;\">\n <div\n class=\"dropdown-item\"\n [ngClass]=\"{'active-item': item.active}\"\n (click)=\"applyMethod(item.method)\">\n <i *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></i>\n <p>{{item.label | translate}}</p>\n </div>\n </ng-container>\n </dropdown>\n\n <!-- Rotation -->\n <dropdown dropdownId=\"dropdown-rotation\" dropDownMenuClass=\"img-editor__container__toolsContainer__RotationDropdown\">\n <ng-container label>\n <div class=\"img-editor__container__toolsContainer__tool\" (click)=\"rotateRight()\">\n <i class=\"far fa-redo\"></i>\n <p>{{ 'ImgManager.ImgEditor.rotation' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item *ngFor=\"let item of rotationConfig; let index = index;\">\n <div\n class=\"dropdown-item\"\n [ngClass]=\"{'active-item': item.active}\"\n (click)=\"applyMethod(item.method)\">\n <i *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></i>\n <p>{{item.label | translate}}</p>\n </div>\n </ng-container>\n </dropdown>\n\n <div\n class=\"img-editor__container__toolsContainer__tool\"\n (click)=\"onRestart()\"\n @insertRemoveAnnim\n >\n <i class=\"far fa-retweet-alt\"></i>\n <p>{{ 'ImgManager.ImgEditor.restart' | translate }}</p>\n </div>\n</div>\n\n<div class=\"img-editor__image-cropper\" >\n <image-cropper\n [imageURL] = \"imgRoute\"\n [imageBase64] = \"croppedImage\"\n [maintainAspectRatio]=\"imgCropperConfig.maintainAspectRatio\"\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\n [aspectRatio]=\"imgCropperConfig.aspectRatio\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [alignImage]=\"'center'\"\n [style.display]=\"showCropper ? null : 'none'\"\n [format]=\"imgType\"\n [backgroundColor]=\"'white'\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n (cropperReady)=\"cropperReady()\"\n (loadImageFailed)=\"loadImageFailed()\"\n ></image-cropper>\n</div>\n",
302
+ template: "<div class=\"img-editor__container__toolsContainer\">\n\n <div *ngIf=\"isImgCropped\">\n <div\n class=\"img-editor__container__toolsContainer__tool img-editor__container__toolsContainer__tool--button\"\n (click)=\"confirmCrop()\"\n [nwbToolTip]=\"'ImgManager.ImgEditor.ValidtToolTip' | translate\"\n nwbToolTipPosition=\"left\"\n >\n <i class=\"far fa-check\"></i>\n <p>{{ 'ImgManager.ImgEditor.Valid' | translate }}</p>\n </div>\n </div>\n\n <!-- Resolution -->\n <dropdown dropdownId=\"dropdown-resolution\">\n <ng-container label>\n <div\n class=\"img-editor__container__toolsContainer__tool\"\n >\n <i class=\"far fa-crop\"></i>\n <p>{{ 'ImgManager.ImgEditor.crop' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item *ngFor=\"let item of resolutionConfig; let index = index;\">\n <div\n class=\"dropdown-item\"\n [ngClass]=\"{'active-item': item.active}\"\n (click)=\"changeResolutionSize(index)\">\n <p>{{item.label | translate}}</p>\n </div>\n </ng-container>\n </dropdown>\n\n <!-- Zoom -->\n <dropdown dropdownId=\"dropdown-rotation\">\n <ng-container label>\n <div class=\"img-editor__container__toolsContainer__tool\" (click)=\"zoomIn()\">\n <i class=\"far fa-expand-arrows-alt\"></i>\n <p>{{ 'ImgManager.ImgEditor.display' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item *ngFor=\"let item of zoomConfig; let index = index;\">\n <div\n class=\"dropdown-item\"\n [ngClass]=\"{'active-item': item.active}\"\n (click)=\"applyMethod(item.method)\">\n <i *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></i>\n <p>{{item.label | translate}}</p>\n </div>\n </ng-container>\n </dropdown>\n\n <!-- Rotation -->\n <dropdown dropdownId=\"dropdown-rotation\" dropDownMenuClass=\"img-editor__container__toolsContainer__RotationDropdown\">\n <ng-container label>\n <div class=\"img-editor__container__toolsContainer__tool\" (click)=\"rotateRight()\">\n <i class=\"far fa-redo\"></i>\n <p>{{ 'ImgManager.ImgEditor.rotation' | translate }}</p>\n </div>\n </ng-container>\n <ng-container item *ngFor=\"let item of rotationConfig; let index = index;\">\n <div\n class=\"dropdown-item\"\n [ngClass]=\"{'active-item': item.active}\"\n (click)=\"applyMethod(item.method)\">\n <i *ngIf=\"item.icon\" [ngClass]=\"item.icon\"></i>\n <p>{{item.label | translate}}</p>\n </div>\n </ng-container>\n </dropdown>\n\n <div\n class=\"img-editor__container__toolsContainer__tool\"\n (click)=\"onRestart()\"\n @insertRemoveAnnim\n >\n <i class=\"far fa-retweet-alt\"></i>\n <p>{{ 'ImgManager.ImgEditor.restart' | translate }}</p>\n </div>\n</div>\n\n<div class=\"img-editor__image-cropper\" >\n <image-cropper\n [imageURL]=\"imgRoute\"\n [imageBase64]=\"croppedImage\"\n [maintainAspectRatio]=\"imgCropperConfig.maintainAspectRatio\"\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\n [aspectRatio]=\"imgCropperConfig.aspectRatio\"\n [onlyScaleDown]=\"true\"\n [roundCropper]=\"false\"\n [canvasRotation]=\"canvasRotation\"\n [transform]=\"transform\"\n [alignImage]=\"'center'\"\n [style.display]=\"showCropper ? null : 'none'\"\n [format]=\"imgType\"\n [backgroundColor]=\"'white'\"\n (imageCropped)=\"imageCropped($event)\"\n (imageLoaded)=\"imageLoaded()\"\n (cropperReady)=\"cropperReady()\"\n (loadImageFailed)=\"loadImageFailed()\"\n ></image-cropper>\n</div>\n",
276
303
  animations: [
277
304
  insertRemove
278
305
  ]
@@ -282,4 +309,4 @@ var CropperComponent = /** @class */ (function () {
282
309
  return CropperComponent;
283
310
  }());
284
311
  export { CropperComponent };
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2Nyb3BwZXIvY3JvcHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBR3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQVN6RTtJQXFJRSwwQkFDVSxhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXZIOUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFHeEMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUdsRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoQyw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXZELGdCQUFXLEdBQVcsa0NBQWtDLENBQUM7UUFHekQsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsbUJBQWMsR0FBWSxLQUFLLENBQUMsQ0FBQyxpRkFBaUY7UUFDbEgsd0JBQW1CLEdBQVcsRUFBRSxDQUFDLENBQUMsZ0NBQWdDO1FBQ2xFLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QiwyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFLeEMsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBQzVCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixVQUFLLEdBQUcsQ0FBQyxDQUFD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QUFDO0lBQ3pCLENBQUM7SUFFRCxpQ0FBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMseUJBQ1AsSUFBSSxDQUFDLFNBQVMsS0FDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELHNDQUFXLEdBQVgsVUFBWSxNQUFjO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsMkRBQTJEO0lBQzdFLENBQUM7O2dCQW5Md0IsYUFBYTs7SUFuSXRDO1FBREMsS0FBSyxFQUFFOzt1REFDaUI7SUFHekI7UUFEQyxLQUFLLEVBQUU7Ozt5REFNUDtJQU9EO1FBREMsTUFBTSxFQUFFOztpRUFDeUM7SUFHbEQ7UUFEQyxNQUFNLEVBQUU7O3dEQUN1QjtJQUdoQztRQURDLE1BQU0sRUFBRTs7dUVBQzhDO0lBeEI1QyxnQkFBZ0I7UUFQNUIsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLFNBQVM7WUFDbkIsNmhJQUF1QztZQUN2QyxVQUFVLEVBQUU7Z0JBQ1YsWUFBWTthQUNiO1NBQ0YsQ0FBQzt5Q0F1SXlCLGFBQWE7T0F0STNCLGdCQUFnQixDQTBUNUI7SUFBRCx1QkFBQztDQUFBLEFBMVRELElBMFRDO1NBMVRZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlZEV2ZW50LCBJbWFnZVRyYW5zZm9ybSB9IGZyb20gJ25neC1pbWFnZS1jcm9wcGVyJztcbmltcG9ydCB7IGluc2VydFJlbW92ZSB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvaW5zZXJ0UmVtb3ZlL2luc2VydC1yZW1vdmUuYW5pbWF0aW9uJztcbmltcG9ydCB7IENyb3BwZXJDb25maWdEVE8sIEltZ0Nyb3BwZXJDb25maWdEVE8gfSBmcm9tICcuLi8uLi8uLi9kdG8vaW1nLWVkaXRvci1jb25maWcuZHRvJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IEltZ0NETlNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jb25maWcvaW1nLWNkbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3JvcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcm9wcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGluc2VydFJlbW92ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENyb3BwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcblxuICBASW5wdXQoKVxuICBzZXQgaXNJbWdNb2RpZmllZChpc0ltZ01vZGlmaWVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNJbWdNb2RpZmllZCA9IGlzSW1nTW9kaWZpZWQ7XG4gICAgaWYgKCFpc0ltZ01vZGlmaWVkKSB7XG4gICAgICB0aGlzLnJlc3RhcnRFZGl0KCk7XG4gICAgfVxuICB9XG4gIGdldCBpc0ltZ01vZGlmaWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0ltZ01vZGlmaWVkO1xuICB9XG4gIHByaXZhdGUgX2lzSW1nTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgaXNJbWdNb2RpZmllZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAT3V0cHV0KClcbiAgZWRpdENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgY3VycmVudENyb3BwZWRJbWFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG1zZ0ZhaWxMb2FkOiBzdHJpbmcgPSAnSW1nTWFuYWdlci5JbWdFZGl0b3IubXNnRmFpbExvYWQnO1xuXG5cbiAgaXNOYW1lTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDcm9wcGVyUmVhZHk6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHRvIG5vdCBkaXNwbGF5IHRoZSBjcm9wIHZhbGlkYXRpb24gYnRuLCBhZnRlciB0aGUgaW1nIGlzIGxvYWRlZCBvciBjaGFuZ2VkXG4gIGN1cnJlbnRDcm9wcGVkSW1hZ2U6IHN0cmluZyA9ICcnOyAvLyBJbWcgbW9kaWZpZWQgcmV0dXJuIGluIGJhc2U2NFxuICBpc0Nyb3BwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGlzSW1nQ3JvcHBlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0ltZ0Nyb3BwZWRJbml0aWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gSW1hZ2UgQ3JvcHBlciBwcm9wZXJ0aWVzXG4gIGltZ1R5cGU6IHN0cmluZztcbiAgaW1nUm91dGU6IHN0cmluZztcbiAgaW1hZ2VDaGFuZ2VkRXZlbnQ6IGFueSA9ICcnO1xuICBjcm9wcGVkSW1hZ2U6IGFueSA9ICcnO1xuICBjYW52YXNSb3RhdGlvbiA9IDA7XG4gIHJvdGF0aW9uID0gMDtcbiAgc2NhbGUgPSAxO1xuICBzaG93Q3JvcHBlciA9IGZhbHNlO1xuICBjb250YWluV2l0aGluQXNwZWN0UmF0aW8gPSBmYWxzZTtcbiAgdHJhbnNmb3JtOiBJbWFnZVRyYW5zZm9ybSA9IHt9O1xuXG4gIGRlZmF1bHRBc3BlY3RSYXRpbzogbnVtYmVyO1xuXG4gIC8vIGRyb3Bkb3duIGxpc3RcbiAgcmVzb2x1dGlvbkNvbmZpZzpJbWdDcm9wcGVyQ29uZmlnRFRPW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcub3JpZ2luJyxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiB0cnVlXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcuZnJlZScsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2VcbiAgICAgIH0sXG4gICAgICBhY3RpdmU6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLnNxdWFyZScsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcbiAgICAgICAgYXNwZWN0UmF0aW86IDEgLyAxXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLmNvbmZpZy5Qb3J0cmFpdCcsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcbiAgICAgICAgYXNwZWN0UmF0aW86IDMgLyA0XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLmNvbmZpZy5sYW5kc2NhcGUnLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IHRydWUsXG4gICAgICAgIGFzcGVjdFJhdGlvOiA1IC8gM1xuICAgICAgfVxuICAgIH1cbiAgXTtcblxuICByb3RhdGlvbkNvbmZpZzpJbWdDcm9wcGVyQ29uZmlnRFRPW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcuc2NoZWR1bGUnLFxuICAgICAgaWNvbjogXCJmYWwgZmEtcmVkby1hbHRcIixcbiAgICAgIG1ldGhvZDogXCJyb3RhdGVSaWdodFwiLFxuICAgICAgYWN0aXZlOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLmNvbmZpZy5BbnRpU2NoZWR1bGUnLFxuICAgICAgaWNvbjogXCJmYWwgZmEtdW5kby1hbHRcIixcbiAgICAgIG1ldGhvZDogXCJyb3RhdGVMZWZ0XCJcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLmZsaXBWZXJ0JyxcbiAgICAgIGljb246IFwiZmFsIGZhLXNvcnQtYWx0XCIsXG4gICAgICBtZXRob2Q6IFwiZmxpcFZlcnRpY2FsXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLmZsaXBIb3JpeicsXG4gICAgICBpY29uOiBcImZhbCBmYS1leGNoYW5nZS1hbHRcIixcbiAgICAgIG1ldGhvZDogXCJmbGlwSG9yaXpvbnRhbFwiXG4gICAgfVxuICBdO1xuXG4gIHpvb21Db25maWc6SW1nQ3JvcHBlckNvbmZpZ0RUT1tdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLnpvb20nLFxuICAgICAgaWNvbjogXCJmYWwgZmEtc2VhcmNoLXBsdXNcIixcbiAgICAgIG1ldGhvZDogXCJ6b29tSW5cIixcbiAgICAgIGFjdGl2ZTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcuZGV6b29tJyxcbiAgICAgIGljb246IFwiZmFsIGZhLXNlYXJjaC1taW51c1wiLFxuICAgICAgbWV0aG9kOiBcInpvb21PdXRcIlxuICAgIH1cbiAgXTtcblxuICAvLyBJbWcgY3JvcHBlciB2YXJpYWJsZXNcbiAgaW1nQ3JvcHBlckNvbmZpZzpDcm9wcGVyQ29uZmlnRFRPID0ge1xuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIGFzcGVjdFJhdGlvOiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nQ0ROU2VydmljZTogSW1nQ0ROU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICB0aGlzLmltZ1JvdXRlID0gdGhpcy5nZXRSQVdJbWdSb3V0ZSgpO1xuICAgIHRoaXMuaW1nVHlwZSA9IHRoaXMuZ2V0SW1nVHlwZSgpO1xuICAgIHRoaXMuY3JvcHBlZEltYWdlID0gbnVsbDtcbiAgICB0aGlzLnNldERlZmF1dEFzcGVjdFJhdGlvKCk7XG4gIH1cblxuICBnZXRSQVdJbWdSb3V0ZSgpe1xuICAgIHJldHVybiB0aGlzLmltZ0NETlNlcnZpY2UuZ2V0VXJsSW1nKCdyYXcnKSArIHRoaXMuaW1nVG9FZGl0LmZpbGVfbmFtZTtcbiAgfVxuXG4gIGdldEltZ1R5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1nVG9FZGl0LmZpbGVfbmFtZSA/IHRoaXMuaW1nVG9FZGl0LmZpbGVfbmFtZS5zcGxpdCgnLicpLnBvcCgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0RGVmYXV0QXNwZWN0UmF0aW8oKSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gcGFyc2VJbnQodGhpcy5pbWdUb0VkaXQucmF3X2hlaWdodCk7XG4gICAgY29uc3Qgd2lkdGggPSBwYXJzZUludCh0aGlzLmltZ1RvRWRpdC5yYXdfd2lkdGgpO1xuICAgIHRoaXMuZGVmYXVsdEFzcGVjdFJhdGlvID0gaGVpZ2h0IC8gd2lkdGg7XG4gICAgdGhpcy5yZXNvbHV0aW9uQ29uZmlnWzBdLmNvbmZpZy5hc3BlY3RSYXRpbyA9IHRoaXMuZGVmYXVsdEFzcGVjdFJhdGlvO1xuICAgIHRoaXMuaW1nQ3JvcHBlckNvbmZpZy5hc3BlY3RSYXRpbyA9IHRoaXMuZGVmYXVsdEFzcGVjdFJhdGlvO1xuICB9XG5cbiAgb25FZGl0Q2xvc2VkKG1zZ0tleT86IHN0cmluZykge1xuICAgIHRoaXMuZWRpdENsb3NlZC5lbWl0KG1zZ0tleSk7XG4gIH1cblxuICBvblJlc3RhcnQoKSB7XG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgcmVzdGFydEVkaXQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5yZXNldENvbmZDcm9wcGVyKCk7XG4gIH1cblxuICBvbkltZ01vZGlmaWVkKCkge1xuICAgIHRoaXMuaXNJbWdNb2RpZmllZCA9IHRydWU7XG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICAvLy8vLy8gSW1nIGNyb3BwZXIgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIC8qIENyb3BwZXIgb3V0cHV0IGV2ZW50cyAqL1xuXG4gIGZpbGVDaGFuZ2VFdmVudChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pbWFnZUNoYW5nZWRFdmVudCA9IGV2ZW50O1xuICB9XG5cbiAgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCkge1xuICAgIHRoaXMuZGV0ZWN0SW1nQ3JvcHBlckNoYW5nZSgpO1xuXG4gICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gZXZlbnQuYmFzZTY0O1xuICAgIHRoaXMuY3VycmVudENyb3BwZWRJbWFnZUNoYW5nZS5lbWl0KHRoaXMuY3VycmVudENyb3BwZWRJbWFnZSk7XG4gIH1cblxuICBpbWFnZUxvYWRlZCgpIHtcbiAgICB0aGlzLnNob3dDcm9wcGVyID0gdHJ1ZTtcbiAgfVxuXG4gIGNyb3BwZXJSZWFkeSgpIHtcbiAgICB0aGlzLmlzQ3JvcHBlclJlYWR5ID0gdHJ1ZTtcbiAgfVxuXG4gIGxvYWRJbWFnZUZhaWxlZCgpIHtcbiAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxMb2FkKTtcbiAgfVxuXG4gIC8qIFJlc2l6ZSBmdW5jdGlvbnMgKi9cblxuICBjaGFuZ2VSZXNvbHV0aW9uU2l6ZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRBY3RpdmVJdGVtKHRoaXMucmVzb2x1dGlvbkNvbmZpZywgaW5kZXgpO1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMucmVzb2x1dGlvbkNvbmZpZ1tpbmRleF0uY29uZmlnO1xuICAgIHRoaXMuc2V0Q3JvcHBlclByb3BlcnRpZXMoY29uZmlnKTtcbiAgfVxuXG4gIGNvbmZpcm1Dcm9wKCkge1xuICAgIHRoaXMuaW1nUm91dGUgPSBudWxsO1xuICAgIHRoaXMuY3JvcHBlZEltYWdlID0gdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlO1xuICAgIHRoaXMuaXNJbWdDcm9wcGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0ltZ0Nyb3BwZWRJbml0aWxpemVkID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldENvbmZDcm9wcGVyKCk7XG4gICAgdGhpcy5vbkltZ01vZGlmaWVkKCk7XG4gIH1cblxuICByZXNldENvbmZDcm9wcGVyKCkge1xuICAgIHRoaXMuc2NhbGUgPSAxO1xuICAgIHRoaXMucm90YXRpb24gPSAwO1xuICAgIHRoaXMuY2FudmFzUm90YXRpb24gPSAwO1xuICAgIHRoaXMudHJhbnNmb3JtID0ge307XG4gIH1cblxuICBwcml2YXRlIHNldEFjdGl2ZUl0ZW0oYXJyYXk6YW55W10sIGluZGV4OiBudW1iZXIpIHtcbiAgICAvLyBTZXQgYWN0aXZlLWl0ZW0gY2xhc3MgZm9yIHRoZSBkcm9wZG93blxuICAgIGFycmF5LmZvckVhY2goKGl0ZW0sIGluZGV4SXRlbSkgPT4ge1xuICAgICAgaXRlbS5hY3RpdmUgPSBpbmRleEl0ZW0gPT09IGluZGV4ID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDcm9wcGVyUHJvcGVydGllcyhjb25maWc6IGFueSkge1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gY29uZmlnKSB7XG4gICAgICB0aGlzLmltZ0Nyb3BwZXJDb25maWdbcHJvcGVydHldID0gY29uZmlnW3Byb3BlcnR5XTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRldGVjdEltZ0Nyb3BwZXJDaGFuZ2UoKSB7XG4gICAgdGhpcy5pc0ltZ0Nyb3BwZWQgPSB0aGlzLmlzSW1nQ3JvcHBlZEluaXRpbGl6ZWQ7XG4gICAgdGhpcy5pc0ltZ0Nyb3BwZWRJbml0aWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qIFJvdGF0aW9ucyBmdW5jdGlvbnMgKi9cblxuICByb3RhdGVMZWZ0KCkge1xuICAgICAgdGhpcy5jYW52YXNSb3RhdGlvbi0tO1xuICAgICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKTtcbiAgICAgIHRoaXMub25JbWdNb2RpZmllZCgpO1xuICB9XG5cbiAgcm90YXRlUmlnaHQoKSB7XG4gICAgICB0aGlzLmNhbnZhc1JvdGF0aW9uKys7XG4gICAgICB0aGlzLmZsaXBBZnRlclJvdGF0ZSgpO1xuICAgICAgdGhpcy5vbkltZ01vZGlmaWVkKCk7XG4gIH1cblxuICBmbGlwSG9yaXpvbnRhbCgpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtID0ge1xuICAgICAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxuICAgICAgICAgIGZsaXBIOiAhdGhpcy50cmFuc2Zvcm0uZmxpcEhcbiAgICAgIH07XG4gICAgICB0aGlzLm9uSW1nTW9kaWZpZWQoKTtcbiAgfVxuXG4gIGZsaXBWZXJ0aWNhbCgpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtID0ge1xuICAgICAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxuICAgICAgICAgIGZsaXBWOiAhdGhpcy50cmFuc2Zvcm0uZmxpcFZcbiAgICAgIH07XG4gICAgICB0aGlzLm9uSW1nTW9kaWZpZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmxpcEFmdGVyUm90YXRlKCkge1xuICAgIGNvbnN0IGZsaXBwZWRIID0gdGhpcy50cmFuc2Zvcm0uZmxpcEg7XG4gICAgY29uc3QgZmxpcHBlZFYgPSB0aGlzLnRyYW5zZm9ybS5mbGlwVjtcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcbiAgICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXG4gICAgICAgIGZsaXBIOiBmbGlwcGVkVixcbiAgICAgICAgZmxpcFY6IGZsaXBwZWRIXG4gICAgfTtcbiAgfVxuXG4gIC8qIFpvb20gZnVuY3Rpb25zICovXG5cbiAgem9vbU91dCgpIHtcbiAgICAgIHRoaXMuc2NhbGUgLT0gIHRoaXMuc2NhbGUgPCAwLjI/IDAgOiAuMTtcbiAgICAgIHRoaXMudHJhbnNmb3JtID0ge1xuICAgICAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxuICAgICAgICAgIHNjYWxlOiB0aGlzLnNjYWxlXG4gICAgICB9O1xuICAgICAgdGhpcy5vbkltZ01vZGlmaWVkKCk7XG4gIH1cblxuICB6b29tSW4oKSB7XG4gICAgICB0aGlzLnNjYWxlICs9IC4xO1xuICAgICAgdGhpcy50cmFuc2Zvcm0gPSB7XG4gICAgICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXG4gICAgICAgICAgc2NhbGU6IHRoaXMuc2NhbGVcbiAgICAgIH07XG4gICAgICB0aGlzLm9uSW1nTW9kaWZpZWQoKTtcbiAgfVxuXG4gIGFwcGx5TWV0aG9kKG1ldGhvZDogc3RyaW5nKSB7XG4gICAgdGhpc1ttZXRob2RdKCk7IC8vIGNhbGwgdGhlIG1ldGhvZCBjb250YWlucyBpbiB6b29tQ29uZmlnIG9yIHJvdGF0aW9uQ29uZmlnXG4gIH1cbn1cbiJdfQ==
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2Nyb3BwZXIvY3JvcHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFHeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBU3pFO0lBK0lFLDBCQUNVLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBakk5QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUd4Qyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBR2xELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2hDLDhCQUF5QixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFdkQsZ0JBQVcsR0FBVyxrQ0FBa0MsQ0FBQztRQUV6RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxtQkFBYyxHQUFZLEtBQUssQ0FBQyxDQUFDLGlGQUFpRjtRQUNsSCx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQyxnQ0FBZ0M7UUFDbEUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBVS9CLHFCQUFnQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3RELHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUsvQixzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsaUJBQVksR0FBUSxFQUFFLENB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QUdsRDtRQURDLE1BQU0sRUFBRTs7d0RBQ3VCO0lBR2hDO1FBREMsTUFBTSxFQUFFOzt1RUFDOEM7SUF4QjVDLGdCQUFnQjtRQVA1QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsU0FBUztZQUNuQix5aElBQXVDO1lBQ3ZDLFVBQVUsRUFBRTtnQkFDVixZQUFZO2FBQ2I7U0FDRixDQUFDO3lDQWlKeUIsYUFBYTtPQWhKM0IsZ0JBQWdCLENBaVY1QjtJQUFELHVCQUFDO0NBQUEsQUFqVkQsSUFpVkM7U0FqVlksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZWRFdmVudCwgSW1hZ2VUcmFuc2Zvcm0gfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbnNlcnRSZW1vdmUgfSBmcm9tICcuLi8uLi8uLi9hbmltYXRpb25zL2luc2VydFJlbW92ZS9pbnNlcnQtcmVtb3ZlLmFuaW1hdGlvbic7XG5pbXBvcnQgeyBDcm9wcGVyQ29uZmlnRFRPLCBJbWdDcm9wcGVyQ29uZmlnRFRPIH0gZnJvbSAnLi4vLi4vLi4vZHRvL2ltZy1lZGl0b3ItY29uZmlnLmR0byc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBJbWdDRE5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlnL2ltZy1jZG4uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nyb3BwZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JvcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICBpbnNlcnRSZW1vdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDcm9wcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBpbWdUb0VkaXQ6IEltZ1BpY3R1cmVEVE87XG5cbiAgQElucHV0KClcbiAgc2V0IGlzSW1nTW9kaWZpZWQoaXNJbWdNb2RpZmllZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzSW1nTW9kaWZpZWQgPSBpc0ltZ01vZGlmaWVkO1xuICAgIGlmICghaXNJbWdNb2RpZmllZCkge1xuICAgICAgdGhpcy5yZXN0YXJ0RWRpdCgpO1xuICAgIH1cbiAgfVxuICBnZXQgaXNJbWdNb2RpZmllZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNJbWdNb2RpZmllZDtcbiAgfVxuICBwcml2YXRlIF9pc0ltZ01vZGlmaWVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIGlzSW1nTW9kaWZpZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGVkaXRDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGN1cnJlbnRDcm9wcGVkSW1hZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBtc2dGYWlsTG9hZDogc3RyaW5nID0gJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLm1zZ0ZhaWxMb2FkJztcblxuICBpc05hbWVNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0Nyb3BwZXJSZWFkeTogYm9vbGVhbiA9IGZhbHNlOyAvLyBVc2UgdG8gbm90IGRpc3BsYXkgdGhlIGNyb3AgdmFsaWRhdGlvbiBidG4sIGFmdGVyIHRoZSBpbWcgaXMgbG9hZGVkIG9yIGNoYW5nZWRcbiAgY3VycmVudENyb3BwZWRJbWFnZTogc3RyaW5nID0gJyc7IC8vIEltZyBtb2RpZmllZCByZXR1cm4gaW4gYmFzZTY0XG4gIGlzQ3JvcHBlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBfaXNJbWdDcm9wcGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHNldCBpc0ltZ0Nyb3BwZWQoaXNJbWdDcm9wcGVkOiBib29sZWFuKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9pc0ltZ0Nyb3BwZWQgPSBpc0ltZ0Nyb3BwZWQ7XG4gICAgfSwgMCk7XG4gIH1cblxuICBnZXQgaXNJbWdDcm9wcGVkKCkgOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNJbWdDcm9wcGVkO1xuICB9XG4gIGltZ0Nyb3BwZXJDaGFuZ2U6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBza2lwTmV4dEltZ0Nyb3BwZWQ6IG51bWJlciA9IDE7XG5cbiAgLy8gSW1hZ2UgQ3JvcHBlciBwcm9wZXJ0aWVzXG4gIGltZ1R5cGU6IHN0cmluZztcbiAgaW1nUm91dGU6IHN0cmluZztcbiAgaW1hZ2VDaGFuZ2VkRXZlbnQ6IGFueSA9ICcnO1xuICBjcm9wcGVkSW1hZ2U6IGFueSA9ICcnO1xuICBjYW52YXNSb3RhdGlvbiA9IDA7XG4gIHJvdGF0aW9uID0gMDtcbiAgc2NhbGUgPSAxO1xuICBzaG93Q3JvcHBlciA9IGZhbHNlO1xuICBjb250YWluV2l0aGluQXNwZWN0UmF0aW8gPSBmYWxzZTtcbiAgdHJhbnNmb3JtOiBJbWFnZVRyYW5zZm9ybSA9IHt9O1xuXG4gIGRlZmF1bHRBc3BlY3RSYXRpbzogbnVtYmVyO1xuXG4gIC8vIGRyb3Bkb3duIGxpc3RcbiAgcmVzb2x1dGlvbkNvbmZpZzpJbWdDcm9wcGVyQ29uZmlnRFRPW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcub3JpZ2luJyxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiB0cnVlXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcuZnJlZScsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2VcbiAgICAgIH0sXG4gICAgICBhY3RpdmU6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLnNxdWFyZScsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcbiAgICAgICAgYXNwZWN0UmF0aW86IDEgLyAxXG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLmNvbmZpZy5Qb3J0cmFpdCcsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSxcbiAgICAgICAgYXNwZWN0UmF0aW86IDMgLyA0XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLmNvbmZpZy5sYW5kc2NhcGUnLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IHRydWUsXG4gICAgICAgIGFzcGVjdFJhdGlvOiA1IC8gM1xuICAgICAgfVxuICAgIH1cbiAgXTtcblxuICByb3RhdGlvbkNvbmZpZzpJbWdDcm9wcGVyQ29uZmlnRFRPW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcuc2NoZWR1bGUnLFxuICAgICAgaWNvbjogXCJmYWwgZmEtcmVkby1hbHRcIixcbiAgICAgIG1ldGhvZDogXCJyb3RhdGVSaWdodFwiLFxuICAgICAgYWN0aXZlOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLmNvbmZpZy5BbnRpU2NoZWR1bGUnLFxuICAgICAgaWNvbjogXCJmYWwgZmEtdW5kby1hbHRcIixcbiAgICAgIG1ldGhvZDogXCJyb3RhdGVMZWZ0XCJcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLmZsaXBWZXJ0JyxcbiAgICAgIGljb246IFwiZmFsIGZhLXNvcnQtYWx0XCIsXG4gICAgICBtZXRob2Q6IFwiZmxpcFZlcnRpY2FsXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLmZsaXBIb3JpeicsXG4gICAgICBpY29uOiBcImZhbCBmYS1leGNoYW5nZS1hbHRcIixcbiAgICAgIG1ldGhvZDogXCJmbGlwSG9yaXpvbnRhbFwiXG4gICAgfVxuICBdO1xuXG4gIHpvb21Db25maWc6SW1nQ3JvcHBlckNvbmZpZ0RUT1tdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnSW1nTWFuYWdlci5JbWdFZGl0b3IuY29uZmlnLnpvb20nLFxuICAgICAgaWNvbjogXCJmYWwgZmEtc2VhcmNoLXBsdXNcIixcbiAgICAgIG1ldGhvZDogXCJ6b29tSW5cIixcbiAgICAgIGFjdGl2ZTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5jb25maWcuZGV6b29tJyxcbiAgICAgIGljb246IFwiZmFsIGZhLXNlYXJjaC1taW51c1wiLFxuICAgICAgbWV0aG9kOiBcInpvb21PdXRcIlxuICAgIH1cbiAgXTtcblxuICAvLyBJbWcgY3JvcHBlciB2YXJpYWJsZXNcbiAgaW1nQ3JvcHBlckNvbmZpZzpDcm9wcGVyQ29uZmlnRFRPID0ge1xuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIGFzcGVjdFJhdGlvOiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nQ0ROU2VydmljZTogSW1nQ0ROU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuZGV0ZWN0SW1nQ3JvcHBlckNoYW5nZSgpO1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICB0aGlzLmltZ1JvdXRlID0gdGhpcy5nZXRSQVdJbWdSb3V0ZSgpO1xuICAgIHRoaXMuaW1nVHlwZSA9IHRoaXMuZ2V0SW1nVHlwZSgpO1xuICAgIHRoaXMuY3JvcHBlZEltYWdlID0gbnVsbDtcbiAgICB0aGlzLnNldERlZmF1dEFzcGVjdFJhdGlvKCk7XG4gIH1cblxuICBnZXRSQVdJbWdSb3V0ZSgpe1xuICAgIHJldHVybiB0aGlzLmltZ0NETlNlcnZpY2UuZ2V0VXJsSW1nKCdyYXcnKSArIHRoaXMuaW1nVG9FZGl0LmZpbGVfbmFtZTtcbiAgfVxuXG4gIGdldEltZ1R5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1nVG9FZGl0LmZpbGVfbmFtZSA/IHRoaXMuaW1nVG9FZGl0LmZpbGVfbmFtZS5zcGxpdCgnLicpLnBvcCgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgc2V0RGVmYXV0QXNwZWN0UmF0aW8oKSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gcGFyc2VJbnQodGhpcy5pbWdUb0VkaXQucmF3X2hlaWdodCk7XG4gICAgY29uc3Qgd2lkdGggPSBwYXJzZUludCh0aGlzLmltZ1RvRWRpdC5yYXdfd2lkdGgpO1xuICAgIHRoaXMuZGVmYXVsdEFzcGVjdFJhdGlvID0gaGVpZ2h0IC8gd2lkdGg7XG4gICAgdGhpcy5yZXNvbHV0aW9uQ29uZmlnWzBdLmNvbmZpZy5hc3BlY3RSYXRpbyA9IHRoaXMuZGVmYXVsdEFzcGVjdFJhdGlvO1xuICAgIHRoaXMuaW1nQ3JvcHBlckNvbmZpZy5hc3BlY3RSYXRpbyA9IHRoaXMuZGVmYXVsdEFzcGVjdFJhdGlvO1xuICB9XG5cbiAgb25FZGl0Q2xvc2VkKG1zZ0tleT86IHN0cmluZykge1xuICAgIHRoaXMuZWRpdENsb3NlZC5lbWl0KG1zZ0tleSk7XG4gIH1cblxuICBvblJlc3RhcnQoKSB7XG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgcmVzdGFydEVkaXQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5yZXNldENvbmZDcm9wcGVyKCk7XG4gIH1cblxuICBvbkltZ01vZGlmaWVkKCkge1xuICAgIHRoaXMuaXNJbWdNb2RpZmllZCA9IHRydWU7XG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICAvLy8vLy8gSW1nIGNyb3BwZXIgbWV0aG9kcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIC8qIENyb3BwZXIgb3V0cHV0IGV2ZW50cyAqL1xuXG4gIGZpbGVDaGFuZ2VFdmVudChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pbWFnZUNoYW5nZWRFdmVudCA9IGV2ZW50O1xuICB9XG5cbiAgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCkge1xuICAgIHRoaXMuaW1nQ3JvcHBlckNoYW5nZS5uZXh0KCk7XG5cbiAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSBldmVudC5iYXNlNjQ7XG4gICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlKTtcbiAgfVxuXG4gIGltYWdlTG9hZGVkKCkge1xuICAgIHRoaXMuc2hvd0Nyb3BwZXIgPSB0cnVlO1xuICB9XG5cbiAgY3JvcHBlclJlYWR5KCkge1xuICAgIHRoaXMuaXNDcm9wcGVyUmVhZHkgPSB0cnVlO1xuICB9XG5cbiAgbG9hZEltYWdlRmFpbGVkKCkge1xuICAgIHRoaXMub25FZGl0Q2xvc2VkKHRoaXMubXNnRmFpbExvYWQpO1xuICB9XG5cbiAgLyogUmVzaXplIGZ1bmN0aW9ucyAqL1xuXG4gIGNoYW5nZVJlc29sdXRpb25TaXplKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldEFjdGl2ZUl0ZW0odGhpcy5yZXNvbHV0aW9uQ29uZmlnLCBpbmRleCk7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5yZXNvbHV0aW9uQ29uZmlnW2luZGV4XS5jb25maWc7XG4gICAgdGhpcy5zZXRDcm9wcGVyUHJvcGVydGllcyhjb25maWcpO1xuICB9XG5cbiAgY29uZmlybUNyb3AoKSB7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gQXZvaWQgaW1hZ2UtY3JvcHBlciBlcnJvclxuICAgICAgdGhpcy5pbWdSb3V0ZSA9IG51bGw7XG4gICAgICB0aGlzLmNyb3BwZWRJbWFnZSA9IHRoaXMuY3VycmVudENyb3BwZWRJbWFnZTtcbiAgICAgIHRoaXMuc2tpcE5leHRJbWdDcm9wcGVkID0gMjtcbiAgICAgIHRoaXMuaXNJbWdDcm9wcGVkID0gZmFsc2U7XG4gICAgfSwgMCk7XG5cbiAgICB0aGlzLnJlc2V0Q29uZkNyb3BwZXIoKTtcbiAgICB0aGlzLm9uSW1nTW9kaWZpZWQoKTtcbiAgfVxuXG4gIHJlc2V0Q29uZkNyb3BwZXIoKSB7XG4gICAgdGhpcy5zY2FsZSA9IDE7XG4gICAgdGhpcy5yb3RhdGlvbiA9IDA7XG4gICAgdGhpcy5jYW52YXNSb3RhdGlvbiA9IDA7XG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7fTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlSXRlbShhcnJheTphbnlbXSwgaW5kZXg6IG51bWJlcikge1xuICAgIC8vIFNldCBhY3RpdmUtaXRlbSBjbGFzcyBmb3IgdGhlIGRyb3Bkb3duXG4gICAgYXJyYXkuZm9yRWFjaCgoaXRlbSwgaW5kZXhJdGVtKSA9PiB7XG4gICAgICBpdGVtLmFjdGl2ZSA9IGluZGV4SXRlbSA9PT0gaW5kZXggPyB0cnVlIDogZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldENyb3BwZXJQcm9wZXJ0aWVzKGNvbmZpZzogYW55KSB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjb25maWcpIHtcbiAgICAgIHRoaXMuaW1nQ3JvcHBlckNvbmZpZ1twcm9wZXJ0eV0gPSBjb25maWdbcHJvcGVydHldO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZWN0SW1nQ3JvcHBlckNoYW5nZSgpIHtcbiAgICB0aGlzLmltZ0Nyb3BwZXJDaGFuZ2VcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNraXBOZXh0SW1nQ3JvcHBlZC0tO1xuICAgICAgICBpZiAodGhpcy5za2lwTmV4dEltZ0Nyb3BwZWQgPj0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNraXBOZXh0SW1nQ3JvcHBlZCA9IDA7XG4gICAgICAgIHRoaXMuaXNJbWdDcm9wcGVkID0gdHJ1ZTtcbiAgICB9KVxuXG4gIH1cblxuICAvKiBSb3RhdGlvbnMgZnVuY3Rpb25zICovXG5cbiAgcm90YXRlTGVmdCgpIHtcbiAgICAgIHRoaXMuY2FudmFzUm90YXRpb24tLTtcbiAgICAgIHRoaXMuZmxpcEFmdGVyUm90YXRlKCk7XG4gICAgICB0aGlzLm9uSW1nTW9kaWZpZWQoKTtcbiAgfVxuXG4gIHJvdGF0ZVJpZ2h0KCkge1xuICAgICAgdGhpcy5jYW52YXNSb3RhdGlvbisrO1xuICAgICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKTtcbiAgICAgIHRoaXMub25JbWdNb2RpZmllZCgpO1xuICB9XG5cbiAgZmxpcEhvcml6b250YWwoKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybSA9IHtcbiAgICAgICAgICAuLi50aGlzLnRyYW5zZm9ybSxcbiAgICAgICAgICBmbGlwSDogIXRoaXMudHJhbnNmb3JtLmZsaXBIXG4gICAgICB9O1xuICAgICAgdGhpcy5vbkltZ01vZGlmaWVkKCk7XG4gIH1cblxuICBmbGlwVmVydGljYWwoKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybSA9IHtcbiAgICAgICAgICAuLi50aGlzLnRyYW5zZm9ybSxcbiAgICAgICAgICBmbGlwVjogIXRoaXMudHJhbnNmb3JtLmZsaXBWXG4gICAgICB9O1xuICAgICAgdGhpcy5vbkltZ01vZGlmaWVkKCk7XG4gIH1cblxuICBwcml2YXRlIGZsaXBBZnRlclJvdGF0ZSgpIHtcbiAgICBjb25zdCBmbGlwcGVkSCA9IHRoaXMudHJhbnNmb3JtLmZsaXBIO1xuICAgIGNvbnN0IGZsaXBwZWRWID0gdGhpcy50cmFuc2Zvcm0uZmxpcFY7XG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7XG4gICAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxuICAgICAgICBmbGlwSDogZmxpcHBlZFYsXG4gICAgICAgIGZsaXBWOiBmbGlwcGVkSFxuICAgIH07XG4gIH1cblxuICAvKiBab29tIGZ1bmN0aW9ucyAqL1xuXG4gIHpvb21PdXQoKSB7XG4gICAgICB0aGlzLnNjYWxlIC09ICB0aGlzLnNjYWxlIDwgMC4yPyAwIDogLjE7XG4gICAgICB0aGlzLnRyYW5zZm9ybSA9IHtcbiAgICAgICAgICAuLi50aGlzLnRyYW5zZm9ybSxcbiAgICAgICAgICBzY2FsZTogdGhpcy5zY2FsZVxuICAgICAgfTtcbiAgICAgIHRoaXMub25JbWdNb2RpZmllZCgpO1xuICB9XG5cbiAgem9vbUluKCkge1xuICAgICAgdGhpcy5zY2FsZSArPSAuMTtcbiAgICAgIHRoaXMudHJhbnNmb3JtID0ge1xuICAgICAgICAgIC4uLnRoaXMudHJhbnNmb3JtLFxuICAgICAgICAgIHNjYWxlOiB0aGlzLnNjYWxlXG4gICAgICB9O1xuICAgICAgdGhpcy5vbkltZ01vZGlmaWVkKCk7XG4gIH1cblxuICBhcHBseU1ldGhvZChtZXRob2Q6IHN0cmluZykge1xuICAgIHRoaXNbbWV0aG9kXSgpOyAvLyBjYWxsIHRoZSBtZXRob2QgY29udGFpbnMgaW4gem9vbUNvbmZpZyBvciByb3RhdGlvbkNvbmZpZ1xuICB9XG59XG4iXX0=
@@ -102,7 +102,7 @@ var ImgEditorComponent = /** @class */ (function () {
102
102
  ImgEditorComponent = __decorate([
103
103
  Component({
104
104
  selector: 'img-editor',
105
- template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\n\n <perfect-scrollbar\n class=\"img-editor__scroll\"\n [ngClass]=\"{\n 'img-editor__scroll--full': stateDisplayed === 'full',\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\n 'img-editor__scroll--window': stateDisplayed === 'window'\n }\"\n >\n <div class=\"columns\">\n <!-- Left section -->\n <div class=\"column is-one-third img-editor__infoSection\">\n\n <info-section\n [imgToEdit]=\"imgToEdit\"\n [(isNameModified)]=\"isNameModified\"\n >\n </info-section>\n\n <!-- Button Action Section -->\n\n <div class=\"img-editor__infoSection__actions\">\n <div>\n <button\n class=\"button img-editor__infoSection__actions__cancel\"\n (click)=\"onCancel()\"\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\n >\n {{ 'ImgManager.ImgLib.cancel' | translate }}\n </button>\n <div\n class=\"button danger button img-editor__infoSection__actions__save\"\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\n (click)=\"onSave()\"\n >\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\n </div>\n\n </div>\n </div>\n </div>\n\n\n <!-- Right section -->\n <div class=\"column img-editor__container\">\n <cropper\n [imgToEdit]=\"imgToEdit\"\n [(isImgModified)]=\"isImgModified\"\n (currentCroppedImageChange)=\"onImgCropped($event)\"\n (editClosed)=\"onEditClosed($event)\">\n </cropper>\n </div>\n </div>\n </perfect-scrollbar>\n</div>\n",
105
+ template: "<div class=\"img-editor\" [@easeInOut]=\"'in'\">\n\n <perfect-scrollbar\n [config]=\"{suppressScrollX: true}\"\n class=\"img-editor__scroll\"\n [ngClass]=\"{\n 'img-editor__scroll--full': stateDisplayed === 'full',\n 'img-editor__scroll--smallDisplay': stateDisplayed === 'small',\n 'img-editor__scroll--window': stateDisplayed === 'window'\n }\"\n >\n <div class=\"columns\">\n <!-- Left section -->\n <div class=\"column is-one-third img-editor__infoSection\">\n\n <info-section\n [imgToEdit]=\"imgToEdit\"\n [(isNameModified)]=\"isNameModified\"\n >\n </info-section>\n\n <!-- Button Action Section -->\n\n <div class=\"img-editor__infoSection__actions\">\n <div>\n <button\n class=\"button img-editor__infoSection__actions__cancel\"\n (click)=\"onCancel()\"\n [disabled]=\"isLoading || (!isImgModified && !isNameModified)\"\n >\n {{ 'ImgManager.ImgLib.cancel' | translate }}\n </button>\n <div\n class=\"button danger button img-editor__infoSection__actions__save\"\n [ngClass]=\"{'img-editor__infoSection__actions__save--disable': isLoading}\"\n (click)=\"onSave()\"\n >\n {{ 'ImgManager.ImgEditor.saveBtn' | translate }}\n <span btnLoadingAnim *ngIf=\"isLoading\" class=\"btnLoadingAnnimation\"></span>\n </div>\n\n </div>\n </div>\n </div>\n\n\n <!-- Right section -->\n <div class=\"column img-editor__container\">\n <cropper\n [imgToEdit]=\"imgToEdit\"\n [(isImgModified)]=\"isImgModified\"\n (currentCroppedImageChange)=\"onImgCropped($event)\"\n (editClosed)=\"onEditClosed($event)\">\n </cropper>\n </div>\n </div>\n </perfect-scrollbar>\n</div>\n",
106
106
  animations: [
107
107
  easeInOut
108
108
  ]
@@ -112,4 +112,4 @@ var ImgEditorComponent = /** @class */ (function () {
112
112
  return ImgEditorComponent;
113
113
  }());
114
114
  export { ImgEditorComponent };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUc5RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFTN0U7SUFtQkUsNEJBQ1UsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFicEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFHakYsZ0JBQVcsR0FBVyxrQ0FBa0MsQ0FBQztRQUN6RCxnQkFBVyxHQUFXLGtDQUFrQyxDQUFDO1FBQ3pELG1CQUFjLEdBQVcseURBQXlELENBQUE7SUFJNUUsQ0FBQztJQUVQLHFDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO0lBQ2xELENBQUM7SUFFRCxtQ0FBTSxHQUFOO1FBQUEsaUJBNkNDO1FBNUNDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7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LENBQUM7WUFDekMsQ0FBQyxFQUNELFVBQUEsS0FBSztnQkFDSCxLQUFJLENBQUMsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsRUFDRCxVQUFBLEtBQUs7WUFDSCxLQUFJLENBQUMsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O2dCQXpGNEIsaUJBQWlCOztJQWpCOUM7UUFEQyxLQUFLLEVBQUU7OzhEQUNPO0lBRWY7UUFEQyxLQUFLLEVBQUU7O3lEQUNpQjtJQUVmO1FBQVQsTUFBTSxFQUFFOzswREFBaUM7SUFQL0Isa0JBQWtCO1FBUDlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxZQUFZO1lBQ3RCLDZtRUFBMEM7WUFDMUMsVUFBVSxFQUFFO2dCQUNWLFNBQVM7YUFDVjtTQUNGLENBQUM7eUNBcUI2QixpQkFBaUI7T0FwQm5DLGtCQUFrQixDQThHOUI7SUFBRCx5QkFBQztDQUFBLEFBOUdELElBOEdDO1NBOUdZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZWFzZUluT3V0IH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9lYXNlSW5PdXQvZWFzZS1pbi1vdXQuYW5pbWF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1nLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGVhc2VJbk91dFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltZ0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgc3RhdGVEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcblxuICBAT3V0cHV0KCkgZWRpdENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNJbWdNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc05hbWVNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjdXJyZW50Q3JvcHBlZEltYWdlOiBzdHJpbmcgPSAnJzsgLy8gSW1nIG1vZGlmaWVkIHJldHVybiBpbiBiYXNlNjQgYnkgdGhlIGNyb3BwZXJcbiAgcHJpdmF0ZSBwcmV2aW91c05hbWU6IHN0cmluZztcblxuICBtc2dGYWlsU2F2ZTogc3RyaW5nID0gJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLm1zZ0ZhaWxTYXZlJztcbiAgbXNnRmFpbExvYWQ6IHN0cmluZyA9ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5tc2dGYWlsTG9hZCc7XG4gIG1zZ1N1Y2Nlc3NFZGl0OiBzdHJpbmcgPSBcIkxlcyBtb2RpZmljYXRpb25zIGRlIGwnaW1hZ2Ugb250IGJpZW4gw6l0w6kgZW5yZWdpc3Ryw6llcy5cIlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XG4gIH1cblxuICBvblNhdmUoKSB7XG4gICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGlmICghdGhpcy5pc0ltZ01vZGlmaWVkICAmJiAhdGhpcy5pc05hbWVNb2RpZmllZCkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMub25FZGl0Q2xvc2VkKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzUmVwbGFjZUltZzogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5yZXBsYWNlSW1nKHRoaXMuY3VycmVudENyb3BwZWRJbWFnZSwgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZSk7XG4gICAgY29uc3Qgb2JzQ2hhbmdlSW1nTmFtZTogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5jaGFuZ2VJbWdOYW1lKHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSwgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZSk7XG5cbiAgICBpZih0aGlzLmlzSW1nTW9kaWZpZWQgJiYgdGhpcy5pc05hbWVNb2RpZmllZCkge1xuICAgICAgdGhpcy5yYW5hbWVBbmRSZXBsYWNlSW1nKG9ic0NoYW5nZUltZ05hbWUsIG9ic1JlcGxhY2VJbWcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKHRoaXMuaXNJbWdNb2RpZmllZCl7XG4gICAgICBvYnNSZXBsYWNlSW1nLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSAnJztcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc05hbWVNb2RpZmllZCkge1xuICAgICAgb2JzQ2hhbmdlSW1nTmFtZS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucHJldmlvdXNOYW1lID0gdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lO1xuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ1N1Y2Nlc3NFZGl0KTtcbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSA9IHRoaXMucHJldmlvdXNOYW1lO1xuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmlzTmFtZU1vZGlmaWVkID0gZmFsc2U7XG4gIH1cblxuICBvbkVkaXRDbG9zZWQobXNnS2V5Pzogc3RyaW5nKSB7XG4gICAgdGhpcy5lZGl0Q2xvc2VkLmVtaXQobXNnS2V5KTtcbiAgfVxuXG4gIG9uUmVzdGFydEVkaXQoKSB7XG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkID0gZmFsc2U7XG4gICAgdGhpcy5pc05hbWVNb2RpZmllZCA9IGZhbHNlO1xuICAgIHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSA9IHRoaXMucHJldmlvdXNOYW1lO1xuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5vbkVkaXRDbG9zZWQoJycpO1xuICB9XG5cbiAgb25JbWdDcm9wcGVkKGltZ0Jhc2U2NDogc3RyaW5nKSB7XG4gICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gaW1nQmFzZTY0O1xuICB9XG5cbiAgcHJpdmF0ZSByYW5hbWVBbmRSZXBsYWNlSW1nKG9ic0NoYW5nZUltZ05hbWU6IE9ic2VydmFibGU8YW55Piwgb2JzUmVwbGFjZUltZzogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgLy8gQXZvaWQgdG8gdXNlIGZvcmtqb2luLCBiZWNhdXNlIGl0IGNhbiBjcmVhdGUgY29uZmxpY3QgYW5kIGxvb3MgdGhlIGltZ1xuICAgIG9ic0NoYW5nZUltZ05hbWUuc3Vic2NyaWJlKFxuICAgICAgcmVzMSA9PiB7XG4gICAgICAgIG9ic1JlcGxhY2VJbWcuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlczIgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9pbWctZWRpdG9yL2ltZy1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUc5RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFTN0U7SUFtQkUsNEJBQ1UsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFicEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxFQUFFLENBQUMsQ0FBQywrQ0FBK0M7UUFHakYsZ0JBQVcsR0FBVyxrQ0FBa0MsQ0FBQztRQUN6RCxnQkFBVyxHQUFXLGtDQUFrQyxDQUFDO1FBQ3pELG1CQUFjLEdBQVcseURBQXlELENBQUE7SUFJNUUsQ0FBQztJQUVQLHFDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDO0lBQ2xELENBQUM7SUFFRCxtQ0FBTSxHQUFOO1FBQUEsaUJBNkNDO1FBNUNDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7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LENBQUM7WUFDekMsQ0FBQyxFQUNELFVBQUEsS0FBSztnQkFDSCxLQUFJLENBQUMsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsRUFDRCxVQUFBLEtBQUs7WUFDSCxLQUFJLENBQUMsWUFBWSxDQUFDLEtBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7O2dCQXpGNEIsaUJBQWlCOztJQWpCOUM7UUFEQyxLQUFLLEVBQUU7OzhEQUNPO0lBRWY7UUFEQyxLQUFLLEVBQUU7O3lEQUNpQjtJQUVmO1FBQVQsTUFBTSxFQUFFOzswREFBaUM7SUFQL0Isa0JBQWtCO1FBUDlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxZQUFZO1lBQ3RCLDJwRUFBMEM7WUFDMUMsVUFBVSxFQUFFO2dCQUNWLFNBQVM7YUFDVjtTQUNGLENBQUM7eUNBcUI2QixpQkFBaUI7T0FwQm5DLGtCQUFrQixDQThHOUI7SUFBRCx5QkFBQztDQUFBLEFBOUdELElBOEdDO1NBOUdZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ltZy1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZWFzZUluT3V0IH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy9lYXNlSW5PdXQvZWFzZS1pbi1vdXQuYW5pbWF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1nLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWctZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGVhc2VJbk91dFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEltZ0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgc3RhdGVEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpXG4gIGltZ1RvRWRpdDogSW1nUGljdHVyZURUTztcblxuICBAT3V0cHV0KCkgZWRpdENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNJbWdNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc05hbWVNb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjdXJyZW50Q3JvcHBlZEltYWdlOiBzdHJpbmcgPSAnJzsgLy8gSW1nIG1vZGlmaWVkIHJldHVybiBpbiBiYXNlNjQgYnkgdGhlIGNyb3BwZXJcbiAgcHJpdmF0ZSBwcmV2aW91c05hbWU6IHN0cmluZztcblxuICBtc2dGYWlsU2F2ZTogc3RyaW5nID0gJ0ltZ01hbmFnZXIuSW1nRWRpdG9yLm1zZ0ZhaWxTYXZlJztcbiAgbXNnRmFpbExvYWQ6IHN0cmluZyA9ICdJbWdNYW5hZ2VyLkltZ0VkaXRvci5tc2dGYWlsTG9hZCc7XG4gIG1zZ1N1Y2Nlc3NFZGl0OiBzdHJpbmcgPSBcIkxlcyBtb2RpZmljYXRpb25zIGRlIGwnaW1hZ2Ugb250IGJpZW4gw6l0w6kgZW5yZWdpc3Ryw6llcy5cIlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW1nTWFuYWdlclNlcnZpY2U6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91c05hbWUgPSB0aGlzLmltZ1RvRWRpdC5kaXNwbGF5X25hbWU7XG4gIH1cblxuICBvblNhdmUoKSB7XG4gICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGlmICghdGhpcy5pc0ltZ01vZGlmaWVkICAmJiAhdGhpcy5pc05hbWVNb2RpZmllZCkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMub25FZGl0Q2xvc2VkKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzUmVwbGFjZUltZzogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5yZXBsYWNlSW1nKHRoaXMuY3VycmVudENyb3BwZWRJbWFnZSwgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZSk7XG4gICAgY29uc3Qgb2JzQ2hhbmdlSW1nTmFtZTogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5pbWdNYW5hZ2VyU2VydmljZS5jaGFuZ2VJbWdOYW1lKHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSwgdGhpcy5pbWdUb0VkaXQuaWRfZmlsZSk7XG5cbiAgICBpZih0aGlzLmlzSW1nTW9kaWZpZWQgJiYgdGhpcy5pc05hbWVNb2RpZmllZCkge1xuICAgICAgdGhpcy5yYW5hbWVBbmRSZXBsYWNlSW1nKG9ic0NoYW5nZUltZ05hbWUsIG9ic1JlcGxhY2VJbWcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKHRoaXMuaXNJbWdNb2RpZmllZCl7XG4gICAgICBvYnNSZXBsYWNlSW1nLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmN1cnJlbnRDcm9wcGVkSW1hZ2UgPSAnJztcbiAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dGYWlsU2F2ZSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc05hbWVNb2RpZmllZCkge1xuICAgICAgb2JzQ2hhbmdlSW1nTmFtZS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMucHJldmlvdXNOYW1lID0gdGhpcy5pbWdUb0VkaXQuZGlzcGxheV9uYW1lO1xuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ1N1Y2Nlc3NFZGl0KTtcbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSA9IHRoaXMucHJldmlvdXNOYW1lO1xuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmlzTmFtZU1vZGlmaWVkID0gZmFsc2U7XG4gIH1cblxuICBvbkVkaXRDbG9zZWQobXNnS2V5Pzogc3RyaW5nKSB7XG4gICAgdGhpcy5lZGl0Q2xvc2VkLmVtaXQobXNnS2V5KTtcbiAgfVxuXG4gIG9uUmVzdGFydEVkaXQoKSB7XG4gICAgdGhpcy5pc0ltZ01vZGlmaWVkID0gZmFsc2U7XG4gICAgdGhpcy5pc05hbWVNb2RpZmllZCA9IGZhbHNlO1xuICAgIHRoaXMuaW1nVG9FZGl0LmRpc3BsYXlfbmFtZSA9IHRoaXMucHJldmlvdXNOYW1lO1xuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5vbkVkaXRDbG9zZWQoJycpO1xuICB9XG5cbiAgb25JbWdDcm9wcGVkKGltZ0Jhc2U2NDogc3RyaW5nKSB7XG4gICAgdGhpcy5jdXJyZW50Q3JvcHBlZEltYWdlID0gaW1nQmFzZTY0O1xuICB9XG5cbiAgcHJpdmF0ZSByYW5hbWVBbmRSZXBsYWNlSW1nKG9ic0NoYW5nZUltZ05hbWU6IE9ic2VydmFibGU8YW55Piwgb2JzUmVwbGFjZUltZzogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgLy8gQXZvaWQgdG8gdXNlIGZvcmtqb2luLCBiZWNhdXNlIGl0IGNhbiBjcmVhdGUgY29uZmxpY3QgYW5kIGxvb3MgdGhlIGltZ1xuICAgIG9ic0NoYW5nZUltZ05hbWUuc3Vic2NyaWJlKFxuICAgICAgcmVzMSA9PiB7XG4gICAgICAgIG9ic1JlcGxhY2VJbWcuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlczIgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkVkaXRDbG9zZWQodGhpcy5tc2dTdWNjZXNzRWRpdCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLm9uRWRpdENsb3NlZCh0aGlzLm1zZ0ZhaWxTYXZlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
@@ -73,7 +73,6 @@ var PexelLibComponent = /** @class */ (function () {
73
73
  };
74
74
  PexelLibComponent.prototype.search = function () {
75
75
  var _this = this;
76
- console.log('search');
77
76
  if (this.isLoading) {
78
77
  return;
79
78
  }
@@ -86,8 +85,6 @@ var PexelLibComponent = /** @class */ (function () {
86
85
  }
87
86
  this.isLoading = true;
88
87
  var searchSub = this.wzImgLibService.searchOnPexels(this.searchValue, this.perPage, this.currentPage).subscribe(function (data) {
89
- console.log('search ended here');
90
- console.log(data);
91
88
  _this.wzImgLibDto = data;
92
89
  _this.nbResult = _this.wzImgLibDto.total_results;
93
90
  if (_this.nbResult) {
@@ -216,4 +213,4 @@ var PexelLibComponent = /** @class */ (function () {
216
213
  return PexelLibComponent;
217
214
  }());
218
215
  export { PexelLibComponent };
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wZXhlbHMtbGliL3BleGVscy1saWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBVTVEO0lBc0NFLDJCQUNVLGVBQThCLEVBQzlCLFVBQTZCLEVBQzdCLFlBQTBCLEVBQzFCLGdCQUFrQztRQUhsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBZTtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckM1QyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN2Qix3Q0FBd0M7UUFFMUMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0Isb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixrQkFBYSxHQUFHLElBQUksT0FB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aW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQZXhlbHNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXhlbHMuc2VydmljZSc7XG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1d6SW1nTGliRHRvLCBQaG90b3NDb2x1bW5zLCBXekltZ0xpYlBob3RvRHRvfSBmcm9tICcuLi8uLi9kdG8vcGV4ZWxzLWltZy5kdG8nO1xuaW1wb3J0IHsgSW1nTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbWctbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEltZ1BpY3R1cmVEVE8gfSBmcm9tICcuLi8uLi9kdG8vaW1nLW1hbmFnZXIuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBsaXN0QW5uaW1hdGlvbiB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvbGlzdEFubmltYXRpb24vbGlzdC5hbmltYXRpb24nO1xuaW1wb3J0IHsgc3RhdGVEaXNwbGF5ZWQgfSBmcm9tICcuLi8uLi9kdG8vZXhwb3J0LWR0b3MuYXBpJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZXhlbHMtbGliJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BleGVscy1saWIuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0LFxuICAgIGxpc3RBbm5pbWF0aW9uXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGV4ZWxMaWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpXG4gIHN0YXRlRGlzcGxheWVkOiBzdGF0ZURpc3BsYXllZDtcbiAgQElucHV0KClcbiAgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xuICAgIC8qKiBQYXNzIHRvIHRydWUgdG8gaGlkZSBzZWFyY2ggaW5wdXQgKi9cbiAgQElucHV0KClcbiAgZGlzYWJsZVNlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBzaG93SW1nVXBsb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcGVyUGFnZSA9IDMwO1xuICBzZWFyY2hVcGRhdGVkID0gbmV3IFN1YmplY3QoKTtcbiAgb2xkU2VhcmNoVmFsdWU6IHN0cmluZztcbiAgbmJSZXN1bHQgPSAwO1xuICB3ekltZ0xpYkR0bzogV3pJbWdMaWJEdG87XG4gIGN1cnJlbnRQYWdlID0gMTtcbiAgaXNMb2FkaW5nID0gdHJ1ZTtcbiAgaW5pdENvbXBvbmVudCA9IHRydWU7XG4gIHBob3Rvc0NvbHVtbnM6IFBob3Rvc0NvbHVtbnNbXSA9IFtdO1xuICBuYkNvbHVtdW5zID0gNjtcbiAgcmVzcG9uc2l2ZUNvbHVtbnMgPSBbMTI1MCwgMTA1MCwgNzUwLCA1MDBdO1xuICBvdXRlckVsZW1lbnQgPSBudWxsO1xuXG4gIHVwbG9hZGluZ0ltZyA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLnVwbG9hZGluZ0ltZyc7XG4gIHVudGl0bGVkID0gJ0ltZ01hbmFnZXIuUGV4ZWxMaWIudW50aXRsZWQnO1xuICBzdWNjZXNzVXBsb2FkUGhvdG8gPSAnSW1nTWFuYWdlci5QZXhlbExpYi5zdWNjZXNzSW1wb3J0JztcbiAgZXJyb3JVcGxvYWRQaG90byA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLmVycm9yVXBsb2FkUGhvdG8nO1xuICBlcnJvclJldHJpZXZlUGhvdG9zID0gJ0ltZ01hbmFnZXIuUGV4ZWxMaWIuZXJyb3JSZXRyaWV2ZVBob3Rvcyc7XG5cbiAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ291dGVyRWxlbWVudCcpIHNldCBjb250ZW50KGNvbnRyb2w6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLm91dGVyRWxlbWVudCA9IGNvbnRyb2w7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHd6SW1nTGliU2VydmljZTogUGV4ZWxzU2VydmljZSxcbiAgICBwcml2YXRlIGltZ01hbmFnZXI6IEltZ01hbmFnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLm9sZFNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5zZXROYkNvbHVtbnNUb0Rpc3BsYXlQaG90bygpO1xuICAgIHRoaXMuc2V0UGhvdG9zQ29sdW1ucygpO1xuICAgIHRoaXMuc2VhcmNoKCk7XG4gIH1cblxuICBzZXROYkNvbHVtbnNUb0Rpc3BsYXlQaG90bygpOiB2b2lkIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMub3V0ZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCAhPT0gJ3dpbmRvdycpIHtcbiAgICAgIHRoaXMubmJDb2x1bXVucyA9IDg7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNwb25zaXZlQ29sdW1ucy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIGlmICh3aWR0aCA8IHZhbHVlKSB7XG4gICAgICAgIHRoaXMubmJDb2x1bXVucy0tO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25TZWFyY2hOYW1lQ2hhbmdlZCgpIHtcbiAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlKCk7XG4gIH1cblxuICBvbkJvdHRvbVJlYWNoZWQoKSB7XG4gICAgdGhpcy5zY3JvbGxIYW5kbGVyKCk7XG4gIH1cblxuICBvblNlYXJjaENoYW5nZSgpIHtcbiAgICB0aGlzLnNlYXJjaCgpO1xuICB9XG5cbiAgc2VhcmNoKCkge1xuICAgIGNvbnNvbGUubG9nKCdzZWFyY2gnKTtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUgIT09IHRoaXMub2xkU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMucmVzZXRTZWFyY2goKTtcbiAgICB9XG5cbiAgICAvLyBBbGwgdGhlIHBpY3R1cmUgYXJlIGRpc3BsYXllZFxuICAgIGlmICh0aGlzLm5iUmVzdWx0ICYmIHRoaXMubmJSZXN1bHQgPD0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGVyUGFnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBzZWFyY2hTdWIgPSB0aGlzLnd6SW1nTGliU2VydmljZS5zZWFyY2hPblBleGVscyh0aGlzLnNlYXJjaFZhbHVlLCB0aGlzLnBlclBhZ2UsIHRoaXMuY3VycmVudFBhZ2UpLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBXekltZ0xpYkR0bykgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnc2VhcmNoIGVuZGVkIGhlcmUnKTtcbiAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgIHRoaXMud3pJbWdMaWJEdG8gPSBkYXRhO1xuICAgICAgICB0aGlzLm5iUmVzdWx0ID0gdGhpcy53ekltZ0xpYkR0by50b3RhbF9yZXN1bHRzO1xuXG4gICAgICAgIGlmICh0aGlzLm5iUmVzdWx0KSB7XG4gICAgICAgICAgZGF0YS5waG90b3MuZm9yRWFjaChwaG90byA9PiB7XG4gICAgICAgICAgICBjb25zdCBiZXN0Q29sdW1uSW5kZXggPSB0aGlzLmdldEJlc3RDb2x1bW4oKTtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IChwaG90by5oZWlnaHQgLyBwaG90by53aWR0aCkgKiAxMDAwO1xuXG4gICAgICAgICAgICB0aGlzLnBob3Rvc0NvbHVtbnNbYmVzdENvbHVtbkluZGV4XS5oZWlnaHQgKz0gaGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5waG90b3NDb2x1bW5zW2Jlc3RDb2x1bW5JbmRleF0ucGhvdG9zLnB1c2gocGhvdG8pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbml0Q29tcG9uZW50ID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmluaXRDb21wb25lbnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JSZXRyaWV2ZVBob3Rvcyk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc3Vicy5wdXNoKHNlYXJjaFN1Yik7XG4gIH1cblxuICBzY3JvbGxIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBiZXN0Q29sdW1uSW5kZXggPSB0aGlzLmdldEJlc3RDb2x1bW4oKTtcbiAgICBjb25zdCBsYXN0UGljID0gdGhpcy5waG90b3NDb2x1bW5zW2Jlc3RDb2x1bW5JbmRleF0ucGhvdG9zW3RoaXMucGhvdG9zQ29sdW1uc1tiZXN0Q29sdW1uSW5kZXhdLnBob3Rvcy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBsYXN0UGhvdG8gPSBsYXN0UGljID8gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MSW1hZ2VFbGVtZW50PignaW1nW3NyYz1cIicgKyBsYXN0UGljLnNyYy5tZWRpdW0gKyAnXCJdJykgOiBudWxsO1xuXG4gICAgaWYgKGxhc3RQaG90bykge1xuICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlICs9IDE7XG4gICAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0UGhvdG9zQ29sdW1ucygpIHtcbiAgICBmb3IgKGxldCBpbmRleENvbHVtbj0wOyBpbmRleENvbHVtbiA8IHRoaXMubmJDb2x1bXVucyA7IGluZGV4Q29sdW1uKyspIHtcbiAgICAgIGNvbnN0IHBob3Rvc0NvbHVtbjogUGhvdG9zQ29sdW1ucyA9IHtcbiAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICBwaG90b3M6IFtdXG4gICAgICB9O1xuICAgICAgdGhpcy5waG90b3NDb2x1bW5zLnB1c2gocGhvdG9zQ29sdW1uKTtcbiAgICB9XG4gIH1cblxuICBnZXRCZXN0Q29sdW1uKCk6IG51bWJlciB7XG4gICAgY29uc3QgYmVzdENvbHVtbiA9IHtcbiAgICAgIGluZGV4OiAwLFxuICAgICAgaGVpZ2h0OiB0aGlzLnBob3Rvc0NvbHVtbnNbMF0uaGVpZ2h0XG4gICAgfTtcbiAgICB0aGlzLnBob3Rvc0NvbHVtbnMuZm9yRWFjaCgocGhvdG9zQ29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKGJlc3RDb2x1bW4uaGVpZ2h0ID4gcGhvdG9zQ29sdW1uLmhlaWdodCkge1xuICAgICAgICBiZXN0Q29sdW1uLmluZGV4ID0gaW5kZXg7XG4gICAgICAgIGJlc3RDb2x1bW4uaGVpZ2h0ID0gcGhvdG9zQ29sdW1uLmhlaWdodDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYmVzdENvbHVtbi5pbmRleDtcbiAgfVxuXG4gIHJlc2V0U2VhcmNoKCkge1xuICAgIHRoaXMub2xkU2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlO1xuICAgIHRoaXMucGhvdG9zQ29sdW1ucyA9IFtdO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMuc2V0UGhvdG9zQ29sdW1ucygpO1xuICB9XG5cbiAgdXBsb2FkUGhvdG8ocGhvdG86IFd6SW1nTGliUGhvdG9EdG8sIHVybDogc3RyaW5nKSB7XG4gICAgcGhvdG8udXBsb2FkaW5nID0gdHJ1ZTtcblxuICAgIGNvbnN0IHVwbG9hZFN1YiA9IHRoaXMuaW1nTWFuYWdlci51cGxvYWRGaWxlQnlVcmwodXJsLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLnVudGl0bGVkKSkuc3Vic2NyaWJlKFxuICAgICAgKGltZzogSW1nUGljdHVyZURUTykgPT4ge1xuICAgICAgICBwaG90by51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgcGhvdG8udXBsb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy5zdWNjZXNzVXBsb2FkUGhvdG8pO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgcGhvdG8udXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGlmKGVycm9yLmVycm9yLmNvZGUgPT09IDQwNiAmJiBlcnJvci5lcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0V2l0aEJhY2tlbmRSZXNwb25zKHRoaXMuZXJyb3JVcGxvYWRQaG90bywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuZXJyb3JVcGxvYWRQaG90byk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBEaXNwbGF5IGltZyB1cGxvYWRpbmcgbXNnXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5vcGVuQWxlcnQodGhpcy51cGxvYWRpbmdJbWcpO1xuICAgICAgdGhpcy5zdWJzLnB1c2godXBsb2FkU3ViKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGV4ZWxzLWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ad2l6aXNob3AvaW1nLW1hbmFnZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wZXhlbHMtbGliL3BleGVscy1saWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQVUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBVTVEO0lBc0NFLDJCQUNVLGVBQThCLEVBQzlCLFVBQTZCLEVBQzdCLFlBQTBCLEVBQzFCLGdCQUFrQztRQUhsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBZTtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckM1QyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN2Qix3Q0FBd0M7UUFFMUMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFHL0Isb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixrQkFBYSxHQUFHLElBQUksT0FB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QixDQUFDLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELHVDQUFXLEdBQVg7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O2dCQTlKMEIsYUFBYTtnQkFDbEIsaUJBQWlCO2dCQUNmLFlBQVk7Z0JBQ1IsZ0JBQWdCOztJQXZDNUM7UUFEQyxLQUFLLEVBQUU7OzZEQUN1QjtJQUUvQjtRQURDLEtBQUssRUFBRTs7MERBQ2lCO0lBR3pCO1FBREMsS0FBSyxFQUFFOzs0REFDdUI7SUFHL0I7UUFEQyxNQUFNLEVBQUU7OzhEQUM0QjtJQXVCVjtRQUExQixTQUFTLENBQUMsY0FBYyxDQUFDO2tDQUFzQixVQUFVO3lDQUFWLFVBQVU7b0RBRXpEO0lBcENVLGlCQUFpQjtRQVI3QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsWUFBWTtZQUN0Qiwyc0pBQTBDO1lBQzFDLFVBQVUsRUFBRTtnQkFDVixTQUFTO2dCQUNULGNBQWM7YUFDZjtTQUNGLENBQUM7eUNBd0MyQixhQUFhO1lBQ2xCLGlCQUFpQjtZQUNmLFlBQVk7WUFDUixnQkFBZ0I7T0ExQ2pDLGlCQUFpQixDQXNNN0I7SUFBRCx3QkFBQztDQUFBLEFBdE1ELElBc01DO1NBdE1ZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGV4ZWxzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGV4ZWxzLnNlcnZpY2UnO1xuaW1wb3J0IHtTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXekltZ0xpYkR0bywgUGhvdG9zQ29sdW1ucywgV3pJbWdMaWJQaG90b0R0b30gZnJvbSAnLi4vLi4vZHRvL3BleGVscy1pbWcuZHRvJztcbmltcG9ydCB7IEltZ01hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbWdQaWN0dXJlRFRPIH0gZnJvbSAnLi4vLi4vZHRvL2ltZy1tYW5hZ2VyLmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBlYXNlSW5PdXQgfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2Vhc2VJbk91dC9lYXNlLWluLW91dC5hbmltYXRpb24nO1xuaW1wb3J0IHsgbGlzdEFubmltYXRpb24gfSBmcm9tICcuLi8uLi9hbmltYXRpb25zL2xpc3RBbm5pbWF0aW9uL2xpc3QuYW5pbWF0aW9uJztcbmltcG9ydCB7IHN0YXRlRGlzcGxheWVkIH0gZnJvbSAnLi4vLi4vZHRvL2V4cG9ydC1kdG9zLmFwaSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGVydC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGV4ZWxzLWxpYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXhlbHMtbGliLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIGVhc2VJbk91dCxcbiAgICBsaXN0QW5uaW1hdGlvblxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBleGVsTGliQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKVxuICBzdGF0ZURpc3BsYXllZDogc3RhdGVEaXNwbGF5ZWQ7XG4gIEBJbnB1dCgpXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgICAvKiogUGFzcyB0byB0cnVlIHRvIGhpZGUgc2VhcmNoIGlucHV0ICovXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgc2hvd0ltZ1VwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHBlclBhZ2UgPSAzMDtcbiAgc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0KCk7XG4gIG9sZFNlYXJjaFZhbHVlOiBzdHJpbmc7XG4gIG5iUmVzdWx0ID0gMDtcbiAgd3pJbWdMaWJEdG86IFd6SW1nTGliRHRvO1xuICBjdXJyZW50UGFnZSA9IDE7XG4gIGlzTG9hZGluZyA9IHRydWU7XG4gIGluaXRDb21wb25lbnQgPSB0cnVlO1xuICBwaG90b3NDb2x1bW5zOiBQaG90b3NDb2x1bW5zW10gPSBbXTtcbiAgbmJDb2x1bXVucyA9IDY7XG4gIHJlc3BvbnNpdmVDb2x1bW5zID0gWzEyNTAsIDEwNTAsIDc1MCwgNTAwXTtcbiAgb3V0ZXJFbGVtZW50ID0gbnVsbDtcblxuICB1cGxvYWRpbmdJbWcgPSAnSW1nTWFuYWdlci5QZXhlbExpYi51cGxvYWRpbmdJbWcnO1xuICB1bnRpdGxlZCA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLnVudGl0bGVkJztcbiAgc3VjY2Vzc1VwbG9hZFBob3RvID0gJ0ltZ01hbmFnZXIuUGV4ZWxMaWIuc3VjY2Vzc0ltcG9ydCc7XG4gIGVycm9yVXBsb2FkUGhvdG8gPSAnSW1nTWFuYWdlci5QZXhlbExpYi5lcnJvclVwbG9hZFBob3RvJztcbiAgZXJyb3JSZXRyaWV2ZVBob3RvcyA9ICdJbWdNYW5hZ2VyLlBleGVsTGliLmVycm9yUmV0cmlldmVQaG90b3MnO1xuXG4gIHByaXZhdGUgc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdvdXRlckVsZW1lbnQnKSBzZXQgY29udGVudChjb250cm9sOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5vdXRlckVsZW1lbnQgPSBjb250cm9sO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB3ekltZ0xpYlNlcnZpY2U6IFBleGVsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWdNYW5hZ2VyOiBJbWdNYW5hZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5vbGRTZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWU7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIHRoaXMuc2V0TmJDb2x1bW5zVG9EaXNwbGF5UGhvdG8oKTtcbiAgICB0aGlzLnNldFBob3Rvc0NvbHVtbnMoKTtcbiAgICB0aGlzLnNlYXJjaCgpO1xuICB9XG5cbiAgc2V0TmJDb2x1bW5zVG9EaXNwbGF5UGhvdG8oKTogdm9pZCB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLm91dGVyRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuXG4gICAgaWYgKHRoaXMuc3RhdGVEaXNwbGF5ZWQgIT09ICd3aW5kb3cnKSB7XG4gICAgICB0aGlzLm5iQ29sdW11bnMgPSA4O1xuICAgIH1cblxuICAgIHRoaXMucmVzcG9uc2l2ZUNvbHVtbnMuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICBpZiAod2lkdGggPCB2YWx1ZSkge1xuICAgICAgICB0aGlzLm5iQ29sdW11bnMtLTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uU2VhcmNoTmFtZUNoYW5nZWQoKSB7XG4gICAgdGhpcy5vblNlYXJjaENoYW5nZSgpO1xuICB9XG5cbiAgb25Cb3R0b21SZWFjaGVkKCkge1xuICAgIHRoaXMuc2Nyb2xsSGFuZGxlcigpO1xuICB9XG5cbiAgb25TZWFyY2hDaGFuZ2UoKSB7XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHNlYXJjaCgpIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUgIT09IHRoaXMub2xkU2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMucmVzZXRTZWFyY2goKTtcbiAgICB9XG5cbiAgICAvLyBBbGwgdGhlIHBpY3R1cmUgYXJlIGRpc3BsYXllZFxuICAgIGlmICh0aGlzLm5iUmVzdWx0ICYmIHRoaXMubmJSZXN1bHQgPD0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMucGVyUGFnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBzZWFyY2hTdWIgPSB0aGlzLnd6SW1nTGliU2VydmljZS5zZWFyY2hPblBleGVscyh0aGlzLnNlYXJjaFZhbHVlLCB0aGlzLnBlclBhZ2UsIHRoaXMuY3VycmVudFBhZ2UpLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBXekltZ0xpYkR0bykgPT4ge1xuICAgICAgICB0aGlzLnd6SW1nTGliRHRvID0gZGF0YTtcbiAgICAgICAgdGhpcy5uYlJlc3VsdCA9IHRoaXMud3pJbWdMaWJEdG8udG90YWxfcmVzdWx0cztcblxuICAgICAgICBpZiAodGhpcy5uYlJlc3VsdCkge1xuICAgICAgICAgIGRhdGEucGhvdG9zLmZvckVhY2gocGhvdG8gPT4ge1xuICAgICAgICAgICAgY29uc3QgYmVzdENvbHVtbkluZGV4ID0gdGhpcy5nZXRCZXN0Q29sdW1uKCk7XG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSAocGhvdG8uaGVpZ2h0IC8gcGhvdG8ud2lkdGgpICogMTAwMDtcblxuICAgICAgICAgICAgdGhpcy5waG90b3NDb2x1bW5zW2Jlc3RDb2x1bW5JbmRleF0uaGVpZ2h0ICs9IGhlaWdodDtcbiAgICAgICAgICAgIHRoaXMucGhvdG9zQ29sdW1uc1tiZXN0Q29sdW1uSW5kZXhdLnBob3Rvcy5wdXNoKHBob3RvKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaW5pdENvbXBvbmVudCA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbml0Q29tcG9uZW50ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yUmV0cmlldmVQaG90b3MpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnMucHVzaChzZWFyY2hTdWIpO1xuICB9XG5cbiAgc2Nyb2xsSGFuZGxlcigpIHtcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgYmVzdENvbHVtbkluZGV4ID0gdGhpcy5nZXRCZXN0Q29sdW1uKCk7XG4gICAgY29uc3QgbGFzdFBpYyA9IHRoaXMucGhvdG9zQ29sdW1uc1tiZXN0Q29sdW1uSW5kZXhdLnBob3Rvc1t0aGlzLnBob3Rvc0NvbHVtbnNbYmVzdENvbHVtbkluZGV4XS5waG90b3MubGVuZ3RoIC0gMV07XG4gICAgY29uc3QgbGFzdFBob3RvID0gbGFzdFBpYyA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3I8SFRNTEltYWdlRWxlbWVudD4oJ2ltZ1tzcmM9XCInICsgbGFzdFBpYy5zcmMubWVkaXVtICsgJ1wiXScpIDogbnVsbDtcblxuICAgIGlmIChsYXN0UGhvdG8pIHtcbiAgICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSArPSAxO1xuICAgICAgICB0aGlzLnNlYXJjaCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFBob3Rvc0NvbHVtbnMoKSB7XG4gICAgZm9yIChsZXQgaW5kZXhDb2x1bW49MDsgaW5kZXhDb2x1bW4gPCB0aGlzLm5iQ29sdW11bnMgOyBpbmRleENvbHVtbisrKSB7XG4gICAgICBjb25zdCBwaG90b3NDb2x1bW46IFBob3Rvc0NvbHVtbnMgPSB7XG4gICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgcGhvdG9zOiBbXVxuICAgICAgfTtcbiAgICAgIHRoaXMucGhvdG9zQ29sdW1ucy5wdXNoKHBob3Rvc0NvbHVtbik7XG4gICAgfVxuICB9XG5cbiAgZ2V0QmVzdENvbHVtbigpOiBudW1iZXIge1xuICAgIGNvbnN0IGJlc3RDb2x1bW4gPSB7XG4gICAgICBpbmRleDogMCxcbiAgICAgIGhlaWdodDogdGhpcy5waG90b3NDb2x1bW5zWzBdLmhlaWdodFxuICAgIH07XG4gICAgdGhpcy5waG90b3NDb2x1bW5zLmZvckVhY2goKHBob3Rvc0NvbHVtbiwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChiZXN0Q29sdW1uLmhlaWdodCA+IHBob3Rvc0NvbHVtbi5oZWlnaHQpIHtcbiAgICAgICAgYmVzdENvbHVtbi5pbmRleCA9IGluZGV4O1xuICAgICAgICBiZXN0Q29sdW1uLmhlaWdodCA9IHBob3Rvc0NvbHVtbi5oZWlnaHQ7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGJlc3RDb2x1bW4uaW5kZXg7XG4gIH1cblxuICByZXNldFNlYXJjaCgpIHtcbiAgICB0aGlzLm9sZFNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcbiAgICB0aGlzLnBob3Rvc0NvbHVtbnMgPSBbXTtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnNldFBob3Rvc0NvbHVtbnMoKTtcbiAgfVxuXG4gIHVwbG9hZFBob3RvKHBob3RvOiBXekltZ0xpYlBob3RvRHRvLCB1cmw6IHN0cmluZykge1xuICAgIHBob3RvLnVwbG9hZGluZyA9IHRydWU7XG5cbiAgICBjb25zdCB1cGxvYWRTdWIgPSB0aGlzLmltZ01hbmFnZXIudXBsb2FkRmlsZUJ5VXJsKHVybCwgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy51bnRpdGxlZCkpLnN1YnNjcmliZShcbiAgICAgIChpbWc6IEltZ1BpY3R1cmVEVE8pID0+IHtcbiAgICAgICAgcGhvdG8udXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHBob3RvLnVwbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMuc3VjY2Vzc1VwbG9hZFBob3RvKTtcbiAgICAgIH0sXG4gICAgICBlcnJvciA9PiB7XG4gICAgICAgIHBob3RvLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBpZihlcnJvci5lcnJvci5jb2RlID09PSA0MDYgJiYgZXJyb3IuZXJyb3IubWVzc2FnZSkge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydFdpdGhCYWNrZW5kUmVzcG9ucyh0aGlzLmVycm9yVXBsb2FkUGhvdG8sIGVycm9yLmVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLm9wZW5BbGVydCh0aGlzLmVycm9yVXBsb2FkUGhvdG8pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gRGlzcGxheSBpbWcgdXBsb2FkaW5nIG1zZ1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uub3BlbkFsZXJ0KHRoaXMudXBsb2FkaW5nSW1nKTtcbiAgICAgIHRoaXMuc3Vicy5wdXNoKHVwbG9hZFN1Yik7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICB9XG59XG4iXX0=
@@ -28,7 +28,7 @@ var AlertComponent = /** @class */ (function () {
28
28
  Component({
29
29
  selector: 'wz-alert',
30
30
  template: "<div class=\"wz-alert\" [ngClass]=\"{ success: success, warning: warning }\">\n <i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i>\n <p><ng-content></ng-content></p>\n</div>\n",
31
- styles: [".wz-alert{width:100%;background-color:rgba(82,174,205,.15);color:#52aecd;border-radius:3px;display:-webkit-box;display:flex;flex-wrap:nowrap;-webkit-box-pack:justify;justify-content:space-between;padding:20px}.wz-alert.success{background-color:rgba(46,204,113,.15)}.wz-alert.success p,.wz-alert.success p>*{color:#11552e}.wz-alert.success i{color:#2ecc71}.wz-alert.warning{background-color:rgba(233,86,86,.15)}.wz-alert.warning p,.wz-alert.warning p>*{color:#3a0505}.wz-alert.warning i{color:#e95656}.wz-alert p{width:100%;font-size:rem(14);line-height:rem(25);margin:0;padding:0;color:#1e5568}.wz-alert p>*{color:#1e5568}.wz-alert i{width:auto;margin:0 10px 0 0;color:inherit;font-size:rem(14);line-height:rem(25)}"]
31
+ styles: [".wz-alert{width:100%;background-color:rgba(82,174,205,.15);color:#52aecd;border-radius:3px;display:flex;flex-wrap:nowrap;justify-content:space-between;padding:20px}.wz-alert.success{background-color:rgba(46,204,113,.15)}.wz-alert.success p,.wz-alert.success p>*{color:#11552e}.wz-alert.success i{color:#2ecc71}.wz-alert.warning{background-color:rgba(233,86,86,.15)}.wz-alert.warning p,.wz-alert.warning p>*{color:#3a0505}.wz-alert.warning i{color:#e95656}.wz-alert p{width:100%;font-size:rem(14);line-height:rem(25);margin:0;padding:0;color:#1e5568}.wz-alert p>*{color:#1e5568}.wz-alert i{width:auto;margin:0 10px 0 0;color:inherit;font-size:rem(14);line-height:rem(25)}"]
32
32
  }),
33
33
  __metadata("design:paramtypes", [])
34
34
  ], AlertComponent);
@@ -89,7 +89,7 @@ var UploadListComponent = /** @class */ (function () {
89
89
  UploadListComponent = __decorate([
90
90
  Component({
91
91
  selector: 'upload-list',
92
- template: "<div class=\"upload-list\" [ngClass]=\"{'smallDisplay': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\n\n <perfect-scrollbar\n #scrollable\n class=\"upload-list__scroll\"\n [ngClass]=\"{\n 'upload-list__scroll--smallDisplay': stateDisplayed === 'small',\n 'upload-list__scroll--window': stateDisplayed === 'window'}\"\n >\n <div class=\"upload-list__box\">\n <div class=\"upload-list__box__container\">\n <div>\n <p class=\"mainColor\">\n {{ picturesList? picturesList.length : '' }}\n <ng-container *ngIf=\"picturesList && picturesList.length > 1\">{{ 'ImgManager.UploadList.imgSuccessImport' | translate }}</ng-container>\n <ng-container *ngIf=\"picturesList && picturesList.length === 1\">{{ 'ImgManager.UploadList.imgSuccessImportOne' | translate }}</ng-container>\n </p>\n <div class=\"dropdown is-hoverable\">\n <div class=\"dropdown-trigger\">\n <i\n aria-haspopup=\"true\" aria-controls=\"dropdown-menuInfoSeo\"\n class=\"fas fa-info-circle\">\n </i>\n </div>\n <div class=\"dropdown-menu dropDownShadow\" id=\"dropdown-menuInfoSeo\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"upload-list__box__cards\">\n <div class=\"upload-list__box__cards__card\" *ngFor=\"let picture of picturesList; let index = index;\">\n <img-card\n [picture]=\"picture\"\n [stateDisplayed]=\"stateDisplayed\"\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n ></img-card>\n <div class=\"upload-list__box__cards__card__btnBox\">\n <button class=\"button success upload-list__box__cards__card__btnBox__btn\"><i class=\"fal fa-check\"></i></button>\n </div>\n </div>\n </div>\n </div>\n </perfect-scrollbar>\n</div>\n",
92
+ template: "<div class=\"upload-list\" [ngClass]=\"{'smallDisplay': stateDisplayed === 'small'}\" [@easeInOut]=\"'in'\">\n\n <perfect-scrollbar\n #scrollable\n [config]=\"{ suppressScrollX: true }\"\n class=\"upload-list__scroll\"\n [ngClass]=\"{\n 'upload-list__scroll--smallDisplay': stateDisplayed === 'small',\n 'upload-list__scroll--window': stateDisplayed === 'window'}\"\n >\n <div class=\"upload-list__box\">\n <div class=\"upload-list__box__container\">\n <div>\n <p class=\"mainColor\">\n {{ picturesList? picturesList.length : '' }}\n <ng-container *ngIf=\"picturesList && picturesList.length > 1\">{{ 'ImgManager.UploadList.imgSuccessImport' | translate }}</ng-container>\n <ng-container *ngIf=\"picturesList && picturesList.length === 1\">{{ 'ImgManager.UploadList.imgSuccessImportOne' | translate }}</ng-container>\n </p>\n <div class=\"dropdown is-hoverable\">\n <div class=\"dropdown-trigger\">\n <i\n aria-haspopup=\"true\" aria-controls=\"dropdown-menuInfoSeo\"\n class=\"fas fa-info-circle\">\n </i>\n </div>\n <div class=\"dropdown-menu dropDownShadow\" id=\"dropdown-menuInfoSeo\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.rezise' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.webp' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.cdn' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n <div class=\"dropdown-item\">\n <p>{{ 'ImgManager.UploadList.seo.lazyloading' | translate }}</p>\n <p><i class=\"fal fa-check\"></i> 100%</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"upload-list__box__cards\">\n <div class=\"upload-list__box__cards__card\" *ngFor=\"let picture of picturesList; let index = index;\">\n <img-card\n [picture]=\"picture\"\n [stateDisplayed]=\"stateDisplayed\"\n (toggleImgSelected)=\"onToggleSelectImg(index)\"\n (switchDisplayWindow)=\"switchDisplayWindowCard()\"\n (pictureNameChange)=\"onRenamePicture($event)\"\n ></img-card>\n <div class=\"upload-list__box__cards__card__btnBox\">\n <button class=\"button success upload-list__box__cards__card__btnBox__btn\"><i class=\"fal fa-check\"></i></button>\n </div>\n </div>\n </div>\n </div>\n </perfect-scrollbar>\n</div>\n",
93
93
  animations: [
94
94
  easeInOut
95
95
  ]
@@ -100,4 +100,4 @@ var UploadListComponent = /** @class */ (function () {
100
100
  return UploadListComponent;
101
101
  }());
102
102
  export { UploadListComponent };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdXBsb2FkLWxpc3QvdXBsb2FkLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQVM3RTtJQVlFLDZCQUNVLG1CQUF3QyxFQUN4QyxvQkFBMEM7UUFEMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWnBELGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQU0xQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUUxQyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUs1RCxDQUFDO0lBRUwsc0NBQVEsR0FBUjtRQUNFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsMkNBQWEsR0FBYixVQUFjLEdBQW9CO1FBQWxDLGlCQUtDO1FBSkMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFBLE9BQU87WUFDakIsT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFBL0IsQ0FBK0IsQ0FDOUIsQ0FBQztRQUNKLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCwrQ0FBaUIsR0FBakIsVUFBa0IsS0FBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxxREFBdUIsR0FBdkI7UUFDRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCw2Q0FBZSxHQUFmLFVBQWdCLGNBQWlDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLHVDQUFTLEdBQWpCO1FBQUEsaUJBVUM7UUFUQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUFDLFVBQUEsWUFBWTs7WUFDL0YsSUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQyxDQUFDOztnQkFDdEQsS0FBc0IsSUFBQSxLQUFBLFNBQUEsS0FBSSxDQUFDLFlBQVksQ0FBQSxnQkFBQSw0QkFBRTtvQkFBcEMsSUFBTSxPQUFPLFdBQUE7b0JBQ2hCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQzlDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO3FCQUMxQjtpQkFDRjs7Ozs7Ozs7O1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QseUNBQVcsR0FBWDtRQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDOztnQkFqRDhCLG1CQUFtQjtnQkFDbEIsb0JBQW9COztJQVIzQztRQUFSLEtBQUssRUFBRTs7K0RBQWdDO0lBQy9CO1FBQVIsS0FBSyxFQUFFOzs2REFBNEI7SUFDM0I7UUFBUixLQUFLLEVBQUU7O2dFQUFrQztJQUUxQztRQURDLE1BQU0sRUFBRTtrQ0FDWSxZQUFZO29FQUErQjtJQVZyRCxtQkFBbUI7UUFQL0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGFBQWE7WUFDdkIsZ2pIQUEyQztZQUMzQyxVQUFVLEVBQUU7Z0JBQ1YsU0FBUzthQUNWO1NBQ0YsQ0FBQzt5Q0FjK0IsbUJBQW1CO1lBQ2xCLG9CQUFvQjtPQWR6QyxtQkFBbUIsQ0ErRC9CO0lBQUQsMEJBQUM7Q0FBQSxBQS9ERCxJQStEQztTQS9EWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBQaWN0dXJlTmFtZVVwZGF0ZSwgc3RhdGVEaXNwbGF5ZWQsIHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xuaW1wb3J0IHsgUmVuYW1lUGljdHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZW5hbWUtcGljdHVyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndXBsb2FkLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgaW1nU2VsZWN0aW9uQ2hhbmdlOiBTdWJzY3JpcHRpb247XG4gIHNlbGVjdEltZ0V2ZW50OiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KCkgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBASW5wdXQoKSB0YWJEaXNwbGF5ZWQ6IHRhYkRpc3BsYXllZDtcbiAgQElucHV0KCkgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRFdmVudHMoKTtcbiAgfVxuXG4gIG9uSW1nVXBsb2FkZWQoaW1nOiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICBpbWcuZm9yRWFjaChwaWN0dXJlID0+XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdC5wdXNoKHBpY3R1cmUpXG4gICAgICApO1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uuc2V0UGljdHVyZXNMaXN0KHRoaXMucGljdHVyZXNMaXN0KTtcbiAgfVxuXG4gIG9uVG9nZ2xlU2VsZWN0SW1nKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5hZGRJbWdTZWxlY3RlZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0pO1xuICAgICAgdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGVkQnlJZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uaWRfZmlsZSk7XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIG9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcbiAgICB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLm9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZCk7XG4gIH1cblxuICBwcml2YXRlIHNldEV2ZW50cygpIHtcbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZSA9IHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5nZXRJbWdTZWxlY3Rpb25DaGFuZ2UoKS5zdWJzY3JpYmUoaW1nU2VsZWN0aW9uID0+e1xuICAgICAgY29uc3QgaWRGaWxlTGlzdCA9IFtdO1xuICAgICAgaW1nU2VsZWN0aW9uLm1hcChpbWcgPT4gaWRGaWxlTGlzdC5wdXNoKGltZy5pZF9maWxlKSk7XG4gICAgICBmb3IgKGNvbnN0IHBpY3R1cmUgb2YgdGhpcy5waWN0dXJlc0xpc3QpIHtcbiAgICAgICAgaWYgKGlkRmlsZUxpc3QuaW5kZXhPZihwaWN0dXJlLmlkX2ZpbGUpID09PSAtMSkge1xuICAgICAgICAgIHBpY3R1cmUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaW1nU2VsZWN0aW9uQ2hhbmdlLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHdpemlzaG9wL2ltZy1tYW5hZ2VyLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvdXBsb2FkLWxpc3QvdXBsb2FkLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQVM3RTtJQVlFLDZCQUNVLG1CQUF3QyxFQUN4QyxvQkFBMEM7UUFEMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBWnBELGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQU0xQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUUxQyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUs1RCxDQUFDO0lBRUwsc0NBQVEsR0FBUjtRQUNFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsMkNBQWEsR0FBYixVQUFjLEdBQW9CO1FBQWxDLGlCQUtDO1FBSkMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFBLE9BQU87WUFDakIsT0FBQSxLQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFBL0IsQ0FBK0IsQ0FDOUIsQ0FBQztRQUNKLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCwrQ0FBaUIsR0FBakIsVUFBa0IsS0FBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssUUFBUSxFQUFFO1lBQ3BDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxxREFBdUIsR0FBdkI7UUFDRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCw2Q0FBZSxHQUFmLFVBQWdCLGNBQWlDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLHVDQUFTLEdBQWpCO1FBQUEsaUJBVUM7UUFUQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUFDLFVBQUEsWUFBWTs7WUFDL0YsSUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQyxDQUFDOztnQkFDdEQsS0FBc0IsSUFBQSxLQUFBLFNBQUEsS0FBSSxDQUFDLFlBQVksQ0FBQSxnQkFBQSw0QkFBRTtvQkFBcEMsSUFBTSxPQUFPLFdBQUE7b0JBQ2hCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQzlDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO3FCQUMxQjtpQkFDRjs7Ozs7Ozs7O1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QseUNBQVcsR0FBWDtRQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDOztnQkFqRDhCLG1CQUFtQjtnQkFDbEIsb0JBQW9COztJQVIzQztRQUFSLEtBQUssRUFBRTs7K0RBQWdDO0lBQy9CO1FBQVIsS0FBSyxFQUFFOzs2REFBNEI7SUFDM0I7UUFBUixLQUFLLEVBQUU7O2dFQUFrQztJQUUxQztRQURDLE1BQU0sRUFBRTtrQ0FDWSxZQUFZO29FQUErQjtJQVZyRCxtQkFBbUI7UUFQL0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGFBQWE7WUFDdkIsZ21IQUEyQztZQUMzQyxVQUFVLEVBQUU7Z0JBQ1YsU0FBUzthQUNWO1NBQ0YsQ0FBQzt5Q0FjK0IsbUJBQW1CO1lBQ2xCLG9CQUFvQjtPQWR6QyxtQkFBbUIsQ0ErRC9CO0lBQUQsMEJBQUM7Q0FBQSxBQS9ERCxJQStEQztTQS9EWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW1nUGljdHVyZURUTyB9IGZyb20gJy4uLy4uL2R0by9pbWctbWFuYWdlci5kdG8nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWdTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW1nLXNlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGVhc2VJbk91dCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbnMvZWFzZUluT3V0L2Vhc2UtaW4tb3V0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBQaWN0dXJlTmFtZVVwZGF0ZSwgc3RhdGVEaXNwbGF5ZWQsIHRhYkRpc3BsYXllZCB9IGZyb20gJy4uLy4uL2R0by9leHBvcnQtZHRvcy5hcGknO1xuaW1wb3J0IHsgUmVuYW1lUGljdHVyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZW5hbWUtcGljdHVyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndXBsb2FkLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgZWFzZUluT3V0XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcGljdHVyZXNMaXN0OiBJbWdQaWN0dXJlRFRPW10gPSBbXTtcbiAgaW1nU2VsZWN0aW9uQ2hhbmdlOiBTdWJzY3JpcHRpb247XG4gIHNlbGVjdEltZ0V2ZW50OiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KCkgc3RhdGVEaXNwbGF5ZWQ6IHN0YXRlRGlzcGxheWVkO1xuICBASW5wdXQoKSB0YWJEaXNwbGF5ZWQ6IHRhYkRpc3BsYXllZDtcbiAgQElucHV0KCkgbXVsdGlwbGVJbWdNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKVxuICBzd2l0Y2hEaXNwbGF5V2luZG93OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbWdTZWxlY3Rpb25TZXJ2aWNlOiBJbWdTZWxlY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVuYW1lUGljdHVyZVNlcnZpY2U6IFJlbmFtZVBpY3R1cmVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRFdmVudHMoKTtcbiAgfVxuXG4gIG9uSW1nVXBsb2FkZWQoaW1nOiBJbWdQaWN0dXJlRFRPW10pIHtcbiAgICBpbWcuZm9yRWFjaChwaWN0dXJlID0+XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdC5wdXNoKHBpY3R1cmUpXG4gICAgICApO1xuICAgIHRoaXMucmVuYW1lUGljdHVyZVNlcnZpY2Uuc2V0UGljdHVyZXNMaXN0KHRoaXMucGljdHVyZXNMaXN0KTtcbiAgfVxuXG4gIG9uVG9nZ2xlU2VsZWN0SW1nKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5zdGF0ZURpc3BsYXllZCA9PT0gJ3dpbmRvdycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5hZGRJbWdTZWxlY3RlZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0pO1xuICAgICAgdGhpcy5waWN0dXJlc0xpc3RbaW5kZXhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbWdTZWxlY3Rpb25TZXJ2aWNlLnJlbW92ZUltZ1NlbGVjdGVkQnlJZCh0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uaWRfZmlsZSk7XG4gICAgICB0aGlzLnBpY3R1cmVzTGlzdFtpbmRleF0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2hEaXNwbGF5V2luZG93Q2FyZCgpIHtcbiAgICB0aGlzLnN3aXRjaERpc3BsYXlXaW5kb3cuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIG9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZDogUGljdHVyZU5hbWVVcGRhdGUpIHtcbiAgICB0aGlzLnJlbmFtZVBpY3R1cmVTZXJ2aWNlLm9uUmVuYW1lUGljdHVyZShwaWN0dXJlUmVuYW1lZCk7XG4gIH1cblxuICBwcml2YXRlIHNldEV2ZW50cygpIHtcbiAgICB0aGlzLmltZ1NlbGVjdGlvbkNoYW5nZSA9IHRoaXMuaW1nU2VsZWN0aW9uU2VydmljZS5nZXRJbWdTZWxlY3Rpb25DaGFuZ2UoKS5zdWJzY3JpYmUoaW1nU2VsZWN0aW9uID0+e1xuICAgICAgY29uc3QgaWRGaWxlTGlzdCA9IFtdO1xuICAgICAgaW1nU2VsZWN0aW9uLm1hcChpbWcgPT4gaWRGaWxlTGlzdC5wdXNoKGltZy5pZF9maWxlKSk7XG4gICAgICBmb3IgKGNvbnN0IHBpY3R1cmUgb2YgdGhpcy5waWN0dXJlc0xpc3QpIHtcbiAgICAgICAgaWYgKGlkRmlsZUxpc3QuaW5kZXhPZihwaWN0dXJlLmlkX2ZpbGUpID09PSAtMSkge1xuICAgICAgICAgIHBpY3R1cmUuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaW1nU2VsZWN0aW9uQ2hhbmdlLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==