Socket
Socket
Sign inDemoInstall

ngx-table-pagination

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-table-pagination - npm Package Compare versions

Comparing version 1.1.2 to 1.1.3

11

bundles/ngx-table-pagination.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common')) :
typeof define === 'function' && define.amd ? define('ngx-table-pagination', ['exports', '@angular/core', '@angular/common'], factory) :
(global = global || self, factory(global['ngx-table-pagination'] = {}, global.ng.core, global.ng.common));
}(this, (function (exports, core, common) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms')) :
typeof define === 'function' && define.amd ? define('ngx-table-pagination', ['exports', '@angular/core', '@angular/common', '@angular/forms'], factory) :
(global = global || self, factory(global['ngx-table-pagination'] = {}, global.ng.core, global.ng.common, global.ng.forms));
}(this, (function (exports, core, common, forms) { 'use strict';

@@ -562,3 +562,4 @@ var PaginationService = /** @class */ (function () {

imports: [
common.CommonModule
common.CommonModule,
forms.FormsModule
],

@@ -565,0 +566,0 @@ providers: [PaginationService],

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngx-table-pagination",["exports","@angular/core","@angular/common"],t):t((e=e||self)["ngx-table-pagination"]={},e.ng.core,e.ng.common)}(this,(function(e,t,n){"use strict";var i=function(){function e(){this.change=new t.EventEmitter,this.instances={},this.DEFAULT_ID="DEFAULT_PAGINATION_ID"}return e.prototype.defaultId=function(){return this.DEFAULT_ID},e.prototype.register=function(e){return null==e.id&&(e.id=this.DEFAULT_ID),this.instances[e.id]?this.updateInstance(e):(this.instances[e.id]=e,!0)},e.prototype.updateInstance=function(e){var t=!1;for(var n in this.instances[e.id])e[n]!==this.instances[e.id][n]&&(this.instances[e.id][n]=e[n],t=!0);return t},e.prototype.getCurrentPage=function(e){if(this.instances[e])return this.instances[e].currentPage},e.prototype.setCurrentPage=function(e,t){if(this.instances[e]){var n=this.instances[e];t<=Math.ceil(n.totalItems/n.itemsPerPage)&&1<=t&&(this.instances[e].currentPage=t,this.change.emit(e))}},e.prototype.setTotalItems=function(e,t){this.instances[e]&&0<=t&&(this.instances[e].totalItems=t,this.change.emit(e))},e.prototype.setItemsPerPage=function(e,t){this.instances[e]&&(this.instances[e].itemsPerPage=t,this.change.emit(e))},e.prototype.getInstance=function(e){return void 0===e&&(e=this.DEFAULT_ID),this.instances[e]?this.clone(this.instances[e]):{}},e.prototype.clone=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},e}();function r(e){return!!e&&"false"!==e}var a=function(){function e(){this.maxSize=7,this.previousLabel="",this.nextLabel="",this.screenReaderPaginationLabel="Pagination",this.screenReaderPageLabel="page",this.screenReaderCurrentLabel="You're on page",this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter,this._directionLinks=!0,this._autoHide=!1,this._responsive=!1}return Object.defineProperty(e.prototype,"directionLinks",{get:function(){return this._directionLinks},set:function(e){this._directionLinks=r(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"autoHide",{get:function(){return this._autoHide},set:function(e){this._autoHide=r(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responsive",{get:function(){return this._responsive},set:function(e){this._responsive=r(e)},enumerable:!1,configurable:!0}),e}();a.decorators=[{type:t.Component,args:[{selector:"paging-controls",template:'<pagination-template\r\n #p="paginationApi"\r\n [id]="id"\r\n [maxSize]="maxSize"\r\n (pageChange)="pageChange.emit($event)"\r\n (pageBoundsCorrection)="pageBoundsCorrection.emit($event)"\r\n>\r\n <div *ngIf="!(autoHide && p.pages.length <= 1)">\r\n <div *ngIf="isItemsPerPage">\r\n <span style="display: flex" class="pagination-font">\r\n <label class="show-label">Show</label>\r\n <select\r\n class="select-box pagination-font"\r\n [(ngModel)]="p.itemsPerPage"\r\n (change)="p.pageSizeChanged($event.target.value)"\r\n >\r\n <option\r\n *ngFor="let pageSizeDefault of p.pageSizes"\r\n value="{{ pageSizeDefault }}"\r\n [selected]="pageSizeDefault == p.itemsPerPage"\r\n >\r\n {{ pageSizeDefault }}\r\n </option>\r\n </select>\r\n <label class="entries-label">entries</label></span\r\n >\r\n </div>\r\n\r\n <div\r\n class="ngx-pagination pagination-font"\r\n role="navigation"\r\n *ngIf="!isItemsPerPage"\r\n [attr.aria-label]="screenReaderPaginationLabel"\r\n [class.responsive]="responsive"\r\n >\r\n <label\r\n >Showing {{ p.getStartIndex() }} - {{ p.getEndIndex() }} of\r\n {{ p.getTotalItems() }} entries</label\r\n >\r\n <ul role="navigation" class="">\r\n <li\r\n class="pagination-previous pagination-font page"\r\n [class.disabled]="p.isFirstPage()"\r\n *ngIf="directionLinks"\r\n >\r\n <a\r\n tabindex="0"\r\n *ngIf="1 < p.getCurrent()"\r\n (keyup.enter)="p.previous()"\r\n (click)="p.previous()"\r\n [attr.aria-label]="previousLabel + \' \' + screenReaderPageLabel"\r\n >\r\n {{ previousLabel }}\r\n </a>\r\n <span *ngIf="p.isFirstPage()">\r\n {{ previousLabel }}\r\n </span>\r\n </li>\r\n <li class="small-screen pagination-font page">\r\n {{ p.getCurrent() }} / {{ p.getLastPage() }}\r\n </li>\r\n <li\r\n class="pagination-font page"\r\n [class.current]="p.getCurrent() === page.value"\r\n [class.ellipsis]="page.label === \'...\'"\r\n *ngFor="let page of p.pages"\r\n >\r\n <a\r\n tabindex="0"\r\n (keyup.enter)="p.setCurrent(page.value)"\r\n (click)="p.setCurrent(page.value)"\r\n *ngIf="p.getCurrent() !== page.value"\r\n >\r\n <span class="show-for-sr">{{ screenReaderPageLabel }} </span>\r\n <span>{{\r\n page.label === "..." ? page.label : (page.label | number: "")\r\n }}</span>\r\n </a>\r\n <ng-container *ngIf="p.getCurrent() === page.value">\r\n <span class="show-for-sr">{{ screenReaderCurrentLabel }} </span>\r\n <span>{{\r\n page.label === "..." ? page.label : (page.label | number: "")\r\n }}</span>\r\n </ng-container>\r\n </li>\r\n <li\r\n class="pagination-next pagination-font page"\r\n [class.disabled]="p.isLastPage()"\r\n *ngIf="directionLinks"\r\n >\r\n <a\r\n tabindex="0"\r\n *ngIf="!p.isLastPage()"\r\n (keyup.enter)="p.next()"\r\n (click)="p.next()"\r\n [attr.aria-label]="nextLabel + \' \' + screenReaderPageLabel"\r\n >\r\n {{ nextLabel }}\r\n </a>\r\n <span *ngIf="p.isLastPage()">\r\n {{ nextLabel }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</pagination-template>\r\n',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:['.show-label{margin-right:.25rem}.no-padding{padding:0}.select-box{border:1px solid rgba(51,51,51,.6901960784313725);border-radius:4px;color:rgba(51,51,51,.6901960784313725);opacity:1}.entries-label{margin-left:.25rem}.page{background-color:#fff;border:1px solid #dee2e6;margin-left:-1px;padding:.15rem .2rem;position:relative}.ngx-pagination{display:flex;justify-content:space-between;margin-bottom:1rem;margin-left:0}.ngx-pagination:after,.ngx-pagination:before{display:table}.ngx-pagination:after{clear:both}.ngx-pagination li{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-radius:0;display:inline-block}.ngx-pagination a,.ngx-pagination button{border-radius:0;display:block;padding:.1875rem .625rem}.ngx-pagination a:hover,.ngx-pagination button:hover{background:#e6e6e6}.ngx-pagination .current{background:#2199e8;border:1px solid #dee2e6;color:#fefefe;cursor:default;padding:.355rem .625rem}.ngx-pagination .disabled{color:#cacaca;cursor:default;padding:.295rem .625rem}.ngx-pagination .disabled:hover{background:transparent}.ngx-pagination a,.ngx-pagination button{cursor:pointer}.ngx-pagination .pagination-previous.disabled:before,.ngx-pagination .pagination-previous a:before{content:"«";display:inline-block}.ngx-pagination .pagination-next.disabled:after,.ngx-pagination .pagination-next a:after{content:"»";display:inline-block}.ngx-pagination .show-for-sr{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute!important;width:1px}.ngx-pagination .small-screen{display:none}@media screen and (max-width:601px){.ngx-pagination.responsive .small-screen{display:inline-block}.ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}@media only screen and (max-width:1023px){.pagination-font{color:#2e384d!important;font-size:14px!important}}@media only screen and (min-width:1024px) and (max-width:1439px){.pagination-font{color:#2e384d;font-size:16px!important}}@media only screen and (min-width:1440px) and (max-width:2559px){.pagination-font{color:#2e384d;font-size:18px!important}}']}]}],a.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],isItemsPerPage:[{type:t.Input}],directionLinks:[{type:t.Input}],autoHide:[{type:t.Input}],responsive:[{type:t.Input}],previousLabel:[{type:t.Input}],nextLabel:[{type:t.Input}],screenReaderPaginationLabel:[{type:t.Input}],screenReaderPageLabel:[{type:t.Input}],screenReaderCurrentLabel:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var s=function(){function e(e,n){var i=this;this.service=e,this.changeDetectorRef=n,this.maxSize=7,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter,this.pages=[],this.pageSizes=[],this.changeSub=this.service.change.subscribe((function(e){if(i.id===e){i.updatePageLinks(),i.changeDetectorRef.markForCheck(),i.changeDetectorRef.detectChanges();var t=i.service.getInstance(i.id);i.itemsPerPage=t.itemsPerPage}}))}return e.prototype.ngOnInit=function(){void 0===this.id&&(this.id=this.service.defaultId());var e=this.service.getInstance(this.id);this.itemsPerPage=e.itemsPerPage;for(var t=5;t<=e.totalItems;)this.pageSizes.push(t),t+=5;this.updatePageLinks()},e.prototype.ngOnChanges=function(e){this.updatePageLinks()},e.prototype.ngOnDestroy=function(){this.changeSub.unsubscribe()},e.prototype.pageSizeChanged=function(e){this.itemsPerPage=e,this.service.setItemsPerPage(this.id,e),this.setCurrent(1),this.updatePageLinks()},e.prototype.previous=function(){this.checkValidId(),this.setCurrent(this.getCurrent()-1)},e.prototype.next=function(){this.checkValidId(),this.setCurrent(this.getCurrent()+1)},e.prototype.isFirstPage=function(){return 1===this.getCurrent()},e.prototype.isLastPage=function(){return this.getLastPage()===this.getCurrent()},e.prototype.setCurrent=function(e){this.pageChange.emit(e)},e.prototype.getCurrent=function(){return this.service.getCurrentPage(this.id)},e.prototype.getLastPage=function(){var e=this.service.getInstance(this.id);return e.totalItems<1?1:Math.ceil(e.totalItems/e.itemsPerPage)},e.prototype.getTotalItems=function(){return this.service.getInstance(this.id).totalItems},e.prototype.getStartIndex=function(){var e=this.service.getInstance(this.id);return e.totalItems<e.itemsPerPage*(e.currentPage-1)+1&&this.setCurrent(1),e.itemsPerPage*(e.currentPage-1)+1},e.prototype.getEndIndex=function(){var e=this.service.getInstance(this.id),t=e.itemsPerPage*e.currentPage;return e.totalItems<t?e.totalItems:t},e.prototype.checkValidId=function(){null==this.service.getInstance(this.id).id&&console.warn('PaginationControlsDirective: the specified id "'+this.id+'" does not match any registered PaginationInstance')},e.prototype.updatePageLinks=function(){var e=this,t=this.service.getInstance(this.id),n=this.outOfBoundCorrection(t);n!==t.currentPage?setTimeout((function(){e.pageBoundsCorrection.emit(n),e.pages=e.createPageArray(t.currentPage,t.itemsPerPage,t.totalItems,e.maxSize)})):this.pages=this.createPageArray(t.currentPage,t.itemsPerPage,t.totalItems,this.maxSize)},e.prototype.outOfBoundCorrection=function(e){var t=Math.ceil(e.totalItems/e.itemsPerPage);return t<e.currentPage&&0<t?t:e.currentPage<1?1:e.currentPage},e.prototype.createPageArray=function(e,t,n,i){i=+i;for(var r=[],a=Math.ceil(n/t),s=Math.ceil(i/2),o=e<=s,p=a-s<e,g=!o&&!p,c=i<a,l=1;l<=a&&l<=i;){var u=void 0,d=this.calculatePageNumber(l,e,i,a);u=c&&(2===l&&(g||p)||l===i-1&&(g||o))?"...":d,r.push({label:u,value:d}),l++}return r},e.prototype.calculatePageNumber=function(e,t,n,i){var r=Math.ceil(n/2);return e===n?i:1===e?e:n<i?i-r<t?i-n+e:r<t?t-r+e:e:e},e}();s.decorators=[{type:t.Directive,args:[{selector:"pagination-template,[pagination-template]",exportAs:"paginationApi"}]}],s.ctorParameters=function(){return[{type:i},{type:t.ChangeDetectorRef}]},s.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var o=Number.MAX_SAFE_INTEGER,p=function(){function e(e){this.service=e,this.state={}}return e.prototype.transform=function(e,t){if(!(e instanceof Array)){var n=t.id||this.service.defaultId();return this.state[n]?this.state[n].slice:e}var i,r,a=t.totalItems&&t.totalItems!==e.length,s=this.createInstance(e,t),p=s.id,g=s.itemsPerPage,c=this.service.register(s);if(!a&&e instanceof Array){if(g=+g||o,r=(i=(s.currentPage-1)*g)+g,this.stateIsIdentical(p,e,i,r))return this.state[p].slice;var l=e.slice(i,r);return this.saveState(p,e,l,i,r),this.service.change.emit(p),l}return c&&this.service.change.emit(p),this.saveState(p,e,e,i,r),e},e.prototype.createInstance=function(e,t){var n;this.checkConfig(t);var i=null!=t.id?t.id:this.service.defaultId();t.itemsPerPage&&((null===(n=this.service.getInstance(i))||void 0===n?void 0:n.itemsPerPage)||this.service.setItemsPerPage(i,+t.itemsPerPage));var r=t.itemsPerPage&&!this.service.getInstance(i).itemsPerPage?t.itemsPerPage:this.service.getInstance(i).itemsPerPage;return{id:null!=t.id?t.id:this.service.defaultId(),itemsPerPage:+r||5,currentPage:+t.currentPage||1,totalItems:+t.totalItems||e.length}},e.prototype.checkConfig=function(e){var t=["currentPage"].filter((function(t){return!(t in e)}));if(0<t.length)throw new Error("PaginatePipe: Argument is missing the following required properties: "+t.join(", "))},e.prototype.saveState=function(e,t,n,i,r){this.state[e]={collection:t,size:t.length,slice:n,start:i,end:r}},e.prototype.stateIsIdentical=function(e,t,n,i){var r=this.state[e];return!!r&&(!(r.size!==t.length||r.start!==n||r.end!==i)&&r.slice.every((function(e,i){return e===t[n+i]})))},e}();p.decorators=[{type:t.Pipe,args:[{name:"paginate",pure:!1}]}],p.ctorParameters=function(){return[{type:i}]};var g=function(){};g.decorators=[{type:t.NgModule,args:[{declarations:[a,p,s],imports:[n.CommonModule],providers:[i],exports:[a,p,s]}]}],e.NgxTablePaginationModule=g,e.PaginationComponent=a,e.PaginationDirective=s,e.PaginationPipe=p,e.PaginationService=i,Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("ngx-table-pagination",["exports","@angular/core","@angular/common","@angular/forms"],t):t((e=e||self)["ngx-table-pagination"]={},e.ng.core,e.ng.common,e.ng.forms)}(this,(function(e,t,n,i){"use strict";var r=function(){function e(){this.change=new t.EventEmitter,this.instances={},this.DEFAULT_ID="DEFAULT_PAGINATION_ID"}return e.prototype.defaultId=function(){return this.DEFAULT_ID},e.prototype.register=function(e){return null==e.id&&(e.id=this.DEFAULT_ID),this.instances[e.id]?this.updateInstance(e):(this.instances[e.id]=e,!0)},e.prototype.updateInstance=function(e){var t=!1;for(var n in this.instances[e.id])e[n]!==this.instances[e.id][n]&&(this.instances[e.id][n]=e[n],t=!0);return t},e.prototype.getCurrentPage=function(e){if(this.instances[e])return this.instances[e].currentPage},e.prototype.setCurrentPage=function(e,t){if(this.instances[e]){var n=this.instances[e];t<=Math.ceil(n.totalItems/n.itemsPerPage)&&1<=t&&(this.instances[e].currentPage=t,this.change.emit(e))}},e.prototype.setTotalItems=function(e,t){this.instances[e]&&0<=t&&(this.instances[e].totalItems=t,this.change.emit(e))},e.prototype.setItemsPerPage=function(e,t){this.instances[e]&&(this.instances[e].itemsPerPage=t,this.change.emit(e))},e.prototype.getInstance=function(e){return void 0===e&&(e=this.DEFAULT_ID),this.instances[e]?this.clone(this.instances[e]):{}},e.prototype.clone=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},e}();function a(e){return!!e&&"false"!==e}var s=function(){function e(){this.maxSize=7,this.previousLabel="",this.nextLabel="",this.screenReaderPaginationLabel="Pagination",this.screenReaderPageLabel="page",this.screenReaderCurrentLabel="You're on page",this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter,this._directionLinks=!0,this._autoHide=!1,this._responsive=!1}return Object.defineProperty(e.prototype,"directionLinks",{get:function(){return this._directionLinks},set:function(e){this._directionLinks=a(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"autoHide",{get:function(){return this._autoHide},set:function(e){this._autoHide=a(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responsive",{get:function(){return this._responsive},set:function(e){this._responsive=a(e)},enumerable:!1,configurable:!0}),e}();s.decorators=[{type:t.Component,args:[{selector:"paging-controls",template:'<pagination-template\r\n #p="paginationApi"\r\n [id]="id"\r\n [maxSize]="maxSize"\r\n (pageChange)="pageChange.emit($event)"\r\n (pageBoundsCorrection)="pageBoundsCorrection.emit($event)"\r\n>\r\n <div *ngIf="!(autoHide && p.pages.length <= 1)">\r\n <div *ngIf="isItemsPerPage">\r\n <span style="display: flex" class="pagination-font">\r\n <label class="show-label">Show</label>\r\n <select\r\n class="select-box pagination-font"\r\n [(ngModel)]="p.itemsPerPage"\r\n (change)="p.pageSizeChanged($event.target.value)"\r\n >\r\n <option\r\n *ngFor="let pageSizeDefault of p.pageSizes"\r\n value="{{ pageSizeDefault }}"\r\n [selected]="pageSizeDefault == p.itemsPerPage"\r\n >\r\n {{ pageSizeDefault }}\r\n </option>\r\n </select>\r\n <label class="entries-label">entries</label></span\r\n >\r\n </div>\r\n\r\n <div\r\n class="ngx-pagination pagination-font"\r\n role="navigation"\r\n *ngIf="!isItemsPerPage"\r\n [attr.aria-label]="screenReaderPaginationLabel"\r\n [class.responsive]="responsive"\r\n >\r\n <label\r\n >Showing {{ p.getStartIndex() }} - {{ p.getEndIndex() }} of\r\n {{ p.getTotalItems() }} entries</label\r\n >\r\n <ul role="navigation" class="">\r\n <li\r\n class="pagination-previous pagination-font page"\r\n [class.disabled]="p.isFirstPage()"\r\n *ngIf="directionLinks"\r\n >\r\n <a\r\n tabindex="0"\r\n *ngIf="1 < p.getCurrent()"\r\n (keyup.enter)="p.previous()"\r\n (click)="p.previous()"\r\n [attr.aria-label]="previousLabel + \' \' + screenReaderPageLabel"\r\n >\r\n {{ previousLabel }}\r\n </a>\r\n <span *ngIf="p.isFirstPage()">\r\n {{ previousLabel }}\r\n </span>\r\n </li>\r\n <li class="small-screen pagination-font page">\r\n {{ p.getCurrent() }} / {{ p.getLastPage() }}\r\n </li>\r\n <li\r\n class="pagination-font page"\r\n [class.current]="p.getCurrent() === page.value"\r\n [class.ellipsis]="page.label === \'...\'"\r\n *ngFor="let page of p.pages"\r\n >\r\n <a\r\n tabindex="0"\r\n (keyup.enter)="p.setCurrent(page.value)"\r\n (click)="p.setCurrent(page.value)"\r\n *ngIf="p.getCurrent() !== page.value"\r\n >\r\n <span class="show-for-sr">{{ screenReaderPageLabel }} </span>\r\n <span>{{\r\n page.label === "..." ? page.label : (page.label | number: "")\r\n }}</span>\r\n </a>\r\n <ng-container *ngIf="p.getCurrent() === page.value">\r\n <span class="show-for-sr">{{ screenReaderCurrentLabel }} </span>\r\n <span>{{\r\n page.label === "..." ? page.label : (page.label | number: "")\r\n }}</span>\r\n </ng-container>\r\n </li>\r\n <li\r\n class="pagination-next pagination-font page"\r\n [class.disabled]="p.isLastPage()"\r\n *ngIf="directionLinks"\r\n >\r\n <a\r\n tabindex="0"\r\n *ngIf="!p.isLastPage()"\r\n (keyup.enter)="p.next()"\r\n (click)="p.next()"\r\n [attr.aria-label]="nextLabel + \' \' + screenReaderPageLabel"\r\n >\r\n {{ nextLabel }}\r\n </a>\r\n <span *ngIf="p.isLastPage()">\r\n {{ nextLabel }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</pagination-template>\r\n',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:['.show-label{margin-right:.25rem}.no-padding{padding:0}.select-box{border:1px solid rgba(51,51,51,.6901960784313725);border-radius:4px;color:rgba(51,51,51,.6901960784313725);opacity:1}.entries-label{margin-left:.25rem}.page{background-color:#fff;border:1px solid #dee2e6;margin-left:-1px;padding:.15rem .2rem;position:relative}.ngx-pagination{display:flex;justify-content:space-between;margin-bottom:1rem;margin-left:0}.ngx-pagination:after,.ngx-pagination:before{display:table}.ngx-pagination:after{clear:both}.ngx-pagination li{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-radius:0;display:inline-block}.ngx-pagination a,.ngx-pagination button{border-radius:0;display:block;padding:.1875rem .625rem}.ngx-pagination a:hover,.ngx-pagination button:hover{background:#e6e6e6}.ngx-pagination .current{background:#2199e8;border:1px solid #dee2e6;color:#fefefe;cursor:default;padding:.355rem .625rem}.ngx-pagination .disabled{color:#cacaca;cursor:default;padding:.295rem .625rem}.ngx-pagination .disabled:hover{background:transparent}.ngx-pagination a,.ngx-pagination button{cursor:pointer}.ngx-pagination .pagination-previous.disabled:before,.ngx-pagination .pagination-previous a:before{content:"«";display:inline-block}.ngx-pagination .pagination-next.disabled:after,.ngx-pagination .pagination-next a:after{content:"»";display:inline-block}.ngx-pagination .show-for-sr{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute!important;width:1px}.ngx-pagination .small-screen{display:none}@media screen and (max-width:601px){.ngx-pagination.responsive .small-screen{display:inline-block}.ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}@media only screen and (max-width:1023px){.pagination-font{color:#2e384d!important;font-size:14px!important}}@media only screen and (min-width:1024px) and (max-width:1439px){.pagination-font{color:#2e384d;font-size:16px!important}}@media only screen and (min-width:1440px) and (max-width:2559px){.pagination-font{color:#2e384d;font-size:18px!important}}']}]}],s.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],isItemsPerPage:[{type:t.Input}],directionLinks:[{type:t.Input}],autoHide:[{type:t.Input}],responsive:[{type:t.Input}],previousLabel:[{type:t.Input}],nextLabel:[{type:t.Input}],screenReaderPaginationLabel:[{type:t.Input}],screenReaderPageLabel:[{type:t.Input}],screenReaderCurrentLabel:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var o=function(){function e(e,n){var i=this;this.service=e,this.changeDetectorRef=n,this.maxSize=7,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter,this.pages=[],this.pageSizes=[],this.changeSub=this.service.change.subscribe((function(e){if(i.id===e){i.updatePageLinks(),i.changeDetectorRef.markForCheck(),i.changeDetectorRef.detectChanges();var t=i.service.getInstance(i.id);i.itemsPerPage=t.itemsPerPage}}))}return e.prototype.ngOnInit=function(){void 0===this.id&&(this.id=this.service.defaultId());var e=this.service.getInstance(this.id);this.itemsPerPage=e.itemsPerPage;for(var t=5;t<=e.totalItems;)this.pageSizes.push(t),t+=5;this.updatePageLinks()},e.prototype.ngOnChanges=function(e){this.updatePageLinks()},e.prototype.ngOnDestroy=function(){this.changeSub.unsubscribe()},e.prototype.pageSizeChanged=function(e){this.itemsPerPage=e,this.service.setItemsPerPage(this.id,e),this.setCurrent(1),this.updatePageLinks()},e.prototype.previous=function(){this.checkValidId(),this.setCurrent(this.getCurrent()-1)},e.prototype.next=function(){this.checkValidId(),this.setCurrent(this.getCurrent()+1)},e.prototype.isFirstPage=function(){return 1===this.getCurrent()},e.prototype.isLastPage=function(){return this.getLastPage()===this.getCurrent()},e.prototype.setCurrent=function(e){this.pageChange.emit(e)},e.prototype.getCurrent=function(){return this.service.getCurrentPage(this.id)},e.prototype.getLastPage=function(){var e=this.service.getInstance(this.id);return e.totalItems<1?1:Math.ceil(e.totalItems/e.itemsPerPage)},e.prototype.getTotalItems=function(){return this.service.getInstance(this.id).totalItems},e.prototype.getStartIndex=function(){var e=this.service.getInstance(this.id);return e.totalItems<e.itemsPerPage*(e.currentPage-1)+1&&this.setCurrent(1),e.itemsPerPage*(e.currentPage-1)+1},e.prototype.getEndIndex=function(){var e=this.service.getInstance(this.id),t=e.itemsPerPage*e.currentPage;return e.totalItems<t?e.totalItems:t},e.prototype.checkValidId=function(){null==this.service.getInstance(this.id).id&&console.warn('PaginationControlsDirective: the specified id "'+this.id+'" does not match any registered PaginationInstance')},e.prototype.updatePageLinks=function(){var e=this,t=this.service.getInstance(this.id),n=this.outOfBoundCorrection(t);n!==t.currentPage?setTimeout((function(){e.pageBoundsCorrection.emit(n),e.pages=e.createPageArray(t.currentPage,t.itemsPerPage,t.totalItems,e.maxSize)})):this.pages=this.createPageArray(t.currentPage,t.itemsPerPage,t.totalItems,this.maxSize)},e.prototype.outOfBoundCorrection=function(e){var t=Math.ceil(e.totalItems/e.itemsPerPage);return t<e.currentPage&&0<t?t:e.currentPage<1?1:e.currentPage},e.prototype.createPageArray=function(e,t,n,i){i=+i;for(var r=[],a=Math.ceil(n/t),s=Math.ceil(i/2),o=e<=s,p=a-s<e,g=!o&&!p,c=i<a,l=1;l<=a&&l<=i;){var u=void 0,d=this.calculatePageNumber(l,e,i,a);u=c&&(2===l&&(g||p)||l===i-1&&(g||o))?"...":d,r.push({label:u,value:d}),l++}return r},e.prototype.calculatePageNumber=function(e,t,n,i){var r=Math.ceil(n/2);return e===n?i:1===e?e:n<i?i-r<t?i-n+e:r<t?t-r+e:e:e},e}();o.decorators=[{type:t.Directive,args:[{selector:"pagination-template,[pagination-template]",exportAs:"paginationApi"}]}],o.ctorParameters=function(){return[{type:r},{type:t.ChangeDetectorRef}]},o.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var p=Number.MAX_SAFE_INTEGER,g=function(){function e(e){this.service=e,this.state={}}return e.prototype.transform=function(e,t){if(!(e instanceof Array)){var n=t.id||this.service.defaultId();return this.state[n]?this.state[n].slice:e}var i,r,a=t.totalItems&&t.totalItems!==e.length,s=this.createInstance(e,t),o=s.id,g=s.itemsPerPage,c=this.service.register(s);if(!a&&e instanceof Array){if(g=+g||p,r=(i=(s.currentPage-1)*g)+g,this.stateIsIdentical(o,e,i,r))return this.state[o].slice;var l=e.slice(i,r);return this.saveState(o,e,l,i,r),this.service.change.emit(o),l}return c&&this.service.change.emit(o),this.saveState(o,e,e,i,r),e},e.prototype.createInstance=function(e,t){var n;this.checkConfig(t);var i=null!=t.id?t.id:this.service.defaultId();t.itemsPerPage&&((null===(n=this.service.getInstance(i))||void 0===n?void 0:n.itemsPerPage)||this.service.setItemsPerPage(i,+t.itemsPerPage));var r=t.itemsPerPage&&!this.service.getInstance(i).itemsPerPage?t.itemsPerPage:this.service.getInstance(i).itemsPerPage;return{id:null!=t.id?t.id:this.service.defaultId(),itemsPerPage:+r||5,currentPage:+t.currentPage||1,totalItems:+t.totalItems||e.length}},e.prototype.checkConfig=function(e){var t=["currentPage"].filter((function(t){return!(t in e)}));if(0<t.length)throw new Error("PaginatePipe: Argument is missing the following required properties: "+t.join(", "))},e.prototype.saveState=function(e,t,n,i,r){this.state[e]={collection:t,size:t.length,slice:n,start:i,end:r}},e.prototype.stateIsIdentical=function(e,t,n,i){var r=this.state[e];return!!r&&(!(r.size!==t.length||r.start!==n||r.end!==i)&&r.slice.every((function(e,i){return e===t[n+i]})))},e}();g.decorators=[{type:t.Pipe,args:[{name:"paginate",pure:!1}]}],g.ctorParameters=function(){return[{type:r}]};var c=function(){};c.decorators=[{type:t.NgModule,args:[{declarations:[s,g,o],imports:[n.CommonModule,i.FormsModule],providers:[r],exports:[s,g,o]}]}],e.NgxTablePaginationModule=c,e.PaginationComponent=s,e.PaginationDirective=o,e.PaginationPipe=g,e.PaginationService=r,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-table-pagination.umd.min.js.map

@@ -1,1 +0,1 @@

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9BZHJlbmFsaW5lV1MvZGVtb3Mvbmd4LXRhYmxlLXBhZ2luYXRpb24vcHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3BhZ2luYXRpb24taW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25JbnN0YW5jZXtcclxuICAvLyBvcHRpb25hbCBpZCBpZiB5b3Ugd2lzaCB0byBoYXZlIG11bHRpcGxlIGluc3RhbmNlcyBvbiBhIHNpbmdsZSBjb21wb25lbnRcclxuICBpZD86IHN0cmluZztcclxuICAvLyB0byBjdXN0b21pemUgdGhlIG51bWJlciBvZiBpdGVtcyB0byBiZSBkaXNwbGF5ZWQgZWFjaCB0aW1lXHJcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcblxyXG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XHJcbi8vIHRoZSB0b3RhbCBudW1iZXIgaXRlbXMgaW4gdGhlIGNvbGxlYWN0aW9uXHJcbi8vIG9ubHkgdXNlZnVsIHdoZW4gZG9pbmcgc2VydmVyc2lkZSByZW5kZXJpbmcsIHdoZXJlXHJcbi8vIHRoZSBjb2xsZWN0aW9uIHNpemUgaXMgbGltaXRlZCB0byBhIHNpbmdsZSBwYWdlXHJcbi8vIHJldHVyZWQgIGJ5IHRoZSBzZXJ2ZXIgYXBpXHJcblxyXG4vLyBGb3IgaW5fbWVtb3J5IHBhZ2luZywgdGhpcyBwcm9wZXJ0eSBzaG91bGQgbm90IGJlIHNldCxcclxuLy8gYXMgaXQgd2lsbCBhdXRvbWF0aWNhbGx5IHNldCB0byB0aGUgY29sbGVjdGlvbi5sZW5ndGggcHJvcGVydHlcclxuICB0b3RhbEl0ZW1zPzogbnVtYmVyO1xyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9NeS1Qcm9qZWN0cy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9wcm9qZWN0cy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9zcmMvIiwic291cmNlcyI6WyJsaWIvcGFnaW5hdGlvbi1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbkluc3RhbmNle1xyXG4gIC8vIG9wdGlvbmFsIGlkIGlmIHlvdSB3aXNoIHRvIGhhdmUgbXVsdGlwbGUgaW5zdGFuY2VzIG9uIGEgc2luZ2xlIGNvbXBvbmVudFxyXG4gIGlkPzogc3RyaW5nO1xyXG4gIC8vIHRvIGN1c3RvbWl6ZSB0aGUgbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBlYWNoIHRpbWVcclxuICBpdGVtc1BlclBhZ2U6IG51bWJlcjtcclxuXHJcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcclxuLy8gdGhlIHRvdGFsIG51bWJlciBpdGVtcyBpbiB0aGUgY29sbGVhY3Rpb25cclxuLy8gb25seSB1c2VmdWwgd2hlbiBkb2luZyBzZXJ2ZXJzaWRlIHJlbmRlcmluZywgd2hlcmVcclxuLy8gdGhlIGNvbGxlY3Rpb24gc2l6ZSBpcyBsaW1pdGVkIHRvIGEgc2luZ2xlIHBhZ2VcclxuLy8gcmV0dXJlZCAgYnkgdGhlIHNlcnZlciBhcGlcclxuXHJcbi8vIEZvciBpbl9tZW1vcnkgcGFnaW5nLCB0aGlzIHByb3BlcnR5IHNob3VsZCBub3QgYmUgc2V0LFxyXG4vLyBhcyBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRoZSBjb2xsZWN0aW9uLmxlbmd0aCBwcm9wZXJ0eVxyXG4gIHRvdGFsSXRlbXM/OiBudW1iZXI7XHJcbn1cclxuIl19

@@ -67,2 +67,2 @@ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core';

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovQWRyZW5hbGluZVdTL2RlbW9zL25neC10YWJsZS1wYWdpbmF0aW9uL3Byb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsU0FBUyxlQUFlLENBQUMsS0FBdUI7SUFDOUMsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxPQUFPLENBQUM7QUFDdEMsQ0FBQztBQUVEOztHQUVHO0FBUUgsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVNXLFlBQU8sR0FBVyxDQUFDLENBQUM7UUF3QjdCLGtDQUFrQztRQUN6QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGdDQUEyQixHQUFHLFlBQVksQ0FBQztRQUMzQywwQkFBcUIsR0FBVyxNQUFNLENBQUM7UUFDdkMsNkJBQXdCLEdBQVcsZ0JBQWdCLENBQUM7UUFDbkQsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELHlCQUFvQixHQUF5QixJQUFJLFlBQVksRUFFcEUsQ0FBQztRQUVJLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBQ2hDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQXBDQyx5QkFBeUI7SUFDekIsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxjQUFjLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7O1lBaENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixveUhBQTBDO2dCQUUxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7aUJBRUUsS0FBSztzQkFDTCxLQUFLOzZCQUNMLEtBQUs7NkJBRUwsS0FBSzt1QkFPTCxLQUFLO3lCQU9MLEtBQUs7NEJBUUwsS0FBSzt3QkFDTCxLQUFLOzBDQUNMLEtBQUs7b0NBQ0wsS0FBSzt1Q0FDTCxLQUFLO3lCQUNMLE1BQU07bUNBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmZ1bmN0aW9uIGNvZXJjZVRvQm9vbGVhbihpbnB1dDogc3RyaW5nIHwgYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAhIWlucHV0ICYmIGlucHV0ICE9PSAnZmFsc2UnO1xyXG59XHJcblxyXG4vKipcclxuICogVGhlIGRlZmF1bHQgcGFnaW5hdGlvbiBjb250cm9scyBjb21wb25lbnQuIEFjdHVhbGx5IGp1c3QgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIGEgY3VzdG9tIHRlbXBsYXRlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYWdpbmctY29udHJvbHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5jc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXhTaXplOiBudW1iZXIgPSA3O1xyXG4gIEBJbnB1dCgpIGlzSXRlbXNQZXJQYWdlOiBib29sZWFuO1xyXG4gIC8vIEBJbnB1dCgpIGl0ZW1zUGVyUGFnZTtcclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXJlY3Rpb25MaW5rcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXJlY3Rpb25MaW5rcztcclxuICB9XHJcbiAgc2V0IGRpcmVjdGlvbkxpbmtzKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kaXJlY3Rpb25MaW5rcyA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGF1dG9IaWRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1dG9IaWRlO1xyXG4gIH1cclxuICBzZXQgYXV0b0hpZGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2F1dG9IaWRlID0gY29lcmNlVG9Cb29sZWFuKHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgcmVzcG9uc2l2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXNwb25zaXZlO1xyXG4gIH1cclxuICBzZXQgcmVzcG9uc2l2ZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmVzcG9uc2l2ZSA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XHJcbiAgfVxyXG4gIC8vIEBJbnB1dCgpIGlzSXRlbXNOdW1iZXIgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwcmV2aW91c0xhYmVsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBuZXh0TGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHNjcmVlblJlYWRlclBhZ2luYXRpb25MYWJlbCA9ICdQYWdpbmF0aW9uJztcclxuICBASW5wdXQoKSBzY3JlZW5SZWFkZXJQYWdlTGFiZWw6IHN0cmluZyA9ICdwYWdlJztcclxuICBASW5wdXQoKSBzY3JlZW5SZWFkZXJDdXJyZW50TGFiZWw6IHN0cmluZyA9IGBZb3UncmUgb24gcGFnZWA7XHJcbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2VCb3VuZHNDb3JyZWN0aW9uOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBudW1iZXJcclxuICA+KCk7XHJcblxyXG4gIHByaXZhdGUgX2RpcmVjdGlvbkxpbmtzOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIF9hdXRvSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3Jlc3BvbnNpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovTXktUHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vcHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixTQUFTLGVBQWUsQ0FBQyxLQUF1QjtJQUM5QyxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLE9BQU8sQ0FBQztBQUN0QyxDQUFDO0FBRUQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8sbUJBQW1CO0lBUGhDO1FBU1csWUFBTyxHQUFXLENBQUMsQ0FBQztRQXdCN0Isa0NBQWtDO1FBQ3pCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsZ0NBQTJCLEdBQUcsWUFBWSxDQUFDO1FBQzNDLDBCQUFxQixHQUFXLE1BQU0sQ0FBQztRQUN2Qyw2QkFBd0IsR0FBVyxnQkFBZ0IsQ0FBQztRQUNuRCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUQseUJBQW9CLEdBQXlCLElBQUksWUFBWSxFQUVwRSxDQUFDO1FBRUksb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFZLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBcENDLHlCQUF5QjtJQUN6QixJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7WUFoQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLG95SEFBMEM7Z0JBRTFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7OztpQkFFRSxLQUFLO3NCQUNMLEtBQUs7NkJBQ0wsS0FBSzs2QkFFTCxLQUFLO3VCQU9MLEtBQUs7eUJBT0wsS0FBSzs0QkFRTCxLQUFLO3dCQUNMLEtBQUs7MENBQ0wsS0FBSztvQ0FDTCxLQUFLO3VDQUNMLEtBQUs7eUJBQ0wsTUFBTTttQ0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuZnVuY3Rpb24gY29lcmNlVG9Cb29sZWFuKGlucHV0OiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuICEhaW5wdXQgJiYgaW5wdXQgIT09ICdmYWxzZSc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGUgZGVmYXVsdCBwYWdpbmF0aW9uIGNvbnRyb2xzIGNvbXBvbmVudC4gQWN0dWFsbHkganVzdCBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgYSBjdXN0b20gdGVtcGxhdGUuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BhZ2luZy1jb250cm9scycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LmNzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heFNpemU6IG51bWJlciA9IDc7XHJcbiAgQElucHV0KCkgaXNJdGVtc1BlclBhZ2U6IGJvb2xlYW47XHJcbiAgLy8gQElucHV0KCkgaXRlbXNQZXJQYWdlO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpcmVjdGlvbkxpbmtzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RpcmVjdGlvbkxpbmtzO1xyXG4gIH1cclxuICBzZXQgZGlyZWN0aW9uTGlua3ModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2RpcmVjdGlvbkxpbmtzID0gY29lcmNlVG9Cb29sZWFuKHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgYXV0b0hpZGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXV0b0hpZGU7XHJcbiAgfVxyXG4gIHNldCBhdXRvSGlkZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYXV0b0hpZGUgPSBjb2VyY2VUb0Jvb2xlYW4odmFsdWUpO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGdldCByZXNwb25zaXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc3BvbnNpdmU7XHJcbiAgfVxyXG4gIHNldCByZXNwb25zaXZlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9yZXNwb25zaXZlID0gY29lcmNlVG9Cb29sZWFuKHZhbHVlKTtcclxuICB9XHJcbiAgLy8gQElucHV0KCkgaXNJdGVtc051bWJlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHByZXZpb3VzTGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG5leHRMYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc2NyZWVuUmVhZGVyUGFnaW5hdGlvbkxhYmVsID0gJ1BhZ2luYXRpb24nO1xyXG4gIEBJbnB1dCgpIHNjcmVlblJlYWRlclBhZ2VMYWJlbDogc3RyaW5nID0gJ3BhZ2UnO1xyXG4gIEBJbnB1dCgpIHNjcmVlblJlYWRlckN1cnJlbnRMYWJlbDogc3RyaW5nID0gYFlvdSdyZSBvbiBwYWdlYDtcclxuICBAT3V0cHV0KCkgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgcGFnZUJvdW5kc0NvcnJlY3Rpb246IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIG51bWJlclxyXG4gID4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfZGlyZWN0aW9uTGlua3M6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHByaXZhdGUgX2F1dG9IaWRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfcmVzcG9uc2l2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiJdfQ==

@@ -233,2 +233,2 @@ import { ChangeDetectorRef, Directive, EventEmitter, Input, Output, } from '@angular/core';

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiQzovQWRyZW5hbGluZVdTL2RlbW9zL25neC10YWJsZS1wYWdpbmF0aW9uL3Byb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wYWdpbmF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVF6RDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLG1CQUFtQjtJQWE5QixZQUNVLE9BQTBCLEVBQzFCLGlCQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBYnJDLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFFWCxlQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDOUQseUJBQW9CLEdBQXlCLElBQUksWUFBWSxFQUVwRSxDQUFDO1FBQ0osVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixjQUFTLEdBQVUsRUFBRSxDQUFDO1FBUXBCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDcEQsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDdkM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRTtZQUN6QixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFJO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDUjtRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0QsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0Q7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDdkIsaUZBQWlGO1lBQ2pGLHdFQUF3RTtZQUN4RSxPQUFPLENBQUMsQ0FBQztTQUNWO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFDRCxhQUFhO1FBQ1gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQjtRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN4QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNPLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNoRCxPQUFPLENBQUMsSUFBSSxDQUNWLGtEQUFrRCxJQUFJLENBQUMsRUFBRSxvREFBb0QsQ0FDOUcsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3RCxJQUFJLG9CQUFvQixLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDN0MsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FDL0IsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQy9CLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssb0JBQW9CLENBQUMsUUFBNEI7UUFDdkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRSxJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsV0FBVyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUU7WUFDdkQsT0FBTyxVQUFVLENBQUM7U0FDbkI7YUFBTSxJQUFJLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUNyQixXQUFtQixFQUNuQixZQUFvQixFQUNwQixVQUFrQixFQUNsQixlQUF1QjtRQUV2QixpRkFBaUY7UUFDakYsZUFBZSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUvQyxNQUFNLE9BQU8sR0FBRyxXQUFXLElBQUksT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLFVBQVUsR0FBRyxPQUFPLEdBQUcsV0FBVyxDQUFDO1FBQ2pELE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXBDLE1BQU0sY0FBYyxHQUFHLGVBQWUsR0FBRyxVQUFVLENBQUM7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRVYsT0FBTyxDQUFDLElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxlQUFlLEVBQUU7WUFDOUMsSUFBSSxLQUFLLENBQUM7WUFDVixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQ3pDLENBQUMsRUFDRCxXQUFXLEVBQ1gsZUFBZSxFQUNmLFVBQVUsQ0FDWCxDQUFDO1lBQ0YsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxDQUFDO1lBQzdELE1BQU0scUJBQXFCLEdBQ3pCLENBQUMsS0FBSyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELElBQUksY0FBYyxJQUFJLENBQUMscUJBQXFCLElBQUkscUJBQXFCLENBQUMsRUFBRTtnQkFDdEUsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUNmO2lCQUFNO2dCQUNMLEtBQUssR0FBRyxVQUFVLENBQUM7YUFDcEI7WUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULEtBQUs7Z0JBQ0wsS0FBSyxFQUFFLFVBQVU7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxFQUFFLENBQUM7U0FDTDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG1CQUFtQixDQUN6QixDQUFTLEVBQ1QsV0FBbUIsRUFDbkIsZUFBdUIsRUFDdkIsVUFBa0I7UUFFbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssZUFBZSxFQUFFO1lBQ3pCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO2FBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7YUFBTSxJQUFJLGVBQWUsR0FBRyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxVQUFVLEdBQUcsT0FBTyxHQUFHLFdBQVcsRUFBRTtnQkFDdEMsT0FBTyxVQUFVLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQzthQUN6QztpQkFBTSxJQUFJLE9BQU8sR0FBRyxXQUFXLEVBQUU7Z0JBQ2hDLE9BQU8sV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLENBQUM7YUFDVjtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQzs7O1lBblFGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkNBQTJDO2dCQUNyRCxRQUFRLEVBQUUsZUFBZTthQUMxQjs7O1lBaEJRLGlCQUFpQjtZQVR4QixpQkFBaUI7OztpQkEyQmhCLEtBQUs7c0JBQ0wsS0FBSzt5QkFFTCxNQUFNO21DQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkluc3RhbmNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLWluc3RhbmNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogVGhpcyBkaXJlY3RpdmUgaXMgd2hhdCBwb3dlcnMgYWxsIHBhZ2luYXRpb24gY29udHJvbHMgY29tcG9uZW50cywgaW5jbHVkaW5nIHRoZSBkZWZhdWx0IG9uZS5cclxuICogSXQgZXhwb3NlcyBhbiBBUEkgd2hpY2ggaXMgaG9va2VkIHVwIHRvIHRoZSBQYWdpbmF0aW9uU2VydmljZSB0byBrZWVwIHRoZSBQYWdpbmF0ZVBpcGUgaW4gc3luY1xyXG4gKiB3aXRoIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdwYWdpbmF0aW9uLXRlbXBsYXRlLFtwYWdpbmF0aW9uLXRlbXBsYXRlXScsXHJcbiAgZXhwb3J0QXM6ICdwYWdpbmF0aW9uQXBpJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4U2l6ZSA9IDc7XHJcblxyXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIEBPdXRwdXQoKSBwYWdlQm91bmRzQ29ycmVjdGlvbjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgbnVtYmVyXHJcbiAgPigpO1xyXG4gIHBhZ2VzOiBQYWdlW10gPSBbXTtcclxuICBwYWdlU2l6ZXM6IGFueVtdID0gW107XHJcbiAgaXRlbXNQZXJQYWdlOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBjaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFBhZ2luYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgIHRoaXMuY2hhbmdlU3ViID0gdGhpcy5zZXJ2aWNlLmNoYW5nZS5zdWJzY3JpYmUoKGlkKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlkID09PSBpZCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICBjb25zdCBpbnN0ID0gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpO1xyXG4gICAgICAgIHRoaXMuaXRlbXNQZXJQYWdlID0gaW5zdC5pdGVtc1BlclBhZ2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5pZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaWQgPSB0aGlzLnNlcnZpY2UuZGVmYXVsdElkKCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbnN0ID0gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpO1xyXG4gICAgdGhpcy5pdGVtc1BlclBhZ2UgPSBpbnN0Lml0ZW1zUGVyUGFnZTtcclxuICAgIGZvciAobGV0IGkgPSA1OyBpIDw9IGluc3QudG90YWxJdGVtczsgKSB7XHJcbiAgICAgIHRoaXMucGFnZVNpemVzLnB1c2goaSk7XHJcbiAgICAgIGkgKz0gNTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpIHtcclxuICAgIHRoaXMudXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuY2hhbmdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIHBhZ2VTaXplQ2hhbmdlZChldmVudCkge1xyXG4gICAgdGhpcy5pdGVtc1BlclBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMuc2VydmljZS5zZXRJdGVtc1BlclBhZ2UodGhpcy5pZCwgZXZlbnQpO1xyXG4gICAgdGhpcy5zZXRDdXJyZW50KDEpO1xyXG4gICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR28gdG8gdGhlIHByZXZpb3VzIHBhZ2VcclxuICAgKi9cclxuICBwcmV2aW91cygpIHtcclxuICAgIHRoaXMuY2hlY2tWYWxpZElkKCk7XHJcbiAgICB0aGlzLnNldEN1cnJlbnQodGhpcy5nZXRDdXJyZW50KCkgLSAxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdvIHRvIHRoZSBuZXh0IHBhZ2VcclxuICAgKi9cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5jaGVja1ZhbGlkSWQoKTtcclxuICAgIHRoaXMuc2V0Q3VycmVudCh0aGlzLmdldEN1cnJlbnQoKSArIDEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0cnVlIGlmIGN1cnJlbnQgcGFnZSBpcyBmaXJzdCBwYWdlXHJcbiAgICovXHJcbiAgaXNGaXJzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50KCkgPT09IDE7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRydWUgaWYgY3VycmVudCBwYWdlIGlzIGxhc3QgcGFnZVxyXG4gICAqL1xyXG4gIGlzTGFzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRMYXN0UGFnZSgpID09PSB0aGlzLmdldEN1cnJlbnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cclxuICAgKi9cclxuICBzZXRDdXJyZW50KHBhZ2U6IG51bWJlcikge1xyXG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQocGFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIuXHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRDdXJyZW50UGFnZSh0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGxhc3QgcGFnZSBudW1iZXJcclxuICAgKi9cclxuICBnZXRMYXN0UGFnZSgpOiBudW1iZXIge1xyXG4gICAgY29uc3QgaW5zdCA9IHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgIGlmIChpbnN0LnRvdGFsSXRlbXMgPCAxKSB7XHJcbiAgICAgIC8vIHdoZW4gdGhlcmUgYXJlIDAgb3IgZmV3ZXIgKGFuIGVycm9yIGNhc2UpIGl0ZW1zLCB0aGVyZSBhcmUgbm8gXCJwYWdlc1wiIGFzIHN1Y2gsXHJcbiAgICAgIC8vIGJ1dCBpdCBtYWtlcyBzZW5zZSB0byBjb25zaWRlciBhIHNpbmdsZSwgZW1wdHkgcGFnZSBhcyB0aGUgbGFzdCBwYWdlLlxyXG4gICAgICByZXR1cm4gMTtcclxuICAgIH1cclxuICAgIHJldHVybiBNYXRoLmNlaWwoaW5zdC50b3RhbEl0ZW1zIC8gaW5zdC5pdGVtc1BlclBhZ2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG90YWxJdGVtcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKS50b3RhbEl0ZW1zO1xyXG4gIH1cclxuICBnZXRTdGFydEluZGV4KCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBpbnN0ID0gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpO1xyXG4gICAgaWYgKGluc3QudG90YWxJdGVtcyA8IGluc3QuaXRlbXNQZXJQYWdlICogKGluc3QuY3VycmVudFBhZ2UgLSAxKSArIDEpIHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50KDEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGluc3QuaXRlbXNQZXJQYWdlICogKGluc3QuY3VycmVudFBhZ2UgLSAxKSArIDE7XHJcbiAgfVxyXG5cclxuICBnZXRFbmRJbmRleCgpOiBudW1iZXIge1xyXG4gICAgY29uc3QgaW5zdCA9IHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgIGNvbnN0IGVuZCA9IGluc3QuaXRlbXNQZXJQYWdlICogaW5zdC5jdXJyZW50UGFnZTtcclxuICAgIGlmIChpbnN0LnRvdGFsSXRlbXMgPCBlbmQpIHtcclxuICAgICAgcmV0dXJuIGluc3QudG90YWxJdGVtcztcclxuICAgIH1cclxuICAgIHJldHVybiBlbmQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgY2hlY2tWYWxpZElkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKS5pZCA9PSBudWxsKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICBgUGFnaW5hdGlvbkNvbnRyb2xzRGlyZWN0aXZlOiB0aGUgc3BlY2lmaWVkIGlkIFwiJHt0aGlzLmlkfVwiIGRvZXMgbm90IG1hdGNoIGFueSByZWdpc3RlcmVkIFBhZ2luYXRpb25JbnN0YW5jZWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgdGhlIHBhZ2UgbGlua3MgYW5kIGNoZWNrcyB0aGF0IHRoZSBjdXJyZW50IHBhZ2UgaXMgdmFsaWQuIFNob3VsZCBydW4gd2hlbmV2ZXIgdGhlXHJcbiAgICogUGFnaW5hdGlvblNlcnZpY2UuY2hhbmdlIHN0cmVhbSBlbWl0cyBhIHZhbHVlIG1hdGNoaW5nIHRoZSBjdXJyZW50IElELCBvciB3aGVuIGFueSBvZiB0aGVcclxuICAgKiBpbnB1dCB2YWx1ZXMgY2hhbmdlcy5cclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZVBhZ2VMaW5rcygpIHtcclxuICAgIGNvbnN0IGluc3QgPSB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICBjb25zdCBjb3JyZWN0ZWRDdXJyZW50UGFnZSA9IHRoaXMub3V0T2ZCb3VuZENvcnJlY3Rpb24oaW5zdCk7XHJcblxyXG4gICAgaWYgKGNvcnJlY3RlZEN1cnJlbnRQYWdlICE9PSBpbnN0LmN1cnJlbnRQYWdlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucGFnZUJvdW5kc0NvcnJlY3Rpb24uZW1pdChjb3JyZWN0ZWRDdXJyZW50UGFnZSk7XHJcbiAgICAgICAgdGhpcy5wYWdlcyA9IHRoaXMuY3JlYXRlUGFnZUFycmF5KFxyXG4gICAgICAgICAgaW5zdC5jdXJyZW50UGFnZSxcclxuICAgICAgICAgIGluc3QuaXRlbXNQZXJQYWdlLFxyXG4gICAgICAgICAgaW5zdC50b3RhbEl0ZW1zLFxyXG4gICAgICAgICAgdGhpcy5tYXhTaXplXHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhZ2VzID0gdGhpcy5jcmVhdGVQYWdlQXJyYXkoXHJcbiAgICAgICAgaW5zdC5jdXJyZW50UGFnZSxcclxuICAgICAgICBpbnN0Lml0ZW1zUGVyUGFnZSxcclxuICAgICAgICBpbnN0LnRvdGFsSXRlbXMsXHJcbiAgICAgICAgdGhpcy5tYXhTaXplXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgdGhhdCB0aGUgaW5zdGFuY2UuY3VycmVudFBhZ2UgcHJvcGVydHkgaXMgd2l0aGluIGJvdW5kcyBmb3IgdGhlIGN1cnJlbnQgcGFnZSByYW5nZS5cclxuICAgKiBJZiBub3QsIHJldHVybiBhIGNvcnJlY3QgdmFsdWUgZm9yIGN1cnJlbnRQYWdlLCBvciB0aGUgY3VycmVudCB2YWx1ZSBpZiBPSy5cclxuICAgKi9cclxuICBwcml2YXRlIG91dE9mQm91bmRDb3JyZWN0aW9uKGluc3RhbmNlOiBQYWdpbmF0aW9uSW5zdGFuY2UpOiBudW1iZXIge1xyXG4gICAgY29uc3QgdG90YWxQYWdlcyA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgIGlmICh0b3RhbFBhZ2VzIDwgaW5zdGFuY2UuY3VycmVudFBhZ2UgJiYgMCA8IHRvdGFsUGFnZXMpIHtcclxuICAgICAgcmV0dXJuIHRvdGFsUGFnZXM7XHJcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLmN1cnJlbnRQYWdlIDwgMSkge1xyXG4gICAgICByZXR1cm4gMTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaW5zdGFuY2UuY3VycmVudFBhZ2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIFBhZ2Ugb2JqZWN0cyB0byB1c2UgaW4gdGhlIHBhZ2luYXRpb24gY29udHJvbHMuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVQYWdlQXJyYXkoXHJcbiAgICBjdXJyZW50UGFnZTogbnVtYmVyLFxyXG4gICAgaXRlbXNQZXJQYWdlOiBudW1iZXIsXHJcbiAgICB0b3RhbEl0ZW1zOiBudW1iZXIsXHJcbiAgICBwYWdpbmF0aW9uUmFuZ2U6IG51bWJlclxyXG4gICk6IFBhZ2VbXSB7XHJcbiAgICAvLyBwYWdpbmF0aW9uUmFuZ2UgY291bGQgYmUgYSBzdHJpbmcgaWYgcGFzc2VkIGZyb20gYXR0cmlidXRlLCBzbyBjYXN0IHRvIG51bWJlci5cclxuICAgIHBhZ2luYXRpb25SYW5nZSA9ICtwYWdpbmF0aW9uUmFuZ2U7XHJcbiAgICBjb25zdCBwYWdlcyA9IFtdO1xyXG4gICAgY29uc3QgdG90YWxQYWdlcyA9IE1hdGguY2VpbCh0b3RhbEl0ZW1zIC8gaXRlbXNQZXJQYWdlKTtcclxuICAgIGNvbnN0IGhhbGZXYXkgPSBNYXRoLmNlaWwocGFnaW5hdGlvblJhbmdlIC8gMik7XHJcblxyXG4gICAgY29uc3QgaXNTdGFydCA9IGN1cnJlbnRQYWdlIDw9IGhhbGZXYXk7XHJcbiAgICBjb25zdCBpc0VuZCA9IHRvdGFsUGFnZXMgLSBoYWxmV2F5IDwgY3VycmVudFBhZ2U7XHJcbiAgICBjb25zdCBpc01pZGRsZSA9ICFpc1N0YXJ0ICYmICFpc0VuZDtcclxuXHJcbiAgICBjb25zdCBlbGxpcHNlc05lZWRlZCA9IHBhZ2luYXRpb25SYW5nZSA8IHRvdGFsUGFnZXM7XHJcbiAgICBsZXQgaSA9IDE7XHJcblxyXG4gICAgd2hpbGUgKGkgPD0gdG90YWxQYWdlcyAmJiBpIDw9IHBhZ2luYXRpb25SYW5nZSkge1xyXG4gICAgICBsZXQgbGFiZWw7XHJcbiAgICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSB0aGlzLmNhbGN1bGF0ZVBhZ2VOdW1iZXIoXHJcbiAgICAgICAgaSxcclxuICAgICAgICBjdXJyZW50UGFnZSxcclxuICAgICAgICBwYWdpbmF0aW9uUmFuZ2UsXHJcbiAgICAgICAgdG90YWxQYWdlc1xyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBvcGVuaW5nRWxsaXBzZXNOZWVkZWQgPSBpID09PSAyICYmIChpc01pZGRsZSB8fCBpc0VuZCk7XHJcbiAgICAgIGNvbnN0IGNsb3NpbmdFbGxpcHNlc05lZWRlZCA9XHJcbiAgICAgICAgaSA9PT0gcGFnaW5hdGlvblJhbmdlIC0gMSAmJiAoaXNNaWRkbGUgfHwgaXNTdGFydCk7XHJcbiAgICAgIGlmIChlbGxpcHNlc05lZWRlZCAmJiAob3BlbmluZ0VsbGlwc2VzTmVlZGVkIHx8IGNsb3NpbmdFbGxpcHNlc05lZWRlZCkpIHtcclxuICAgICAgICBsYWJlbCA9ICcuLi4nO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxhYmVsID0gcGFnZU51bWJlcjtcclxuICAgICAgfVxyXG4gICAgICBwYWdlcy5wdXNoKHtcclxuICAgICAgICBsYWJlbCxcclxuICAgICAgICB2YWx1ZTogcGFnZU51bWJlcixcclxuICAgICAgfSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICAgIHJldHVybiBwYWdlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdpdmVuIHRoZSBwb3NpdGlvbiBpbiB0aGUgc2VxdWVuY2Ugb2YgcGFnaW5hdGlvbiBsaW5rcyBbaV0sXHJcbiAgICogZmlndXJlIG91dCB3aGF0IHBhZ2UgbnVtYmVyIGNvcnJlc3BvbmRzIHRvIHRoYXQgcG9zaXRpb24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjYWxjdWxhdGVQYWdlTnVtYmVyKFxyXG4gICAgaTogbnVtYmVyLFxyXG4gICAgY3VycmVudFBhZ2U6IG51bWJlcixcclxuICAgIHBhZ2luYXRpb25SYW5nZTogbnVtYmVyLFxyXG4gICAgdG90YWxQYWdlczogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBjb25zdCBoYWxmV2F5ID0gTWF0aC5jZWlsKHBhZ2luYXRpb25SYW5nZSAvIDIpO1xyXG4gICAgaWYgKGkgPT09IHBhZ2luYXRpb25SYW5nZSkge1xyXG4gICAgICByZXR1cm4gdG90YWxQYWdlcztcclxuICAgIH0gZWxzZSBpZiAoaSA9PT0gMSkge1xyXG4gICAgICByZXR1cm4gaTtcclxuICAgIH0gZWxzZSBpZiAocGFnaW5hdGlvblJhbmdlIDwgdG90YWxQYWdlcykge1xyXG4gICAgICBpZiAodG90YWxQYWdlcyAtIGhhbGZXYXkgPCBjdXJyZW50UGFnZSkge1xyXG4gICAgICAgIHJldHVybiB0b3RhbFBhZ2VzIC0gcGFnaW5hdGlvblJhbmdlICsgaTtcclxuICAgICAgfSBlbHNlIGlmIChoYWxmV2F5IDwgY3VycmVudFBhZ2UpIHtcclxuICAgICAgICByZXR1cm4gY3VycmVudFBhZ2UgLSBoYWxmV2F5ICsgaTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiQzovTXktUHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vcHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3BhZ2luYXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBUXpEOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQ1UsT0FBMEIsRUFDMUIsaUJBQW9DO1FBRHBDLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFickMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVYLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM5RCx5QkFBb0IsR0FBeUIsSUFBSSxZQUFZLEVBRXBFLENBQUM7UUFDSixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGNBQVMsR0FBVSxFQUFFLENBQUM7UUFRcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FB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LEVBQUUsVUFBVTthQUNsQixDQUFDLENBQUM7WUFDSCxDQUFDLEVBQUUsQ0FBQztTQUNMO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssbUJBQW1CLENBQ3pCLENBQVMsRUFDVCxXQUFtQixFQUNuQixlQUF1QixFQUN2QixVQUFrQjtRQUVsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxlQUFlLEVBQUU7WUFDekIsT0FBTyxVQUFVLENBQUM7U0FDbkI7YUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEIsT0FBTyxDQUFDLENBQUM7U0FDVjthQUFNLElBQUksZUFBZSxHQUFHLFVBQVUsRUFBRTtZQUN2QyxJQUFJLFVBQVUsR0FBRyxPQUFPLEdBQUcsV0FBVyxFQUFFO2dCQUN0QyxPQUFPLFVBQVUsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDO2FBQ3pDO2lCQUFNLElBQUksT0FBTyxHQUFHLFdBQVcsRUFBRTtnQkFDaEMsT0FBTyxXQUFXLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQzthQUNsQztpQkFBTTtnQkFDTCxPQUFPLENBQUMsQ0FBQzthQUNWO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7SUFDSCxDQUFDOzs7WUFuUUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQ0FBMkM7Z0JBQ3JELFFBQVEsRUFBRSxlQUFlO2FBQzFCOzs7WUFoQlEsaUJBQWlCO1lBVHhCLGlCQUFpQjs7O2lCQTJCaEIsS0FBSztzQkFDTCxLQUFLO3lCQUVMLE1BQU07bUNBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uSW5zdGFuY2UgfSBmcm9tICcuL3BhZ2luYXRpb24taW5zdGFuY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlIHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHZhbHVlOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaGlzIGRpcmVjdGl2ZSBpcyB3aGF0IHBvd2VycyBhbGwgcGFnaW5hdGlvbiBjb250cm9scyBjb21wb25lbnRzLCBpbmNsdWRpbmcgdGhlIGRlZmF1bHQgb25lLlxyXG4gKiBJdCBleHBvc2VzIGFuIEFQSSB3aGljaCBpcyBob29rZWQgdXAgdG8gdGhlIFBhZ2luYXRpb25TZXJ2aWNlIHRvIGtlZXAgdGhlIFBhZ2luYXRlUGlwZSBpbiBzeW5jXHJcbiAqIHdpdGggdGhlIHBhZ2luYXRpb24gY29udHJvbHMuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ3BhZ2luYXRpb24tdGVtcGxhdGUsW3BhZ2luYXRpb24tdGVtcGxhdGVdJyxcclxuICBleHBvcnRBczogJ3BhZ2luYXRpb25BcGknLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXhTaXplID0gNztcclxuXHJcbiAgQE91dHB1dCgpIHBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2VCb3VuZHNDb3JyZWN0aW9uOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBudW1iZXJcclxuICA+KCk7XHJcbiAgcGFnZXM6IFBhZ2VbXSA9IFtdO1xyXG4gIHBhZ2VTaXplczogYW55W10gPSBbXTtcclxuICBpdGVtc1BlclBhZ2U6IG51bWJlcjtcclxuICBwcml2YXRlIGNoYW5nZVN1YjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jaGFuZ2VTdWIgPSB0aGlzLnNlcnZpY2UuY2hhbmdlLnN1YnNjcmliZSgoaWQpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIGNvbnN0IGluc3QgPSB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICAgICAgdGhpcy5pdGVtc1BlclBhZ2UgPSBpbnN0Lml0ZW1zUGVyUGFnZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmlkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5pZCA9IHRoaXMuc2VydmljZS5kZWZhdWx0SWQoKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGluc3QgPSB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICB0aGlzLml0ZW1zUGVyUGFnZSA9IGluc3QuaXRlbXNQZXJQYWdlO1xyXG4gICAgZm9yIChsZXQgaSA9IDU7IGkgPD0gaW5zdC50b3RhbEl0ZW1zOyApIHtcclxuICAgICAgdGhpcy5wYWdlU2l6ZXMucHVzaChpKTtcclxuICAgICAgaSArPSA1O1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSkge1xyXG4gICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5jaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgcGFnZVNpemVDaGFuZ2VkKGV2ZW50KSB7XHJcbiAgICB0aGlzLml0ZW1zUGVyUGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5zZXJ2aWNlLnNldEl0ZW1zUGVyUGFnZSh0aGlzLmlkLCBldmVudCk7XHJcbiAgICB0aGlzLnNldEN1cnJlbnQoMSk7XHJcbiAgICB0aGlzLnVwZGF0ZVBhZ2VMaW5rcygpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHbyB0byB0aGUgcHJldmlvdXMgcGFnZVxyXG4gICAqL1xyXG4gIHByZXZpb3VzKCkge1xyXG4gICAgdGhpcy5jaGVja1ZhbGlkSWQoKTtcclxuICAgIHRoaXMuc2V0Q3VycmVudCh0aGlzLmdldEN1cnJlbnQoKSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR28gdG8gdGhlIG5leHQgcGFnZVxyXG4gICAqL1xyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLmNoZWNrVmFsaWRJZCgpO1xyXG4gICAgdGhpcy5zZXRDdXJyZW50KHRoaXMuZ2V0Q3VycmVudCgpICsgMSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRydWUgaWYgY3VycmVudCBwYWdlIGlzIGZpcnN0IHBhZ2VcclxuICAgKi9cclxuICBpc0ZpcnN0UGFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnQoKSA9PT0gMTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBjdXJyZW50IHBhZ2UgaXMgbGFzdCBwYWdlXHJcbiAgICovXHJcbiAgaXNMYXN0UGFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldExhc3RQYWdlKCkgPT09IHRoaXMuZ2V0Q3VycmVudCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxyXG4gICAqL1xyXG4gIHNldEN1cnJlbnQocGFnZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdChwYWdlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cclxuICAgKi9cclxuICBnZXRDdXJyZW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldEN1cnJlbnRQYWdlKHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgbGFzdCBwYWdlIG51bWJlclxyXG4gICAqL1xyXG4gIGdldExhc3RQYWdlKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBpbnN0ID0gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpO1xyXG4gICAgaWYgKGluc3QudG90YWxJdGVtcyA8IDEpIHtcclxuICAgICAgLy8gd2hlbiB0aGVyZSBhcmUgMCBvciBmZXdlciAoYW4gZXJyb3IgY2FzZSkgaXRlbXMsIHRoZXJlIGFyZSBubyBcInBhZ2VzXCIgYXMgc3VjaCxcclxuICAgICAgLy8gYnV0IGl0IG1ha2VzIHNlbnNlIHRvIGNvbnNpZGVyIGEgc2luZ2xlLCBlbXB0eSBwYWdlIGFzIHRoZSBsYXN0IHBhZ2UuXHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE1hdGguY2VpbChpbnN0LnRvdGFsSXRlbXMgLyBpbnN0Lml0ZW1zUGVyUGFnZSk7XHJcbiAgfVxyXG5cclxuICBnZXRUb3RhbEl0ZW1zKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpLnRvdGFsSXRlbXM7XHJcbiAgfVxyXG4gIGdldFN0YXJ0SW5kZXgoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IGluc3QgPSB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICBpZiAoaW5zdC50b3RhbEl0ZW1zIDwgaW5zdC5pdGVtc1BlclBhZ2UgKiAoaW5zdC5jdXJyZW50UGFnZSAtIDEpICsgMSkge1xyXG4gICAgICB0aGlzLnNldEN1cnJlbnQoMSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaW5zdC5pdGVtc1BlclBhZ2UgKiAoaW5zdC5jdXJyZW50UGFnZSAtIDEpICsgMTtcclxuICB9XHJcblxyXG4gIGdldEVuZEluZGV4KCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBpbnN0ID0gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpO1xyXG4gICAgY29uc3QgZW5kID0gaW5zdC5pdGVtc1BlclBhZ2UgKiBpbnN0LmN1cnJlbnRQYWdlO1xyXG4gICAgaWYgKGluc3QudG90YWxJdGVtcyA8IGVuZCkge1xyXG4gICAgICByZXR1cm4gaW5zdC50b3RhbEl0ZW1zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGVuZDtcclxuICB9XHJcbiAgcHJpdmF0ZSBjaGVja1ZhbGlkSWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpLmlkID09IG51bGwpIHtcclxuICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgIGBQYWdpbmF0aW9uQ29udHJvbHNEaXJlY3RpdmU6IHRoZSBzcGVjaWZpZWQgaWQgXCIke3RoaXMuaWR9XCIgZG9lcyBub3QgbWF0Y2ggYW55IHJlZ2lzdGVyZWQgUGFnaW5hdGlvbkluc3RhbmNlYFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgcGFnZSBsaW5rcyBhbmQgY2hlY2tzIHRoYXQgdGhlIGN1cnJlbnQgcGFnZSBpcyB2YWxpZC4gU2hvdWxkIHJ1biB3aGVuZXZlciB0aGVcclxuICAgKiBQYWdpbmF0aW9uU2VydmljZS5jaGFuZ2Ugc3RyZWFtIGVtaXRzIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGN1cnJlbnQgSUQsIG9yIHdoZW4gYW55IG9mIHRoZVxyXG4gICAqIGlucHV0IHZhbHVlcyBjaGFuZ2VzLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlUGFnZUxpbmtzKCkge1xyXG4gICAgY29uc3QgaW5zdCA9IHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgIGNvbnN0IGNvcnJlY3RlZEN1cnJlbnRQYWdlID0gdGhpcy5vdXRPZkJvdW5kQ29ycmVjdGlvbihpbnN0KTtcclxuXHJcbiAgICBpZiAoY29ycmVjdGVkQ3VycmVudFBhZ2UgIT09IGluc3QuY3VycmVudFBhZ2UpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wYWdlQm91bmRzQ29ycmVjdGlvbi5lbWl0KGNvcnJlY3RlZEN1cnJlbnRQYWdlKTtcclxuICAgICAgICB0aGlzLnBhZ2VzID0gdGhpcy5jcmVhdGVQYWdlQXJyYXkoXHJcbiAgICAgICAgICBpbnN0LmN1cnJlbnRQYWdlLFxyXG4gICAgICAgICAgaW5zdC5pdGVtc1BlclBhZ2UsXHJcbiAgICAgICAgICBpbnN0LnRvdGFsSXRlbXMsXHJcbiAgICAgICAgICB0aGlzLm1heFNpemVcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnZXMgPSB0aGlzLmNyZWF0ZVBhZ2VBcnJheShcclxuICAgICAgICBpbnN0LmN1cnJlbnRQYWdlLFxyXG4gICAgICAgIGluc3QuaXRlbXNQZXJQYWdlLFxyXG4gICAgICAgIGluc3QudG90YWxJdGVtcyxcclxuICAgICAgICB0aGlzLm1heFNpemVcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyB0aGF0IHRoZSBpbnN0YW5jZS5jdXJyZW50UGFnZSBwcm9wZXJ0eSBpcyB3aXRoaW4gYm91bmRzIGZvciB0aGUgY3VycmVudCBwYWdlIHJhbmdlLlxyXG4gICAqIElmIG5vdCwgcmV0dXJuIGEgY29ycmVjdCB2YWx1ZSBmb3IgY3VycmVudFBhZ2UsIG9yIHRoZSBjdXJyZW50IHZhbHVlIGlmIE9LLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgb3V0T2ZCb3VuZENvcnJlY3Rpb24oaW5zdGFuY2U6IFBhZ2luYXRpb25JbnN0YW5jZSk6IG51bWJlciB7XHJcbiAgICBjb25zdCB0b3RhbFBhZ2VzID0gTWF0aC5jZWlsKGluc3RhbmNlLnRvdGFsSXRlbXMgLyBpbnN0YW5jZS5pdGVtc1BlclBhZ2UpO1xyXG4gICAgaWYgKHRvdGFsUGFnZXMgPCBpbnN0YW5jZS5jdXJyZW50UGFnZSAmJiAwIDwgdG90YWxQYWdlcykge1xyXG4gICAgICByZXR1cm4gdG90YWxQYWdlcztcclxuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2UuY3VycmVudFBhZ2UgPCAxKSB7XHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnN0YW5jZS5jdXJyZW50UGFnZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYW4gYXJyYXkgb2YgUGFnZSBvYmplY3RzIHRvIHVzZSBpbiB0aGUgcGFnaW5hdGlvbiBjb250cm9scy5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVBhZ2VBcnJheShcclxuICAgIGN1cnJlbnRQYWdlOiBudW1iZXIsXHJcbiAgICBpdGVtc1BlclBhZ2U6IG51bWJlcixcclxuICAgIHRvdGFsSXRlbXM6IG51bWJlcixcclxuICAgIHBhZ2luYXRpb25SYW5nZTogbnVtYmVyXHJcbiAgKTogUGFnZVtdIHtcclxuICAgIC8vIHBhZ2luYXRpb25SYW5nZSBjb3VsZCBiZSBhIHN0cmluZyBpZiBwYXNzZWQgZnJvbSBhdHRyaWJ1dGUsIHNvIGNhc3QgdG8gbnVtYmVyLlxyXG4gICAgcGFnaW5hdGlvblJhbmdlID0gK3BhZ2luYXRpb25SYW5nZTtcclxuICAgIGNvbnN0IHBhZ2VzID0gW107XHJcbiAgICBjb25zdCB0b3RhbFBhZ2VzID0gTWF0aC5jZWlsKHRvdGFsSXRlbXMgLyBpdGVtc1BlclBhZ2UpO1xyXG4gICAgY29uc3QgaGFsZldheSA9IE1hdGguY2VpbChwYWdpbmF0aW9uUmFuZ2UgLyAyKTtcclxuXHJcbiAgICBjb25zdCBpc1N0YXJ0ID0gY3VycmVudFBhZ2UgPD0gaGFsZldheTtcclxuICAgIGNvbnN0IGlzRW5kID0gdG90YWxQYWdlcyAtIGhhbGZXYXkgPCBjdXJyZW50UGFnZTtcclxuICAgIGNvbnN0IGlzTWlkZGxlID0gIWlzU3RhcnQgJiYgIWlzRW5kO1xyXG5cclxuICAgIGNvbnN0IGVsbGlwc2VzTmVlZGVkID0gcGFnaW5hdGlvblJhbmdlIDwgdG90YWxQYWdlcztcclxuICAgIGxldCBpID0gMTtcclxuXHJcbiAgICB3aGlsZSAoaSA8PSB0b3RhbFBhZ2VzICYmIGkgPD0gcGFnaW5hdGlvblJhbmdlKSB7XHJcbiAgICAgIGxldCBsYWJlbDtcclxuICAgICAgY29uc3QgcGFnZU51bWJlciA9IHRoaXMuY2FsY3VsYXRlUGFnZU51bWJlcihcclxuICAgICAgICBpLFxyXG4gICAgICAgIGN1cnJlbnRQYWdlLFxyXG4gICAgICAgIHBhZ2luYXRpb25SYW5nZSxcclxuICAgICAgICB0b3RhbFBhZ2VzXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG9wZW5pbmdFbGxpcHNlc05lZWRlZCA9IGkgPT09IDIgJiYgKGlzTWlkZGxlIHx8IGlzRW5kKTtcclxuICAgICAgY29uc3QgY2xvc2luZ0VsbGlwc2VzTmVlZGVkID1cclxuICAgICAgICBpID09PSBwYWdpbmF0aW9uUmFuZ2UgLSAxICYmIChpc01pZGRsZSB8fCBpc1N0YXJ0KTtcclxuICAgICAgaWYgKGVsbGlwc2VzTmVlZGVkICYmIChvcGVuaW5nRWxsaXBzZXNOZWVkZWQgfHwgY2xvc2luZ0VsbGlwc2VzTmVlZGVkKSkge1xyXG4gICAgICAgIGxhYmVsID0gJy4uLic7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGFiZWwgPSBwYWdlTnVtYmVyO1xyXG4gICAgICB9XHJcbiAgICAgIHBhZ2VzLnB1c2goe1xyXG4gICAgICAgIGxhYmVsLFxyXG4gICAgICAgIHZhbHVlOiBwYWdlTnVtYmVyLFxyXG4gICAgICB9KTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZ2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2l2ZW4gdGhlIHBvc2l0aW9uIGluIHRoZSBzZXF1ZW5jZSBvZiBwYWdpbmF0aW9uIGxpbmtzIFtpXSxcclxuICAgKiBmaWd1cmUgb3V0IHdoYXQgcGFnZSBudW1iZXIgY29ycmVzcG9uZHMgdG8gdGhhdCBwb3NpdGlvbi5cclxuICAgKi9cclxuICBwcml2YXRlIGNhbGN1bGF0ZVBhZ2VOdW1iZXIoXHJcbiAgICBpOiBudW1iZXIsXHJcbiAgICBjdXJyZW50UGFnZTogbnVtYmVyLFxyXG4gICAgcGFnaW5hdGlvblJhbmdlOiBudW1iZXIsXHJcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXJcclxuICApIHtcclxuICAgIGNvbnN0IGhhbGZXYXkgPSBNYXRoLmNlaWwocGFnaW5hdGlvblJhbmdlIC8gMik7XHJcbiAgICBpZiAoaSA9PT0gcGFnaW5hdGlvblJhbmdlKSB7XHJcbiAgICAgIHJldHVybiB0b3RhbFBhZ2VzO1xyXG4gICAgfSBlbHNlIGlmIChpID09PSAxKSB7XHJcbiAgICAgIHJldHVybiBpO1xyXG4gICAgfSBlbHNlIGlmIChwYWdpbmF0aW9uUmFuZ2UgPCB0b3RhbFBhZ2VzKSB7XHJcbiAgICAgIGlmICh0b3RhbFBhZ2VzIC0gaGFsZldheSA8IGN1cnJlbnRQYWdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRvdGFsUGFnZXMgLSBwYWdpbmF0aW9uUmFuZ2UgKyBpO1xyXG4gICAgICB9IGVsc2UgaWYgKGhhbGZXYXkgPCBjdXJyZW50UGFnZSkge1xyXG4gICAgICAgIHJldHVybiBjdXJyZW50UGFnZSAtIGhhbGZXYXkgKyBpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gaTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { PaginationComponent } from './pagination.component';

@@ -21,3 +22,4 @@ import { PaginationService } from './pagination.service';

imports: [
CommonModule
CommonModule,
FormsModule
],

@@ -30,2 +32,2 @@ providers: [PaginationService],

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovQWRyZW5hbGluZVdTL2RlbW9zL25neC10YWJsZS1wYWdpbmF0aW9uL3Byb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBZWpELE1BQU0sT0FBTyx3QkFBd0I7OztZQWJwQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNkLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxtQkFBbUI7aUJBQUM7Z0JBQ3BCLE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUM5QixPQUFPLEVBQUUsQ0FBRyxtQkFBbUI7b0JBQy9CLGNBQWM7b0JBQ2QsbUJBQW1CLENBQUM7YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvblBpcGUgfSBmcm9tICcuL3BhZ2luYXRpb24ucGlwZSc7XG5leHBvcnQgeyBQYWdpbmF0aW9uSW5zdGFuY2UgfSBmcm9tICcuL3BhZ2luYXRpb24taW5zdGFuY2UnO1xuXG5leHBvcnQge1BhZ2luYXRpb25TZXJ2aWNlfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XG5leHBvcnQge1BhZ2luYXRpb25Db21wb25lbnR9IGZyb20gJy4vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtQYWdpbmF0aW9uRGlyZWN0aXZlfSBmcm9tICcuL3BhZ2luYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7UGFnaW5hdGlvblBpcGV9IGZyb20gJy4vcGFnaW5hdGlvbi5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gIFBhZ2luYXRpb25Db21wb25lbnQsXG4gIFBhZ2luYXRpb25QaXBlLFxuICBQYWdpbmF0aW9uRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtQYWdpbmF0aW9uU2VydmljZV0sXG4gIGV4cG9ydHM6IFsgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gIFBhZ2luYXRpb25QaXBlLFxuICBQYWdpbmF0aW9uRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hUYWJsZVBhZ2luYXRpb25Nb2R1bGUgeyB9XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovTXktUHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vcHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibGliL3BhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU0sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBZ0JqRCxNQUFNLE9BQU8sd0JBQXdCOzs7WUFkcEMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDZCxtQkFBbUI7b0JBQ25CLGNBQWM7b0JBQ2QsbUJBQW1CO2lCQUFDO2dCQUNwQixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO2lCQUNaO2dCQUNELFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUM5QixPQUFPLEVBQUUsQ0FBRyxtQkFBbUI7b0JBQy9CLGNBQWM7b0JBQ2QsbUJBQW1CLENBQUM7YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnR7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uUGlwZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5waXBlJztcclxuZXhwb3J0IHsgUGFnaW5hdGlvbkluc3RhbmNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLWluc3RhbmNlJztcclxuXHJcbmV4cG9ydCB7UGFnaW5hdGlvblNlcnZpY2V9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0IHtQYWdpbmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL3BhZ2luYXRpb24uY29tcG9uZW50JztcclxuZXhwb3J0IHtQYWdpbmF0aW9uRGlyZWN0aXZlfSBmcm9tICcuL3BhZ2luYXRpb24uZGlyZWN0aXZlJztcclxuZXhwb3J0IHtQYWdpbmF0aW9uUGlwZX0gZnJvbSAnLi9wYWdpbmF0aW9uLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBQYWdpbmF0aW9uQ29tcG9uZW50LFxyXG4gIFBhZ2luYXRpb25QaXBlLFxyXG4gIFBhZ2luYXRpb25EaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtQYWdpbmF0aW9uU2VydmljZV0sXHJcbiAgZXhwb3J0czogWyAgUGFnaW5hdGlvbkNvbXBvbmVudCxcclxuICBQYWdpbmF0aW9uUGlwZSxcclxuICBQYWdpbmF0aW9uRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4VGFibGVQYWdpbmF0aW9uTW9kdWxlIHsgfVxyXG4iXX0=

@@ -127,2 +127,2 @@ import { Pipe } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L0FkcmVuYWxpbmVXUy9kZW1vcy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9wcm9qZWN0cy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9zcmMvIiwic291cmNlcyI6WyJsaWIvcGFnaW5hdGlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR3ZELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztBQXVCN0MsTUFBTSxPQUFPLGNBQWM7SUFLdkIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFIOUMsMkRBQTJEO1FBQ25ELFVBQUssR0FBZ0MsRUFBRSxDQUFDO0lBR2hELENBQUM7SUFFTSxTQUFTLENBQTZCLFVBQWEsRUFBRSxJQUFzQjtRQUU5RSxxRUFBcUU7UUFDckUsbUVBQW1FO1FBQ25FLG1FQUFtRTtRQUNuRSxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLENBQUMsVUFBVSxZQUFZLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLENBQUM7YUFDckM7aUJBQU07Z0JBQ0gsT0FBTyxVQUFVLENBQUM7YUFDckI7U0FDSjtRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRWhGLE1BQU0sUUFBUSxHQUFHLElBQUks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TUFBTTtZQUN4RCxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUs7WUFDckIsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUM7UUFFdEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQzs7O1lBcklKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFLEtBQUs7YUFDZDs7O1lBekJPLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7UGFnaW5hdGlvblNlcnZpY2V9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtQYWdpbmF0aW9uSW5zdGFuY2V9IGZyb20gJy4vcGFnaW5hdGlvbi1pbnN0YW5jZSc7XHJcblxyXG5jb25zdCBMQVJHRV9OVU1CRVIgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb248VD4gPSBUW10gfCBSZWFkb25seUFycmF5PFQ+O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZVBpcGVBcmdzIHtcclxuICBpZD86IHN0cmluZztcclxuICBpdGVtc1BlclBhZ2U/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICAgICAgY3VycmVudFBhZ2U/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICB0b3RhbEl0ZW1zPzogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVTdGF0ZSB7XHJcbiAgICBjb2xsZWN0aW9uOiBhbnlbXTtcclxuICAgIHNpemU6IG51bWJlcjtcclxuICAgIHN0YXJ0OiBudW1iZXI7XHJcbiAgICBlbmQ6IG51bWJlcjtcclxuICAgIHNsaWNlOiBhbnlbXTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3BhZ2luYXRlJyxcclxuICAgIHB1cmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm17XHJcblxyXG4gICAgLy8gc3RvcmUgdGhlIHZhbHVlcyBmcm9tIHRoZSBsYXN0IHRpbWUgdGhlIHBpcGUgd2FzIGludm9rZWRcclxuICAgIHByaXZhdGUgc3RhdGU6IHsgW2lkOiBzdHJpbmddOiBQaXBlU3RhdGUgfSA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogUGFnaW5hdGlvblNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdHJhbnNmb3JtPFQsIFUgZXh0ZW5kcyBDb2xsZWN0aW9uPFQ+Pihjb2xsZWN0aW9uOiBVLCBhcmdzOiBQYWdpbmF0ZVBpcGVBcmdzKTogVSB7XHJcblxyXG4gICAgICAgIC8vIFdoZW4gYW4gb2JzZXJ2YWJsZSBpcyBwYXNzZWQgdGhyb3VnaCB0aGUgQXN5bmNQaXBlLCBpdCB3aWxsIG91dHB1dFxyXG4gICAgICAgIC8vIGBudWxsYCB1bnRpbCB0aGUgc3Vic2NyaXB0aW9uIHJlc29sdmVzLiBJbiB0aGlzIGNhc2UsIHdlIHdhbnQgdG9cclxuICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCBkYXRhIGZyb20gdGhlIGBzdGF0ZWAgb2JqZWN0IHRvIHByZXZlbnQgdGhlIE5nRm9yXHJcbiAgICAgICAgLy8gZnJvbSBmbGFzaGluZyBlbXB0eSB1bnRpbCB0aGUgcmVhbCB2YWx1ZXMgYXJyaXZlLlxyXG4gICAgICAgIGlmICghKGNvbGxlY3Rpb24gaW5zdGFuY2VvZiBBcnJheSkpIHtcclxuICAgICAgICAgICAgY29uc3QgX2lkID0gYXJncy5pZCB8fCB0aGlzLnNlcnZpY2UuZGVmYXVsdElkKCk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlW19pZF0pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXRlW19pZF0uc2xpY2UgYXMgVTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzZXJ2ZXJTaWRlTW9kZSA9IGFyZ3MudG90YWxJdGVtcyAmJiBhcmdzLnRvdGFsSXRlbXMgIT09IGNvbGxlY3Rpb24ubGVuZ3RoO1xyXG5cclxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY3JlYXRlSW5zdGFuY2UoY29sbGVjdGlvbiwgYXJncyk7XHJcbiAgICAgICAgY29uc3QgaWQgPSBpbnN0YW5jZS5pZDtcclxuICAgICAgICBsZXQgc3RhcnQsIGVuZDtcclxuICAgICAgICBsZXQgcGVyUGFnZSA9IGluc3RhbmNlLml0ZW1zUGVyUGFnZTtcclxuXHJcbiAgICAgICAgY29uc3QgZW1pdENoYW5nZSA9IHRoaXMuc2VydmljZS5yZWdpc3RlcihpbnN0YW5jZSk7XHJcblxyXG4gICAgICAgIGlmICghc2VydmVyU2lkZU1vZGUgJiYgY29sbGVjdGlvbiBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgIHBlclBhZ2UgPSArcGVyUGFnZSB8fCBMQVJHRV9OVU1CRVI7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gKGluc3RhbmNlLmN1cnJlbnRQYWdlIC0gMSkgKiBwZXJQYWdlO1xyXG4gICAgICAgICAgICBlbmQgPSBzdGFydCArIHBlclBhZ2U7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBpc0lkZW50aWNhbCA9IHRoaXMuc3RhdGVJc0lkZW50aWNhbChpZCwgY29sbGVjdGlvbiwgc3RhcnQsIGVuZCk7XHJcbiAgICAgICAgICAgIGlmIChpc0lkZW50aWNhbCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVbaWRdLnNsaWNlIGFzIFU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzbGljZSA9IGNvbGxlY3Rpb24uc2xpY2Uoc3RhcnQsIGVuZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmVTdGF0ZShpZCwgY29sbGVjdGlvbiwgc2xpY2UsIHN0YXJ0LCBlbmQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBzbGljZSBhcyBVO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGVtaXRDaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIHNhdmUgdGhlIHN0YXRlIGZvciBzZXJ2ZXItc2lkZSBjb2xsZWN0aW9uIHRvIGF2b2lkIG51bGxcclxuICAgICAgICAgICAgLy8gZmxhc2ggYXMgbmV3IGRhdGEgbG9hZHMuXHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZVN0YXRlKGlkLCBjb2xsZWN0aW9uLCBjb2xsZWN0aW9uLCBzdGFydCwgZW5kKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZSBhbiBQYWdpbmF0aW9uSW5zdGFuY2Ugb2JqZWN0LCB1c2luZyBkZWZhdWx0cyBmb3IgYW55IG9wdGlvbmFsIHByb3BlcnRpZXMgbm90IHN1cHBsaWVkLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZUluc3RhbmNlKGNvbGxlY3Rpb246IGFueVtdLCBjb25maWc6IFBhZ2luYXRlUGlwZUFyZ3MpOiBQYWdpbmF0aW9uSW5zdGFuY2Uge1xyXG4gICAgICB0aGlzLmNoZWNrQ29uZmlnKGNvbmZpZyk7XHJcbiAgICAgIGNvbnN0IGlkID0gY29uZmlnLmlkICE9IG51bGwgPyBjb25maWcuaWQgOiB0aGlzLnNlcnZpY2UuZGVmYXVsdElkKCk7XHJcbiAgICAgIGlmIChjb25maWcuaXRlbXNQZXJQYWdlKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UoaWQpPy5pdGVtc1BlclBhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNldEl0ZW1zUGVyUGFnZShpZCwgK2NvbmZpZy5pdGVtc1BlclBhZ2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHBlclBhZ2UgPSAoY29uZmlnLml0ZW1zUGVyUGFnZSAmJiAhdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKGlkKS5pdGVtc1BlclBhZ2UpID8gY29uZmlnLml0ZW1zUGVyUGFnZSA6XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKGlkKS5pdGVtc1BlclBhZ2U7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBpZDogY29uZmlnLmlkICE9IG51bGwgPyBjb25maWcuaWQgOiB0aGlzLnNlcnZpY2UuZGVmYXVsdElkKCksXHJcbiAgICAgICAgICBpdGVtc1BlclBhZ2U6ICtwZXJQYWdlIHx8IDUsXHJcbiAgICAgICAgICBjdXJyZW50UGFnZTogK2NvbmZpZy5jdXJyZW50UGFnZSB8fCAxLFxyXG4gICAgICAgICAgdG90YWxJdGVtczogK2NvbmZpZy50b3RhbEl0ZW1zIHx8IGNvbGxlY3Rpb24ubGVuZ3RoXHJcbiAgICAgICAgfTtcclxuXHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5zdXJlIHRoZSBhcmd1bWVudCBwYXNzZWQgdG8gdGhlIGZpbHRlciBjb250YWlucyB0aGUgcmVxdWlyZWQgcHJvcGVydGllcy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjaGVja0NvbmZpZyhjb25maWc6IFBhZ2luYXRlUGlwZUFyZ3MpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCByZXF1aXJlZCA9IFsgJ2N1cnJlbnRQYWdlJ107XHJcblxyXG4gICAgICAgIGNvbnN0IG1pc3NpbmcgPSByZXF1aXJlZC5maWx0ZXIocHJvcCA9PiAhKHByb3AgaW4gY29uZmlnKSk7XHJcbiAgICAgICAgaWYgKDAgPCBtaXNzaW5nLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhZ2luYXRlUGlwZTogQXJndW1lbnQgaXMgbWlzc2luZyB0aGUgZm9sbG93aW5nIHJlcXVpcmVkIHByb3BlcnRpZXM6ICR7bWlzc2luZy5qb2luKCcsICcpfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRvIGF2b2lkIHJldHVybmluZyBhIGJyYW5kIG5ldyBhcnJheSBlYWNoIHRpbWUgdGhlIHBpcGUgaXMgcnVuLCB3ZSBzdG9yZSB0aGUgc3RhdGUgb2YgdGhlIHNsaWNlZFxyXG4gICAgICogYXJyYXkgZm9yIGEgZ2l2ZW4gaWQuIFRoaXMgbWVhbnMgdGhhdCB0aGUgbmV4dCB0aW1lIHRoZSBwaXBlIGlzIHJ1biBvbiB0aGlzIGNvbGxlY3Rpb24gJiBpZCwgd2UganVzdFxyXG4gICAgICogbmVlZCB0byBjaGVjayB0aGF0IHRoZSBjb2xsZWN0aW9uLCBzdGFydCBhbmQgZW5kIHBvaW50cyBhcmUgYWxsIGlkZW50aWNhbCwgYW5kIGlmIHNvLCByZXR1cm4gdGhlXHJcbiAgICAgKiBsYXN0IHNsaWNlZCBhcnJheS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYXZlU3RhdGUoaWQ6IHN0cmluZywgY29sbGVjdGlvbjogYW55W10sIHNsaWNlOiBhbnlbXSwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnN0YXRlW2lkXSA9IHtcclxuICAgICAgICAgICAgY29sbGVjdGlvbixcclxuICAgICAgICAgICAgc2l6ZTogY29sbGVjdGlvbi5sZW5ndGgsXHJcbiAgICAgICAgICAgIHNsaWNlLFxyXG4gICAgICAgICAgICBzdGFydCxcclxuICAgICAgICAgICAgZW5kXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvciBhIGdpdmVuIGlkLCByZXR1cm5zIHRydWUgaWYgdGhlIGNvbGxlY3Rpb24sIHNpemUsIHN0YXJ0IGFuZCBlbmQgdmFsdWVzIGFyZSBpZGVudGljYWwuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc3RhdGVJc0lkZW50aWNhbChpZDogc3RyaW5nLCBjb2xsZWN0aW9uOiBhbnlbXSwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVbaWRdO1xyXG4gICAgICAgIGlmICghc3RhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBpc01ldGFEYXRhSWRlbnRpY2FsID0gc3RhdGUuc2l6ZSA9PT0gY29sbGVjdGlvbi5sZW5ndGggJiZcclxuICAgICAgICAgICAgc3RhdGUuc3RhcnQgPT09IHN0YXJ0ICYmXHJcbiAgICAgICAgICAgIHN0YXRlLmVuZCA9PT0gZW5kO1xyXG5cclxuICAgICAgICBpZiAoIWlzTWV0YURhdGFJZGVudGljYWwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHN0YXRlLnNsaWNlLmV2ZXJ5KChlbGVtZW50LCBpbmRleCkgPT4gZWxlbWVudCA9PT0gY29sbGVjdGlvbltzdGFydCArIGluZGV4XSk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L015LVByb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3Byb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wYWdpbmF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0FBdUI3QyxNQUFNLE9BQU8sY0FBYztJQUt2QixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUg5QywyREFBMkQ7UUFDbkQsVUFBSyxHQUFnQyxFQUFFLENBQUM7SUFHaEQsQ0FBQztJQUVNLFNBQVMsQ0FBNkIsVUFBYSxFQUFFLElBQXNCO1FBRTlFLHFFQUFxRTtRQUNyRSxtRUFBbUU7UUFDbkUsbUVBQW1FO1FBQ25FLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsQ0FBQyxVQUFVLFlBQVksS0FBSyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsQ0FBQzthQUNyQztpQkFBTTtnQkFDSCxPQUFPLFVBQVUsQ0FBQzthQUNyQjtTQUNKO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFFaEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNB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Q3hELEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSztZQUNyQixLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQztRQUV0QixJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDdEIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDOzs7WUFySUosSUFBSSxTQUFDO2dCQUNGLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsS0FBSzthQUNkOzs7WUF6Qk8saUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQYWdpbmF0aW9uU2VydmljZX0gZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BhZ2luYXRpb25JbnN0YW5jZX0gZnJvbSAnLi9wYWdpbmF0aW9uLWluc3RhbmNlJztcclxuXHJcbmNvbnN0IExBUkdFX05VTUJFUiA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbjxUPiA9IFRbXSB8IFJlYWRvbmx5QXJyYXk8VD47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRlUGlwZUFyZ3Mge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGl0ZW1zUGVyUGFnZT86IHN0cmluZyB8IG51bWJlcjtcclxuICAgICAgICBjdXJyZW50UGFnZT86IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHRvdGFsSXRlbXM/OiBzdHJpbmcgfCBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGlwZVN0YXRlIHtcclxuICAgIGNvbGxlY3Rpb246IGFueVtdO1xyXG4gICAgc2l6ZTogbnVtYmVyO1xyXG4gICAgc3RhcnQ6IG51bWJlcjtcclxuICAgIGVuZDogbnVtYmVyO1xyXG4gICAgc2xpY2U6IGFueVtdO1xyXG59XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAncGFnaW5hdGUnLFxyXG4gICAgcHVyZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybXtcclxuXHJcbiAgICAvLyBzdG9yZSB0aGUgdmFsdWVzIGZyb20gdGhlIGxhc3QgdGltZSB0aGUgcGlwZSB3YXMgaW52b2tlZFxyXG4gICAgcHJpdmF0ZSBzdGF0ZTogeyBbaWQ6IHN0cmluZ106IFBpcGVTdGF0ZSB9ID0ge307XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBQYWdpbmF0aW9uU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0cmFuc2Zvcm08VCwgVSBleHRlbmRzIENvbGxlY3Rpb248VD4+KGNvbGxlY3Rpb246IFUsIGFyZ3M6IFBhZ2luYXRlUGlwZUFyZ3MpOiBVIHtcclxuXHJcbiAgICAgICAgLy8gV2hlbiBhbiBvYnNlcnZhYmxlIGlzIHBhc3NlZCB0aHJvdWdoIHRoZSBBc3luY1BpcGUsIGl0IHdpbGwgb3V0cHV0XHJcbiAgICAgICAgLy8gYG51bGxgIHVudGlsIHRoZSBzdWJzY3JpcHRpb24gcmVzb2x2ZXMuIEluIHRoaXMgY2FzZSwgd2Ugd2FudCB0b1xyXG4gICAgICAgIC8vIHVzZSB0aGUgY2FjaGVkIGRhdGEgZnJvbSB0aGUgYHN0YXRlYCBvYmplY3QgdG8gcHJldmVudCB0aGUgTmdGb3JcclxuICAgICAgICAvLyBmcm9tIGZsYXNoaW5nIGVtcHR5IHVudGlsIHRoZSByZWFsIHZhbHVlcyBhcnJpdmUuXHJcbiAgICAgICAgaWYgKCEoY29sbGVjdGlvbiBpbnN0YW5jZW9mIEFycmF5KSkge1xyXG4gICAgICAgICAgICBjb25zdCBfaWQgPSBhcmdzLmlkIHx8IHRoaXMuc2VydmljZS5kZWZhdWx0SWQoKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGVbX2lkXSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVbX2lkXS5zbGljZSBhcyBVO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHNlcnZlclNpZGVNb2RlID0gYXJncy50b3RhbEl0ZW1zICYmIGFyZ3MudG90YWxJdGVtcyAhPT0gY29sbGVjdGlvbi5sZW5ndGg7XHJcblxyXG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5jcmVhdGVJbnN0YW5jZShjb2xsZWN0aW9uLCBhcmdzKTtcclxuICAgICAgICBjb25zdCBpZCA9IGluc3RhbmNlLmlkO1xyXG4gICAgICAgIGxldCBzdGFydCwgZW5kO1xyXG4gICAgICAgIGxldCBwZXJQYWdlID0gaW5zdGFuY2UuaXRlbXNQZXJQYWdlO1xyXG5cclxuICAgICAgICBjb25zdCBlbWl0Q2hhbmdlID0gdGhpcy5zZXJ2aWNlLnJlZ2lzdGVyKGluc3RhbmNlKTtcclxuXHJcbiAgICAgICAgaWYgKCFzZXJ2ZXJTaWRlTW9kZSAmJiBjb2xsZWN0aW9uIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgcGVyUGFnZSA9ICtwZXJQYWdlIHx8IExBUkdFX05VTUJFUjtcclxuICAgICAgICAgICAgc3RhcnQgPSAoaW5zdGFuY2UuY3VycmVudFBhZ2UgLSAxKSAqIHBlclBhZ2U7XHJcbiAgICAgICAgICAgIGVuZCA9IHN0YXJ0ICsgcGVyUGFnZTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGlzSWRlbnRpY2FsID0gdGhpcy5zdGF0ZUlzSWRlbnRpY2FsKGlkLCBjb2xsZWN0aW9uLCBzdGFydCwgZW5kKTtcclxuICAgICAgICAgICAgaWYgKGlzSWRlbnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVtpZF0uc2xpY2UgYXMgVTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNsaWNlID0gY29sbGVjdGlvbi5zbGljZShzdGFydCwgZW5kKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVN0YXRlKGlkLCBjb2xsZWN0aW9uLCBzbGljZSwgc3RhcnQsIGVuZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UuY2hhbmdlLmVtaXQoaWQpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNsaWNlIGFzIFU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoZW1pdENoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gc2F2ZSB0aGUgc3RhdGUgZm9yIHNlcnZlci1zaWRlIGNvbGxlY3Rpb24gdG8gYXZvaWQgbnVsbFxyXG4gICAgICAgICAgICAvLyBmbGFzaCBhcyBuZXcgZGF0YSBsb2Fkcy5cclxuICAgICAgICAgICAgdGhpcy5zYXZlU3RhdGUoaWQsIGNvbGxlY3Rpb24sIGNvbGxlY3Rpb24sIHN0YXJ0LCBlbmQpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlIGFuIFBhZ2luYXRpb25JbnN0YW5jZSBvYmplY3QsIHVzaW5nIGRlZmF1bHRzIGZvciBhbnkgb3B0aW9uYWwgcHJvcGVydGllcyBub3Qgc3VwcGxpZWQuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY3JlYXRlSW5zdGFuY2UoY29sbGVjdGlvbjogYW55W10sIGNvbmZpZzogUGFnaW5hdGVQaXBlQXJncyk6IFBhZ2luYXRpb25JbnN0YW5jZSB7XHJcbiAgICAgIHRoaXMuY2hlY2tDb25maWcoY29uZmlnKTtcclxuICAgICAgY29uc3QgaWQgPSBjb25maWcuaWQgIT0gbnVsbCA/IGNvbmZpZy5pZCA6IHRoaXMuc2VydmljZS5kZWZhdWx0SWQoKTtcclxuICAgICAgaWYgKGNvbmZpZy5pdGVtc1BlclBhZ2UpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VydmljZS5nZXRJbnN0YW5jZShpZCk/Lml0ZW1zUGVyUGFnZSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0SXRlbXNQZXJQYWdlKGlkLCArY29uZmlnLml0ZW1zUGVyUGFnZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgcGVyUGFnZSA9IChjb25maWcuaXRlbXNQZXJQYWdlICYmICF0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UoaWQpLml0ZW1zUGVyUGFnZSkgPyBjb25maWcuaXRlbXNQZXJQYWdlIDpcclxuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UoaWQpLml0ZW1zUGVyUGFnZTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGlkOiBjb25maWcuaWQgIT0gbnVsbCA/IGNvbmZpZy5pZCA6IHRoaXMuc2VydmljZS5kZWZhdWx0SWQoKSxcclxuICAgICAgICAgIGl0ZW1zUGVyUGFnZTogK3BlclBhZ2UgfHwgNSxcclxuICAgICAgICAgIGN1cnJlbnRQYWdlOiArY29uZmlnLmN1cnJlbnRQYWdlIHx8IDEsXHJcbiAgICAgICAgICB0b3RhbEl0ZW1zOiArY29uZmlnLnRvdGFsSXRlbXMgfHwgY29sbGVjdGlvbi5sZW5ndGhcclxuICAgICAgICB9O1xyXG5cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbnN1cmUgdGhlIGFyZ3VtZW50IHBhc3NlZCB0byB0aGUgZmlsdGVyIGNvbnRhaW5zIHRoZSByZXF1aXJlZCBwcm9wZXJ0aWVzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNoZWNrQ29uZmlnKGNvbmZpZzogUGFnaW5hdGVQaXBlQXJncyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHJlcXVpcmVkID0gWyAnY3VycmVudFBhZ2UnXTtcclxuXHJcbiAgICAgICAgY29uc3QgbWlzc2luZyA9IHJlcXVpcmVkLmZpbHRlcihwcm9wID0+ICEocHJvcCBpbiBjb25maWcpKTtcclxuICAgICAgICBpZiAoMCA8IG1pc3NpbmcubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUGFnaW5hdGVQaXBlOiBBcmd1bWVudCBpcyBtaXNzaW5nIHRoZSBmb2xsb3dpbmcgcmVxdWlyZWQgcHJvcGVydGllczogJHttaXNzaW5nLmpvaW4oJywgJyl9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVG8gYXZvaWQgcmV0dXJuaW5nIGEgYnJhbmQgbmV3IGFycmF5IGVhY2ggdGltZSB0aGUgcGlwZSBpcyBydW4sIHdlIHN0b3JlIHRoZSBzdGF0ZSBvZiB0aGUgc2xpY2VkXHJcbiAgICAgKiBhcnJheSBmb3IgYSBnaXZlbiBpZC4gVGhpcyBtZWFucyB0aGF0IHRoZSBuZXh0IHRpbWUgdGhlIHBpcGUgaXMgcnVuIG9uIHRoaXMgY29sbGVjdGlvbiAmIGlkLCB3ZSBqdXN0XHJcbiAgICAgKiBuZWVkIHRvIGNoZWNrIHRoYXQgdGhlIGNvbGxlY3Rpb24sIHN0YXJ0IGFuZCBlbmQgcG9pbnRzIGFyZSBhbGwgaWRlbnRpY2FsLCBhbmQgaWYgc28sIHJldHVybiB0aGVcclxuICAgICAqIGxhc3Qgc2xpY2VkIGFycmF5LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNhdmVTdGF0ZShpZDogc3RyaW5nLCBjb2xsZWN0aW9uOiBhbnlbXSwgc2xpY2U6IGFueVtdLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuc3RhdGVbaWRdID0ge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxyXG4gICAgICAgICAgICBzaXplOiBjb2xsZWN0aW9uLmxlbmd0aCxcclxuICAgICAgICAgICAgc2xpY2UsXHJcbiAgICAgICAgICAgIHN0YXJ0LFxyXG4gICAgICAgICAgICBlbmRcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9yIGEgZ2l2ZW4gaWQsIHJldHVybnMgdHJ1ZSBpZiB0aGUgY29sbGVjdGlvbiwgc2l6ZSwgc3RhcnQgYW5kIGVuZCB2YWx1ZXMgYXJlIGlkZW50aWNhbC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzdGF0ZUlzSWRlbnRpY2FsKGlkOiBzdHJpbmcsIGNvbGxlY3Rpb246IGFueVtdLCBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZVtpZF07XHJcbiAgICAgICAgaWYgKCFzdGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGlzTWV0YURhdGFJZGVudGljYWwgPSBzdGF0ZS5zaXplID09PSBjb2xsZWN0aW9uLmxlbmd0aCAmJlxyXG4gICAgICAgICAgICBzdGF0ZS5zdGFydCA9PT0gc3RhcnQgJiZcclxuICAgICAgICAgICAgc3RhdGUuZW5kID09PSBlbmQ7XHJcblxyXG4gICAgICAgIGlmICghaXNNZXRhRGF0YUlkZW50aWNhbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc3RhdGUuc2xpY2UuZXZlcnkoKGVsZW1lbnQsIGluZGV4KSA9PiBlbGVtZW50ID09PSBjb2xsZWN0aW9uW3N0YXJ0ICsgaW5kZXhdKTtcclxuICAgIH1cclxufVxyXG4iXX0=

@@ -102,2 +102,2 @@ import { EventEmitter } from '@angular/core';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L0FkcmVuYWxpbmVXUy9kZW1vcy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9wcm9qZWN0cy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9zcmMvIiwic291cmNlcyI6WyJsaWIvcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFHMUMsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUVXLFdBQU0sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6RCxjQUFTLEdBQXlDLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQUcsdUJBQXVCLENBQUM7SUF3R2pELENBQUM7SUF0R1UsU0FBUyxLQUFhLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQSxDQUFDLENBQUM7SUFFckQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxRQUE0QjtRQUN4QyxJQUFJLFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUM7U0FDZjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUE0QjtRQUMvQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMxQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuRCxPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ2xCO1NBQ0o7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjLENBQUMsRUFBVTtRQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxFQUFVLEVBQUUsSUFBWTtRQUMxQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JFLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hCO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhLENBQUMsRUFBVSxFQUFFLFVBQWtCO1FBQy9DLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxFQUFVLEVBQUUsWUFBb0I7UUFDbkQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXLENBQUMsS0FBYSxJQUFJLENBQUMsVUFBVTtRQUMzQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6QztRQUNELE9BQU8sRUFBd0IsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyxLQUFLLENBQUMsR0FBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUU7WUFDakIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RCO1NBQ0o7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V2ZW50RW1pdHRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHtQYWdpbmF0aW9uSW5zdGFuY2V9IGZyb20gJy4vcGFnaW5hdGlvbi1pbnN0YW5jZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvblNlcnZpY2Uge1xyXG5cclxuICAgIHB1YmxpYyBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBpbnN0YW5jZXM6IHsgW2lkOiBzdHJpbmddOiBQYWdpbmF0aW9uSW5zdGFuY2UgfSA9IHt9O1xyXG4gICAgcHJpdmF0ZSBERUZBVUxUX0lEID0gJ0RFRkFVTFRfUEFHSU5BVElPTl9JRCc7XHJcblxyXG4gICAgcHVibGljIGRlZmF1bHRJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5ERUZBVUxUX0lEIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdGVyIGEgUGFnaW5hdGlvbkluc3RhbmNlIHdpdGggdGhpcyBzZXJ2aWNlLiBSZXR1cm5zIGFcclxuICAgICAqIGJvb2xlYW4gdmFsdWUgc2lnbmlmeWluZyB3aGV0aGVyIHRoZSBpbnN0YW5jZSBpcyBuZXcgb3JcclxuICAgICAqIHVwZGF0ZWQgKHRydWUgPSBuZXcgb3IgdXBkYXRlZCwgZmFsc2UgPSB1bmNoYW5nZWQpLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXIoaW5zdGFuY2U6IFBhZ2luYXRpb25JbnN0YW5jZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChpbnN0YW5jZS5pZCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLmlkID0gdGhpcy5ERUZBVUxUX0lEO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZXNbaW5zdGFuY2UuaWRdID0gaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUluc3RhbmNlKGluc3RhbmNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBlYWNoIHByb3BlcnR5IG9mIHRoZSBpbnN0YW5jZSBhbmQgdXBkYXRlIGFueSB0aGF0IGhhdmUgY2hhbmdlZC4gUmV0dXJuXHJcbiAgICAgKiB0cnVlIGlmIGFueSBjaGFuZ2VzIHdlcmUgbWFkZSwgZWxzZSByZXR1cm4gZmFsc2UuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgdXBkYXRlSW5zdGFuY2UoaW5zdGFuY2U6IFBhZ2luYXRpb25JbnN0YW5jZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChsZXQgcHJvcCBpbiB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgaWYgKGluc3RhbmNlW3Byb3BdICE9PSB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF1bcHJvcF0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2luc3RhbmNlLmlkXVtwcm9wXSA9IGluc3RhbmNlW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNoYW5nZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Q3VycmVudFBhZ2UoaWQ6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnN0YW5jZXNbaWRdLmN1cnJlbnRQYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRDdXJyZW50UGFnZShpZDogc3RyaW5nLCBwYWdlOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHRoaXMuaW5zdGFuY2VzW2lkXTtcclxuICAgICAgICAgICAgbGV0IG1heFBhZ2UgPSBNYXRoLmNlaWwoaW5zdGFuY2UudG90YWxJdGVtcyAvIGluc3RhbmNlLml0ZW1zUGVyUGFnZSk7XHJcbiAgICAgICAgICAgIGlmIChwYWdlIDw9IG1heFBhZ2UgJiYgMSA8PSBwYWdlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0uY3VycmVudFBhZ2UgPSBwYWdlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS50b3RhbEl0ZW1zXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRUb3RhbEl0ZW1zKGlkOiBzdHJpbmcsIHRvdGFsSXRlbXM6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlc1tpZF0gJiYgMCA8PSB0b3RhbEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2lkXS50b3RhbEl0ZW1zID0gdG90YWxJdGVtcztcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgdmFsdWUgb2YgaW5zdGFuY2UuaXRlbXNQZXJQYWdlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0SXRlbXNQZXJQYWdlKGlkOiBzdHJpbmcsIGl0ZW1zUGVyUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpZF0uaXRlbXNQZXJQYWdlID0gaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgY2xvbmUgb2YgdGhlIHBhZ2luYXRpb24gaW5zdGFuY2Ugb2JqZWN0IG1hdGNoaW5nIHRoZSBpZC4gSWYgbm9cclxuICAgICAqIGlkIHNwZWNpZmllZCwgcmV0dXJucyB0aGUgaW5zdGFuY2UgY29ycmVzcG9uZGluZyB0byB0aGUgZGVmYXVsdCBpZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEluc3RhbmNlKGlkOiBzdHJpbmcgPSB0aGlzLkRFRkFVTFRfSUQpOiBQYWdpbmF0aW9uSW5zdGFuY2Uge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2xvbmUodGhpcy5pbnN0YW5jZXNbaWRdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHt9IGFzIFBhZ2luYXRpb25JbnN0YW5jZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcmZvcm0gYSBzaGFsbG93IGNsb25lIG9mIGFuIG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBjbG9uZShvYmo6IGFueSk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0ge307XHJcbiAgICAgICAgZm9yIChjb25zdCBpIGluIG9iaikge1xyXG4gICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGkpKSB7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXRbaV0gPSBvYmpbaV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRhcmdldDtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkM6L015LVByb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3Byb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9wYWdpbmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUcxQyxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBRVcsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpELGNBQVMsR0FBeUMsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBRyx1QkFBdUIsQ0FBQztJQXdHakQsQ0FBQztJQXRHVSxTQUFTLEtBQWEsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQztJQUVyRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLFFBQTRCO1FBQ3hDLElBQUksUUFBUSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDckIsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssY0FBYyxDQUFDLFFBQTRCO1FBQy9DLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNwQixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDbEI7U0FDSjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWMsQ0FBQyxFQUFVO1FBQzVCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUFZO1FBQzFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckUsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDeEI7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWEsQ0FBQyxFQUFVLEVBQUUsVUFBa0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZSxDQUFDLEVBQVUsRUFBRSxZQUFvQjtRQUNuRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxLQUFhLElBQUksQ0FBQyxVQUFVO1FBQzNDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxFQUF3QixDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNLLEtBQUssQ0FBQyxHQUFRO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRTtZQUNqQixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEI7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1BhZ2luYXRpb25JbnN0YW5jZX0gZnJvbSAnLi9wYWdpbmF0aW9uLWluc3RhbmNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uU2VydmljZSB7XHJcblxyXG4gICAgcHVibGljIGNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBwcml2YXRlIGluc3RhbmNlczogeyBbaWQ6IHN0cmluZ106IFBhZ2luYXRpb25JbnN0YW5jZSB9ID0ge307XHJcbiAgICBwcml2YXRlIERFRkFVTFRfSUQgPSAnREVGQVVMVF9QQUdJTkFUSU9OX0lEJztcclxuXHJcbiAgICBwdWJsaWMgZGVmYXVsdElkKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLkRFRkFVTFRfSUQgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVnaXN0ZXIgYSBQYWdpbmF0aW9uSW5zdGFuY2Ugd2l0aCB0aGlzIHNlcnZpY2UuIFJldHVybnMgYVxyXG4gICAgICogYm9vbGVhbiB2YWx1ZSBzaWduaWZ5aW5nIHdoZXRoZXIgdGhlIGluc3RhbmNlIGlzIG5ldyBvclxyXG4gICAgICogdXBkYXRlZCAodHJ1ZSA9IG5ldyBvciB1cGRhdGVkLCBmYWxzZSA9IHVuY2hhbmdlZCkuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3RlcihpbnN0YW5jZTogUGFnaW5hdGlvbkluc3RhbmNlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGluc3RhbmNlLmlkID09IG51bGwpIHtcclxuICAgICAgICAgICAgaW5zdGFuY2UuaWQgPSB0aGlzLkRFRkFVTFRfSUQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaW5zdGFuY2VzW2luc3RhbmNlLmlkXSkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlc1tpbnN0YW5jZS5pZF0gPSBpbnN0YW5jZTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlSW5zdGFuY2UoaW5zdGFuY2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGVhY2ggcHJvcGVydHkgb2YgdGhlIGluc3RhbmNlIGFuZCB1cGRhdGUgYW55IHRoYXQgaGF2ZSBjaGFuZ2VkLiBSZXR1cm5cclxuICAgICAqIHRydWUgaWYgYW55IGNoYW5nZXMgd2VyZSBtYWRlLCBlbHNlIHJldHVybiBmYWxzZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVJbnN0YW5jZShpbnN0YW5jZTogUGFnaW5hdGlvbkluc3RhbmNlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGxldCBwcm9wIGluIHRoaXMuaW5zdGFuY2VzW2luc3RhbmNlLmlkXSkge1xyXG4gICAgICAgICAgICBpZiAoaW5zdGFuY2VbcHJvcF0gIT09IHRoaXMuaW5zdGFuY2VzW2luc3RhbmNlLmlkXVtwcm9wXSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZXNbaW5zdGFuY2UuaWRdW3Byb3BdID0gaW5zdGFuY2VbcHJvcF07XHJcbiAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY2hhbmdlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50UGFnZShpZDogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlc1tpZF0uY3VycmVudFBhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldEN1cnJlbnRQYWdlKGlkOiBzdHJpbmcsIHBhZ2U6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgbGV0IGluc3RhbmNlID0gdGhpcy5pbnN0YW5jZXNbaWRdO1xyXG4gICAgICAgICAgICBsZXQgbWF4UGFnZSA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2UgPD0gbWF4UGFnZSAmJiAxIDw9IHBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHZhbHVlIG9mIGluc3RhbmNlLnRvdGFsSXRlbXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldFRvdGFsSXRlbXMoaWQ6IHN0cmluZywgdG90YWxJdGVtczogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSAmJiAwIDw9IHRvdGFsSXRlbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZXNbaWRdLnRvdGFsSXRlbXMgPSB0b3RhbEl0ZW1zO1xyXG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiBpbnN0YW5jZS5pdGVtc1BlclBhZ2UuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRJdGVtc1BlclBhZ2UoaWQ6IHN0cmluZywgaXRlbXNQZXJQYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2VzW2lkXS5pdGVtc1BlclBhZ2UgPSBpdGVtc1BlclBhZ2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoaWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSBjbG9uZSBvZiB0aGUgcGFnaW5hdGlvbiBpbnN0YW5jZSBvYmplY3QgbWF0Y2hpbmcgdGhlIGlkLiBJZiBub1xyXG4gICAgICogaWQgc3BlY2lmaWVkLCByZXR1cm5zIHRoZSBpbnN0YW5jZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBkZWZhdWx0IGlkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0SW5zdGFuY2UoaWQ6IHN0cmluZyA9IHRoaXMuREVGQVVMVF9JRCk6IFBhZ2luYXRpb25JbnN0YW5jZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jbG9uZSh0aGlzLmluc3RhbmNlc1tpZF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge30gYXMgUGFnaW5hdGlvbkluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyZm9ybSBhIHNoYWxsb3cgY2xvbmUgb2YgYW4gb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNsb25lKG9iajogYW55KTogYW55IHtcclxuICAgICAgICBjb25zdCB0YXJnZXQgPSB7fTtcclxuICAgICAgICBmb3IgKGNvbnN0IGkgaW4gb2JqKSB7XHJcbiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoaSkpIHtcclxuICAgICAgICAgICAgICAgIHRhcmdldFtpXSA9IG9ialtpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGFyZ2V0O1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=

@@ -5,2 +5,2 @@ /**

export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRhYmxlLXBhZ2luYXRpb24uanMiLCJzb3VyY2VSb290IjoiQzovQWRyZW5hbGluZVdTL2RlbW9zL25neC10YWJsZS1wYWdpbmF0aW9uL3Byb2plY3RzL25neC10YWJsZS1wYWdpbmF0aW9uL3NyYy8iLCJzb3VyY2VzIjpbIm5neC10YWJsZS1wYWdpbmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRhYmxlLXBhZ2luYXRpb24uanMiLCJzb3VyY2VSb290IjoiQzovTXktUHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vcHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vc3JjLyIsInNvdXJjZXMiOlsibmd4LXRhYmxlLXBhZ2luYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==

@@ -7,2 +7,2 @@ /*

export * from './lib/pagination.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9BZHJlbmFsaW5lV1MvZGVtb3Mvbmd4LXRhYmxlLXBhZ2luYXRpb24vcHJvamVjdHMvbmd4LXRhYmxlLXBhZ2luYXRpb24vc3JjLyIsInNvdXJjZXMiOlsicHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwYWdpbmF0aW9uXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24ubW9kdWxlJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9NeS1Qcm9qZWN0cy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9wcm9qZWN0cy9uZ3gtdGFibGUtcGFnaW5hdGlvbi9zcmMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGFnaW5hdGlvblxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG4iXX0=
import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, Directive, ChangeDetectorRef, Pipe, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';

@@ -537,3 +538,4 @@ class PaginationService {

imports: [
CommonModule
CommonModule,
FormsModule
],

@@ -540,0 +542,0 @@ providers: [PaginationService],

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"PaginationService":{"__symbolic":"class","members":{"defaultId":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"updateInstance":[{"__symbolic":"method"}],"getCurrentPage":[{"__symbolic":"method"}],"setCurrentPage":[{"__symbolic":"method"}],"setTotalItems":[{"__symbolic":"method"}],"setItemsPerPage":[{"__symbolic":"method"}],"getInstance":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}]}},"PaginationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"paging-controls","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":19,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":20,"character":17},"member":"None"},"template":"<pagination-template\r\n #p=\"paginationApi\"\r\n [id]=\"id\"\r\n [maxSize]=\"maxSize\"\r\n (pageChange)=\"pageChange.emit($event)\"\r\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\"\r\n>\r\n <div *ngIf=\"!(autoHide && p.pages.length <= 1)\">\r\n <div *ngIf=\"isItemsPerPage\">\r\n <span style=\"display: flex\" class=\"pagination-font\">\r\n <label class=\"show-label\">Show</label>\r\n <select\r\n class=\"select-box pagination-font\"\r\n [(ngModel)]=\"p.itemsPerPage\"\r\n (change)=\"p.pageSizeChanged($event.target.value)\"\r\n >\r\n <option\r\n *ngFor=\"let pageSizeDefault of p.pageSizes\"\r\n value=\"{{ pageSizeDefault }}\"\r\n [selected]=\"pageSizeDefault == p.itemsPerPage\"\r\n >\r\n {{ pageSizeDefault }}\r\n </option>\r\n </select>\r\n <label class=\"entries-label\">entries</label></span\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"ngx-pagination pagination-font\"\r\n role=\"navigation\"\r\n *ngIf=\"!isItemsPerPage\"\r\n [attr.aria-label]=\"screenReaderPaginationLabel\"\r\n [class.responsive]=\"responsive\"\r\n >\r\n <label\r\n >Showing {{ p.getStartIndex() }} - {{ p.getEndIndex() }} of\r\n {{ p.getTotalItems() }} entries</label\r\n >\r\n <ul role=\"navigation\" class=\"\">\r\n <li\r\n class=\"pagination-previous pagination-font page\"\r\n [class.disabled]=\"p.isFirstPage()\"\r\n *ngIf=\"directionLinks\"\r\n >\r\n <a\r\n tabindex=\"0\"\r\n *ngIf=\"1 < p.getCurrent()\"\r\n (keyup.enter)=\"p.previous()\"\r\n (click)=\"p.previous()\"\r\n [attr.aria-label]=\"previousLabel + ' ' + screenReaderPageLabel\"\r\n >\r\n {{ previousLabel }}\r\n </a>\r\n <span *ngIf=\"p.isFirstPage()\">\r\n {{ previousLabel }}\r\n </span>\r\n </li>\r\n <li class=\"small-screen pagination-font page\">\r\n {{ p.getCurrent() }} / {{ p.getLastPage() }}\r\n </li>\r\n <li\r\n class=\"pagination-font page\"\r\n [class.current]=\"p.getCurrent() === page.value\"\r\n [class.ellipsis]=\"page.label === '...'\"\r\n *ngFor=\"let page of p.pages\"\r\n >\r\n <a\r\n tabindex=\"0\"\r\n (keyup.enter)=\"p.setCurrent(page.value)\"\r\n (click)=\"p.setCurrent(page.value)\"\r\n *ngIf=\"p.getCurrent() !== page.value\"\r\n >\r\n <span class=\"show-for-sr\">{{ screenReaderPageLabel }} </span>\r\n <span>{{\r\n page.label === \"...\" ? page.label : (page.label | number: \"\")\r\n }}</span>\r\n </a>\r\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\r\n <span class=\"show-for-sr\">{{ screenReaderCurrentLabel }} </span>\r\n <span>{{\r\n page.label === \"...\" ? page.label : (page.label | number: \"\")\r\n }}</span>\r\n </ng-container>\r\n </li>\r\n <li\r\n class=\"pagination-next pagination-font page\"\r\n [class.disabled]=\"p.isLastPage()\"\r\n *ngIf=\"directionLinks\"\r\n >\r\n <a\r\n tabindex=\"0\"\r\n *ngIf=\"!p.isLastPage()\"\r\n (keyup.enter)=\"p.next()\"\r\n (click)=\"p.next()\"\r\n [attr.aria-label]=\"nextLabel + ' ' + screenReaderPageLabel\"\r\n >\r\n {{ nextLabel }}\r\n </a>\r\n <span *ngIf=\"p.isLastPage()\">\r\n {{ nextLabel }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</pagination-template>\r\n","styles":[".show-label{margin-right:.25rem}.no-padding{padding:0}.select-box{border:1px solid rgba(51,51,51,.6901960784313725);border-radius:4px;color:rgba(51,51,51,.6901960784313725);opacity:1}.entries-label{margin-left:.25rem}.page{background-color:#fff;border:1px solid #dee2e6;margin-left:-1px;padding:.15rem .2rem;position:relative}.ngx-pagination{display:flex;justify-content:space-between;margin-bottom:1rem;margin-left:0}.ngx-pagination:after,.ngx-pagination:before{display:table}.ngx-pagination:after{clear:both}.ngx-pagination li{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-radius:0;display:inline-block}.ngx-pagination a,.ngx-pagination button{border-radius:0;display:block;padding:.1875rem .625rem}.ngx-pagination a:hover,.ngx-pagination button:hover{background:#e6e6e6}.ngx-pagination .current{background:#2199e8;border:1px solid #dee2e6;color:#fefefe;cursor:default;padding:.355rem .625rem}.ngx-pagination .disabled{color:#cacaca;cursor:default;padding:.295rem .625rem}.ngx-pagination .disabled:hover{background:transparent}.ngx-pagination a,.ngx-pagination button{cursor:pointer}.ngx-pagination .pagination-previous.disabled:before,.ngx-pagination .pagination-previous a:before{content:\"«\";display:inline-block}.ngx-pagination .pagination-next.disabled:after,.ngx-pagination .pagination-next a:after{content:\"»\";display:inline-block}.ngx-pagination .show-for-sr{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute!important;width:1px}.ngx-pagination .small-screen{display:none}@media screen and (max-width:601px){.ngx-pagination.responsive .small-screen{display:inline-block}.ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}@media only screen and (max-width:1023px){.pagination-font{color:#2e384d!important;font-size:14px!important}}@media only screen and (min-width:1024px) and (max-width:1439px){.pagination-font{color:#2e384d;font-size:16px!important}}@media only screen and (min-width:1440px) and (max-width:2559px){.pagination-font{color:#2e384d;font-size:18px!important}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"maxSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"isItemsPerPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"directionLinks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"autoHide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"responsive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"previousLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"nextLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"screenReaderPaginationLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"screenReaderPageLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"screenReaderCurrentLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"pageChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"pageBoundsCorrection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}]}},"NgxTablePaginationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"PaginationComponent"},{"__symbolic":"reference","name":"PaginationPipe"},{"__symbolic":"reference","name":"PaginationDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4}],"providers":[{"__symbolic":"reference","name":"PaginationService"}],"exports":[{"__symbolic":"reference","name":"PaginationComponent"},{"__symbolic":"reference","name":"PaginationPipe"},{"__symbolic":"reference","name":"PaginationDirective"}]}]}],"members":{}},"PaginationInstance":{"__symbolic":"interface"},"PaginationDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":23,"character":1},"arguments":[{"selector":"pagination-template,[pagination-template]","exportAs":"paginationApi"}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"maxSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"pageChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"pageBoundsCorrection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PaginationService"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":42,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"pageSizeChanged":[{"__symbolic":"method"}],"previous":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"isFirstPage":[{"__symbolic":"method"}],"isLastPage":[{"__symbolic":"method"}],"setCurrent":[{"__symbolic":"method"}],"getCurrent":[{"__symbolic":"method"}],"getLastPage":[{"__symbolic":"method"}],"getTotalItems":[{"__symbolic":"method"}],"getStartIndex":[{"__symbolic":"method"}],"getEndIndex":[{"__symbolic":"method"}],"checkValidId":[{"__symbolic":"method"}],"updatePageLinks":[{"__symbolic":"method"}],"outOfBoundCorrection":[{"__symbolic":"method"}],"createPageArray":[{"__symbolic":"method"}],"calculatePageNumber":[{"__symbolic":"method"}]}},"PaginationPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"paginate","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PaginationService"}]}],"transform":[{"__symbolic":"method"}],"createInstance":[{"__symbolic":"method"}],"checkConfig":[{"__symbolic":"method"}],"saveState":[{"__symbolic":"method"}],"stateIsIdentical":[{"__symbolic":"method"}]}}},"origins":{"PaginationService":"./lib/pagination.service","PaginationComponent":"./lib/pagination.component","NgxTablePaginationModule":"./lib/pagination.module","PaginationInstance":"./lib/pagination-instance","PaginationDirective":"./lib/pagination.directive","PaginationPipe":"./lib/pagination.pipe"},"importAs":"ngx-table-pagination"}
{"__symbolic":"module","version":4,"metadata":{"PaginationService":{"__symbolic":"class","members":{"defaultId":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"updateInstance":[{"__symbolic":"method"}],"getCurrentPage":[{"__symbolic":"method"}],"setCurrentPage":[{"__symbolic":"method"}],"setTotalItems":[{"__symbolic":"method"}],"setItemsPerPage":[{"__symbolic":"method"}],"getInstance":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}]}},"PaginationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"paging-controls","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":19,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":20,"character":17},"member":"None"},"template":"<pagination-template\r\n #p=\"paginationApi\"\r\n [id]=\"id\"\r\n [maxSize]=\"maxSize\"\r\n (pageChange)=\"pageChange.emit($event)\"\r\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\"\r\n>\r\n <div *ngIf=\"!(autoHide && p.pages.length <= 1)\">\r\n <div *ngIf=\"isItemsPerPage\">\r\n <span style=\"display: flex\" class=\"pagination-font\">\r\n <label class=\"show-label\">Show</label>\r\n <select\r\n class=\"select-box pagination-font\"\r\n [(ngModel)]=\"p.itemsPerPage\"\r\n (change)=\"p.pageSizeChanged($event.target.value)\"\r\n >\r\n <option\r\n *ngFor=\"let pageSizeDefault of p.pageSizes\"\r\n value=\"{{ pageSizeDefault }}\"\r\n [selected]=\"pageSizeDefault == p.itemsPerPage\"\r\n >\r\n {{ pageSizeDefault }}\r\n </option>\r\n </select>\r\n <label class=\"entries-label\">entries</label></span\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"ngx-pagination pagination-font\"\r\n role=\"navigation\"\r\n *ngIf=\"!isItemsPerPage\"\r\n [attr.aria-label]=\"screenReaderPaginationLabel\"\r\n [class.responsive]=\"responsive\"\r\n >\r\n <label\r\n >Showing {{ p.getStartIndex() }} - {{ p.getEndIndex() }} of\r\n {{ p.getTotalItems() }} entries</label\r\n >\r\n <ul role=\"navigation\" class=\"\">\r\n <li\r\n class=\"pagination-previous pagination-font page\"\r\n [class.disabled]=\"p.isFirstPage()\"\r\n *ngIf=\"directionLinks\"\r\n >\r\n <a\r\n tabindex=\"0\"\r\n *ngIf=\"1 < p.getCurrent()\"\r\n (keyup.enter)=\"p.previous()\"\r\n (click)=\"p.previous()\"\r\n [attr.aria-label]=\"previousLabel + ' ' + screenReaderPageLabel\"\r\n >\r\n {{ previousLabel }}\r\n </a>\r\n <span *ngIf=\"p.isFirstPage()\">\r\n {{ previousLabel }}\r\n </span>\r\n </li>\r\n <li class=\"small-screen pagination-font page\">\r\n {{ p.getCurrent() }} / {{ p.getLastPage() }}\r\n </li>\r\n <li\r\n class=\"pagination-font page\"\r\n [class.current]=\"p.getCurrent() === page.value\"\r\n [class.ellipsis]=\"page.label === '...'\"\r\n *ngFor=\"let page of p.pages\"\r\n >\r\n <a\r\n tabindex=\"0\"\r\n (keyup.enter)=\"p.setCurrent(page.value)\"\r\n (click)=\"p.setCurrent(page.value)\"\r\n *ngIf=\"p.getCurrent() !== page.value\"\r\n >\r\n <span class=\"show-for-sr\">{{ screenReaderPageLabel }} </span>\r\n <span>{{\r\n page.label === \"...\" ? page.label : (page.label | number: \"\")\r\n }}</span>\r\n </a>\r\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\r\n <span class=\"show-for-sr\">{{ screenReaderCurrentLabel }} </span>\r\n <span>{{\r\n page.label === \"...\" ? page.label : (page.label | number: \"\")\r\n }}</span>\r\n </ng-container>\r\n </li>\r\n <li\r\n class=\"pagination-next pagination-font page\"\r\n [class.disabled]=\"p.isLastPage()\"\r\n *ngIf=\"directionLinks\"\r\n >\r\n <a\r\n tabindex=\"0\"\r\n *ngIf=\"!p.isLastPage()\"\r\n (keyup.enter)=\"p.next()\"\r\n (click)=\"p.next()\"\r\n [attr.aria-label]=\"nextLabel + ' ' + screenReaderPageLabel\"\r\n >\r\n {{ nextLabel }}\r\n </a>\r\n <span *ngIf=\"p.isLastPage()\">\r\n {{ nextLabel }}\r\n </span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</pagination-template>\r\n","styles":[".show-label{margin-right:.25rem}.no-padding{padding:0}.select-box{border:1px solid rgba(51,51,51,.6901960784313725);border-radius:4px;color:rgba(51,51,51,.6901960784313725);opacity:1}.entries-label{margin-left:.25rem}.page{background-color:#fff;border:1px solid #dee2e6;margin-left:-1px;padding:.15rem .2rem;position:relative}.ngx-pagination{display:flex;justify-content:space-between;margin-bottom:1rem;margin-left:0}.ngx-pagination:after,.ngx-pagination:before{display:table}.ngx-pagination:after{clear:both}.ngx-pagination li{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;border-radius:0;display:inline-block}.ngx-pagination a,.ngx-pagination button{border-radius:0;display:block;padding:.1875rem .625rem}.ngx-pagination a:hover,.ngx-pagination button:hover{background:#e6e6e6}.ngx-pagination .current{background:#2199e8;border:1px solid #dee2e6;color:#fefefe;cursor:default;padding:.355rem .625rem}.ngx-pagination .disabled{color:#cacaca;cursor:default;padding:.295rem .625rem}.ngx-pagination .disabled:hover{background:transparent}.ngx-pagination a,.ngx-pagination button{cursor:pointer}.ngx-pagination .pagination-previous.disabled:before,.ngx-pagination .pagination-previous a:before{content:\"«\";display:inline-block}.ngx-pagination .pagination-next.disabled:after,.ngx-pagination .pagination-next a:after{content:\"»\";display:inline-block}.ngx-pagination .show-for-sr{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute!important;width:1px}.ngx-pagination .small-screen{display:none}@media screen and (max-width:601px){.ngx-pagination.responsive .small-screen{display:inline-block}.ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}@media only screen and (max-width:1023px){.pagination-font{color:#2e384d!important;font-size:14px!important}}@media only screen and (min-width:1024px) and (max-width:1439px){.pagination-font{color:#2e384d;font-size:16px!important}}@media only screen and (min-width:1440px) and (max-width:2559px){.pagination-font{color:#2e384d;font-size:18px!important}}"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"maxSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"isItemsPerPage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"directionLinks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"autoHide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"responsive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"previousLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"nextLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"screenReaderPaginationLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"screenReaderPageLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"screenReaderCurrentLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"pageChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"pageBoundsCorrection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}]}},"NgxTablePaginationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"PaginationComponent"},{"__symbolic":"reference","name":"PaginationPipe"},{"__symbolic":"reference","name":"PaginationDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":21,"character":4}],"providers":[{"__symbolic":"reference","name":"PaginationService"}],"exports":[{"__symbolic":"reference","name":"PaginationComponent"},{"__symbolic":"reference","name":"PaginationPipe"},{"__symbolic":"reference","name":"PaginationDirective"}]}]}],"members":{}},"PaginationInstance":{"__symbolic":"interface"},"PaginationDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":23,"character":1},"arguments":[{"selector":"pagination-template,[pagination-template]","exportAs":"paginationApi"}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"maxSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"pageChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"pageBoundsCorrection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PaginationService"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":42,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"pageSizeChanged":[{"__symbolic":"method"}],"previous":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"isFirstPage":[{"__symbolic":"method"}],"isLastPage":[{"__symbolic":"method"}],"setCurrent":[{"__symbolic":"method"}],"getCurrent":[{"__symbolic":"method"}],"getLastPage":[{"__symbolic":"method"}],"getTotalItems":[{"__symbolic":"method"}],"getStartIndex":[{"__symbolic":"method"}],"getEndIndex":[{"__symbolic":"method"}],"checkValidId":[{"__symbolic":"method"}],"updatePageLinks":[{"__symbolic":"method"}],"outOfBoundCorrection":[{"__symbolic":"method"}],"createPageArray":[{"__symbolic":"method"}],"calculatePageNumber":[{"__symbolic":"method"}]}},"PaginationPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":23,"character":1},"arguments":[{"name":"paginate","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PaginationService"}]}],"transform":[{"__symbolic":"method"}],"createInstance":[{"__symbolic":"method"}],"checkConfig":[{"__symbolic":"method"}],"saveState":[{"__symbolic":"method"}],"stateIsIdentical":[{"__symbolic":"method"}]}}},"origins":{"PaginationService":"./lib/pagination.service","PaginationComponent":"./lib/pagination.component","NgxTablePaginationModule":"./lib/pagination.module","PaginationInstance":"./lib/pagination-instance","PaginationDirective":"./lib/pagination.directive","PaginationPipe":"./lib/pagination.pipe"},"importAs":"ngx-table-pagination"}
{
"name": "ngx-table-pagination",
"version": "1.1.2",
"version": "1.1.3",
"description": "Pagination for angular",

@@ -5,0 +5,0 @@ "author": {

@@ -0,0 +0,0 @@ # Pagination for Angular [![Build Status](https://travis-ci.org/michaelbromley/ngx-pagination.svg?branch=master)](https://travis-ci.org/michaelbromley/ngx-pagination)

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc