wacom 13.0.7 → 13.0.8

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 (37) hide show
  1. package/esm2020/lib/components/alert/alert.component.mjs +3 -3
  2. package/esm2020/lib/components/alert/wrapper/wrapper.component.mjs +3 -3
  3. package/esm2020/lib/components/files/files.component.mjs +3 -3
  4. package/esm2020/lib/components/loader/loader.component.mjs +3 -3
  5. package/esm2020/lib/components/modal/modal.component.mjs +3 -3
  6. package/esm2020/lib/directives/click-outside.directive.mjs +4 -4
  7. package/esm2020/lib/guard/meta.guard.mjs +3 -3
  8. package/esm2020/lib/pipes/arr.pipe.mjs +3 -3
  9. package/esm2020/lib/pipes/mongodate.pipe.mjs +3 -3
  10. package/esm2020/lib/pipes/pagination.pipe.mjs +3 -3
  11. package/esm2020/lib/pipes/safe.pipe.mjs +3 -3
  12. package/esm2020/lib/pipes/search.pipe.mjs +3 -3
  13. package/esm2020/lib/pipes/splice.pipe.mjs +3 -3
  14. package/esm2020/lib/services/alert.service.mjs +3 -3
  15. package/esm2020/lib/services/base.service.mjs +3 -3
  16. package/esm2020/lib/services/core.service.mjs +14 -4
  17. package/esm2020/lib/services/crud.service.mjs +3 -3
  18. package/esm2020/lib/services/dom.service.mjs +3 -3
  19. package/esm2020/lib/services/file.service.mjs +3 -3
  20. package/esm2020/lib/services/hash.service.mjs +3 -3
  21. package/esm2020/lib/services/http.service.mjs +3 -3
  22. package/esm2020/lib/services/loader.service.mjs +3 -3
  23. package/esm2020/lib/services/meta.service.mjs +3 -3
  24. package/esm2020/lib/services/modal.service.mjs +3 -3
  25. package/esm2020/lib/services/mongo.service.mjs +37 -19
  26. package/esm2020/lib/services/render.service.mjs +3 -3
  27. package/esm2020/lib/services/socket.service.mjs +3 -3
  28. package/esm2020/lib/services/store.service.mjs +3 -3
  29. package/esm2020/lib/services/time.service.mjs +3 -3
  30. package/esm2020/lib/services/ui.service.mjs +3 -3
  31. package/esm2020/lib/wacom.module.mjs +4 -4
  32. package/fesm2015/wacom.mjs +138 -111
  33. package/fesm2015/wacom.mjs.map +1 -1
  34. package/fesm2020/wacom.mjs +138 -111
  35. package/fesm2020/wacom.mjs.map +1 -1
  36. package/lib/services/core.service.d.ts +1 -0
  37. package/package.json +1 -1
@@ -41,9 +41,9 @@ export class AlertComponent {
41
41
  }, 350);
42
42
  }
43
43
  }
