New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

angular-split

Package Overview
Dependencies
Maintainers
1
Versions
102
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-split - npm Package Compare versions

Comparing version 3.0.1 to 3.0.2

0

angular-split.d.ts

@@ -0,0 +0,0 @@ /**

2

bundles/angular-split.umd.min.js

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

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular-split",["exports","@angular/core","rxjs","rxjs/operators","@angular/common"],t):t(e["angular-split"]={},e.ng.core,e.rxjs,e.rxjs.operators,e.ng.common)}(this,function(e,r,s,i,t){"use strict";function n(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,s=i.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(n=s.next()).done;)a.push(n.value)}catch(o){r={error:o}}finally{try{n&&!n.done&&(i=s["return"])&&i.call(s)}finally{if(r)throw r.error}}return a}function l(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e}function u(e){return e.changedTouches!==undefined&&0<e.changedTouches.length?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:e.clientX!==undefined&&e.clientY!==undefined?{x:e.clientX,y:e.clientY}:null}function a(e,t){var i=e.nativeElement.getBoundingClientRect();return"horizontal"===t?i.width:i.height}function o(e){return"boolean"==typeof e?e:"false"!==e}function h(e,t){return null===e||e===undefined?t:(e=Number(e),!isNaN(e)&&0<=e?e:t)}function p(e,t){if("percent"===e){var i=t.reduce(function(e,t){return null!==t?e+t:e},0);return t.every(function(e){return null!==e})&&99.9<i&&i<100.1}if("pixel"===e)return 1===t.filter(function(e){return null===e}).length}function c(e){return null===e.size?null:!0===e.component.lockSize?e.size:null===e.component.minSize?null:e.component.minSize>e.size?e.size:e.component.minSize}function d(e){return null===e.size?null:!0===e.component.lockSize?e.size:null===e.component.maxSize?null:e.component.maxSize<e.size?e.size:e.component.maxSize}function f(n,e,t,r){return e.reduce(function(e,t){var i=function s(e,t,i,n){if(0===i)return{areaSnapshot:t,pixelAbsorb:0,percentAfterAbsorption:t.sizePercentAtStart,pixelRemain:0};if(0===t.sizePixelAtStart&&i<0)return{areaSnapshot:t,pixelAbsorb:0,percentAfterAbsorption:0,pixelRemain:i};if("percent"===e)return function a(e,t,i){var n=(e.sizePixelAtStart+t)/i*100;{if(0<t){if(null!==e.area.maxSize&&n>e.area.maxSize){var r=e.area.maxSize/100*i;return{areaSnapshot:e,pixelAbsorb:r,percentAfterAbsorption:e.area.maxSize,pixelRemain:e.sizePixelAtStart+t-r}}return{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:100<n?100:n,pixelRemain:0}}if(t<0){if(null!==e.area.minSize&&n<e.area.minSize){var s=e.area.minSize/100*i;return{areaSnapshot:e,pixelAbsorb:s,percentAfterAbsorption:e.area.minSize,pixelRemain:e.sizePixelAtStart+t-s}}return n<0?{areaSnapshot:e,pixelAbsorb:-e.sizePixelAtStart,percentAfterAbsorption:0,pixelRemain:t+e.sizePixelAtStart}:{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:n,pixelRemain:0}}}}(t,i,n);if("pixel"===e)return function r(e,t,i){var n=e.sizePixelAtStart+t;{if(0<t)return null!==e.area.maxSize&&n>e.area.maxSize?{areaSnapshot:e,pixelAbsorb:e.area.maxSize-e.sizePixelAtStart,percentAfterAbsorption:-1,pixelRemain:n-e.area.maxSize}:{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:-1,pixelRemain:0};if(t<0)return null!==e.area.minSize&&n<e.area.minSize?{areaSnapshot:e,pixelAbsorb:e.area.minSize+t-n,percentAfterAbsorption:-1,pixelRemain:n-e.area.minSize}:n<0?{areaSnapshot:e,pixelAbsorb:-e.sizePixelAtStart,percentAfterAbsorption:-1,pixelRemain:t+e.sizePixelAtStart}:{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:-1,pixelRemain:0}}}(t,i)}(n,t,e.remain,r);return e.list.push(i),e.remain=i.pixelRemain,e},{remain:t,list:[]})}function g(e,t){"percent"===e?t.areaSnapshot.area.size=t.percentAfterAbsorption:"pixel"===e&&null!==t.areaSnapshot.area.size&&(t.areaSnapshot.area.size=t.areaSnapshot.sizePixelAtStart+t.pixelAbsorb)}var m=function(){function e(e,t,i,n){this.ngZone=e,this.elRef=t,this.cdRef=i,this.renderer=n,this._direction="horizontal",this._unit="percent",this._gutterSize=11,this._gutterStep=1,this._restrictMove=!1,this._useTransition=!1,this._disabled=!1,this._dir="ltr",this._gutterDblClickDuration=0,this.dragStart=new r.EventEmitter(!1),this.dragEnd=new r.EventEmitter(!1),this.gutterClick=new r.EventEmitter(!1),this.gutterDblClick=new r.EventEmitter(!1),this.dragProgressSubject=new s.Subject,this.dragProgress$=this.dragProgressSubject.asObservable(),this.isDragging=!1,this.dragListeners=[],this.snapshot=null,this.startPoint=null,this.endPoint=null,this.displayedAreas=[],this.hidedAreas=[],this._clickTimeout=null,this.direction=this._direction}return Object.defineProperty(e.prototype,"direction",{get:function(){return this._direction},set:function(e){this._direction="vertical"===e?"vertical":"horizontal",this.renderer.addClass(this.elRef.nativeElement,"as-"+this._direction),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("vertical"===this._direction?"horizontal":"vertical")),this.build(!1,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"unit",{get:function(){return this._unit},set:function(e){this._unit="pixel"===e?"pixel":"percent",this.renderer.addClass(this.elRef.nativeElement,"as-"+this._unit),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("pixel"===this._unit?"percent":"pixel")),this.build(!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"gutterSize",{get:function(){return this._gutterSize},set:function(e){this._gutterSize=h(e,11),this.build(!1,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"gutterStep",{get:function(){return this._gutterStep},set:function(e){this._gutterStep=h(e,1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"restrictMove",{get:function(){return this._restrictMove},set:function(e){this._restrictMove=o(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useTransition",{get:function(){return this._useTransition},set:function(e){this._useTransition=o(e),this._useTransition?this.renderer.addClass(this.elRef.nativeElement,"as-transition"):this.renderer.removeClass(this.elRef.nativeElement,"as-transition")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=o(e),this._disabled?this.renderer.addClass(this.elRef.nativeElement,"as-disabled"):this.renderer.removeClass(this.elRef.nativeElement,"as-disabled")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dir",{get:function(){return this._dir},set:function(e){this._dir="rtl"===e?"rtl":"ltr",this.renderer.setAttribute(this.elRef.nativeElement,"dir",this._dir)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"gutterDblClickDuration",{get:function(){return this._gutterDblClickDuration},set:function(e){this._gutterDblClickDuration=h(e,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"transitionEnd",{get:function(){var t=this;return new s.Observable(function(e){return t.transitionEndSubscriber=e}).pipe(i.debounceTime(20))},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;this.ngZone.runOutsideAngular(function(){setTimeout(function(){return e.renderer.addClass(e.elRef.nativeElement,"as-init")})})},e.prototype.getNbGutters=function(){return 0===this.displayedAreas.length?0:this.displayedAreas.length-1},e.prototype.addArea=function(e){var t={component:e,order:0,size:0,minSize:null,maxSize:null};!0===e.visible?(this.displayedAreas.push(t),this.build(!0,!0)):this.hidedAreas.push(t)},e.prototype.removeArea=function(t){if(this.displayedAreas.some(function(e){return e.component===t})){var e=this.displayedAreas.find(function(e){return e.component===t});this.displayedAreas.splice(this.displayedAreas.indexOf(e),1),this.build(!0,!0)}else if(this.hidedAreas.some(function(e){return e.component===t})){e=this.hidedAreas.find(function(e){return e.component===t});this.hidedAreas.splice(this.hidedAreas.indexOf(e),1)}},e.prototype.updateArea=function(e,t,i){!0===e.visible&&this.build(t,i)},e.prototype.showArea=function(t){var e,i=this.hidedAreas.find(function(e){return e.component===t});if(i!==undefined){var n=this.hidedAreas.splice(this.hidedAreas.indexOf(i),1);(e=this.displayedAreas).push.apply(e,l(n)),this.build(!0,!0)}},e.prototype.hideArea=function(t){var e,i=this.displayedAreas.find(function(e){return e.component===t});if(i!==undefined){var n=this.displayedAreas.splice(this.displayedAreas.indexOf(i),1);n.forEach(function(e){e.order=0,e.size=0}),(e=this.hidedAreas).push.apply(e,l(n)),this.build(!0,!0)}},e.prototype.getVisibleAreaSizes=function(){return this.displayedAreas.map(function(e){return null===e.size?"*":e.size})},e.prototype.setVisibleAreaSizes=function(e){if(e.length!==this.displayedAreas.length)return!1;var i=e.map(function(e){return h(e,null)});return!1!==p(this.unit,i)&&(this.displayedAreas.forEach(function(e,t){return e.component._size=i[t]}),this.build(!1,!0),!0)},e.prototype.build=function(e,t){if(this.stopDragging(),!0===e&&(this.displayedAreas.every(function(e){return null!==e.component.order})&&this.displayedAreas.sort(function(e,t){return e.component.order-t.component.order}),this.displayedAreas.forEach(function(e,t){e.order=2*t,e.component.setStyleOrder(e.order)})),!0===t){var i=p(this.unit,this.displayedAreas.map(function(e){return e.component.size}));switch(this.unit){case"percent":var n=100/this.displayedAreas.length;this.displayedAreas.forEach(function(e){e.size=i?e.component.size:n,e.minSize=c(e),e.maxSize=d(e)});break;case"pixel":if(i)this.displayedAreas.forEach(function(e){e.size=e.component.size,e.minSize=c(e),e.maxSize=d(e)});else{var r=this.displayedAreas.filter(function(e){return null===e.component.size});if(0===r.length&&0<this.displayedAreas.length)this.displayedAreas.forEach(function(e,t){e.size=0===t?null:e.component.size,e.minSize=0===t?null:c(e),e.maxSize=0===t?null:d(e)});else if(1<r.length){var s=!1;this.displayedAreas.forEach(function(e){null===e.component.size?!1===s?(e.size=null,e.minSize=null,e.maxSize=null,s=!0):(e.size=100,e.minSize=null,e.maxSize=null):(e.size=e.component.size,e.minSize=c(e),e.maxSize=d(e))})}}}}this.refreshStyleSizes(),this.cdRef.markForCheck()},e.prototype.refreshStyleSizes=function(){var t=this;if("percent"===this.unit)if(1===this.displayedAreas.length)this.displayedAreas[0].component.setStyleFlex(0,0,"100%",!1,!1);else{var i=this.getNbGutters()*this.gutterSize;this.displayedAreas.forEach(function(e){e.component.setStyleFlex(0,0,"calc( "+e.size+"% - "+e.size/100*i+"px )",null!==e.minSize&&e.minSize===e.size,null!==e.maxSize&&e.maxSize===e.size)})}else"pixel"===this.unit&&this.displayedAreas.forEach(function(e){null===e.size?1===t.displayedAreas.length?e.component.setStyleFlex(1,1,"100%",!1,!1):e.component.setStyleFlex(1,1,"auto",!1,!1):1===t.displayedAreas.length?e.component.setStyleFlex(0,0,"100%",!1,!1):e.component.setStyleFlex(0,0,e.size+"px",null!==e.minSize&&e.minSize===e.size,null!==e.maxSize&&e.maxSize===e.size)})},e.prototype.clickGutter=function(e,t){var i=this,n=u(e);this.startPoint&&this.startPoint.x===n.x&&this.startPoint.y===n.y&&(null!==this._clickTimeout?(window.clearTimeout(this._clickTimeout),this._clickTimeout=null,this.notify("dblclick",t),this.stopDragging()):this._clickTimeout=window.setTimeout(function(){i._clickTimeout=null,i.notify("click",t),i.stopDragging()},this.gutterDblClickDuration))},e.prototype.startDragging=function(e,i,t){var n=this;e.preventDefault(),e.stopPropagation(),this.startPoint=u(e),null!==this.startPoint&&!0!==this.disabled&&(this.snapshot={gutterNum:t,lastSteppedOffset:0,allAreasSizePixel:a(this.elRef,this.direction)-this.getNbGutters()*this.gutterSize,allInvolvedAreasSizePercent:100,areasBeforeGutter:[],areasAfterGutter:[]},this.displayedAreas.forEach(function(e){var t={area:e,sizePixelAtStart:a(e.component.elRef,n.direction),sizePercentAtStart:"percent"===n.unit?e.size:-1};e.order<i?!0===n.restrictMove?n.snapshot.areasBeforeGutter=[t]:n.snapshot.areasBeforeGutter.unshift(t):e.order>i&&(!0===n.restrictMove?0===n.snapshot.areasAfterGutter.length&&(n.snapshot.areasAfterGutter=[t]):n.snapshot.areasAfterGutter.push(t))}),this.snapshot.allInvolvedAreasSizePercent=l(this.snapshot.areasBeforeGutter,this.snapshot.areasAfterGutter).reduce(function(e,t){return e+t.sizePercentAtStart},0),0!==this.snapshot.areasBeforeGutter.length&&0!==this.snapshot.areasAfterGutter.length&&(this.dragListeners.push(this.renderer.listen("document","mouseup",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchend",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchcancel",this.stopDragging.bind(this))),this.ngZone.runOutsideAngular(function(){n.dragListeners.push(n.renderer.listen("document","mousemove",n.dragEvent.bind(n))),n.dragListeners.push(n.renderer.listen("document","touchmove",n.dragEvent.bind(n)))}),this.displayedAreas.forEach(function(e){return e.component.lockEvents()}),this.isDragging=!0,this.renderer.addClass(this.elRef.nativeElement,"as-dragging"),this.renderer.addClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.notify("start",this.snapshot.gutterNum)))},e.prototype.dragEvent=function(e){var t=this;if(e.preventDefault(),e.stopPropagation(),null!==this._clickTimeout&&(window.clearTimeout(this._clickTimeout),this._clickTimeout=null),!1!==this.isDragging&&(this.endPoint=u(e),null!==this.endPoint)){var i="horizontal"===this.direction?this.startPoint.x-this.endPoint.x:this.startPoint.y-this.endPoint.y;"rtl"===this.dir&&(i=-i);var n=Math.round(i/this.gutterStep)*this.gutterStep;if(n!==this.snapshot.lastSteppedOffset){this.snapshot.lastSteppedOffset=n;var r=f(this.unit,this.snapshot.areasBeforeGutter,-n,this.snapshot.allAreasSizePixel),s=f(this.unit,this.snapshot.areasAfterGutter,n,this.snapshot.allAreasSizePixel);if(0!==r.remain&&0!==s.remain?Math.abs(r.remain)===Math.abs(s.remain)||(Math.abs(r.remain)>Math.abs(s.remain)?s=f(this.unit,this.snapshot.areasAfterGutter,n+r.remain,this.snapshot.allAreasSizePixel):r=f(this.unit,this.snapshot.areasBeforeGutter,-(n-s.remain),this.snapshot.allAreasSizePixel)):0!==r.remain?s=f(this.unit,this.snapshot.areasAfterGutter,n+r.remain,this.snapshot.allAreasSizePixel):0!==s.remain&&(r=f(this.unit,this.snapshot.areasBeforeGutter,-(n-s.remain),this.snapshot.allAreasSizePixel)),"percent"===this.unit){var a=l(r.list,s.list),o=a.find(function(e){return 0!==e.percentAfterAbsorption&&e.percentAfterAbsorption!==e.areaSnapshot.area.minSize&&e.percentAfterAbsorption!==e.areaSnapshot.area.maxSize});o&&(o.percentAfterAbsorption=this.snapshot.allInvolvedAreasSizePercent-a.filter(function(e){return e!==o}).reduce(function(e,t){return e+t.percentAfterAbsorption},0))}r.list.forEach(function(e){return g(t.unit,e)}),s.list.forEach(function(e){return g(t.unit,e)}),this.refreshStyleSizes(),this.notify("progress",this.snapshot.gutterNum)}}},e.prototype.stopDragging=function(e){var t=this;if(e&&(e.preventDefault(),e.stopPropagation()),!1!==this.isDragging){for(this.displayedAreas.forEach(function(e){return e.component.unlockEvents()});0<this.dragListeners.length;){var i=this.dragListeners.pop();i&&i()}this.isDragging=!1,!this.endPoint||this.startPoint.x===this.endPoint.x&&this.startPoint.y===this.endPoint.y||this.notify("end",this.snapshot.gutterNum),this.renderer.removeClass(this.elRef.nativeElement,"as-dragging"),this.renderer.removeClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.snapshot=null,this.ngZone.runOutsideAngular(function(){setTimeout(function(){t.startPoint=null,t.endPoint=null})})}},e.prototype.notify=function(e,t){var i=this,n=this.getVisibleAreaSizes();"start"===e?this.dragStart.emit({gutterNum:t,sizes:n}):"end"===e?this.dragEnd.emit({gutterNum:t,sizes:n}):"click"===e?this.gutterClick.emit({gutterNum:t,sizes:n}):"dblclick"===e?this.gutterDblClick.emit({gutterNum:t,sizes:n}):"transitionEnd"===e?this.transitionEndSubscriber&&this.ngZone.run(function(){return i.transitionEndSubscriber.next(n)}):"progress"===e&&this.dragProgressSubject.next({gutterNum:t,sizes:n})},e.prototype.ngOnDestroy=function(){this.stopDragging()},e.decorators=[{type:r.Component,args:[{selector:"as-split",exportAs:"asSplit",changeDetection:r.ChangeDetectionStrategy.OnPush,template:'\n <ng-content></ng-content>\n <ng-template ngFor [ngForOf]="displayedAreas" let-index="index" let-last="last">\n <div *ngIf="last === false" \n #gutterEls\n class="as-split-gutter"\n [style.flex-basis.px]="gutterSize"\n [style.order]="index*2+1"\n (mousedown)="startDragging($event, index*2+1, index+1)"\n (touchstart)="startDragging($event, index*2+1, index+1)"\n (mouseup)="clickGutter($event, index+1)"\n (touchend)="clickGutter($event, index+1)">\n <div class="as-split-gutter-icon"></div>\n </div>\n </ng-template>',styles:[':host{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}:host>.as-split-gutter{flex-grow:0;flex-shrink:0;background-color:#eee;display:flex;align-items:center;justify-content:center}:host>.as-split-gutter>.as-split-gutter-icon{width:100%;height:100%;background-position:center center;background-repeat:no-repeat}:host ::ng-deep>.as-split-area{flex-grow:0;flex-shrink:0;overflow-x:hidden;overflow-y:auto}:host ::ng-deep>.as-split-area.as-hidden{flex:0 1 0!important;overflow-x:hidden;overflow-y:hidden}:host.as-horizontal{flex-direction:row}:host.as-horizontal>.as-split-gutter{flex-direction:row;cursor:col-resize;height:100%}:host.as-horizontal>.as-split-gutter>.as-split-gutter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}:host.as-horizontal ::ng-deep>.as-split-area{height:100%}:host.as-vertical{flex-direction:column}:host.as-vertical>.as-split-gutter{flex-direction:column;cursor:row-resize;width:100%}:host.as-vertical>.as-split-gutter .as-split-gutter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}:host.as-vertical ::ng-deep>.as-split-area{width:100%}:host.as-vertical ::ng-deep>.as-split-area.as-hidden{max-width:0}:host.as-disabled>.as-split-gutter{cursor:default}:host.as-disabled>.as-split-gutter .as-split-gutter-icon{background-image:url("")}:host.as-transition.as-init:not(.as-dragging) ::ng-deep>.as-split-area,:host.as-transition.as-init:not(.as-dragging)>.as-split-gutter{transition:flex-basis .3s}']}]}],e.ctorParameters=function(){return[{type:r.NgZone},{type:r.ElementRef},{type:r.ChangeDetectorRef},{type:r.Renderer2}]},e.propDecorators={direction:[{type:r.Input}],unit:[{type:r.Input}],gutterSize:[{type:r.Input}],gutterStep:[{type:r.Input}],restrictMove:[{type:r.Input}],useTransition:[{type:r.Input}],disabled:[{type:r.Input}],dir:[{type:r.Input}],gutterDblClickDuration:[{type:r.Input}],dragStart:[{type:r.Output}],dragEnd:[{type:r.Output}],gutterClick:[{type:r.Output}],gutterDblClick:[{type:r.Output}],transitionEnd:[{type:r.Output}],gutterEls:[{type:r.ViewChildren,args:["gutterEls"]}]},e}(),A=function(){function e(e,t,i,n){this.ngZone=e,this.elRef=t,this.renderer=i,this.split=n,this._order=null,this._size=null,this._minSize=null,this._maxSize=null,this._lockSize=!1,this._visible=!0,this.lockListeners=[],this.renderer.addClass(this.elRef.nativeElement,"as-split-area")}return Object.defineProperty(e.prototype,"order",{get:function(){return this._order},set:function(e){this._order=h(e,null),this.split.updateArea(this,!0,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=h(e,null),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minSize",{get:function(){return this._minSize},set:function(e){this._minSize=h(e,null),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxSize",{get:function(){return this._maxSize},set:function(e){this._maxSize=h(e,null),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lockSize",{get:function(){return this._lockSize},set:function(e){this._lockSize=o(e),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=o(e),this._visible?(this.split.showArea(this),this.renderer.removeClass(this.elRef.nativeElement,"as-hidden")):(this.split.hideArea(this),this.renderer.addClass(this.elRef.nativeElement,"as-hidden"))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this.split.addArea(this),this.ngZone.runOutsideAngular(function(){t.transitionListener=t.renderer.listen(t.elRef.nativeElement,"transitionend",function(e){"flex-basis"===e.propertyName&&t.split.notify("transitionEnd",-1)})})},e.prototype.setStyleOrder=function(e){this.renderer.setStyle(this.elRef.nativeElement,"order",e)},e.prototype.setStyleFlex=function(e,t,i,n,r){this.renderer.setStyle(this.elRef.nativeElement,"flex-grow",e),this.renderer.setStyle(this.elRef.nativeElement,"flex-shrink",t),this.renderer.setStyle(this.elRef.nativeElement,"flex-basis",i),!0===n?this.renderer.addClass(this.elRef.nativeElement,"as-min"):this.renderer.removeClass(this.elRef.nativeElement,"as-min"),!0===r?this.renderer.addClass(this.elRef.nativeElement,"as-max"):this.renderer.removeClass(this.elRef.nativeElement,"as-max")},e.prototype.lockEvents=function(){var e=this;this.ngZone.runOutsideAngular(function(){e.lockListeners.push(e.renderer.listen(e.elRef.nativeElement,"selectstart",function(e){return!1})),e.lockListeners.push(e.renderer.listen(e.elRef.nativeElement,"dragstart",function(e){return!1}))})},e.prototype.unlockEvents=function(){for(;0<this.lockListeners.length;){var e=this.lockListeners.pop();e&&e()}},e.prototype.ngOnDestroy=function(){this.unlockEvents(),this.transitionListener&&this.transitionListener(),this.split.removeArea(this)},e.decorators=[{type:r.Directive,args:[{selector:"as-split-area, [as-split-area]",exportAs:"asSplitArea"}]}],e.ctorParameters=function(){return[{type:r.NgZone},{type:r.ElementRef},{type:r.Renderer2},{type:m}]},e.propDecorators={order:[{type:r.Input}],size:[{type:r.Input}],minSize:[{type:r.Input}],maxSize:[{type:r.Input}],lockSize:[{type:r.Input}],visible:[{type:r.Input}]},e}(),y=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e.forChild=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:r.NgModule,args:[{imports:[t.CommonModule],declarations:[m,A],exports:[m,A]}]}],e}();e.AngularSplitModule=y,e.SplitComponent=m,e.SplitAreaDirective=A,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("angular-split",["exports","@angular/core","@angular/common","rxjs","rxjs/operators"],t):t((e=e||self)["angular-split"]={},e.ng.core,e.ng.common,e.rxjs,e.rxjs.operators)}(this,function(e,t,i,n,r){"use strict";function s(e,t){var i="function"==typeof Symbol&&e[Symbol.iterator];if(!i)return e;var n,r,s=i.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(o){r={error:o}}finally{try{n&&!n.done&&(i=s["return"])&&i.call(s)}finally{if(r)throw r.error}}return a}function a(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e}function o(e){return e.changedTouches!==undefined&&e.changedTouches.length>0?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:e.clientX!==undefined&&e.clientY!==undefined?{x:e.clientX,y:e.clientY}:null}function l(e,t){var i=e.nativeElement.getBoundingClientRect();return"horizontal"===t?i.width:i.height}function u(e){return"boolean"==typeof e?e:"false"!==e}function h(e,t){return null===e||e===undefined?t:(e=Number(e),!isNaN(e)&&e>=0?e:t)}function p(e,t){if("percent"===e){var i=t.reduce(function(e,t){return null!==t?e+t:e},0);return t.every(function(e){return null!==e})&&i>99.9&&i<100.1}if("pixel"===e)return 1===t.filter(function(e){return null===e}).length}function c(e){return null===e.size?null:!0===e.component.lockSize?e.size:null===e.component.minSize?null:e.component.minSize>e.size?e.size:e.component.minSize}function d(e){return null===e.size?null:!0===e.component.lockSize?e.size:null===e.component.maxSize?null:e.component.maxSize<e.size?e.size:e.component.maxSize}function f(e,t,i,n){return t.reduce(function(t,i){var r=function(e,t,i,n){if(0===i)return{areaSnapshot:t,pixelAbsorb:0,percentAfterAbsorption:t.sizePercentAtStart,pixelRemain:0};if(0===t.sizePixelAtStart&&i<0)return{areaSnapshot:t,pixelAbsorb:0,percentAfterAbsorption:0,pixelRemain:i};if("percent"===e)return function(e,t,i){var n=(e.sizePixelAtStart+t)/i*100;if(t>0){if(null!==e.area.maxSize&&n>e.area.maxSize){var r=e.area.maxSize/100*i;return{areaSnapshot:e,pixelAbsorb:r,percentAfterAbsorption:e.area.maxSize,pixelRemain:e.sizePixelAtStart+t-r}}return{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:n>100?100:n,pixelRemain:0}}if(t<0){if(null!==e.area.minSize&&n<e.area.minSize){var s=e.area.minSize/100*i;return{areaSnapshot:e,pixelAbsorb:s,percentAfterAbsorption:e.area.minSize,pixelRemain:e.sizePixelAtStart+t-s}}return n<0?{areaSnapshot:e,pixelAbsorb:-e.sizePixelAtStart,percentAfterAbsorption:0,pixelRemain:t+e.sizePixelAtStart}:{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:n,pixelRemain:0}}}(t,i,n);if("pixel"===e)return function(e,t,i){var n=e.sizePixelAtStart+t;if(t>0)return null!==e.area.maxSize&&n>e.area.maxSize?{areaSnapshot:e,pixelAbsorb:e.area.maxSize-e.sizePixelAtStart,percentAfterAbsorption:-1,pixelRemain:n-e.area.maxSize}:{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:-1,pixelRemain:0};if(t<0)return null!==e.area.minSize&&n<e.area.minSize?{areaSnapshot:e,pixelAbsorb:e.area.minSize+t-n,percentAfterAbsorption:-1,pixelRemain:n-e.area.minSize}:n<0?{areaSnapshot:e,pixelAbsorb:-e.sizePixelAtStart,percentAfterAbsorption:-1,pixelRemain:t+e.sizePixelAtStart}:{areaSnapshot:e,pixelAbsorb:t,percentAfterAbsorption:-1,pixelRemain:0}}(t,i)}(e,i,t.remain,n);return t.list.push(r),t.remain=r.pixelRemain,t},{remain:i,list:[]})}function g(e,t){"percent"===e?t.areaSnapshot.area.size=t.percentAfterAbsorption:"pixel"===e&&null!==t.areaSnapshot.area.size&&(t.areaSnapshot.area.size=t.areaSnapshot.sizePixelAtStart+t.pixelAbsorb)}var m=function(){function e(e,i,r,s){this.ngZone=e,this.elRef=i,this.cdRef=r,this.renderer=s,this._direction="horizontal",this._unit="percent",this._gutterSize=11,this._gutterStep=1,this._restrictMove=!1,this._useTransition=!1,this._disabled=!1,this._dir="ltr",this._gutterDblClickDuration=0,this.dragStart=new t.EventEmitter(!1),this.dragEnd=new t.EventEmitter(!1),this.gutterClick=new t.EventEmitter(!1),this.gutterDblClick=new t.EventEmitter(!1),this.dragProgressSubject=new n.Subject,this.dragProgress$=this.dragProgressSubject.asObservable(),this.isDragging=!1,this.dragListeners=[],this.snapshot=null,this.startPoint=null,this.endPoint=null,this.displayedAreas=[],this.hidedAreas=[],this._clickTimeout=null,this.direction=this._direction}return Object.defineProperty(e.prototype,"direction",{get:function(){return this._direction},set:function(e){this._direction="vertical"===e?"vertical":"horizontal",this.renderer.addClass(this.elRef.nativeElement,"as-"+this._direction),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("vertical"===this._direction?"horizontal":"vertical")),this.build(!1,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"unit",{get:function(){return this._unit},set:function(e){this._unit="pixel"===e?"pixel":"percent",this.renderer.addClass(this.elRef.nativeElement,"as-"+this._unit),this.renderer.removeClass(this.elRef.nativeElement,"as-"+("pixel"===this._unit?"percent":"pixel")),this.build(!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"gutterSize",{get:function(){return this._gutterSize},set:function(e){this._gutterSize=h(e,11),this.build(!1,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"gutterStep",{get:function(){return this._gutterStep},set:function(e){this._gutterStep=h(e,1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"restrictMove",{get:function(){return this._restrictMove},set:function(e){this._restrictMove=u(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"useTransition",{get:function(){return this._useTransition},set:function(e){this._useTransition=u(e),this._useTransition?this.renderer.addClass(this.elRef.nativeElement,"as-transition"):this.renderer.removeClass(this.elRef.nativeElement,"as-transition")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=u(e),this._disabled?this.renderer.addClass(this.elRef.nativeElement,"as-disabled"):this.renderer.removeClass(this.elRef.nativeElement,"as-disabled")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dir",{get:function(){return this._dir},set:function(e){this._dir="rtl"===e?"rtl":"ltr",this.renderer.setAttribute(this.elRef.nativeElement,"dir",this._dir)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"gutterDblClickDuration",{get:function(){return this._gutterDblClickDuration},set:function(e){this._gutterDblClickDuration=h(e,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"transitionEnd",{get:function(){var e=this;return new n.Observable(function(t){return e.transitionEndSubscriber=t}).pipe(r.debounceTime(20))},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;this.ngZone.runOutsideAngular(function(){setTimeout(function(){return e.renderer.addClass(e.elRef.nativeElement,"as-init")})})},e.prototype.getNbGutters=function(){return 0===this.displayedAreas.length?0:this.displayedAreas.length-1},e.prototype.addArea=function(e){var t={component:e,order:0,size:0,minSize:null,maxSize:null};!0===e.visible?(this.displayedAreas.push(t),this.build(!0,!0)):this.hidedAreas.push(t)},e.prototype.removeArea=function(e){if(this.displayedAreas.some(function(t){return t.component===e})){var t=this.displayedAreas.find(function(t){return t.component===e});this.displayedAreas.splice(this.displayedAreas.indexOf(t),1),this.build(!0,!0)}else if(this.hidedAreas.some(function(t){return t.component===e})){t=this.hidedAreas.find(function(t){return t.component===e});this.hidedAreas.splice(this.hidedAreas.indexOf(t),1)}},e.prototype.updateArea=function(e,t,i){!0===e.visible&&this.build(t,i)},e.prototype.showArea=function(e){var t,i=this.hidedAreas.find(function(t){return t.component===e});if(i!==undefined){var n=this.hidedAreas.splice(this.hidedAreas.indexOf(i),1);(t=this.displayedAreas).push.apply(t,a(n)),this.build(!0,!0)}},e.prototype.hideArea=function(e){var t,i=this.displayedAreas.find(function(t){return t.component===e});if(i!==undefined){var n=this.displayedAreas.splice(this.displayedAreas.indexOf(i),1);n.forEach(function(e){e.order=0,e.size=0}),(t=this.hidedAreas).push.apply(t,a(n)),this.build(!0,!0)}},e.prototype.getVisibleAreaSizes=function(){return this.displayedAreas.map(function(e){return null===e.size?"*":e.size})},e.prototype.setVisibleAreaSizes=function(e){if(e.length!==this.displayedAreas.length)return!1;var t=e.map(function(e){return h(e,null)});return!1!==p(this.unit,t)&&(this.displayedAreas.forEach(function(e,i){return e.component._size=t[i]}),this.build(!1,!0),!0)},e.prototype.build=function(e,t){if(this.stopDragging(),!0===e&&(this.displayedAreas.every(function(e){return null!==e.component.order})&&this.displayedAreas.sort(function(e,t){return e.component.order-t.component.order}),this.displayedAreas.forEach(function(e,t){e.order=2*t,e.component.setStyleOrder(e.order)})),!0===t){var i=p(this.unit,this.displayedAreas.map(function(e){return e.component.size}));switch(this.unit){case"percent":var n=100/this.displayedAreas.length;this.displayedAreas.forEach(function(e){e.size=i?e.component.size:n,e.minSize=c(e),e.maxSize=d(e)});break;case"pixel":if(i)this.displayedAreas.forEach(function(e){e.size=e.component.size,e.minSize=c(e),e.maxSize=d(e)});else{var r=this.displayedAreas.filter(function(e){return null===e.component.size});if(0===r.length&&this.displayedAreas.length>0)this.displayedAreas.forEach(function(e,t){e.size=0===t?null:e.component.size,e.minSize=0===t?null:c(e),e.maxSize=0===t?null:d(e)});else if(r.length>1){var s=!1;this.displayedAreas.forEach(function(e){null===e.component.size?!1===s?(e.size=null,e.minSize=null,e.maxSize=null,s=!0):(e.size=100,e.minSize=null,e.maxSize=null):(e.size=e.component.size,e.minSize=c(e),e.maxSize=d(e))})}}}}this.refreshStyleSizes(),this.cdRef.markForCheck()},e.prototype.refreshStyleSizes=function(){var e=this;if("percent"===this.unit)if(1===this.displayedAreas.length)this.displayedAreas[0].component.setStyleFlex(0,0,"100%",!1,!1);else{var t=this.getNbGutters()*this.gutterSize;this.displayedAreas.forEach(function(e){e.component.setStyleFlex(0,0,"calc( "+e.size+"% - "+e.size/100*t+"px )",null!==e.minSize&&e.minSize===e.size,null!==e.maxSize&&e.maxSize===e.size)})}else"pixel"===this.unit&&this.displayedAreas.forEach(function(t){null===t.size?1===e.displayedAreas.length?t.component.setStyleFlex(1,1,"100%",!1,!1):t.component.setStyleFlex(1,1,"auto",!1,!1):1===e.displayedAreas.length?t.component.setStyleFlex(0,0,"100%",!1,!1):t.component.setStyleFlex(0,0,t.size+"px",null!==t.minSize&&t.minSize===t.size,null!==t.maxSize&&t.maxSize===t.size)})},e.prototype.clickGutter=function(e,t){var i=this,n=o(e);this.startPoint&&this.startPoint.x===n.x&&this.startPoint.y===n.y&&(null!==this._clickTimeout?(window.clearTimeout(this._clickTimeout),this._clickTimeout=null,this.notify("dblclick",t),this.stopDragging()):this._clickTimeout=window.setTimeout(function(){i._clickTimeout=null,i.notify("click",t),i.stopDragging()},this.gutterDblClickDuration))},e.prototype.startDragging=function(e,t,i){var n=this;e.preventDefault(),e.stopPropagation(),this.startPoint=o(e),null!==this.startPoint&&!0!==this.disabled&&(this.snapshot={gutterNum:i,lastSteppedOffset:0,allAreasSizePixel:l(this.elRef,this.direction)-this.getNbGutters()*this.gutterSize,allInvolvedAreasSizePercent:100,areasBeforeGutter:[],areasAfterGutter:[]},this.displayedAreas.forEach(function(e){var i={area:e,sizePixelAtStart:l(e.component.elRef,n.direction),sizePercentAtStart:"percent"===n.unit?e.size:-1};e.order<t?!0===n.restrictMove?n.snapshot.areasBeforeGutter=[i]:n.snapshot.areasBeforeGutter.unshift(i):e.order>t&&(!0===n.restrictMove?0===n.snapshot.areasAfterGutter.length&&(n.snapshot.areasAfterGutter=[i]):n.snapshot.areasAfterGutter.push(i))}),this.snapshot.allInvolvedAreasSizePercent=a(this.snapshot.areasBeforeGutter,this.snapshot.areasAfterGutter).reduce(function(e,t){return e+t.sizePercentAtStart},0),0!==this.snapshot.areasBeforeGutter.length&&0!==this.snapshot.areasAfterGutter.length&&(this.dragListeners.push(this.renderer.listen("document","mouseup",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchend",this.stopDragging.bind(this))),this.dragListeners.push(this.renderer.listen("document","touchcancel",this.stopDragging.bind(this))),this.ngZone.runOutsideAngular(function(){n.dragListeners.push(n.renderer.listen("document","mousemove",n.dragEvent.bind(n))),n.dragListeners.push(n.renderer.listen("document","touchmove",n.dragEvent.bind(n)))}),this.displayedAreas.forEach(function(e){return e.component.lockEvents()}),this.isDragging=!0,this.renderer.addClass(this.elRef.nativeElement,"as-dragging"),this.renderer.addClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.notify("start",this.snapshot.gutterNum)))},e.prototype.dragEvent=function(e){var t=this;if(e.preventDefault(),e.stopPropagation(),null!==this._clickTimeout&&(window.clearTimeout(this._clickTimeout),this._clickTimeout=null),!1!==this.isDragging&&(this.endPoint=o(e),null!==this.endPoint)){var i="horizontal"===this.direction?this.startPoint.x-this.endPoint.x:this.startPoint.y-this.endPoint.y;"rtl"===this.dir&&(i=-i);var n=Math.round(i/this.gutterStep)*this.gutterStep;if(n!==this.snapshot.lastSteppedOffset){this.snapshot.lastSteppedOffset=n;var r=f(this.unit,this.snapshot.areasBeforeGutter,-n,this.snapshot.allAreasSizePixel),s=f(this.unit,this.snapshot.areasAfterGutter,n,this.snapshot.allAreasSizePixel);if(0!==r.remain&&0!==s.remain?Math.abs(r.remain)===Math.abs(s.remain)||(Math.abs(r.remain)>Math.abs(s.remain)?s=f(this.unit,this.snapshot.areasAfterGutter,n+r.remain,this.snapshot.allAreasSizePixel):r=f(this.unit,this.snapshot.areasBeforeGutter,-(n-s.remain),this.snapshot.allAreasSizePixel)):0!==r.remain?s=f(this.unit,this.snapshot.areasAfterGutter,n+r.remain,this.snapshot.allAreasSizePixel):0!==s.remain&&(r=f(this.unit,this.snapshot.areasBeforeGutter,-(n-s.remain),this.snapshot.allAreasSizePixel)),"percent"===this.unit){var l=a(r.list,s.list),u=l.find(function(e){return 0!==e.percentAfterAbsorption&&e.percentAfterAbsorption!==e.areaSnapshot.area.minSize&&e.percentAfterAbsorption!==e.areaSnapshot.area.maxSize});u&&(u.percentAfterAbsorption=this.snapshot.allInvolvedAreasSizePercent-l.filter(function(e){return e!==u}).reduce(function(e,t){return e+t.percentAfterAbsorption},0))}r.list.forEach(function(e){return g(t.unit,e)}),s.list.forEach(function(e){return g(t.unit,e)}),this.refreshStyleSizes(),this.notify("progress",this.snapshot.gutterNum)}}},e.prototype.stopDragging=function(e){var t=this;if(e&&(e.preventDefault(),e.stopPropagation()),!1!==this.isDragging){for(this.displayedAreas.forEach(function(e){return e.component.unlockEvents()});this.dragListeners.length>0;){var i=this.dragListeners.pop();i&&i()}this.isDragging=!1,!this.endPoint||this.startPoint.x===this.endPoint.x&&this.startPoint.y===this.endPoint.y||this.notify("end",this.snapshot.gutterNum),this.renderer.removeClass(this.elRef.nativeElement,"as-dragging"),this.renderer.removeClass(this.gutterEls.toArray()[this.snapshot.gutterNum-1].nativeElement,"as-dragged"),this.snapshot=null,this.ngZone.runOutsideAngular(function(){setTimeout(function(){t.startPoint=null,t.endPoint=null})})}},e.prototype.notify=function(e,t){var i=this,n=this.getVisibleAreaSizes();"start"===e?this.dragStart.emit({gutterNum:t,sizes:n}):"end"===e?this.dragEnd.emit({gutterNum:t,sizes:n}):"click"===e?this.gutterClick.emit({gutterNum:t,sizes:n}):"dblclick"===e?this.gutterDblClick.emit({gutterNum:t,sizes:n}):"transitionEnd"===e?this.transitionEndSubscriber&&this.ngZone.run(function(){return i.transitionEndSubscriber.next(n)}):"progress"===e&&this.dragProgressSubject.next({gutterNum:t,sizes:n})},e.prototype.ngOnDestroy=function(){this.stopDragging()},e.decorators=[{type:t.Component,args:[{selector:"as-split",exportAs:"asSplit",changeDetection:t.ChangeDetectionStrategy.OnPush,template:'\n <ng-content></ng-content>\n <ng-template ngFor [ngForOf]="displayedAreas" let-index="index" let-last="last">\n <div *ngIf="last === false" \n #gutterEls\n class="as-split-gutter"\n [style.flex-basis.px]="gutterSize"\n [style.order]="index*2+1"\n (mousedown)="startDragging($event, index*2+1, index+1)"\n (touchstart)="startDragging($event, index*2+1, index+1)"\n (mouseup)="clickGutter($event, index+1)"\n (touchend)="clickGutter($event, index+1)">\n <div class="as-split-gutter-icon"></div>\n </div>\n </ng-template>',styles:[':host{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;overflow:hidden;width:100%;height:100%}:host>.as-split-gutter{flex-grow:0;flex-shrink:0;background-color:#eee;display:flex;align-items:center;justify-content:center}:host>.as-split-gutter>.as-split-gutter-icon{width:100%;height:100%;background-position:center center;background-repeat:no-repeat}:host ::ng-deep>.as-split-area{flex-grow:0;flex-shrink:0;overflow-x:hidden;overflow-y:auto}:host ::ng-deep>.as-split-area.as-hidden{flex:0 1 0!important;overflow-x:hidden;overflow-y:hidden}:host.as-horizontal{flex-direction:row}:host.as-horizontal>.as-split-gutter{flex-direction:row;cursor:col-resize;height:100%}:host.as-horizontal>.as-split-gutter>.as-split-gutter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}:host.as-horizontal ::ng-deep>.as-split-area{height:100%}:host.as-vertical{flex-direction:column}:host.as-vertical>.as-split-gutter{flex-direction:column;cursor:row-resize;width:100%}:host.as-vertical>.as-split-gutter .as-split-gutter-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}:host.as-vertical ::ng-deep>.as-split-area{width:100%}:host.as-vertical ::ng-deep>.as-split-area.as-hidden{max-width:0}:host.as-disabled>.as-split-gutter{cursor:default}:host.as-disabled>.as-split-gutter .as-split-gutter-icon{background-image:url("")}:host.as-transition.as-init:not(.as-dragging) ::ng-deep>.as-split-area,:host.as-transition.as-init:not(.as-dragging)>.as-split-gutter{transition:flex-basis .3s}']}]}],e.ctorParameters=function(){return[{type:t.NgZone},{type:t.ElementRef},{type:t.ChangeDetectorRef},{type:t.Renderer2}]},e.propDecorators={direction:[{type:t.Input}],unit:[{type:t.Input}],gutterSize:[{type:t.Input}],gutterStep:[{type:t.Input}],restrictMove:[{type:t.Input}],useTransition:[{type:t.Input}],disabled:[{type:t.Input}],dir:[{type:t.Input}],gutterDblClickDuration:[{type:t.Input}],dragStart:[{type:t.Output}],dragEnd:[{type:t.Output}],gutterClick:[{type:t.Output}],gutterDblClick:[{type:t.Output}],transitionEnd:[{type:t.Output}],gutterEls:[{type:t.ViewChildren,args:["gutterEls"]}]},e}(),A=function(){function e(e,t,i,n){this.ngZone=e,this.elRef=t,this.renderer=i,this.split=n,this._order=null,this._size=null,this._minSize=null,this._maxSize=null,this._lockSize=!1,this._visible=!0,this.lockListeners=[],this.renderer.addClass(this.elRef.nativeElement,"as-split-area")}return Object.defineProperty(e.prototype,"order",{get:function(){return this._order},set:function(e){this._order=h(e,null),this.split.updateArea(this,!0,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return this._size},set:function(e){this._size=h(e,null),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minSize",{get:function(){return this._minSize},set:function(e){this._minSize=h(e,null),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxSize",{get:function(){return this._maxSize},set:function(e){this._maxSize=h(e,null),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lockSize",{get:function(){return this._lockSize},set:function(e){this._lockSize=u(e),this.split.updateArea(this,!1,!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visible",{get:function(){return this._visible},set:function(e){this._visible=u(e),this._visible?(this.split.showArea(this),this.renderer.removeClass(this.elRef.nativeElement,"as-hidden")):(this.split.hideArea(this),this.renderer.addClass(this.elRef.nativeElement,"as-hidden"))},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.split.addArea(this),this.ngZone.runOutsideAngular(function(){e.transitionListener=e.renderer.listen(e.elRef.nativeElement,"transitionend",function(t){"flex-basis"===t.propertyName&&e.split.notify("transitionEnd",-1)})})},e.prototype.setStyleOrder=function(e){this.renderer.setStyle(this.elRef.nativeElement,"order",e)},e.prototype.setStyleFlex=function(e,t,i,n,r){this.renderer.setStyle(this.elRef.nativeElement,"flex-grow",e),this.renderer.setStyle(this.elRef.nativeElement,"flex-shrink",t),this.renderer.setStyle(this.elRef.nativeElement,"flex-basis",i),!0===n?this.renderer.addClass(this.elRef.nativeElement,"as-min"):this.renderer.removeClass(this.elRef.nativeElement,"as-min"),!0===r?this.renderer.addClass(this.elRef.nativeElement,"as-max"):this.renderer.removeClass(this.elRef.nativeElement,"as-max")},e.prototype.lockEvents=function(){var e=this;this.ngZone.runOutsideAngular(function(){e.lockListeners.push(e.renderer.listen(e.elRef.nativeElement,"selectstart",function(e){return!1})),e.lockListeners.push(e.renderer.listen(e.elRef.nativeElement,"dragstart",function(e){return!1}))})},e.prototype.unlockEvents=function(){for(;this.lockListeners.length>0;){var e=this.lockListeners.pop();e&&e()}},e.prototype.ngOnDestroy=function(){this.unlockEvents(),this.transitionListener&&this.transitionListener(),this.split.removeArea(this)},e.decorators=[{type:t.Directive,args:[{selector:"as-split-area, [as-split-area]",exportAs:"asSplitArea"}]}],e.ctorParameters=function(){return[{type:t.NgZone},{type:t.ElementRef},{type:t.Renderer2},{type:m}]},e.propDecorators={order:[{type:t.Input}],size:[{type:t.Input}],minSize:[{type:t.Input}],maxSize:[{type:t.Input}],lockSize:[{type:t.Input}],visible:[{type:t.Input}]},e}(),y=function(){function e(){}return e.forRoot=function(){return{ngModule:e,providers:[]}},e.forChild=function(){return{ngModule:e,providers:[]}},e.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule],declarations:[m,A],exports:[m,A]}]}],e}();e.AngularSplitModule=y,e.SplitAreaDirective=A,e.SplitComponent=m,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=angular-split.umd.min.js.map
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ /**

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -130,4 +130,11 @@ import { Directive, Input, ElementRef, Renderer2, NgZone } from '@angular/core';

this.split.addArea(this);
this.ngZone.runOutsideAngular(() => {
this.transitionListener = this.renderer.listen(this.elRef.nativeElement, 'transitionend', (event) => {
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
() => {
this.transitionListener = this.renderer.listen(this.elRef.nativeElement, 'transitionend', (/**
* @param {?} event
* @return {?}
*/
(event) => {
// Limit only flex-basis transition to trigger the event

@@ -137,4 +144,4 @@ if (event.propertyName === 'flex-basis') {

}
});
});
}));
}));
}

