ionic-header-parallax
Advanced tools
Comparing version 2.1.0 to 2.1.1
@@ -214,2 +214,8 @@ (function (global, factory) { | ||
this.imageOverlay.append(this.barButtons); | ||
Array.from(this.barButtons.children).forEach(( /** | ||
* @param {?} btn | ||
* @return {?} | ||
*/function (btn) { | ||
_this.renderer.setStyle(btn, 'color', _this.titleColor); | ||
})); | ||
} | ||
@@ -216,0 +222,0 @@ else { |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("ionic-header-parallax",["exports","@angular/core"],t):t(e["ionic-header-parallax"]={},e.ng.core)}(this,function(e,t){"use strict";var r=(i.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){e.initElements(),e.initStyles(),e.initEvents()})},i.prototype.initElements=function(){var t=this,e=this.headerRef.nativeElement.parentElement;if(this.header=this.headerRef.nativeElement,this.toolbar=this.header.querySelector("ion-toolbar"),!this.toolbar)throw new Error("Parallax directive requires a toolbar or navbar element on the page to work.");this.ionTitle=this.toolbar.querySelector("ion-title"),this.toolbarBackground=this.toolbar.shadowRoot.querySelector(".toolbar-background"),this.barButtons=this.headerRef.nativeElement.querySelector("ion-buttons");var r=e.querySelector("ion-content");if(this.scrollContent=r.shadowRoot.querySelector(".inner-scroll"),!this.scrollContent)throw new Error("Parallax directive requires an <ion-content> element on the page to work.");this.imageOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.imageOverlay,"image-overlay"),this.colorOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.colorOverlay,"color-overlay"),this.colorOverlay.appendChild(this.imageOverlay),this.header.appendChild(this.colorOverlay),this.overlayTitle=this.ionTitle&&this.ionTitle.cloneNode(!0),this.overlayTitle&&(this.renderer.addClass(this.overlayTitle,"parallax-title"),setTimeout(function(){var e=t.overlayTitle.shadowRoot.querySelector(".toolbar-title");t.renderer.setStyle(e,"pointer-events","unset")})),this.overlayTitle&&this.imageOverlay.appendChild(this.overlayTitle),this.barButtons&&this.imageOverlay.appendChild(this.barButtons)},i.prototype.initStyles=function(){var t=this;this.headerHeight=this.scrollContent.clientHeight,this.ticking=!1,this.scrollContent&&toolbar&&(this.maximumHeight=parseFloat(this.maximumHeight.toString()),this.headerMinHeight=this.toolbar.offsetHeight,this.scrollContentPaddingTop=window.getComputedStyle(this.scrollContent,null).paddingTop.replace("px",""),this.scrollContentPaddingTop=parseFloat(this.scrollContentPaddingTop),this.originalToolbarBgColor=window.getComputedStyle(this.toolbarBackground,null).backgroundColor,this.renderer.setStyle(this.header,"position","relative"),this.overlayTitle&&(this.renderer.setStyle(this.overlayTitle,"color",this.titleColor),this.renderer.setStyle(this.overlayTitle,"position","absolute"),this.renderer.setStyle(this.overlayTitle,"width","100%"),this.renderer.setStyle(this.overlayTitle,"height","100%"),this.renderer.setStyle(this.overlayTitle,"text-align","center")),this.renderer.setStyle(this.colorOverlay,"background-color",this.originalToolbarBgColor),this.renderer.setStyle(this.colorOverlay,"height",this.maximumHeight+"px"),this.renderer.setStyle(this.colorOverlay,"position","absolute"),this.renderer.setStyle(this.colorOverlay,"top",0*-this.headerMinHeight+"px"),this.renderer.setStyle(this.colorOverlay,"left","0"),this.renderer.setStyle(this.colorOverlay,"width","100%"),this.renderer.setStyle(this.colorOverlay,"z-index","10"),this.renderer.setStyle(this.colorOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-color",this.expandedColor),this.renderer.setStyle(this.imageOverlay,"background-image","url("+(this.imageUrl||"")+")"),this.renderer.setStyle(this.imageOverlay,"height","100%"),this.renderer.setStyle(this.imageOverlay,"width","100%"),this.renderer.setStyle(this.imageOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-size","cover"),this.renderer.setStyle(this.imageOverlay,"background-position","center"),this.renderer.setStyle(this.toolbarBackground,"background-color",this.originalToolbarBgColor),this.barButtons&&(this.renderer.setStyle(this.barButtons,"pointer-events","all"),Array.from(this.barButtons.children).forEach(function(e){t.renderer.setStyle(e,"color",t.titleColor)})),this.scrollContent&&(this.renderer.setAttribute(this.scrollContent,"parallax",""),this.renderer.setStyle(this.scrollContent,"padding-top",this.maximumHeight+this.scrollContentPaddingTop-this.headerMinHeight+"px")))},i.prototype.initEvents=function(){var t=this;window.addEventListener("resize",function(){t.headerHeight=t.scrollContent.clientHeight},!1),this.scrollContent&&this.scrollContent.addEventListener("scroll",function(e){t.ticking||window.requestAnimationFrame(function(){t.updateElasticHeader()}),t.ticking=!0})},i.prototype.updateElasticHeader=function(){var t=this;if(this.scrollContent&&toolbar){this.scrollTop=this.scrollContent.scrollTop,0<=this.scrollTop?(this.translateAmt=this.scrollTop/2,this.scaleAmt=1):(this.translateAmt=0,this.scaleAmt=-this.scrollTop/this.headerHeight+1),this.headerMinHeight=this.toolbar.offsetHeight;var e=(this.maximumHeight-this.scrollTop-this.headerMinHeight)/(this.maximumHeight-this.headerMinHeight);e=Math.max(e,0);var r=this.maximumHeight-this.scrollTop;r=Math.max(r,this.headerMinHeight),this.renderer.setStyle(this.imageOverlay,"height",r+"px"),this.renderer.setStyle(this.imageOverlay,"opacity",""+e),this.renderer.setStyle(this.colorOverlay,"height",r+"px"),this.renderer.setStyle(this.colorOverlay,"opacity",r>this.headerMinHeight?"1":"0"),this.renderer.setStyle(this.toolbarBackground,"background-color",r>this.headerMinHeight?"transparent":this.originalToolbarBgColor),this.barButtons&&(r>this.headerMinHeight?this.imageOverlay.append(this.barButtons):(this.toolbar.append(this.barButtons),Array.from(this.barButtons.children).forEach(function(e){t.renderer.setStyle(e,"color","unset")}))),this.ticking=!1}},i.decorators=[{type:t.Directive,args:[{selector:"ion-header[parallax]"}]}],i.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},i.propDecorators={imageUrl:[{type:t.Input}],expandedColor:[{type:t.Input}],titleColor:[{type:t.Input}],maximumHeight:[{type:t.Input}]},i);function i(e,t){this.headerRef=e,this.renderer=t,this.maximumHeight=300}var o=(s.decorators=[{type:t.NgModule,args:[{declarations:[r],imports:[],exports:[r]}]}],s);function s(){}e.IonicHeaderParallaxModule=o,e.ɵa=r,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define("ionic-header-parallax",["exports","@angular/core"],t):t(e["ionic-header-parallax"]={},e.ng.core)}(this,function(e,t){"use strict";var r=(i.prototype.ngAfterViewInit=function(){var e=this;setTimeout(function(){e.initElements(),e.initStyles(),e.initEvents()})},i.prototype.initElements=function(){var t=this,e=this.headerRef.nativeElement.parentElement;if(this.header=this.headerRef.nativeElement,this.toolbar=this.header.querySelector("ion-toolbar"),!this.toolbar)throw new Error("Parallax directive requires a toolbar or navbar element on the page to work.");this.ionTitle=this.toolbar.querySelector("ion-title"),this.toolbarBackground=this.toolbar.shadowRoot.querySelector(".toolbar-background"),this.barButtons=this.headerRef.nativeElement.querySelector("ion-buttons");var r=e.querySelector("ion-content");if(this.scrollContent=r.shadowRoot.querySelector(".inner-scroll"),!this.scrollContent)throw new Error("Parallax directive requires an <ion-content> element on the page to work.");this.imageOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.imageOverlay,"image-overlay"),this.colorOverlay=this.renderer.createElement("div"),this.renderer.addClass(this.colorOverlay,"color-overlay"),this.colorOverlay.appendChild(this.imageOverlay),this.header.appendChild(this.colorOverlay),this.overlayTitle=this.ionTitle&&this.ionTitle.cloneNode(!0),this.overlayTitle&&(this.renderer.addClass(this.overlayTitle,"parallax-title"),setTimeout(function(){var e=t.overlayTitle.shadowRoot.querySelector(".toolbar-title");t.renderer.setStyle(e,"pointer-events","unset")})),this.overlayTitle&&this.imageOverlay.appendChild(this.overlayTitle),this.barButtons&&this.imageOverlay.appendChild(this.barButtons)},i.prototype.initStyles=function(){var t=this;this.headerHeight=this.scrollContent.clientHeight,this.ticking=!1,this.scrollContent&&toolbar&&(this.maximumHeight=parseFloat(this.maximumHeight.toString()),this.headerMinHeight=this.toolbar.offsetHeight,this.scrollContentPaddingTop=window.getComputedStyle(this.scrollContent,null).paddingTop.replace("px",""),this.scrollContentPaddingTop=parseFloat(this.scrollContentPaddingTop),this.originalToolbarBgColor=window.getComputedStyle(this.toolbarBackground,null).backgroundColor,this.renderer.setStyle(this.header,"position","relative"),this.overlayTitle&&(this.renderer.setStyle(this.overlayTitle,"color",this.titleColor),this.renderer.setStyle(this.overlayTitle,"position","absolute"),this.renderer.setStyle(this.overlayTitle,"width","100%"),this.renderer.setStyle(this.overlayTitle,"height","100%"),this.renderer.setStyle(this.overlayTitle,"text-align","center")),this.renderer.setStyle(this.colorOverlay,"background-color",this.originalToolbarBgColor),this.renderer.setStyle(this.colorOverlay,"height",this.maximumHeight+"px"),this.renderer.setStyle(this.colorOverlay,"position","absolute"),this.renderer.setStyle(this.colorOverlay,"top",0*-this.headerMinHeight+"px"),this.renderer.setStyle(this.colorOverlay,"left","0"),this.renderer.setStyle(this.colorOverlay,"width","100%"),this.renderer.setStyle(this.colorOverlay,"z-index","10"),this.renderer.setStyle(this.colorOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-color",this.expandedColor),this.renderer.setStyle(this.imageOverlay,"background-image","url("+(this.imageUrl||"")+")"),this.renderer.setStyle(this.imageOverlay,"height","100%"),this.renderer.setStyle(this.imageOverlay,"width","100%"),this.renderer.setStyle(this.imageOverlay,"pointer-events","none"),this.renderer.setStyle(this.imageOverlay,"background-size","cover"),this.renderer.setStyle(this.imageOverlay,"background-position","center"),this.renderer.setStyle(this.toolbarBackground,"background-color",this.originalToolbarBgColor),this.barButtons&&(this.renderer.setStyle(this.barButtons,"pointer-events","all"),Array.from(this.barButtons.children).forEach(function(e){t.renderer.setStyle(e,"color",t.titleColor)})),this.scrollContent&&(this.renderer.setAttribute(this.scrollContent,"parallax",""),this.renderer.setStyle(this.scrollContent,"padding-top",this.maximumHeight+this.scrollContentPaddingTop-this.headerMinHeight+"px")))},i.prototype.initEvents=function(){var t=this;window.addEventListener("resize",function(){t.headerHeight=t.scrollContent.clientHeight},!1),this.scrollContent&&this.scrollContent.addEventListener("scroll",function(e){t.ticking||window.requestAnimationFrame(function(){t.updateElasticHeader()}),t.ticking=!0})},i.prototype.updateElasticHeader=function(){var t=this;if(this.scrollContent&&toolbar){this.scrollTop=this.scrollContent.scrollTop,0<=this.scrollTop?(this.translateAmt=this.scrollTop/2,this.scaleAmt=1):(this.translateAmt=0,this.scaleAmt=-this.scrollTop/this.headerHeight+1),this.headerMinHeight=this.toolbar.offsetHeight;var e=(this.maximumHeight-this.scrollTop-this.headerMinHeight)/(this.maximumHeight-this.headerMinHeight);e=Math.max(e,0);var r=this.maximumHeight-this.scrollTop;r=Math.max(r,this.headerMinHeight),this.renderer.setStyle(this.imageOverlay,"height",r+"px"),this.renderer.setStyle(this.imageOverlay,"opacity",""+e),this.renderer.setStyle(this.colorOverlay,"height",r+"px"),this.renderer.setStyle(this.colorOverlay,"opacity",r>this.headerMinHeight?"1":"0"),this.renderer.setStyle(this.toolbarBackground,"background-color",r>this.headerMinHeight?"transparent":this.originalToolbarBgColor),this.barButtons&&(r>this.headerMinHeight?(this.imageOverlay.append(this.barButtons),Array.from(this.barButtons.children).forEach(function(e){t.renderer.setStyle(e,"color",t.titleColor)})):(this.toolbar.append(this.barButtons),Array.from(this.barButtons.children).forEach(function(e){t.renderer.setStyle(e,"color","unset")}))),this.ticking=!1}},i.decorators=[{type:t.Directive,args:[{selector:"ion-header[parallax]"}]}],i.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},i.propDecorators={imageUrl:[{type:t.Input}],expandedColor:[{type:t.Input}],titleColor:[{type:t.Input}],maximumHeight:[{type:t.Input}]},i);function i(e,t){this.headerRef=e,this.renderer=t,this.maximumHeight=300}var o=(s.decorators=[{type:t.NgModule,args:[{declarations:[r],imports:[],exports:[r]}]}],s);function s(){}e.IonicHeaderParallaxModule=o,e.ɵa=r,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=ionic-header-parallax.umd.min.js.map |
@@ -199,2 +199,9 @@ /** | ||
this.imageOverlay.append(this.barButtons); | ||
Array.from(this.barButtons.children).forEach((/** | ||
* @param {?} btn | ||
* @return {?} | ||
*/ | ||
btn => { | ||
this.renderer.setStyle(btn, 'color', this.titleColor); | ||
})); | ||
} | ||
@@ -283,2 +290,2 @@ else { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUEwQjVCLFlBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxZQUFZOztjQUNKLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztTQUFFO1FBQ3ZILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlC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QUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEUsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFM0Usc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVoRyxlQUFlO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU87Ozs7WUFBQyxHQUFHLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUVELGtCQUFrQjtRQUNsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQ3RELEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUM7U0FDcEY7SUFDSCxDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFROzs7UUFBRSxHQUFHLEVBQUU7WUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUN0RCxDQUFDLEdBQUUsS0FBSyxDQUFDLENBQUM7UUFFVixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFROzs7O1lBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFFbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2pCLE1BQU0sQ0FBQyxxQkFBcUI7OztvQkFBQyxHQUFHLEVBQUU7d0JBQ2hDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUM3QixDQUFDLEVBQUMsQ0FBQztpQkFDSjtnQkFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN0QixDQUFDLEVBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7OztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE9BQU87U0FBRTtRQUVoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNuQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQzs7WUFDN0MsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN6SCxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7OztZQUc3QixZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUztRQUN0RCxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVELG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxHQUFHLFlBQVksSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEdBQUcsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQy9ELFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRXJGLGVBQWU7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzNDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDckMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU87Ozs7Z0JBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELENBQUMsRUFBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7OztZQXZNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjthQUNqQzs7OztZQUptQixVQUFVO1lBQVMsU0FBUzs7O3VCQU03QyxLQUFLOzRCQUNMLEtBQUs7eUJBQ0wsS0FBSzs0QkFDTCxLQUFLOzs7O0lBSE4scUNBQTBCOztJQUMxQiwwQ0FBK0I7O0lBQy9CLHVDQUE0Qjs7SUFDNUIsMENBQTZCOztJQUU3QixtQ0FBb0I7O0lBQ3BCLG9DQUFxQjs7SUFDckIsOENBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHlDQUEwQjs7SUFDMUIsdUNBQXdCOztJQUN4QiwwQ0FBMkI7O0lBQzNCLHlDQUFrQjs7SUFDbEIsNENBQXdCOztJQUN4Qix5Q0FBa0I7O0lBQ2xCLHFDQUFjOztJQUNkLHNDQUFlOztJQUNmLDBDQUFtQjs7SUFDbkIsb0NBQWE7O0lBQ2IsbURBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHFDQUFzQjs7SUFDdEIsMkNBQThCOztJQUM5QixvREFBd0I7O0lBRVosc0NBQXlDOztJQUFFLHFDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdpb24taGVhZGVyW3BhcmFsbGF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcmFsbGF4RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZztcclxuICBASW5wdXQoKSBleHBhbmRlZENvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGl0bGVDb2xvcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heGltdW1IZWlnaHQgPSAzMDA7XHJcblxyXG4gIGhlYWRlcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhckJhY2tncm91bmQ6IEhUTUxFbGVtZW50O1xyXG4gIGltYWdlT3ZlcmxheTogSFRNTEVsZW1lbnQ7XHJcbiAgY29sb3JPdmVybGF5OiBIVE1MRWxlbWVudDtcclxuICBiYXJCdXR0b25zOiBIVE1MRWxlbWVudDtcclxuICBzY3JvbGxDb250ZW50OiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJIZWlnaHQ6IGFueTtcclxuICBoZWFkZXJNaW5IZWlnaHQ6IG51bWJlcjtcclxuICB0cmFuc2xhdGVBbXQ6IGFueTtcclxuICBzY2FsZUFtdDogYW55O1xyXG4gIHNjcm9sbFRvcDogYW55O1xyXG4gIGxhc3RTY3JvbGxUb3A6IGFueTtcclxuICB0aWNraW5nOiBhbnk7XHJcbiAgb3JpZ2luYWxUb29sYmFyQmdDb2xvcjogc3RyaW5nO1xyXG4gIG92ZXJsYXlUaXRsZTogSFRNTEVsZW1lbnQ7XHJcbiAgaW9uVGl0bGU6IEhUTUxFbGVtZW50O1xyXG4gIG92ZXJsYXlCdXR0b25zOiBIVE1MRWxlbWVudFtdO1xyXG4gIHNjcm9sbENvbnRlbnRQYWRkaW5nVG9wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaGVhZGVyUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRFbGVtZW50cygpO1xyXG4gICAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICAgICAgdGhpcy5pbml0RXZlbnRzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluaXRFbGVtZW50cygpIHtcclxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB0aGlzLmhlYWRlciA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy50b29sYmFyID0gdGhpcy5oZWFkZXIucXVlcnlTZWxlY3RvcignaW9uLXRvb2xiYXInKTtcclxuICAgIGlmICghdGhpcy50b29sYmFyKSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGEgdG9vbGJhciBvciBuYXZiYXIgZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcbiAgICB0aGlzLmlvblRpdGxlID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJ2lvbi10aXRsZScpO1xyXG4gICAgdGhpcy50b29sYmFyQmFja2dyb3VuZCA9IHRoaXMudG9vbGJhci5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLWJhY2tncm91bmQnKTtcclxuXHJcbiAgICB0aGlzLmJhckJ1dHRvbnMgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1idXR0b25zJyk7XHJcbiAgICBjb25zdCBpb25Db250ZW50ID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50ID0gaW9uQ29udGVudC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5pbm5lci1zY3JvbGwnKTtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50KSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGFuIDxpb24tY29udGVudD4gZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMuaW1hZ2VPdmVybGF5ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbWFnZU92ZXJsYXksICdpbWFnZS1vdmVybGF5Jyk7XHJcblxyXG4gICAgdGhpcy5jb2xvck92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmNvbG9yT3ZlcmxheSwgJ2NvbG9yLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLmltYWdlT3ZlcmxheSk7XHJcbiAgICB0aGlzLmhlYWRlci5hcHBlbmRDaGlsZCh0aGlzLmNvbG9yT3ZlcmxheSk7XHJcblxyXG4gICAgLy8gQ29weSB0aXRsZSBhbmQgYnV0dG9uc1xyXG4gICAgdGhpcy5vdmVybGF5VGl0bGUgPSB0aGlzLmlvblRpdGxlICYmIHRoaXMuaW9uVGl0bGUuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5vdmVybGF5VGl0bGUsICdwYXJhbGxheC10aXRsZScpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b29sYmFyVGl0bGUgPSB0aGlzLm92ZXJsYXlUaXRsZS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLXRpdGxlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sYmFyVGl0bGUsICdwb2ludGVyLWV2ZW50cycsICd1bnNldCcpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5VGl0bGUpOyB9XHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7IHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuYmFyQnV0dG9ucyk7IH1cclxuICB9XHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnRpY2tpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsQ29udGVudCB8fCAhdG9vbGJhcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBmZXRjaCBzdHlsZXNcclxuICAgIHRoaXMubWF4aW11bUhlaWdodCA9IHBhcnNlRmxvYXQodGhpcy5tYXhpbXVtSGVpZ2h0LnRvU3RyaW5nKCkpO1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsQ29udGVudCwgbnVsbCkucGFkZGluZ1RvcC5yZXBsYWNlKCdweCcsICcnKTtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgPSBwYXJzZUZsb2F0KHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3ApO1xyXG4gICAgdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgbnVsbCkuYmFja2dyb3VuZENvbG9yO1xyXG5cclxuICAgIC8vIGhlYWRlciBhbmQgdGl0bGVcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnaGVpZ2h0JywgJzEwMCUnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3RleHQtYWxpZ24nLCAnY2VudGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY29sb3Igb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RoaXMubWF4aW11bUhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAndG9wJywgYCR7LXRoaXMuaGVhZGVyTWluSGVpZ2h0ICogMH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2xlZnQnLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3dpZHRoJywgJzEwMCUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd6LWluZGV4JywgJzEwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG5cclxuICAgIC8vIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWNvbG9yJywgdGhpcy5leHBhbmRlZENvbG9yKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWltYWdlJywgYHVybCgke3RoaXMuaW1hZ2VVcmwgfHwgJyd9KWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAxMDAlYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXNpemUnLCAnY292ZXInKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXBvc2l0aW9uJywgJ2NlbnRlcicpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmRcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG5cclxuICAgIC8vIC5iYXItYnV0dG9uc1xyXG4gICAgaWYgKHRoaXMuYmFyQnV0dG9ucykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFyQnV0dG9ucywgJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xyXG4gICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAuc2Nyb2xsLWNvbnRlbnRcclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFyYWxsYXgnLCAnJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFkZGluZy10b3AnLFxyXG4gICAgICAgIGAke3RoaXMubWF4aW11bUhlaWdodCArIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodH1weGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdEV2ZW50cygpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIH0sIGZhbHNlKTtcclxuXHJcbiAgICBpZiAodGhpcy5zY3JvbGxDb250ZW50KSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoZSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMudGlja2luZykge1xyXG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRWxhc3RpY0hlYWRlcigpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGlja2luZyA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlRWxhc3RpY0hlYWRlcigpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIHRoaXMuc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxDb250ZW50LnNjcm9sbFRvcDtcclxuICAgIGlmICh0aGlzLnNjcm9sbFRvcCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gdGhpcy5zY3JvbGxUb3AgLyAyO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gMDtcclxuICAgICAgdGhpcy5zY2FsZUFtdCA9IC10aGlzLnNjcm9sbFRvcCAvIHRoaXMuaGVhZGVySGVpZ2h0ICsgMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQYXJhbGxheCB0b3RhbCBwcm9ncmVzc1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgbGV0IHByb2dyZXNzID0gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wIC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpIC8gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0KTtcclxuICAgIHByb2dyZXNzID0gTWF0aC5tYXgocHJvZ3Jlc3MsIDApO1xyXG5cclxuICAgIC8vIGlvbi1oZWFkZXI6IHNldCBoZWlnaHRcclxuICAgIGxldCB0YXJnZXRIZWlnaHQgPSB0aGlzLm1heGltdW1IZWlnaHQgLSB0aGlzLnNjcm9sbFRvcDtcclxuICAgIHRhcmdldEhlaWdodCA9IE1hdGgubWF4KHRhcmdldEhlaWdodCwgdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmQ6IGNoYW5nZSBjb2xvclxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ29wYWNpdHknLCBgJHtwcm9ncmVzc31gKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdoZWlnaHQnLCBgJHt0YXJnZXRIZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdvcGFjaXR5JywgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAnMScgOiAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsXHJcbiAgICAgIHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0ID8gJ3RyYW5zcGFyZW50JyA6IHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIGlmICh0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCkge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZCh0aGlzLmJhckJ1dHRvbnMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmQodGhpcy5iYXJCdXR0b25zKTtcclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsICd1bnNldCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aWNraW5nID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFLdkYsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUEwQjVCLFlBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixVQUFVOzs7UUFBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxZQUFZOztjQUNKLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztTQUFFO1FBQ3ZILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlC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QUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFcEUsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFM0Usc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVoRyxlQUFlO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDakUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU87Ozs7WUFBQyxHQUFHLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUVELGtCQUFrQjtRQUNsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQ3RELEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUM7U0FDcEY7SUFDSCxDQUFDOzs7O0lBRUQsVUFBVTtRQUNSLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFROzs7UUFBRSxHQUFHLEVBQUU7WUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUN0RCxDQUFDLEdBQUUsS0FBSyxDQUFDLENBQUM7UUFFVixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFROzs7O1lBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFFbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2pCLE1BQU0sQ0FBQyxxQkFBcUI7OztvQkFBQyxHQUFHLEVBQUU7d0JBQ2hDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO29CQUM3QixDQUFDLEVBQUMsQ0FBQztpQkFDSjtnQkFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN0QixDQUFDLEVBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7OztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE9BQU87U0FBRTtRQUVoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNuQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQzs7WUFDN0MsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN6SCxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7OztZQUc3QixZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUztRQUN0RCxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTVELG9DQUFvQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxHQUFHLFlBQVksSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLEdBQUcsWUFBWSxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQy9ELFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRXJGLGVBQWU7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTzs7OztnQkFBQyxHQUFHLENBQUMsRUFBRTtvQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3hELENBQUMsRUFBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTzs7OztnQkFBQyxHQUFHLENBQUMsRUFBRTtvQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDaEQsQ0FBQyxFQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQzs7O1lBMU1GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2FBQ2pDOzs7O1lBSm1CLFVBQVU7WUFBUyxTQUFTOzs7dUJBTTdDLEtBQUs7NEJBQ0wsS0FBSzt5QkFDTCxLQUFLOzRCQUNMLEtBQUs7Ozs7SUFITixxQ0FBMEI7O0lBQzFCLDBDQUErQjs7SUFDL0IsdUNBQTRCOztJQUM1QiwwQ0FBNkI7O0lBRTdCLG1DQUFvQjs7SUFDcEIsb0NBQXFCOztJQUNyQiw4Q0FBK0I7O0lBQy9CLHlDQUEwQjs7SUFDMUIseUNBQTBCOztJQUMxQix1Q0FBd0I7O0lBQ3hCLDBDQUEyQjs7SUFDM0IseUNBQWtCOztJQUNsQiw0Q0FBd0I7O0lBQ3hCLHlDQUFrQjs7SUFDbEIscUNBQWM7O0lBQ2Qsc0NBQWU7O0lBQ2YsMENBQW1COztJQUNuQixvQ0FBYTs7SUFDYixtREFBK0I7O0lBQy9CLHlDQUEwQjs7SUFDMUIscUNBQXNCOztJQUN0QiwyQ0FBOEI7O0lBQzlCLG9EQUF3Qjs7SUFFWixzQ0FBeUM7O0lBQUUscUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ2lvbi1oZWFkZXJbcGFyYWxsYXhdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFyYWxsYXhEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBpbWFnZVVybDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcclxuICBASW5wdXQoKSB0aXRsZUNvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4aW11bUhlaWdodCA9IDMwMDtcclxuXHJcbiAgaGVhZGVyOiBIVE1MRWxlbWVudDtcclxuICB0b29sYmFyOiBIVE1MRWxlbWVudDtcclxuICB0b29sYmFyQmFja2dyb3VuZDogSFRNTEVsZW1lbnQ7XHJcbiAgaW1hZ2VPdmVybGF5OiBIVE1MRWxlbWVudDtcclxuICBjb2xvck92ZXJsYXk6IEhUTUxFbGVtZW50O1xyXG4gIGJhckJ1dHRvbnM6IEhUTUxFbGVtZW50O1xyXG4gIHNjcm9sbENvbnRlbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGhlYWRlckhlaWdodDogYW55O1xyXG4gIGhlYWRlck1pbkhlaWdodDogbnVtYmVyO1xyXG4gIHRyYW5zbGF0ZUFtdDogYW55O1xyXG4gIHNjYWxlQW10OiBhbnk7XHJcbiAgc2Nyb2xsVG9wOiBhbnk7XHJcbiAgbGFzdFNjcm9sbFRvcDogYW55O1xyXG4gIHRpY2tpbmc6IGFueTtcclxuICBvcmlnaW5hbFRvb2xiYXJCZ0NvbG9yOiBzdHJpbmc7XHJcbiAgb3ZlcmxheVRpdGxlOiBIVE1MRWxlbWVudDtcclxuICBpb25UaXRsZTogSFRNTEVsZW1lbnQ7XHJcbiAgb3ZlcmxheUJ1dHRvbnM6IEhUTUxFbGVtZW50W107XHJcbiAgc2Nyb2xsQ29udGVudFBhZGRpbmdUb3A7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBoZWFkZXJSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaW5pdEVsZW1lbnRzKCk7XHJcbiAgICAgIHRoaXMuaW5pdFN0eWxlcygpO1xyXG4gICAgICB0aGlzLmluaXRFdmVudHMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdEVsZW1lbnRzKCkge1xyXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgIHRoaXMuaGVhZGVyID0gdGhpcy5oZWFkZXJSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLnRvb2xiYXIgPSB0aGlzLmhlYWRlci5xdWVyeVNlbGVjdG9yKCdpb24tdG9vbGJhcicpO1xyXG4gICAgaWYgKCF0aGlzLnRvb2xiYXIpIHsgdGhyb3cgbmV3IEVycm9yKCdQYXJhbGxheCBkaXJlY3RpdmUgcmVxdWlyZXMgYSB0b29sYmFyIG9yIG5hdmJhciBlbGVtZW50IG9uIHRoZSBwYWdlIHRvIHdvcmsuJyk7IH1cclxuICAgIHRoaXMuaW9uVGl0bGUgPSB0aGlzLnRvb2xiYXIucXVlcnlTZWxlY3RvcignaW9uLXRpdGxlJyk7XHJcbiAgICB0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kID0gdGhpcy50b29sYmFyLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnRvb2xiYXItYmFja2dyb3VuZCcpO1xyXG5cclxuICAgIHRoaXMuYmFyQnV0dG9ucyA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWJ1dHRvbnMnKTtcclxuICAgIGNvbnN0IGlvbkNvbnRlbnQgPSBwYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1jb250ZW50Jyk7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRlbnQgPSBpb25Db250ZW50LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLmlubmVyLXNjcm9sbCcpO1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbENvbnRlbnQpIHsgdGhyb3cgbmV3IEVycm9yKCdQYXJhbGxheCBkaXJlY3RpdmUgcmVxdWlyZXMgYW4gPGlvbi1jb250ZW50PiBlbGVtZW50IG9uIHRoZSBwYWdlIHRvIHdvcmsuJyk7IH1cclxuXHJcbiAgICAvLyBDcmVhdGUgaW1hZ2Ugb3ZlcmxheVxyXG4gICAgdGhpcy5pbWFnZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmltYWdlT3ZlcmxheSwgJ2ltYWdlLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuY29sb3JPdmVybGF5LCAnY29sb3Itb3ZlcmxheScpO1xyXG5cclxuICAgIHRoaXMuY29sb3JPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuaW1hZ2VPdmVybGF5KTtcclxuICAgIHRoaXMuaGVhZGVyLmFwcGVuZENoaWxkKHRoaXMuY29sb3JPdmVybGF5KTtcclxuXHJcbiAgICAvLyBDb3B5IHRpdGxlIGFuZCBidXR0b25zXHJcbiAgICB0aGlzLm92ZXJsYXlUaXRsZSA9IHRoaXMuaW9uVGl0bGUgJiYgdGhpcy5pb25UaXRsZS5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm92ZXJsYXlUaXRsZSwgJ3BhcmFsbGF4LXRpdGxlJyk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRvb2xiYXJUaXRsZSA9IHRoaXMub3ZlcmxheVRpdGxlLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignLnRvb2xiYXItdGl0bGUnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRvb2xiYXJUaXRsZSwgJ3BvaW50ZXItZXZlbnRzJywgJ3Vuc2V0Jyk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm92ZXJsYXlUaXRsZSkgeyB0aGlzLmltYWdlT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLm92ZXJsYXlUaXRsZSk7IH1cclxuICAgIGlmICh0aGlzLmJhckJ1dHRvbnMpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5iYXJCdXR0b25zKTsgfVxyXG4gIH1cclxuXHJcbiAgaW5pdFN0eWxlcygpIHtcclxuICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIHRoaXMudGlja2luZyA9IGZhbHNlO1xyXG5cclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIC8vIGZldGNoIHN0eWxlc1xyXG4gICAgdGhpcy5tYXhpbXVtSGVpZ2h0ID0gcGFyc2VGbG9hdCh0aGlzLm1heGltdW1IZWlnaHQudG9TdHJpbmcoKSk7XHJcbiAgICB0aGlzLmhlYWRlck1pbkhlaWdodCA9IHRoaXMudG9vbGJhci5vZmZzZXRIZWlnaHQ7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRlbnRQYWRkaW5nVG9wID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCBudWxsKS5wYWRkaW5nVG9wLnJlcGxhY2UoJ3B4JywgJycpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQodGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCk7XHJcbiAgICB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCBudWxsKS5iYWNrZ3JvdW5kQ29sb3I7XHJcblxyXG4gICAgLy8gaGVhZGVyIGFuZCB0aXRsZVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhlYWRlciwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ2NvbG9yJywgdGhpcy50aXRsZUNvbG9yKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdoZWlnaHQnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAndGV4dC1hbGlnbicsICdjZW50ZXInKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjb2xvciBvdmVybGF5XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnYmFja2dyb3VuZC1jb2xvcicsIHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnaGVpZ2h0JywgYCR7dGhpcy5tYXhpbXVtSGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd0b3AnLCBgJHstdGhpcy5oZWFkZXJNaW5IZWlnaHQgKiAwfXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnbGVmdCcsICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3otaW5kZXgnLCAnMTAnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdwb2ludGVyLWV2ZW50cycsICdub25lJyk7XHJcblxyXG4gICAgLy8gaW1hZ2Ugb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLmV4cGFuZGVkQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtaW1hZ2UnLCBgdXJsKCR7dGhpcy5pbWFnZVVybCB8fCAnJ30pYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnaGVpZ2h0JywgYDEwMCVgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICd3aWR0aCcsICcxMDAlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtc2l6ZScsICdjb3ZlcicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2JhY2tncm91bmQtcG9zaXRpb24nLCAnY2VudGVyJyk7XHJcblxyXG4gICAgLy8gLnRvb2xiYXItYmFja2dyb3VuZFxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsIHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYXJCdXR0b25zLCAncG9pbnRlci1ldmVudHMnLCAnYWxsJyk7XHJcbiAgICAgIEFycmF5LmZyb20odGhpcy5iYXJCdXR0b25zLmNoaWxkcmVuKS5mb3JFYWNoKGJ0biA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC5zY3JvbGwtY29udGVudFxyXG4gICAgaWYgKHRoaXMuc2Nyb2xsQ29udGVudCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnNjcm9sbENvbnRlbnQsICdwYXJhbGxheCcsICcnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNjcm9sbENvbnRlbnQsICdwYWRkaW5nLXRvcCcsXHJcbiAgICAgICAgYCR7dGhpcy5tYXhpbXVtSGVpZ2h0ICsgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0fXB4YCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0RXZlbnRzKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHtcclxuICAgICAgdGhpcy5oZWFkZXJIZWlnaHQgPSB0aGlzLnNjcm9sbENvbnRlbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgfSwgZmFsc2UpO1xyXG5cclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5zY3JvbGxDb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlKSA9PiB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy50aWNraW5nKSB7XHJcbiAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVFbGFzdGljSGVhZGVyKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy50aWNraW5nID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVFbGFzdGljSGVhZGVyKCkge1xyXG4gICAgaWYgKCF0aGlzLnNjcm9sbENvbnRlbnQgfHwgIXRvb2xiYXIpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgdGhpcy5zY3JvbGxUb3AgPSB0aGlzLnNjcm9sbENvbnRlbnQuc2Nyb2xsVG9wO1xyXG4gICAgaWYgKHRoaXMuc2Nyb2xsVG9wID49IDApIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVBbXQgPSB0aGlzLnNjcm9sbFRvcCAvIDI7XHJcbiAgICAgIHRoaXMuc2NhbGVBbXQgPSAxO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVBbXQgPSAwO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gLXRoaXMuc2Nyb2xsVG9wIC8gdGhpcy5oZWFkZXJIZWlnaHQgKyAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBhcmFsbGF4IHRvdGFsIHByb2dyZXNzXHJcbiAgICB0aGlzLmhlYWRlck1pbkhlaWdodCA9IHRoaXMudG9vbGJhci5vZmZzZXRIZWlnaHQ7XHJcbiAgICBsZXQgcHJvZ3Jlc3MgPSAodGhpcy5tYXhpbXVtSGVpZ2h0IC0gdGhpcy5zY3JvbGxUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodCkgLyAodGhpcy5tYXhpbXVtSGVpZ2h0IC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG4gICAgcHJvZ3Jlc3MgPSBNYXRoLm1heChwcm9ncmVzcywgMCk7XHJcblxyXG4gICAgLy8gaW9uLWhlYWRlcjogc2V0IGhlaWdodFxyXG4gICAgbGV0IHRhcmdldEhlaWdodCA9IHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wO1xyXG4gICAgdGFyZ2V0SGVpZ2h0ID0gTWF0aC5tYXgodGFyZ2V0SGVpZ2h0LCB0aGlzLmhlYWRlck1pbkhlaWdodCk7XHJcblxyXG4gICAgLy8gLnRvb2xiYXItYmFja2dyb3VuZDogY2hhbmdlIGNvbG9yXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnaGVpZ2h0JywgYCR7dGFyZ2V0SGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnb3BhY2l0eScsIGAke3Byb2dyZXNzfWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ29wYWNpdHknLCB0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCA/ICcxJyA6ICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbGJhckJhY2tncm91bmQsICdiYWNrZ3JvdW5kLWNvbG9yJyxcclxuICAgICAgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAndHJhbnNwYXJlbnQnIDogdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yKTtcclxuXHJcbiAgICAvLyAuYmFyLWJ1dHRvbnNcclxuICAgIGlmICh0aGlzLmJhckJ1dHRvbnMpIHtcclxuICAgICAgaWYgKHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0KSB7XHJcbiAgICAgICAgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kKHRoaXMuYmFyQnV0dG9ucyk7XHJcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmJhckJ1dHRvbnMuY2hpbGRyZW4pLmZvckVhY2goYnRuID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmQodGhpcy5iYXJCdXR0b25zKTtcclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsICd1bnNldCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aWNraW5nID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ== |
@@ -215,2 +215,9 @@ /** | ||
this.imageOverlay.append(this.barButtons); | ||
Array.from(this.barButtons.children).forEach((/** | ||
* @param {?} btn | ||
* @return {?} | ||
*/ | ||
function (btn) { | ||
_this.renderer.setStyle(btn, 'color', _this.titleColor); | ||
})); | ||
} | ||
@@ -301,2 +308,2 @@ else { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdkY7SUE2QkUsMkJBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELDJDQUFlOzs7SUFBZjtRQUFBLGlCQU1DO1FBTEMsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsS0FBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCx3Q0FBWTs7O0lBQVo7UUFBQSxpQkFvQ0M7O1lBbkNPLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztTQUFFO1FBQ3ZILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFB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OztJQUN4QiwwQ0FBMkI7O0lBQzNCLHlDQUFrQjs7SUFDbEIsNENBQXdCOztJQUN4Qix5Q0FBa0I7O0lBQ2xCLHFDQUFjOztJQUNkLHNDQUFlOztJQUNmLDBDQUFtQjs7SUFDbkIsb0NBQWE7O0lBQ2IsbURBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHFDQUFzQjs7SUFDdEIsMkNBQThCOztJQUM5QixvREFBd0I7O0lBRVosc0NBQXlDOztJQUFFLHFDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdpb24taGVhZGVyW3BhcmFsbGF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcmFsbGF4RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZztcclxuICBASW5wdXQoKSBleHBhbmRlZENvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGl0bGVDb2xvcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heGltdW1IZWlnaHQgPSAzMDA7XHJcblxyXG4gIGhlYWRlcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhckJhY2tncm91bmQ6IEhUTUxFbGVtZW50O1xyXG4gIGltYWdlT3ZlcmxheTogSFRNTEVsZW1lbnQ7XHJcbiAgY29sb3JPdmVybGF5OiBIVE1MRWxlbWVudDtcclxuICBiYXJCdXR0b25zOiBIVE1MRWxlbWVudDtcclxuICBzY3JvbGxDb250ZW50OiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJIZWlnaHQ6IGFueTtcclxuICBoZWFkZXJNaW5IZWlnaHQ6IG51bWJlcjtcclxuICB0cmFuc2xhdGVBbXQ6IGFueTtcclxuICBzY2FsZUFtdDogYW55O1xyXG4gIHNjcm9sbFRvcDogYW55O1xyXG4gIGxhc3RTY3JvbGxUb3A6IGFueTtcclxuICB0aWNraW5nOiBhbnk7XHJcbiAgb3JpZ2luYWxUb29sYmFyQmdDb2xvcjogc3RyaW5nO1xyXG4gIG92ZXJsYXlUaXRsZTogSFRNTEVsZW1lbnQ7XHJcbiAgaW9uVGl0bGU6IEhUTUxFbGVtZW50O1xyXG4gIG92ZXJsYXlCdXR0b25zOiBIVE1MRWxlbWVudFtdO1xyXG4gIHNjcm9sbENvbnRlbnRQYWRkaW5nVG9wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaGVhZGVyUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRFbGVtZW50cygpO1xyXG4gICAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICAgICAgdGhpcy5pbml0RXZlbnRzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluaXRFbGVtZW50cygpIHtcclxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB0aGlzLmhlYWRlciA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy50b29sYmFyID0gdGhpcy5oZWFkZXIucXVlcnlTZWxlY3RvcignaW9uLXRvb2xiYXInKTtcclxuICAgIGlmICghdGhpcy50b29sYmFyKSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGEgdG9vbGJhciBvciBuYXZiYXIgZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcbiAgICB0aGlzLmlvblRpdGxlID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJ2lvbi10aXRsZScpO1xyXG4gICAgdGhpcy50b29sYmFyQmFja2dyb3VuZCA9IHRoaXMudG9vbGJhci5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLWJhY2tncm91bmQnKTtcclxuXHJcbiAgICB0aGlzLmJhckJ1dHRvbnMgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1idXR0b25zJyk7XHJcbiAgICBjb25zdCBpb25Db250ZW50ID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50ID0gaW9uQ29udGVudC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5pbm5lci1zY3JvbGwnKTtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50KSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGFuIDxpb24tY29udGVudD4gZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMuaW1hZ2VPdmVybGF5ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbWFnZU92ZXJsYXksICdpbWFnZS1vdmVybGF5Jyk7XHJcblxyXG4gICAgdGhpcy5jb2xvck92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmNvbG9yT3ZlcmxheSwgJ2NvbG9yLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLmltYWdlT3ZlcmxheSk7XHJcbiAgICB0aGlzLmhlYWRlci5hcHBlbmRDaGlsZCh0aGlzLmNvbG9yT3ZlcmxheSk7XHJcblxyXG4gICAgLy8gQ29weSB0aXRsZSBhbmQgYnV0dG9uc1xyXG4gICAgdGhpcy5vdmVybGF5VGl0bGUgPSB0aGlzLmlvblRpdGxlICYmIHRoaXMuaW9uVGl0bGUuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5vdmVybGF5VGl0bGUsICdwYXJhbGxheC10aXRsZScpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b29sYmFyVGl0bGUgPSB0aGlzLm92ZXJsYXlUaXRsZS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLXRpdGxlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sYmFyVGl0bGUsICdwb2ludGVyLWV2ZW50cycsICd1bnNldCcpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5VGl0bGUpOyB9XHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7IHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuYmFyQnV0dG9ucyk7IH1cclxuICB9XHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnRpY2tpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsQ29udGVudCB8fCAhdG9vbGJhcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBmZXRjaCBzdHlsZXNcclxuICAgIHRoaXMubWF4aW11bUhlaWdodCA9IHBhcnNlRmxvYXQodGhpcy5tYXhpbXVtSGVpZ2h0LnRvU3RyaW5nKCkpO1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsQ29udGVudCwgbnVsbCkucGFkZGluZ1RvcC5yZXBsYWNlKCdweCcsICcnKTtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgPSBwYXJzZUZsb2F0KHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3ApO1xyXG4gICAgdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgbnVsbCkuYmFja2dyb3VuZENvbG9yO1xyXG5cclxuICAgIC8vIGhlYWRlciBhbmQgdGl0bGVcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnaGVpZ2h0JywgJzEwMCUnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3RleHQtYWxpZ24nLCAnY2VudGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY29sb3Igb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RoaXMubWF4aW11bUhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAndG9wJywgYCR7LXRoaXMuaGVhZGVyTWluSGVpZ2h0ICogMH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2xlZnQnLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3dpZHRoJywgJzEwMCUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd6LWluZGV4JywgJzEwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG5cclxuICAgIC8vIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWNvbG9yJywgdGhpcy5leHBhbmRlZENvbG9yKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWltYWdlJywgYHVybCgke3RoaXMuaW1hZ2VVcmwgfHwgJyd9KWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAxMDAlYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXNpemUnLCAnY292ZXInKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXBvc2l0aW9uJywgJ2NlbnRlcicpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmRcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG5cclxuICAgIC8vIC5iYXItYnV0dG9uc1xyXG4gICAgaWYgKHRoaXMuYmFyQnV0dG9ucykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFyQnV0dG9ucywgJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xyXG4gICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAuc2Nyb2xsLWNvbnRlbnRcclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFyYWxsYXgnLCAnJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFkZGluZy10b3AnLFxyXG4gICAgICAgIGAke3RoaXMubWF4aW11bUhlaWdodCArIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodH1weGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdEV2ZW50cygpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIH0sIGZhbHNlKTtcclxuXHJcbiAgICBpZiAodGhpcy5zY3JvbGxDb250ZW50KSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoZSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMudGlja2luZykge1xyXG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRWxhc3RpY0hlYWRlcigpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGlja2luZyA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlRWxhc3RpY0hlYWRlcigpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIHRoaXMuc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxDb250ZW50LnNjcm9sbFRvcDtcclxuICAgIGlmICh0aGlzLnNjcm9sbFRvcCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gdGhpcy5zY3JvbGxUb3AgLyAyO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gMDtcclxuICAgICAgdGhpcy5zY2FsZUFtdCA9IC10aGlzLnNjcm9sbFRvcCAvIHRoaXMuaGVhZGVySGVpZ2h0ICsgMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQYXJhbGxheCB0b3RhbCBwcm9ncmVzc1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgbGV0IHByb2dyZXNzID0gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wIC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpIC8gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0KTtcclxuICAgIHByb2dyZXNzID0gTWF0aC5tYXgocHJvZ3Jlc3MsIDApO1xyXG5cclxuICAgIC8vIGlvbi1oZWFkZXI6IHNldCBoZWlnaHRcclxuICAgIGxldCB0YXJnZXRIZWlnaHQgPSB0aGlzLm1heGltdW1IZWlnaHQgLSB0aGlzLnNjcm9sbFRvcDtcclxuICAgIHRhcmdldEhlaWdodCA9IE1hdGgubWF4KHRhcmdldEhlaWdodCwgdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmQ6IGNoYW5nZSBjb2xvclxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ29wYWNpdHknLCBgJHtwcm9ncmVzc31gKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdoZWlnaHQnLCBgJHt0YXJnZXRIZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdvcGFjaXR5JywgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAnMScgOiAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsXHJcbiAgICAgIHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0ID8gJ3RyYW5zcGFyZW50JyA6IHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIGlmICh0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCkge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZCh0aGlzLmJhckJ1dHRvbnMpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmQodGhpcy5iYXJCdXR0b25zKTtcclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShidG4sICdjb2xvcicsICd1bnNldCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50aWNraW5nID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsYXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW9uaWMtaGVhZGVyLXBhcmFsbGF4LyIsInNvdXJjZXMiOlsibGliL3BhcmFsbGF4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdkY7SUE2QkUsMkJBQW1CLFNBQWtDLEVBQVMsUUFBbUI7UUFBOUQsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEJ4RSxrQkFBYSxHQUFHLEdBQUcsQ0FBQztJQXVCN0IsQ0FBQzs7OztJQUVELDJDQUFlOzs7SUFBZjtRQUFBLGlCQU1DO1FBTEMsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsS0FBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCx3Q0FBWTs7O0lBQVo7UUFBQSxpQkFvQ0M7O1lBbkNPLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztTQUFFO1FBQ3ZILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsSUFB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LEtBQUs7O0lBb01SLHdCQUFDO0NBQUEsQUEzTUQsSUEyTUM7U0F4TVksaUJBQWlCOzs7SUFDNUIscUNBQTBCOztJQUMxQiwwQ0FBK0I7O0lBQy9CLHVDQUE0Qjs7SUFDNUIsMENBQTZCOztJQUU3QixtQ0FBb0I7O0lBQ3BCLG9DQUFxQjs7SUFDckIsOENBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHlDQUEwQjs7SUFDMUIsdUNBQXdCOztJQUN4QiwwQ0FBMkI7O0lBQzNCLHlDQUFrQjs7SUFDbEIsNENBQXdCOztJQUN4Qix5Q0FBa0I7O0lBQ2xCLHFDQUFjOztJQUNkLHNDQUFlOztJQUNmLDBDQUFtQjs7SUFDbkIsb0NBQWE7O0lBQ2IsbURBQStCOztJQUMvQix5Q0FBMEI7O0lBQzFCLHFDQUFzQjs7SUFDdEIsMkNBQThCOztJQUM5QixvREFBd0I7O0lBRVosc0NBQXlDOztJQUFFLHFDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdpb24taGVhZGVyW3BhcmFsbGF4XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhcmFsbGF4RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZztcclxuICBASW5wdXQoKSBleHBhbmRlZENvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGl0bGVDb2xvcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heGltdW1IZWlnaHQgPSAzMDA7XHJcblxyXG4gIGhlYWRlcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhcjogSFRNTEVsZW1lbnQ7XHJcbiAgdG9vbGJhckJhY2tncm91bmQ6IEhUTUxFbGVtZW50O1xyXG4gIGltYWdlT3ZlcmxheTogSFRNTEVsZW1lbnQ7XHJcbiAgY29sb3JPdmVybGF5OiBIVE1MRWxlbWVudDtcclxuICBiYXJCdXR0b25zOiBIVE1MRWxlbWVudDtcclxuICBzY3JvbGxDb250ZW50OiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJIZWlnaHQ6IGFueTtcclxuICBoZWFkZXJNaW5IZWlnaHQ6IG51bWJlcjtcclxuICB0cmFuc2xhdGVBbXQ6IGFueTtcclxuICBzY2FsZUFtdDogYW55O1xyXG4gIHNjcm9sbFRvcDogYW55O1xyXG4gIGxhc3RTY3JvbGxUb3A6IGFueTtcclxuICB0aWNraW5nOiBhbnk7XHJcbiAgb3JpZ2luYWxUb29sYmFyQmdDb2xvcjogc3RyaW5nO1xyXG4gIG92ZXJsYXlUaXRsZTogSFRNTEVsZW1lbnQ7XHJcbiAgaW9uVGl0bGU6IEhUTUxFbGVtZW50O1xyXG4gIG92ZXJsYXlCdXR0b25zOiBIVE1MRWxlbWVudFtdO1xyXG4gIHNjcm9sbENvbnRlbnRQYWRkaW5nVG9wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaGVhZGVyUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRFbGVtZW50cygpO1xyXG4gICAgICB0aGlzLmluaXRTdHlsZXMoKTtcclxuICAgICAgdGhpcy5pbml0RXZlbnRzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluaXRFbGVtZW50cygpIHtcclxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcbiAgICB0aGlzLmhlYWRlciA9IHRoaXMuaGVhZGVyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy50b29sYmFyID0gdGhpcy5oZWFkZXIucXVlcnlTZWxlY3RvcignaW9uLXRvb2xiYXInKTtcclxuICAgIGlmICghdGhpcy50b29sYmFyKSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGEgdG9vbGJhciBvciBuYXZiYXIgZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcbiAgICB0aGlzLmlvblRpdGxlID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJ2lvbi10aXRsZScpO1xyXG4gICAgdGhpcy50b29sYmFyQmFja2dyb3VuZCA9IHRoaXMudG9vbGJhci5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLWJhY2tncm91bmQnKTtcclxuXHJcbiAgICB0aGlzLmJhckJ1dHRvbnMgPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1idXR0b25zJyk7XHJcbiAgICBjb25zdCBpb25Db250ZW50ID0gcGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpb24tY29udGVudCcpO1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50ID0gaW9uQ29udGVudC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5pbm5lci1zY3JvbGwnKTtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50KSB7IHRocm93IG5ldyBFcnJvcignUGFyYWxsYXggZGlyZWN0aXZlIHJlcXVpcmVzIGFuIDxpb24tY29udGVudD4gZWxlbWVudCBvbiB0aGUgcGFnZSB0byB3b3JrLicpOyB9XHJcblxyXG4gICAgLy8gQ3JlYXRlIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMuaW1hZ2VPdmVybGF5ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5pbWFnZU92ZXJsYXksICdpbWFnZS1vdmVybGF5Jyk7XHJcblxyXG4gICAgdGhpcy5jb2xvck92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmNvbG9yT3ZlcmxheSwgJ2NvbG9yLW92ZXJsYXknKTtcclxuXHJcbiAgICB0aGlzLmNvbG9yT3ZlcmxheS5hcHBlbmRDaGlsZCh0aGlzLmltYWdlT3ZlcmxheSk7XHJcbiAgICB0aGlzLmhlYWRlci5hcHBlbmRDaGlsZCh0aGlzLmNvbG9yT3ZlcmxheSk7XHJcblxyXG4gICAgLy8gQ29weSB0aXRsZSBhbmQgYnV0dG9uc1xyXG4gICAgdGhpcy5vdmVybGF5VGl0bGUgPSB0aGlzLmlvblRpdGxlICYmIHRoaXMuaW9uVGl0bGUuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5vdmVybGF5VGl0bGUsICdwYXJhbGxheC10aXRsZScpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB0b29sYmFyVGl0bGUgPSB0aGlzLm92ZXJsYXlUaXRsZS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy50b29sYmFyLXRpdGxlJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0b29sYmFyVGl0bGUsICdwb2ludGVyLWV2ZW50cycsICd1bnNldCcpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vdmVybGF5VGl0bGUpIHsgdGhpcy5pbWFnZU92ZXJsYXkuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5VGl0bGUpOyB9XHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7IHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZENoaWxkKHRoaXMuYmFyQnV0dG9ucyk7IH1cclxuICB9XHJcblxyXG4gIGluaXRTdHlsZXMoKSB7XHJcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuc2Nyb2xsQ29udGVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnRpY2tpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2Nyb2xsQ29udGVudCB8fCAhdG9vbGJhcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAvLyBmZXRjaCBzdHlsZXNcclxuICAgIHRoaXMubWF4aW11bUhlaWdodCA9IHBhcnNlRmxvYXQodGhpcy5tYXhpbXVtSGVpZ2h0LnRvU3RyaW5nKCkpO1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgdGhpcy5zY3JvbGxDb250ZW50UGFkZGluZ1RvcCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuc2Nyb2xsQ29udGVudCwgbnVsbCkucGFkZGluZ1RvcC5yZXBsYWNlKCdweCcsICcnKTtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgPSBwYXJzZUZsb2F0KHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3ApO1xyXG4gICAgdGhpcy5vcmlnaW5hbFRvb2xiYXJCZ0NvbG9yID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgbnVsbCkuYmFja2dyb3VuZENvbG9yO1xyXG5cclxuICAgIC8vIGhlYWRlciBhbmQgdGl0bGVcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5oZWFkZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xyXG4gICAgaWYgKHRoaXMub3ZlcmxheVRpdGxlKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdjb2xvcicsIHRoaXMudGl0bGVDb2xvcik7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5vdmVybGF5VGl0bGUsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMub3ZlcmxheVRpdGxlLCAnaGVpZ2h0JywgJzEwMCUnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm92ZXJsYXlUaXRsZSwgJ3RleHQtYWxpZ24nLCAnY2VudGVyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY29sb3Igb3ZlcmxheVxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RoaXMubWF4aW11bUhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAndG9wJywgYCR7LXRoaXMuaGVhZGVyTWluSGVpZ2h0ICogMH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ2xlZnQnLCAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbG9yT3ZlcmxheSwgJ3dpZHRoJywgJzEwMCUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICd6LWluZGV4JywgJzEwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29sb3JPdmVybGF5LCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG5cclxuICAgIC8vIGltYWdlIG92ZXJsYXlcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWNvbG9yJywgdGhpcy5leHBhbmRlZENvbG9yKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLWltYWdlJywgYHVybCgke3RoaXMuaW1hZ2VVcmwgfHwgJyd9KWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAxMDAlYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1hZ2VPdmVybGF5LCAnd2lkdGgnLCAnMTAwJScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXNpemUnLCAnY292ZXInKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWFnZU92ZXJsYXksICdiYWNrZ3JvdW5kLXBvc2l0aW9uJywgJ2NlbnRlcicpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmRcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sYmFyQmFja2dyb3VuZCwgJ2JhY2tncm91bmQtY29sb3InLCB0aGlzLm9yaWdpbmFsVG9vbGJhckJnQ29sb3IpO1xyXG5cclxuICAgIC8vIC5iYXItYnV0dG9uc1xyXG4gICAgaWYgKHRoaXMuYmFyQnV0dG9ucykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFyQnV0dG9ucywgJ3BvaW50ZXItZXZlbnRzJywgJ2FsbCcpO1xyXG4gICAgICBBcnJheS5mcm9tKHRoaXMuYmFyQnV0dG9ucy5jaGlsZHJlbikuZm9yRWFjaChidG4gPT4ge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCB0aGlzLnRpdGxlQ29sb3IpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAuc2Nyb2xsLWNvbnRlbnRcclxuICAgIGlmICh0aGlzLnNjcm9sbENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFyYWxsYXgnLCAnJyk7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zY3JvbGxDb250ZW50LCAncGFkZGluZy10b3AnLFxyXG4gICAgICAgIGAke3RoaXMubWF4aW11bUhlaWdodCArIHRoaXMuc2Nyb2xsQ29udGVudFBhZGRpbmdUb3AgLSB0aGlzLmhlYWRlck1pbkhlaWdodH1weGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdEV2ZW50cygpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5zY3JvbGxDb250ZW50LmNsaWVudEhlaWdodDtcclxuICAgIH0sIGZhbHNlKTtcclxuXHJcbiAgICBpZiAodGhpcy5zY3JvbGxDb250ZW50KSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsQ29udGVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoZSkgPT4ge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMudGlja2luZykge1xyXG4gICAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRWxhc3RpY0hlYWRlcigpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGlja2luZyA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlRWxhc3RpY0hlYWRlcigpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxDb250ZW50IHx8ICF0b29sYmFyKSB7IHJldHVybjsgfVxyXG5cclxuICAgIHRoaXMuc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxDb250ZW50LnNjcm9sbFRvcDtcclxuICAgIGlmICh0aGlzLnNjcm9sbFRvcCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gdGhpcy5zY3JvbGxUb3AgLyAyO1xyXG4gICAgICB0aGlzLnNjYWxlQW10ID0gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlQW10ID0gMDtcclxuICAgICAgdGhpcy5zY2FsZUFtdCA9IC10aGlzLnNjcm9sbFRvcCAvIHRoaXMuaGVhZGVySGVpZ2h0ICsgMTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQYXJhbGxheCB0b3RhbCBwcm9ncmVzc1xyXG4gICAgdGhpcy5oZWFkZXJNaW5IZWlnaHQgPSB0aGlzLnRvb2xiYXIub2Zmc2V0SGVpZ2h0O1xyXG4gICAgbGV0IHByb2dyZXNzID0gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuc2Nyb2xsVG9wIC0gdGhpcy5oZWFkZXJNaW5IZWlnaHQpIC8gKHRoaXMubWF4aW11bUhlaWdodCAtIHRoaXMuaGVhZGVyTWluSGVpZ2h0KTtcclxuICAgIHByb2dyZXNzID0gTWF0aC5tYXgocHJvZ3Jlc3MsIDApO1xyXG5cclxuICAgIC8vIGlvbi1oZWFkZXI6IHNldCBoZWlnaHRcclxuICAgIGxldCB0YXJnZXRIZWlnaHQgPSB0aGlzLm1heGltdW1IZWlnaHQgLSB0aGlzLnNjcm9sbFRvcDtcclxuICAgIHRhcmdldEhlaWdodCA9IE1hdGgubWF4KHRhcmdldEhlaWdodCwgdGhpcy5oZWFkZXJNaW5IZWlnaHQpO1xyXG5cclxuICAgIC8vIC50b29sYmFyLWJhY2tncm91bmQ6IGNoYW5nZSBjb2xvclxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ2hlaWdodCcsIGAke3RhcmdldEhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltYWdlT3ZlcmxheSwgJ29wYWNpdHknLCBgJHtwcm9ncmVzc31gKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdoZWlnaHQnLCBgJHt0YXJnZXRIZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb2xvck92ZXJsYXksICdvcGFjaXR5JywgdGFyZ2V0SGVpZ2h0ID4gdGhpcy5oZWFkZXJNaW5IZWlnaHQgPyAnMScgOiAnMCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2xiYXJCYWNrZ3JvdW5kLCAnYmFja2dyb3VuZC1jb2xvcicsXHJcbiAgICAgIHRhcmdldEhlaWdodCA+IHRoaXMuaGVhZGVyTWluSGVpZ2h0ID8gJ3RyYW5zcGFyZW50JyA6IHRoaXMub3JpZ2luYWxUb29sYmFyQmdDb2xvcik7XHJcblxyXG4gICAgLy8gLmJhci1idXR0b25zXHJcbiAgICBpZiAodGhpcy5iYXJCdXR0b25zKSB7XHJcbiAgICAgIGlmICh0YXJnZXRIZWlnaHQgPiB0aGlzLmhlYWRlck1pbkhlaWdodCkge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VPdmVybGF5LmFwcGVuZCh0aGlzLmJhckJ1dHRvbnMpO1xyXG4gICAgICAgIEFycmF5LmZyb20odGhpcy5iYXJCdXR0b25zLmNoaWxkcmVuKS5mb3JFYWNoKGJ0biA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGJ0biwgJ2NvbG9yJywgdGhpcy50aXRsZUNvbG9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXIuYXBwZW5kKHRoaXMuYmFyQnV0dG9ucyk7XHJcbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmJhckJ1dHRvbnMuY2hpbGRyZW4pLmZvckVhY2goYnRuID0+IHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoYnRuLCAnY29sb3InLCAndW5zZXQnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGlja2luZyA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0= |
@@ -200,2 +200,9 @@ import { Directive, ElementRef, Input, Renderer2, NgModule } from '@angular/core'; | ||
this.imageOverlay.append(this.barButtons); | ||
Array.from(this.barButtons.children).forEach((/** | ||
* @param {?} btn | ||
* @return {?} | ||
*/ | ||
btn => { | ||
this.renderer.setStyle(btn, 'color', this.titleColor); | ||
})); | ||
} | ||
@@ -202,0 +209,0 @@ else { |
@@ -216,2 +216,9 @@ import { Directive, ElementRef, Input, Renderer2, NgModule } from '@angular/core'; | ||
this.imageOverlay.append(this.barButtons); | ||
Array.from(this.barButtons.children).forEach((/** | ||
* @param {?} btn | ||
* @return {?} | ||
*/ | ||
function (btn) { | ||
_this.renderer.setStyle(btn, 'color', _this.titleColor); | ||
})); | ||
} | ||
@@ -218,0 +225,0 @@ else { |
{ | ||
"name": "ionic-header-parallax", | ||
"version": "2.1.0", | ||
"version": "2.1.1", | ||
"description": "This directive enables parallax effect on `ion-header` elements to display a cover photo while on top of the page and transition it to the normal navbar when content is scrolled down.", | ||
@@ -5,0 +5,0 @@ "main": "bundles/ionic-header-parallax.umd.js", |
# Parallax Header Directive for Ionic v4 # | ||
> For Ionic 3 use version [1.0.1](https://www.npmjs.com/package/ionic-header-parallax/v/1.0.1) of this package. | ||
> For Ionic 3 use version [1.0.1](https://www.npmjs.com/package/ionic-header-parallax/v/1.0.1) of this package: `$ npm ionic-header-parallax@1.0.1`. | ||
@@ -55,2 +55,5 @@ This directive enables parallax effect on `ion-header` elements to display a cover photo while on top of the page and transition it to the normal navbar when content is scrolled down. | ||
## Modifying the Source Code ## | ||
In case you need to make your own modifications, the package is pritty simple, just 1 .ts file. You can clone the repo wherever in your ionic project (usually inside the `directives` folder): `$ git clone https://github.com/RaschidJFR/ionic-header-parallax.git`. Then edit the file `src/lib/parallax.directive.ts`. | ||
## Credits ## | ||
@@ -57,0 +60,0 @@ This is an implementation of this awesome tutorial on v2 by [Josh Morony](https://www.joshmorony.com/how-to-create-a-directive-in-ionic-2-parallax-header/). Thanks. |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
194754
1587
64