44
- AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AlertComponent, deps: [{ token: i0.ElementRef }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Component });
45
- AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: AlertComponent, selector: "alert", viewQueries: [{ propertyName: "alert", first: true, predicate: ["alert"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"class\" class=\"waw-alert-container height\" [class._close]=\"delete_animation\">\n\t<div [class.waw-alert-color-blue]=\"type=='info'\" [class.waw-alert-color-red]=\"type=='error'\" [class.waw-alert-color-green]=\"type=='success'\" [class.waw-alert-color-orange]=\"type=='warning'\" [class.waw-alert-color-yellow]=\"type=='question'\" class=\"waw-alert bounceInUp waw-alert-theme-light waw-alert-animateInside waw-alert-opened\" #alert>\n\t\t<div class=\"waw-alert__progress\" *ngIf=\"progress\"><span [ngStyle]=\"{'animation-duration': (timeout+350)/1000+'s'}\"></span></div>\n\t\t<div class=\"waw-alert-body\">\n\t\t\t<div *ngIf=\"!component\" class=\"waw-alert-texts\">\n\t\t\t\t<div *ngIf=\"icon\" class=\"{{icon}}\"></div>\n\t\t\t\t<div class=\"waw-alert-message slideIn\">{{text.slice(0, 50)}}</div>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!component&&type=='question'\">\n\t\t\t\t<button class=\"alert-btn\" *ngFor=\"let b of buttons\" (click)=\"remove(); b.callback&&b.callback();\">{{b.text}}</button>\n\t\t\t</div>\n\t\t\t<div class=\"waw-alert__close\" *ngIf=\"closable\" (click)=\"remove()\"></div>\n\t\t</div>\n\t</div>\n</div>\n", styles: ["@keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes iziT-fadeInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes iziT-fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes iziT-bounceInLeft{0%{opacity:0;transform:translate(280px)}50%{opacity:1;transform:translate(-20px)}70%{transform:translate(10px)}to{transform:translate(0)}}@keyframes iziT-bounceInDown{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}.alert-wrapper{position:fixed;bottom:50px;left:0;width:100%;height:60px;overflow:hidden}.alert{display:flex;align-items:center;width:auto;background:#3aed92;color:#fff;max-width:700px;margin:0 auto;transform:translateY(300px) scale(0);transition:.3s all ease-in-out}.alert._show{transform:translateY(0) scale(1);transition:.3s all ease-in-out}.alert-icon{min-width:60px;min-height:60px;position:relative;display:flex;justify-content:center;align-items:center;background-color:#2bd17d}.alert-icon:before{content:\"\";position:absolute;width:25px;height:25px;border-radius:50%;border:2px solid #fff}.alert-icon:after{content:\"\";position:absolute;top:22px;width:7px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.alert-text{padding:0 20px;word-break:break-all;overflow:auto;height:60px}.alert-text .text-block{width:99%}.alert-text .text-block__text{text-overflow:ellipsis;overflow:hidden;white-space:pre}.alert-close{min-width:50px;margin-left:auto;font-size:25px;display:flex;justify-content:center;align-items:center}.font-bold{font-weight:bold}.waw-alert__progress{bottom:0px;position:absolute;width:100%;margin-bottom:0;border-radius:50px}.waw-alert__progress:hover span{animation-play-state:paused}.waw-alert__progress span{display:block;width:100%;height:2px;background-color:#a5a5a5ed;animation-name:waw-alert-progress;animation-duration:10s;border-radius:50px}.waw-alert__progress span._red{background-color:#ffafb4}.waw-alert__progress span._green{background-color:#a6efb8}.waw-alert__progress span._yellow{background-color:#fff9b2}.waw-alert__progress span._orange,.waw-alert__progress span._blue{background-color:#ffcfa5}.waw-alert__progress span._white{background-color:#fff}.waw-alert__progress span._black{background-color:#000}.waw-alert:hover .waw-alert__progress>span{animation-play-state:paused}.waw-alert__close{width:15px;height:15px;opacity:.3;position:relative;order:2}.waw-alert__close:hover{opacity:1}.waw-alert__close:before,.waw-alert__close:after{cursor:pointer;position:absolute;left:15px;content:\" \";height:12px;width:2px;background-color:#47525d}.waw-alert__close:before{transform:rotate(45deg)}.waw-alert__close:after{transform:rotate(-45deg)}@keyframes waw-alert-progress{0%{width:100%}to{width:0%}}.waw-alert-container{font-size:0;height:100px;width:100%;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:.3s all ease-in-out;opacity:1}.waw-alert-container._close{opacity:0;transition:.3s all ease-in-out}.waw-alert{display:inline-block;clear:both;position:relative;font-family:\"Lato\",Tahoma,Arial;font-size:14px;padding:8px 25px 9px 0;background:rgba(238,238,238,.9);border-color:#eeeeeee6;width:100%;pointer-events:all;cursor:default;transform:translate(0);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-height:54px}.waw-alert>.waw-alert-progressbar{position:absolute;left:0;bottom:0;width:100%;z-index:1;background:rgba(255,255,255,.2)}.waw-alert>.waw-alert-progressbar>div{height:2px;width:100%;background:rgba(0,0,0,.3);border-radius:0 0 3px 3px}.waw-alert>.waw-alert-close{position:absolute;right:0;top:0;border:0;padding:0;opacity:.6;width:42px;height:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJPAAACTwBcGfW0QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD3SURBVFiF1ZdtDoMgDEBfdi4PwAX8vLFn0qT7wxantojKupmQmCi8R4tSACpgjC2ICCUbEBa8ingjsU1AXRBeR8aLN64FiknswN8CYefBBDQ3whuFESy7WyQMeC0ipEI0A+0FeBvHUFN8xPaUhAH/iKoWsnXHGegy4J0yxialOfaHJAz4bhRzQzgDvdGnz4GbAonZbCQMuBm1K/kcFu8Mp1N2cFFpsxsMuJqqbIGExGl4loARajU1twskJLLhIsID7+tvUoDnIjTg5T9DPH9EBrz8rxjPzciAl9+O8SxI8CzJ8CxKFfh3ynK8Dyb8wNHM/XDqejx/AtNyPO87tNybAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:8px;cursor:pointer;outline:none}.waw-alert>.waw-alert-close:hover{opacity:1}.waw-alert>.waw-alert-body{position:relative;padding:0 0 0 10px;height:auto;min-height:36px;margin:0 0 0 15px;text-align:left;display:flex;justify-content:space-between;align-items:center}.waw-alert>.waw-alert-body:after{content:\"\";display:table;clear:both}.waw-alert>.waw-alert-body .waw-alert-texts{margin:10px 0 0;padding-right:2px;display:inline-block;float:left;display:flex;justify-content:space-between;align-items:center}.waw-alert>.waw-alert-body .waw-alert-icon{height:100%;position:absolute;left:0;top:50%;display:table;font-size:23px;line-height:24px;margin-top:-12px;color:#000;width:24px;height:24px}.waw-alert>.waw-alert-body .waw-alert-title{padding:0;margin:0 10px 0 0;line-height:16px;font-size:14px;text-align:left;float:left;color:#000;white-space:normal;font-weight:bold}.waw-alert>.waw-alert-body .waw-alert-message{padding:0;font-size:14px;line-height:16px;text-align:left;float:left;color:#0009;white-space:normal}@media only screen and (min-width: 568px){.waw-alert-wrapper{padding:10px 15px}.waw-alert{margin:5px;border-radius:3px;width:auto}.waw-alert:after{content:\"\";z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:3px;box-shadow:inset 0 -10px 20px -10px #0003,inset 0 0 5px #0000001a,0 8px 8px -5px #00000040}.waw-alert:not(.waw-alert-rtl) .waw-alert-cover{border-radius:3px 0 0 3px}.waw-alert.waw-alert-rtl .waw-alert-cover{border-radius:0 3px 3px 0}.waw-alert.waw-alert-color-dark:after{box-shadow:inset 0 -10px 20px -10px #ffffff4d,0 10px 10px -5px #00000040}.waw-alert.waw-alert-balloon .waw-alert-progressbar{background:transparent}.waw-alert.waw-alert-balloon:after{box-shadow:0 10px 10px -5px #00000040,inset 0 10px 20px -5px #00000040}.waw-alert-target .waw-alert:after{box-shadow:inset 0 -10px 20px -10px #0003,inset 0 0 5px #0000001a}}.waw-alert.waw-alert-theme-dark{background:#565c70;border-color:#565c70}.waw-alert.waw-alert-theme-dark .waw-alert-title{color:#fff}.waw-alert.waw-alert-theme-dark .waw-alert-message{color:#ffffffb3;font-weight:300}.waw-alert.waw-alert-theme-dark .waw-alert-icon{color:#fff}.waw-alert.waw-alert-color-red{background:rgba(255,175,180,.9);border-color:#ffafb4e6}.waw-alert.waw-alert-color-orange{background:rgba(255,207,165,.9);border-color:#ffcfa5e6}.waw-alert.waw-alert-color-yellow{background:rgba(255,249,178,.9);border-color:#fff9b2e6}.waw-alert.waw-alert-color-blue{background:rgba(157,222,255,.9);border-color:#9ddeffe6}.waw-alert.waw-alert-color-green{background:rgba(166,239,184,.9);border-color:#a6efb8e6}.waw-alert.slideIn,.waw-alert .slideIn{animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both}.waw-alert.bounceInLeft{animation:iziT-bounceInLeft .7s ease-in-out both}.waw-alert.bounceInRight{animation:iziT-bounceInRight .85s ease-in-out both}.waw-alert.bounceInDown{animation:iziT-bounceInDown .7s ease-in-out both}.waw-alert.bounceInUp{animation:iziT-bounceInUp .7s ease-in-out both}.height{height:auto!important}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AlertComponent, decorators: [{
44
+ AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AlertComponent, deps: [{ token: i0.ElementRef }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Component });
45
+ AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: AlertComponent, selector: "alert", viewQueries: [{ propertyName: "alert", first: true, predicate: ["alert"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"class\" class=\"waw-alert-container height\" [class._close]=\"delete_animation\">\n\t<div [class.waw-alert-color-blue]=\"type=='info'\" [class.waw-alert-color-red]=\"type=='error'\" [class.waw-alert-color-green]=\"type=='success'\" [class.waw-alert-color-orange]=\"type=='warning'\" [class.waw-alert-color-yellow]=\"type=='question'\" class=\"waw-alert bounceInUp waw-alert-theme-light waw-alert-animateInside waw-alert-opened\" #alert>\n\t\t<div class=\"waw-alert__progress\" *ngIf=\"progress\"><span [ngStyle]=\"{'animation-duration': (timeout+350)/1000+'s'}\"></span></div>\n\t\t<div class=\"waw-alert-body\">\n\t\t\t<div *ngIf=\"!component\" class=\"waw-alert-texts\">\n\t\t\t\t<div *ngIf=\"icon\" class=\"{{icon}}\"></div>\n\t\t\t\t<div class=\"waw-alert-message slideIn\">{{text.slice(0, 50)}}</div>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!component&&type=='question'\">\n\t\t\t\t<button class=\"alert-btn\" *ngFor=\"let b of buttons\" (click)=\"remove(); b.callback&&b.callback();\">{{b.text}}</button>\n\t\t\t</div>\n\t\t\t<div class=\"waw-alert__close\" *ngIf=\"closable\" (click)=\"remove()\"></div>\n\t\t</div>\n\t</div>\n</div>\n", styles: ["@keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes iziT-fadeInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes iziT-fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes iziT-bounceInLeft{0%{opacity:0;transform:translate(280px)}50%{opacity:1;transform:translate(-20px)}70%{transform:translate(10px)}to{transform:translate(0)}}@keyframes iziT-bounceInDown{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}.alert-wrapper{position:fixed;bottom:50px;left:0;width:100%;height:60px;overflow:hidden}.alert{display:flex;align-items:center;width:auto;background:#3aed92;color:#fff;max-width:700px;margin:0 auto;transform:translateY(300px) scale(0);transition:.3s all ease-in-out}.alert._show{transform:translateY(0) scale(1);transition:.3s all ease-in-out}.alert-icon{min-width:60px;min-height:60px;position:relative;display:flex;justify-content:center;align-items:center;background-color:#2bd17d}.alert-icon:before{content:\"\";position:absolute;width:25px;height:25px;border-radius:50%;border:2px solid #fff}.alert-icon:after{content:\"\";position:absolute;top:22px;width:7px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.alert-text{padding:0 20px;word-break:break-all;overflow:auto;height:60px}.alert-text .text-block{width:99%}.alert-text .text-block__text{text-overflow:ellipsis;overflow:hidden;white-space:pre}.alert-close{min-width:50px;margin-left:auto;font-size:25px;display:flex;justify-content:center;align-items:center}.font-bold{font-weight:bold}.waw-alert__progress{bottom:0px;position:absolute;width:100%;margin-bottom:0;border-radius:50px}.waw-alert__progress:hover span{animation-play-state:paused}.waw-alert__progress span{display:block;width:100%;height:2px;background-color:#a5a5a5ed;animation-name:waw-alert-progress;animation-duration:10s;border-radius:50px}.waw-alert__progress span._red{background-color:#ffafb4}.waw-alert__progress span._green{background-color:#a6efb8}.waw-alert__progress span._yellow{background-color:#fff9b2}.waw-alert__progress span._orange,.waw-alert__progress span._blue{background-color:#ffcfa5}.waw-alert__progress span._white{background-color:#fff}.waw-alert__progress span._black{background-color:#000}.waw-alert:hover .waw-alert__progress>span{animation-play-state:paused}.waw-alert__close{width:15px;height:15px;opacity:.3;position:relative;order:2}.waw-alert__close:hover{opacity:1}.waw-alert__close:before,.waw-alert__close:after{cursor:pointer;position:absolute;left:15px;content:\" \";height:12px;width:2px;background-color:#47525d}.waw-alert__close:before{transform:rotate(45deg)}.waw-alert__close:after{transform:rotate(-45deg)}@keyframes waw-alert-progress{0%{width:100%}to{width:0%}}.waw-alert-container{font-size:0;height:100px;width:100%;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:.3s all ease-in-out;opacity:1}.waw-alert-container._close{opacity:0;transition:.3s all ease-in-out}.waw-alert{display:inline-block;clear:both;position:relative;font-family:\"Lato\",Tahoma,Arial;font-size:14px;padding:8px 25px 9px 0;background:rgba(238,238,238,.9);border-color:#eeeeeee6;width:100%;pointer-events:all;cursor:default;transform:translate(0);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-height:54px}.waw-alert>.waw-alert-progressbar{position:absolute;left:0;bottom:0;width:100%;z-index:1;background:rgba(255,255,255,.2)}.waw-alert>.waw-alert-progressbar>div{height:2px;width:100%;background:rgba(0,0,0,.3);border-radius:0 0 3px 3px}.waw-alert>.waw-alert-close{position:absolute;right:0;top:0;border:0;padding:0;opacity:.6;width:42px;height:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJPAAACTwBcGfW0QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD3SURBVFiF1ZdtDoMgDEBfdi4PwAX8vLFn0qT7wxantojKupmQmCi8R4tSACpgjC2ICCUbEBa8ingjsU1AXRBeR8aLN64FiknswN8CYefBBDQ3whuFESy7WyQMeC0ipEI0A+0FeBvHUFN8xPaUhAH/iKoWsnXHGegy4J0yxialOfaHJAz4bhRzQzgDvdGnz4GbAonZbCQMuBm1K/kcFu8Mp1N2cFFpsxsMuJqqbIGExGl4loARajU1twskJLLhIsID7+tvUoDnIjTg5T9DPH9EBrz8rxjPzciAl9+O8SxI8CzJ8CxKFfh3ynK8Dyb8wNHM/XDqejx/AtNyPO87tNybAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:8px;cursor:pointer;outline:none}.waw-alert>.waw-alert-close:hover{opacity:1}.waw-alert>.waw-alert-body{position:relative;padding:0 0 0 10px;height:auto;min-height:36px;margin:0 0 0 15px;text-align:left;display:flex;justify-content:space-between;align-items:center}.waw-alert>.waw-alert-body:after{content:\"\";display:table;clear:both}.waw-alert>.waw-alert-body .waw-alert-texts{margin:10px 0 0;padding-right:2px;display:inline-block;float:left;display:flex;justify-content:space-between;align-items:center}.waw-alert>.waw-alert-body .waw-alert-icon{height:100%;position:absolute;left:0;top:50%;display:table;font-size:23px;line-height:24px;margin-top:-12px;color:#000;width:24px;height:24px}.waw-alert>.waw-alert-body .waw-alert-title{padding:0;margin:0 10px 0 0;line-height:16px;font-size:14px;text-align:left;float:left;color:#000;white-space:normal;font-weight:bold}.waw-alert>.waw-alert-body .waw-alert-message{padding:0;font-size:14px;line-height:16px;text-align:left;float:left;color:#0009;white-space:normal}@media only screen and (min-width: 568px){.waw-alert-wrapper{padding:10px 15px}.waw-alert{margin:5px;border-radius:3px;width:auto}.waw-alert:after{content:\"\";z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:3px;box-shadow:inset 0 -10px 20px -10px #0003,inset 0 0 5px #0000001a,0 8px 8px -5px #00000040}.waw-alert:not(.waw-alert-rtl) .waw-alert-cover{border-radius:3px 0 0 3px}.waw-alert.waw-alert-rtl .waw-alert-cover{border-radius:0 3px 3px 0}.waw-alert.waw-alert-color-dark:after{box-shadow:inset 0 -10px 20px -10px #ffffff4d,0 10px 10px -5px #00000040}.waw-alert.waw-alert-balloon .waw-alert-progressbar{background:transparent}.waw-alert.waw-alert-balloon:after{box-shadow:0 10px 10px -5px #00000040,inset 0 10px 20px -5px #00000040}.waw-alert-target .waw-alert:after{box-shadow:inset 0 -10px 20px -10px #0003,inset 0 0 5px #0000001a}}.waw-alert.waw-alert-theme-dark{background:#565c70;border-color:#565c70}.waw-alert.waw-alert-theme-dark .waw-alert-title{color:#fff}.waw-alert.waw-alert-theme-dark .waw-alert-message{color:#ffffffb3;font-weight:300}.waw-alert.waw-alert-theme-dark .waw-alert-icon{color:#fff}.waw-alert.waw-alert-color-red{background:rgba(255,175,180,.9);border-color:#ffafb4e6}.waw-alert.waw-alert-color-orange{background:rgba(255,207,165,.9);border-color:#ffcfa5e6}.waw-alert.waw-alert-color-yellow{background:rgba(255,249,178,.9);border-color:#fff9b2e6}.waw-alert.waw-alert-color-blue{background:rgba(157,222,255,.9);border-color:#9ddeffe6}.waw-alert.waw-alert-color-green{background:rgba(166,239,184,.9);border-color:#a6efb8e6}.waw-alert.slideIn,.waw-alert .slideIn{animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both}.waw-alert.bounceInLeft{animation:iziT-bounceInLeft .7s ease-in-out both}.waw-alert.bounceInRight{animation:iziT-bounceInRight .85s ease-in-out both}.waw-alert.bounceInDown{animation:iziT-bounceInDown .7s ease-in-out both}.waw-alert.bounceInUp{animation:iziT-bounceInUp .7s ease-in-out both}.height{height:auto!important}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AlertComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'alert', template: "<div [ngClass]=\"class\" class=\"waw-alert-container height\" [class._close]=\"delete_animation\">\n\t<div [class.waw-alert-color-blue]=\"type=='info'\" [class.waw-alert-color-red]=\"type=='error'\" [class.waw-alert-color-green]=\"type=='success'\" [class.waw-alert-color-orange]=\"type=='warning'\" [class.waw-alert-color-yellow]=\"type=='question'\" class=\"waw-alert bounceInUp waw-alert-theme-light waw-alert-animateInside waw-alert-opened\" #alert>\n\t\t<div class=\"waw-alert__progress\" *ngIf=\"progress\"><span [ngStyle]=\"{'animation-duration': (timeout+350)/1000+'s'}\"></span></div>\n\t\t<div class=\"waw-alert-body\">\n\t\t\t<div *ngIf=\"!component\" class=\"waw-alert-texts\">\n\t\t\t\t<div *ngIf=\"icon\" class=\"{{icon}}\"></div>\n\t\t\t\t<div class=\"waw-alert-message slideIn\">{{text.slice(0, 50)}}</div>\n\t\t\t</div>\n\t\t\t<div *ngIf=\"!component&&type=='question'\">\n\t\t\t\t<button class=\"alert-btn\" *ngFor=\"let b of buttons\" (click)=\"remove(); b.callback&&b.callback();\">{{b.text}}</button>\n\t\t\t</div>\n\t\t\t<div class=\"waw-alert__close\" *ngIf=\"closable\" (click)=\"remove()\"></div>\n\t\t</div>\n\t</div>\n</div>\n", styles: ["@keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes iziT-fadeInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes iziT-fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}@keyframes iziT-bounceInLeft{0%{opacity:0;transform:translate(280px)}50%{opacity:1;transform:translate(-20px)}70%{transform:translate(10px)}to{transform:translate(0)}}@keyframes iziT-bounceInDown{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}.alert-wrapper{position:fixed;bottom:50px;left:0;width:100%;height:60px;overflow:hidden}.alert{display:flex;align-items:center;width:auto;background:#3aed92;color:#fff;max-width:700px;margin:0 auto;transform:translateY(300px) scale(0);transition:.3s all ease-in-out}.alert._show{transform:translateY(0) scale(1);transition:.3s all ease-in-out}.alert-icon{min-width:60px;min-height:60px;position:relative;display:flex;justify-content:center;align-items:center;background-color:#2bd17d}.alert-icon:before{content:\"\";position:absolute;width:25px;height:25px;border-radius:50%;border:2px solid #fff}.alert-icon:after{content:\"\";position:absolute;top:22px;width:7px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.alert-text{padding:0 20px;word-break:break-all;overflow:auto;height:60px}.alert-text .text-block{width:99%}.alert-text .text-block__text{text-overflow:ellipsis;overflow:hidden;white-space:pre}.alert-close{min-width:50px;margin-left:auto;font-size:25px;display:flex;justify-content:center;align-items:center}.font-bold{font-weight:bold}.waw-alert__progress{bottom:0px;position:absolute;width:100%;margin-bottom:0;border-radius:50px}.waw-alert__progress:hover span{animation-play-state:paused}.waw-alert__progress span{display:block;width:100%;height:2px;background-color:#a5a5a5ed;animation-name:waw-alert-progress;animation-duration:10s;border-radius:50px}.waw-alert__progress span._red{background-color:#ffafb4}.waw-alert__progress span._green{background-color:#a6efb8}.waw-alert__progress span._yellow{background-color:#fff9b2}.waw-alert__progress span._orange,.waw-alert__progress span._blue{background-color:#ffcfa5}.waw-alert__progress span._white{background-color:#fff}.waw-alert__progress span._black{background-color:#000}.waw-alert:hover .waw-alert__progress>span{animation-play-state:paused}.waw-alert__close{width:15px;height:15px;opacity:.3;position:relative;order:2}.waw-alert__close:hover{opacity:1}.waw-alert__close:before,.waw-alert__close:after{cursor:pointer;position:absolute;left:15px;content:\" \";height:12px;width:2px;background-color:#47525d}.waw-alert__close:before{transform:rotate(45deg)}.waw-alert__close:after{transform:rotate(-45deg)}@keyframes waw-alert-progress{0%{width:100%}to{width:0%}}.waw-alert-container{font-size:0;height:100px;width:100%;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:.3s all ease-in-out;opacity:1}.waw-alert-container._close{opacity:0;transition:.3s all ease-in-out}.waw-alert{display:inline-block;clear:both;position:relative;font-family:\"Lato\",Tahoma,Arial;font-size:14px;padding:8px 25px 9px 0;background:rgba(238,238,238,.9);border-color:#eeeeeee6;width:100%;pointer-events:all;cursor:default;transform:translate(0);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;min-height:54px}.waw-alert>.waw-alert-progressbar{position:absolute;left:0;bottom:0;width:100%;z-index:1;background:rgba(255,255,255,.2)}.waw-alert>.waw-alert-progressbar>div{height:2px;width:100%;background:rgba(0,0,0,.3);border-radius:0 0 3px 3px}.waw-alert>.waw-alert-close{position:absolute;right:0;top:0;border:0;padding:0;opacity:.6;width:42px;height:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJPAAACTwBcGfW0QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD3SURBVFiF1ZdtDoMgDEBfdi4PwAX8vLFn0qT7wxantojKupmQmCi8R4tSACpgjC2ICCUbEBa8ingjsU1AXRBeR8aLN64FiknswN8CYefBBDQ3whuFESy7WyQMeC0ipEI0A+0FeBvHUFN8xPaUhAH/iKoWsnXHGegy4J0yxialOfaHJAz4bhRzQzgDvdGnz4GbAonZbCQMuBm1K/kcFu8Mp1N2cFFpsxsMuJqqbIGExGl4loARajU1twskJLLhIsID7+tvUoDnIjTg5T9DPH9EBrz8rxjPzciAl9+O8SxI8CzJ8CxKFfh3ynK8Dyb8wNHM/XDqejx/AtNyPO87tNybAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:8px;cursor:pointer;outline:none}.waw-alert>.waw-alert-close:hover{opacity:1}.waw-alert>.waw-alert-body{position:relative;padding:0 0 0 10px;height:auto;min-height:36px;margin:0 0 0 15px;text-align:left;display:flex;justify-content:space-between;align-items:center}.waw-alert>.waw-alert-body:after{content:\"\";display:table;clear:both}.waw-alert>.waw-alert-body .waw-alert-texts{margin:10px 0 0;padding-right:2px;display:inline-block;float:left;display:flex;justify-content:space-between;align-items:center}.waw-alert>.waw-alert-body .waw-alert-icon{height:100%;position:absolute;left:0;top:50%;display:table;font-size:23px;line-height:24px;margin-top:-12px;color:#000;width:24px;height:24px}.waw-alert>.waw-alert-body .waw-alert-title{padding:0;margin:0 10px 0 0;line-height:16px;font-size:14px;text-align:left;float:left;color:#000;white-space:normal;font-weight:bold}.waw-alert>.waw-alert-body .waw-alert-message{padding:0;font-size:14px;line-height:16px;text-align:left;float:left;color:#0009;white-space:normal}@media only screen and (min-width: 568px){.waw-alert-wrapper{padding:10px 15px}.waw-alert{margin:5px;border-radius:3px;width:auto}.waw-alert:after{content:\"\";z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:3px;box-shadow:inset 0 -10px 20px -10px #0003,inset 0 0 5px #0000001a,0 8px 8px -5px #00000040}.waw-alert:not(.waw-alert-rtl) .waw-alert-cover{border-radius:3px 0 0 3px}.waw-alert.waw-alert-rtl .waw-alert-cover{border-radius:0 3px 3px 0}.waw-alert.waw-alert-color-dark:after{box-shadow:inset 0 -10px 20px -10px #ffffff4d,0 10px 10px -5px #00000040}.waw-alert.waw-alert-balloon .waw-alert-progressbar{background:transparent}.waw-alert.waw-alert-balloon:after{box-shadow:0 10px 10px -5px #00000040,inset 0 10px 20px -5px #00000040}.waw-alert-target .waw-alert:after{box-shadow:inset 0 -10px 20px -10px #0003,inset 0 0 5px #0000001a}}.waw-alert.waw-alert-theme-dark{background:#565c70;border-color:#565c70}.waw-alert.waw-alert-theme-dark .waw-alert-title{color:#fff}.waw-alert.waw-alert-theme-dark .waw-alert-message{color:#ffffffb3;font-weight:300}.waw-alert.waw-alert-theme-dark .waw-alert-icon{color:#fff}.waw-alert.waw-alert-color-red{background:rgba(255,175,180,.9);border-color:#ffafb4e6}.waw-alert.waw-alert-color-orange{background:rgba(255,207,165,.9);border-color:#ffcfa5e6}.waw-alert.waw-alert-color-yellow{background:rgba(255,249,178,.9);border-color:#fff9b2e6}.waw-alert.waw-alert-color-blue{background:rgba(157,222,255,.9);border-color:#9ddeffe6}.waw-alert.waw-alert-color-green{background:rgba(166,239,184,.9);border-color:#a6efb8e6}.waw-alert.slideIn,.waw-alert .slideIn{animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both}.waw-alert.bounceInLeft{animation:iziT-bounceInLeft .7s ease-in-out both}.waw-alert.bounceInRight{animation:iziT-bounceInRight .85s ease-in-out both}.waw-alert.bounceInDown{animation:iziT-bounceInDown .7s ease-in-out both}.waw-alert.bounceInUp{animation:iziT-bounceInUp .7s ease-in-out both}.height{height:auto!important}\n"] }]
49
49
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.CoreService }]; }, propDecorators: { alert: [{
@@ -3,9 +3,9 @@ import * as i0 from "@angular/core";
3
3
  export class WrapperComponent {
4
4
  constructor() { }
5
5
  }
6
- WrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: WrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- WrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: WrapperComponent, selector: "lib-wrapper", ngImport: i0, template: "<div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomRight\" id=\"bottomRight\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomLeft\" id=\"bottomLeft\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topRight\" id=\"topRight\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topLeft\" id=\"topLeft\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topCenter\" id=\"topCenter\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomCenter\" id=\"bottomCenter\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-center\" id=\"center\"></div>\n\n\n\t<!-- [bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter or center] -->\n</div>\n\n", styles: [".waw-alert-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.waw-alert-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.waw-alert-wrapper-bottomRight{right:0;bottom:0;text-align:right}.waw-alert-wrapper-topLeft{left:0;top:0;text-align:left}.waw-alert-wrapper-topRight{top:0;right:0;text-align:right}.waw-alert-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.waw-alert-wrapper-bottomCenter{bottom:0;left:0;right:0;text-align:center}.waw-alert-wrapper-center{top:0;bottom:0;left:0;right:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}\n"] });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: WrapperComponent, decorators: [{
6
+ WrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: WrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ WrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: WrapperComponent, selector: "lib-wrapper", ngImport: i0, template: "<div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomRight\" id=\"bottomRight\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomLeft\" id=\"bottomLeft\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topRight\" id=\"topRight\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topLeft\" id=\"topLeft\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topCenter\" id=\"topCenter\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomCenter\" id=\"bottomCenter\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-center\" id=\"center\"></div>\n\n\n\t<!-- [bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter or center] -->\n</div>\n\n", styles: [".waw-alert-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.waw-alert-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.waw-alert-wrapper-bottomRight{right:0;bottom:0;text-align:right}.waw-alert-wrapper-topLeft{left:0;top:0;text-align:left}.waw-alert-wrapper-topRight{top:0;right:0;text-align:right}.waw-alert-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.waw-alert-wrapper-bottomCenter{bottom:0;left:0;right:0;text-align:center}.waw-alert-wrapper-center{top:0;bottom:0;left:0;right:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}\n"] });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: WrapperComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'lib-wrapper', template: "<div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomRight\" id=\"bottomRight\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomLeft\" id=\"bottomLeft\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topRight\" id=\"topRight\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topLeft\" id=\"topLeft\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-topCenter\" id=\"topCenter\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-bottomCenter\" id=\"bottomCenter\"></div>\n\t<div class=\"waw-alert-wrapper waw-alert-wrapper-center\" id=\"center\"></div>\n\n\n\t<!-- [bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter or center] -->\n</div>\n\n", styles: [".waw-alert-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.waw-alert-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.waw-alert-wrapper-bottomRight{right:0;bottom:0;text-align:right}.waw-alert-wrapper-topLeft{left:0;top:0;text-align:left}.waw-alert-wrapper-topRight{top:0;right:0;text-align:right}.waw-alert-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.waw-alert-wrapper-bottomCenter{bottom:0;left:0;right:0;text-align:center}.waw-alert-wrapper-center{top:0;bottom:0;left:0;right:0;text-align:center;justify-content:center;flex-flow:column;align-items:center}\n"] }]
11
11
  }], ctorParameters: function () { return []; } });