@@ -174,6 +181,17 @@ /**

lockEvents() {
this.ngZone.runOutsideAngular(() => {
this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement, 'selectstart', (e) => false));
this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement, 'dragstart', (e) => false));
});
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
() => {
this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement, 'selectstart', (/**
* @param {?} e
* @return {?}
*/
(e) => false)));
this.lockListeners.push(this.renderer.listen(this.elRef.nativeElement, 'dragstart', (/**
* @param {?} e
* @return {?}
*/
(e) => false)));
}));
}

@@ -224,27 +242,60 @@ /**

if (false) {
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._order;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._size;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._minSize;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._maxSize;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._lockSize;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._visible;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.transitionListener;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.lockListeners;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.ngZone;
/** @type {?} */
SplitAreaDirective.prototype.elRef;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.renderer;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.split;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRBcmVhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlL3NwbGl0QXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU1uRSxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7O0lBZ0czQixZQUFvQixNQUFjLEVBQ2YsS0FBaUIsRUFDaEIsUUFBbUIsRUFDbkIsS0FBcUI7UUFIckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWpHakMsV0FBTSxHQUFrQixJQUFJLENBQUM7O1FBYzdCLFVBQUssR0FBa0IsSUFBSSxDQUFDOztRQWM1QixhQUFRLEdBQWtCLElBQUksQ0FBQzs7UUFjL0IsYUFBUSxHQUFrQixJQUFJLENBQUM7O1FBYy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7O1FBYzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFzQmhCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQU1qRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs7OztJQWpHRCxJQUFhLEtBQUssQ0FBQyxDQUFnQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FB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QzFCOzs7O1lBUm9FLE1BQU07WUFBaEQsVUFBVTtZQUFFLFNBQVM7WUFFdkMsY0FBYzs7O29CQVdsQixLQUFLO21CQWNMLEtBQUs7c0JBY0wsS0FBSztzQkFjTCxLQUFLO3VCQWNMLEtBQUs7c0JBY0wsS0FBSzs7OztJQXhFTixvQ0FBcUM7O0lBY3JDLG1DQUFvQzs7SUFjcEMsc0NBQXVDOztJQWN2QyxzQ0FBdUM7O0lBY3ZDLHVDQUFtQzs7SUFjbkMsc0NBQWlDOztJQXFCakMsZ0RBQXFDOztJQUNyQywyQ0FBcUQ7O0lBRXpDLG9DQUFzQjs7SUFDdEIsbUNBQXdCOztJQUN4QixzQ0FBMkI7O0lBQzNCLG1DQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgT25Jbml0LCBPbkRlc3Ryb3ksIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3BsaXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQvc3BsaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZ2V0SW5wdXRQb3NpdGl2ZU51bWJlciwgZ2V0SW5wdXRCb29sZWFuIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ2FzLXNwbGl0LWFyZWEsIFthcy1zcGxpdC1hcmVhXScsXHJcbiAgICBleHBvcnRBczogJ2FzU3BsaXRBcmVhJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BsaXRBcmVhRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIHByaXZhdGUgX29yZGVyOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgb3JkZXIodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX29yZGVyID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIHRydWUsIGZhbHNlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IG9yZGVyKCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9vcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHNpemUodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX3NpemUgPSBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyKHYsIG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgc2l6ZSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfbWluU2l6ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IG1pblNpemUodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX21pblNpemUgPSBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyKHYsIG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgbWluU2l6ZSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWluU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfbWF4U2l6ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IG1heFNpemUodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX21heFNpemUgPSBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyKHYsIG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgbWF4U2l6ZSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWF4U2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfbG9ja1NpemU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgbG9ja1NpemUodjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2xvY2tTaXplID0gZ2V0SW5wdXRCb29sZWFuKHYpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgbG9ja1NpemUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2tTaXplO1xyXG4gICAgfVxyXG5cclxuICAgIC8vLy9cclxuXHJcbiAgICBwcml2YXRlIF92aXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgdmlzaWJsZSh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGdldElucHV0Qm9vbGVhbih2KTtcclxuXHJcbiAgICAgICAgaWYodGhpcy5fdmlzaWJsZSkgeyBcclxuICAgICAgICAgICAgdGhpcy5zcGxpdC5zaG93QXJlYSh0aGlzKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1oaWRkZW4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BsaXQuaGlkZUFyZWEodGhpcyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtaGlkZGVuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vLy9cclxuXHJcbiAgICBwcml2YXRlIHRyYW5zaXRpb25MaXN0ZW5lcjogRnVuY3Rpb247XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2tMaXN0ZW5lcnM6IEFycmF5PEZ1bmN0aW9uPiA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgZWxSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNwbGl0OiBTcGxpdENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtc3BsaXQtYXJlYScpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNwbGl0LmFkZEFyZWEodGhpcyk7XHJcblxyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uZW5kJywgKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIExpbWl0IG9ubHkgZmxleC1iYXNpcyB0cmFuc2l0aW9uIHRvIHRyaWdnZXIgdGhlIGV2ZW50XHJcbiAgICAgICAgICAgICAgICBpZihldmVudC5wcm9wZXJ0eU5hbWUgPT09ICdmbGV4LWJhc2lzJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3BsaXQubm90aWZ5KCd0cmFuc2l0aW9uRW5kJywgLTEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0U3R5bGVPcmRlcih2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdvcmRlcicsIHZhbHVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIHNldFN0eWxlRmxleChncm93OiBudW1iZXIsIHNocmluazogbnVtYmVyLCBiYXNpczogc3RyaW5nLCBpc01pbjogYm9vbGVhbiwgaXNNYXg6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICAvLyBOZWVkIDMgc2VwYXJhdGVkIHByb3BlcnRpZXMgdG8gd29yayBvbiBJRTExIChodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9mbGV4LWxheW91dC9pc3N1ZXMvMzIzKVxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1ncm93JywgZ3Jvdyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4LXNocmluaycsIHNocmluayk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4LWJhc2lzJywgYmFzaXMpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmKGlzTWluID09PSB0cnVlKSAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1taW4nKTtcclxuICAgICAgICBlbHNlICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtbWluJyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYoaXNNYXggPT09IHRydWUpICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLW1heCcpO1xyXG4gICAgICAgIGVsc2UgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1tYXgnKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGxvY2tFdmVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2tMaXN0ZW5lcnMucHVzaCggdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnc2VsZWN0c3RhcnQnLCAoZTogRXZlbnQpID0+IGZhbHNlKSApO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2tMaXN0ZW5lcnMucHVzaCggdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZHJhZ3N0YXJ0JywgKGU6IEV2ZW50KSA9PiBmYWxzZSkgKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdW5sb2NrRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIHdoaWxlKHRoaXMubG9ja0xpc3RlbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZjdCA9IHRoaXMubG9ja0xpc3RlbmVycy5wb3AoKTtcclxuICAgICAgICAgICAgaWYoZmN0KSBmY3QoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudW5sb2NrRXZlbnRzKCk7XHJcblxyXG4gICAgICAgIGlmKHRoaXMudHJhbnNpdGlvbkxpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkxpc3RlbmVyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnJlbW92ZUFyZWEodGhpcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRBcmVhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlL3NwbGl0QXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU1uRSxNQUFNLE9BQU8sa0JBQWtCOzs7Ozs7O0lBZ0czQixZQUFvQixNQUFjLEVBQ2YsS0FBaUIsRUFDaEIsUUFBbUIsRUFDbkIsS0FBcUI7UUFIckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWpHakMsV0FBTSxHQUFrQixJQUFJLENBQUM7O1FBYzdCLFVBQUssR0FBa0IsSUFBSSxDQUFDOztRQWM1QixhQUFRLEdBQWtCLElBQUksQ0FBQzs7UUFjL0IsYUFBUSxHQUFrQixJQUFJLENBQUM7O1FBYy9CLGNBQVMsR0FBWSxLQUFLLENBQUM7O1FBYzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFzQmhCLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQU1qRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs7OztJQWpHRCxJQUFhLEtBQUssQ0FBQyxDQUFnQjtRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FB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LEVBQUUsYUFBYTthQUMxQjs7OztZQVJvRSxNQUFNO1lBQWhELFVBQVU7WUFBRSxTQUFTO1lBRXZDLGNBQWM7OztvQkFXbEIsS0FBSzttQkFjTCxLQUFLO3NCQWNMLEtBQUs7c0JBY0wsS0FBSzt1QkFjTCxLQUFLO3NCQWNMLEtBQUs7Ozs7Ozs7SUF4RU4sb0NBQXFDOzs7OztJQWNyQyxtQ0FBb0M7Ozs7O0lBY3BDLHNDQUF1Qzs7Ozs7SUFjdkMsc0NBQXVDOzs7OztJQWN2Qyx1Q0FBbUM7Ozs7O0lBY25DLHNDQUFpQzs7Ozs7SUFxQmpDLGdEQUFxQzs7Ozs7SUFDckMsMkNBQXFEOzs7OztJQUV6QyxvQ0FBc0I7O0lBQ3RCLG1DQUF3Qjs7Ozs7SUFDeEIsc0NBQTJCOzs7OztJQUMzQixtQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE9uSW5pdCwgT25EZXN0cm95LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNwbGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L3NwbGl0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGdldElucHV0UG9zaXRpdmVOdW1iZXIsIGdldElucHV0Qm9vbGVhbiB9IGZyb20gJy4uL3V0aWxzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdhcy1zcGxpdC1hcmVhLCBbYXMtc3BsaXQtYXJlYV0nLFxyXG4gICAgZXhwb3J0QXM6ICdhc1NwbGl0QXJlYSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGl0QXJlYURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcml2YXRlIF9vcmRlcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IG9yZGVyKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9vcmRlciA9IGdldElucHV0UG9zaXRpdmVOdW1iZXIodiwgbnVsbCk7XHJcblxyXG4gICAgICAgIHRoaXMuc3BsaXQudXBkYXRlQXJlYSh0aGlzLCB0cnVlLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGdldCBvcmRlcigpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fb3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX3NpemU6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCBzaXplKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IHNpemUoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX21pblNpemU6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCBtaW5TaXplKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9taW5TaXplID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IG1pblNpemUoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pblNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX21heFNpemU6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCBtYXhTaXplKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9tYXhTaXplID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IG1heFNpemUoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX2xvY2tTaXplOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IGxvY2tTaXplKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9sb2NrU2l6ZSA9IGdldElucHV0Qm9vbGVhbih2KTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IGxvY2tTaXplKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NrU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfdmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHZpc2libGUodjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSBnZXRJbnB1dEJvb2xlYW4odik7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuX3Zpc2libGUpIHsgXHJcbiAgICAgICAgICAgIHRoaXMuc3BsaXQuc2hvd0FyZWEodGhpcyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtaGlkZGVuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNwbGl0LmhpZGVBcmVhKHRoaXMpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLWhpZGRlbicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSB0cmFuc2l0aW9uTGlzdGVuZXI6IEZ1bmN0aW9uO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NrTGlzdGVuZXJzOiBBcnJheTxGdW5jdGlvbj4gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLFxyXG4gICAgICAgICAgICAgICAgcHVibGljIGVsUmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzcGxpdDogU3BsaXRDb21wb25lbnQpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLXNwbGl0LWFyZWEnKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zcGxpdC5hZGRBcmVhKHRoaXMpO1xyXG5cclxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbmVuZCcsIChldmVudDogVHJhbnNpdGlvbkV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBMaW1pdCBvbmx5IGZsZXgtYmFzaXMgdHJhbnNpdGlvbiB0byB0cmlnZ2VyIHRoZSBldmVudFxyXG4gICAgICAgICAgICAgICAgaWYoZXZlbnQucHJvcGVydHlOYW1lID09PSAnZmxleC1iYXNpcycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNwbGl0Lm5vdGlmeSgndHJhbnNpdGlvbkVuZCcsIC0xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFN0eWxlT3JkZXIodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnb3JkZXInLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBzZXRTdHlsZUZsZXgoZ3JvdzogbnVtYmVyLCBzaHJpbms6IG51bWJlciwgYmFzaXM6IHN0cmluZywgaXNNaW46IGJvb2xlYW4sIGlzTWF4OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgLy8gTmVlZCAzIHNlcGFyYXRlZCBwcm9wZXJ0aWVzIHRvIHdvcmsgb24gSUUxMSAoaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvZmxleC1sYXlvdXQvaXNzdWVzLzMyMylcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2ZsZXgtZ3JvdycsIGdyb3cpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1zaHJpbmsnLCBzaHJpbmspO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1iYXNpcycsIGJhc2lzKTtcclxuICAgICAgICBcclxuICAgICAgICBpZihpc01pbiA9PT0gdHJ1ZSkgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtbWluJyk7XHJcbiAgICAgICAgZWxzZSAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLW1pbicpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmKGlzTWF4ID09PSB0cnVlKSAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1tYXgnKTtcclxuICAgICAgICBlbHNlICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtbWF4Jyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBsb2NrRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2NrTGlzdGVuZXJzLnB1c2goIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ3NlbGVjdHN0YXJ0JywgKGU6IEV2ZW50KSA9PiBmYWxzZSkgKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NrTGlzdGVuZXJzLnB1c2goIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2RyYWdzdGFydCcsIChlOiBFdmVudCkgPT4gZmFsc2UpICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVubG9ja0V2ZW50cygpOiB2b2lkIHtcclxuICAgICAgICB3aGlsZSh0aGlzLmxvY2tMaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBmY3QgPSB0aGlzLmxvY2tMaXN0ZW5lcnMucG9wKCk7XHJcbiAgICAgICAgICAgIGlmKGZjdCkgZmN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnVubG9ja0V2ZW50cygpO1xyXG5cclxuICAgICAgICBpZih0aGlzLnRyYW5zaXRpb25MaXN0ZW5lcikge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25MaXN0ZW5lcigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC5yZW1vdmVBcmVhKHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ /**

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ import { NgModule } from '@angular/core';

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -64,8 +64,21 @@ /**

/** @type {?} */
const total = sizes.reduce((total, s) => s !== null ? total + s : total, 0);
return sizes.every(s => s !== null) && total > 99.9 && total < 100.1;
const total = sizes.reduce((/**
* @param {?} total
* @param {?} s
* @return {?}
*/
(total, s) => s !== null ? total + s : total), 0);
return sizes.every((/**
* @param {?} s
* @return {?}
*/
s => s !== null)) && total > 99.9 && total < 100.1;
}
// A size at null is mandatory but only one.
if (unit === 'pixel') {
return sizes.filter(s => s === null).length === 1;
return sizes.filter((/**
* @param {?} s
* @return {?}
*/
s => s === null)).length === 1;
}

