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

rfx-scroll-animation

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rfx-scroll-animation - npm Package Compare versions

Comparing version 2.0.1 to 2.1.0

20

bundles/rfx-scroll-animation.umd.js

@@ -99,3 +99,3 @@ (function (global, factory) {

this.elementVisibleChange = new i0.EventEmitter();
this.currentTransition = 'translate3d(0, 0, 0) scale(1)';
this.currentTransition = 'translate(0, 0) scale(1)';
this.animationVisibility = AnimationVisibilityEnum.HIDDEN;

@@ -150,13 +150,13 @@ }

case AnimationTypeEnum.TOP:
return "translate3d(0, -" + animationDistancePx + "px, 0) scale(1)";
return "translate(0, -" + animationDistancePx + "px) scale(1)";
case AnimationTypeEnum.BOTTOM:
return "translate3d(0, " + animationDistancePx + "px, 0) scale(1)";
return "translate(0, " + animationDistancePx + "px) scale(1)";
case AnimationTypeEnum.LEFT:
return "translate3d(-" + animationDistancePx + "px, 0, 0) scale(1)";
return "translate(-" + animationDistancePx + "px, 0) scale(1)";
case AnimationTypeEnum.RIGHT:
return "translate3d(" + animationDistancePx + "px, 0, 0) scale(1)";
return "translate(" + animationDistancePx + "px, 0) scale(1)";
case AnimationTypeEnum.ZOOM:
return "translate3d(0, 0, 0) scale(" + scaleRatio + ")";
return "translate(0, 0) scale(" + scaleRatio + ")";
default:
return 'translate3d(0, 0, 0) scale(1)';
return 'translate(0, 0) scale(1)';
}

@@ -210,3 +210,3 @@ };

opacity: 1,
transform: 'translate3d(0, 0, 0)'
transform: 'translate(0, 0)'
})),

@@ -216,3 +216,3 @@ animations.state('hidden', animations.style({

transform: '{{ currentTransition }}'
}), { params: { currentTransition: 'translate3d(0, 0, 0) scale(1)' } }),
}), { params: { currentTransition: 'translate(0, 0) scale(1)' } }),
animations.transition('visible <=> hidden', [

@@ -223,3 +223,3 @@ animations.animate('{{ transitionDurationMs }}ms {{ transitionDelayMs }}ms {{ transitionTimingFunction }}')

],
styles: [""]
styles: [":host{will-change:transform,opacity}"]
},] }

@@ -226,0 +226,0 @@ ];

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