@@ -4,9 +4,9 @@ import * as i1 from "@angular/common";
4
4
  export class FilesComponent {
5
5
  constructor() { }
6
6
  }
7
- FilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- FilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: FilesComponent, selector: "lib-files", ngImport: i0, template: "<ng-container *ngFor=\"let file of fs.files\">\n\t<input [id]=\"file.id\" type=\"file\" name=\"file\" (change)=\"fs.change($event, file); input.value='';\" #input [hidden]=\"true\" [accept]=\"(file.accept) || (file.part && 'image/*') || ''\" [multiple]=\"file.multiple && true || ''\">\n</ng-container>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FilesComponent, decorators: [{
7
+ FilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FilesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ FilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: FilesComponent, selector: "lib-files", ngImport: i0, template: "<ng-container *ngFor=\"let file of fs.files\">\n\t<input [id]=\"file.id\" type=\"file\" name=\"file\" (change)=\"fs.change($event, file); input.value='';\" #input [hidden]=\"true\" [accept]=\"(file.accept) || (file.part && 'image/*') || ''\" [multiple]=\"file.multiple && true || ''\">\n</ng-container>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FilesComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'lib-files', template: "<ng-container *ngFor=\"let file of fs.files\">\n\t<input [id]=\"file.id\" type=\"file\" name=\"file\" (change)=\"fs.change($event, file); input.value='';\" #input [hidden]=\"true\" [accept]=\"(file.accept) || (file.part && 'image/*') || ''\" [multiple]=\"file.multiple && true || ''\">\n</ng-container>", styles: [""] }]
12
12
  }], ctorParameters: function () { return []; } });