@@ -119,3 +132,8 @@ }

export function getGutterSideAbsorptionCapacity(unit, sideAreas, pixels, allAreasSizePixel) {
return sideAreas.reduce((acc, area) => {
return sideAreas.reduce((/**
* @param {?} acc
* @param {?} area
* @return {?}
*/
(acc, area) => {
/** @type {?} */

@@ -126,3 +144,3 @@ const res = getAreaAbsorptionCapacity(unit, area, acc.remain, allAreasSizePixel);

return acc;
}, { remain: pixels, list: [] });
}), { remain: pixels, list: [] });
}

@@ -297,2 +315,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXNwbGl0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQThCO0lBQzVELGFBQWE7SUFDYixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNwRyxPQUFPO1lBQ0gsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztZQUNqRCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1NBQ3BELENBQUM7S0FDTDtJQUNELGFBQWE7U0FDUixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQzlGLE9BQU87WUFDSCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLE9BQU87WUFDL0IsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPO1NBQ2xDLENBQUM7S0FDTDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFpQixFQUFFLFNBQW9DOztVQUNqRixJQUFJLEdBQUcsQ0FBQyxtQkFBYyxLQUFLLENBQUMsYUFBYSxFQUFBLENBQUMsQ0FBQyxxQkFBcUIsRUFBRTtJQUV4RSxPQUFPLENBQUMsU0FBUyxLQUFLLFlB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QUNMLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBeUIsRUFBRSxJQUE2QjtJQUVuRixJQUFHLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztLQUM3RDtTQUNJLElBQUcsSUFBSSxLQUFLLE9BQU8sRUFBRTtRQUN0QixnREFBZ0Q7UUFDaEQsSUFBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDdkY7S0FDSjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJQXJlYSwgSVBvaW50LCBJQXJlYVNuYXBzaG90LCBJU3BsaXRTaWRlQWJzb3JwdGlvbkNhcGFjaXR5LCBJQXJlYUFic29ycHRpb25DYXBhY2l0eSB9IGZyb20gJy4vaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQb2ludEZyb21FdmVudChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBJUG9pbnQge1xyXG4gICAgLy8gVG91Y2hFdmVudFxyXG4gICAgaWYoKDxUb3VjaEV2ZW50PiBldmVudCkuY2hhbmdlZFRvdWNoZXMgIT09IHVuZGVmaW5lZCAmJiAoPFRvdWNoRXZlbnQ+IGV2ZW50KS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgeDogKDxUb3VjaEV2ZW50PiBldmVudCkuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WCxcclxuICAgICAgICAgICAgeTogKDxUb3VjaEV2ZW50PiBldmVudCkuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgLy8gTW91c2VFdmVudFxyXG4gICAgZWxzZSBpZigoPE1vdXNlRXZlbnQ+IGV2ZW50KS5jbGllbnRYICE9PSB1bmRlZmluZWQgJiYgKDxNb3VzZUV2ZW50PiBldmVudCkuY2xpZW50WSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgeDogKDxNb3VzZUV2ZW50PiBldmVudCkuY2xpZW50WCxcclxuICAgICAgICAgICAgeTogKDxNb3VzZUV2ZW50PiBldmVudCkuY2xpZW50WSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UGl4ZWxTaXplKGVsUmVmOiBFbGVtZW50UmVmLCBkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcpOiBudW1iZXIge1xyXG4gICAgY29uc3QgcmVjdCA9ICg8SFRNTEVsZW1lbnQ+IGVsUmVmLm5hdGl2ZUVsZW1lbnQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgIHJldHVybiAoZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcpID8gcmVjdC53aWR0aCA6IHJlY3QuaGVpZ2h0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5wdXRCb29sZWFuKHY6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0eXBlb2YodikgPT09ICdib29sZWFuJykgPyB2IDogKHYgPT09ICdmYWxzZScgPyBmYWxzZSA6IHRydWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcjxUPih2OiBhbnksIGRlZmF1bHRWYWx1ZTogVCk6IG51bWJlciB8IFQge1xyXG4gICAgaWYodiA9PT0gbnVsbCB8fCB2ID09PSB1bmRlZmluZWQpIHJldHVybiBkZWZhdWx0VmFsdWU7XHJcblxyXG4gICAgdiA9IE51bWJlcih2KTtcclxuICAgIHJldHVybiAhaXNOYU4odikgJiYgdiA+PSAwID8gdiA6IGRlZmF1bHRWYWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzVXNlclNpemVzVmFsaWQodW5pdDogJ3BlcmNlbnQnIHwgJ3BpeGVsJywgc2l6ZXM6IEFycmF5PG51bWJlciB8IG51bGw+KTogYm9vbGVhbiB7XHJcbiAgICAvLyBBbGwgc2l6ZXMgaGF2ZSB0byBiZSBub3QgbnVsbCBhbmQgdG90YWwgc2hvdWxkIGJlIDEwMFxyXG4gICAgaWYodW5pdCA9PT0gJ3BlcmNlbnQnKSB7XHJcbiAgICAgICAgY29uc3QgdG90YWwgPSBzaXplcy5yZWR1Y2UoKHRvdGFsLCBzKSA9PiBzICE9PSBudWxsID8gdG90YWwgKyBzIDogdG90YWwsIDApO1xyXG4gICAgICAgIHJldHVybiBzaXplcy5ldmVyeShzID0+IHMgIT09IG51bGwpICYmIHRvdGFsID4gOTkuOSAmJiB0b3RhbCA8IDEwMC4xO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBBIHNpemUgYXQgbnVsbCBpcyBtYW5kYXRvcnkgYnV0IG9ubHkgb25lLlxyXG4gICAgaWYodW5pdCA9PT0gJ3BpeGVsJykge1xyXG4gICAgICAgIHJldHVybiBzaXplcy5maWx0ZXIocyA9PiBzID09PSBudWxsKS5sZW5ndGggPT09IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcmVhTWluU2l6ZShhOiBJQXJlYSk6IG51bGwgfCBudW1iZXIge1xyXG4gICAgaWYoYS5zaXplID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKGEuY29tcG9uZW50LmxvY2tTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIGEuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZihhLmNvbXBvbmVudC5taW5TaXplID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoYS5jb21wb25lbnQubWluU2l6ZSA+IGEuc2l6ZSkge1xyXG4gICAgICAgIHJldHVybiBhLnNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGEuY29tcG9uZW50Lm1pblNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcmVhTWF4U2l6ZShhOiBJQXJlYSk6IG51bGwgfCBudW1iZXIge1xyXG4gICAgaWYoYS5zaXplID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKGEuY29tcG9uZW50LmxvY2tTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIGEuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZihhLmNvbXBvbmVudC5tYXhTaXplID09PSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoYS5jb21wb25lbnQubWF4U2l6ZSA8IGEuc2l6ZSkge1xyXG4gICAgICAgIHJldHVybiBhLnNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGEuY29tcG9uZW50Lm1heFNpemU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRHdXR0ZXJTaWRlQWJzb3JwdGlvbkNhcGFjaXR5KHVuaXQ6ICdwZXJjZW50JyB8ICdwaXhlbCcsIHNpZGVBcmVhczogQXJyYXk8SUFyZWFTbmFwc2hvdD4sIHBpeGVsczogbnVtYmVyLCBhbGxBcmVhc1NpemVQaXhlbDogbnVtYmVyKTogSVNwbGl0U2lkZUFic29ycHRpb25DYXBhY2l0eSB7XHJcbiAgICByZXR1cm4gc2lkZUFyZWFzLnJlZHVjZSgoYWNjLCBhcmVhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcmVzID0gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eSh1bml0LCBhcmVhLCBhY2MucmVtYWluLCBhbGxBcmVhc1NpemVQaXhlbCk7XHJcbiAgICAgICAgYWNjLmxpc3QucHVzaChyZXMpO1xyXG4gICAgICAgIGFjYy5yZW1haW4gID0gcmVzLnBpeGVsUmVtYWluO1xyXG4gICAgICAgIHJldHVybiBhY2M7XHJcbiAgICB9LCB7cmVtYWluOiBwaXhlbHMsIGxpc3Q6IFtdfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkodW5pdDogJ3BlcmNlbnQnIHwgJ3BpeGVsJywgYXJlYVNuYXBzaG90OiBJQXJlYVNuYXBzaG90LCBwaXhlbHM6IG51bWJlciwgYWxsQXJlYXNTaXplUGl4ZWw6IG51bWJlcik6IElBcmVhQWJzb3JwdGlvbkNhcGFjaXR5IHtcclxuICAgIC8vIE5vIHBhaW4gbm8gZ2FpblxyXG4gICAgaWYocGl4ZWxzID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogMCxcclxuICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogYXJlYVNuYXBzaG90LnNpemVQZXJjZW50QXRTdGFydCxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IDAsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gQXJlYSBzdGFydCBhdCB6ZXJvIGFuZCBuZWVkIHRvIGJlIHJlZHVjZWQsIG5vdCBwb3NzaWJsZVxyXG4gICAgaWYoYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgPT09IDAgJiYgcGl4ZWxzIDwgMCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IDAsXHJcbiAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IDAsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiBwaXhlbHMsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYodW5pdCA9PT0gJ3BlcmNlbnQnKSB7XHJcbiAgICAgICAgcmV0dXJuIGdldEFyZWFBYnNvcnB0aW9uQ2FwYWNpdHlQZXJjZW50KGFyZWFTbmFwc2hvdCwgcGl4ZWxzLCBhbGxBcmVhc1NpemVQaXhlbCk7XHJcbiAgICB9XHJcbiAgICBcclxuXHRpZih1bml0ID09PSAncGl4ZWwnKSB7XHJcbiAgICAgICAgcmV0dXJuIGdldEFyZWFBYnNvcnB0aW9uQ2FwYWNpdHlQaXhlbChhcmVhU25hcHNob3QsIHBpeGVscywgYWxsQXJlYXNTaXplUGl4ZWwpO1xyXG4gICAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRBcmVhQWJzb3JwdGlvbkNhcGFjaXR5UGVyY2VudChhcmVhU25hcHNob3Q6IElBcmVhU25hcHNob3QsIHBpeGVsczogbnVtYmVyLCBhbGxBcmVhc1NpemVQaXhlbDogbnVtYmVyKTogSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkge1xyXG4gICAgY29uc3QgdGVtcFBpeGVsU2l6ZSA9IGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0ICsgcGl4ZWxzO1xyXG4gICAgY29uc3QgdGVtcFBlcmNlbnRTaXplID0gdGVtcFBpeGVsU2l6ZSAvIGFsbEFyZWFzU2l6ZVBpeGVsICogMTAwO1xyXG4gICAgXHJcbiAgICAvLyBFTkxBUkdFIEFSRUFcclxuICAgIFxyXG4gICAgaWYocGl4ZWxzID4gMCkge1xyXG4gICAgICAgIC8vIElmIG1heFNpemUgJiBuZXdTaXplIGJpZ2dlciB0aGFuIGl0ID4gYWJzb3JiIHRvIG1heCBhbmQgcmV0dXJuIHJlbWFpbmluZyBwaXhlbHMgXHJcbiAgICAgICAgaWYoYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSAhPT0gbnVsbCAmJiB0ZW1wUGVyY2VudFNpemUgPiBhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplKSB7XHJcbiAgICAgICAgICAgIC8vIFVzZSBhcmVhLmFyZWEubWF4U2l6ZSBhcyBuZXdQZXJjZW50U2l6ZSBhbmQgcmV0dXJuIGNhbGN1bGF0ZSBwaXhlbHMgcmVtYWluaW5nXHJcbiAgICAgICAgICAgIGNvbnN0IG1heFNpemVQaXhlbCA9IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUgLyAxMDAgKiBhbGxBcmVhc1NpemVQaXhlbDtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBtYXhTaXplUGl4ZWwsXHJcbiAgICAgICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiBhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplLFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxSZW1haW46IGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0ICsgcGl4ZWxzIC0gbWF4U2l6ZVBpeGVsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IHBpeGVscyxcclxuICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogdGVtcFBlcmNlbnRTaXplID4gMTAwID8gMTAwIDogdGVtcFBlcmNlbnRTaXplLFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogMFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUkVEVUNFIEFSRUFcclxuICAgIFxyXG4gICAgZWxzZSBpZihwaXhlbHMgPCAwKSB7XHJcbiAgICAgICAgLy8gSWYgbWluU2l6ZSAmIG5ld1NpemUgc21hbGxlciB0aGFuIGl0ID4gYWJzb3JiIHRvIG1pbiBhbmQgcmV0dXJuIHJlbWFpbmluZyBwaXhlbHMgXHJcbiAgICAgICAgaWYoYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSAhPT0gbnVsbCAmJiB0ZW1wUGVyY2VudFNpemUgPCBhcmVhU25hcHNob3QuYXJlYS5taW5TaXplKSB7XHJcbiAgICAgICAgICAgIC8vIFVzZSBhcmVhLmFyZWEubWluU2l6ZSBhcyBuZXdQZXJjZW50U2l6ZSBhbmQgcmV0dXJuIGNhbGN1bGF0ZSBwaXhlbHMgcmVtYWluaW5nXHJcbiAgICAgICAgICAgIGNvbnN0IG1pblNpemVQaXhlbCA9IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUgLyAxMDAgKiBhbGxBcmVhc1NpemVQaXhlbDtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBtaW5TaXplUGl4ZWwsXHJcbiAgICAgICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiBhcmVhU25hcHNob3QuYXJlYS5taW5TaXplLFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxSZW1haW46IGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0ICsgcGl4ZWxzIC0gbWluU2l6ZVBpeGVsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHJlZHVjZWQgdW5kZXIgemVybyA+IHJldHVybiByZW1haW5pbmcgcGl4ZWxzXHJcbiAgICAgICAgZWxzZSBpZih0ZW1wUGVyY2VudFNpemUgPCAwKSB7XHJcbiAgICAgICAgICAgIC8vIFVzZSAwIGFzIG5ld1BlcmNlbnRTaXplIGFuZCByZXR1cm4gY2FsY3VsYXRlIHBpeGVscyByZW1haW5pbmdcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHBpeGVsQWJzb3JiOiAtYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQsXHJcbiAgICAgICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAwLFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxSZW1haW46IHBpeGVscyArIGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IHBpeGVscyxcclxuICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogdGVtcFBlcmNlbnRTaXplLFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogMFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEFyZWFBYnNvcnB0aW9uQ2FwYWNpdHlQaXhlbChhcmVhU25hcHNob3Q6IElBcmVhU25hcHNob3QsIHBpeGVsczogbnVtYmVyLCBjb250YWluZXJTaXplUGl4ZWw6IG51bWJlcik6IElBcmVhQWJzb3JwdGlvbkNhcGFjaXR5IHtcclxuICAgIGNvbnN0IHRlbXBQaXhlbFNpemUgPSBhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCArIHBpeGVscztcclxuICAgICAgICAgICAgXHJcbiAgICAvLyBFTkxBUkdFIEFSRUFcclxuXHJcbiAgICBpZihwaXhlbHMgPiAwKSB7XHJcbiAgICAgICAgLy8gSWYgbWF4U2l6ZSAmIG5ld1NpemUgYmlnZ2VyIHRoYW4gaXQgPiBhYnNvcmIgdG8gbWF4IGFuZCByZXR1cm4gcmVtYWluaW5nIHBpeGVscyBcclxuICAgICAgICBpZihhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplICE9PSBudWxsICYmIHRlbXBQaXhlbFNpemUgPiBhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICBwaXhlbEFic29yYjogYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSAtIGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogLTEsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogdGVtcFBpeGVsU2l6ZSAtIGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogcGl4ZWxzLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAtMSxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IDBcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJFRFVDRSBBUkVBXHJcbiAgICBcclxuICAgIGVsc2UgaWYocGl4ZWxzIDwgMCkge1xyXG4gICAgICAgIC8vIElmIG1pblNpemUgJiBuZXdTaXplIHNtYWxsZXIgdGhhbiBpdCA+IGFic29yYiB0byBtaW4gYW5kIHJldHVybiByZW1haW5pbmcgcGl4ZWxzIFxyXG4gICAgICAgIGlmKGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUgIT09IG51bGwgJiYgdGVtcFBpeGVsU2l6ZSA8IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBhcmVhU25hcHNob3QuYXJlYS5taW5TaXplICsgcGl4ZWxzIC0gdGVtcFBpeGVsU2l6ZSxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IC0xLFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxSZW1haW46IHRlbXBQaXhlbFNpemUgLSBhcmVhU25hcHNob3QuYXJlYS5taW5TaXplXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHJlZHVjZWQgdW5kZXIgemVybyA+IHJldHVybiByZW1haW5pbmcgcGl4ZWxzXHJcbiAgICAgICAgZWxzZSBpZih0ZW1wUGl4ZWxTaXplIDwgMCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IC1hcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IC0xLFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxSZW1haW46IHBpeGVscyArIGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IHBpeGVscyxcclxuICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogLTEsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUFyZWFTaXplKHVuaXQ6ICdwZXJjZW50JyB8ICdwaXhlbCcsIGl0ZW06IElBcmVhQWJzb3JwdGlvbkNhcGFjaXR5KSB7XHJcbiAgICBcclxuICAgIGlmKHVuaXQgPT09ICdwZXJjZW50Jykge1xyXG4gICAgICAgIGl0ZW0uYXJlYVNuYXBzaG90LmFyZWEuc2l6ZSA9IGl0ZW0ucGVyY2VudEFmdGVyQWJzb3JwdGlvbjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYodW5pdCA9PT0gJ3BpeGVsJykge1xyXG4gICAgICAgIC8vIFVwZGF0ZSBzaXplIGV4Y2VwdCBmb3IgdGhlIHdpbGRjYXJkIHNpemUgYXJlYVxyXG4gICAgICAgIGlmKGl0ZW0uYXJlYVNuYXBzaG90LmFyZWEuc2l6ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpdGVtLmFyZWFTbmFwc2hvdC5hcmVhLnNpemUgPSBpdGVtLmFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0ICsgaXRlbS5waXhlbEFic29yYjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXNwbGl0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQThCO0lBQzVELGFBQWE7SUFDYixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNwRyxPQUFPO1lBQ0gsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztZQUNqRCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1NBQ3BELENBQUM7S0FDTDtJQUNELGFBQWE7U0FDUixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQzlGLE9BQU87WUFDSCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLE9BQU87WUFDL0IsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPO1NBQ2xDLENBQUM7S0FDTDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFpQixFQUFFLFNBQW9DOztVQUNqRixJQUFJLEdBQUcsQ0FBQyxtQkFBYyxLQUFLLENBQUMsYUFBYSxFQUFBLENBQUMsQ0FBQyxxQkFBcUIsRUFBRTtJQUV4RSxPQUFPLENBQUMsU0FBUyxLQUFLLFlB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akIsQ0FBQztLQUNMO0FBQ0wsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUF5QixFQUFFLElBQTZCO0lBRW5GLElBQUcsSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO0tBQzdEO1NBQ0ksSUFBRyxJQUFJLEtBQUssT0FBTyxFQUFFO1FBQ3RCLGdEQUFnRDtRQUNoRCxJQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN2RjtLQUNKO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElBcmVhLCBJUG9pbnQsIElBcmVhU25hcHNob3QsIElTcGxpdFNpZGVBYnNvcnB0aW9uQ2FwYWNpdHksIElBcmVhQWJzb3JwdGlvbkNhcGFjaXR5IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvaW50RnJvbUV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IElQb2ludCB7XHJcbiAgICAvLyBUb3VjaEV2ZW50XHJcbiAgICBpZigoPFRvdWNoRXZlbnQ+IGV2ZW50KS5jaGFuZ2VkVG91Y2hlcyAhPT0gdW5kZWZpbmVkICYmICg8VG91Y2hFdmVudD4gZXZlbnQpLmNoYW5nZWRUb3VjaGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB4OiAoPFRvdWNoRXZlbnQ+IGV2ZW50KS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRYLFxyXG4gICAgICAgICAgICB5OiAoPFRvdWNoRXZlbnQ+IGV2ZW50KS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICAvLyBNb3VzZUV2ZW50XHJcbiAgICBlbHNlIGlmKCg8TW91c2VFdmVudD4gZXZlbnQpLmNsaWVudFggIT09IHVuZGVmaW5lZCAmJiAoPE1vdXNlRXZlbnQ+IGV2ZW50KS5jbGllbnRZICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB4OiAoPE1vdXNlRXZlbnQ+IGV2ZW50KS5jbGllbnRYLFxyXG4gICAgICAgICAgICB5OiAoPE1vdXNlRXZlbnQ+IGV2ZW50KS5jbGllbnRZLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQaXhlbFNpemUoZWxSZWY6IEVsZW1lbnRSZWYsIGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyk6IG51bWJlciB7XHJcbiAgICBjb25zdCByZWN0ID0gKDxIVE1MRWxlbWVudD4gZWxSZWYubmF0aXZlRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgcmV0dXJuIChkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJykgPyByZWN0LndpZHRoIDogcmVjdC5oZWlnaHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dEJvb2xlYW4odjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHR5cGVvZih2KSA9PT0gJ2Jvb2xlYW4nKSA/IHYgOiAodiA9PT0gJ2ZhbHNlJyA/IGZhbHNlIDogdHJ1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyPFQ+KHY6IGFueSwgZGVmYXVsdFZhbHVlOiBUKTogbnVtYmVyIHwgVCB7XHJcbiAgICBpZih2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuXHJcbiAgICB2ID0gTnVtYmVyKHYpO1xyXG4gICAgcmV0dXJuICFpc05hTih2KSAmJiB2ID49IDAgPyB2IDogZGVmYXVsdFZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNVc2VyU2l6ZXNWYWxpZCh1bml0OiAncGVyY2VudCcgfCAncGl4ZWwnLCBzaXplczogQXJyYXk8bnVtYmVyIHwgbnVsbD4pOiBib29sZWFuIHtcclxuICAgIC8vIEFsbCBzaXplcyBoYXZlIHRvIGJlIG5vdCBudWxsIGFuZCB0b3RhbCBzaG91bGQgYmUgMTAwXHJcbiAgICBpZih1bml0ID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICBjb25zdCB0b3RhbCA9IHNpemVzLnJlZHVjZSgodG90YWwsIHMpID0+IHMgIT09IG51bGwgPyB0b3RhbCArIHMgOiB0b3RhbCwgMCk7XHJcbiAgICAgICAgcmV0dXJuIHNpemVzLmV2ZXJ5KHMgPT4gcyAhPT0gbnVsbCkgJiYgdG90YWwgPiA5OS45ICYmIHRvdGFsIDwgMTAwLjE7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEEgc2l6ZSBhdCBudWxsIGlzIG1hbmRhdG9yeSBidXQgb25seSBvbmUuXHJcbiAgICBpZih1bml0ID09PSAncGl4ZWwnKSB7XHJcbiAgICAgICAgcmV0dXJuIHNpemVzLmZpbHRlcihzID0+IHMgPT09IG51bGwpLmxlbmd0aCA9PT0gMTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFyZWFNaW5TaXplKGE6IElBcmVhKTogbnVsbCB8IG51bWJlciB7XHJcbiAgICBpZihhLnNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYoYS5jb21wb25lbnQubG9ja1NpemUgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gYS5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGEuY29tcG9uZW50Lm1pblNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZihhLmNvbXBvbmVudC5taW5TaXplID4gYS5zaXplKSB7XHJcbiAgICAgICAgcmV0dXJuIGEuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYS5jb21wb25lbnQubWluU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFyZWFNYXhTaXplKGE6IElBcmVhKTogbnVsbCB8IG51bWJlciB7XHJcbiAgICBpZihhLnNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYoYS5jb21wb25lbnQubG9ja1NpemUgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gYS5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGEuY29tcG9uZW50Lm1heFNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZihhLmNvbXBvbmVudC5tYXhTaXplIDwgYS5zaXplKSB7XHJcbiAgICAgICAgcmV0dXJuIGEuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYS5jb21wb25lbnQubWF4U2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEd1dHRlclNpZGVBYnNvcnB0aW9uQ2FwYWNpdHkodW5pdDogJ3BlcmNlbnQnIHwgJ3BpeGVsJywgc2lkZUFyZWFzOiBBcnJheTxJQXJlYVNuYXBzaG90PiwgcGl4ZWxzOiBudW1iZXIsIGFsbEFyZWFzU2l6ZVBpeGVsOiBudW1iZXIpOiBJU3BsaXRTaWRlQWJzb3JwdGlvbkNhcGFjaXR5IHtcclxuICAgIHJldHVybiBzaWRlQXJlYXMucmVkdWNlKChhY2MsIGFyZWEpID0+IHtcclxuICAgICAgICBjb25zdCByZXMgPSBnZXRBcmVhQWJzb3JwdGlvbkNhcGFjaXR5KHVuaXQsIGFyZWEsIGFjYy5yZW1haW4sIGFsbEFyZWFzU2l6ZVBpeGVsKTtcclxuICAgICAgICBhY2MubGlzdC5wdXNoKHJlcyk7XHJcbiAgICAgICAgYWNjLnJlbWFpbiAgPSByZXMucGl4ZWxSZW1haW47XHJcbiAgICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHtyZW1haW46IHBpeGVscywgbGlzdDogW119KTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eSh1bml0OiAncGVyY2VudCcgfCAncGl4ZWwnLCBhcmVhU25hcHNob3Q6IElBcmVhU25hcHNob3QsIHBpeGVsczogbnVtYmVyLCBhbGxBcmVhc1NpemVQaXhlbDogbnVtYmVyKTogSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkge1xyXG4gICAgLy8gTm8gcGFpbiBubyBnYWluXHJcbiAgICBpZihwaXhlbHMgPT09IDApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiAwLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiBhcmVhU25hcHNob3Quc2l6ZVBlcmNlbnRBdFN0YXJ0LFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogMCxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBBcmVhIHN0YXJ0IGF0IHplcm8gYW5kIG5lZWQgdG8gYmUgcmVkdWNlZCwgbm90IHBvc3NpYmxlXHJcbiAgICBpZihhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCA9PT0gMCAmJiBwaXhlbHMgPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogMCxcclxuICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogMCxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IHBpeGVscyxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZih1bml0ID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICByZXR1cm4gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eVBlcmNlbnQoYXJlYVNuYXBzaG90LCBwaXhlbHMsIGFsbEFyZWFzU2l6ZVBpeGVsKTtcclxuICAgIH1cclxuICAgIFxyXG5cdGlmKHVuaXQgPT09ICdwaXhlbCcpIHtcclxuICAgICAgICByZXR1cm4gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eVBpeGVsKGFyZWFTbmFwc2hvdCwgcGl4ZWxzLCBhbGxBcmVhc1NpemVQaXhlbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEFyZWFBYnNvcnB0aW9uQ2FwYWNpdHlQZXJjZW50KGFyZWFTbmFwc2hvdDogSUFyZWFTbmFwc2hvdCwgcGl4ZWxzOiBudW1iZXIsIGFsbEFyZWFzU2l6ZVBpeGVsOiBudW1iZXIpOiBJQXJlYUFic29ycHRpb25DYXBhY2l0eSB7XHJcbiAgICBjb25zdCB0ZW1wUGl4ZWxTaXplID0gYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBwaXhlbHM7XHJcbiAgICBjb25zdCB0ZW1wUGVyY2VudFNpemUgPSB0ZW1wUGl4ZWxTaXplIC8gYWxsQXJlYXNTaXplUGl4ZWwgKiAxMDA7XHJcbiAgICBcclxuICAgIC8vIEVOTEFSR0UgQVJFQVxyXG4gICAgXHJcbiAgICBpZihwaXhlbHMgPiAwKSB7XHJcbiAgICAgICAgLy8gSWYgbWF4U2l6ZSAmIG5ld1NpemUgYmlnZ2VyIHRoYW4gaXQgPiBhYnNvcmIgdG8gbWF4IGFuZCByZXR1cm4gcmVtYWluaW5nIHBpeGVscyBcclxuICAgICAgICBpZihhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplICE9PSBudWxsICYmIHRlbXBQZXJjZW50U2l6ZSA+IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUpIHtcclxuICAgICAgICAgICAgLy8gVXNlIGFyZWEuYXJlYS5tYXhTaXplIGFzIG5ld1BlcmNlbnRTaXplIGFuZCByZXR1cm4gY2FsY3VsYXRlIHBpeGVscyByZW1haW5pbmdcclxuICAgICAgICAgICAgY29uc3QgbWF4U2l6ZVBpeGVsID0gYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSAvIDEwMCAqIGFsbEFyZWFzU2l6ZVBpeGVsO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IG1heFNpemVQaXhlbCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBwaXhlbHMgLSBtYXhTaXplUGl4ZWxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogcGl4ZWxzLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiB0ZW1wUGVyY2VudFNpemUgPiAxMDAgPyAxMDAgOiB0ZW1wUGVyY2VudFNpemUsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSRURVQ0UgQVJFQVxyXG4gICAgXHJcbiAgICBlbHNlIGlmKHBpeGVscyA8IDApIHtcclxuICAgICAgICAvLyBJZiBtaW5TaXplICYgbmV3U2l6ZSBzbWFsbGVyIHRoYW4gaXQgPiBhYnNvcmIgdG8gbWluIGFuZCByZXR1cm4gcmVtYWluaW5nIHBpeGVscyBcclxuICAgICAgICBpZihhcmVhU25hcHNob3QuYXJlYS5taW5TaXplICE9PSBudWxsICYmIHRlbXBQZXJjZW50U2l6ZSA8IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUpIHtcclxuICAgICAgICAgICAgLy8gVXNlIGFyZWEuYXJlYS5taW5TaXplIGFzIG5ld1BlcmNlbnRTaXplIGFuZCByZXR1cm4gY2FsY3VsYXRlIHBpeGVscyByZW1haW5pbmdcclxuICAgICAgICAgICAgY29uc3QgbWluU2l6ZVBpeGVsID0gYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSAvIDEwMCAqIGFsbEFyZWFzU2l6ZVBpeGVsO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IG1pblNpemVQaXhlbCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBwaXhlbHMgLSBtaW5TaXplUGl4ZWxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgcmVkdWNlZCB1bmRlciB6ZXJvID4gcmV0dXJuIHJlbWFpbmluZyBwaXhlbHNcclxuICAgICAgICBlbHNlIGlmKHRlbXBQZXJjZW50U2l6ZSA8IDApIHtcclxuICAgICAgICAgICAgLy8gVXNlIDAgYXMgbmV3UGVyY2VudFNpemUgYW5kIHJldHVybiBjYWxjdWxhdGUgcGl4ZWxzIHJlbWFpbmluZ1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IC1hcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IDAsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogcGl4ZWxzICsgYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogcGl4ZWxzLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiB0ZW1wUGVyY2VudFNpemUsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eVBpeGVsKGFyZWFTbmFwc2hvdDogSUFyZWFTbmFwc2hvdCwgcGl4ZWxzOiBudW1iZXIsIGNvbnRhaW5lclNpemVQaXhlbDogbnVtYmVyKTogSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkge1xyXG4gICAgY29uc3QgdGVtcFBpeGVsU2l6ZSA9IGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0ICsgcGl4ZWxzO1xyXG4gICAgICAgICAgICBcclxuICAgIC8vIEVOTEFSR0UgQVJFQVxyXG5cclxuICAgIGlmKHBpeGVscyA+IDApIHtcclxuICAgICAgICAvLyBJZiBtYXhTaXplICYgbmV3U2l6ZSBiaWdnZXIgdGhhbiBpdCA+IGFic29yYiB0byBtYXggYW5kIHJldHVybiByZW1haW5pbmcgcGl4ZWxzIFxyXG4gICAgICAgIGlmKGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUgIT09IG51bGwgJiYgdGVtcFBpeGVsU2l6ZSA+IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplIC0gYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQsXHJcbiAgICAgICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAtMSxcclxuICAgICAgICAgICAgICAgIHBpeGVsUmVtYWluOiB0ZW1wUGl4ZWxTaXplIC0gYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBwaXhlbHMsXHJcbiAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IC0xLFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogMFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUkVEVUNFIEFSRUFcclxuICAgIFxyXG4gICAgZWxzZSBpZihwaXhlbHMgPCAwKSB7XHJcbiAgICAgICAgLy8gSWYgbWluU2l6ZSAmIG5ld1NpemUgc21hbGxlciB0aGFuIGl0ID4gYWJzb3JiIHRvIG1pbiBhbmQgcmV0dXJuIHJlbWFpbmluZyBwaXhlbHMgXHJcbiAgICAgICAgaWYoYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSAhPT0gbnVsbCAmJiB0ZW1wUGl4ZWxTaXplIDwgYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUgKyBwaXhlbHMgLSB0ZW1wUGl4ZWxTaXplLFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogLTEsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogdGVtcFBpeGVsU2l6ZSAtIGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgcmVkdWNlZCB1bmRlciB6ZXJvID4gcmV0dXJuIHJlbWFpbmluZyBwaXhlbHNcclxuICAgICAgICBlbHNlIGlmKHRlbXBQaXhlbFNpemUgPCAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICBwaXhlbEFic29yYjogLWFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogLTEsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogcGl4ZWxzICsgYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogcGl4ZWxzLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAtMSxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IDBcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQXJlYVNpemUodW5pdDogJ3BlcmNlbnQnIHwgJ3BpeGVsJywgaXRlbTogSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkpIHtcclxuICAgIFxyXG4gICAgaWYodW5pdCA9PT0gJ3BlcmNlbnQnKSB7XHJcbiAgICAgICAgaXRlbS5hcmVhU25hcHNob3QuYXJlYS5zaXplID0gaXRlbS5wZXJjZW50QWZ0ZXJBYnNvcnB0aW9uO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih1bml0ID09PSAncGl4ZWwnKSB7XHJcbiAgICAgICAgLy8gVXBkYXRlIHNpemUgZXhjZXB0IGZvciB0aGUgd2lsZGNhcmQgc2l6ZSBhcmVhXHJcbiAgICAgICAgaWYoaXRlbS5hcmVhU25hcHNob3QuYXJlYS5zaXplICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uYXJlYVNuYXBzaG90LmFyZWEuc2l6ZSA9IGl0ZW0uYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBpdGVtLnBpeGVsQWJzb3JiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -11,2 +11,2 @@ /*

export { SplitAreaDirective } from './lib/directive/splitArea.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFuZ3VsYXItc3BsaXRcclxuICovXHJcblxyXG5leHBvcnQgeyBBbmd1bGFyU3BsaXRNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGUnO1xyXG5leHBvcnQgeyBTcGxpdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudC9zcGxpdC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBTcGxpdEFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmUvc3BsaXRBcmVhLmRpcmVjdGl2ZSc7XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLXNwbGl0XG4gKi9cblxuZXhwb3J0IHsgQW5ndWxhclNwbGl0TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlJztcbmV4cG9ydCB7IFNwbGl0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50L3NwbGl0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTcGxpdEFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmUvc3BsaXRBcmVhLmRpcmVjdGl2ZSc7XG4iXX0=
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ /**

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -152,4 +152,11 @@ import { Directive, Input, ElementRef, Renderer2, NgZone } from '@angular/core';

this.split.addArea(this);
this.ngZone.runOutsideAngular(function () {
_this.transitionListener = _this.renderer.listen(_this.elRef.nativeElement, 'transitionend', function (event) {
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () {
_this.transitionListener = _this.renderer.listen(_this.elRef.nativeElement, 'transitionend', (/**
* @param {?} event
* @return {?}
*/
function (event) {
// Limit only flex-basis transition to trigger the event

@@ -159,4 +166,4 @@ if (event.propertyName === 'flex-basis') {

}
});
});
}));
}));
};