!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("@angular/core"),require("@angular/platform-browser"),require("@angular/platform-browser/animations"),require("@angular/animations"),require("@angular/router"),require("rxjs")):"function"==typeof define&&define.amd?define("rfx-scroll-animation",["exports","@angular/core","@angular/platform-browser","@angular/platform-browser/animations","@angular/animations","@angular/router","rxjs"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self)["rfx-scroll-animation"]={},t.ng.core,t.ng.platformBrowser,t.ng.platformBrowser.animations,t.ng.animations,t.ng.router,t.rxjs)}(this,(function(t,i,n,e,r,o,s){"use strict";var a,u;!function(t){t.NONE="none",t.TOP="top",t.BOTTOM="bottom",t.RIGHT="right",t.LEFT="left",t.ZOOM="zoom"}(a||(a={})),function(t){t.VISIBLE="visible",t.HIDDEN="hidden"}(u||(u={}));var l=function(){function t(t,i){this.rendererFactory=t,this.router=i,this.subjectScroll=new s.Subject,this.subjectNavigation=new s.BehaviorSubject(!1),this.renderer=this.rendererFactory.createRenderer(null,null)}return t.prototype.ngOnDestroy=function(){this.destroyListeners()},t.prototype.destroyListeners=function(){var t;this.mouseScrollEvent&&this.mouseScrollEvent(),null===(t=this.routerNavEvent)||void 0===t||t.unsubscribe()},t.prototype.initListeners=function(t){var i=this;this.destroyListeners(),this.mouseScrollEvent=this.renderer.listen(null!=t?t:document,"scroll",(function(){return i.onMouseScroll()})),this.initRouterEventListener()},t.prototype.initRouterEventListener=function(){var t=this;this.routerNavEvent=this.router.events.subscribe((function(i){i instanceof o.NavigationEnd&&t.onRouterEvent(!0),i instanceof o.NavigationStart&&t.onRouterEvent(!1)}))},t.prototype.onRouterEvent=function(t){this.subjectNavigation.next(t)},t.prototype.onMouseScroll=function(){this.subjectScroll.next()},t.prototype.getMouseScroll=function(){return this.subjectScroll.asObservable()},t.prototype.getRouterEvent=function(){return this.subjectNavigation.asObservable()},t.prototype.getRouterEventValue=function(){return this.subjectNavigation.value},t}();l.ɵprov=i.ɵɵdefineInjectable({factory:function(){return new l(i.ɵɵinject(i.RendererFactory2),i.ɵɵinject(o.Router))},token:l,providedIn:"root"}),l.decorators=[{type:i.Injectable,args:[{providedIn:"root"}]}],l.ctorParameters=function(){return[{type:i.RendererFactory2},{type:o.Router}]};var c=function(){function t(t,n){this.htmlElement=t,this.rfxScrollAnimationService=n,this.animationType=a.NONE,this.animationDistancePx=25,this.distanceFromPageBottomPercentage=20,this.transitionDurationMs=500,this.transitionDelayMs=0,this.transitionTimingFunction="cubic-bezier(0.4, 0.0, 0.2, 1)",this.scaleRatio=1.5,this.isOnlyFirstTime=!0,this.elementVisibleChange=new i.EventEmitter,this.currentTransition="translate3d(0, 0, 0) scale(1)",this.animationVisibility=u.HIDDEN}return Object.defineProperty(t.prototype,"visibility",{get:function(){return this.animationType===a.NONE?null:{value:this.animationVisibility,params:{currentTransition:this.currentTransition,transitionTimingFunction:this.transitionTimingFunction,transitionDurationMs:this.transitionDurationMs,transitionDelayMs:this.transitionDelayMs,scaleRatio:this.scaleRatio}}},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){this.onRouterEvent(this.rfxScrollAnimationService.getRouterEventValue()),this.subscribeToScrollEvent(),this.subscribeToRouterEvent()},t.prototype.ngOnDestroy=function(){var t,i;null===(t=this.scrollListenerSubscription)||void 0===t||t.unsubscribe(),null===(i=this.routerListenerSubscription)||void 0===i||i.unsubscribe()},t.prototype.ngOnChanges=function(t){var i,n,e;void 0===(null===(i=null==t?void 0:t.animationType)||void 0===i?void 0:i.currentValue)&&void 0===(null===(n=null==t?void 0:t.animationDistancePx)||void 0===n?void 0:n.currentValue)&&void 0===(null===(e=null==t?void 0:t.scaleRatio)||void 0===e?void 0:e.currentValue)||(this.currentTransition=this.getCurrentTransition(this.animationType,this.animationDistancePx,this.scaleRatio))},t.prototype.subscribeToScrollEvent=function(){var t=this;this.scrollListenerSubscription=this.rfxScrollAnimationService.getMouseScroll().subscribe((function(){return t.onMouseScroll()}))},t.prototype.subscribeToRouterEvent=function(){var t=this;this.routerListenerSubscription=this.rfxScrollAnimationService.getRouterEvent().subscribe((function(i){return t.onRouterEvent(i)}))},t.prototype.getCurrentTransition=function(t,i,n){switch(void 0===i&&(i=0),void 0===n&&(n=1),t){case a.TOP:return"translate3d(0, -"+i+"px, 0) scale(1)";case a.BOTTOM:return"translate3d(0, "+i+"px, 0) scale(1)";case a.LEFT:return"translate3d(-"+i+"px, 0, 0) scale(1)";case a.RIGHT:return"translate3d("+i+"px, 0, 0) scale(1)";case a.ZOOM:return"translate3d(0, 0, 0) scale("+n+")";default:return"translate3d(0, 0, 0) scale(1)"}},t.prototype.isElementInVisibleArea=function(t,i){var n=window.scrollY+window.innerHeight,e=window.innerHeight/100*i;return n>=t.getBoundingClientRect().top+window.pageYOffset-document.documentElement.clientTop+e},t.prototype.onRouterEvent=function(t){var i=this;t&&setTimeout((function(){i.onMouseScroll()}))},t.prototype.onMouseScroll=function(){var t,i=this.isElementInVisibleArea(this.htmlElement.nativeElement,this.distanceFromPageBottomPercentage);this.isOnlyFirstTime&&this.animationVisibility===u.VISIBLE&&(null===(t=this.scrollListenerSubscription)||void 0===t||t.unsubscribe()),i&&this.animationVisibility===u.HIDDEN?this.setVisibility(u.VISIBLE):i||this.animationVisibility!==u.VISIBLE||this.setVisibility(u.HIDDEN)},t.prototype.setVisibility=function(t){this.animationVisibility=t,this.elementVisibleChange.emit(t===u.VISIBLE)},t.prototype.hideElement=function(){var t;null===(t=this.scrollListenerSubscription)||void 0===t||t.unsubscribe(),this.subscribeToScrollEvent(),this.setVisibility(u.HIDDEN)},t}();c.decorators=[{type:i.Component,args:[{selector:"[libRfxScrollAnimation]",template:"<ng-content></ng-content>\r\n",animations:[r.trigger("visibility",[r.state("visible",r.style({opacity:1,transform:"translate3d(0, 0, 0)"})),r.state("hidden",r.style({opacity:0,transform:"{{ currentTransition }}"}),{params:{currentTransition:"translate3d(0, 0, 0) scale(1)"}}),r.transition("visible <=> hidden",[r.animate("{{ transitionDurationMs }}ms {{ transitionDelayMs }}ms {{ transitionTimingFunction }}")],{params:{transitionDurationMs:0,transitionDelayMs:0,transitionTimingFunction:"ease"}})])],styles:[""]}]}],c.ctorParameters=function(){return[{type:i.ElementRef},{type:l}]},c.propDecorators={animationType:[{type:i.Input}],animationDistancePx:[{type:i.Input}],distanceFromPageBottomPercentage:[{type:i.Input}],transitionDurationMs:[{type:i.Input}],transitionDelayMs:[{type:i.Input}],transitionTimingFunction:[{type:i.Input}],scaleRatio:[{type:i.Input}],isOnlyFirstTime:[{type:i.Input}],elementVisibleChange:[{type:i.Output}],visibility:[{type:i.HostBinding,args:["@visibility"]}]};var p=function(){};p.decorators=[{type:i.NgModule,args:[{declarations:[c],imports:[n.BrowserModule,e.BrowserAnimationsModule],exports:[c]}]}],t.RfxScrollAnimationComponent=c,t.RfxScrollAnimationModule=p,t.RfxScrollAnimationService=l,Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("@angular/core"),require("@angular/platform-browser"),require("@angular/platform-browser/animations"),require("@angular/animations"),require("@angular/router"),require("rxjs")):"function"==typeof define&&define.amd?define("rfx-scroll-animation",["exports","@angular/core","@angular/platform-browser","@angular/platform-browser/animations","@angular/animations","@angular/router","rxjs"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self)["rfx-scroll-animation"]={},t.ng.core,t.ng.platformBrowser,t.ng.platformBrowser.animations,t.ng.animations,t.ng.router,t.rxjs)}(this,(function(t,i,n,e,r,o,s){"use strict";var a,l;!function(t){t.NONE="none",t.TOP="top",t.BOTTOM="bottom",t.RIGHT="right",t.LEFT="left",t.ZOOM="zoom"}(a||(a={})),function(t){t.VISIBLE="visible",t.HIDDEN="hidden"}(l||(l={}));var u=function(){function t(t,i){this.rendererFactory=t,this.router=i,this.subjectScroll=new s.Subject,this.subjectNavigation=new s.BehaviorSubject(!1),this.renderer=this.rendererFactory.createRenderer(null,null)}return t.prototype.ngOnDestroy=function(){this.destroyListeners()},t.prototype.destroyListeners=function(){var t;this.mouseScrollEvent&&this.mouseScrollEvent(),null===(t=this.routerNavEvent)||void 0===t||t.unsubscribe()},t.prototype.initListeners=function(t){var i=this;this.destroyListeners(),this.mouseScrollEvent=this.renderer.listen(null!=t?t:document,"scroll",(function(){return i.onMouseScroll()})),this.initRouterEventListener()},t.prototype.initRouterEventListener=function(){var t=this;this.routerNavEvent=this.router.events.subscribe((function(i){i instanceof o.NavigationEnd&&t.onRouterEvent(!0),i instanceof o.NavigationStart&&t.onRouterEvent(!1)}))},t.prototype.onRouterEvent=function(t){this.subjectNavigation.next(t)},t.prototype.onMouseScroll=function(){this.subjectScroll.next()},t.prototype.getMouseScroll=function(){return this.subjectScroll.asObservable()},t.prototype.getRouterEvent=function(){return this.subjectNavigation.asObservable()},t.prototype.getRouterEventValue=function(){return this.subjectNavigation.value},t}();u.ɵprov=i.ɵɵdefineInjectable({factory:function(){return new u(i.ɵɵinject(i.RendererFactory2),i.ɵɵinject(o.Router))},token:u,providedIn:"root"}),u.decorators=[{type:i.Injectable,args:[{providedIn:"root"}]}],u.ctorParameters=function(){return[{type:i.RendererFactory2},{type:o.Router}]};var c=function(){function t(t,n){this.htmlElement=t,this.rfxScrollAnimationService=n,this.animationType=a.NONE,this.animationDistancePx=25,this.distanceFromPageBottomPercentage=20,this.transitionDurationMs=500,this.transitionDelayMs=0,this.transitionTimingFunction="cubic-bezier(0.4, 0.0, 0.2, 1)",this.scaleRatio=1.5,this.isOnlyFirstTime=!0,this.elementVisibleChange=new i.EventEmitter,this.currentTransition="translate(0, 0) scale(1)",this.animationVisibility=l.HIDDEN}return Object.defineProperty(t.prototype,"visibility",{get:function(){return this.animationType===a.NONE?null:{value:this.animationVisibility,params:{currentTransition:this.currentTransition,transitionTimingFunction:this.transitionTimingFunction,transitionDurationMs:this.transitionDurationMs,transitionDelayMs:this.transitionDelayMs,scaleRatio:this.scaleRatio}}},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){this.onRouterEvent(this.rfxScrollAnimationService.getRouterEventValue()),this.subscribeToScrollEvent(),this.subscribeToRouterEvent()},t.prototype.ngOnDestroy=function(){var t,i;null===(t=this.scrollListenerSubscription)||void 0===t||t.unsubscribe(),null===(i=this.routerListenerSubscription)||void 0===i||i.unsubscribe()},t.prototype.ngOnChanges=function(t){var i,n,e;void 0===(null===(i=null==t?void 0:t.animationType)||void 0===i?void 0:i.currentValue)&&void 0===(null===(n=null==t?void 0:t.animationDistancePx)||void 0===n?void 0:n.currentValue)&&void 0===(null===(e=null==t?void 0:t.scaleRatio)||void 0===e?void 0:e.currentValue)||(this.currentTransition=this.getCurrentTransition(this.animationType,this.animationDistancePx,this.scaleRatio))},t.prototype.subscribeToScrollEvent=function(){var t=this;this.scrollListenerSubscription=this.rfxScrollAnimationService.getMouseScroll().subscribe((function(){return t.onMouseScroll()}))},t.prototype.subscribeToRouterEvent=function(){var t=this;this.routerListenerSubscription=this.rfxScrollAnimationService.getRouterEvent().subscribe((function(i){return t.onRouterEvent(i)}))},t.prototype.getCurrentTransition=function(t,i,n){switch(void 0===i&&(i=0),void 0===n&&(n=1),t){case a.TOP:return"translate(0, -"+i+"px) scale(1)";case a.BOTTOM:return"translate(0, "+i+"px) scale(1)";case a.LEFT:return"translate(-"+i+"px, 0) scale(1)";case a.RIGHT:return"translate("+i+"px, 0) scale(1)";case a.ZOOM:return"translate(0, 0) scale("+n+")";default:return"translate(0, 0) scale(1)"}},t.prototype.isElementInVisibleArea=function(t,i){var n=window.scrollY+window.innerHeight,e=window.innerHeight/100*i;return n>=t.getBoundingClientRect().top+window.pageYOffset-document.documentElement.clientTop+e},t.prototype.onRouterEvent=function(t){var i=this;t&&setTimeout((function(){i.onMouseScroll()}))},t.prototype.onMouseScroll=function(){var t,i=this.isElementInVisibleArea(this.htmlElement.nativeElement,this.distanceFromPageBottomPercentage);this.isOnlyFirstTime&&this.animationVisibility===l.VISIBLE&&(null===(t=this.scrollListenerSubscription)||void 0===t||t.unsubscribe()),i&&this.animationVisibility===l.HIDDEN?this.setVisibility(l.VISIBLE):i||this.animationVisibility!==l.VISIBLE||this.setVisibility(l.HIDDEN)},t.prototype.setVisibility=function(t){this.animationVisibility=t,this.elementVisibleChange.emit(t===l.VISIBLE)},t.prototype.hideElement=function(){var t;null===(t=this.scrollListenerSubscription)||void 0===t||t.unsubscribe(),this.subscribeToScrollEvent(),this.setVisibility(l.HIDDEN)},t}();c.decorators=[{type:i.Component,args:[{selector:"[libRfxScrollAnimation]",template:"<ng-content></ng-content>\r\n",animations:[r.trigger("visibility",[r.state("visible",r.style({opacity:1,transform:"translate(0, 0)"})),r.state("hidden",r.style({opacity:0,transform:"{{ currentTransition }}"}),{params:{currentTransition:"translate(0, 0) scale(1)"}}),r.transition("visible <=> hidden",[r.animate("{{ transitionDurationMs }}ms {{ transitionDelayMs }}ms {{ transitionTimingFunction }}")],{params:{transitionDurationMs:0,transitionDelayMs:0,transitionTimingFunction:"ease"}})])],styles:[":host{will-change:transform,opacity}"]}]}],c.ctorParameters=function(){return[{type:i.ElementRef},{type:u}]},c.propDecorators={animationType:[{type:i.Input}],animationDistancePx:[{type:i.Input}],distanceFromPageBottomPercentage:[{type:i.Input}],transitionDurationMs:[{type:i.Input}],transitionDelayMs:[{type:i.Input}],transitionTimingFunction:[{type:i.Input}],scaleRatio:[{type:i.Input}],isOnlyFirstTime:[{type:i.Input}],elementVisibleChange:[{type:i.Output}],visibility:[{type:i.HostBinding,args:["@visibility"]}]};var p=function(){};p.decorators=[{type:i.NgModule,args:[{declarations:[c],imports:[n.BrowserModule,e.BrowserAnimationsModule],exports:[c]}]}],t.RfxScrollAnimationComponent=c,t.RfxScrollAnimationModule=p,t.RfxScrollAnimationService=u,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=rfx-scroll-animation.umd.min.js.map

@@ -19,3 +19,3 @@ import { animate, state, style, transition, trigger } from '@angular/animations';

this.elementVisibleChange = new EventEmitter();
this.currentTransition = 'translate3d(0, 0, 0) scale(1)';
this.currentTransition = 'translate(0, 0) scale(1)';
this.animationVisibility = AnimationVisibilityEnum.HIDDEN;

@@ -62,13 +62,13 @@ }

case AnimationTypeEnum.TOP:
return `translate3d(0, -${animationDistancePx}px, 0) scale(1)`;
return `translate(0, -${animationDistancePx}px) scale(1)`;
case AnimationTypeEnum.BOTTOM:
return `translate3d(0, ${animationDistancePx}px, 0) scale(1)`;
return `translate(0, ${animationDistancePx}px) scale(1)`;
case AnimationTypeEnum.LEFT:
return `translate3d(-${animationDistancePx}px, 0, 0) scale(1)`;
return `translate(-${animationDistancePx}px, 0) scale(1)`;
case AnimationTypeEnum.RIGHT:
return `translate3d(${animationDistancePx}px, 0, 0) scale(1)`;
return `translate(${animationDistancePx}px, 0) scale(1)`;
case AnimationTypeEnum.ZOOM:
return `translate3d(0, 0, 0) scale(${scaleRatio})`;
return `translate(0, 0) scale(${scaleRatio})`;
default:
return 'translate3d(0, 0, 0) scale(1)';
return 'translate(0, 0) scale(1)';
}

@@ -120,3 +120,3 @@ }

opacity: 1,
transform: 'translate3d(0, 0, 0)'
transform: 'translate(0, 0)'
})),