@@ -17,9 +17,9 @@ export class LoaderComponent {
17
17
  }
18
18
  }
19
19
  }
20
- LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: LoaderComponent, selector: "lib-loader", viewQueries: [{ propertyName: "loader", first: true, predicate: ["loader"], descendants: true }], ngImport: i0, template: "<div style=\"position: fixed; width: 100%; height: 100%; left: 0; top: 0; background-color: #334d6e; display: flex; justify-content: center; align-items: center; z-index: 999999;\" #loader>\n\t<span class=\"close\" (click)=\"close()\" *ngIf=\"closable\">&times;</span>\n\t<span style=\"font-size: 30px; color: white;\">\n\t\t{{text}}\n\t</span>\n</div>", styles: [".close{color:#aaa;position:absolute;right:20px;top:20px;font-size:32px;line-height:1}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LoaderComponent, decorators: [{
20
+ LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: LoaderComponent, selector: "lib-loader", viewQueries: [{ propertyName: "loader", first: true, predicate: ["loader"], descendants: true }], ngImport: i0, template: "<div style=\"position: fixed; width: 100%; height: 100%; left: 0; top: 0; background-color: #334d6e; display: flex; justify-content: center; align-items: center; z-index: 999999;\" #loader>\n\t<span class=\"close\" (click)=\"close()\" *ngIf=\"closable\">&times;</span>\n\t<span style=\"font-size: 30px; color: white;\">\n\t\t{{text}}\n\t</span>\n</div>", styles: [".close{color:#aaa;position:absolute;right:20px;top:20px;font-size:32px;line-height:1}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: LoaderComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'lib-loader', template: "<div style=\"position: fixed; width: 100%; height: 100%; left: 0; top: 0; background-color: #334d6e; display: flex; justify-content: center; align-items: center; z-index: 999999;\" #loader>\n\t<span class=\"close\" (click)=\"close()\" *ngIf=\"closable\">&times;</span>\n\t<span style=\"font-size: 30px; color: white;\">\n\t\t{{text}}\n\t</span>\n</div>", styles: [".close{color:#aaa;position:absolute;right:20px;top:20px;font-size:32px;line-height:1}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"] }]
25
25
  }], ctorParameters: function () { return []; }, propDecorators: { loader: [{
@@ -21,9 +21,9 @@ export class ModalComponent {
21
21
  }, this.timestart || 0);
22
22
  }
23
23
  }
24
- ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: ModalComponent, selector: "lib-modal", ngImport: i0, template: "<div [hidden]=\"!showModal\" class=\"modal\" [ngClass]=\"class+' '+size\" (click)=\"onClickOutside();\">\n\t<div class=\"modal-content\" (click)=\"$event.stopPropagation();\">\n\t\t<div><!-- Content Will Drop Here --></div>\n\t\t<span class=\"close\" (click)=\"close()\" *ngIf=\"closable\">&times;</span>\n\t</div>\n</div>", styles: [".modal{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:#000;background-color:#00000080}.modal-content{position:relative;background-color:#fff;margin:15% auto;padding:20px;border:1px solid #888;min-width:20%;max-width:80%}.close{color:#aaa;position:absolute;right:10px;top:3px;font-size:32px;line-height:1}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ModalComponent, decorators: [{
24
+ ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ModalComponent, selector: "lib-modal", ngImport: i0, template: "<div [hidden]=\"!showModal\" class=\"modal\" [ngClass]=\"class+' '+size\" (click)=\"onClickOutside();\">\n\t<div class=\"modal-content\" (click)=\"$event.stopPropagation();\">\n\t\t<div><!-- Content Will Drop Here --></div>\n\t\t<span class=\"close\" (click)=\"close()\" *ngIf=\"closable\">&times;</span>\n\t</div>\n</div>", styles: [".modal{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:#000;background-color:#00000080}.modal-content{position:relative;background-color:#fff;margin:15% auto;padding:20px;border:1px solid #888;min-width:20%;max-width:80%}.close{color:#aaa;position:absolute;right:10px;top:3px;font-size:32px;line-height:1}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ModalComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'lib-modal', template: "<div [hidden]=\"!showModal\" class=\"modal\" [ngClass]=\"class+' '+size\" (click)=\"onClickOutside();\">\n\t<div class=\"modal-content\" (click)=\"$event.stopPropagation();\">\n\t\t<div><!-- Content Will Drop Here --></div>\n\t\t<span class=\"close\" (click)=\"close()\" *ngIf=\"closable\">&times;</span>\n\t</div>\n</div>", styles: [".modal{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:#000;background-color:#00000080}.modal-content{position:relative;background-color:#fff;margin:15% auto;padding:20px;border:1px solid #888;min-width:20%;max-width:80%}.close{color:#aaa;position:absolute;right:10px;top:3px;font-size:32px;line-height:1}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"] }]
29
29
  }], ctorParameters: function () { return []; } });
@@ -150,10 +150,10 @@ export class ClickOutsideDirective {
150
150
  });
151
151
  }
152
152
  }