@@ -212,6 +219,17 @@ /**

var _this = this;
this.ngZone.runOutsideAngular(function () {
_this.lockListeners.push(_this.renderer.listen(_this.elRef.nativeElement, 'selectstart', function (e) { return false; }));
_this.lockListeners.push(_this.renderer.listen(_this.elRef.nativeElement, 'dragstart', function (e) { return false; }));
});
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () {
_this.lockListeners.push(_this.renderer.listen(_this.elRef.nativeElement, 'selectstart', (/**
* @param {?} e
* @return {?}
*/
function (e) { return false; })));
_this.lockListeners.push(_this.renderer.listen(_this.elRef.nativeElement, 'dragstart', (/**
* @param {?} e
* @return {?}
*/
function (e) { return false; })));
}));
};

@@ -270,27 +288,60 @@ /**

if (false) {
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._order;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._size;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._minSize;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._maxSize;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._lockSize;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype._visible;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.transitionListener;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.lockListeners;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.ngZone;
/** @type {?} */
SplitAreaDirective.prototype.elRef;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.renderer;
/** @type {?} */
/**
* @type {?}
* @private
*/
SplitAreaDirective.prototype.split;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRBcmVhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlL3NwbGl0QXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuRTtJQW9HSSw0QkFBb0IsTUFBYyxFQUNmLEtBQWlCLEVBQ2hCLFFBQW1CLEVBQ25CLEtBQXFCO1FBSHJCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFqR2pDLFdBQU0sR0FBa0IsSUFBSSxDQUFDOztRQWM3QixVQUFLLEdBQWtCLElBQUksQ0FBQzs7UUFjNUIsYUFBUSxHQUFrQixJQUFJLENBQUM7O1FBYy9CLGFBQVEsR0FBa0IsSUFBSSxDQUFDOztRQWMvQixjQUFTLEdBQVksS0FBSyxDQUFDOztRQWMzQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBc0JoQixrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFNakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQWpHRCxzQkFBYSxxQ0FBSzs7OztRQU1sQjtZQUNJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDOzs7OztRQVJELFVBQW1CLENBQWdCO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcs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LENBQUM7SUFDaEMsQ0FBQzs7Z0JBL0pKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxRQUFRLEVBQUUsYUFBYTtpQkFDMUI7Ozs7Z0JBUm9FLE1BQU07Z0JBQWhELFVBQVU7Z0JBQUUsU0FBUztnQkFFdkMsY0FBYzs7O3dCQVdsQixLQUFLO3VCQWNMLEtBQUs7MEJBY0wsS0FBSzswQkFjTCxLQUFLOzJCQWNMLEtBQUs7MEJBY0wsS0FBSzs7SUFrRlYseUJBQUM7Q0FBQSxBQWhLRCxJQWdLQztTQTVKWSxrQkFBa0I7OztJQUUzQixvQ0FBcUM7O0lBY3JDLG1DQUFvQzs7SUFjcEMsc0NBQXVDOztJQWN2QyxzQ0FBdUM7O0lBY3ZDLHVDQUFtQzs7SUFjbkMsc0NBQWlDOztJQXFCakMsZ0RBQXFDOztJQUNyQywyQ0FBcUQ7O0lBRXpDLG9DQUFzQjs7SUFDdEIsbUNBQXdCOztJQUN4QixzQ0FBMkI7O0lBQzNCLG1DQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgT25Jbml0LCBPbkRlc3Ryb3ksIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3BsaXRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQvc3BsaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZ2V0SW5wdXRQb3NpdGl2ZU51bWJlciwgZ2V0SW5wdXRCb29sZWFuIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ2FzLXNwbGl0LWFyZWEsIFthcy1zcGxpdC1hcmVhXScsXHJcbiAgICBleHBvcnRBczogJ2FzU3BsaXRBcmVhJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BsaXRBcmVhRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIHByaXZhdGUgX29yZGVyOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgb3JkZXIodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX29yZGVyID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIHRydWUsIGZhbHNlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IG9yZGVyKCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9vcmRlcjtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfc2l6ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHNpemUodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX3NpemUgPSBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyKHYsIG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgc2l6ZSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfbWluU2l6ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IG1pblNpemUodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX21pblNpemUgPSBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyKHYsIG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgbWluU2l6ZSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWluU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfbWF4U2l6ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IG1heFNpemUodjogbnVtYmVyIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuX21heFNpemUgPSBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyKHYsIG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgbWF4U2l6ZSgpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbWF4U2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfbG9ja1NpemU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgbG9ja1NpemUodjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2xvY2tTaXplID0gZ2V0SW5wdXRCb29sZWFuKHYpO1xyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnVwZGF0ZUFyZWEodGhpcywgZmFsc2UsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXQgbG9ja1NpemUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2tTaXplO1xyXG4gICAgfVxyXG5cclxuICAgIC8vLy9cclxuXHJcbiAgICBwcml2YXRlIF92aXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgdmlzaWJsZSh2OiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fdmlzaWJsZSA9IGdldElucHV0Qm9vbGVhbih2KTtcclxuXHJcbiAgICAgICAgaWYodGhpcy5fdmlzaWJsZSkgeyBcclxuICAgICAgICAgICAgdGhpcy5zcGxpdC5zaG93QXJlYSh0aGlzKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1oaWRkZW4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3BsaXQuaGlkZUFyZWEodGhpcyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtaGlkZGVuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vLy9cclxuXHJcbiAgICBwcml2YXRlIHRyYW5zaXRpb25MaXN0ZW5lcjogRnVuY3Rpb247XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2tMaXN0ZW5lcnM6IEFycmF5PEZ1bmN0aW9uPiA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgZWxSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNwbGl0OiBTcGxpdENvbXBvbmVudCkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtc3BsaXQtYXJlYScpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNwbGl0LmFkZEFyZWEodGhpcyk7XHJcblxyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uZW5kJywgKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIExpbWl0IG9ubHkgZmxleC1iYXNpcyB0cmFuc2l0aW9uIHRvIHRyaWdnZXIgdGhlIGV2ZW50XHJcbiAgICAgICAgICAgICAgICBpZihldmVudC5wcm9wZXJ0eU5hbWUgPT09ICdmbGV4LWJhc2lzJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3BsaXQubm90aWZ5KCd0cmFuc2l0aW9uRW5kJywgLTEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0U3R5bGVPcmRlcih2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdvcmRlcicsIHZhbHVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIHNldFN0eWxlRmxleChncm93OiBudW1iZXIsIHNocmluazogbnVtYmVyLCBiYXNpczogc3RyaW5nLCBpc01pbjogYm9vbGVhbiwgaXNNYXg6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICAvLyBOZWVkIDMgc2VwYXJhdGVkIHByb3BlcnRpZXMgdG8gd29yayBvbiBJRTExIChodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9mbGV4LWxheW91dC9pc3N1ZXMvMzIzKVxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1ncm93JywgZ3Jvdyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4LXNocmluaycsIHNocmluayk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4LWJhc2lzJywgYmFzaXMpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmKGlzTWluID09PSB0cnVlKSAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1taW4nKTtcclxuICAgICAgICBlbHNlICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtbWluJyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYoaXNNYXggPT09IHRydWUpICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLW1heCcpO1xyXG4gICAgICAgIGVsc2UgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1tYXgnKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIGxvY2tFdmVudHMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2tMaXN0ZW5lcnMucHVzaCggdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnc2VsZWN0c3RhcnQnLCAoZTogRXZlbnQpID0+IGZhbHNlKSApO1xyXG4gICAgICAgICAgICB0aGlzLmxvY2tMaXN0ZW5lcnMucHVzaCggdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZHJhZ3N0YXJ0JywgKGU6IEV2ZW50KSA9PiBmYWxzZSkgKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdW5sb2NrRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIHdoaWxlKHRoaXMubG9ja0xpc3RlbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZjdCA9IHRoaXMubG9ja0xpc3RlbmVycy5wb3AoKTtcclxuICAgICAgICAgICAgaWYoZmN0KSBmY3QoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudW5sb2NrRXZlbnRzKCk7XHJcblxyXG4gICAgICAgIGlmKHRoaXMudHJhbnNpdGlvbkxpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkxpc3RlbmVyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNwbGl0LnJlbW92ZUFyZWEodGhpcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXRBcmVhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlL3NwbGl0QXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuRTtJQW9HSSw0QkFBb0IsTUFBYyxFQUNmLEtBQWlCLEVBQ2hCLFFBQW1CLEVBQ25CLEtBQXFCO1FBSHJCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFqR2pDLFdBQU0sR0FBa0IsSUFBSSxDQUFDOztRQWM3QixVQUFLLEdBQWtCLElBQUksQ0FBQzs7UUFjNUIsYUFBUSxHQUFrQixJQUFJLENBQUM7O1FBYy9CLGFBQVEsR0FBa0IsSUFBSSxDQUFDOztRQWMvQixjQUFTLEdBQVksS0FBSyxDQUFDOztRQWMzQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBc0JoQixrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFNakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQWpHRCxzQkFBYSxxQ0FBSzs7OztRQU1sQjtZQUNJLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDOzs7OztRQVJELFVBQW1CLENBQWdCO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcs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QUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O2dCQS9KSixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFLGFBQWE7aUJBQzFCOzs7O2dCQVJvRSxNQUFNO2dCQUFoRCxVQUFVO2dCQUFFLFNBQVM7Z0JBRXZDLGNBQWM7Ozt3QkFXbEIsS0FBSzt1QkFjTCxLQUFLOzBCQWNMLEtBQUs7MEJBY0wsS0FBSzsyQkFjTCxLQUFLOzBCQWNMLEtBQUs7O0lBa0ZWLHlCQUFDO0NBQUEsQUFoS0QsSUFnS0M7U0E1Slksa0JBQWtCOzs7Ozs7SUFFM0Isb0NBQXFDOzs7OztJQWNyQyxtQ0FBb0M7Ozs7O0lBY3BDLHNDQUF1Qzs7Ozs7SUFjdkMsc0NBQXVDOzs7OztJQWN2Qyx1Q0FBbUM7Ozs7O0lBY25DLHNDQUFpQzs7Ozs7SUFxQmpDLGdEQUFxQzs7Ozs7SUFDckMsMkNBQXFEOzs7OztJQUV6QyxvQ0FBc0I7O0lBQ3RCLG1DQUF3Qjs7Ozs7SUFDeEIsc0NBQTJCOzs7OztJQUMzQixtQ0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE9uSW5pdCwgT25EZXN0cm95LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNwbGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L3NwbGl0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGdldElucHV0UG9zaXRpdmVOdW1iZXIsIGdldElucHV0Qm9vbGVhbiB9IGZyb20gJy4uL3V0aWxzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdhcy1zcGxpdC1hcmVhLCBbYXMtc3BsaXQtYXJlYV0nLFxyXG4gICAgZXhwb3J0QXM6ICdhc1NwbGl0QXJlYSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGl0QXJlYURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcml2YXRlIF9vcmRlcjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IG9yZGVyKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9vcmRlciA9IGdldElucHV0UG9zaXRpdmVOdW1iZXIodiwgbnVsbCk7XHJcblxyXG4gICAgICAgIHRoaXMuc3BsaXQudXBkYXRlQXJlYSh0aGlzLCB0cnVlLCBmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGdldCBvcmRlcigpOiBudW1iZXIgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fb3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX3NpemU6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCBzaXplKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9zaXplID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IHNpemUoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX21pblNpemU6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCBtaW5TaXplKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9taW5TaXplID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IG1pblNpemUoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pblNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX21heFNpemU6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIEBJbnB1dCgpIHNldCBtYXhTaXplKHY6IG51bWJlciB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9tYXhTaXplID0gZ2V0SW5wdXRQb3NpdGl2ZU51bWJlcih2LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IG1heFNpemUoKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX21heFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8vL1xyXG5cclxuICAgIHByaXZhdGUgX2xvY2tTaXplOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IGxvY2tTaXplKHY6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9sb2NrU2l6ZSA9IGdldElucHV0Qm9vbGVhbih2KTtcclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC51cGRhdGVBcmVhKHRoaXMsIGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0IGxvY2tTaXplKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NrU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSBfdmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgc2V0IHZpc2libGUodjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSBnZXRJbnB1dEJvb2xlYW4odik7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuX3Zpc2libGUpIHsgXHJcbiAgICAgICAgICAgIHRoaXMuc3BsaXQuc2hvd0FyZWEodGhpcyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtaGlkZGVuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNwbGl0LmhpZGVBcmVhKHRoaXMpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLWhpZGRlbicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvLy8vXHJcblxyXG4gICAgcHJpdmF0ZSB0cmFuc2l0aW9uTGlzdGVuZXI6IEZ1bmN0aW9uO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NrTGlzdGVuZXJzOiBBcnJheTxGdW5jdGlvbj4gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLFxyXG4gICAgICAgICAgICAgICAgcHVibGljIGVsUmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzcGxpdDogU3BsaXRDb21wb25lbnQpIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLXNwbGl0LWFyZWEnKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zcGxpdC5hZGRBcmVhKHRoaXMpO1xyXG5cclxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvbkxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbmVuZCcsIChldmVudDogVHJhbnNpdGlvbkV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBMaW1pdCBvbmx5IGZsZXgtYmFzaXMgdHJhbnNpdGlvbiB0byB0cmlnZ2VyIHRoZSBldmVudFxyXG4gICAgICAgICAgICAgICAgaWYoZXZlbnQucHJvcGVydHlOYW1lID09PSAnZmxleC1iYXNpcycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNwbGl0Lm5vdGlmeSgndHJhbnNpdGlvbkVuZCcsIC0xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFN0eWxlT3JkZXIodmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnb3JkZXInLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBzZXRTdHlsZUZsZXgoZ3JvdzogbnVtYmVyLCBzaHJpbms6IG51bWJlciwgYmFzaXM6IHN0cmluZywgaXNNaW46IGJvb2xlYW4sIGlzTWF4OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgLy8gTmVlZCAzIHNlcGFyYXRlZCBwcm9wZXJ0aWVzIHRvIHdvcmsgb24gSUUxMSAoaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvZmxleC1sYXlvdXQvaXNzdWVzLzMyMylcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2ZsZXgtZ3JvdycsIGdyb3cpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1zaHJpbmsnLCBzaHJpbmspO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1iYXNpcycsIGJhc2lzKTtcclxuICAgICAgICBcclxuICAgICAgICBpZihpc01pbiA9PT0gdHJ1ZSkgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtbWluJyk7XHJcbiAgICAgICAgZWxzZSAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2FzLW1pbicpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIGlmKGlzTWF4ID09PSB0cnVlKSAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdhcy1tYXgnKTtcclxuICAgICAgICBlbHNlICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnYXMtbWF4Jyk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBsb2NrRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2NrTGlzdGVuZXJzLnB1c2goIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ3NlbGVjdHN0YXJ0JywgKGU6IEV2ZW50KSA9PiBmYWxzZSkgKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NrTGlzdGVuZXJzLnB1c2goIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2RyYWdzdGFydCcsIChlOiBFdmVudCkgPT4gZmFsc2UpICk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVubG9ja0V2ZW50cygpOiB2b2lkIHtcclxuICAgICAgICB3aGlsZSh0aGlzLmxvY2tMaXN0ZW5lcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBmY3QgPSB0aGlzLmxvY2tMaXN0ZW5lcnMucG9wKCk7XHJcbiAgICAgICAgICAgIGlmKGZjdCkgZmN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnVubG9ja0V2ZW50cygpO1xyXG5cclxuICAgICAgICBpZih0aGlzLnRyYW5zaXRpb25MaXN0ZW5lcikge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25MaXN0ZW5lcigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zcGxpdC5yZW1vdmVBcmVhKHRoaXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ /**

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ import { NgModule } from '@angular/core';

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -64,8 +64,21 @@ /**

/** @type {?} */
var total = sizes.reduce(function (total, s) { return s !== null ? total + s : total; }, 0);
return sizes.every(function (s) { return s !== null; }) && total > 99.9 && total < 100.1;
var total = sizes.reduce((/**
* @param {?} total
* @param {?} s
* @return {?}
*/
function (total, s) { return s !== null ? total + s : total; }), 0);
return sizes.every((/**
* @param {?} s
* @return {?}
*/
function (s) { return s !== null; })) && total > 99.9 && total < 100.1;
}
// A size at null is mandatory but only one.
if (unit === 'pixel') {
return sizes.filter(function (s) { return s === null; }).length === 1;
return sizes.filter((/**
* @param {?} s
* @return {?}
*/
function (s) { return s === null; })).length === 1;
}