@@ -126,3 +126,3 @@ state('hidden', style({

transform: '{{ currentTransition }}'
}), { params: { currentTransition: 'translate3d(0, 0, 0) scale(1)' } }),
}), { params: { currentTransition: 'translate(0, 0) scale(1)' } }),
transition('visible <=> hidden', [

@@ -133,3 +133,3 @@ animate('{{ transitionDurationMs }}ms {{ transitionDelayMs }}ms {{ transitionTimingFunction }}')

],
styles: [""]
styles: [":host{will-change:transform,opacity}"]
},] }

@@ -153,2 +153,2 @@ ];

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmZ4LXNjcm9sbC1hbmltYXRpb24vc3JjL2xpYi9yZngtc2Nyb2xsLWFuaW1hdGlvbi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUc3SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQXNCNUUsTUFBTSxPQUFPLDJCQUEyQjtJQStCdEMsWUFDVSxXQUF1QixFQUN2Qix5QkFBb0Q7UUFEcEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUU1RCxJQUFJLENBQUMsYUFBYSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNqRSxJQUFJLENBQUMsVUFB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VSxDQUFDLG9CQUFvQixFQUFFOzRCQUMvQixPQUFPLENBQUMsdUZBQXVGLENBQUM7eUJBQ2pHLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxFQUFDLENBQUM7cUJBQ25HLENBQUM7aUJBQ0g7O2FBQ0Y7OztZQTFCbUIsVUFBVTtZQUtyQix5QkFBeUI7Ozs0QkF1Qi9CLEtBQUs7a0NBQ0wsS0FBSzsrQ0FDTCxLQUFLO21DQUNMLEtBQUs7Z0NBQ0wsS0FBSzt1Q0FDTCxLQUFLO3lCQUNMLEtBQUs7OEJBQ0wsS0FBSzttQ0FDTCxNQUFNO3lCQVFOLFdBQVcsU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRXhwSW50ZXJmYWNlIH0gZnJvbSAnLi4vYW5pbWF0aW9uL2FuaW1hdGlvbi1leHAuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi9hbmltYXRpb24vYW5pbWF0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtIH0gZnJvbSAnLi4vYW5pbWF0aW9uL2FuaW1hdGlvbi12aXNpYmxpdHkuZW51bSc7XHJcbmltcG9ydCB7IFJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYlJmeFNjcm9sbEFuaW1hdGlvbl0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmZ4LXNjcm9sbC1hbmltYXRpb24uY29tcG9uZW50Lmxlc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCd2aXNpYmlsaXR5JywgW1xyXG4gICAgICBzdGF0ZSgndmlzaWJsZScsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHN0YXRlKCdoaWRkZW4nLCBzdHlsZSh7XHJcbiAgICAgICAgb3BhY2l0eTogMCxcclxuICAgICAgICB0cmFuc2Zvcm06ICd7eyBjdXJyZW50VHJhbnNpdGlvbiB9fSdcclxuICAgICAgfSksIHsgcGFyYW1zOiB7IGN1cnJlbnRUcmFuc2l0aW9uOiAndHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSknIH19KSxcclxuICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA8PT4gaGlkZGVuJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJ3t7IHRyYW5zaXRpb25EdXJhdGlvbk1zIH19bXMge3sgdHJhbnNpdGlvbkRlbGF5TXMgfX1tcyB7eyB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24gfX0nKVxyXG4gICAgICBdLCB7IHBhcmFtczogeyB0cmFuc2l0aW9uRHVyYXRpb25NczogMCwgdHJhbnNpdGlvbkRlbGF5TXM6IDAsIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjogJ2Vhc2UnIH19KVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZnhTY3JvbGxBbmltYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBwdWJsaWMgYW5pbWF0aW9uVHlwZTogQW5pbWF0aW9uVHlwZUVudW07XHJcbiAgQElucHV0KCkgcHVibGljIGFuaW1hdGlvbkRpc3RhbmNlUHg6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgZGlzdGFuY2VGcm9tUGFnZUJvdHRvbVBlcmNlbnRhZ2U6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgdHJhbnNpdGlvbkR1cmF0aW9uTXM6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgdHJhbnNpdGlvbkRlbGF5TXM6IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIHNjYWxlUmF0aW86IG51bWJlcjtcclxuICBASW5wdXQoKSBwdWJsaWMgaXNPbmx5Rmlyc3RUaW1lOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZWxlbWVudFZpc2libGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgcHJpdmF0ZSBzY3JvbGxMaXN0ZW5lclN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHJvdXRlckxpc3RlbmVyU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwdWJsaWMgYW5pbWF0aW9uVmlzaWJpbGl0eTogQW5pbWF0aW9uVmlzaWJpbGl0eUVudW07XHJcbiAgcHVibGljIGN1cnJlbnRUcmFuc2l0aW9uOiBzdHJpbmc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnQHZpc2liaWxpdHknKVxyXG4gIGdldCB2aXNpYmlsaXR5KCk6IEFuaW1hdGlvbkV4cEludGVyZmFjZSB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uVHlwZSA9PT0gQW5pbWF0aW9uVHlwZUVudW0uTk9ORSA/IG51bGwgOiB7XHJcbiAgICAgIHZhbHVlOiB0aGlzLmFuaW1hdGlvblZpc2liaWxpdHksXHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIGN1cnJlbnRUcmFuc2l0aW9uOiB0aGlzLmN1cnJlbnRUcmFuc2l0aW9uLFxyXG4gICAgICAgIHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjogdGhpcy50cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24sXHJcbiAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uTXM6IHRoaXMudHJhbnNpdGlvbkR1cmF0aW9uTXMsXHJcbiAgICAgICAgdHJhbnNpdGlvbkRlbGF5TXM6IHRoaXMudHJhbnNpdGlvbkRlbGF5TXMsXHJcbiAgICAgICAgc2NhbGVSYXRpbzogdGhpcy5zY2FsZVJhdGlvXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodG1sRWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZTogUmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5hbmltYXRpb25UeXBlID0gQW5pbWF0aW9uVHlwZUVudW0uTk9ORTtcclxuICAgIHRoaXMuYW5pbWF0aW9uRGlzdGFuY2VQeCA9IDI1O1xyXG4gICAgdGhpcy5kaXN0YW5jZUZyb21QYWdlQm90dG9tUGVyY2VudGFnZSA9IDIwO1xyXG4gICAgdGhpcy50cmFuc2l0aW9uRHVyYXRpb25NcyA9IDUwMDtcclxuICAgIHRoaXMudHJhbnNpdGlvbkRlbGF5TXMgPSAwO1xyXG4gICAgdGhpcy50cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24gPSAnY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpJztcclxuICAgIHRoaXMuc2NhbGVSYXRpbyA9IDEuNTtcclxuICAgIHRoaXMuaXNPbmx5Rmlyc3RUaW1lID0gdHJ1ZTtcclxuICAgIHRoaXMuZWxlbWVudFZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICB0aGlzLmN1cnJlbnRUcmFuc2l0aW9uID0gJ3RyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpJztcclxuICAgIHRoaXMuYW5pbWF0aW9uVmlzaWJpbGl0eSA9IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtLkhJRERFTjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25Sb3V0ZXJFdmVudCh0aGlzLnJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UuZ2V0Um91dGVyRXZlbnRWYWx1ZSgpKTtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9TY3JvbGxFdmVudCgpO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1JvdXRlckV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNjcm9sbExpc3RlbmVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5yb3V0ZXJMaXN0ZW5lclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGNoYW5nZXM/LmFuaW1hdGlvblR5cGU/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIGNoYW5nZXM/LmFuaW1hdGlvbkRpc3RhbmNlUHg/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIGNoYW5nZXM/LnNjYWxlUmF0aW8/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNpdGlvbiA9IHRoaXMuZ2V0Q3VycmVudFRyYW5zaXRpb24oXHJcbiAgICAgICAgdGhpcy5hbmltYXRpb25UeXBlLFxyXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uRGlzdGFuY2VQeCxcclxuICAgICAgICB0aGlzLnNjYWxlUmF0aW9cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9TY3JvbGxFdmVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXJTdWJzY3JpcHRpb24gPSB0aGlzLnJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UuZ2V0TW91c2VTY3JvbGwoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk1vdXNlU2Nyb2xsKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1JvdXRlckV2ZW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZXJMaXN0ZW5lclN1YnNjcmlwdGlvbiA9IHRoaXMucmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZS5nZXRSb3V0ZXJFdmVudCgpLnN1YnNjcmliZSgoaXNSZWFkeTogYm9vbGVhbikgPT4gdGhpcy5vblJvdXRlckV2ZW50KGlzUmVhZHkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q3VycmVudFRyYW5zaXRpb24oYW5pbWF0aW9uVHlwZTogQW5pbWF0aW9uVHlwZUVudW0sIGFuaW1hdGlvbkRpc3RhbmNlUHg6IG51bWJlciA9IDAsIHNjYWxlUmF0aW86IG51bWJlciA9IDEpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChhbmltYXRpb25UeXBlKSB7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uVE9QOlxyXG4gICAgICAgIHJldHVybiBgdHJhbnNsYXRlM2QoMCwgLSR7YW5pbWF0aW9uRGlzdGFuY2VQeH1weCwgMCkgc2NhbGUoMSlgO1xyXG4gICAgICBjYXNlIEFuaW1hdGlvblR5cGVFbnVtLkJPVFRPTTpcclxuICAgICAgICByZXR1cm4gYHRyYW5zbGF0ZTNkKDAsICR7YW5pbWF0aW9uRGlzdGFuY2VQeH1weCwgMCkgc2NhbGUoMSlgO1xyXG4gICAgICBjYXNlIEFuaW1hdGlvblR5cGVFbnVtLkxFRlQ6XHJcbiAgICAgICAgcmV0dXJuIGB0cmFuc2xhdGUzZCgtJHthbmltYXRpb25EaXN0YW5jZVB4fXB4LCAwLCAwKSBzY2FsZSgxKWA7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uUklHSFQ6XHJcbiAgICAgICAgcmV0dXJuIGB0cmFuc2xhdGUzZCgke2FuaW1hdGlvbkRpc3RhbmNlUHh9cHgsIDAsIDApIHNjYWxlKDEpYDtcclxuICAgICAgY2FzZSBBbmltYXRpb25UeXBlRW51bS5aT09NOlxyXG4gICAgICAgIHJldHVybiBgdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoJHtzY2FsZVJhdGlvfSlgO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAndHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSknO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0VsZW1lbnRJblZpc2libGVBcmVhKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBkaXN0YW5jZUZyb21QYWdlQm90dG9tUGVyY2VudGFnZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzY3JvbGxCb3R0b206IG51bWJlciA9IHdpbmRvdy5zY3JvbGxZICsgd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgY29uc3QgZGlzdGFuY2VJblB4OiBudW1iZXIgPSAod2luZG93LmlubmVySGVpZ2h0IC8gMTAwKSAqIGRpc3RhbmNlRnJvbVBhZ2VCb3R0b21QZXJjZW50YWdlO1xyXG4gICAgY29uc3QgcmVjdDogRE9NUmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBzY3JvbGxCb3R0b21XaXRoRGlzdGFuY2U6IG51bWJlciA9IHJlY3QudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFRvcCArIGRpc3RhbmNlSW5QeDtcclxuICAgIHJldHVybiBzY3JvbGxCb3R0b20gPj0gc2Nyb2xsQm90dG9tV2l0aERpc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblJvdXRlckV2ZW50KGlzUmVhZHk6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc1JlYWR5KSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLm9uTW91c2VTY3JvbGwoKSB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbk1vdXNlU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNFbGVtZW50SW5WaXNpYmxlQXJlYTogYm9vbGVhbiA9IHRoaXMuaXNFbGVtZW50SW5WaXNpYmxlQXJlYSh0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZGlzdGFuY2VGcm9tUGFnZUJvdHRvbVBlcmNlbnRhZ2UpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzT25seUZpcnN0VGltZSAmJiB0aGlzLmFuaW1hdGlvblZpc2liaWxpdHkgPT09IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtLlZJU0lCTEUpIHtcclxuICAgICAgdGhpcy5zY3JvbGxMaXN0ZW5lclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNFbGVtZW50SW5WaXNpYmxlQXJlYSAmJiB0aGlzLmFuaW1hdGlvblZpc2liaWxpdHkgPT09IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtLkhJRERFTikge1xyXG4gICAgICB0aGlzLnNldFZpc2liaWxpdHkoQW5pbWF0aW9uVmlzaWJpbGl0eUVudW0uVklTSUJMRSk7XHJcbiAgICB9IGVsc2UgaWYgKCFpc0VsZW1lbnRJblZpc2libGVBcmVhICYmIHRoaXMuYW5pbWF0aW9uVmlzaWJpbGl0eSA9PT0gQW5pbWF0aW9uVmlzaWJpbGl0eUVudW0uVklTSUJMRSkge1xyXG4gICAgICB0aGlzLnNldFZpc2liaWxpdHkoQW5pbWF0aW9uVmlzaWJpbGl0eUVudW0uSElEREVOKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmlzaWJpbGl0eSh2aXNpYmxlOiBBbmltYXRpb25WaXNpYmlsaXR5RW51bSk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb25WaXNpYmlsaXR5ID0gdmlzaWJsZTtcclxuICAgIHRoaXMuZWxlbWVudFZpc2libGVDaGFuZ2UuZW1pdCh2aXNpYmxlID09PSBBbmltYXRpb25WaXNpYmlsaXR5RW51bS5WSVNJQkxFKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoaWRlRWxlbWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvU2Nyb2xsRXZlbnQoKTtcclxuICAgIHRoaXMuc2V0VmlzaWJpbGl0eShBbmltYXRpb25WaXNpYmlsaXR5RW51bS5ISURERU4pO1xyXG4gIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmZ4LXNjcm9sbC1hbmltYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmZ4LXNjcm9sbC1hbmltYXRpb24vc3JjL2xpYi9yZngtc2Nyb2xsLWFuaW1hdGlvbi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUc3SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQXNCNUUsTUFBTSxPQUFPLDJCQUEyQjtJQStCdEMsWUFDVSxXQUF1QixFQUN2Qix5QkFBb0Q7UUFEcEQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUU1RCxJQUFJLENBQUMsYUFBYSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztRQUNqRSxJQUFJLENBQUMsVUFB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LG9CQUFvQixFQUFFOzRCQUMvQixPQUFPLENBQUMsdUZBQXVGLENBQUM7eUJBQ2pHLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxFQUFDLENBQUM7cUJBQ25HLENBQUM7aUJBQ0g7O2FBQ0Y7OztZQTFCbUIsVUFBVTtZQUtyQix5QkFBeUI7Ozs0QkF1Qi9CLEtBQUs7a0NBQ0wsS0FBSzsrQ0FDTCxLQUFLO21DQUNMLEtBQUs7Z0NBQ0wsS0FBSzt1Q0FDTCxLQUFLO3lCQUNMLEtBQUs7OEJBQ0wsS0FBSzttQ0FDTCxNQUFNO3lCQVFOLFdBQVcsU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRXhwSW50ZXJmYWNlIH0gZnJvbSAnLi4vYW5pbWF0aW9uL2FuaW1hdGlvbi1leHAuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQW5pbWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi9hbmltYXRpb24vYW5pbWF0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtIH0gZnJvbSAnLi4vYW5pbWF0aW9uL2FuaW1hdGlvbi12aXNpYmxpdHkuZW51bSc7XHJcbmltcG9ydCB7IFJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYlJmeFNjcm9sbEFuaW1hdGlvbl0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZngtc2Nyb2xsLWFuaW1hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmZ4LXNjcm9sbC1hbmltYXRpb24uY29tcG9uZW50Lmxlc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCd2aXNpYmlsaXR5JywgW1xyXG4gICAgICBzdGF0ZSgndmlzaWJsZScsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgwLCAwKSdcclxuICAgICAgfSkpLFxyXG4gICAgICBzdGF0ZSgnaGlkZGVuJywgc3R5bGUoe1xyXG4gICAgICAgIG9wYWNpdHk6IDAsXHJcbiAgICAgICAgdHJhbnNmb3JtOiAne3sgY3VycmVudFRyYW5zaXRpb24gfX0nXHJcbiAgICAgIH0pLCB7IHBhcmFtczogeyBjdXJyZW50VHJhbnNpdGlvbjogJ3RyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKScgfX0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiBoaWRkZW4nLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgne3sgdHJhbnNpdGlvbkR1cmF0aW9uTXMgfX1tcyB7eyB0cmFuc2l0aW9uRGVsYXlNcyB9fW1zIHt7IHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiB9fScpXHJcbiAgICAgIF0sIHsgcGFyYW1zOiB7IHRyYW5zaXRpb25EdXJhdGlvbk1zOiAwLCB0cmFuc2l0aW9uRGVsYXlNczogMCwgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOiAnZWFzZScgfX0pXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJmeFNjcm9sbEFuaW1hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhbmltYXRpb25UeXBlOiBBbmltYXRpb25UeXBlRW51bTtcclxuICBASW5wdXQoKSBwdWJsaWMgYW5pbWF0aW9uRGlzdGFuY2VQeDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXN0YW5jZUZyb21QYWdlQm90dG9tUGVyY2VudGFnZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmFuc2l0aW9uRHVyYXRpb25NczogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmFuc2l0aW9uRGVsYXlNczogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgc2NhbGVSYXRpbzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpc09ubHlGaXJzdFRpbWU6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBlbGVtZW50VmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICBwcml2YXRlIHNjcm9sbExpc3RlbmVyU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcm91dGVyTGlzdGVuZXJTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHB1YmxpYyBhbmltYXRpb25WaXNpYmlsaXR5OiBBbmltYXRpb25WaXNpYmlsaXR5RW51bTtcclxuICBwdWJsaWMgY3VycmVudFRyYW5zaXRpb246IHN0cmluZztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdAdmlzaWJpbGl0eScpXHJcbiAgZ2V0IHZpc2liaWxpdHkoKTogQW5pbWF0aW9uRXhwSW50ZXJmYWNlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5hbmltYXRpb25UeXBlID09PSBBbmltYXRpb25UeXBlRW51bS5OT05FID8gbnVsbCA6IHtcclxuICAgICAgdmFsdWU6IHRoaXMuYW5pbWF0aW9uVmlzaWJpbGl0eSxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgY3VycmVudFRyYW5zaXRpb246IHRoaXMuY3VycmVudFRyYW5zaXRpb24sXHJcbiAgICAgICAgdHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uOiB0aGlzLnRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbixcclxuICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb25NczogdGhpcy50cmFuc2l0aW9uRHVyYXRpb25NcyxcclxuICAgICAgICB0cmFuc2l0aW9uRGVsYXlNczogdGhpcy50cmFuc2l0aW9uRGVsYXlNcyxcclxuICAgICAgICBzY2FsZVJhdGlvOiB0aGlzLnNjYWxlUmF0aW9cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0bWxFbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZnhTY3JvbGxBbmltYXRpb25TZXJ2aWNlOiBSZnhTY3JvbGxBbmltYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmFuaW1hdGlvblR5cGUgPSBBbmltYXRpb25UeXBlRW51bS5OT05FO1xyXG4gICAgdGhpcy5hbmltYXRpb25EaXN0YW5jZVB4ID0gMjU7XHJcbiAgICB0aGlzLmRpc3RhbmNlRnJvbVBhZ2VCb3R0b21QZXJjZW50YWdlID0gMjA7XHJcbiAgICB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbk1zID0gNTAwO1xyXG4gICAgdGhpcy50cmFuc2l0aW9uRGVsYXlNcyA9IDA7XHJcbiAgICB0aGlzLnRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiA9ICdjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSknO1xyXG4gICAgdGhpcy5zY2FsZVJhdGlvID0gMS41O1xyXG4gICAgdGhpcy5pc09ubHlGaXJzdFRpbWUgPSB0cnVlO1xyXG4gICAgdGhpcy5lbGVtZW50VmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIHRoaXMuY3VycmVudFRyYW5zaXRpb24gPSAndHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpJztcclxuICAgIHRoaXMuYW5pbWF0aW9uVmlzaWJpbGl0eSA9IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtLkhJRERFTjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25Sb3V0ZXJFdmVudCh0aGlzLnJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UuZ2V0Um91dGVyRXZlbnRWYWx1ZSgpKTtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9TY3JvbGxFdmVudCgpO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1JvdXRlckV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNjcm9sbExpc3RlbmVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5yb3V0ZXJMaXN0ZW5lclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGNoYW5nZXM/LmFuaW1hdGlvblR5cGU/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIGNoYW5nZXM/LmFuaW1hdGlvbkRpc3RhbmNlUHg/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIGNoYW5nZXM/LnNjYWxlUmF0aW8/LmN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNpdGlvbiA9IHRoaXMuZ2V0Q3VycmVudFRyYW5zaXRpb24oXHJcbiAgICAgICAgdGhpcy5hbmltYXRpb25UeXBlLFxyXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uRGlzdGFuY2VQeCxcclxuICAgICAgICB0aGlzLnNjYWxlUmF0aW9cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9TY3JvbGxFdmVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXJTdWJzY3JpcHRpb24gPSB0aGlzLnJmeFNjcm9sbEFuaW1hdGlvblNlcnZpY2UuZ2V0TW91c2VTY3JvbGwoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbk1vdXNlU2Nyb2xsKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1JvdXRlckV2ZW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZXJMaXN0ZW5lclN1YnNjcmlwdGlvbiA9IHRoaXMucmZ4U2Nyb2xsQW5pbWF0aW9uU2VydmljZS5nZXRSb3V0ZXJFdmVudCgpLnN1YnNjcmliZSgoaXNSZWFkeTogYm9vbGVhbikgPT4gdGhpcy5vblJvdXRlckV2ZW50KGlzUmVhZHkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q3VycmVudFRyYW5zaXRpb24oYW5pbWF0aW9uVHlwZTogQW5pbWF0aW9uVHlwZUVudW0sIGFuaW1hdGlvbkRpc3RhbmNlUHg6IG51bWJlciA9IDAsIHNjYWxlUmF0aW86IG51bWJlciA9IDEpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChhbmltYXRpb25UeXBlKSB7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uVE9QOlxyXG4gICAgICAgIHJldHVybiBgdHJhbnNsYXRlKDAsIC0ke2FuaW1hdGlvbkRpc3RhbmNlUHh9cHgpIHNjYWxlKDEpYDtcclxuICAgICAgY2FzZSBBbmltYXRpb25UeXBlRW51bS5CT1RUT006XHJcbiAgICAgICAgcmV0dXJuIGB0cmFuc2xhdGUoMCwgJHthbmltYXRpb25EaXN0YW5jZVB4fXB4KSBzY2FsZSgxKWA7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uTEVGVDpcclxuICAgICAgICByZXR1cm4gYHRyYW5zbGF0ZSgtJHthbmltYXRpb25EaXN0YW5jZVB4fXB4LCAwKSBzY2FsZSgxKWA7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uUklHSFQ6XHJcbiAgICAgICAgcmV0dXJuIGB0cmFuc2xhdGUoJHthbmltYXRpb25EaXN0YW5jZVB4fXB4LCAwKSBzY2FsZSgxKWA7XHJcbiAgICAgIGNhc2UgQW5pbWF0aW9uVHlwZUVudW0uWk9PTTpcclxuICAgICAgICByZXR1cm4gYHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgke3NjYWxlUmF0aW99KWA7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICd0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSknO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0VsZW1lbnRJblZpc2libGVBcmVhKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBkaXN0YW5jZUZyb21QYWdlQm90dG9tUGVyY2VudGFnZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzY3JvbGxCb3R0b206IG51bWJlciA9IHdpbmRvdy5zY3JvbGxZICsgd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgY29uc3QgZGlzdGFuY2VJblB4OiBudW1iZXIgPSAod2luZG93LmlubmVySGVpZ2h0IC8gMTAwKSAqIGRpc3RhbmNlRnJvbVBhZ2VCb3R0b21QZXJjZW50YWdlO1xyXG4gICAgY29uc3QgcmVjdDogRE9NUmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBzY3JvbGxCb3R0b21XaXRoRGlzdGFuY2U6IG51bWJlciA9IHJlY3QudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0IC0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFRvcCArIGRpc3RhbmNlSW5QeDtcclxuICAgIHJldHVybiBzY3JvbGxCb3R0b20gPj0gc2Nyb2xsQm90dG9tV2l0aERpc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblJvdXRlckV2ZW50KGlzUmVhZHk6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc1JlYWR5KSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLm9uTW91c2VTY3JvbGwoKSB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbk1vdXNlU2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXNFbGVtZW50SW5WaXNpYmxlQXJlYTogYm9vbGVhbiA9IHRoaXMuaXNFbGVtZW50SW5WaXNpYmxlQXJlYSh0aGlzLmh0bWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuZGlzdGFuY2VGcm9tUGFnZUJvdHRvbVBlcmNlbnRhZ2UpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzT25seUZpcnN0VGltZSAmJiB0aGlzLmFuaW1hdGlvblZpc2liaWxpdHkgPT09IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtLlZJU0lCTEUpIHtcclxuICAgICAgdGhpcy5zY3JvbGxMaXN0ZW5lclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNFbGVtZW50SW5WaXNpYmxlQXJlYSAmJiB0aGlzLmFuaW1hdGlvblZpc2liaWxpdHkgPT09IEFuaW1hdGlvblZpc2liaWxpdHlFbnVtLkhJRERFTikge1xyXG4gICAgICB0aGlzLnNldFZpc2liaWxpdHkoQW5pbWF0aW9uVmlzaWJpbGl0eUVudW0uVklTSUJMRSk7XHJcbiAgICB9IGVsc2UgaWYgKCFpc0VsZW1lbnRJblZpc2libGVBcmVhICYmIHRoaXMuYW5pbWF0aW9uVmlzaWJpbGl0eSA9PT0gQW5pbWF0aW9uVmlzaWJpbGl0eUVudW0uVklTSUJMRSkge1xyXG4gICAgICB0aGlzLnNldFZpc2liaWxpdHkoQW5pbWF0aW9uVmlzaWJpbGl0eUVudW0uSElEREVOKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmlzaWJpbGl0eSh2aXNpYmxlOiBBbmltYXRpb25WaXNpYmlsaXR5RW51bSk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb25WaXNpYmlsaXR5ID0gdmlzaWJsZTtcclxuICAgIHRoaXMuZWxlbWVudFZpc2libGVDaGFuZ2UuZW1pdCh2aXNpYmxlID09PSBBbmltYXRpb25WaXNpYmlsaXR5RW51bS5WSVNJQkxFKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoaWRlRWxlbWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvU2Nyb2xsRXZlbnQoKTtcclxuICAgIHRoaXMuc2V0VmlzaWJpbGl0eShBbmltYXRpb25WaXNpYmlsaXR5RW51bS5ISURERU4pO1xyXG4gIH1cclxufVxyXG4iXX0=