153
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.CoreService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
154
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0 });
155
- ClickOutsideDirective.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickOutsideDirective });
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
153
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.CoreService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
154
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0 });
155
+ ClickOutsideDirective.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ClickOutsideDirective });
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ClickOutsideDirective, decorators: [{
157
157
  type: Injectable
158
158
  }, {
159
159
  type: Directive,
@@ -37,9 +37,9 @@ export class MetaGuard {
37
37
  }
38
38
  }
39
39
  MetaGuard.IDENTIFIER = 'MetaGuard';
40
- MetaGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MetaGuard, deps: [{ token: i1.MetaService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
41
- MetaGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MetaGuard });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MetaGuard, decorators: [{
40
+ MetaGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MetaGuard, deps: [{ token: i1.MetaService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ MetaGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MetaGuard });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MetaGuard, decorators: [{
43
43
  type: Injectable
44
44
  }], ctorParameters: function () { return [{ type: i1.MetaService }, { type: undefined, decorators: [{
45
45
  type: Inject,
@@ -33,9 +33,9 @@ export class ArrPipe {
33
33
  return arr;
34
34
  }
35
35
  }
36
- ArrPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ArrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
- ArrPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ArrPipe, name: "arr" });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ArrPipe, decorators: [{
36
+ ArrPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ArrPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
+ ArrPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ArrPipe, name: "arr" });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ArrPipe, decorators: [{
39
39
  type: Pipe,
40
40
  args: [{
41
41
  name: 'arr'
@@ -8,9 +8,9 @@ export class MongodatePipe {
8
8
  return new Date(parseInt(timestamp, 16) * 1000);
9
9
  }
10
10
  }
11
- MongodatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MongodatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
- MongodatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MongodatePipe, name: "mongodate" });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MongodatePipe, decorators: [{
11
+ MongodatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MongodatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
+ MongodatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MongodatePipe, name: "mongodate" });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MongodatePipe, decorators: [{
14
14
  type: Pipe,
15
15
  args: [{
16
16
  name: 'mongodate'
@@ -23,9 +23,9 @@ export class PaginationPipe {
23
23
  ;
24
24
  }
25
25
  }
26
- PaginationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PaginationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
- PaginationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PaginationPipe, name: "page", pure: false });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: PaginationPipe, decorators: [{
26
+ PaginationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PaginationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
+ PaginationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PaginationPipe, name: "page", pure: false });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: PaginationPipe, decorators: [{
29
29
  type: Pipe,
30
30
  args: [{
31
31
  name: 'page',
@@ -9,9 +9,9 @@ export class SafePipe {
9
9
  return this.sanitizer.bypassSecurityTrustResourceUrl(html);
10
10
  }
11
11
  }
12
- SafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
- SafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SafePipe, name: "safe" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SafePipe, decorators: [{
12
+ SafePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ SafePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SafePipe, name: "safe" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SafePipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{ name: 'safe' }]
17
17
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
@@ -98,9 +98,9 @@ export class SearchPipe {
98
98
  return _arr;
99
99
  }
100
100
  }
101
- SearchPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
102
- SearchPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SearchPipe, name: "search" });
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SearchPipe, decorators: [{
101
+ SearchPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
102
+ SearchPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SearchPipe, name: "search" });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SearchPipe, decorators: [{
104
104
  type: Pipe,
105
105
  args: [{
106
106
  name: 'search'
@@ -56,9 +56,9 @@ export class SplicePipe {
56
56
  return arr;
57
57
  }
58
58
  }
59
- SplicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SplicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
60
- SplicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SplicePipe, name: "splice" });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: SplicePipe, decorators: [{
59
+ SplicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SplicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
60
+ SplicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SplicePipe, name: "splice" });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SplicePipe, decorators: [{
62
62
  type: Pipe,
63
63
  args: [{
64
64
  name: 'splice'
@@ -111,9 +111,9 @@ export class AlertService {
111
111
  this.core.document.getElementById("center").innerHTML = "";
112
112
  }
113
113
  }
114
- AlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AlertService, deps: [{ token: i1.DomService }, { token: i2.CoreService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
115
- AlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AlertService, providedIn: 'root' });
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: AlertService, decorators: [{
114
+ AlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AlertService, deps: [{ token: i1.DomService }, { token: i2.CoreService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
115
+ AlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AlertService, providedIn: 'root' });
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AlertService, decorators: [{
117
117
  type: Injectable,
118
118
  args: [{
119
119
  providedIn: 'root'
@@ -8,9 +8,9 @@ export class BaseService {
8
8
  };
9
9
  }
10
10
  }
11
- BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
- BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BaseService, providedIn: 'root' });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BaseService, decorators: [{
11
+ BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
+ BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BaseService, providedIn: 'root' });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BaseService, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{
16
16
  providedIn: 'root'
@@ -13,6 +13,7 @@ export class CoreService {
13
13
  // On Done
14
14
  this.done_next = {};
15
15
  this.locked = {};
16
+ console.log(this.ids2id('a', 'b'));
16
17
  if (isPlatformServer(this.platformId)) {
17
18
  this.localStorage = {
18
19
  getItem: () => { },
@@ -109,6 +110,15 @@ export class CoreService {
109
110
  /*
110
111
  * Supportive
111
112
  */
113
+ ids2id(...args) {
114
+ args.sort((a, b) => {
115
+ if (Number(a.toString().substring(0, 8)) > Number(b.toString().substring(0, 8))) {
116
+ return 1;
117
+ }
118
+ return -1;
119
+ });
120
+ return args.join();
121
+ }
112
122
  parallel(arr, callback) {
113
123
  let counter = arr.length;
114
124
  if (counter === 0)
@@ -275,9 +285,9 @@ export class CoreService {
275
285
  });
276
286
  }
277
287
  }
278
- CoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CoreService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
279
- CoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CoreService, providedIn: 'root' });
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CoreService, decorators: [{
288
+ CoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CoreService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
289
+ CoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CoreService, providedIn: 'root' });
290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CoreService, decorators: [{
281
291
  type: Injectable,
282
292
  args: [{
283
293
  providedIn: 'root'
@@ -286,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
286
296
  type: Inject,
287
297
  args: [PLATFORM_ID]
288
298
  }] }]; } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sV0FBVztJQU12QixtQ0FBbUM7SUFDbkMsWUFBeUMsVUFBa0I7UUFBbEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQU5wRCxRQUFHLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBeUt0QyxnQkFBVyxHQUFPLEVBQUUsQ0FBQztRQWU3QixTQUFTO1FBQ0QsT0FBRSxHQUFPLEVBQUUsQ0FBQztRQVNaLFNBQUksR0FBTyxFQUFFLENBQUM7UUFZdEIsVUFBVTtRQUNGLGNBQVMsR0FBTyxFQUFFLENBQUM7UUFnQm5CLFdBQU0sR0FBTyxFQUFFLENBQUM7UUF4TnhCLElBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFDO1lBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ25CLE9BQU8sRUFBQyxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUNkLE9BQU8sRUFBQyxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUNkLFVBQVUsRUFBQyxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUNqQixLQUFLLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQzthQUNaLENBQUM7WUFBQSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDZixnQkFBZ0IsRUFBRSxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUN4QixnQkFBZ0IsRUFBRSxHQUFFLEVBQUUsR0FBQyxDQUFDO2dCQUN4QixtQkFBbUIs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O2lCQUNsQjs7MEJBUWEsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyByZXRyeVdoZW4gfSBmcm9tICdyeGpzJztcbmRlY2xhcmUgdmFyIGNvcmRvdmE6YW55O1xuQEluamVjdGFibGUoe1xuXHRwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29yZVNlcnZpY2Uge1xuXHRwdWJsaWMgc3NyID0gaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpO1xuXHRwdWJsaWMgbG9jYWxTdG9yYWdlOmFueTsgLy8gPSBsb2NhbFN0b3JhZ2U7XG5cdHB1YmxpYyBkb2N1bWVudDphbnk7IC8vID0gZG9jdW1lbnQ7XG5cdHB1YmxpYyB3aW5kb3c6YW55OyAvLyA9IHdpbmRvdztcblx0cHVibGljIG5hdmlnYXRvcjphbnk7IC8vID0gbmF2aWdhdG9yO1xuXHQvL3B1YmxpYyBjb3Jkb3ZhOmFueTsgLy8gPSBjb3Jkb3ZhO1xuXHRjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6Ym9vbGVhbikge1xuXHRcdGlmKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSl7XG5cdFx0XHR0aGlzLmxvY2FsU3RvcmFnZSA9IHtcblx0XHRcdFx0Z2V0SXRlbTooKT0+e30sXG5cdFx0XHRcdHNldEl0ZW06KCk9Pnt9LFxuXHRcdFx0XHRyZW1vdmVJdGVtOigpPT57fSxcblx0XHRcdFx0Y2xlYXI6KCk9Pnt9XG5cdFx0XHR9Oztcblx0XHRcdHRoaXMuZG9jdW1lbnQgPSB7XG5cdFx0XHRcdHF1ZXJ5U2VsZWN0b3JBbGw6ICgpPT57fSxcblx0XHRcdFx0YWRkRXZlbnRMaXN0ZW5lcjogKCk9Pnt9LFxuXHRcdFx0XHRyZW1vdmVFdmVudExpc3RlbmVyOiAoKT0+e30sXG5cdFx0XHRcdGRvY3VtZW50RWxlbWVudDoge30sXG5cdFx0XHRcdGJvZHk6IHt9LFxuXHRcdFx0fTs7XG5cdFx0XHR0aGlzLndpbmRvdyA9IHtcblx0XHRcdFx0bG9jYXRpb246IHtcblx0XHRcdFx0XHRob3N0OiAnJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRhZGRFdmVudExpc3RlbmVyOiAoKT0+e30sXG5cdFx0XHRcdHJlbW92ZUV2ZW50TGlzdGVuZXI6ICgpPT57fSxcblx0XHRcdFx0c2V0VGltZW91dDogKCk9Pnt9XG5cdFx0XHR9Oztcblx0XHRcdHRoaXMubmF2aWdhdG9yID0ge1xuXHRcdFx0XHR1c2VyQWdlbnQ6ICcnLFxuXHRcdFx0XHRwbGF0Zm9ybTogJydcblx0XHRcdH07XG5cdFx0fWVsc2V7XG5cdFx0XHR0aGlzLmxvY2FsU3RvcmFnZSA9IGxvY2FsU3RvcmFnZTtcblx0XHRcdHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcblx0XHRcdHRoaXMud2luZG93ID0gd2luZG93O1xuXHRcdFx0dGhpcy5uYXZpZ2F0b3IgPSBuYXZpZ2F0b3I7XG5cdFx0fVxuXHRcdHRoaXMuaG9zdCA9IHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3QudG9Mb3dlckNhc2UoKTtcblx0XHR2YXIgdXNlckFnZW50ID0gdGhpcy5uYXZpZ2F0b3IudXNlckFnZW50IHx8IHRoaXMubmF2aWdhdG9yLnZlbmRvciB8fCB0aGlzLndpbmRvdy5vcGVyYTtcblx0XHRpZiAoL3dpbmRvd3MgcGhvbmUvaS50ZXN0KHVzZXJBZ2VudCkpIHtcblx0XHRcdHRoaXMuZGV2aWNlID0gXCJ3aW5kb3dzXCI7XG5cdFx0fWVsc2UgaWYgKC9hbmRyb2lkL2kudGVzdCh1c2VyQWdlbnQpKSB7XG5cdFx0XHR0aGlzLmRldmljZSA9IFwiYW5kcm9pZFwiO1xuXHRcdH1lbHNlIGlmICh0aGlzLmlvcygpKSB7XG5cdFx0XHR0aGlzLmRldmljZSA9IFwiaW9zXCI7XG5cdFx0fWVsc2UgdGhpcy5kZXZpY2UgPSBcIndlYlwiO1xuXHRcdHRoaXMuc2V0X3ZlcnNpb24oKTtcblx0fVxuXHRwdWJsaWMgaG9zdDphbnk7XG5cdHB1YmxpYyBkZXZpY2U6YW55O1xuXHRwdWJsaWMgdmVyc2lvbjphbnk7XG5cdHB1YmxpYyBzZXRfdmVyc2lvbih2ZXJzaW9uPScxLjAuMCcpe1xuXHRcdHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG5cdFx0dGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VyZWFkeScsICgpID0+IHtcblx0XHRcdHRoaXMuZG9uZSgnbW9iaWxlJyk7XG5cdFx0XHRpZighY29yZG92YS5nZXRBcHBWZXJzaW9uKSByZXR1cm47XG5cdFx0XHRjb3Jkb3ZhLmdldEFwcFZlcnNpb24uZ2V0VmVyc2lvbk51bWJlcigodmVyc2lvbjpzdHJpbmcpPT57XG5cdFx0XHRcdHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXHRpb3MoKSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdCdpUGFkIFNpbXVsYXRvcicsXG5cdFx0XHQnaVBob25lIFNpbXVsYXRvcicsXG5cdFx0XHQnaVBvZCBTaW11bGF0b3InLFxuXHRcdFx0J2lQYWQnLFxuXHRcdFx0J2lQaG9uZScsXG5cdFx0XHQnaVBvZCdcblx0XHRdLmluY2x1ZGVzKHRoaXMubmF2aWdhdG9yLnBsYXRmb3JtKVxuXHRcdC8vIGlQYWQgb24gaU9TIDEzIGRldGVjdGlvblxuXHRcdHx8ICh0aGlzLm5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoXCJNYWNcIikgJiYgXCJvbnRvdWNoZW5kXCIgaW4gZG9jdW1lbnQpXG5cdH1cblx0Lypcblx0Klx0UGlwZXNcblx0Ki9cblx0XHRvdGEob2JqOiBhbnksIGhvbGRlcj86Ym9vbGVhbik6IGFueSB7XG5cdFx0XHRpZihBcnJheS5pc0FycmF5KG9iaikpIHJldHVybiBvYmo7XG5cdFx0XHRpZih0eXBlb2Ygb2JqICE9ICdvYmplY3QnKSByZXR1cm4gW107XG5cdFx0XHRsZXQgYXJyID0gW107XG5cdFx0XHRmb3IobGV0IGVhY2ggaW4gb2JqKXtcblx0XHRcdFx0aWYob2JqW2VhY2hdKXtcblx0XHRcdFx0XHRpZihob2xkZXIpIGFyci5wdXNoKGVhY2gpO1xuXHRcdFx0XHRcdGVsc2UgYXJyLnB1c2gob2JqW2VhY2hdKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGFycjtcblx0XHR9XG5cdC8qXG5cdCpcdFN1cHBvcnRpdmVcblx0Ki9cblx0XHRwdWJsaWMgcGFyYWxsZWwoYXJyOiBhbnlbXSwgY2FsbGJhY2s6KCk9PnZvaWQpe1xuXHRcdFx0bGV0IGNvdW50ZXIgPSBhcnIubGVuZ3RoO1xuXHRcdFx0aWYoY291bnRlcj09PTApIHJldHVybiBjYWxsYmFjaygpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0YXJyW2ldKGZ1bmN0aW9uKCl7XG5cdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHByaXZhdGUgc2VyaWFsX3Byb2Nlc3MoaTpudW1iZXIsIGFycjphbnlbXSwgY2FsbGJhY2s6KCk9PnZvaWQpe1xuXHRcdFx0aWYoaT49YXJyLmxlbmd0aCkgcmV0dXJuIGNhbGxiYWNrKCk7XG5cdFx0XHRhcnJbaV0oKCk9Pntcblx0XHRcdFx0dGhpcy5zZXJpYWxfcHJvY2VzcygrK2ksIGFyciwgY2FsbGJhY2spO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdHB1YmxpYyBzZXJpYWwoYXJyOmFueVtdLCBjYWxsYmFjazooKT0+dm9pZCl7XG5cdFx0XHR0aGlzLnNlcmlhbF9wcm9jZXNzKDAsIGFyciwgY2FsbGJhY2spO1xuXHRcdH1cblx0XHRwdWJsaWMgZWFjaChhcnJPck9iajphbnksIGZ1bmM6YW55LCBjYWxsYmFjazooKT0+dm9pZCwgaXNTZXJpYWw9ZmFsc2Upe1xuXHRcdFx0aWYodHlwZW9mIGNhbGxiYWNrID09ICdib29sZWFuJyl7XG5cdFx0XHRcdGlzU2VyaWFsID0gY2FsbGJhY2s7XG5cdFx0XHRcdGNhbGxiYWNrID0gKCk9Pnt9O1xuXHRcdFx0fVxuXHRcdFx0aWYoQXJyYXkuaXNBcnJheShhcnJPck9iaikpe1xuXHRcdFx0XHRsZXQgY291bnRlciA9IGFyck9yT2JqLmxlbmd0aDtcblx0XHRcdFx0aWYoY291bnRlcj09PTApIHJldHVybiBjYWxsYmFjaygpO1xuXHRcdFx0XHRpZihpc1NlcmlhbCl7XG5cdFx0XHRcdFx0bGV0IHNlcmlhbEFyciA9IFtdO1xuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYXJyT3JPYmoubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdHNlcmlhbEFyci5wdXNoKGZ1bmN0aW9uKG5leHQ6KCk9PnZvaWQpe1xuXHRcdFx0XHRcdFx0XHRmdW5jKGFyck9yT2JqW2ldLCBmdW5jdGlvbigpe1xuXHRcdFx0XHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XG5cdFx0XHRcdFx0XHRcdFx0ZWxzZSBuZXh0KCk7XG5cdFx0XHRcdFx0XHRcdH0sIGkpO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuc2VyaWFsX3Byb2Nlc3MoMCwgc2VyaWFsQXJyLCBjYWxsYmFjayk7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYXJyT3JPYmoubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdGZ1bmMoYXJyT3JPYmpbaV0sIGZ1bmN0aW9uKCl7XG5cdFx0XHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XG5cdFx0XHRcdFx0XHR9LCBpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1lbHNlIGlmKHR5cGVvZiBhcnJPck9iaiA9PSAnb2JqZWN0Jyl7XG5cdFx0XHRcdGlmKGlzU2VyaWFsKXtcblx0XHRcdFx0XHRsZXQgc2VyaWFsQXJyID0gW107XG5cdFx0XHRcdFx0bGV0IGFycjphbnkgPSBbXTtcblx0XHRcdFx0XHRmb3IobGV0IGVhY2ggaW4gYXJyT3JPYmope1xuXHRcdFx0XHRcdFx0YXJyLnB1c2goe1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYXJyT3JPYmpbZWFjaF0sXG5cdFx0XHRcdFx0XHRcdGVhY2g6IGVhY2hcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRsZXQgY291bnRlciA9IGFyci5sZW5ndGg7XG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdHNlcmlhbEFyci5wdXNoKGZ1bmN0aW9uKG5leHQ6KCk9PnZvaWQpe1xuXHRcdFx0XHRcdFx0XHRmdW5jKGFycltpXS5lYWNoLCBhcnJbaV0udmFsdWUsIGZ1bmN0aW9uKCl7XG5cdFx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcblx0XHRcdFx0XHRcdFx0XHRlbHNlIG5leHQoKTtcblx0XHRcdFx0XHRcdFx0fSwgaSk7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5zZXJpYWxfcHJvY2VzcygwLCBzZXJpYWxBcnIsIGNhbGxiYWNrKTtcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0bGV0IGNvdW50ZXIgPSAxO1xuXHRcdFx0XHRcdGZvcihsZXQgZWFjaCBpbiBhcnJPck9iail7XG5cdFx0XHRcdFx0XHRjb3VudGVyKys7XG5cdFx0XHRcdFx0XHRmdW5jKGVhY2gsIGFyck9yT2JqW2VhY2hdLCBmdW5jdGlvbigpe1xuXHRcdFx0XHRcdFx0XHRpZigtLWNvdW50ZXI9PT0wKSBjYWxsYmFjaygpO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1lbHNlIGNhbGxiYWNrKCk7XG5cdFx0fVxuXHRcdHByaXZhdGUgX2FmdGVyV2hpbGU6YW55ID0ge307XG5cdFx0cHVibGljIGFmdGVyV2hpbGUoZG9jOmFueSwgY2I6KCk9PnZvaWQsIHRpbWU9MTAwMCl7XG5cdFx0XHRpZih0eXBlb2YgZG9jID09ICdmdW5jdGlvbicpe1xuXHRcdFx0XHRjYiA9IGRvYztcblx0XHRcdFx0ZG9jID0gJ2NvbW1vbic7XG5cdFx0XHR9XG5cdFx0XHRpZih0eXBlb2YgZG9jID09ICdzdHJpbmcnKXtcblx0XHRcdFx0aWYoIXRoaXMuX2FmdGVyV2hpbGVbZG9jXSkgdGhpcy5fYWZ0ZXJXaGlsZVtkb2NdPXt9O1xuXHRcdFx0XHRkb2MgPSB0aGlzLl9hZnRlcldoaWxlW2RvY107XG5cdFx0XHR9XG5cdFx0XHRpZih0eXBlb2YgY2IgPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdGltZSA9PSAnbnVtYmVyJyl7XG5cdFx0XHRcdGNsZWFyVGltZW91dChkb2MuX191cGRhdGVUaW1lb3V0KTtcblx0XHRcdFx0ZG9jLl9fdXBkYXRlVGltZW91dCA9IHNldFRpbWVvdXQoY2IsIHRpbWUpO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0Ly8gU2lnbmFsXG5cdFx0cHJpdmF0ZSBjYjphbnkgPSB7fTtcblx0XHRwdWJsaWMgZW1pdChzaWduYWw6c3RyaW5nLCBkb2M6YW55PXt9KXtcblx0XHRcdGlmKCF0aGlzLmNiW3NpZ25hbF0pIHRoaXMuY2Jbc2lnbmFsXSA9IHt9O1xuXHRcdFx0Zm9yIChsZXQgZWFjaCBpbiB0aGlzLmNiW3NpZ25hbF0pe1xuXHRcdFx0XHRpZih0eXBlb2YgdGhpcy5jYltzaWduYWxdW2VhY2hdID09ICdmdW5jdGlvbicpe1xuXHRcdFx0XHRcdHRoaXMuY2Jbc2lnbmFsXVtlYWNoXShkb2MpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHByaXZhdGUgX2lkczphbnkgPSB7fTtcblx0XHRwdWJsaWMgb24oc2lnbmFsOnN0cmluZywgY2I6YW55KTphbnkge1xuXHRcdFx0aWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuO1xuXHRcdFx0bGV0IGlkID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkgKyAxO1xuXHRcdFx0aWYodGhpcy5faWRzW2lkXSkgcmV0dXJuIHRoaXMub24oc2lnbmFsLCBjYik7XG5cdFx0XHR0aGlzLl9pZHNbaWRdPXRydWU7XG5cdFx0XHRpZighdGhpcy5jYltzaWduYWxdKSB0aGlzLmNiW3NpZ25hbF0gPSB7fTtcblx0XHRcdHRoaXMuY2Jbc2lnbmFsXVtpZF0gPSBjYjtcblx0XHRcdHJldHVybiAoKT0+e1xuXHRcdFx0XHR0aGlzLmNiW3NpZ25hbF1baWRdID0gbnVsbDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gT24gRG9uZVxuXHRcdHByaXZhdGUgZG9uZV9uZXh0OmFueSA9IHt9O1xuXHRcdHB1YmxpYyBkb25lKHNpZ25hbDpzdHJpbmcsIGRvYzphbnkgPSB0cnVlKSB7XG5cdFx0XHR0aGlzLmRvbmVfbmV4dFtzaWduYWxdID0gZG9jO1xuXHRcdH07XG5cdFx0cHVibGljIHJlYWR5KHNpZ25hbDpzdHJpbmcpe1xuXHRcdFx0cmV0dXJuIHRoaXMuZG9uZV9uZXh0W3NpZ25hbF07XG5cdFx0fTtcblx0XHRwdWJsaWMgbmV4dChzaWduYWw6c3RyaW5nLCBjYjoobWVzc2FnZTphbnkpPT52b2lkKSB7XG5cdFx0XHRpZiAodGhpcy5kb25lX25leHRbc2lnbmFsXSkgY2IodGhpcy5kb25lX25leHRbc2lnbmFsXSk7XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xuXHRcdFx0XHRcdHRoaXMubmV4dChzaWduYWwsIGNiKTtcblx0XHRcdFx0fSwgMTAwKTtcblx0XHRcdH1cblx0XHR9O1xuXG5cdFx0cHJpdmF0ZSBsb2NrZWQ6YW55ID0ge307XG5cdFx0cHVibGljIGxvY2sod2hpY2g6YW55LCBmdW5jOmFueSl7XG5cdFx0XHRpZih0eXBlb2Ygd2hpY2ggPT09ICdvYmplY3QnICYmIHdoaWNoLl9fbG9ja2VkKSByZXR1cm47XG5cdFx0XHRlbHNlIGlmKHRoaXMubG9ja2VkW3doaWNoXSkgcmV0dXJuO1xuXHRcdFx0aWYodHlwZW9mIHdoaWNoID09PSAnb2JqZWN0Jykgd2hpY2guX19sb2NrZWQgPSB0cnVlO1xuXHRcdFx0ZWxzZSB0aGlzLmxvY2tlZFt3aGljaF0gPSB0cnVlO1xuXHRcdFx0ZnVuYygoKT0+e1xuXHRcdFx0XHRpZih0eXBlb2Ygd2hpY2ggPT09ICdvYmplY3QnKSB3aGljaC5fX2xvY2tlZCA9IGZhbHNlO1xuXHRcdFx0XHRlbHNlIHRoaXMubG9ja2VkW3doaWNoXSA9IGZhbHNlO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHQvKiBFbmQgb2YgQ29yZSovXG59XG4iXX0=
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2Fjb20vc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sV0FBVztJQU12QixtQ0FBbUM7SUFDbkMsWUFBeUMsVUFBa0I7UUFBbEIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQU5wRCxRQUFHLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBbUx0QyxnQkFBVyxHQUFPLEVBQUUsQ0FBQztRQWU3QixTQUFTO1FBQ0QsT0FBRSxHQUFPLEVBQUUsQ0FBQztRQVNaLFNBQUksR0FBTyxFQUFFLENBQUM7UUFZdEIsVUFBVTtRQUNGLGNBQVMsR0FBTyxFQUFFLENBQUM7UUFnQm5CLFdBQU0sR0FBTyxFQUFFLENBQUM7UUFsT3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNuQixPQUFPLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDZCxPQUFPLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDZCxVQUFVLEVBQUMsR0FBRSxFQUFFLEdBQUMsQ0FBQztnQkFDakIsS0FBSyxFQUFDLEdBQUUsRUFBRSxHQUFDLENBQUM7YUFDWixDQUFDO1lBQUEsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLEdBQUc7Z0JBQ2YsZ0JBQWdCLEVB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RCxJQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuQyxJQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzs7WUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUUsRUFBRTtZQUNSLElBQUcsT0FBTyxLQUFLLEtBQUssUUFBUTtnQkFBRSxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzs7Z0JBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7d0dBcFBVLFdBQVcsa0JBT0gsV0FBVzs0R0FQbkIsV0FBVyxjQUZYLE1BQU07MkZBRU4sV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQVFhLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgcmV0cnlXaGVuIH0gZnJvbSAncnhqcyc7XG5kZWNsYXJlIHZhciBjb3Jkb3ZhOmFueTtcbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvcmVTZXJ2aWNlIHtcblx0cHVibGljIHNzciA9IGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKTtcblx0cHVibGljIGxvY2FsU3RvcmFnZTphbnk7IC8vID0gbG9jYWxTdG9yYWdlO1xuXHRwdWJsaWMgZG9jdW1lbnQ6YW55OyAvLyA9IGRvY3VtZW50O1xuXHRwdWJsaWMgd2luZG93OmFueTsgLy8gPSB3aW5kb3c7XG5cdHB1YmxpYyBuYXZpZ2F0b3I6YW55OyAvLyA9IG5hdmlnYXRvcjtcblx0Ly9wdWJsaWMgY29yZG92YTphbnk7IC8vID0gY29yZG92YTtcblx0Y29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOmJvb2xlYW4pIHtcblx0XHRjb25zb2xlLmxvZyh0aGlzLmlkczJpZCgnYScsICdiJykpO1xuXHRcdGlmKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSl7XG5cdFx0XHR0aGlzLmxvY2FsU3RvcmFnZSA9IHtcblx0XHRcdFx0Z2V0SXRlbTooKT0+e30sXG5cdFx0XHRcdHNldEl0ZW06KCk9Pnt9LFxuXHRcdFx0XHRyZW1vdmVJdGVtOigpPT57fSxcblx0XHRcdFx0Y2xlYXI6KCk9Pnt9XG5cdFx0XHR9Oztcblx0XHRcdHRoaXMuZG9jdW1lbnQgPSB7XG5cdFx0XHRcdHF1ZXJ5U2VsZWN0b3JBbGw6ICgpPT57fSxcblx0XHRcdFx0YWRkRXZlbnRMaXN0ZW5lcjogKCk9Pnt9LFxuXHRcdFx0XHRyZW1vdmVFdmVudExpc3RlbmVyOiAoKT0+e30sXG5cdFx0XHRcdGRvY3VtZW50RWxlbWVudDoge30sXG5cdFx0XHRcdGJvZHk6IHt9LFxuXHRcdFx0fTs7XG5cdFx0XHR0aGlzLndpbmRvdyA9IHtcblx0XHRcdFx0bG9jYXRpb246IHtcblx0XHRcdFx0XHRob3N0OiAnJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRhZGRFdmVudExpc3RlbmVyOiAoKT0+e30sXG5cdFx0XHRcdHJlbW92ZUV2ZW50TGlzdGVuZXI6ICgpPT57fSxcblx0XHRcdFx0c2V0VGltZW91dDogKCk9Pnt9XG5cdFx0XHR9Oztcblx0XHRcdHRoaXMubmF2aWdhdG9yID0ge1xuXHRcdFx0XHR1c2VyQWdlbnQ6ICcnLFxuXHRcdFx0XHRwbGF0Zm9ybTogJydcblx0XHRcdH07XG5cdFx0fWVsc2V7XG5cdFx0XHR0aGlzLmxvY2FsU3RvcmFnZSA9IGxvY2FsU3RvcmFnZTtcblx0XHRcdHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcblx0XHRcdHRoaXMud2luZG93ID0gd2luZG93O1xuXHRcdFx0dGhpcy5uYXZpZ2F0b3IgPSBuYXZpZ2F0b3I7XG5cdFx0fVxuXHRcdHRoaXMuaG9zdCA9IHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3QudG9Mb3dlckNhc2UoKTtcblx0XHR2YXIgdXNlckFnZW50ID0gdGhpcy5uYXZpZ2F0b3IudXNlckFnZW50IHx8IHRoaXMubmF2aWdhdG9yLnZlbmRvciB8fCB0aGlzLndpbmRvdy5vcGVyYTtcblx0XHRpZiAoL3dpbmRvd3MgcGhvbmUvaS50ZXN0KHVzZXJBZ2VudCkpIHtcblx0XHRcdHRoaXMuZGV2aWNlID0gXCJ3aW5kb3dzXCI7XG5cdFx0fWVsc2UgaWYgKC9hbmRyb2lkL2kudGVzdCh1c2VyQWdlbnQpKSB7XG5cdFx0XHR0aGlzLmRldmljZSA9IFwiYW5kcm9pZFwiO1xuXHRcdH1lbHNlIGlmICh0aGlzLmlvcygpKSB7XG5cdFx0XHR0aGlzLmRldmljZSA9IFwiaW9zXCI7XG5cdFx0fWVsc2UgdGhpcy5kZXZpY2UgPSBcIndlYlwiO1xuXHRcdHRoaXMuc2V0X3ZlcnNpb24oKTtcblx0fVxuXHRwdWJsaWMgaG9zdDphbnk7XG5cdHB1YmxpYyBkZXZpY2U6YW55O1xuXHRwdWJsaWMgdmVyc2lvbjphbnk7XG5cdHB1YmxpYyBzZXRfdmVyc2lvbih2ZXJzaW9uPScxLjAuMCcpe1xuXHRcdHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG5cdFx0dGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VyZWFkeScsICgpID0+IHtcblx0XHRcdHRoaXMuZG9uZSgnbW9iaWxlJyk7XG5cdFx0XHRpZighY29yZG92YS5nZXRBcHBWZXJzaW9uKSByZXR1cm47XG5cdFx0XHRjb3Jkb3ZhLmdldEFwcFZlcnNpb24uZ2V0VmVyc2lvbk51bWJlcigodmVyc2lvbjpzdHJpbmcpPT57XG5cdFx0XHRcdHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXHRpb3MoKSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdCdpUGFkIFNpbXVsYXRvcicsXG5cdFx0XHQnaVBob25lIFNpbXVsYXRvcicsXG5cdFx0XHQnaVBvZCBTaW11bGF0b3InLFxuXHRcdFx0J2lQYWQnLFxuXHRcdFx0J2lQaG9uZScsXG5cdFx0XHQnaVBvZCdcblx0XHRdLmluY2x1ZGVzKHRoaXMubmF2aWdhdG9yLnBsYXRmb3JtKVxuXHRcdC8vIGlQYWQgb24gaU9TIDEzIGRldGVjdGlvblxuXHRcdHx8ICh0aGlzLm5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoXCJNYWNcIikgJiYgXCJvbnRvdWNoZW5kXCIgaW4gZG9jdW1lbnQpXG5cdH1cblx0Lypcblx0Klx0UGlwZXNcblx0Ki9cblx0XHRvdGEob2JqOiBhbnksIGhvbGRlcj86Ym9vbGVhbik6IGFueSB7XG5cdFx0XHRpZihBcnJheS5pc0FycmF5KG9iaikpIHJldHVybiBvYmo7XG5cdFx0XHRpZih0eXBlb2Ygb2JqICE9ICdvYmplY3QnKSByZXR1cm4gW107XG5cdFx0XHRsZXQgYXJyID0gW107XG5cdFx0XHRmb3IobGV0IGVhY2ggaW4gb2JqKXtcblx0XHRcdFx0aWYob2JqW2VhY2hdKXtcblx0XHRcdFx0XHRpZihob2xkZXIpIGFyci5wdXNoKGVhY2gpO1xuXHRcdFx0XHRcdGVsc2UgYXJyLnB1c2gob2JqW2VhY2hdKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGFycjtcblx0XHR9XG5cdC8qXG5cdCpcdFN1cHBvcnRpdmVcblx0Ki9cblx0XHRwdWJsaWMgaWRzMmlkKC4uLmFyZ3M6YW55W10pIHtcblx0XHRcdGFyZ3Muc29ydCggKGEsIGIpID0+IHtcblx0XHRcdFx0aWYgKE51bWJlcihhLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDgpKSA+IE51bWJlcihiLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDgpKSl7XG5cdFx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIC0xO1xuXHRcdFx0fSk7XG5cdFx0XHRyZXR1cm4gYXJncy5qb2luKCk7XG5cdFx0fVxuXHRcdHB1YmxpYyBwYXJhbGxlbChhcnI6IGFueVtdLCBjYWxsYmFjazooKT0+dm9pZCl7XG5cdFx0XHRsZXQgY291bnRlciA9IGFyci5sZW5ndGg7XG5cdFx0XHRpZihjb3VudGVyPT09MCkgcmV0dXJuIGNhbGxiYWNrKCk7XG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRhcnJbaV0oZnVuY3Rpb24oKXtcblx0XHRcdFx0XHRpZigtLWNvdW50ZXI9PT0wKSBjYWxsYmFjaygpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cHJpdmF0ZSBzZXJpYWxfcHJvY2VzcyhpOm51bWJlciwgYXJyOmFueVtdLCBjYWxsYmFjazooKT0+dm9pZCl7XG5cdFx0XHRpZihpPj1hcnIubGVuZ3RoKSByZXR1cm4gY2FsbGJhY2soKTtcblx0XHRcdGFycltpXSgoKT0+e1xuXHRcdFx0XHR0aGlzLnNlcmlhbF9wcm9jZXNzKCsraSwgYXJyLCBjYWxsYmFjayk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0cHVibGljIHNlcmlhbChhcnI6YW55W10sIGNhbGxiYWNrOigpPT52b2lkKXtcblx0XHRcdHRoaXMuc2VyaWFsX3Byb2Nlc3MoMCwgYXJyLCBjYWxsYmFjayk7XG5cdFx0fVxuXHRcdHB1YmxpYyBlYWNoKGFyck9yT2JqOmFueSwgZnVuYzphbnksIGNhbGxiYWNrOigpPT52b2lkLCBpc1NlcmlhbD1mYWxzZSl7XG5cdFx0XHRpZih0eXBlb2YgY2FsbGJhY2sgPT0gJ2Jvb2xlYW4nKXtcblx0XHRcdFx0aXNTZXJpYWwgPSBjYWxsYmFjaztcblx0XHRcdFx0Y2FsbGJhY2sgPSAoKT0+e307XG5cdFx0XHR9XG5cdFx0XHRpZihBcnJheS5pc0FycmF5KGFyck9yT2JqKSl7XG5cdFx0XHRcdGxldCBjb3VudGVyID0gYXJyT3JPYmoubGVuZ3RoO1xuXHRcdFx0XHRpZihjb3VudGVyPT09MCkgcmV0dXJuIGNhbGxiYWNrKCk7XG5cdFx0XHRcdGlmKGlzU2VyaWFsKXtcblx0XHRcdFx0XHRsZXQgc2VyaWFsQXJyID0gW107XG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJPck9iai5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0c2VyaWFsQXJyLnB1c2goZnVuY3Rpb24obmV4dDooKT0+dm9pZCl7XG5cdFx0XHRcdFx0XHRcdGZ1bmMoYXJyT3JPYmpbaV0sIGZ1bmN0aW9uKCl7XG5cdFx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcblx0XHRcdFx0XHRcdFx0XHRlbHNlIG5leHQoKTtcblx0XHRcdFx0XHRcdFx0fSwgaSk7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5zZXJpYWxfcHJvY2VzcygwLCBzZXJpYWxBcnIsIGNhbGxiYWNrKTtcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJPck9iai5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0ZnVuYyhhcnJPck9ialtpXSwgZnVuY3Rpb24oKXtcblx0XHRcdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcblx0XHRcdFx0XHRcdH0sIGkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fWVsc2UgaWYodHlwZW9mIGFyck9yT2JqID09ICdvYmplY3QnKXtcblx0XHRcdFx0aWYoaXNTZXJpYWwpe1xuXHRcdFx0XHRcdGxldCBzZXJpYWxBcnIgPSBbXTtcblx0XHRcdFx0XHRsZXQgYXJyOmFueSA9IFtdO1xuXHRcdFx0XHRcdGZvcihsZXQgZWFjaCBpbiBhcnJPck9iail7XG5cdFx0XHRcdFx0XHRhcnIucHVzaCh7XG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBhcnJPck9ialtlYWNoXSxcblx0XHRcdFx0XHRcdFx0ZWFjaDogZWFjaFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGxldCBjb3VudGVyID0gYXJyLmxlbmd0aDtcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0c2VyaWFsQXJyLnB1c2goZnVuY3Rpb24obmV4dDooKT0+dm9pZCl7XG5cdFx0XHRcdFx0XHRcdGZ1bmMoYXJyW2ldLmVhY2gsIGFycltpXS52YWx1ZSwgZnVuY3Rpb24oKXtcblx0XHRcdFx0XHRcdFx0XHRpZigtLWNvdW50ZXI9PT0wKSBjYWxsYmFjaygpO1xuXHRcdFx0XHRcdFx0XHRcdGVsc2UgbmV4dCgpO1xuXHRcdFx0XHRcdFx0XHR9LCBpKTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0aGlzLnNlcmlhbF9wcm9jZXNzKDAsIHNlcmlhbEFyciwgY2FsbGJhY2spO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHRsZXQgY291bnRlciA9IDE7XG5cdFx0XHRcdFx0Zm9yKGxldCBlYWNoIGluIGFyck9yT2JqKXtcblx0XHRcdFx0XHRcdGNvdW50ZXIrKztcblx0XHRcdFx0XHRcdGZ1bmMoZWFjaCwgYXJyT3JPYmpbZWFjaF0sIGZ1bmN0aW9uKCl7XG5cdFx0XHRcdFx0XHRcdGlmKC0tY291bnRlcj09PTApIGNhbGxiYWNrKCk7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYoLS1jb3VudGVyPT09MCkgY2FsbGJhY2soKTtcblx0XHRcdFx0fVxuXHRcdFx0fWVsc2UgY2FsbGJhY2soKTtcblx0XHR9XG5cdFx0cHJpdmF0ZSBfYWZ0ZXJXaGlsZTphbnkgPSB7fTtcblx0XHRwdWJsaWMgYWZ0ZXJXaGlsZShkb2M6YW55LCBjYjooKT0+dm9pZCwgdGltZT0xMDAwKXtcblx0XHRcdGlmKHR5cGVvZiBkb2MgPT0gJ2Z1bmN0aW9uJyl7XG5cdFx0XHRcdGNiID0gZG9jO1xuXHRcdFx0XHRkb2MgPSAnY29tbW9uJztcblx0XHRcdH1cblx0XHRcdGlmKHR5cGVvZiBkb2MgPT0gJ3N0cmluZycpe1xuXHRcdFx0XHRpZighdGhpcy5fYWZ0ZXJXaGlsZVtkb2NdKSB0aGlzLl9hZnRlcldoaWxlW2RvY109e307XG5cdFx0XHRcdGRvYyA9IHRoaXMuX2FmdGVyV2hpbGVbZG9jXTtcblx0XHRcdH1cblx0XHRcdGlmKHR5cGVvZiBjYiA9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB0aW1lID09ICdudW1iZXInKXtcblx0XHRcdFx0Y2xlYXJUaW1lb3V0KGRvYy5fX3VwZGF0ZVRpbWVvdXQpO1xuXHRcdFx0XHRkb2MuX191cGRhdGVUaW1lb3V0ID0gc2V0VGltZW91dChjYiwgdGltZSk7XG5cdFx0XHR9XG5cdFx0fTtcblx0XHQvLyBTaWduYWxcblx0XHRwcml2YXRlIGNiOmFueSA9IHt9O1xuXHRcdHB1YmxpYyBlbWl0KHNpZ25hbDpzdHJpbmcsIGRvYzphbnk9e30pe1xuXHRcdFx0aWYoIXRoaXMuY2Jbc2lnbmFsXSkgdGhpcy5jYltzaWduYWxdID0ge307XG5cdFx0XHRmb3IgKGxldCBlYWNoIGluIHRoaXMuY2Jbc2lnbmFsXSl7XG5cdFx0XHRcdGlmKHR5cGVvZiB0aGlzLmNiW3NpZ25hbF1bZWFjaF0gPT0gJ2Z1bmN0aW9uJyl7XG5cdFx0XHRcdFx0dGhpcy5jYltzaWduYWxdW2VhY2hdKGRvYyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cHJpdmF0ZSBfaWRzOmFueSA9IHt9O1xuXHRcdHB1YmxpYyBvbihzaWduYWw6c3RyaW5nLCBjYjphbnkpOmFueSB7XG5cdFx0XHRpZiAodHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XG5cdFx0XHRsZXQgaWQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKSArIDE7XG5cdFx0XHRpZih0aGlzLl9pZHNbaWRdKSByZXR1cm4gdGhpcy5vbihzaWduYWwsIGNiKTtcblx0XHRcdHRoaXMuX2lkc1tpZF09dHJ1ZTtcblx0XHRcdGlmKCF0aGlzLmNiW3NpZ25hbF0pIHRoaXMuY2Jbc2lnbmFsXSA9IHt9O1xuXHRcdFx0dGhpcy5jYltzaWduYWxdW2lkXSA9IGNiO1xuXHRcdFx0cmV0dXJuICgpPT57XG5cdFx0XHRcdHRoaXMuY2Jbc2lnbmFsXVtpZF0gPSBudWxsO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvLyBPbiBEb25lXG5cdFx0cHJpdmF0ZSBkb25lX25leHQ6YW55ID0ge307XG5cdFx0cHVibGljIGRvbmUoc2lnbmFsOnN0cmluZywgZG9jOmFueSA9IHRydWUpIHtcblx0XHRcdHRoaXMuZG9uZV9uZXh0W3NpZ25hbF0gPSBkb2M7XG5cdFx0fTtcblx0XHRwdWJsaWMgcmVhZHkoc2lnbmFsOnN0cmluZyl7XG5cdFx0XHRyZXR1cm4gdGhpcy5kb25lX25leHRbc2lnbmFsXTtcblx0XHR9O1xuXHRcdHB1YmxpYyBuZXh0KHNpZ25hbDpzdHJpbmcsIGNiOihtZXNzYWdlOmFueSk9PnZvaWQpIHtcblx0XHRcdGlmICh0aGlzLmRvbmVfbmV4dFtzaWduYWxdKSBjYih0aGlzLmRvbmVfbmV4dFtzaWduYWxdKTtcblx0XHRcdGVsc2Uge1xuXHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0dGhpcy5uZXh0KHNpZ25hbCwgY2IpO1xuXHRcdFx0XHR9LCAxMDApO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRwcml2YXRlIGxvY2tlZDphbnkgPSB7fTtcblx0XHRwdWJsaWMgbG9jayh3aGljaDphbnksIGZ1bmM6YW55KXtcblx0XHRcdGlmKHR5cGVvZiB3aGljaCA9PT0gJ29iamVjdCcgJiYgd2hpY2guX19sb2NrZWQpIHJldHVybjtcblx0XHRcdGVsc2UgaWYodGhpcy5sb2NrZWRbd2hpY2hdKSByZXR1cm47XG5cdFx0XHRpZih0eXBlb2Ygd2hpY2ggPT09ICdvYmplY3QnKSB3aGljaC5fX2xvY2tlZCA9IHRydWU7XG5cdFx0XHRlbHNlIHRoaXMubG9ja2VkW3doaWNoXSA9IHRydWU7XG5cdFx0XHRmdW5jKCgpPT57XG5cdFx0XHRcdGlmKHR5cGVvZiB3aGljaCA9PT0gJ29iamVjdCcpIHdoaWNoLl9fbG9ja2VkID0gZmFsc2U7XG5cdFx0XHRcdGVsc2UgdGhpcy5sb2NrZWRbd2hpY2hdID0gZmFsc2U7XG5cdFx0XHR9KTtcblx0XHR9XG5cdC8qIEVuZCBvZiBDb3JlKi9cbn1cbiJdfQ==
@@ -63,9 +63,9 @@ export class CrudService extends BaseService {
63
63
  };
64
64
  }
65
65
  }
66
- CrudService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CrudService, deps: [{ token: String }, { token: i1.MongoService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
67
- CrudService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CrudService, providedIn: 'root' });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: CrudService, decorators: [{
66
+ CrudService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CrudService, deps: [{ token: String }, { token: i1.MongoService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ CrudService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CrudService, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CrudService, decorators: [{
69
69
  type: Injectable,
70
70
  args: [{
71
71
  providedIn: 'root'
@@ -60,9 +60,9 @@ export class DomService {
60
60
  return component;
61
61
  }
62
62
  }
63
- DomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DomService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Injectable });
64
- DomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DomService, providedIn: 'root' });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: DomService, decorators: [{
63
+ DomService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DomService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Injectable });
64
+ DomService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DomService, providedIn: 'root' });
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DomService, decorators: [{
66
66
  type: Injectable,
67
67
  args: [{
68
68
  providedIn: 'root'
@@ -224,9 +224,9 @@ export class FileService {
224
224
  }
225
225
  ;
226
226
  }
227
- FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FileService, deps: [{ token: i1.DomService }, { token: i2.CoreService }, { token: i3.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
228
- FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FileService, providedIn: 'root' });
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: FileService, decorators: [{
227
+ FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FileService, deps: [{ token: i1.DomService }, { token: i2.CoreService }, { token: i3.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
228
+ FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FileService, providedIn: 'root' });
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: FileService, decorators: [{
230
230
  type: Injectable,
231
231
  args: [{
232
232
  providedIn: 'root'
@@ -62,9 +62,9 @@ export class HashService {
62
62
  this.save();
63
63
  }
64
64
  }
65
- HashService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HashService, deps: [{ token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Injectable });
66
- HashService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HashService, providedIn: 'root' });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HashService, decorators: [{
65
+ HashService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: HashService, deps: [{ token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Injectable });
66
+ HashService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: HashService, providedIn: 'root' });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: HashService, decorators: [{
68
68
  type: Injectable,
69
69
  args: [{
70
70
  providedIn: 'root'
@@ -181,9 +181,9 @@ export class HttpService {
181
181
  }
182
182
  ;
183
183
  }
184
- HttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpService, deps: [{ token: i1.StoreService }, { token: i2.HttpClient }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
185
- HttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpService, providedIn: 'root' });
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpService, decorators: [{
184
+ HttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: HttpService, deps: [{ token: i1.StoreService }, { token: i2.HttpClient }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
185
+ HttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: HttpService, providedIn: 'root' });
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: HttpService, decorators: [{
187
187
  type: Injectable,
188
188
  args: [{
189
189
  providedIn: 'root'
@@ -34,9 +34,9 @@ export class LoaderService {
34
34
  }
35
35
  }
36
36
  }
37
- LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LoaderService, deps: [{ token: i1.DomService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
38
- LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LoaderService, providedIn: 'root' });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LoaderService, decorators: [{
37
+ LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: LoaderService, deps: [{ token: i1.DomService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: LoaderService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: LoaderService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root'
@@ -84,9 +84,9 @@ export class MetaService {
84
84
  }
85
85
  }
86
86
  }
87
- MetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MetaService, deps: [{ token: i1.Router }, { token: i2.Meta }, { token: i3.CoreService }, { token: i2.Title }, { token: i1.ActivatedRoute }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
88
- MetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MetaService });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MetaService, decorators: [{
87
+ MetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MetaService, deps: [{ token: i1.Router }, { token: i2.Meta }, { token: i3.CoreService }, { token: i2.Title }, { token: i1.ActivatedRoute }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
88
+ MetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MetaService });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: MetaService, decorators: [{
90
90
  type: Injectable
91
91
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Meta }, { type: i3.CoreService }, { type: i2.Title }, { type: i1.ActivatedRoute }, { type: undefined, decorators: [{
92
92
  type: Inject,
@@ -107,9 +107,9 @@ export class ModalService {
107
107
  this.core.document.body.classList.remove("modalOpened");
108
108
  }
109
109
  }
110
- ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ModalService, deps: [{ token: i1.DomService }, { token: i2.CoreService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
111
- ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ModalService, providedIn: 'root' });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ModalService, decorators: [{
110
+ ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ModalService, deps: [{ token: i1.DomService }, { token: i2.CoreService }, { token: CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
111
+ ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ModalService, providedIn: 'root' });
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ModalService, decorators: [{
113
113
  type: Injectable,
114
114
  args: [{
115
115
  providedIn: 'root'