@@ -119,3 +132,8 @@ }

export function getGutterSideAbsorptionCapacity(unit, sideAreas, pixels, allAreasSizePixel) {
return sideAreas.reduce(function (acc, area) {
return sideAreas.reduce((/**
* @param {?} acc
* @param {?} area
* @return {?}
*/
function (acc, area) {
/** @type {?} */

@@ -126,3 +144,3 @@ var res = getAreaAbsorptionCapacity(unit, area, acc.remain, allAreasSizePixel);

return acc;
}, { remain: pixels, list: [] });
}), { remain: pixels, list: [] });
}

@@ -297,2 +315,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXNwbGl0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQThCO0lBQzVELGFBQWE7SUFDYixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNwRyxPQUFPO1lBQ0gsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztZQUNqRCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1NBQ3BELENBQUM7S0FDTDtJQUNELGFBQWE7U0FDUixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQzlGLE9BQU87WUFDSCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLE9BQU87WUFDL0IsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPO1NBQ2xDLENBQUM7S0FDTDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFpQixFQUFFLFNBQW9DOztRQUNqRixJQUFJLEdBQUcsQ0FBQyxtQkFBYyxLQUFLLENBQUMsYUFBYSxFQUFBLENBQUMsQ0FBQyxxQkFBcUIsRUFBRTtJQUV4RSxPQUFPLENBQUMsU0FBUyxLQUFLLFlB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LEVBQUUsTUFBTTtZQUNuQixzQkFBc0IsRUFBRSxDQUFDLENBQUM7WUFDMUIsV0FBVyxFQUFFLENBQUM7U0FDakIsQ0FBQztLQUNMO0FBQ0wsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUF5QixFQUFFLElBQTZCO0lBRW5GLElBQUcsSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO0tBQzdEO1NBQ0ksSUFBRyxJQUFJLEtBQUssT0FBTyxFQUFFO1FBQ3RCLGdEQUFnRDtRQUNoRCxJQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN2RjtLQUNKO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElBcmVhLCBJUG9pbnQsIElBcmVhU25hcHNob3QsIElTcGxpdFNpZGVBYnNvcnB0aW9uQ2FwYWNpdHksIElBcmVhQWJzb3JwdGlvbkNhcGFjaXR5IH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvaW50RnJvbUV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IElQb2ludCB7XHJcbiAgICAvLyBUb3VjaEV2ZW50XHJcbiAgICBpZigoPFRvdWNoRXZlbnQ+IGV2ZW50KS5jaGFuZ2VkVG91Y2hlcyAhPT0gdW5kZWZpbmVkICYmICg8VG91Y2hFdmVudD4gZXZlbnQpLmNoYW5nZWRUb3VjaGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB4OiAoPFRvdWNoRXZlbnQ+IGV2ZW50KS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRYLFxyXG4gICAgICAgICAgICB5OiAoPFRvdWNoRXZlbnQ+IGV2ZW50KS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICAvLyBNb3VzZUV2ZW50XHJcbiAgICBlbHNlIGlmKCg8TW91c2VFdmVudD4gZXZlbnQpLmNsaWVudFggIT09IHVuZGVmaW5lZCAmJiAoPE1vdXNlRXZlbnQ+IGV2ZW50KS5jbGllbnRZICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB4OiAoPE1vdXNlRXZlbnQ+IGV2ZW50KS5jbGllbnRYLFxyXG4gICAgICAgICAgICB5OiAoPE1vdXNlRXZlbnQ+IGV2ZW50KS5jbGllbnRZLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQaXhlbFNpemUoZWxSZWY6IEVsZW1lbnRSZWYsIGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyk6IG51bWJlciB7XHJcbiAgICBjb25zdCByZWN0ID0gKDxIVE1MRWxlbWVudD4gZWxSZWYubmF0aXZlRWxlbWVudCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgcmV0dXJuIChkaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJykgPyByZWN0LndpZHRoIDogcmVjdC5oZWlnaHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dEJvb2xlYW4odjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHR5cGVvZih2KSA9PT0gJ2Jvb2xlYW4nKSA/IHYgOiAodiA9PT0gJ2ZhbHNlJyA/IGZhbHNlIDogdHJ1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dFBvc2l0aXZlTnVtYmVyPFQ+KHY6IGFueSwgZGVmYXVsdFZhbHVlOiBUKTogbnVtYmVyIHwgVCB7XHJcbiAgICBpZih2ID09PSBudWxsIHx8IHYgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuXHJcbiAgICB2ID0gTnVtYmVyKHYpO1xyXG4gICAgcmV0dXJuICFpc05hTih2KSAmJiB2ID49IDAgPyB2IDogZGVmYXVsdFZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNVc2VyU2l6ZXNWYWxpZCh1bml0OiAncGVyY2VudCcgfCAncGl4ZWwnLCBzaXplczogQXJyYXk8bnVtYmVyIHwgbnVsbD4pOiBib29sZWFuIHtcclxuICAgIC8vIEFsbCBzaXplcyBoYXZlIHRvIGJlIG5vdCBudWxsIGFuZCB0b3RhbCBzaG91bGQgYmUgMTAwXHJcbiAgICBpZih1bml0ID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICBjb25zdCB0b3RhbCA9IHNpemVzLnJlZHVjZSgodG90YWwsIHMpID0+IHMgIT09IG51bGwgPyB0b3RhbCArIHMgOiB0b3RhbCwgMCk7XHJcbiAgICAgICAgcmV0dXJuIHNpemVzLmV2ZXJ5KHMgPT4gcyAhPT0gbnVsbCkgJiYgdG90YWwgPiA5OS45ICYmIHRvdGFsIDwgMTAwLjE7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEEgc2l6ZSBhdCBudWxsIGlzIG1hbmRhdG9yeSBidXQgb25seSBvbmUuXHJcbiAgICBpZih1bml0ID09PSAncGl4ZWwnKSB7XHJcbiAgICAgICAgcmV0dXJuIHNpemVzLmZpbHRlcihzID0+IHMgPT09IG51bGwpLmxlbmd0aCA9PT0gMTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFyZWFNaW5TaXplKGE6IElBcmVhKTogbnVsbCB8IG51bWJlciB7XHJcbiAgICBpZihhLnNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYoYS5jb21wb25lbnQubG9ja1NpemUgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gYS5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGEuY29tcG9uZW50Lm1pblNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZihhLmNvbXBvbmVudC5taW5TaXplID4gYS5zaXplKSB7XHJcbiAgICAgICAgcmV0dXJuIGEuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYS5jb21wb25lbnQubWluU2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFyZWFNYXhTaXplKGE6IElBcmVhKTogbnVsbCB8IG51bWJlciB7XHJcbiAgICBpZihhLnNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYoYS5jb21wb25lbnQubG9ja1NpemUgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gYS5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGEuY29tcG9uZW50Lm1heFNpemUgPT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZihhLmNvbXBvbmVudC5tYXhTaXplIDwgYS5zaXplKSB7XHJcbiAgICAgICAgcmV0dXJuIGEuc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYS5jb21wb25lbnQubWF4U2l6ZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEd1dHRlclNpZGVBYnNvcnB0aW9uQ2FwYWNpdHkodW5pdDogJ3BlcmNlbnQnIHwgJ3BpeGVsJywgc2lkZUFyZWFzOiBBcnJheTxJQXJlYVNuYXBzaG90PiwgcGl4ZWxzOiBudW1iZXIsIGFsbEFyZWFzU2l6ZVBpeGVsOiBudW1iZXIpOiBJU3BsaXRTaWRlQWJzb3JwdGlvbkNhcGFjaXR5IHtcclxuICAgIHJldHVybiBzaWRlQXJlYXMucmVkdWNlKChhY2MsIGFyZWEpID0+IHtcclxuICAgICAgICBjb25zdCByZXMgPSBnZXRBcmVhQWJzb3JwdGlvbkNhcGFjaXR5KHVuaXQsIGFyZWEsIGFjYy5yZW1haW4sIGFsbEFyZWFzU2l6ZVBpeGVsKTtcclxuICAgICAgICBhY2MubGlzdC5wdXNoKHJlcyk7XHJcbiAgICAgICAgYWNjLnJlbWFpbiAgPSByZXMucGl4ZWxSZW1haW47XHJcbiAgICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHtyZW1haW46IHBpeGVscywgbGlzdDogW119KTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eSh1bml0OiAncGVyY2VudCcgfCAncGl4ZWwnLCBhcmVhU25hcHNob3Q6IElBcmVhU25hcHNob3QsIHBpeGVsczogbnVtYmVyLCBhbGxBcmVhc1NpemVQaXhlbDogbnVtYmVyKTogSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkge1xyXG4gICAgLy8gTm8gcGFpbiBubyBnYWluXHJcbiAgICBpZihwaXhlbHMgPT09IDApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiAwLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiBhcmVhU25hcHNob3Quc2l6ZVBlcmNlbnRBdFN0YXJ0LFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogMCxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBBcmVhIHN0YXJ0IGF0IHplcm8gYW5kIG5lZWQgdG8gYmUgcmVkdWNlZCwgbm90IHBvc3NpYmxlXHJcbiAgICBpZihhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCA9PT0gMCAmJiBwaXhlbHMgPCAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogMCxcclxuICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogMCxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IHBpeGVscyxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZih1bml0ID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICByZXR1cm4gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eVBlcmNlbnQoYXJlYVNuYXBzaG90LCBwaXhlbHMsIGFsbEFyZWFzU2l6ZVBpeGVsKTtcclxuICAgIH1cclxuICAgIFxyXG5cdGlmKHVuaXQgPT09ICdwaXhlbCcpIHtcclxuICAgICAgICByZXR1cm4gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eVBpeGVsKGFyZWFTbmFwc2hvdCwgcGl4ZWxzLCBhbGxBcmVhc1NpemVQaXhlbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEFyZWFBYnNvcnB0aW9uQ2FwYWNpdHlQZXJjZW50KGFyZWFTbmFwc2hvdDogSUFyZWFTbmFwc2hvdCwgcGl4ZWxzOiBudW1iZXIsIGFsbEFyZWFzU2l6ZVBpeGVsOiBudW1iZXIpOiBJQXJlYUFic29ycHRpb25DYXBhY2l0eSB7XHJcbiAgICBjb25zdCB0ZW1wUGl4ZWxTaXplID0gYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBwaXhlbHM7XHJcbiAgICBjb25zdCB0ZW1wUGVyY2VudFNpemUgPSB0ZW1wUGl4ZWxTaXplIC8gYWxsQXJlYXNTaXplUGl4ZWwgKiAxMDA7XHJcbiAgICBcclxuICAgIC8vIEVOTEFSR0UgQVJFQVxyXG4gICAgXHJcbiAgICBpZihwaXhlbHMgPiAwKSB7XHJcbiAgICAgICAgLy8gSWYgbWF4U2l6ZSAmIG5ld1NpemUgYmlnZ2VyIHRoYW4gaXQgPiBhYnNvcmIgdG8gbWF4IGFuZCByZXR1cm4gcmVtYWluaW5nIHBpeGVscyBcclxuICAgICAgICBpZihhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplICE9PSBudWxsICYmIHRlbXBQZXJjZW50U2l6ZSA+IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUpIHtcclxuICAgICAgICAgICAgLy8gVXNlIGFyZWEuYXJlYS5tYXhTaXplIGFzIG5ld1BlcmNlbnRTaXplIGFuZCByZXR1cm4gY2FsY3VsYXRlIHBpeGVscyByZW1haW5pbmdcclxuICAgICAgICAgICAgY29uc3QgbWF4U2l6ZVBpeGVsID0gYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSAvIDEwMCAqIGFsbEFyZWFzU2l6ZVBpeGVsO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IG1heFNpemVQaXhlbCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBwaXhlbHMgLSBtYXhTaXplUGl4ZWxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogcGl4ZWxzLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiB0ZW1wUGVyY2VudFNpemUgPiAxMDAgPyAxMDAgOiB0ZW1wUGVyY2VudFNpemUsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSRURVQ0UgQVJFQVxyXG4gICAgXHJcbiAgICBlbHNlIGlmKHBpeGVscyA8IDApIHtcclxuICAgICAgICAvLyBJZiBtaW5TaXplICYgbmV3U2l6ZSBzbWFsbGVyIHRoYW4gaXQgPiBhYnNvcmIgdG8gbWluIGFuZCByZXR1cm4gcmVtYWluaW5nIHBpeGVscyBcclxuICAgICAgICBpZihhcmVhU25hcHNob3QuYXJlYS5taW5TaXplICE9PSBudWxsICYmIHRlbXBQZXJjZW50U2l6ZSA8IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUpIHtcclxuICAgICAgICAgICAgLy8gVXNlIGFyZWEuYXJlYS5taW5TaXplIGFzIG5ld1BlcmNlbnRTaXplIGFuZCByZXR1cm4gY2FsY3VsYXRlIHBpeGVscyByZW1haW5pbmdcclxuICAgICAgICAgICAgY29uc3QgbWluU2l6ZVBpeGVsID0gYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSAvIDEwMCAqIGFsbEFyZWFzU2l6ZVBpeGVsO1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IG1pblNpemVQaXhlbCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBwaXhlbHMgLSBtaW5TaXplUGl4ZWxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgcmVkdWNlZCB1bmRlciB6ZXJvID4gcmV0dXJuIHJlbWFpbmluZyBwaXhlbHNcclxuICAgICAgICBlbHNlIGlmKHRlbXBQZXJjZW50U2l6ZSA8IDApIHtcclxuICAgICAgICAgICAgLy8gVXNlIDAgYXMgbmV3UGVyY2VudFNpemUgYW5kIHJldHVybiBjYWxjdWxhdGUgcGl4ZWxzIHJlbWFpbmluZ1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IC1hcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IDAsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogcGl4ZWxzICsgYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogcGl4ZWxzLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiB0ZW1wUGVyY2VudFNpemUsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eVBpeGVsKGFyZWFTbmFwc2hvdDogSUFyZWFTbmFwc2hvdCwgcGl4ZWxzOiBudW1iZXIsIGNvbnRhaW5lclNpemVQaXhlbDogbnVtYmVyKTogSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkge1xyXG4gICAgY29uc3QgdGVtcFBpeGVsU2l6ZSA9IGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0ICsgcGl4ZWxzO1xyXG4gICAgICAgICAgICBcclxuICAgIC8vIEVOTEFSR0UgQVJFQVxyXG5cclxuICAgIGlmKHBpeGVscyA+IDApIHtcclxuICAgICAgICAvLyBJZiBtYXhTaXplICYgbmV3U2l6ZSBiaWdnZXIgdGhhbiBpdCA+IGFic29yYiB0byBtYXggYW5kIHJldHVybiByZW1haW5pbmcgcGl4ZWxzIFxyXG4gICAgICAgIGlmKGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUgIT09IG51bGwgJiYgdGVtcFBpeGVsU2l6ZSA+IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplIC0gYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQsXHJcbiAgICAgICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAtMSxcclxuICAgICAgICAgICAgICAgIHBpeGVsUmVtYWluOiB0ZW1wUGl4ZWxTaXplIC0gYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBwaXhlbHMsXHJcbiAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IC0xLFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogMFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUkVEVUNFIEFSRUFcclxuICAgIFxyXG4gICAgZWxzZSBpZihwaXhlbHMgPCAwKSB7XHJcbiAgICAgICAgLy8gSWYgbWluU2l6ZSAmIG5ld1NpemUgc21hbGxlciB0aGFuIGl0ID4gYWJzb3JiIHRvIG1pbiBhbmQgcmV0dXJuIHJlbWFpbmluZyBwaXhlbHMgXHJcbiAgICAgICAgaWYoYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSAhPT0gbnVsbCAmJiB0ZW1wUGl4ZWxTaXplIDwgYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUgKyBwaXhlbHMgLSB0ZW1wUGl4ZWxTaXplLFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogLTEsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogdGVtcFBpeGVsU2l6ZSAtIGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgcmVkdWNlZCB1bmRlciB6ZXJvID4gcmV0dXJuIHJlbWFpbmluZyBwaXhlbHNcclxuICAgICAgICBlbHNlIGlmKHRlbXBQaXhlbFNpemUgPCAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICBwaXhlbEFic29yYjogLWFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogLTEsXHJcbiAgICAgICAgICAgICAgICBwaXhlbFJlbWFpbjogcGl4ZWxzICsgYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICBwaXhlbEFic29yYjogcGl4ZWxzLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAtMSxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IDBcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQXJlYVNpemUodW5pdDogJ3BlcmNlbnQnIHwgJ3BpeGVsJywgaXRlbTogSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkpIHtcclxuICAgIFxyXG4gICAgaWYodW5pdCA9PT0gJ3BlcmNlbnQnKSB7XHJcbiAgICAgICAgaXRlbS5hcmVhU25hcHNob3QuYXJlYS5zaXplID0gaXRlbS5wZXJjZW50QWZ0ZXJBYnNvcnB0aW9uO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZih1bml0ID09PSAncGl4ZWwnKSB7XHJcbiAgICAgICAgLy8gVXBkYXRlIHNpemUgZXhjZXB0IGZvciB0aGUgd2lsZGNhcmQgc2l6ZSBhcmVhXHJcbiAgICAgICAgaWYoaXRlbS5hcmVhU25hcHNob3QuYXJlYS5zaXplICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uYXJlYVNuYXBzaG90LmFyZWEuc2l6ZSA9IGl0ZW0uYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBpdGVtLnBpeGVsQWJzb3JiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXNwbGl0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQThCO0lBQzVELGFBQWE7SUFDYixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNwRyxPQUFPO1lBQ0gsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztZQUNqRCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1NBQ3BELENBQUM7S0FDTDtJQUNELGFBQWE7U0FDUixJQUFHLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQzlGLE9BQU87WUFDSCxDQUFDLEVBQUUsQ0FBQyxtQkFBYSxLQUFLLEVBQUEsQ0FBQyxDQUFDLE9BQU87WUFDL0IsQ0FBQyxFQUFFLENBQUMsbUJBQWEsS0FBSyxFQUFBLENBQUMsQ0FBQyxPQUFPO1NBQ2xDLENBQUM7S0FDTDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFpQixFQUFFLFNBQW9DOztRQUNqRixJQUFJLEdBQUcsQ0FBQyxtQkFBYyxLQUFLLENBQUMsYUFBYSxFQUFBLENBQUMsQ0FBQyxxQkFBcUIsRUFBRTtJQUV4RSxPQUFPLENBQUMsU0FBUyxLQUFLLFlB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Y0FBQTtZQUNaLFdBQVcsRUFBRSxNQUFNO1lBQ25CLHNCQUFzQixFQUFFLENBQUMsQ0FBQztZQUMxQixXQUFXLEVBQUUsQ0FBQztTQUNqQixDQUFDO0tBQ0w7QUFDTCxDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQXlCLEVBQUUsSUFBNkI7SUFFbkYsSUFBRyxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7S0FDN0Q7U0FDSSxJQUFHLElBQUksS0FBSyxPQUFPLEVBQUU7UUFDdEIsZ0RBQWdEO1FBQ2hELElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3ZGO0tBQ0o7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSUFyZWEsIElQb2ludCwgSUFyZWFTbmFwc2hvdCwgSVNwbGl0U2lkZUFic29ycHRpb25DYXBhY2l0eSwgSUFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkgfSBmcm9tICcuL2ludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9pbnRGcm9tRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogSVBvaW50IHtcclxuICAgIC8vIFRvdWNoRXZlbnRcclxuICAgIGlmKCg8VG91Y2hFdmVudD4gZXZlbnQpLmNoYW5nZWRUb3VjaGVzICE9PSB1bmRlZmluZWQgJiYgKDxUb3VjaEV2ZW50PiBldmVudCkuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHg6ICg8VG91Y2hFdmVudD4gZXZlbnQpLmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFgsXHJcbiAgICAgICAgICAgIHk6ICg8VG91Y2hFdmVudD4gZXZlbnQpLmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIC8vIE1vdXNlRXZlbnRcclxuICAgIGVsc2UgaWYoKDxNb3VzZUV2ZW50PiBldmVudCkuY2xpZW50WCAhPT0gdW5kZWZpbmVkICYmICg8TW91c2VFdmVudD4gZXZlbnQpLmNsaWVudFkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHg6ICg8TW91c2VFdmVudD4gZXZlbnQpLmNsaWVudFgsXHJcbiAgICAgICAgICAgIHk6ICg8TW91c2VFdmVudD4gZXZlbnQpLmNsaWVudFksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFBpeGVsU2l6ZShlbFJlZjogRWxlbWVudFJlZiwgZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHJlY3QgPSAoPEhUTUxFbGVtZW50PiBlbFJlZi5uYXRpdmVFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICByZXR1cm4gKGRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSA/IHJlY3Qud2lkdGggOiByZWN0LmhlaWdodDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldElucHV0Qm9vbGVhbih2OiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodHlwZW9mKHYpID09PSAnYm9vbGVhbicpID8gdiA6ICh2ID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldElucHV0UG9zaXRpdmVOdW1iZXI8VD4odjogYW55LCBkZWZhdWx0VmFsdWU6IFQpOiBudW1iZXIgfCBUIHtcclxuICAgIGlmKHYgPT09IG51bGwgfHwgdiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG5cclxuICAgIHYgPSBOdW1iZXIodik7XHJcbiAgICByZXR1cm4gIWlzTmFOKHYpICYmIHYgPj0gMCA/IHYgOiBkZWZhdWx0VmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1VzZXJTaXplc1ZhbGlkKHVuaXQ6ICdwZXJjZW50JyB8ICdwaXhlbCcsIHNpemVzOiBBcnJheTxudW1iZXIgfCBudWxsPik6IGJvb2xlYW4ge1xyXG4gICAgLy8gQWxsIHNpemVzIGhhdmUgdG8gYmUgbm90IG51bGwgYW5kIHRvdGFsIHNob3VsZCBiZSAxMDBcclxuICAgIGlmKHVuaXQgPT09ICdwZXJjZW50Jykge1xyXG4gICAgICAgIGNvbnN0IHRvdGFsID0gc2l6ZXMucmVkdWNlKCh0b3RhbCwgcykgPT4gcyAhPT0gbnVsbCA/IHRvdGFsICsgcyA6IHRvdGFsLCAwKTtcclxuICAgICAgICByZXR1cm4gc2l6ZXMuZXZlcnkocyA9PiBzICE9PSBudWxsKSAmJiB0b3RhbCA+IDk5LjkgJiYgdG90YWwgPCAxMDAuMTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gQSBzaXplIGF0IG51bGwgaXMgbWFuZGF0b3J5IGJ1dCBvbmx5IG9uZS5cclxuICAgIGlmKHVuaXQgPT09ICdwaXhlbCcpIHtcclxuICAgICAgICByZXR1cm4gc2l6ZXMuZmlsdGVyKHMgPT4gcyA9PT0gbnVsbCkubGVuZ3RoID09PSAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXJlYU1pblNpemUoYTogSUFyZWEpOiBudWxsIHwgbnVtYmVyIHtcclxuICAgIGlmKGEuc2l6ZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZihhLmNvbXBvbmVudC5sb2NrU2l6ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiBhLnNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoYS5jb21wb25lbnQubWluU2l6ZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGEuY29tcG9uZW50Lm1pblNpemUgPiBhLnNpemUpIHtcclxuICAgICAgICByZXR1cm4gYS5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhLmNvbXBvbmVudC5taW5TaXplO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXJlYU1heFNpemUoYTogSUFyZWEpOiBudWxsIHwgbnVtYmVyIHtcclxuICAgIGlmKGEuc2l6ZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZihhLmNvbXBvbmVudC5sb2NrU2l6ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiBhLnNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoYS5jb21wb25lbnQubWF4U2l6ZSA9PT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGEuY29tcG9uZW50Lm1heFNpemUgPCBhLnNpemUpIHtcclxuICAgICAgICByZXR1cm4gYS5zaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhLmNvbXBvbmVudC5tYXhTaXplO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0R3V0dGVyU2lkZUFic29ycHRpb25DYXBhY2l0eSh1bml0OiAncGVyY2VudCcgfCAncGl4ZWwnLCBzaWRlQXJlYXM6IEFycmF5PElBcmVhU25hcHNob3Q+LCBwaXhlbHM6IG51bWJlciwgYWxsQXJlYXNTaXplUGl4ZWw6IG51bWJlcik6IElTcGxpdFNpZGVBYnNvcnB0aW9uQ2FwYWNpdHkge1xyXG4gICAgcmV0dXJuIHNpZGVBcmVhcy5yZWR1Y2UoKGFjYywgYXJlYSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IGdldEFyZWFBYnNvcnB0aW9uQ2FwYWNpdHkodW5pdCwgYXJlYSwgYWNjLnJlbWFpbiwgYWxsQXJlYXNTaXplUGl4ZWwpO1xyXG4gICAgICAgIGFjYy5saXN0LnB1c2gocmVzKTtcclxuICAgICAgICBhY2MucmVtYWluICA9IHJlcy5waXhlbFJlbWFpbjtcclxuICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgfSwge3JlbWFpbjogcGl4ZWxzLCBsaXN0OiBbXX0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRBcmVhQWJzb3JwdGlvbkNhcGFjaXR5KHVuaXQ6ICdwZXJjZW50JyB8ICdwaXhlbCcsIGFyZWFTbmFwc2hvdDogSUFyZWFTbmFwc2hvdCwgcGl4ZWxzOiBudW1iZXIsIGFsbEFyZWFzU2l6ZVBpeGVsOiBudW1iZXIpOiBJQXJlYUFic29ycHRpb25DYXBhY2l0eSB7XHJcbiAgICAvLyBObyBwYWluIG5vIGdhaW5cclxuICAgIGlmKHBpeGVscyA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IDAsXHJcbiAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IGFyZWFTbmFwc2hvdC5zaXplUGVyY2VudEF0U3RhcnQsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiAwLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEFyZWEgc3RhcnQgYXQgemVybyBhbmQgbmVlZCB0byBiZSByZWR1Y2VkLCBub3QgcG9zc2libGVcclxuICAgIGlmKGFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0ID09PSAwICYmIHBpeGVscyA8IDApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiAwLFxyXG4gICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAwLFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogcGl4ZWxzLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKHVuaXQgPT09ICdwZXJjZW50Jykge1xyXG4gICAgICAgIHJldHVybiBnZXRBcmVhQWJzb3JwdGlvbkNhcGFjaXR5UGVyY2VudChhcmVhU25hcHNob3QsIHBpeGVscywgYWxsQXJlYXNTaXplUGl4ZWwpO1xyXG4gICAgfVxyXG4gICAgXHJcblx0aWYodW5pdCA9PT0gJ3BpeGVsJykge1xyXG4gICAgICAgIHJldHVybiBnZXRBcmVhQWJzb3JwdGlvbkNhcGFjaXR5UGl4ZWwoYXJlYVNuYXBzaG90LCBwaXhlbHMsIGFsbEFyZWFzU2l6ZVBpeGVsKTtcclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0QXJlYUFic29ycHRpb25DYXBhY2l0eVBlcmNlbnQoYXJlYVNuYXBzaG90OiBJQXJlYVNuYXBzaG90LCBwaXhlbHM6IG51bWJlciwgYWxsQXJlYXNTaXplUGl4ZWw6IG51bWJlcik6IElBcmVhQWJzb3JwdGlvbkNhcGFjaXR5IHtcclxuICAgIGNvbnN0IHRlbXBQaXhlbFNpemUgPSBhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCArIHBpeGVscztcclxuICAgIGNvbnN0IHRlbXBQZXJjZW50U2l6ZSA9IHRlbXBQaXhlbFNpemUgLyBhbGxBcmVhc1NpemVQaXhlbCAqIDEwMDtcclxuICAgIFxyXG4gICAgLy8gRU5MQVJHRSBBUkVBXHJcbiAgICBcclxuICAgIGlmKHBpeGVscyA+IDApIHtcclxuICAgICAgICAvLyBJZiBtYXhTaXplICYgbmV3U2l6ZSBiaWdnZXIgdGhhbiBpdCA+IGFic29yYiB0byBtYXggYW5kIHJldHVybiByZW1haW5pbmcgcGl4ZWxzIFxyXG4gICAgICAgIGlmKGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUgIT09IG51bGwgJiYgdGVtcFBlcmNlbnRTaXplID4gYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSkge1xyXG4gICAgICAgICAgICAvLyBVc2UgYXJlYS5hcmVhLm1heFNpemUgYXMgbmV3UGVyY2VudFNpemUgYW5kIHJldHVybiBjYWxjdWxhdGUgcGl4ZWxzIHJlbWFpbmluZ1xyXG4gICAgICAgICAgICBjb25zdCBtYXhTaXplUGl4ZWwgPSBhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplIC8gMTAwICogYWxsQXJlYXNTaXplUGl4ZWw7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICBwaXhlbEFic29yYjogbWF4U2l6ZVBpeGVsLFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSxcclxuICAgICAgICAgICAgICAgIHBpeGVsUmVtYWluOiBhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCArIHBpeGVscyAtIG1heFNpemVQaXhlbFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBwaXhlbHMsXHJcbiAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IHRlbXBQZXJjZW50U2l6ZSA+IDEwMCA/IDEwMCA6IHRlbXBQZXJjZW50U2l6ZSxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IDBcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJFRFVDRSBBUkVBXHJcbiAgICBcclxuICAgIGVsc2UgaWYocGl4ZWxzIDwgMCkge1xyXG4gICAgICAgIC8vIElmIG1pblNpemUgJiBuZXdTaXplIHNtYWxsZXIgdGhhbiBpdCA+IGFic29yYiB0byBtaW4gYW5kIHJldHVybiByZW1haW5pbmcgcGl4ZWxzIFxyXG4gICAgICAgIGlmKGFyZWFTbmFwc2hvdC5hcmVhLm1pblNpemUgIT09IG51bGwgJiYgdGVtcFBlcmNlbnRTaXplIDwgYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSkge1xyXG4gICAgICAgICAgICAvLyBVc2UgYXJlYS5hcmVhLm1pblNpemUgYXMgbmV3UGVyY2VudFNpemUgYW5kIHJldHVybiBjYWxjdWxhdGUgcGl4ZWxzIHJlbWFpbmluZ1xyXG4gICAgICAgICAgICBjb25zdCBtaW5TaXplUGl4ZWwgPSBhcmVhU25hcHNob3QuYXJlYS5taW5TaXplIC8gMTAwICogYWxsQXJlYXNTaXplUGl4ZWw7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICBwaXhlbEFic29yYjogbWluU2l6ZVBpeGVsLFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSxcclxuICAgICAgICAgICAgICAgIHBpeGVsUmVtYWluOiBhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCArIHBpeGVscyAtIG1pblNpemVQaXhlbFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiByZWR1Y2VkIHVuZGVyIHplcm8gPiByZXR1cm4gcmVtYWluaW5nIHBpeGVsc1xyXG4gICAgICAgIGVsc2UgaWYodGVtcFBlcmNlbnRTaXplIDwgMCkge1xyXG4gICAgICAgICAgICAvLyBVc2UgMCBhcyBuZXdQZXJjZW50U2l6ZSBhbmQgcmV0dXJuIGNhbGN1bGF0ZSBwaXhlbHMgcmVtYWluaW5nXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICBwaXhlbEFic29yYjogLWFyZWFTbmFwc2hvdC5zaXplUGl4ZWxBdFN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogMCxcclxuICAgICAgICAgICAgICAgIHBpeGVsUmVtYWluOiBwaXhlbHMgKyBhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBwaXhlbHMsXHJcbiAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IHRlbXBQZXJjZW50U2l6ZSxcclxuICAgICAgICAgICAgcGl4ZWxSZW1haW46IDBcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRBcmVhQWJzb3JwdGlvbkNhcGFjaXR5UGl4ZWwoYXJlYVNuYXBzaG90OiBJQXJlYVNuYXBzaG90LCBwaXhlbHM6IG51bWJlciwgY29udGFpbmVyU2l6ZVBpeGVsOiBudW1iZXIpOiBJQXJlYUFic29ycHRpb25DYXBhY2l0eSB7XHJcbiAgICBjb25zdCB0ZW1wUGl4ZWxTaXplID0gYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQgKyBwaXhlbHM7XHJcbiAgICAgICAgICAgIFxyXG4gICAgLy8gRU5MQVJHRSBBUkVBXHJcblxyXG4gICAgaWYocGl4ZWxzID4gMCkge1xyXG4gICAgICAgIC8vIElmIG1heFNpemUgJiBuZXdTaXplIGJpZ2dlciB0aGFuIGl0ID4gYWJzb3JiIHRvIG1heCBhbmQgcmV0dXJuIHJlbWFpbmluZyBwaXhlbHMgXHJcbiAgICAgICAgaWYoYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSAhPT0gbnVsbCAmJiB0ZW1wUGl4ZWxTaXplID4gYXJlYVNuYXBzaG90LmFyZWEubWF4U2l6ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgYXJlYVNuYXBzaG90LFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IGFyZWFTbmFwc2hvdC5hcmVhLm1heFNpemUgLSBhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCxcclxuICAgICAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IC0xLFxyXG4gICAgICAgICAgICAgICAgcGl4ZWxSZW1haW46IHRlbXBQaXhlbFNpemUgLSBhcmVhU25hcHNob3QuYXJlYS5tYXhTaXplXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgcGl4ZWxBYnNvcmI6IHBpeGVscyxcclxuICAgICAgICAgICAgcGVyY2VudEFmdGVyQWJzb3JwdGlvbjogLTEsXHJcbiAgICAgICAgICAgIHBpeGVsUmVtYWluOiAwXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSRURVQ0UgQVJFQVxyXG4gICAgXHJcbiAgICBlbHNlIGlmKHBpeGVscyA8IDApIHtcclxuICAgICAgICAvLyBJZiBtaW5TaXplICYgbmV3U2l6ZSBzbWFsbGVyIHRoYW4gaXQgPiBhYnNvcmIgdG8gbWluIGFuZCByZXR1cm4gcmVtYWluaW5nIHBpeGVscyBcclxuICAgICAgICBpZihhcmVhU25hcHNob3QuYXJlYS5taW5TaXplICE9PSBudWxsICYmIHRlbXBQaXhlbFNpemUgPCBhcmVhU25hcHNob3QuYXJlYS5taW5TaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgICAgICBwaXhlbEFic29yYjogYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZSArIHBpeGVscyAtIHRlbXBQaXhlbFNpemUsXHJcbiAgICAgICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAtMSxcclxuICAgICAgICAgICAgICAgIHBpeGVsUmVtYWluOiB0ZW1wUGl4ZWxTaXplIC0gYXJlYVNuYXBzaG90LmFyZWEubWluU2l6ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiByZWR1Y2VkIHVuZGVyIHplcm8gPiByZXR1cm4gcmVtYWluaW5nIHBpeGVsc1xyXG4gICAgICAgIGVsc2UgaWYodGVtcFBpeGVsU2l6ZSA8IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGFyZWFTbmFwc2hvdCxcclxuICAgICAgICAgICAgICAgIHBpeGVsQWJzb3JiOiAtYXJlYVNuYXBzaG90LnNpemVQaXhlbEF0U3RhcnQsXHJcbiAgICAgICAgICAgICAgICBwZXJjZW50QWZ0ZXJBYnNvcnB0aW9uOiAtMSxcclxuICAgICAgICAgICAgICAgIHBpeGVsUmVtYWluOiBwaXhlbHMgKyBhcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBhcmVhU25hcHNob3QsXHJcbiAgICAgICAgICAgIHBpeGVsQWJzb3JiOiBwaXhlbHMsXHJcbiAgICAgICAgICAgIHBlcmNlbnRBZnRlckFic29ycHRpb246IC0xLFxyXG4gICAgICAgICAgICBwaXhlbFJlbWFpbjogMFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVBcmVhU2l6ZSh1bml0OiAncGVyY2VudCcgfCAncGl4ZWwnLCBpdGVtOiBJQXJlYUFic29ycHRpb25DYXBhY2l0eSkge1xyXG4gICAgXHJcbiAgICBpZih1bml0ID09PSAncGVyY2VudCcpIHtcclxuICAgICAgICBpdGVtLmFyZWFTbmFwc2hvdC5hcmVhLnNpemUgPSBpdGVtLnBlcmNlbnRBZnRlckFic29ycHRpb247XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKHVuaXQgPT09ICdwaXhlbCcpIHtcclxuICAgICAgICAvLyBVcGRhdGUgc2l6ZSBleGNlcHQgZm9yIHRoZSB3aWxkY2FyZCBzaXplIGFyZWFcclxuICAgICAgICBpZihpdGVtLmFyZWFTbmFwc2hvdC5hcmVhLnNpemUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgaXRlbS5hcmVhU25hcHNob3QuYXJlYS5zaXplID0gaXRlbS5hcmVhU25hcHNob3Quc2l6ZVBpeGVsQXRTdGFydCArIGl0ZW0ucGl4ZWxBYnNvcmI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -11,2 +11,2 @@ /*

export { SplitAreaDirective } from './lib/directive/splitArea.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFuZ3VsYXItc3BsaXRcclxuICovXHJcblxyXG5leHBvcnQgeyBBbmd1bGFyU3BsaXRNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGUnO1xyXG5leHBvcnQgeyBTcGxpdENvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudC9zcGxpdC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBTcGxpdEFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmUvc3BsaXRBcmVhLmRpcmVjdGl2ZSc7XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItc3BsaXQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLXNwbGl0XG4gKi9cblxuZXhwb3J0IHsgQW5ndWxhclNwbGl0TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlJztcbmV4cG9ydCB7IFNwbGl0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50L3NwbGl0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTcGxpdEFyZWFEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmUvc3BsaXRBcmVhLmRpcmVjdGl2ZSc7XG4iXX0=

@@ -0,0 +0,0 @@ import { ChangeDetectorRef, Renderer2, AfterViewInit, OnDestroy, ElementRef, NgZone, EventEmitter } from '@angular/core';

@@ -0,0 +0,0 @@ import { ElementRef, Renderer2, OnInit, OnDestroy, NgZone } from '@angular/core';

@@ -0,0 +0,0 @@ import { SplitAreaDirective } from "./directive/splitArea.directive";

@@ -0,0 +0,0 @@ import { ModuleWithProviders } from '@angular/core';

@@ -0,0 +0,0 @@ import { ElementRef } from '@angular/core';

{
"name": "angular-split",
"version": "3.0.1",
"version": "3.0.2",
"description": "Angular UI library to split views and allow dragging to resize areas using CSS flexbox layout.",

@@ -23,4 +23,4 @@ "author": "bertrandg",

"peerDependencies": {
"@angular/common": "^7.0.0",
"@angular/core": "^7.0.0",
"@angular/common": "^8.0.0",
"@angular/core": "^8.0.0",
"rxjs": "^6.0.0"

@@ -27,0 +27,0 @@ },

export { AngularSplitModule } from './lib/module';
export { SplitComponent } from './lib/component/split.component';
export { SplitAreaDirective } from './lib/directive/splitArea.directive';

Sorry, the diff of this file is too big to display

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 too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

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