@@ -97,3 +97,3 @@ import { ɵɵdefineInjectable, ɵɵinject, RendererFactory2, Injectable, EventEmitter, Component, ElementRef, Input, Output, HostBinding, NgModule } from '@angular/core';

this.elementVisibleChange = new EventEmitter();
this.currentTransition = 'translate3d(0, 0, 0) scale(1)';
this.currentTransition = 'translate(0, 0) scale(1)';
this.animationVisibility = AnimationVisibilityEnum.HIDDEN;

@@ -140,13 +140,13 @@ }

case AnimationTypeEnum.TOP:
return `translate3d(0, -${animationDistancePx}px, 0) scale(1)`;
return `translate(0, -${animationDistancePx}px) scale(1)`;
case AnimationTypeEnum.BOTTOM:
return `translate3d(0, ${animationDistancePx}px, 0) scale(1)`;
return `translate(0, ${animationDistancePx}px) scale(1)`;
case AnimationTypeEnum.LEFT:
return `translate3d(-${animationDistancePx}px, 0, 0) scale(1)`;
return `translate(-${animationDistancePx}px, 0) scale(1)`;
case AnimationTypeEnum.RIGHT:
return `translate3d(${animationDistancePx}px, 0, 0) scale(1)`;
return `translate(${animationDistancePx}px, 0) scale(1)`;
case AnimationTypeEnum.ZOOM:
return `translate3d(0, 0, 0) scale(${scaleRatio})`;
return `translate(0, 0) scale(${scaleRatio})`;
default:
return 'translate3d(0, 0, 0) scale(1)';
return 'translate(0, 0) scale(1)';
}

@@ -198,3 +198,3 @@ }

opacity: 1,
transform: 'translate3d(0, 0, 0)'
transform: 'translate(0, 0)'
})),

@@ -204,3 +204,3 @@ state('hidden', style({

transform: '{{ currentTransition }}'
}), { params: { currentTransition: 'translate3d(0, 0, 0) scale(1)' } }),
}), { params: { currentTransition: 'translate(0, 0) scale(1)' } }),
transition('visible <=> hidden', [

@@ -211,3 +211,3 @@ animate('{{ transitionDurationMs }}ms {{ transitionDelayMs }}ms {{ transitionTimingFunction }}')

],
styles: [""]
styles: [":host{will-change:transform,opacity}"]
},] }

@@ -214,0 +214,0 @@ ];

{
"name": "rfx-scroll-animation",
"version": "2.0.1",
"version": "2.1.0",
"description": "RfxScrollAnimation - animate your page elements on scroll",

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

@@ -10,3 +10,3 @@ # RfxScrollAnimation

- Add your own custom animation
- Best performance with `translate3d`
- Best performance with `will-change`

@@ -13,0 +13,0 @@ ## Installation

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

{"__symbolic":"module","version":4,"metadata":{"RfxScrollAnimationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RfxScrollAnimationComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"BrowserAnimationsModule","line":11,"character":4}],"exports":[{"__symbolic":"reference","name":"RfxScrollAnimationComponent"}]}]}],"members":{}},"RfxScrollAnimationService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":16,"character":29},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":17,"character":20}]}],"ngOnDestroy":[{"__symbolic":"method"}],"destroyListeners":[{"__symbolic":"method"}],"initListeners":[{"__symbolic":"method"}],"initRouterEventListener":[{"__symbolic":"method"}],"onRouterEvent":[{"__symbolic":"method"}],"onMouseScroll":[{"__symbolic":"method"}],"getMouseScroll":[{"__symbolic":"method"}],"getRouterEvent":[{"__symbolic":"method"}],"getRouterEventValue":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"RfxScrollAnimationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"[libRfxScrollAnimation]","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":13,"character":4},"arguments":["visibility",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":14,"character":6},"arguments":["visible",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":14,"character":23},"arguments":[{"opacity":1,"transform":"translate3d(0, 0, 0)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":18,"character":6},"arguments":["hidden",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":18,"character":22},"arguments":[{"opacity":0,"transform":"{{ currentTransition }}"}]},{"params":{"currentTransition":"translate3d(0, 0, 0) scale(1)"}}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":22,"character":6},"arguments":["visible <=> hidden",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":23,"character":8},"arguments":["{{ transitionDurationMs }}ms {{ transitionDelayMs }}ms {{ transitionTimingFunction }}"]}],{"params":{"transitionDurationMs":0,"transitionDelayMs":0,"transitionTimingFunction":"ease"}}]}]]}],"template":"<ng-content></ng-content>\r\n","styles":[""]}]}],"members":{"animationType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"animationDistancePx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"distanceFromPageBottomPercentage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"transitionDurationMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"transitionDelayMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"transitionTimingFunction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"scaleRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"isOnlyFirstTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"elementVisibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"visibility":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":45,"character":3},"arguments":["@visibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":25},{"__symbolic":"reference","name":"RfxScrollAnimationService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"subscribeToScrollEvent":[{"__symbolic":"method"}],"subscribeToRouterEvent":[{"__symbolic":"method"}],"getCurrentTransition":[{"__symbolic":"method"}],"isElementInVisibleArea":[{"__symbolic":"method"}],"onRouterEvent":[{"__symbolic":"method"}],"onMouseScroll":[{"__symbolic":"method"}],"setVisibility":[{"__symbolic":"method"}],"hideElement":[{"__symbolic":"method"}]}}},"origins":{"RfxScrollAnimationModule":"./lib/rfx-scroll-animation.module","RfxScrollAnimationService":"./lib/rfx-scroll-animation.service","RfxScrollAnimationComponent":"./lib/rfx-scroll-animation/rfx-scroll-animation.component"},"importAs":"rfx-scroll-animation"}
{"__symbolic":"module","version":4,"metadata":{"RfxScrollAnimationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"RfxScrollAnimationComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"BrowserAnimationsModule","line":11,"character":4}],"exports":[{"__symbolic":"reference","name":"RfxScrollAnimationComponent"}]}]}],"members":{}},"RfxScrollAnimationService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":16,"character":29},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":17,"character":20}]}],"ngOnDestroy":[{"__symbolic":"method"}],"destroyListeners":[{"__symbolic":"method"}],"initListeners":[{"__symbolic":"method"}],"initRouterEventListener":[{"__symbolic":"method"}],"onRouterEvent":[{"__symbolic":"method"}],"onMouseScroll":[{"__symbolic":"method"}],"getMouseScroll":[{"__symbolic":"method"}],"getRouterEvent":[{"__symbolic":"method"}],"getRouterEventValue":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"RfxScrollAnimationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"[libRfxScrollAnimation]","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":13,"character":4},"arguments":["visibility",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":14,"character":6},"arguments":["visible",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":14,"character":23},"arguments":[{"opacity":1,"transform":"translate(0, 0)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":18,"character":6},"arguments":["hidden",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":18,"character":22},"arguments":[{"opacity":0,"transform":"{{ currentTransition }}"}]},{"params":{"currentTransition":"translate(0, 0) scale(1)"}}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":22,"character":6},"arguments":["visible <=> hidden",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":23,"character":8},"arguments":["{{ transitionDurationMs }}ms {{ transitionDelayMs }}ms {{ transitionTimingFunction }}"]}],{"params":{"transitionDurationMs":0,"transitionDelayMs":0,"transitionTimingFunction":"ease"}}]}]]}],"template":"<ng-content></ng-content>\r\n","styles":[":host{will-change:transform,opacity}"]}]}],"members":{"animationType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"animationDistancePx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"distanceFromPageBottomPercentage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"transitionDurationMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"transitionDelayMs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"transitionTimingFunction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"scaleRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"isOnlyFirstTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"elementVisibleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"visibility":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":45,"character":3},"arguments":["@visibility"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":25},{"__symbolic":"reference","name":"RfxScrollAnimationService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"subscribeToScrollEvent":[{"__symbolic":"method"}],"subscribeToRouterEvent":[{"__symbolic":"method"}],"getCurrentTransition":[{"__symbolic":"method"}],"isElementInVisibleArea":[{"__symbolic":"method"}],"onRouterEvent":[{"__symbolic":"method"}],"onMouseScroll":[{"__symbolic":"method"}],"setVisibility":[{"__symbolic":"method"}],"hideElement":[{"__symbolic":"method"}]}}},"origins":{"RfxScrollAnimationModule":"./lib/rfx-scroll-animation.module","RfxScrollAnimationService":"./lib/rfx-scroll-animation.service","RfxScrollAnimationComponent":"./lib/rfx-scroll-animation/rfx-scroll-animation.component"},"importAs":"rfx-scroll-animation"}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc